From 1dc0aeccd69d4b80393eb6b0be8627dfbf38d855 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 5 Mar 2015 14:41:34 -0800 Subject: [PATCH] CPU function reorg --- docs/pcjs/demos/pc-dbg.js | 1425 +++--- docs/pcjs/demos/pc.js | 1165 +++-- modules/pcjs/lib/.jshintrc | 7 +- modules/pcjs/lib/README.md | 5 +- modules/pcjs/lib/debugger.js | 8 +- modules/pcjs/lib/x86.js | 4 +- modules/pcjs/lib/x86cpu.js | 246 +- modules/pcjs/lib/x86func.js | 2444 ++++++++++ modules/pcjs/lib/x86grps.js | 1338 ------ modules/pcjs/lib/x86help.js | 789 ---- modules/pcjs/lib/x86op0f.js | 968 ++-- modules/pcjs/lib/x86opxx.js | 8016 +++++++++++++++++--------------- modules/pcjs/lib/x86seg.js | 29 +- package.json | 7 +- versions/pcjs/1.17.2/pc-dbg.js | 1425 +++--- versions/pcjs/1.17.2/pc.js | 1165 +++-- 16 files changed, 9910 insertions(+), 9131 deletions(-) create mode 100644 modules/pcjs/lib/x86func.js delete mode 100644 modules/pcjs/lib/x86grps.js delete mode 100644 modules/pcjs/lib/x86help.js diff --git a/docs/pcjs/demos/pc-dbg.js b/docs/pcjs/demos/pc-dbg.js index 200380702..c84146dd1 100644 --- a/docs/pcjs/demos/pc-dbg.js +++ b/docs/pcjs/demos/pc-dbg.js @@ -10,686 +10,685 @@ function za(){if(null==ya){var a=!1;if(window)try{window.localStorage.setItem("P function Ca(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Da(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0=this.x&&a=this.y&&b=c>>2);d?(b=new ob(a.x,a.y,a.Jc,a.Uc*b/c|0),a.y+=b.Uc,a.Uc-=b.Uc):(b=new ob(a.x,a.y,a.Jc*b/c|0,a.Uc),a.x+=b.Jc,a.Jc-=b.Jc);return b}k=mb.prototype; k.Fb=function(a,b,c){return this.Ba&&this.Ba.Fb(a,b,c)||this.N&&this.N.Fb(a,b,c)||this.Ga&&this.Ga.Fb(a,b,c)||this.Z&&this.Z.Fb(a,b,c)?!0:this.parent.Fb.call(this,a,b,c)};k.wc=function(a,b,c,d){this.Ba=a;this.ha=b;this.N=c;this.Z=d;this.Ga=sb(a,"Keyboard")};k.fc=function(a,b){b||tb();return!0};k.ec=function(){return!0};k.gj=function(a,b){a.button||(this.Tg=b?0:-1,vb(this,a,b))};k.Xl=function(a){vb(this,a)}; -function vb(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.Tg||(a.Tg=Math.abs(a.he-d)>Math.abs(a.ie-b)?1:2),1==a.Tg?b=a.ie:2==a.Tg&&(d=a.he));a.he=d;a.ie=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Ya&&a.Ya.Df)for(f=0;f>xb&yb))*a.ha.Bb-1;0Math.abs(a.ie-b)?1:2),1==a.Tg?b=a.ie:2==a.Tg&&(d=a.he));a.he=d;a.ie=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Ya&&a.Ya.Ef)for(f=0;f>xb&yb))*a.ha.Bb-1;0d&&(f=d);c=f;break a}c=u}c!=u&&(c&=-16,c!=a.fl&&(zb(a,c,!0),a.fl=c))}} -k.cd=function(){if(this.canvas&&this.Th&&this.ue&&this.df){var a=this.ue.width,b=this.ue.height;this.df.fillStyle="black";this.df.fillRect(0,0,a,b);Ab(this,18,this.ue,this.df,this.canvas.style.color);Bb(this,3);v(this,"CPU");v(this,"Target");v(this,"Current");Cb(this);v(this,this.N.za);v(this,Db(this.N));v(this,Eb(this.N));Cb(this,2);Bb(this,8);this.tp=16;this.up=4;v(this,"AX",this.N.G,2);v(this,"DS",this.N.Xa.ua,0,1);v(this,"DX",this.N.J,2);v(this,"SI",this.N.F,0,1.5);v(this,"BX",this.N.C,2);v(this, -"ES",this.N.Ia.ua,0,1);v(this,"CX",this.N.I,2);v(this,"DI",this.N.D,0,1.5);v(this,"CS",Fb(this.N),2);v(this,"SS",this.N.xa.ua,0,1);v(this,"IP",w(this.N),2);v(this,"SP",x(this.N),0,1.5);var c;v(this,"PS",c=Gb(this.N),2);v(this,"BP",this.N.H,0,1.5);Bb(this,9);v(this,"V"+(c&Hb?1:0));v(this,"D"+(c&Ib?1:0));v(this,"I"+(c&Jb?1:0));v(this,"T"+(c&Kb?1:0));v(this,"S"+(c&Lb?1:0));v(this,"Z"+(c&Mb?1:0));v(this,"A"+(c&Nb?1:0));v(this,"P"+(c&Ob?1:0));v(this,"C"+(c&Pb?1:0),0,2);zb(this,this.fl);this.Th.drawImage(this.ue, +k.cd=function(){if(this.canvas&&this.Th&&this.ue&&this.df){var a=this.ue.width,b=this.ue.height;this.df.fillStyle="black";this.df.fillRect(0,0,a,b);Ab(this,18,this.ue,this.df,this.canvas.style.color);Bb(this,3);v(this,"CPU");v(this,"Target");v(this,"Current");Cb(this);v(this,this.N.za);v(this,Db(this.N));v(this,Eb(this.N));Cb(this,2);Bb(this,8);this.tp=16;this.up=4;v(this,"AX",this.N.G,2);v(this,"DS",this.N.Xa.va,0,1);v(this,"DX",this.N.J,2);v(this,"SI",this.N.F,0,1.5);v(this,"BX",this.N.C,2);v(this, +"ES",this.N.Ia.va,0,1);v(this,"CX",this.N.I,2);v(this,"DI",this.N.D,0,1.5);v(this,"CS",Fb(this.N),2);v(this,"SS",this.N.xa.va,0,1);v(this,"IP",w(this.N),2);v(this,"SP",x(this.N),0,1.5);var c;v(this,"PS",c=Gb(this.N),2);v(this,"BP",this.N.H,0,1.5);Bb(this,9);v(this,"V"+(c&Hb?1:0));v(this,"D"+(c&Ib?1:0));v(this,"I"+(c&Jb?1:0));v(this,"T"+(c&Kb?1:0));v(this,"S"+(c&Lb?1:0));v(this,"Z"+(c&Mb?1:0));v(this,"A"+(c&Nb?1:0));v(this,"P"+(c&Ob?1:0));v(this,"C"+(c&Pb?1:0),0,2);zb(this,this.fl);this.Th.drawImage(this.ue, 0,0,a,b,this.ps,this.ss,this.Fr,this.Ir)}};function zb(a,b,c){if(a.Th&&a.ue&&a.df){var d=a.ue.width;a.df.fillStyle="black";a.df.fillRect(0,360,d,360);Ab(a,378,a.ue,a.df,a.canvas.style.color);Bb(a,24);if(null==b)v(a,"Mouse over memory to dump");else{v(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=Qb(a.ha,b++);v(a,m(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}v(a,f,null,0,1)}}c&&a.Th.drawImage(a.ue,0,360,d,360,a.ns,a.qs,a.Dr,a.Gr)}} -function Ab(a,b,c,d,e){var f,g=a.Eq=10;a.dd=g;a.Bf=b;a.Vf=a.Pl=18;f||(f=a.Ll||a.Pl+"px Monaco, Lucida Console, Courier New");a.hi=a.Ll=f;c&&(a.Kn=c);d&&(a.Bd=d,a.Mn=e||"white")}function Bb(a,b){a.ij=a.Kn.width/b|0}function Cb(a,b){a.dd=a.Eq;a.Bf+=(a.Vf+2)*(b||1)}function v(a,b,c,d,e){a.Bd.font=a.hi;a.Bd.fillStyle=a.Mn;a.Bd.fillText(b,a.dd,a.Bf);a.dd+=a.ij;null!=c&&(b=c.toString(),16==a.tp&&(b="0x"+da(c,a.up)),a.Bd.fillText(b,a.dd,a.Bf),a.dd+=a.ij);d&&(a.dd+=a.ij*d);e&&Cb(a,e)} +function Ab(a,b,c,d,e){var f,g=a.Eq=10;a.dd=g;a.Cf=b;a.Wf=a.Pl=18;f||(f=a.Ll||a.Pl+"px Monaco, Lucida Console, Courier New");a.hi=a.Ll=f;c&&(a.Kn=c);d&&(a.Bd=d,a.Mn=e||"white")}function Bb(a,b){a.ij=a.Kn.width/b|0}function Cb(a,b){a.dd=a.Eq;a.Cf+=(a.Wf+2)*(b||1)}function v(a,b,c,d,e){a.Bd.font=a.hi;a.Bd.fillStyle=a.Mn;a.Bd.fillText(b,a.dd,a.Cf);a.dd+=a.ij;null!=c&&(b=c.toString(),16==a.tp&&(b="0x"+da(c,a.up)),a.Bd.fillText(b,a.dd,a.Cf),a.dd+=a.ij);d&&(a.dd+=a.ij*d);e&&Cb(a,e)} function tb(){for(var a=!1,b=cb(window.document,"pcjs","panel"),c=0;c=this.nf?12:24>=this.nf?14:15;this.Bb=1<>2;this.Ea=this.Bb-1;this.Ag=this.Si/this.Bb|0;this.Tc=this.Ag-1;this.Ld=[];this.Md=[];this.Pg=this.Qg=!1;this.Hj();ib(this)}Xa(p,Rb);var wb=131071,xb=18,yb=1023;k=Rb.prototype; -k.Hj=function(){this.pa=Array(this.Ag);for(var a=0;a>>a.Ja;0a.Bb?a.Bb:c;if(g&&g.size){if(g.type==d&&g.X==e){if(b+c<=g.ub)return g.Ki+=g.ub-b,g.ub=b,!0;if(b>=g.ub+g.Ki){t=g.size-(b-h);t>c&&(t=c);g.Ki=b-g.ub+t;c-=t;b=h+a.Bb;continue}}return Wb(1,b,c)}g=a.pa[f++]=new Tb(b,t,a.Bb,d,e);Sb(g,a.N,a.Z,a.Bb);c-=t;b=h+a.Bb}return 0>>this.Ja;0>>a.Ja;0>>this.Ja].Eb(a&this.Ea)};function Qb(a,b){return a.pa[(b&a.gb)>>>a.Ja].nh(b&a.Ea)} -k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;return b!=this.Ea?this.pa[a].Ik(b):this.pa[a++].Eb(b)|this.pa[a&this.Tc].Eb(0)<<8};function Yb(a,b){var c=b&a.Ea,d=(b&a.gb)>>>a.Ja;return c!=a.Ea?a.pa[d].Jk(c):a.pa[d++].nh(c)|a.pa[d&a.Tc].nh(0)<<8}k.Bj=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;if(b>>c|this.pa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.pa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; -k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;c!=this.Ea?this.pa[d].Tk(c,b&65535):(this.pa[d++].Ib(c,b&255),this.pa[d&this.Tc].Ib(0,b>>8&255))};function Zb(a,b,c){var d=b&a.Ea;b=(b&a.gb)>>>a.Ja;d!=a.Ea?a.pa[b].Uk(d,c&65535):(a.pa[b++].mg(d,c&255),a.pa[b&a.Tc].mg(0,c>>8&255))} -function $b(a){for(var b=0,c=[],d=0;d>>a.Ja;0a.Bb?a.Bb:c;if(g&&g.size){if(g.type==d&&g.X==e){if(b+c<=g.ub)return g.Ki+=g.ub-b,g.ub=b,!0;if(b>=g.ub+g.Ki){t=g.size-(b-h);t>c&&(t=c);g.Ki=b-g.ub+t;c-=t;b=h+a.Bb;continue}}return Wb(1,b,c)}g=a.qa[f++]=new Tb(b,t,a.Bb,d,e);Sb(g,a.N,a.Z,a.Bb);c-=t;b=h+a.Bb}return 0>>this.Ja;0>>a.Ja;0>>this.Ja].Eb(a&this.Ea)};function Qb(a,b){return a.qa[(b&a.gb)>>>a.Ja].nh(b&a.Ea)} +k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;return b!=this.Ea?this.qa[a].Ik(b):this.qa[a++].Eb(b)|this.qa[a&this.Tc].Eb(0)<<8};function Yb(a,b){var c=b&a.Ea,d=(b&a.gb)>>>a.Ja;return c!=a.Ea?a.qa[d].Jk(c):a.qa[d++].nh(c)|a.qa[d&a.Tc].nh(0)<<8}k.Bj=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;if(b>>c|this.qa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.qa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; +k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;c!=this.Ea?this.qa[d].Tk(c,b&65535):(this.qa[d++].Ib(c,b&255),this.qa[d&this.Tc].Ib(0,b>>8&255))};function Zb(a,b,c){var d=b&a.Ea;b=(b&a.gb)>>>a.Ja;d!=a.Ea?a.qa[b].Uk(d,c&65535):(a.qa[b++].mg(d,c&255),a.qa[b&a.Tc].mg(0,c>>8&255))} +function $b(a){for(var b=0,c=[],d=0;d>1),this.na=new Int32Array(this.buffer,0,c>>2),this.Oe(lc?oc:pc);else{this.na=Array(c>>2);for(e=0;e>1]}function Ac(a){return this.Mf.getInt32(a,!0)}function Bc(a){return a&3?this.ic[a]|this.ic[a+1]<<8|this.ic[a+2]<<16|this.ic[a+3]<<24:this.na[a>>2]}function Cc(a,b){this.ic[a]=b;this.Qa=!0}function Dc(a,b){this.ic[a]=b;this.Qa=!0}function Ec(a,b){this.Mf.setUint16(a,b,!0);this.Qa=!0}function Fc(a,b){a&1?(this.ic[a]=b,this.ic[a+1]=b>>8):this.il[a>>1]=b;this.Qa=!0}function Ic(a,b){this.Mf.setInt32(a,b,!0);this.Qa=!0} +function Tb(a,b,c,d,e){this.na=null;this.offset=0;this.ub=a;this.Ki=b;this.size=c||0;this.type=d||mc;this.ci=d==nc;this.X=null;this.Qa=this.Cl=!1;if(c)if(e)this.X=e,a=e.Nl(a),this.na=a[0],this.offset=a[1],this.Oe(e.Cj());else if(lb)this.buffer=new ArrayBuffer(c),this.Nf=new DataView(this.buffer,0,c),this.ic=new Uint8Array(this.buffer,0,c),this.il=new Uint16Array(this.buffer,0,c>>1),this.na=new Int32Array(this.buffer,0,c>>2),this.Oe(lc?oc:pc);else{this.na=Array(c>>2);for(e=0;e>1]}function Ac(a){return this.Nf.getInt32(a,!0)}function Bc(a){return a&3?this.ic[a]|this.ic[a+1]<<8|this.ic[a+2]<<16|this.ic[a+3]<<24:this.na[a>>2]}function Cc(a,b){this.ic[a]=b;this.Qa=!0}function Dc(a,b){this.ic[a]=b;this.Qa=!0}function Ec(a,b){this.Nf.setUint16(a,b,!0);this.Qa=!0}function Fc(a,b){a&1?(this.ic[a]=b,this.ic[a+1]=b>>8):this.il[a>>1]=b;this.Qa=!0}function Ic(a,b){this.Nf.setInt32(a,b,!0);this.Qa=!0} function Kc(a,b){a&3?(this.ic[a]=b,this.ic[a+1]=b>>8,this.ic[a+2]=b>>16,this.ic[a+3]=b>>24):this.na[a>>2]=b;this.Qa=!0} var qc=[function(a){return this.na[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b]>>a;return 24>a?c&65535:c&255|(this.na[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b];a&&(c=c>>>a|this.na[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.na[c]=this.na[c]&~(255<>2,d=(a&3)<<3;24>d?this.na[c]=this.na[c]&~(65535<>8);this.Qa= !0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.na[c]=b;this.Qa=!0}],Nc=[function(a){Lc(this.Z,this.ub+a);return this.nh(a)},function(a){Lc(this.Z,this.ub+a)||Lc(this.Z,this.ub+a+1);return this.Jk(a)},function(a){Lc(this.Z,this.ub+a)||Lc(this.Z,this.ub+a+1)||Lc(this.Z,this.ub+a+2)||Lc(this.Z,this.ub+a+3);return this.oh(a)},function(a,b){Mc(this.Z,this.ub+a);this.mg(a,b)},function(a,b){Mc(this.Z,this.ub+a)||Mc(this.Z, this.ub+a+1);this.Uk(a,b)},function(a,b){Mc(this.Z,this.ub+a)||Mc(this.Z,this.ub+a+1)||Mc(this.Z,this.ub+a+2)||Mc(this.Z,this.ub+a+3);this.Dq(a,b)}];if(lb)var pc=[wc,yc,Ac,Cc,Ec,Ic],oc=[xc,zc,Bc,Dc,Fc,Kc]; -Tb.prototype={constructor:Tb,parent:null,save:function(){var a,b;if(this.X)a=null;else if(lb)for(a=Array(this.size>>2),b=0;b>2),b=0;b=a.U.$f&&(a.U.$f+=a.U.Zf,c=!0);0<=a.U.ag&&a.U.ag<=Yc(a)&&(a.U.Zf=a.U.ag=-1,Uc(a),a.lb(),c=!0);c&&a.R(Yc(a)+" cycles: checksum="+da(a.U.Wg))}} -function Zc(a,b,c,d){a.qa[b]&&(void 0===d&&(d=4),void 0===c&&(kb(a,"Register "+b+" is invalid"),a.lb()),c=!a.da.jb||a.da.Dl?da(c,d):"----".substr(0,d),a.qa[b].textContent!=c&&(a.qa[b].textContent=c))}k.cd=function(){this.Ba&&this.Ba.de&&this.Ba.de.cd()}; -function $c(a){a.video&&ad(a.video);if(a.Ba&&a.Ba.de&&(a=a.Ba.de,a.ao)){Ab(a,18,a.Eg,a.Nn,a.canvas.style.color);if(a.Mr){var b=a.ha,c=a.Ya,d,e;null==d&&(d=0);null==e&&(e=b.Si-d|0);null==c&&(c={fj:0,Bg:0,Ni:Array(b.Ag)});var f=d>>>b.Ja;d=d+e-1>>>b.Ja;c.fj=0;for(c.Bg=0;f<=d;){e=b.pa[f];c.fj+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Ni[c.Bg++]=g}f++}a.Ya=c;a.hn=a.Ya.Bg*a.ha.Bb/691200;e=0;a.Ya.cj=0;a.Ya.Ef||(a.Ya.Ef=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=wb;if(c!=d||f!= -h+1){if(h=b-g)d=a.Ya.Ef[a.Ya.cj++]=g|h<>xb&yb,a.Ya.Df.push(pb(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>xb&yb;d=e=a.Ya.Df[b];g=a.Nn;(h=sc[c])||(h=new nb);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.Jc,d.Uc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.Jc, -d.Uc);d=a;g=e;d.hi=d.Ll;d.Vf=d.Pl;e=g.x+(g.Jc>>1);var h=g.y+(g.Uc>>1),t=g.Uc;g.Jc>1;d.Bf+=(d.Vf>>1)-2;v(d,c);d.Jl&&(d.Bd.restore(),d.Jl=!1)}}}else v(a,"This space intentionally left blank");a.Th.drawImage(a.Eg,0,0,a.Eg.width,a.Eg.height,a.os, +function Wc(a){(!0===a.da.nj||null===a.da.nj&&!a.Z&&void 0===a.ra.run)&&a.uf()}k.Ml=function(){return 0};function Uc(a){void 0===a.U.Xg&&(a.U.Xg=0);void 0===a.U.$f&&(a.U.$f=-1);void 0===a.U.bg&&(a.U.bg=-1);a.da.Qf=0<=a.U.Xg&&0=a.U.ag&&(a.U.ag+=a.U.$f,c=!0);0<=a.U.bg&&a.U.bg<=Yc(a)&&(a.U.$f=a.U.bg=-1,Uc(a),a.lb(),c=!0);c&&a.R(Yc(a)+" cycles: checksum="+da(a.U.Wg))}} +function Zc(a,b,c,d){a.ra[b]&&(void 0===d&&(d=4),void 0===c&&(kb(a,"Register "+b+" is invalid"),a.lb()),c=!a.da.jb||a.da.Dl?da(c,d):"----".substr(0,d),a.ra[b].textContent!=c&&(a.ra[b].textContent=c))}k.cd=function(){this.Ba&&this.Ba.de&&this.Ba.de.cd()}; +function $c(a){a.video&&ad(a.video);if(a.Ba&&a.Ba.de&&(a=a.Ba.de,a.ao)){Ab(a,18,a.Eg,a.Nn,a.canvas.style.color);if(a.Mr){var b=a.ha,c=a.Ya,d,e;null==d&&(d=0);null==e&&(e=b.Si-d|0);null==c&&(c={fj:0,Bg:0,Ni:Array(b.Ag)});var f=d>>>b.Ja;d=d+e-1>>>b.Ja;c.fj=0;for(c.Bg=0;f<=d;){e=b.qa[f];c.fj+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Ni[c.Bg++]=g}f++}a.Ya=c;a.hn=a.Ya.Bg*a.ha.Bb/691200;e=0;a.Ya.cj=0;a.Ya.Ff||(a.Ya.Ff=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=wb;if(c!=d||f!= +h+1){if(h=b-g)d=a.Ya.Ff[a.Ya.cj++]=g|h<>xb&yb,a.Ya.Ef.push(pb(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>xb&yb;d=e=a.Ya.Ef[b];g=a.Nn;(h=sc[c])||(h=new nb);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.Jc,d.Uc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.Jc, +d.Uc);d=a;g=e;d.hi=d.Ll;d.Wf=d.Pl;e=g.x+(g.Jc>>1);var h=g.y+(g.Uc>>1),t=g.Uc;g.Jc>1;d.Cf+=(d.Wf>>1)-2;v(d,c);d.Jl&&(d.Bd.restore(),d.Jl=!1)}}}else v(a,"This space intentionally left blank");a.Th.drawImage(a.Eg,0,0,a.Eg.width,a.Eg.height,a.os, a.rs,a.Er,a.Hr);a.ao=!1}}k.Mc=function(){this.video&&this.video.Mc()}; -k.Fb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.Ba)if(a=d.Ba,a.da.$b)a=!0;else{var b=null,c,h=Ya(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.U.ki&&(c=Math.round(c/a.U.ae));return c}function Tc(a){a.U.Fe=0;a.qf=a.Je=a.Xc=a.A=0;Uc(a);cd(a,1)} -function Eb(a){return a.da.jb&&a.U.Fe?a.U.Fe.toFixed(2)+"Mhz":"Stopped"}function Db(a){return a.U.Ug.toFixed(2)+"Mhz"}function cd(a,b,c){if(void 0!==b){.8>a.U.Fe/a.U.Ug&&(b=1);a.U.ae=b;b=a.U.ki*a.U.ae;if(a.U.Ug!=b){a.U.Ug=b;b=Db(a);var d=a.qa.setSpeed;d&&(d.textContent=b);a.R("target speed: "+b)}c&&a.Mc()}hd(a,a.Je);a.Je=0;a.U.Yf=oa();a.U.mf=0;id(a)} -k.tf=function(a){if(eb(this,!0)){if(!this.da.jb){cd(this);this.Ba&&this.Ba.start(this.U.Yf,Yc(this));this.da.jb=!0;this.da.xj=!0;this.fa&&jd(this.fa);var b=this.qa.run;b&&(b.textContent="Halt");this.cd(!0);a&&this.Mc()}this.U.Oj>=this.U.Fd&&id(this,!0);this.U.$g=0;this.U.li=oa();this.U.mf&&(a=this.U.li-this.U.mf,a>this.U.Yl&&(this.U.Yf+=a,this.U.Yf>this.U.li&&(this.U.Yf=this.U.li)));try{do{var c=this.da.Pf?1:this.U.rp;if(this.fa){kd(this.fa);var d=this.fa;a=c;var e=d.Jb[0];if(e.jf){var f=(Yc(d.N, -d.Be)-e.sd)/d.ui|0,g=ld(d,0)-f;6==e.mode&&(g-=f);var h=g*d.ui|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,t=this.fa;a=c;if(t.ea&&t.ea[11]&64){var r=t.eg-Yc(t.N,t.Be);0r&&(a=r)}c=a}this.lg(c);var B=this.Xc-this.A;this.Je+=B;this.U.$g+=B;hd(this,0,!0);Xc(this,B);this.U.Zg-=B;0>=this.U.Zg&&(this.U.Zg+=this.U.bm,$c(this));this.U.Yg-=B;0>=this.U.Yg&&(this.U.Yg+=this.U.am,this.cd());this.U.bg-=B;if(0>=this.U.bg){this.U.bg+=this.U.Nj;break}}while(this.da.jb)}catch(J){this.lb();Vc(this);this.Ba&&this.Ba.stop(oa(), -Yc(this));eb(this,!1);kb(this,J.message);return}c=setTimeout;d=this.yp;this.U.mf=oa();e=this.U.Yl;this.U.$g&&(e=Math.round(e*this.U.$g/this.U.Nj));e-=this.U.mf-this.U.li;if(f=this.U.mf-this.U.Yf)this.U.Fe=Math.round(this.Je/(10*f))/100,864E5<=f&&(this.qf=0,this.fa&&kd(this.fa,!0),cd(this));if(0>e||this.U.Fethis.rb?this.va+a:Cd.call(this,0,0,c)}function Cd(a,b,c){c||wd.call(this.N,13,0);return u} -function Ed(a,b,c){return a+b<=this.rb?this.va+a:Fd.call(this,0,0,c)}function Gd(a,b,c){return a+b>this.rb?this.va+a:Fd.call(this,0,0,c)}function Fd(a,b,c){c||wd.call(this.N,13,0);return u} -function Hd(a,b){var c=this.N,d=c.cb.va,e=this.ab,f=c.cb.ua;if(!b){if(768!=c.cb.type)return wd.call(c,10,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb&-769|256)}if(c.cb.load(a)==u)return!1;var g=c.cb.va;if(b){if(768==c.cb.type)return wd.call(c,13,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb|=768);c.cb.type=768}c.Ma(d+14,w(c));c.Ma(d+16,Gb(c));c.Ma(d+18,c.G);c.Ma(d+20,c.I);c.Ma(d+22,c.J);c.Ma(d+24,c.C);c.Ma(d+26,x(c));c.Ma(d+28,c.H);c.Ma(d+30,c.F);c.Ma(d+32,c.D);c.Ma(d+34,c.Ia.ua);c.Ma(d+36,c.ra.ua);c.Ma(d+38,c.xa.ua);c.Ma(d+ -40,c.Xa.ua);var d=38,h=26;Id(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Ia.load(c.ja(g+34));c.Xa.load(c.ja(g+40));Jd(c,c.ja(g+14),c.ja(g+36));this.ab>13;if(6144<=h){N=c&3;if(N>a.ab){if(!1!==B&&!(M==a.ab||g&1024&&M<=a.ab)){t=u;break}C=e.Ka();Kd(e,e.Ka(),!0);y(e,C);a.ei=!0}C=!1}else if(1024==h)C=!0,E=-1,J=c,Nh||2048==(h&2560))){d||wd.call(e,13,c,!!g);t=u;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d|| -wd.call(e,13,c,!0);t=u;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||wd.call(e,10,c,!0);t=u;break}}else if(6==a.id&&!(g&4096)&&768>13;80386>a.N.za||!(a.Vh&64)?(a.pe=2,a.ka=65535):(a.pe=4,a.ka=-1)}else a.load=td,a.Vl=xd,a.Hc=zd,a.jc=Ad,a.rb=65535,a.ab=a.pc=0,a.Od=u,a.pe=2,a.ka=65535;a.nd=a.pe;a.la=a.ka} -function Nd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Sc.call(this,a,b);this.Zk=61442;this.vh=nd;this.uh=4;this.fg=255;this.B=80286<=this.za?Od:Pd;this.Ua=Qd;this.bl=Rd;this.cl=Sd;this.dl=Td;80186<=this.za&&(this.Ua=Qd.slice(),this.bl=Rd.slice(),this.cl=Sd.slice(),this.fg=31,this.Ua[15]=Ud,this.Ua[96]=Vd,this.Ua[97]=Wd,this.Ua[98]=Xd,this.Ua[99]=Ud,this.Ua[100]=Ud,this.Ua[101]=Ud,this.Ua[102]=Ud,this.Ua[103]=Ud,this.Ua[104]=Yd, -this.Ua[105]=Zd,this.Ua[106]=$d,this.Ua[107]=ae,this.Ua[108]=be,this.Ua[109]=ce,this.Ua[110]=de,this.Ua[111]=ee,this.Ua[192]=fe,this.Ua[193]=ge,this.Ua[200]=he,this.Ua[201]=ie,this.Ua[241]=je,this.bl[7]=ke,this.cl[7]=ke,80286<=this.za&&(this.Zk=2,this.vh|=28672,this.uh=0,this.En=le,this.Ua[15]=me,this.Ua[99]=ne,this.Ua[84]=oe));this.Fn=[];this.Fn[2]={Or:this.ja.bind(this),hs:this.Ma.bind(this)};this.xh=[];this.yh=[];this.Xc=this.Cg=0;this.da.Mg=this.da.Bl=!1;this.ql=0;this.pa=[];this.gb=this.Ja=this.Ea= +k.Fb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ra[b]=c;c.onclick=function(){var a;if(a=d.Ba)if(a=d.Ba,a.da.$b)a=!0;else{var b=null,c,h=Ya(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.U.ki&&(c=Math.round(c/a.U.ae));return c}function Tc(a){a.U.Fe=0;a.qf=a.Je=a.Xc=a.A=0;Uc(a);cd(a,1)} +function Eb(a){return a.da.jb&&a.U.Fe?a.U.Fe.toFixed(2)+"Mhz":"Stopped"}function Db(a){return a.U.Ug.toFixed(2)+"Mhz"}function cd(a,b,c){if(void 0!==b){.8>a.U.Fe/a.U.Ug&&(b=1);a.U.ae=b;b=a.U.ki*a.U.ae;if(a.U.Ug!=b){a.U.Ug=b;b=Db(a);var d=a.ra.setSpeed;d&&(d.textContent=b);a.R("target speed: "+b)}c&&a.Mc()}hd(a,a.Je);a.Je=0;a.U.Zf=oa();a.U.mf=0;id(a)} +k.uf=function(a){if(eb(this,!0)){if(!this.da.jb){cd(this);this.Ba&&this.Ba.start(this.U.Zf,Yc(this));this.da.jb=!0;this.da.xj=!0;this.fa&&jd(this.fa);var b=this.ra.run;b&&(b.textContent="Halt");this.cd(!0);a&&this.Mc()}this.U.Oj>=this.U.Fd&&id(this,!0);this.U.$g=0;this.U.li=oa();this.U.mf&&(a=this.U.li-this.U.mf,a>this.U.Yl&&(this.U.Zf+=a,this.U.Zf>this.U.li&&(this.U.Zf=this.U.li)));try{do{var c=this.da.Qf?1:this.U.rp;if(this.fa){kd(this.fa);var d=this.fa;a=c;var e=d.Jb[0];if(e.jf){var f=(Yc(d.N, +d.Be)-e.sd)/d.ui|0,g=ld(d,0)-f;6==e.mode&&(g-=f);var h=g*d.ui|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,t=this.fa;a=c;if(t.ea&&t.ea[11]&64){var r=t.fg-Yc(t.N,t.Be);0r&&(a=r)}c=a}this.lg(c);var B=this.Xc-this.A;this.Je+=B;this.U.$g+=B;hd(this,0,!0);Xc(this,B);this.U.Zg-=B;0>=this.U.Zg&&(this.U.Zg+=this.U.bm,$c(this));this.U.Yg-=B;0>=this.U.Yg&&(this.U.Yg+=this.U.am,this.cd());this.U.cg-=B;if(0>=this.U.cg){this.U.cg+=this.U.Nj;break}}while(this.da.jb)}catch(J){this.lb();Vc(this);this.Ba&&this.Ba.stop(oa(), +Yc(this));eb(this,!1);kb(this,J.message);return}c=setTimeout;d=this.yp;this.U.mf=oa();e=this.U.Yl;this.U.$g&&(e=Math.round(e*this.U.$g/this.U.Nj));e-=this.U.mf-this.U.li;if(f=this.U.mf-this.U.Zf)this.U.Fe=Math.round(this.Je/(10*f))/100,864E5<=f&&(this.qf=0,this.fa&&kd(this.fa,!0),cd(this));if(0>e||this.U.Fethis.rb?this.ta+a:Cd.call(this,0,0,c)}function Cd(a,b,c){c||wd.call(this.N,13,0);return u} +function Ed(a,b,c){return a+b<=this.rb?this.ta+a:Fd.call(this,0,0,c)}function Gd(a,b,c){return a+b>this.rb?this.ta+a:Fd.call(this,0,0,c)}function Fd(a,b,c){c||wd.call(this.N,13,0);return u} +function Hd(a,b){var c=this.N,d=c.cb.ta,e=this.ab,f=c.cb.va;if(!b){if(768!=c.cb.type)return wd.call(c,10,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb&-769|256)}if(c.cb.load(a)==u)return!1;var g=c.cb.ta;if(b){if(768==c.cb.type)return wd.call(c,13,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb|=768);c.cb.type=768}c.Ma(d+14,w(c));c.Ma(d+16,Gb(c));c.Ma(d+18,c.G);c.Ma(d+20,c.I);c.Ma(d+22,c.J);c.Ma(d+24,c.C);c.Ma(d+26,x(c));c.Ma(d+28,c.H);c.Ma(d+30,c.F);c.Ma(d+32,c.D);c.Ma(d+34,c.Ia.va);c.Ma(d+36,c.pa.va);c.Ma(d+38,c.xa.va);c.Ma(d+ +40,c.Xa.va);var d=38,h=26;Id(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Ia.load(c.ja(g+34));c.Xa.load(c.ja(g+40));Jd(c,c.ja(g+14),c.ja(g+36));this.ab>13;if(6144<=h){N=c&3;if(N>a.ab){if(!1!==B&&!(M==a.ab||g&1024&&M<=a.ab)){t=u;break}C=e.Ka();Kd(e,e.Ka(),!0);y(e,C);a.ei=!0}C=!1}else if(1024==h)C=!0,E=-1,J=c,Nh||2048==(h&2560))){d||wd.call(e,13,c,!!g);t=u;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d|| +wd.call(e,13,c,!0);t=u;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||wd.call(e,10,c,!0);t=u;break}}else if(6==a.id&&!(g&4096)&&768>13;80386>a.N.za||!(a.Vh&64)?(a.pe=2,a.ka=65535):(a.pe=4,a.ka=-1)}else a.load=td,a.Vl=xd,a.Hc=zd,a.jc=Ad,a.rb=65535,a.ab=a.pc=0,a.Od=u,a.pe=2,a.ka=65535;a.nd=a.pe;a.ma=a.ka} +function Nd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Sc.call(this,a,b);this.Zk=61442;this.vh=nd;this.uh=4;this.gg=255;this.B=80286<=this.za?Od:Pd;this.Ua=Qd;this.bl=Rd;this.cl=Sd;this.dl=Td;80186<=this.za&&(this.Ua=Qd.slice(),this.bl=Rd.slice(),this.cl=Sd.slice(),this.gg=31,this.Ua[15]=Ud,this.Ua[96]=Vd,this.Ua[97]=Wd,this.Ua[98]=Xd,this.Ua[99]=Ud,this.Ua[100]=Ud,this.Ua[101]=Ud,this.Ua[102]=Ud,this.Ua[103]=Ud,this.Ua[104]=Yd, +this.Ua[105]=Zd,this.Ua[106]=$d,this.Ua[107]=ae,this.Ua[108]=be,this.Ua[109]=ce,this.Ua[110]=de,this.Ua[111]=ee,this.Ua[192]=fe,this.Ua[193]=ge,this.Ua[200]=he,this.Ua[201]=ie,this.Ua[241]=je,this.bl[7]=ke,this.cl[7]=ke,80286<=this.za&&(this.Zk=2,this.vh|=28672,this.uh=0,this.En=le,this.Ua[15]=me,this.Ua[99]=ne,this.Ua[84]=oe));this.Fn=[];this.Fn[2]={Or:this.ja.bind(this),hs:this.Ma.bind(this)};this.xh=[];this.yh=[];this.Xc=this.Cg=0;this.da.Mg=this.da.Bl=!1;this.ql=0;this.qa=[];this.gb=this.Ja=this.Ea= this.Tc=0;pe(this)}Xa(Sc,Nd); -var Pd={Dk:4,T:5,ta:6,aa:7,ba:8,M:9,O:11,P:12,of:4,dm:60,em:83,bc:3,Cb:9,qc:16,ri:1,im:19,km:28,mm:16,lm:21,jm:37,gm:2,Xj:9,hm:5,fm:33,Zj:10,Yj:8,fh:3,eh:15,Am:51,Bm:1,Cm:2,Dm:4,zm:32,$j:15,Fm:15,cc:16,dc:4,Hm:11,Gm:18,Em:24,Nb:4,Im:2,ak:16,Jm:17,fk:18,Km:19,ek:5,gk:6,Pm:2,Om:8,Mm:9,Nm:10,Lm:10,hk:10,ik:10,om:80,qm:144,nm:86,pm:154,sm:101,um:165,rm:107,tm:171,Rm:70,Tm:113,Qm:76,Sm:124,wm:80,ym:128,vm:86,xm:134,hh:3,gh:16,nk:10,mk:8,Um:51,rc:8,Vm:17,Wm:36,xc:11,Xm:16,ih:10,Ie:2,Uj:18,Vj:7,Wj:15,bk:12, -ck:7,dk:11,jk:18,kk:7,lk:15,ok:15,pk:7,qk:13,uk:11,vk:7,wk:8,Ym:8,an:12,Zm:18,$m:17,bn:15,sk:8,rk:20,tk:2,zk:3,jh:9,yk:5,xk:11,Bk:4,Ak:17,cn:11},Od={Dk:0,T:0,ta:0,aa:0,ba:0,M:0,O:1,P:1,of:3,dm:14,em:16,bc:2,Cb:7,qc:7,ri:0,im:7,km:13,mm:7,lm:11,jm:16,gm:3,Xj:6,hm:2,fm:13,Zj:5,Yj:5,fh:2,eh:7,Am:23,Bm:0,Cm:1,Dm:3,zm:17,$j:7,Fm:11,cc:7,dc:3,Hm:7,Gm:11,Em:15,Nb:2,Im:3,ak:7,Jm:8,fk:8,Km:8,ek:4,gk:4,Pm:2,Om:3,Mm:5,Nm:2,Lm:3,hk:5,ik:3,om:14,qm:22,nm:17,pm:25,sm:17,um:25,rm:20,tm:28,Rm:13,Tm:21,Qm:16,Sm:24, -wm:13,ym:21,vm:16,xm:24,hh:2,gh:7,nk:5,mk:5,Um:19,rc:5,Vm:5,Wm:17,xc:3,Xm:5,ih:3,Ie:0,Uj:8,Vj:5,Wj:9,bk:5,ck:5,dk:4,jk:5,kk:5,lk:4,ok:7,pk:5,qk:8,uk:3,vk:4,wk:3,Ym:11,an:11,Zm:15,$m:15,bn:7,sk:5,rk:8,tk:0,zk:2,jh:6,yk:3,xk:6,Bk:3,Ak:5,cn:5};k=Nd.prototype;k.Hj=function(a,b,c,d){this.pa=a;this.Ja=b;this.Ea=c;this.Tc=d};k.reset=function(){this.da.jb&&this.lb();pe(this);Tc(this);this.da.pd=!1}; -function pe(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Pb=a.ph=-1;a.Ih=0;a.gc=65520;a.Rc=0;a.We=1023;a.dg=0;a.qi=-1;a.ra=new qd(a,rd,"CS");a.Xa=new qd(a,2,"DS");a.Ia=new qd(a,2,"ES");a.xa=new qd(a,3,"SS");y(a,0);Kd(a,0);a.un=new qd(a,0,"NULL");a.tb=a.Xa;a.bd=a.xa;a.S=a.Da=0;a.ca=a.La=u;a.wb=0;Jd(a,0,65535);a.pe=a.ra.pe;a.ka=a.ra.ka;a.wd=A;a.vd=se;a.Ue=te;a.Gb=D;a.Oc=ue;a.fd=ve;a.nd=a.ra.nd;a.la=a.ra.la;if(80286<=a.za){a.Dc=0;a.Ve=65535;a.ad=new qd(a,5,"LDT",!0);a.cb=new qd(a,4,"TSS",!0);a.Tb= -new qd(a,6,"VER",!0);Jd(a,65520,61440);var b,c=w(a);b=a.ra;var d=-65536;80386>b.N.za&&(d&=16777215);b=b.va=d;a.ma=b+c;a.ig=b+a.ra.rb}Id(a,0);we(a)}k.Ml=function(){var a=this.G+this.C+this.I+this.J+x(this)+this.H+this.F+this.D|0;return a=a+w(this)+Fb(this)+this.Xa.ua+this.xa.ua+this.Ia.ua+Gb(this)|0};function xe(a,b,c,d){void 0!==d&&(void 0===a.xh[b]&&(a.xh[b]=[]),a.xh[b].push([c,d]))} -function ye(a,b){var c=a.xh[b];if(void 0!==c)for(var d=0;d>((a^a>>4)&15)&1?0:Ob}function Me(a){return(a.W^a.ia)&16?Nb:0} +var Pd={Dk:4,T:5,ua:6,aa:7,ba:8,M:9,O:11,P:12,of:4,dm:60,em:83,bc:3,Cb:9,qc:16,ri:1,im:19,km:28,mm:16,lm:21,jm:37,gm:2,Xj:9,hm:5,fm:33,Zj:10,Yj:8,fh:3,eh:15,Am:51,Bm:1,Cm:2,Dm:4,zm:32,$j:15,Fm:15,cc:16,dc:4,Hm:11,Gm:18,Em:24,Nb:4,Im:2,ak:16,Jm:17,fk:18,Km:19,ek:5,gk:6,Pm:2,Om:8,Mm:9,Nm:10,Lm:10,hk:10,ik:10,om:80,qm:144,nm:86,pm:154,sm:101,um:165,rm:107,tm:171,Rm:70,Tm:113,Qm:76,Sm:124,wm:80,ym:128,vm:86,xm:134,hh:3,gh:16,nk:10,mk:8,Um:51,rc:8,Vm:17,Wm:36,xc:11,Xm:16,ih:10,Ie:2,Uj:18,Vj:7,Wj:15,bk:12, +ck:7,dk:11,jk:18,kk:7,lk:15,ok:15,pk:7,qk:13,uk:11,vk:7,wk:8,Ym:8,an:12,Zm:18,$m:17,bn:15,sk:8,rk:20,tk:2,zk:3,jh:9,yk:5,xk:11,Bk:4,Ak:17,cn:11},Od={Dk:0,T:0,ua:0,aa:0,ba:0,M:0,O:1,P:1,of:3,dm:14,em:16,bc:2,Cb:7,qc:7,ri:0,im:7,km:13,mm:7,lm:11,jm:16,gm:3,Xj:6,hm:2,fm:13,Zj:5,Yj:5,fh:2,eh:7,Am:23,Bm:0,Cm:1,Dm:3,zm:17,$j:7,Fm:11,cc:7,dc:3,Hm:7,Gm:11,Em:15,Nb:2,Im:3,ak:7,Jm:8,fk:8,Km:8,ek:4,gk:4,Pm:2,Om:3,Mm:5,Nm:2,Lm:3,hk:5,ik:3,om:14,qm:22,nm:17,pm:25,sm:17,um:25,rm:20,tm:28,Rm:13,Tm:21,Qm:16,Sm:24, +wm:13,ym:21,vm:16,xm:24,hh:2,gh:7,nk:5,mk:5,Um:19,rc:5,Vm:5,Wm:17,xc:3,Xm:5,ih:3,Ie:0,Uj:8,Vj:5,Wj:9,bk:5,ck:5,dk:4,jk:5,kk:5,lk:4,ok:7,pk:5,qk:8,uk:3,vk:4,wk:3,Ym:11,an:11,Zm:15,$m:15,bn:7,sk:5,rk:8,tk:0,zk:2,jh:6,yk:3,xk:6,Bk:3,Ak:5,cn:5};k=Nd.prototype;k.Hj=function(a,b,c,d){this.qa=a;this.Ja=b;this.Ea=c;this.Tc=d};k.reset=function(){this.da.jb&&this.lb();pe(this);Tc(this);this.da.pd=!1}; +function pe(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Pb=a.ph=-1;a.Ih=0;a.gc=65520;a.Rc=0;a.We=1023;a.eg=0;a.qi=-1;a.pa=new qd(a,rd,"CS");a.Xa=new qd(a,2,"DS");a.Ia=new qd(a,2,"ES");a.xa=new qd(a,3,"SS");y(a,0);Kd(a,0);a.un=new qd(a,0,"NULL");a.tb=a.Xa;a.bd=a.xa;a.S=a.Da=0;a.ca=a.La=u;a.wb=0;Jd(a,0,65535);a.pe=a.pa.pe;a.ka=a.pa.ka;a.wd=A;a.vd=se;a.Ue=te;a.Gb=D;a.Oc=ue;a.fd=ve;a.nd=a.pa.nd;a.ma=a.pa.ma;if(80286<=a.za){a.Dc=0;a.Ve=65535;a.ad=new qd(a,5,"LDT",!0);a.cb=new qd(a,4,"TSS",!0);a.Tb= +new qd(a,6,"VER",!0);Jd(a,65520,61440);var b,c=w(a);b=a.pa;var d=-65536;80386>b.N.za&&(d&=16777215);b=b.ta=d;a.la=b+c;a.sf=b+a.pa.rb}Id(a,0);we(a)}k.Ml=function(){var a=this.G+this.C+this.I+this.J+x(this)+this.H+this.F+this.D|0;return a=a+w(this)+Fb(this)+this.Xa.va+this.xa.va+this.Ia.va+Gb(this)|0};function xe(a,b,c,d){void 0!==d&&(void 0===a.xh[b]&&(a.xh[b]=[]),a.xh[b].push([c,d]))} +function ye(a,b){var c=a.xh[b];if(void 0!==c)for(var d=0;d>((a^a>>4)&15)&1?0:Ob}function Me(a){return(a.W^a.ia)&16?Nb:0} function Ne(a){return a.Q&a.V-1?0:Mb}function Oe(a){return a.W&a.V>>1?Lb:0}function Pe(a){return(a.W^a.ia^a.W>>1)&a.V>>1?Hb:0}function Qe(a){a.Q&=~a.V}function Re(a){a.ia=a.W&16|a.ia&-17}function Se(a){a.Q|=a.V-1}function Te(a){Oe(a)&&(a.W^=a.V>>1|a.V>>2,a.ia^=32896)}function Ue(a){a.W&=~a.V;a.ia=a.W&32896|a.ia&-32897}function Ve(a){a.Q|=a.V}function We(a){a.ia=~(a.W&16)&16|a.ia&-17}function Xe(a){a.Q&=~(a.V-1)}function Ye(a){Oe(a)||(a.W^=a.V>>1|a.V>>2,a.ia^=32896)} -function Ze(a){a.W|=a.V;a.ia=a.W&32896|a.ia&-32897}function Gb(a){return a.wa&~od|Ke(a)|Le(a)|Me(a)|Ne(a)|Oe(a)|Pe(a)}function Id(a,b,c){a.V=256;a.Q=a.W=a.ia=0;b&Pb&&Ve(a);b&Ob||(a.W|=1);b&Nb&&(a.ia|=16);b&Mb||Se(a);b&Lb&&Ye(a);b&Hb&&Ze(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.ra.ab);c?b=b&-12289|a.wa&12288:a.dg=(b&12288)>>12;c>a.dg&&(b=b&~Jb|a.wa&Jb);a.wa=a.wa&~a.vh|b&a.vh|a.Zk;a.wa&Kb&&(a.wb|=2,a.S|=4)} -k.Fb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.ql++;d=!0;break;default:d=this.parent.Fb.call(this,a,b,c)}return d};k.Ra=function(a){return this.pa[(a&this.gb)>>>this.Ja].Eb(a&this.Ea)}; -k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;return b>>this.Ja;if(b>>c|this.pa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.pa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; -k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;c>8&255))};function $e(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function G(a,b){return $e(a,a.tb,b&65535)}function H(a,b){return $e(a,a.bd,b&65535)}function af(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function I(a,b){return af(a,a.tb,b&65535)}function K(a,b){return af(a,a.bd,b&65535)} -function bf(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function L(a,b){return bf(a,a.tb,b&65535)}function O(a,b){return bf(a,a.bd,b&65535)}function cf(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function P(a,b){return cf(a,a.tb,b&65535)}function R(a,b){return cf(a,a.bd,b&65535)}function S(a,b){a.S&2||a.td(a.th.jc(a.mh,0),b)}function T(a,b){a.S&2||a.Ma(a.th.jc(a.mh,1),b)}function Md(a,b,c){return a.ja(b.Hc(c,1))} -k.Y=function(){var a=this.Ra(this.ma);++this.ma>this.ig&&F(this,this.ma-this.ra.va);return a};k.L=function(){var a=this.Ra(this.ma)<<24>>24;++this.ma>this.ig&&F(this,this.ma-this.ra.va);return a&65535};k.K=function(){var a=this.ja(this.ma);this.ma+=this.pe;this.ma>this.ig&&F(this,this.ma-this.ra.va);return a};k.Ka=function(){var a=this.ja(this.Yc);this.Yc+=2;this.Yc>this.kn&&y(this,this.Yc-this.xa.va);return a};function z(a,b){a.Yc-=2;a.Ycthis.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&255}function kf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&255} -function lf(a,b){this.ia=a^b;this.Q=this.W=a+b+(this.Q&this.V?1:0);this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255}function mf(a,b){this.ia=a^b;this.Q=this.W=a-b-(this.Q&this.V?1:0);this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255}function nf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&255} -function of(a,b){this.ia=a^b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&255}function pf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&255}function qf(a,b){this.ia=a^b;this.V=256;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a} -function rf(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&65535}function sf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&65535}function tf(a,b){this.ia=a^b;this.Q=this.W=a+b+(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535} -function uf(a,b){this.ia=a^b;this.Q=this.W=a-b-(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535}function vf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&65535}function wf(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&65535} -function xf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&65535}function yf(a,b){this.ia=a^b;this.V=65536;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a}function zf(a,b){this.Q=this.Q&this.V-1|(a&b?this.V:0);(a^a>>1)&b>>1?Ze(this):Ue(this)}function Af(){this.A-=0>this.ca?2:this.B.bn;return 1} -function Bf(){var a=this.I&this.fg;this.A-=(0>this.ca?this.B.sk:this.B.rk)+(a<this.ca?this.B.sk:this.B.rk)+(a<this.La?this.B.rc:this.B.Vm;return b},Ef,Ef,Ef,Ef,Ef,Ef,Ef],Jf=[function(a,b){this.A-=0>this.La?this.B.Nm:this.B.Lm;return b},Ff,Ff,Ff,Ff,Ff,Ff,Ff],Nf=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;zf.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);zf.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.fg)%9)? -(d=a<>9-d,c=d&255):d=a|(this.Q&this.V?1:0)<<8;zf.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.fg)%9,c=a>>c|(this.Q&this.V?1:0)<<8-c|a<<9-c,zf.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255},Ff,function(a,b){if(b){8>24>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255}],Of=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;zf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);zf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.fg)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Q&this.V?1:0)<<16;zf.call(this, -d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.fg)%17,c=a>>c|(this.Q&this.V?1:0)<<16-c|a<<17-c,zf.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535},Ff,function(a,b){if(b){16>16>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q| -65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535}],Qf=[function(a,b){b=this.Y();this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},Ff,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^255},function(a,b){b=0;this.ia=a^b;this.V=256;this.A-=0>this.ca?this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&255},function(a){this.G=this.Pb=(this.Q=(this.G&255)*a)&65535;this.ia=this.W=this.Q;this.V=256;this.G&65280?(Ve(this),Ze(this)):(Qe(this), -Ue(this));this.A-=0>this.ca?this.B.Rm:this.B.Qm;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Pb=b&65535;this.Q=this.ia=this.W=b;this.V=256;127b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.wm:this.B.vm;this.S|=2;return a},function(a){if(!a)return Pf.call(this),a;var b=this.G/a;if(255this.ca?this.B.om:this.B.nm;this.S|=2;return a}, -function(a){if(!a)return Pf.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Pf.call(this),a;this.Pb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.ia=this.Q=b|256;this.V=256;this.A-=0>this.ca?this.B.sm:this.B.rm;this.S|=2;return a}],Rf=[function(a,b){b=this.K();this.Q=this.W=this.ia=a&b;this.V=65536;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},Ff,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^65535},function(a,b){b=0;this.ia=a^b; -this.V=65536;this.A-=0>this.ca?this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&65535},function(a){this.Pb=this.G=(this.Q=this.G*a)&65535;this.ph=this.J=this.Q>>16&65535;this.ia=this.W=this.Q;this.V=65536;this.J?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.Tm:this.B.Sm;this.S|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Pb=b&65535;this.J=this.ph=b>>16&65535;this.Q=this.ia=this.W=b;this.V=65536;32767b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-= -0>this.ca?this.B.ym:this.B.xm;this.S|=2;return a},function(a,b){if(!a)return Pf.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Pf.call(this),a;this.Pb=this.G=c&65535;this.ph=this.J=b%a&65535;this.W=this.ia=this.Q=c|65536;this.V=65536;this.A-=0>this.ca?this.B.qm:this.B.pm;this.S|=2;return a},function(a,b){if(!a)return Pf.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Pf.call(this),a;this.Pb=this.G=d&65535;this.ph=this.J= -b%c&65535;this.W=this.ia=this.Q=d|65536;this.V=65536;this.A-=0>this.ca?this.B.um:this.B.tm;this.S|=2;return a}],Rd=[function(a){this.ia=a;a=(this.W=a+1)&255;this.Q=a|(this.Q&this.V?1:0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&255;this.Q=a|(this.Q&this.V?1:0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},Ff,Ff,Ff,Ff,Ff,Ff],Sd=[function(a){this.ia=a;a=(this.W=a+1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0> -this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){z(this,w(this));F(this,a);this.A-=0>this.ca?this.B.mm:this.B.lm;this.S|=2;return a},function(a){if(0>this.ca)return Ff.call(this,a);Sf.call(this,a,this.ja(this.ca+2));this.A-=this.B.jm;this.S|=2;return a},function(a){F(this,a);this.A-=0>this.ca?this.B.Hm:this.B.Gm;this.S|=2;return a},function(a){if(0>this.ca)return Ff.call(this, -a);Jd(this,a,this.ja(this.ca+2));this.Cg&&Ce(this,this.ma);this.A-=this.B.Em;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.ca?this.B.xc:this.B.Xm;this.S|=2;return a},Ef];function Tf(a,b){this.A-=0>this.La?0>this.ca?this.B.Pm:this.B.Om:this.B.Mm;return b}function Uf(){return Tf.call(this,0,this.Pb)}function Vf(a,b){this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a} -function Wf(a,b){this.Q=this.W=this.ia=a&b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a}function Xf(a,b){var c=(b<<16>>16)*(this.Y()<<24>>24);this.Q=this.ia=this.W=c;this.V=256;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535} -function Yf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.Q=this.ia=this.W=c;this.V=65536;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535}function Zf(a){return a}function $f(a){if(0>this.ca)return U.call(this),a;this.A-=this.B.Im;return this.ca}function ag(a,b){if(0>this.ca)return U.call(this),a;He(this,this.ja(this.ca+2));this.A-=this.B.ak;return b} -function bg(a,b){if(0>this.ca)return U.call(this),a;Ie(this,this.ja(this.ca+2));this.A-=this.B.ak;return b}function cg(a){if(0>this.ca)return Ud.call(this),a;var b=a<<16>>16,c=this.ja(this.ca)<<16>>16,d=this.ja(this.ca+2)<<16>>16;this.A-=this.B.fm;if(bd)F(this,this.Ob-this.ra.va),ff.call(this,5,null,0);this.S|=2;return a}function dg(a,b){this.A-=10+(0>this.ca?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Xe(this),a;Se(this);return a} -function eg(a,b){this.A-=14+(0>this.ca?0:2);if(this.Tb.load(b,!0)!=u&&this.Tb.pc>=this.ra.ab&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.nb&65280;Se(this);return a}function fg(a,b){this.A-=14+(0>this.ca?0:2);if(b&65528&&this.Tb.load(b,!0)!=u&&(7168==(this.Tb.nb&7168)||this.Tb.pc>=this.ra.ab)&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.rb;Se(this);return a} -function gg(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Bk}else this.La=this.ca,S(this,a),this.A-=this.B.Ak;return b} -function hg(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Bk}else this.La=this.ca,T(this,a),this.A-=this.B.Ak;return b}function ig(a){a=a|this.gc&1|65520;this.gc=this.gc&-65536|a&65535;this.gc&1&&we(this,!0)}function Sf(a,b){var c=Fb(this),d=w(this);null!=Jd(this,a,b,!0)&&(z(this,c),z(this,d))} -function jg(a){var b=this.Ka(),c=this.Ka();(a<<=this.nd>>2)&&y(this,x(this)+a);Jd(this,b,c,!1)&&(a&&y(this,x(this)+a),this.Xa.ua&65528&&this.Xa.pcthis.qi)F(this,this.Ob-this.ra.va),d=!0;else if(8!=this.qi)b=0,a=8,d=!0;else{kg.call(this,-1,0,c);pe(this);return}kg.call(this,a,b,c)&&(d=!1);d&&ff.call(this,this.qi=a,b,0);this.S&=-4}else this.Wa("Fault "+m(a)+" blocked by Debugger",536870912),F(this,this.Ob-this.ra.va)} -function kg(a,b,c){var d=32,e=Qb(this.ha,this.ma);204==e&&(c=!1,d|=1);983040<=this.ma&&1048575>=this.ma&&(c=!1);this.oa(d|1073741824)&&(c=!0);if(this.oa(d)||c)a=(c?"\n":"")+"Fault "+m(a)+(null!=b?" ("+n(b)+")":"")+" on opcode 0x"+m(e)+" at "+uc(this.Z,w(this),Fb(this))+" (%"+da(this.ma,6)+")",b=this.da.jb,this.Wa(a,d)?c&&(c=b,this.Z.lb()):(this.Ca(a),this.lb());return c}function Ud(){wd.call(this,6);this.lb()} -function U(){F(this,this.Ob-this.ra.va);kb(this,"Undefined opcode 0x"+m(Qb(this.ha,this.ma))+" at 0x"+da(this.ma));this.lb()} -var A=[function(a){a=a.call(this,this.G&255,G(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.F));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a= -a.call(this,this.G&255,G(this,this.D));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.G&255,G(this,this.C));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255, -H(this,this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.F));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.D));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.I&255,G(this,this.C));this.I= -this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.F));this.J=this.J&-256| -a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.D));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.K()));this.J=this.J&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.J&255,G(this,this.C));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a= -a.call(this,this.C&255,H(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,G(this,this.F));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.D));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.C&255, -G(this,this.C));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D));this.G=this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this, -this.F));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.K()));this.G=this.G&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.G>>8,G(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D));this.I=this.I& -255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D));this.I=this.I&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.I>>8,G(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.K()));this.I=this.I&255|a<<8;this.A-= -this.B.ta},function(a){a=a.call(this,this.I>>8,G(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.aa}, -function(a){a=a.call(this,this.J>>8,G(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.K()));this.J=this.J&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.J>>8,G(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, -this.C>>8,G(this,this.C+this.D));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,G(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this, -this.K()));this.C=this.C&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.C>>8,G(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G& -255,H(this,this.H+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this, -this.I&255,G(this,this.C+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M}, -function(a){a=a.call(this,this.I&255,G(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.L()));this.J=this.J&-256|a; -this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.L()));this.J= -this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this, -this.H+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>> -8,G(this,this.C+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M}, -function(a){a=a.call(this,this.G>>8,G(this,this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.L()));this.I=this.I&255| -a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.L())); -this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>> -8,H(this,this.H+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this, -this.C>>8,G(this,this.C+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-= -this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.K()));this.G=this.G& --256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.K())); -this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255, -H(this,this.H+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this, -this.J&255,G(this,this.C+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M}, -function(a){a=a.call(this,this.J&255,G(this,this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.K()));this.C=this.C&-256|a; -this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.K()));this.C= -this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this, -this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>> -8,G(this,this.C+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M}, -function(a){a=a.call(this,this.I>>8,G(this,this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.K()));this.J=this.J&255| -a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.K())); -this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>> -8,H(this,this.H+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this, -this.G&255,this.G&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G& -255,this.C>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>> -8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J= -this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C& --256|a},function(a){a=a.call(this,this.C&255,this.I>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<< -8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}, -function(a){a=a.call(this,this.I>>8,this.C&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a= -a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this, -this.C>>8,this.I&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],se=[function(a){a=a.call(this, -L(this,this.C+this.F),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G&255);S(this,a);this.A-=this.B.T},function(a){a= -a.call(this,L(this,this.K()),this.G&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I&255);S(this,a);this.A-=this.B.aa}, -function(a){a=a.call(this,L(this,this.F),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J&255);S(this,a);this.A-=this.B.ba}, -function(a){a=a.call(this,O(this,this.H+this.F),this.J&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.J&255);S(this,a);this.A-=this.B.T}, -function(a){a=a.call(this,L(this,this.C+this.F),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C&255);S(this,a);this.A-= -this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.G>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.G>>8);S(this, -a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.G>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.I>>8);S(this,a); -this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.I>>8);S(this,a);this.A-= -this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.J>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.J>>8);S(this, -a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.C>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C>> -8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()), -this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G&255);S(this,a);this.A-=this.B.M}, -function(a){a=a.call(this,L(this,this.C+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this, -L(this,this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J&255);S(this, -a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, -L(this,this.C+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()), -this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.P}, -function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()), -this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.I>>8);S(this,a);this.A-= -this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this, -this.H+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.J>>8);S(this,a);this.A-= -this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, -L(this,this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G&255); -S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, -L(this,this.C+this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()), -this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J&255);S(this,a);this.A-= -this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+ -this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C&255);S(this, -a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a= -a.call(this,O(this,this.H+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.I>> -8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a= -a.call(this,O(this,this.H+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()), -this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a= -a.call(this,L(this,this.C+this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()), -this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249],A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238], -A[246],A[254],A[199],A[207],A[215],A[223],A[231],A[239],A[247],A[255]],te=[function(a,b){var c=a[0].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this, -L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[0].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,L(this,this.C+this.D),b.call(this)); -S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta}, -function(a,b){var c=a[1].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a, -b){var c=a[2].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[2].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this, -this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.K()),b.call(this)); -S(this,c);this.A-=this.B.ta},function(a,b){var c=a[3].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));S(this,c); -this.A-=this.B.aa},function(a,b){var c=a[4].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[4].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a, -b){var c=a[5].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this, -L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[5].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+ -this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[6].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.C+this.F),b.call(this));S(this,c); -this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T}, -function(a,b){var c=a[7].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[7].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-= -this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.L()),b.call(this));S(this, -c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+ -this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this, -this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c= -a[2].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P}, -function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-= -this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.L()), -b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+ -this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a, -b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M}, -function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.L()),b.call(this)); -S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.K()), -b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this, -this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c= -a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a, -b){var c=a[2].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.K()),b.call(this));S(this, -c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.K()),b.call(this)); -S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()), -b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this, -O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a, -b){var c=a[5].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P}, -function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));S(this,c); -this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()), -b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this)); -this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J& -255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<< -8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a, -b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c= -a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this, -this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>> -8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this)); -this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I= -this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C& -255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<< -8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],D=[function(a){this.G=a.call(this,this.G,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.G= -a.call(this,this.G,I(this,this.F));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.D));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.K()));this.A-=this.B.ta},function(a){this.G=a.call(this,this.G,I(this,this.C));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F));this.A-= -this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.F));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.D));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.K()));this.A-=this.B.ta},function(a){this.I=a.call(this,this.I,I(this,this.C));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this, -this.C+this.D));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this,this.F));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.D));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.K()));this.A-=this.B.ta},function(a){this.J=a.call(this,this.J,I(this,this.C));this.A-=this.B.T},function(a){this.C= -a.call(this,this.C,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.F));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.D));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.K())); -this.A-=this.B.ta},function(a){this.C=a.call(this,this.C,I(this,this.C));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D)));this.A-=this.B.ba},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F)));this.A-=this.B.ba},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.F)));this.A-=this.B.T},function(a){y(this, -a.call(this,x(this),I(this,this.D)));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.K())));this.A-=this.B.ta},function(a){y(this,a.call(this,x(this),I(this,this.C)));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D)); -this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.F));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.D));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.K()));this.A-=this.B.ta},function(a){this.H=a.call(this,this.H,I(this,this.C));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.F=a.call(this, -this.F,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.F));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.D));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.K()));this.A-=this.B.ta},function(a){this.F=a.call(this,this.F,I(this,this.C));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.D= -a.call(this,this.D,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.D=a.call(this,this.D,I(this,this.F));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.D));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.K()));this.A-=this.B.ta},function(a){this.D=a.call(this,this.D,I(this,this.C));this.A-= -this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.L())); -this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+ -this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.L())); -this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.L()));this.A-= -this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.L())); -this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+ -this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),K(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this, -this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this, -this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F, -I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D, -K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this, -this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this, -this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I, -I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J, -K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this, -this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this, -this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.K())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F+this.K())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this, -x(this),I(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),K(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.H= -a.call(this,this.H,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this, -this.F,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this, -this.F,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D= -a.call(this,this.D,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G=a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,x(this))},function(a){this.G=a.call(this,this.G,this.H)}, -function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this,this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this,this.I,this.C)},function(a){this.I=a.call(this,this.I,x(this))},function(a){this.I=a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this, -this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J=a.call(this,this.J,x(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J=a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C=a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C= -a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,x(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C=a.call(this,this.C,this.D)},function(a){y(this,a.call(this,x(this),this.G))},function(a){y(this,a.call(this,x(this),this.I))},function(a){y(this,a.call(this,x(this),this.J))},function(a){y(this,a.call(this,x(this),this.C))},function(a){y(this,a.call(this,x(this),x(this)))},function(a){y(this,a.call(this,x(this), -this.H))},function(a){y(this,a.call(this,x(this),this.F))},function(a){y(this,a.call(this,x(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H,this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H=a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,x(this))},function(a){this.H=a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F= -a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this,this.F,x(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F=a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D=a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D= -a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,x(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D=a.call(this,this.D,this.D)}],ue=[function(a){a=a.call(this,P(this,this.C+this.F),this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this, -R(this,this.H+this.D),this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.G);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D), -this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.I);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.I);T(this,a);this.A-= -this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.J);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.J);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.J);T(this,a);this.A-=this.B.T}, -function(a){a=a.call(this,P(this,this.K()),this.J);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.C);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.C);T(this,a);this.A-=this.B.aa},function(a){a= -a.call(this,P(this,this.F),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.C);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this, -this.H+this.F),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),x(this));T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F), -this.H);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.H);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.H);T(this, -a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.F);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.F);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.F);T(this,a);this.A-= -this.B.T},function(a){a=a.call(this,P(this,this.D),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.F);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.D);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.D);T(this,a);this.A-=this.B.ba},function(a){a= -a.call(this,R(this,this.H+this.D),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.D);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this, -P(this,this.C+this.D+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.G);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this, -this.F+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a= -a.call(this,R(this,this.H+this.F+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.J);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this, -this.D+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),x(this));T(this,a);this.A-=this.B.P}, -function(a){a=a.call(this,R(this,this.H+this.D+this.L()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.H); -T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, -R(this,this.H+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.F);T(this,a);this.A-= -this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()), -this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, -P(this,this.C+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.G);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+ -this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, -P(this,this.C+this.F+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.J);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+ -this.D+this.K()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a= -a.call(this,P(this,this.C+this.D+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),x(this)); -T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a= -a.call(this,P(this,this.F+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.F);T(this,a);this.A-= -this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()), -this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a= -a.call(this,P(this,this.D+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.D);T(this,a);this.A-=this.B.M},D[192],D[200],D[208],D[216],D[224],D[232],D[240],D[248],D[193],D[201],D[209],D[217],D[225],D[233],D[241],D[249],D[194],D[202],D[210],D[218],D[226],D[234],D[242],D[250],D[195],D[203],D[211],D[219],D[227],D[235],D[243],D[251],D[196],D[204],D[212],D[220],D[228], -D[236],D[244],D[252],D[197],D[205],D[213],D[221],D[229],D[237],D[245],D[253],D[198],D[206],D[214],D[222],D[230],D[238],D[246],D[254],D[199],D[207],D[215],D[223],D[231],D[239],D[247],D[255]],ve=[function(a,b){var c=a[0].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a, -b){var c=a[0].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[0].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this, -this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.D),b.call(this)); -T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[1].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-= -this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[2].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c= -a[3].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this, -P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[3].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.F), -b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[4].call(this,P(this,this.C),b.call(this));T(this,c);this.A-= -this.B.T},function(a,b){var c=a[5].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T}, -function(a,b){var c=a[5].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[5].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this, -R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[6].call(this,P(this,this.C),b.call(this)); -T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.F),b.call(this));T(this,c); -this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[7].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-= -this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.L()),b.call(this)); -T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+ -this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this, -this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a, -b){var c=a[2].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P}, -function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.L()),b.call(this));T(this,c); -this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.L()), -b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+ -this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c= -a[6].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a, -b){var c=a[6].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this, -c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.K()),b.call(this)); -T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+ -this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this, -R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c= -a[1].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-= -this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this, -c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.K()), -b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this, -this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this, -P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a, -b){var c=a[5].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O}, -function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.K()),b.call(this));T(this, -c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.K()), -b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+ -this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){y(this,a[0].call(this,x(this),b.call(this)))},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D, -b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this,a[1].call(this,x(this),b.call(this)))},function(a,b){this.H=a[1].call(this,this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G= -a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,x(this),b.call(this)))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))}, -function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,x(this),b.call(this)))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this, -this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,x(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J= -a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,x(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))}, -function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,x(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this, -this.C,b.call(this))},function(a,b){y(this,a[7].call(this,x(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function me(){this.En[this.Y()].call(this)}function oe(){z(this,x(this)&this.la);this.A-=this.B.xc} -function Vd(){var a=x(this)&this.la;z(this,this.G&this.la);z(this,this.I&this.la);z(this,this.J&this.la);z(this,this.C&this.la);z(this,a);z(this,this.H&this.la);z(this,this.F&this.la);z(this,this.D&this.la);this.A-=this.B.Wm} -function Wd(){this.D=this.D&~this.la|this.Ka();this.F=this.F&~this.la|this.Ka();this.H=this.H&~this.la|this.Ka();y(this,x(this)+this.nd);this.C=this.C&~this.la|this.Ka();this.J=this.J&~this.la|this.Ka();this.I=this.I&~this.la|this.Ka();this.G=this.G&~this.la|this.Ka();this.A-=this.B.Um}function Xd(){this.Gb[this.Y()].call(this,cg)}function ne(){this.Oc[this.Y()].call(this,dg)}function Yd(){z(this,this.K());this.A-=this.B.xc}function Zd(){this.Gb[this.Y()].call(this,Yf)} -function $d(){z(this,this.Y());this.A-=this.B.xc}function ae(){this.Gb[this.Y()].call(this,Xf)}function be(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=cc(this.ha,this.J,this.ma-b-1);this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}} -function ce(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.ma-b-1,e=cc(this.ha,this.J,d),d=e|=cc(this.ha,this.J,d)<<8;this.Ma(this.Ia.jc(this.D&this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}} -function de(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ra(this.Xa.Hc(this.F&this.ka,0));this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;gc(this.ha,this.J,d,this.ma-b-1);a&&(this.ma=this.Ob,this.S|=256)}} -function ee(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=Md(this,this.Xa,this.F&this.ka);this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;b=this.ma-b-1;gc(this.ha,this.J,d&255,b);gc(this.ha,this.J,d>>8,b);a&&(this.ma=this.Ob,this.S|=256)}}function lg(){var a=this.L();Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function mg(){var a=this.L();Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} -function ng(){var a=this.L();Ke(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function og(){var a=this.L();Ke(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function pg(){var a=this.L();Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function qg(){var a=this.L();Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function rg(){var a=this.L();Ke(this)||Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc} -function sg(){var a=this.L();Ke(this)||Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function tg(){var a=this.L();Oe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function ug(){var a=this.L();Oe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function vg(){var a=this.L();Le(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function wg(){var a=this.L();Le(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} -function xg(){var a=this.L();!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function yg(){var a=this.L();!Oe(this)==!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function zg(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function Ag(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} -function Bg(){this.Ue[this.Y()].call(this,Gf,this.Y);this.A-=0>this.La?1:this.B.ri}function fe(){this.Ue[this.Y()].call(this,Nf,Cf)}function ge(){this.fd[this.Y()].call(this,Of,Cf)}function Cg(){var a=this.K()<<(this.nd>>2);F(this,this.Ka());a&&y(this,x(this)+a);this.A-=this.B.an}function Dg(){F(this,this.Ka());this.A-=this.B.Ym} -function he(){var a=this.K(),b=this.Y()&31;this.A-=11;z(this,this.H);var c=x(this)&this.xa.ka;if(0>8,c,d=Me(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this);this.A-=this.B.of},function(){this.vd[this.Y()].call(this, -qf)},function(){this.Oc[this.Y()].call(this,yf)},function(){this.wd[this.Y()].call(this,qf)},function(){this.Gb[this.Y()].call(this,yf)},function(){qf.call(this,this.G&255,this.Y());this.A--},function(){yf.call(this,this.G&this.la,this.K());this.A--},function(){this.S|=20;this.tb=this.bd=this.Xa;this.A-=this.B.Ie},function(){var a=this.G&255,b=this.G>>8,c,d=Me(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this); +function Ze(a){a.W|=a.V;a.ia=a.W&32896|a.ia&-32897}function Gb(a){return a.wa&~od|Ke(a)|Le(a)|Me(a)|Ne(a)|Oe(a)|Pe(a)}function $e(a,b){b=b|a.gc&1|65520;a.gc=a.gc&-65536|b&65535;a.gc&1&&we(a,!0)}function Id(a,b,c){a.V=256;a.Q=a.W=a.ia=0;b&Pb&&Ve(a);b&Ob||(a.W|=1);b&Nb&&(a.ia|=16);b&Mb||Se(a);b&Lb&&Ye(a);b&Hb&&Ze(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.pa.ab);c?b=b&-12289|a.wa&12288:a.eg=(b&12288)>>12;c>a.eg&&(b=b&~Jb|a.wa&Jb);a.wa=a.wa&~a.vh|b&a.vh|a.Zk;a.wa&Kb&&(a.wb|=2,a.S|=4)} +k.Fb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ra[b]=c;this.ql++;d=!0;break;default:d=this.parent.Fb.call(this,a,b,c)}return d};k.Ra=function(a){return this.qa[(a&this.gb)>>>this.Ja].Eb(a&this.Ea)}; +k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;return b>>this.Ja;if(b>>c|this.qa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.qa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; +k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;c>8&255))};function af(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function G(a,b){return af(a,a.tb,b&65535)}function H(a,b){return af(a,a.bd,b&65535)}function bf(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function I(a,b){return bf(a,a.tb,b&65535)}function K(a,b){return bf(a,a.bd,b&65535)} +function cf(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function L(a,b){return cf(a,a.tb,b&65535)}function O(a,b){return cf(a,a.bd,b&65535)}function df(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function P(a,b){return df(a,a.tb,b&65535)}function R(a,b){return df(a,a.bd,b&65535)}function S(a,b){a.S&2||a.td(a.th.jc(a.mh,0),b)}function T(a,b){a.S&2||a.Ma(a.th.jc(a.mh,1),b)}function Md(a,b,c){return a.ja(b.Hc(c,1))} +k.Y=function(){var a=this.Ra(this.la);++this.la>this.sf&&F(this,this.la-this.pa.ta);return a};k.L=function(){var a=this.Ra(this.la)<<24>>24;++this.la>this.sf&&F(this,this.la-this.pa.ta);return a&65535};function ef(a){var b=a.ja(a.la);a.la+=2;a.la>a.sf&&F(a,a.la-a.pa.ta);return b}k.K=function(){var a=this.ja(this.la);this.la+=this.pe;this.la>this.sf&&F(this,this.la-this.pa.ta);return a};k.Ka=function(){var a=this.ja(this.Yc);this.Yc+=2;this.Yc>this.kn&&y(this,this.Yc-this.xa.ta);return a}; +function z(a,b){a.Yc-=2;a.Ycthis.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255}function mf(a,b){this.ia=a^b;this.Q=this.W=a+b+(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535} +function nf(a,b){this.ia=a^b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&255}function of(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&65535}function pf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&255} +function qf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&65535}function rf(a,b){this.A-=10+(0>this.ca?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Xe(this),a;Se(this);return a}function sf(a){if(0>this.ca)return Ud.call(this),a;var b=a<<16>>16,c=this.ja(this.ca)<<16>>16,d=this.ja(this.ca+2)<<16>>16;this.A-=this.B.fm;if(bd)F(this,this.Ob-this.pa.ta),hf.call(this,5,null,0);this.S|=2;return a} +function tf(a,b){var c=Fb(this),d=w(this);null!=Jd(this,a,b,!0)&&(z(this,c),z(this,d))}function uf(a,b){this.ia=a^b;this.V=256;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a}function vf(a,b){this.ia=a^b;this.V=65536;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a}function wf(a){return a} +function xf(a,b){var c=(b<<16>>16)*(this.Y()<<24>>24);this.Q=this.ia=this.W=c;this.V=256;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535}function yf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.Q=this.ia=this.W=c;this.V=65536;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535} +function hf(a,b,c){this.A-=this.B.Am+c;this.pa.pj=!0;c=Gb(this);var d=Fb(this),e=w(this);a=this.pa.Vl(a);a!=u&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.qi=-1)}function zf(a,b){this.A-=14+(0>this.ca?0:2);if(this.Tb.load(b,!0)!=u&&this.Tb.pc>=this.pa.ab&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.nb&65280;Se(this);return a}function Af(a,b){if(0>this.ca)return U.call(this),a;He(this,this.ja(this.ca+2));this.A-=this.B.ak;return b} +function Bf(a){if(0>this.ca)return U.call(this),a;this.A-=this.B.Im;return this.ca}function Cf(a,b){if(0>this.ca)return U.call(this),a;Ie(this,this.ja(this.ca+2));this.A-=this.B.ak;return b}function Df(a,b){this.A-=14+(0>this.ca?0:2);if(b&65528&&this.Tb.load(b,!0)!=u&&(7168==(this.Tb.nb&7168)||this.Tb.pc>=this.pa.ab)&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.rb;Se(this);return a}function Ef(a,b){this.A-=0>this.La?0>this.ca?this.B.Pm:this.B.Om:this.B.Mm;return b} +function Ff(){return Ef.call(this,0,this.Pb)}function Gf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&255}function Hf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&65535} +function If(a){var b=this.Ka(),c=this.Ka();(a<<=this.nd>>2)&&y(this,x(this)+a);Jd(this,b,c,!1)&&(a&&y(this,x(this)+a),this.Xa.va&65528&&this.Xa.pcthis.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255} +function Nf(a,b){this.ia=a^b;this.Q=this.W=a-b-(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535}function Of(a,b){this.ia=a^b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&255}function Pf(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&65535} +function Qf(a,b){this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a}function Rf(a,b){this.Q=this.W=this.ia=a&b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a} +function Sf(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Bk}else this.La=this.ca,S(this,a),this.A-=this.B.Ak;return b} +function Tf(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Bk}else this.La=this.ca,T(this,a),this.A-=this.B.Ak;return b}function Uf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&255} +function Vf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&65535}function Wf(a,b){this.Q=this.Q&this.V-1|(a&b?this.V:0);(a^a>>1)&b>>1?Ze(this):Ue(this)}function Xf(){this.A-=0>this.ca?2:this.B.bn;return 1}function Yf(){var a=this.I&this.gg;this.A-=(0>this.ca?this.B.sk:this.B.rk)+(a<this.ca?this.B.sk:this.B.rk)+(a<this.qi)F(this,this.Ob-this.pa.ta),d=!0;else if(8!=this.qi)b=0,a=8,d=!0;else{dg.call(this,-1,0,c);pe(this);return}dg.call(this,a,b,c)&&(d=!1);d&&hf.call(this,this.qi=a,b,0);this.S&=-4}else this.Wa("Fault "+m(a)+" blocked by Debugger",536870912),F(this,this.Ob-this.pa.ta)} +function dg(a,b,c){var d=32,e=Qb(this.ha,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);this.oa(d|1073741824)&&(c=!0);if(this.oa(d)||c)a=(c?"\n":"")+"Fault "+m(a)+(null!=b?" ("+n(b)+")":"")+" on opcode 0x"+m(e)+" at "+uc(this.Z,w(this),Fb(this))+" (%"+da(this.la,6)+")",b=this.da.jb,this.Wa(a,d)?c&&(c=b,this.Z.lb()):(this.Ca(a),this.lb());return c}function me(){this.En[this.Y()].call(this)}function oe(){z(this,x(this)&this.ma);this.A-=this.B.xc} +function Vd(){var a=x(this)&this.ma;z(this,this.G&this.ma);z(this,this.I&this.ma);z(this,this.J&this.ma);z(this,this.C&this.ma);z(this,a);z(this,this.H&this.ma);z(this,this.F&this.ma);z(this,this.D&this.ma);this.A-=this.B.Wm} +function Wd(){this.D=this.D&~this.ma|this.Ka();this.F=this.F&~this.ma|this.Ka();this.H=this.H&~this.ma|this.Ka();y(this,x(this)+this.nd);this.C=this.C&~this.ma|this.Ka();this.J=this.J&~this.ma|this.Ka();this.I=this.I&~this.ma|this.Ka();this.G=this.G&~this.ma|this.Ka();this.A-=this.B.Um}function Xd(){this.Gb[this.Y()].call(this,sf)}function ne(){this.Oc[this.Y()].call(this,rf)}function Yd(){z(this,this.K());this.A-=this.B.xc}function Zd(){this.Gb[this.Y()].call(this,yf)} +function $d(){z(this,this.Y());this.A-=this.B.xc}function ae(){this.Gb[this.Y()].call(this,xf)}function be(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=cc(this.ha,this.J,this.la-b-1);this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}} +function ce(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.la-b-1,e=cc(this.ha,this.J,d),d=e|=cc(this.ha,this.J,d)<<8;this.Ma(this.Ia.jc(this.D&this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}} +function de(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ra(this.Xa.Hc(this.F&this.ka,0));this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;gc(this.ha,this.J,d,this.la-b-1);a&&(this.la=this.Ob,this.S|=256)}} +function ee(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=Md(this,this.Xa,this.F&this.ka);this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;b=this.la-b-1;gc(this.ha,this.J,d&255,b);gc(this.ha,this.J,d>>8,b);a&&(this.la=this.Ob,this.S|=256)}}function eg(){var a=this.L();Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function fg(){var a=this.L();Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} +function gg(){var a=this.L();Ke(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function hg(){var a=this.L();Ke(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function ig(){var a=this.L();Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function jg(){var a=this.L();Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function kg(){var a=this.L();Ke(this)||Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc} +function lg(){var a=this.L();Ke(this)||Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function mg(){var a=this.L();Oe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function ng(){var a=this.L();Oe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function og(){var a=this.L();Le(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function pg(){var a=this.L();Le(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} +function qg(){var a=this.L();!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function rg(){var a=this.L();!Oe(this)==!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function sg(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function tg(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} +function ug(){this.Ue[this.Y()].call(this,vg,this.Y);this.A-=0>this.La?1:this.B.ri}function fe(){this.Ue[this.Y()].call(this,wg,Zf)}function ge(){this.fd[this.Y()].call(this,xg,Zf)}function yg(){var a=this.K()<<(this.nd>>2);F(this,this.Ka());a&&y(this,x(this)+a);this.A-=this.B.an}function zg(){F(this,this.Ka());this.A-=this.B.Ym} +function he(){var a=this.K(),b=this.Y()&31;this.A-=11;z(this,this.H);var c=x(this)&this.xa.ka;if(0>8,c,d=Me(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this);this.A-=this.B.of},function(){this.vd[this.Y()].call(this, +uf)},function(){this.Oc[this.Y()].call(this,vf)},function(){this.wd[this.Y()].call(this,uf)},function(){this.Gb[this.Y()].call(this,vf)},function(){uf.call(this,this.G&255,this.Y());this.A--},function(){vf.call(this,this.G&this.ma,this.K());this.A--},function(){this.S|=20;this.tb=this.bd=this.Xa;this.A-=this.B.Ie},function(){var a=this.G&255,b=this.G>>8,c,d=Me(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this); this.A-=this.B.of},function(){this.W=(this.ia=this.G)+1;this.G=this.W&65535;this.Q=this.G|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.I)+1;this.I=this.W&65535;this.Q=this.I|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.J)+1;this.J=this.W&65535;this.Q=this.J|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.C)+1;this.C=this.W&65535;this.Q=this.C|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){var a; -this.W=(this.ia=x(this))+1;y(this,a=this.ia&~this.la|this.W&this.la);this.Q=(a&this.la)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)+1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)+1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)+1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-= +this.W=(this.ia=x(this))+1;y(this,a=this.ia&~this.ma|this.W&this.ma);this.Q=(a&this.ma)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)+1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)+1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)+1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-= 2},function(){this.W=(this.ia=this.G)-1;this.G=this.W&65535;this.Q=this.G|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.I)-1;this.I=this.W&65535;this.Q=this.I|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.J)-1;this.J=this.W&65535;this.Q=this.J|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.C)-1;this.C=this.W&65535;this.Q=this.C|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){var a;this.W= -(this.ia=x(this))-1;y(this,a=this.ia&~this.la|this.W&this.la);this.Q=(a&this.la)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)-1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)-1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)-1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){z(this, -this.G&this.la);this.A-=this.B.xc},function(){z(this,this.I&this.la);this.A-=this.B.xc},function(){z(this,this.J&this.la);this.A-=this.B.xc},function(){z(this,this.C&this.la);this.A-=this.B.xc},function(){z(this,x(this)-this.nd&this.la);this.A-=this.B.xc},function(){z(this,this.H&this.la);this.A-=this.B.xc},function(){z(this,this.F&this.la);this.A-=this.B.xc},function(){z(this,this.D&this.la);this.A-=this.B.xc},function(){this.G=this.G&~this.la|this.Ka();this.A-=this.B.rc},function(){this.I=this.I& -~this.la|this.Ka();this.A-=this.B.rc},function(){this.J=this.J&~this.la|this.Ka();this.A-=this.B.rc},function(){this.C=this.C&~this.la|this.Ka();this.A-=this.B.rc},function(){y(this,x(this)&~this.la|this.Ka());this.A-=this.B.rc},function(){this.H=this.H&~this.la|this.Ka();this.A-=this.B.rc},function(){this.F=this.F&~this.la|this.Ka();this.A-=this.B.rc},function(){this.D=this.D&~this.la|this.Ka();this.A-=this.B.rc},lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg, -xg,yg,zg,Ag,Bg,function(){this.fd[this.Y()].call(this,Hf,this.K);this.A-=0>this.La?1:this.B.ri},Bg,function(){this.fd[this.Y()].call(this,Hf,this.L);this.A-=0>this.La?1:this.B.ri},function(){this.vd[this.Y()].call(this,Vf)},function(){this.Oc[this.Y()].call(this,Wf)},function(){this.wd[this.Ih=this.Y()].call(this,gg)},function(){this.Gb[this.Ih=this.Y()].call(this,hg)},function(){this.S|=1;this.vd[this.Y()].call(this,Tf)},function(){this.S|=1;this.Oc[this.Y()].call(this,Tf)},function(){this.wd[this.Y()].call(this, -Tf)},function(){this.Gb[this.Y()].call(this,Tf)},function(){var a=this.Y();switch((a&56)>>3){case 0:this.Pb=this.Ia.ua;break;case 1:this.Pb=this.ra.ua;break;case 2:this.Pb=this.xa.ua;break;case 3:this.Pb=this.Xa.ua;break;default:U.call(this);return}this.S|=1;this.Oc[a].call(this,Uf)},function(){this.S|=1;this.tb=this.bd=this.un;this.Gb[this.Y()].call(this,$f)},function(){var a,b=this.Y(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| -80386==this.za&&4!=c&&5!=c){Ud.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=x(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.Gb[b].call(this,Tf);switch(c){case 0:Ie(this,this.G);this.G=a;break;case 1:Ge(this,this.I);this.I=a;break;case 2:Kd(this,this.J);this.J=a;break;case 3:He(this,this.C);this.C=a;break;case 4:Ie(this,x(this));y(this,a);break;case 5:Ge(this,this.H);this.H=a;break;case 6:Kd(this,this.F);this.F=a;break;case 7:He(this,this.D),this.D=a}}, -function(){this.S|=1;this.fd[this.Y()].call(this,If,this.Ka)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=x(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= -2==this.nd?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.nd?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.hm},function(){Sf.call(this,this.K(),this.K());this.A-=this.B.km},function(){this.Wa("WAIT not implemented",1);this.A--},function(){z(this,Gb(this));this.A-=this.B.xc},function(){Id(this,this.Ka());this.A-=this.B.rc},function(){var a=this.G>>8;a&Pb?Ve(this):Qe(this);a&Ob?Le(this)||(this.W^=1):Le(this)&&(this.W^=1);a&Nb?We(this): -Re(this);a&Mb?Xe(this):Se(this);a&Lb?Ye(this):Te(this);this.A-=this.B.Nb},function(){this.G=this.G&255|(Gb(this)&pd)<<8;this.A-=this.B.Nb},function(){var a=this.G&-256,b;b=this.K();b=this.Ra(this.tb.Hc(b,0));this.G=a|b;this.A-=this.B.hk},function(){this.G=this.G&~this.la|Md(this,this.tb,this.K());this.A-=this.B.hk},function(){var a=this.K(),b=this.G;this.td(this.tb.jc(a,0),b);this.A-=this.B.ik},function(){var a=this.K(),b=this.G;this.Ma(this.tb.jc(a,1),b);this.A-=this.B.ik},function(){var a=1,b=0, -c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-1:1,e=this.Ra(this.tb.Hc(this.F,0));this.td(this.Ia.jc(this.D&this.ka,0),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-2:2,e=Md(this,this.tb,this.F);this.Ma(this.Ia.jc(this.D& -this.ka,1),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-1:1,e=$e(this,this.tb,this.F&this.ka),f=bf(this,this.Ia,this.D&this.ka);qf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da& -64)&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-2:2,e=af(this,this.tb,this.F&this.ka),f=cf(this,this.Ia,this.D&this.ka);yf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=256)}},function(){this.Q=this.W=this.ia=this.G&this.Y();this.V=256;this.A-=this.B.of}, -function(){this.Q=this.W=this.ia=this.G&this.K();this.V=65536;this.A-=this.B.of},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.Ma(this.Ia.jc(this.D& -this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-=this.B.ck));a--&&(this.G=this.G&-256|this.Ra(this.tb.Hc(this.F&this.ka,0)),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka,this.A-=c,this.I-=b,a&&(this.ma=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-= -this.B.ck));a--&&(this.G=Md(this,this.tb,this.F&this.ka),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka,this.A-=c,this.I-=b,a&&(this.ma=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(qf.call(this,this.G&255,bf(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=256))},function(){var a= -1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(yf.call(this,this.G,cf(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=256))},function(){this.G=this.G&-256|this.Y();this.A-=this.B.Nb},function(){this.I=this.I&-256|this.Y();this.A-=this.B.Nb},function(){this.J=this.J&-256|this.Y();this.A-=this.B.Nb},function(){this.C=this.C&-256|this.Y(); -this.A-=this.B.Nb},function(){this.G=this.G&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.I=this.I&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.J=this.J&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.C=this.C&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.G=this.G&~this.la|this.K();this.A-=this.B.Nb},function(){this.I=this.I&~this.la|this.K();this.A-=this.B.Nb},function(){this.J=this.J&~this.la|this.K();this.A-=this.B.Nb},function(){this.C=this.C&~this.la|this.K();this.A-=this.B.Nb}, -function(){y(this,x(this)&~this.la|this.K());this.A-=this.B.Nb},function(){this.H=this.H&~this.la|this.K();this.A-=this.B.Nb},function(){this.F=this.F&~this.la|this.K();this.A-=this.B.Nb},function(){this.D=this.D&~this.la|this.K();this.A-=this.B.Nb},Cg,Dg,Cg,Dg,function(){this.Gb[this.Y()].call(this,bg)},function(){this.Gb[this.Y()].call(this,ag)},function(){this.S|=1;this.Ue[this.Y()].call(this,Jf,this.Y)},function(){this.S|=1;this.fd[this.Y()].call(this,Jf,this.K)},Eg,Fg,Eg,Fg,function(){ff.call(this, -3,null,this.B.Bm)},function(){var a=this.Y();ye(this,a)?ff.call(this,a,null,0):this.A--},function(){Pe(this)?ff.call(this,4,null,this.B.Cm):this.A-=this.B.Dm},function(){this.A-=this.B.zm;if(this.gc&1&&this.wa&16384){var a=this.ja(this.cb.va+0);Hd.call(this.ra,a,!1)}else{var a=this.ra.ab,b=this.Ka(),c=this.Ka(),d=this.Ka();null!=Jd(this,b,c,!1)&&(Id(this,d,a),this.Cg&&Ce(this,this.ma))}},function(){this.Ue[this.Y()].call(this,Nf,Af)},function(){this.fd[this.Y()].call(this,Of,Af)},function(){this.Ue[this.Y()].call(this, -Nf,Bf)},function(){this.fd[this.Y()].call(this,Of,Bf)},function(){var a=this.Y(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.V=256;this.Q=this.W=b;this.A-=this.B.em},function(){var a=this.Y();this.Q=this.W=this.G=(this.G>>8)*a+this.G&255;this.V=256;this.A-=this.B.dm},function(){this.G=this.G&-256|(Ke(this)?255:0);this.A-=2},function(){this.G=this.G&-256|$e(this,this.tb,this.C+(this.G&255)&65535);this.A-=this.B.cn},Gg,Gg,Gg,Gg,Gg,Gg,Gg,Gg,function(){var a=this.L();(this.I=this.I-1&this.ka)&&this.Q&this.V- -1?(F(this,w(this)+a),this.A-=this.B.Km):this.A-=this.B.ek},function(){var a=this.L();!(this.I=this.I-1&this.ka)||this.Q&this.V-1?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.L();(this.I=this.I-1&this.ka)?(F(this,w(this)+a),this.A-=this.B.Jm):this.A-=this.B.ek},function(){var a=this.L();this.I?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.Y();this.G=this.G&-256|cc(this.ha,a,this.ma-2);this.A-=this.B.Zj},function(){var a=this.Y();this.G= -cc(this.ha,a,this.ma-2);this.G|=cc(this.ha,a+1&65535,this.ma-2)<<8;this.A-=this.B.Zj},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.ma-2);this.A-=this.B.nk},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.ma-2);gc(this.ha,a+1&65535,this.G>>8,this.ma-2);this.A-=this.B.nk},function(){var a=this.K();z(this,w(this));F(this,w(this)+a);this.A-=this.B.im},function(){var a=this.K();F(this,w(this)+a);this.A-=this.B.$j},function(){Jd(this,this.K(),this.K());this.A-=this.B.Fm},function(){var a= -this.L();F(this,w(this)+a);this.A-=this.B.$j},function(){this.G=this.G&-256|cc(this.ha,this.J,this.ma-1);this.A-=this.B.Yj},function(){this.G=cc(this.ha,this.J,this.ma-1);this.G|=cc(this.ha,this.J+1&65535,this.ma-1)<<8;this.A-=this.B.Yj},function(){gc(this.ha,this.J,this.G&255,this.ma-1);this.A-=this.B.mk},function(){gc(this.ha,this.J,this.G&255,this.ma-1);gc(this.ha,this.J+1&65535,this.G>>8,this.ma-1);this.A-=this.B.mk},Hg,Hg,function(){this.S|=132;this.A-=this.B.Ie},function(){this.S|=68;this.A-= -this.B.Ie},function(){this.wb|=4;this.A-=2;this.Z&&df(this.Z)?(Je(this),this.lb()):this.wa&Jb||(this.Z&&Je(this),this.lb())},function(){Ke(this)?Qe(this):Ve(this);this.A-=2},function(){this.Pb=-1;this.Ue[this.Y()].call(this,Qf,Df);0<=this.Pb&&(this.G=this.Pb)},function(){this.Pb=-1;this.fd[this.Y()].call(this,Rf,Df);0<=this.Pb&&(this.G=this.Pb,this.J=this.ph)},function(){this.Q&=~this.V;this.A-=2},function(){this.Q|=this.V;this.A-=2},function(){this.wa&=~Jb;this.A-=this.B.gm},function(){this.wa|= -Jb;this.S|=4;this.A-=2},function(){this.wa&=~Ib;this.A-=2},function(){this.wa|=Ib;this.A-=2},function(){this.Ue[this.Y()].call(this,Rd,Df)},function(){this.fd[this.Y()].call(this,Sd,Df)}],le=[function(){var a=this.Y();16>(a&56)&&(this.S|=1);this.fd[a].call(this,this.dl,Df)},function(){var a=this.Y();a&16||(this.S|=1);this.fd[a].call(this,Ig,Df)},function(){this.Gb[this.Y()].call(this,eg)},function(){this.Gb[this.Y()].call(this,fg)},U,function(){this.ra.ab?wd.call(this,13,0,!0):(ig.call(this,this.ja(2054)), -this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),Ld(this.Ia,2102,this.ja(2084)),Ld(this.ra,2108,this.ja(2082)),Ld(this.xa,2114,this.ja(2080)),Ld(this.Xa,2120,this.ja(2078)),Id(this,this.ja(2072)),F(this,this.ja(2074)),y(this,this.ja(2092)),this.Dc=this.ja(2126)|this.Ra(2128)<<16,this.Ve=this.Dc+this.ja(2130),Ld(this.ad,2132,this.ja(2076)),this.Rc=this.ja(2138)|this.Ra(2140)<<16,this.We=this.Rc+this.ja(2142), -Ld(this.cb,2144,this.ja(2070)),this.A-=195)},function(){this.ra.ab?wd.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},U,U,U,U,Ud,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U, -U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],De=[function(){this.A-=2+(0>this.ca?0:1);return this.ad.ua},function(){this.A-=2+(0>this.ca?0:1);return this.cb.ua},function(a){this.S|=2;this.ad.load(a);this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.cb.load(a)!=u&&(this.Ma(this.cb.Od+4,this.cb.nb|=512),this.cb.type=768);this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a, -!0)!=u&&2048!=(this.Tb.nb&2560)&&(this.Tb.pc>=this.ra.ab&&this.Tb.pc>=(a&3)||7168==(this.Tb.nb&7168)))return Xe(this),a;Se(this);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a,!0)!=u&&512==(this.Tb.nb&2560)&&this.Tb.pc>=this.ra.ab&&this.Tb.pc>=(a&3))return Xe(this),a;Se(this);return a},Ff,Ff],Td=[ke,ke,ke,ke,ke,ke,Ff,Ff],Ig=[function(a){0>this.ca?Ud.call(this):(a=this.Ve-this.Dc,this.Ma(this.ca+2,this.Dc),this.Ma(this.ca+4,65280|this.Dc>>16),this.A-=11);return a},function(a){0> -this.ca?Ud.call(this):(a=this.We-this.Rc,this.Ma(this.ca+2,this.Rc),this.Ma(this.ca+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ca?Ud.call(this):(this.Dc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.Ve=this.Dc+a,this.S|=2,this.A-=11);return a},function(a){0>this.ca?Ud.call(this):(this.Rc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.We=this.Rc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ca?0:1);return this.gc},Ff,function(a){ig.call(this,a);this.A-=0>this.ca? -3:6;this.S|=2;return a},Ff]; -function Jg(a){p.call(this,"ChipSet",a,Jg,16384);this.za=(this.za=a.model)?parseInt(this.za,10):Kg;this.hc=0;var b=a.sw1;if(b)this.hc=Lg(b,Mg|Ng.Cn);else{this.le=[360,360];(b=a.floppies)&&b.length&&(this.le=b);if(b=this.le.length)this.hc|=Og.Li,b--,this.hc|=(b&3)<=Pg&&(this.Oh=this.Dg=2);this.Be=a.scaleTimers||!1;this.Bq=a.rtcDate; -this.Il=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.hj=new window.webkitAudioContext);this.reset(!0);ib(this)}Xa(p,Jg);var Kg=5150,Pg=5170,Qg={none:0,tv:1,color:2,mono:3,ega:0},Og={Li:1,ONE:0,rr:64,pr:128,Pq:192,og:192,pg:6},Mg=12,Ng={qr:16,Hq:32,Cn:48,og:48,pg:4};k=Jg.prototype; -k.Fb=function(a,b,c){switch(b){case "sw1":return this.qa[b]=c,Rg(this,b,c,this.hc,{0:this.za==Kg?"Bootable Floppy Drive":"Loop on POST",1:this.za==Kg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Kg)return this.qa[b]=c,Rg(this,b,c,this.Qe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.Ga=sb(a,"Keyboard");this.ui=c.U.Fd/1193181;bc(b,this,Sg);fc(b,this,Tg);this.zab;b++){var c=13>=b?$g(e,b):e.ea[b];a&&(a+="\n");a+="CMOS[0x"+m(b)+"]: 0x"+m(c)}e.Z.R(a)})}xe(c,26,this,this.ip)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0}; -k.reset=function(a){var b;this.ud=this.hc;this.xf=this.Qe;ah(this);this.mb=Array(this.Oh);for(b=0;b=Pg){this.ob=16;this.Qd=0;this.Pd=16;this.Fh=0;this.Xe=160;512<=eh(this)&&(this.Xe|=16);3==fh(this)&&(this.Xe|=64);this.Xi=3;this.xg=0;this.zh=Array(7);this.Ye=0;a&&(this.ea=Array(64));gh(this, -this.Bq);for(a=21;24>=a;a++)this.ea[a]=0;for(a=14;46>a;a++)void 0===this.ea[a]&&(this.ea[a]=0);this.ea[20]=this.ud&(Ng.og|2|Og.Li|Og.og);this.ea[16]=hh(this,0)<<4|hh(this,1);ih(this)}}; -function gh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.R("CMOS date invalid ("+b+"), using "+c)):b&&a.R("CMOS date: "+c);a.ea[0]=c.getSeconds();a.ea[1]=0;a.ea[2]=c.getMinutes();a.ea[3]=0;a.ea[4]=c.getHours();a.ea[5]=0;a.ea[6]=c.getDay()+1;a.ea[7]=c.getDate();a.ea[8]=c.getMonth()+1;c=c.getFullYear();a.ea[9]=c%100;c/=100;a.ea[50]=c%10|c/10<<4;a.ea[10]=38;a.ea[11]=2;a.ea[12]=0;a.ea[13]=128;a.kh=a.eg=0;a.dn=a.si=null} -function $g(a,b){var c=a.ea[b];if(10>b){var d=!1;4!=b&&5!=b||a.ea[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ea[11]&4||(d&&128c;c++)b+=a.ea[c];a.ea[47]=b&255;a.ea[46]=b>>8} -k.save=function(){var a=new Ee(this);a.set(0,[this.hc,this.Qe,this.ud,this.xf]);for(var b=[],c=0;c=Pg&&(a.set(5,[this.ob,this.Qd,this.Pd,this.Fh,this.Xe,this.Xi]),a.set(6,[this.xg,this.zh,this.Ye,this.ea,this.kh,this.eg]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.Qe=b[1];this.ud=b[2];this.xf=b[3];b=a[1];for(c=0;c>2)+1)*a.jp+32*((b?a.Qe:a.xf)&15)}function qh(a,b){var c=b?a.hc:a.ud;return a.za!=Kg||c&Og.Li?((c&Og.og)>>Og.pg)+1:0} -function hh(a,b){if(b>Ng.pg} -function Rg(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=cb(c,"pcjs-bitCell");c=null;for(g=0;gg.$a[0]&&(g.$a[0]=255,g.$a[1]--,0>g.$a[1]&&(g.$a[1]=255)));return h}function vh(a,b,c,d,e,f){var g=a.mb[b];a.oa(384)&&q(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.pb+"]",null,!0);a=g.Qb[c];a.$a[g.pb]=a.kc[g.pb]=e;g.pb^=1}function wh(a,b,c,d){var e=a.mb[b],f=e.te|1;e.te&=-16;a.oa(384)&&q(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function xh(a,b,c,d,e){var f=a.mb[b];a.oa(384)&&q(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.te=f.te&~(16<>2].Qb[b&3],c,d,e)} -function zh(a,b,c){b=a.mb[b>>2].Qb[b&3];b.Sh&&b.Aj&&b.vi?(c&&(b.Uh=c),b.$d||gf(a,b,!0)):c&&c(!0)}function gf(a,b,c){c&&(b.count=b.$a[1]<<8|b.$a[0],b.yn=b.mode&12,b.Kl=b.pd=!1);for(var d=!1;0<=b.count&&(c=b.Lh<<16|b.fb[1]<<8|b.fb[0],4==b.yn?(d=!0,function(c){b.Aj.call(b.Sh,b.vi,-1,function(f,g){0>f&&(b.Kl||(b.Kl=!0),f=255);b.$d||a.ha.td(c,f);(d=g)&&setTimeout(function(){Hh(b)||gf(a,b)},0)})}(c)):8==b.yn?(c=a.ha.Ra(c),0>b.Aj.call(b.Sh,b.vi,c)&&(b.pd=!0)):b.pd=!0),!d&&!Hh(b););} -function Hh(a){if(!a.pd&&0<=--a.count&&(a.mode&32?(a.fb[0]--,0>a.fb[0]&&(a.fb[0]=255,a.fb[1]--,0>a.fb[1]&&(a.fb[1]=255))):(a.fb[0]++,255>3];b=1<<(b&7);d.Sb&b||(d.Sb|=b,d.cg=c||0,Kh(a))} -function Oh(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Sb&d&&(c.Sb&=~d,Kh(a))}function Kh(a,b){var c,d=-1;1>=1),dd(a.N,c))),2==b&&jd(a))}k=Jg.prototype; +(this.ia=x(this))-1;y(this,a=this.ia&~this.ma|this.W&this.ma);this.Q=(a&this.ma)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)-1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)-1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)-1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){z(this, +this.G&this.ma);this.A-=this.B.xc},function(){z(this,this.I&this.ma);this.A-=this.B.xc},function(){z(this,this.J&this.ma);this.A-=this.B.xc},function(){z(this,this.C&this.ma);this.A-=this.B.xc},function(){z(this,x(this)-this.nd&this.ma);this.A-=this.B.xc},function(){z(this,this.H&this.ma);this.A-=this.B.xc},function(){z(this,this.F&this.ma);this.A-=this.B.xc},function(){z(this,this.D&this.ma);this.A-=this.B.xc},function(){this.G=this.G&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.I=this.I& +~this.ma|this.Ka();this.A-=this.B.rc},function(){this.J=this.J&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.C=this.C&~this.ma|this.Ka();this.A-=this.B.rc},function(){y(this,x(this)&~this.ma|this.Ka());this.A-=this.B.rc},function(){this.H=this.H&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.F=this.F&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.D=this.D&~this.ma|this.Ka();this.A-=this.B.rc},eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg, +qg,rg,sg,tg,ug,function(){this.fd[this.Y()].call(this,Eg,this.K);this.A-=0>this.La?1:this.B.ri},ug,function(){this.fd[this.Y()].call(this,Eg,this.L);this.A-=0>this.La?1:this.B.ri},function(){this.vd[this.Y()].call(this,Qf)},function(){this.Oc[this.Y()].call(this,Rf)},function(){this.wd[this.Ih=this.Y()].call(this,Sf)},function(){this.Gb[this.Ih=this.Y()].call(this,Tf)},function(){this.S|=1;this.vd[this.Y()].call(this,Ef)},function(){this.S|=1;this.Oc[this.Y()].call(this,Ef)},function(){this.wd[this.Y()].call(this, +Ef)},function(){this.Gb[this.Y()].call(this,Ef)},function(){var a=this.Y();switch((a&56)>>3){case 0:this.Pb=this.Ia.va;break;case 1:this.Pb=this.pa.va;break;case 2:this.Pb=this.xa.va;break;case 3:this.Pb=this.Xa.va;break;default:U.call(this);return}this.S|=1;this.Oc[a].call(this,Ff)},function(){this.S|=1;this.tb=this.bd=this.un;this.Gb[this.Y()].call(this,Bf)},function(){var a,b=this.Y(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| +80386==this.za&&4!=c&&5!=c){Ud.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=x(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.Gb[b].call(this,Ef);switch(c){case 0:Ie(this,this.G);this.G=a;break;case 1:Ge(this,this.I);this.I=a;break;case 2:Kd(this,this.J);this.J=a;break;case 3:He(this,this.C);this.C=a;break;case 4:Ie(this,x(this));y(this,a);break;case 5:Ge(this,this.H);this.H=a;break;case 6:Kd(this,this.F);this.F=a;break;case 7:He(this,this.D),this.D=a}}, +function(){this.S|=1;this.fd[this.Y()].call(this,Fg,this.Ka)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=x(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= +2==this.nd?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.nd?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.hm},function(){tf.call(this,this.K(),this.K());this.A-=this.B.km},function(){this.Wa("WAIT not implemented",1);this.A--},function(){z(this,Gb(this));this.A-=this.B.xc},function(){Id(this,this.Ka());this.A-=this.B.rc},function(){var a=this.G>>8;a&Pb?Ve(this):Qe(this);a&Ob?Le(this)||(this.W^=1):Le(this)&&(this.W^=1);a&Nb?We(this): +Re(this);a&Mb?Xe(this):Se(this);a&Lb?Ye(this):Te(this);this.A-=this.B.Nb},function(){this.G=this.G&255|(Gb(this)&pd)<<8;this.A-=this.B.Nb},function(){var a=this.G&-256,b;b=this.K();b=this.Ra(this.tb.Hc(b,0));this.G=a|b;this.A-=this.B.hk},function(){this.G=this.G&~this.ma|Md(this,this.tb,this.K());this.A-=this.B.hk},function(){var a=this.K(),b=this.G;this.td(this.tb.jc(a,0),b);this.A-=this.B.ik},function(){var a=this.K(),b=this.G;this.Ma(this.tb.jc(a,1),b);this.A-=this.B.ik},function(){var a=1,b=0, +c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-1:1,e=this.Ra(this.tb.Hc(this.F,0));this.td(this.Ia.jc(this.D&this.ka,0),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-2:2,e=Md(this,this.tb,this.F);this.Ma(this.Ia.jc(this.D& +this.ka,1),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-1:1,e=af(this,this.tb,this.F&this.ka),f=cf(this,this.Ia,this.D&this.ka);uf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da& +64)&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-2:2,e=bf(this,this.tb,this.F&this.ka),f=df(this,this.Ia,this.D&this.ka);vf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da&64)&&(this.la=this.Ob,this.S|=256)}},function(){this.Q=this.W=this.ia=this.G&this.Y();this.V=256;this.A-=this.B.of}, +function(){this.Q=this.W=this.ia=this.G&this.K();this.V=65536;this.A-=this.B.of},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.Ma(this.Ia.jc(this.D& +this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-=this.B.ck));a--&&(this.G=this.G&-256|this.Ra(this.tb.Hc(this.F&this.ka,0)),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka,this.A-=c,this.I-=b,a&&(this.la=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-= +this.B.ck));a--&&(this.G=Md(this,this.tb,this.F&this.ka),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka,this.A-=c,this.I-=b,a&&(this.la=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(uf.call(this,this.G&255,cf(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.la=this.Ob,this.S|=256))},function(){var a= +1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(vf.call(this,this.G,df(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.la=this.Ob,this.S|=256))},function(){this.G=this.G&-256|this.Y();this.A-=this.B.Nb},function(){this.I=this.I&-256|this.Y();this.A-=this.B.Nb},function(){this.J=this.J&-256|this.Y();this.A-=this.B.Nb},function(){this.C=this.C&-256|this.Y(); +this.A-=this.B.Nb},function(){this.G=this.G&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.I=this.I&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.J=this.J&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.C=this.C&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.G=this.G&~this.ma|this.K();this.A-=this.B.Nb},function(){this.I=this.I&~this.ma|this.K();this.A-=this.B.Nb},function(){this.J=this.J&~this.ma|this.K();this.A-=this.B.Nb},function(){this.C=this.C&~this.ma|this.K();this.A-=this.B.Nb}, +function(){y(this,x(this)&~this.ma|this.K());this.A-=this.B.Nb},function(){this.H=this.H&~this.ma|this.K();this.A-=this.B.Nb},function(){this.F=this.F&~this.ma|this.K();this.A-=this.B.Nb},function(){this.D=this.D&~this.ma|this.K();this.A-=this.B.Nb},yg,zg,yg,zg,function(){this.Gb[this.Y()].call(this,Cf)},function(){this.Gb[this.Y()].call(this,Af)},function(){this.S|=1;this.Ue[this.Y()].call(this,Gg,this.Y)},function(){this.S|=1;this.fd[this.Y()].call(this,Gg,this.K)},Ag,Bg,Ag,Bg,function(){hf.call(this, +3,null,this.B.Bm)},function(){var a=this.Y();ye(this,a)?hf.call(this,a,null,0):this.A--},function(){Pe(this)?hf.call(this,4,null,this.B.Cm):this.A-=this.B.Dm},function(){this.A-=this.B.zm;if(this.gc&1&&this.wa&16384){var a=this.ja(this.cb.ta+0);Hd.call(this.pa,a,!1)}else{var a=this.pa.ab,b=this.Ka(),c=this.Ka(),d=this.Ka();null!=Jd(this,b,c,!1)&&(Id(this,d,a),this.Cg&&Ce(this,this.la))}},function(){this.Ue[this.Y()].call(this,wg,Xf)},function(){this.fd[this.Y()].call(this,xg,Xf)},function(){this.Ue[this.Y()].call(this, +wg,Yf)},function(){this.fd[this.Y()].call(this,xg,Yf)},function(){var a=this.Y(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.V=256;this.Q=this.W=b;this.A-=this.B.em},function(){var a=this.Y();this.Q=this.W=this.G=(this.G>>8)*a+this.G&255;this.V=256;this.A-=this.B.dm},function(){this.G=this.G&-256|(Ke(this)?255:0);this.A-=2},function(){this.G=this.G&-256|af(this,this.tb,this.C+(this.G&255)&65535);this.A-=this.B.cn},Cg,Cg,Cg,Cg,Cg,Cg,Cg,Cg,function(){var a=this.L();(this.I=this.I-1&this.ka)&&this.Q&this.V- +1?(F(this,w(this)+a),this.A-=this.B.Km):this.A-=this.B.ek},function(){var a=this.L();!(this.I=this.I-1&this.ka)||this.Q&this.V-1?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.L();(this.I=this.I-1&this.ka)?(F(this,w(this)+a),this.A-=this.B.Jm):this.A-=this.B.ek},function(){var a=this.L();this.I?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.Y();this.G=this.G&-256|cc(this.ha,a,this.la-2);this.A-=this.B.Zj},function(){var a=this.Y();this.G= +cc(this.ha,a,this.la-2);this.G|=cc(this.ha,a+1&65535,this.la-2)<<8;this.A-=this.B.Zj},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.la-2);this.A-=this.B.nk},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.la-2);gc(this.ha,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.nk},function(){var a=this.K();z(this,w(this));F(this,w(this)+a);this.A-=this.B.im},function(){var a=this.K();F(this,w(this)+a);this.A-=this.B.$j},function(){Jd(this,this.K(),this.K());this.A-=this.B.Fm},function(){var a= +this.L();F(this,w(this)+a);this.A-=this.B.$j},function(){this.G=this.G&-256|cc(this.ha,this.J,this.la-1);this.A-=this.B.Yj},function(){this.G=cc(this.ha,this.J,this.la-1);this.G|=cc(this.ha,this.J+1&65535,this.la-1)<<8;this.A-=this.B.Yj},function(){gc(this.ha,this.J,this.G&255,this.la-1);this.A-=this.B.mk},function(){gc(this.ha,this.J,this.G&255,this.la-1);gc(this.ha,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.mk},Dg,Dg,function(){this.S|=132;this.A-=this.B.Ie},function(){this.S|=68;this.A-= +this.B.Ie},function(){this.wb|=4;this.A-=2;this.Z&&ff(this.Z)?(Je(this),this.lb()):this.wa&Jb||(this.Z&&Je(this),this.lb())},function(){Ke(this)?Qe(this):Ve(this);this.A-=2},function(){this.Pb=-1;this.Ue[this.Y()].call(this,Hg,$f);0<=this.Pb&&(this.G=this.Pb)},function(){this.Pb=-1;this.fd[this.Y()].call(this,Ig,$f);0<=this.Pb&&(this.G=this.Pb,this.J=this.ph)},function(){this.Q&=~this.V;this.A-=2},function(){this.Q|=this.V;this.A-=2},function(){this.wa&=~Jb;this.A-=this.B.gm},function(){this.wa|= +Jb;this.S|=4;this.A-=2},function(){this.wa&=~Ib;this.A-=2},function(){this.wa|=Ib;this.A-=2},function(){this.Ue[this.Y()].call(this,Rd,$f)},function(){this.fd[this.Y()].call(this,Sd,$f)}],vg=[nf,Gf,lf,Jf,pf,Of,Uf,uf],Eg=[of,Hf,mf,Nf,qf,Pf,Vf,vf],Fg=[function(a,b){this.A-=0>this.La?this.B.rc:this.B.Vm;return b},ag,ag,ag,ag,ag,ag,ag],Gg=[function(a,b){this.A-=0>this.La?this.B.Nm:this.B.Lm;return b},bg,bg,bg,bg,bg,bg,bg],wg=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;Wf.call(this, +d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);Wf.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.gg)%9)?(d=a<>9-d,c=d&255):d=a|(this.Q&this.V?1:0)<<8;Wf.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.gg)%9,c=a>>c|(this.Q&this.V?1:0)<<8-c|a<<9-c,Wf.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255},bg,function(a,b){if(b){8>24>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255}],xg=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;Wf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536); +Wf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.gg)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Q&this.V?1:0)<<16;Wf.call(this,d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.gg)%17,c=a>>c|(this.Q&this.V?1:0)<<16-c|a<<17-c,Wf.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.Q=this.W=c>>1;this.Q=c& +1?this.Q|65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535},bg,function(a,b){if(b){16>16>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535}],Hg=[function(a,b){b=this.Y();this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},bg,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^255},function(a,b){b=0;this.ia=a^b;this.V=256;this.A-=0>this.ca? +this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&255},function(a){this.G=this.Pb=(this.Q=(this.G&255)*a)&65535;this.ia=this.W=this.Q;this.V=256;this.G&65280?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.Rm:this.B.Qm;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Pb=b&65535;this.Q=this.ia=this.W=b;this.V=256;127b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.wm:this.B.vm;this.S|=2;return a},function(a){if(!a)return cg.call(this), +a;var b=this.G/a;if(255this.ca?this.B.om:this.B.nm;this.S|=2;return a},function(a){if(!a)return cg.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return cg.call(this),a;this.Pb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.ia=this.Q=b|256;this.V=256;this.A-=0>this.ca?this.B.sm:this.B.rm;this.S|=2;return a}],Ig=[function(a,b){b=this.K();this.Q=this.W= +this.ia=a&b;this.V=65536;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},bg,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^65535},function(a,b){b=0;this.ia=a^b;this.V=65536;this.A-=0>this.ca?this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&65535},function(a){this.Pb=this.G=(this.Q=this.G*a)&65535;this.ph=this.J=this.Q>>16&65535;this.ia=this.W=this.Q;this.V=65536;this.J?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.Tm:this.B.Sm;this.S|=2;return a},function(a){var b= +(this.G<<16>>16)*(a<<16>>16);this.G=this.Pb=b&65535;this.J=this.ph=b>>16&65535;this.Q=this.ia=this.W=b;this.V=65536;32767b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.ym:this.B.xm;this.S|=2;return a},function(a,b){if(!a)return cg.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return cg.call(this),a;this.Pb=this.G=c&65535;this.ph=this.J=b%a&65535;this.W=this.ia=this.Q=c|65536;this.V=65536;this.A-=0>this.ca?this.B.qm:this.B.pm;this.S|=2;return a}, +function(a,b){if(!a)return cg.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return cg.call(this),a;this.Pb=this.G=d&65535;this.ph=this.J=b%c&65535;this.W=this.ia=this.Q=d|65536;this.V=65536;this.A-=0>this.ca?this.B.um:this.B.tm;this.S|=2;return a}],Rd=[function(a){this.ia=a;a=(this.W=a+1)&255;this.Q=a|(this.Q&this.V?1:0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&255;this.Q=a|(this.Q&this.V?1: +0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},bg,bg,bg,bg,bg,bg],Sd=[function(a){this.ia=a;a=(this.W=a+1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){z(this,w(this));F(this,a);this.A-=0>this.ca?this.B.mm:this.B.lm;this.S|=2;return a},function(a){if(0>this.ca)return bg.call(this, +a);tf.call(this,a,this.ja(this.ca+2));this.A-=this.B.jm;this.S|=2;return a},function(a){F(this,a);this.A-=0>this.ca?this.B.Hm:this.B.Gm;this.S|=2;return a},function(a){if(0>this.ca)return bg.call(this,a);Jd(this,a,this.ja(this.ca+2));this.Cg&&Ce(this,this.la);this.A-=this.B.Em;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.ca?this.B.xc:this.B.Xm;this.S|=2;return a},ag],le=[function(){var a=this.Y();16>(a&56)&&(this.S|=1);this.fd[a].call(this, +this.dl,$f)},function(){var a=this.Y();a&16||(this.S|=1);this.fd[a].call(this,Jg,$f)},function(){this.Gb[this.Y()].call(this,zf)},function(){this.Gb[this.Y()].call(this,Df)},U,function(){this.pa.ab?wd.call(this,13,0,!0):($e(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),Ld(this.Ia,2102,this.ja(2084)),Ld(this.pa,2108,this.ja(2082)),Ld(this.xa,2114,this.ja(2080)),Ld(this.Xa,2120,this.ja(2078)), +Id(this,this.ja(2072)),F(this,this.ja(2074)),y(this,this.ja(2092)),this.Dc=this.ja(2126)|this.Ra(2128)<<16,this.Ve=this.Dc+this.ja(2130),Ld(this.ad,2132,this.ja(2076)),this.Rc=this.ja(2138)|this.Ra(2140)<<16,this.We=this.Rc+this.ja(2142),Ld(this.cb,2144,this.ja(2070)),this.A-=195)},function(){this.pa.ab?wd.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},U,U,U,U,Ud,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U, +U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],De=[function(){this.A-=2+(0>this.ca?0:1);return this.ad.va},function(){this.A-=2+(0>this.ca?0:1);return this.cb.va},function(a){this.S|=2;this.ad.load(a); +this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.cb.load(a)!=u&&(this.Ma(this.cb.Od+4,this.cb.nb|=512),this.cb.type=768);this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a,!0)!=u&&2048!=(this.Tb.nb&2560)&&(this.Tb.pc>=this.pa.ab&&this.Tb.pc>=(a&3)||7168==(this.Tb.nb&7168)))return Xe(this),a;Se(this);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a,!0)!=u&&512==(this.Tb.nb&2560)&&this.Tb.pc>=this.pa.ab&& +this.Tb.pc>=(a&3))return Xe(this),a;Se(this);return a},bg,bg],Td=[ke,ke,ke,ke,ke,ke,bg,bg],Jg=[function(a){0>this.ca?Ud.call(this):(a=this.Ve-this.Dc,this.Ma(this.ca+2,this.Dc),this.Ma(this.ca+4,65280|this.Dc>>16),this.A-=11);return a},function(a){0>this.ca?Ud.call(this):(a=this.We-this.Rc,this.Ma(this.ca+2,this.Rc),this.Ma(this.ca+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ca?Ud.call(this):(this.Dc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.Ve=this.Dc+a,this.S|=2,this.A-=11); +return a},function(a){0>this.ca?Ud.call(this):(this.Rc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.We=this.Rc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ca?0:1);return this.gc},bg,function(a){$e(this,a);this.A-=0>this.ca?3:6;this.S|=2;return a},bg],A=[function(a){a=a.call(this,this.G&255,G(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this, +this.G&255,H(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.F));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.D));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.ua},function(a){a=a.call(this,this.G&255,G(this,this.C)); +this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.F));this.I=this.I& +-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.D));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.ua},function(a){a=a.call(this,this.I&255,G(this,this.C));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.ba}, +function(a){a=a.call(this,this.J&255,H(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.F));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.D));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.K()));this.J=this.J&-256|a;this.A-=this.B.ua},function(a){a=a.call(this, +this.J&255,G(this,this.C));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255, +G(this,this.F));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.D));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.ua},function(a){a=a.call(this,this.C&255,G(this,this.C));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D));this.G= +this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this,this.F));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.K()));this.G=this.G&255|a<<8;this.A-= +this.B.ua},function(a){a=a.call(this,this.G>>8,G(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D));this.I=this.I&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D));this.I=this.I&255|a<<8;this.A-=this.B.aa}, +function(a){a=a.call(this,this.I>>8,G(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.K()));this.I=this.I&255|a<<8;this.A-=this.B.ua},function(a){a=a.call(this,this.I>>8,G(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, +this.J>>8,G(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,G(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this, +this.K()));this.J=this.J&255|a<<8;this.A-=this.B.ua},function(a){a=a.call(this,this.J>>8,G(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D)); +this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,G(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.K()));this.C=this.C&255|a<<8;this.A-=this.B.ua},function(a){a=a.call(this,this.C>>8,G(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.L()));this.G=this.G&-256| +a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.L())); +this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this, +this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this, +this.I&255,G(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O}, +function(a){a=a.call(this,this.J&255,G(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.L()));this.C=this.C&-256|a;this.A-= +this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.L()));this.C= +this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+ +this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>> +8,G(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O}, +function(a){a=a.call(this,this.I>>8,G(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.L()));this.J=this.J&255|a<<8;this.A-= +this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.L()));this.J= +this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+ +this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>> +8,G(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a= +a.call(this,this.G&255,G(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a= +a.call(this,this.I&255,G(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.D+this.K()));this.I=this.I&-256|a;this.A-= +this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.K()));this.J= +this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.K())); +this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C& +255,G(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this, +this.G>>8,G(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M}, +function(a){a=a.call(this,this.G>>8,H(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.K()));this.I=this.I& +255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.K())); +this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this, +this.J>>8,G(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a= +a.call(this,this.C>>8,G(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.K()));this.C=this.C&255|a<<8;this.A-= +this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a= +a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this, +this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255, +this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I&255); +this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G& +255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255| +a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255| +a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255| +a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255| +a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],se=[function(a){a=a.call(this,L(this,this.C+this.F),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a= +a.call(this,O(this,this.H+this.D),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.G&255);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I&255);S(this,a);this.A-=this.B.aa},function(a){a= +a.call(this,L(this,this.C+this.D),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I&255);S(this,a);this.A-=this.B.ua},function(a){a= +a.call(this,L(this,this.C),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.J&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J&255);S(this,a);this.A-=this.B.T}, +function(a){a=a.call(this,L(this,this.D),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J&255);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C&255);S(this,a);this.A-= +this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C&255);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.G>>8);S(this,a);this.A-= +this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.G>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.G>>8);S(this,a);this.A-= +this.B.ua},function(a){a=a.call(this,L(this,this.C),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.I>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.I>>8);S(this, +a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I>>8);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.J>>8);S(this, +a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J>>8);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.C>>8);S(this,a); +this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C>>8);S(this, +a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a= +a.call(this,L(this,this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I& +255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a= +a.call(this,L(this,this.C+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+ +this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C&255);S(this,a);this.A-= +this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this, +this.C+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.G>>8); +S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a= +a.call(this,O(this,this.H+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.I>> +8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,L(this,this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+ +this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.C>>8);S(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, +L(this,this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I& +255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a= +a.call(this,L(this,this.C+this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+ +this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C&255);S(this,a); +this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, +L(this,this.C+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.G>> +8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a= +a.call(this,O(this,this.H+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.J>> +8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a= +a.call(this,O(this,this.H+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()), +this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249], +A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238],A[246],A[254],A[199],A[207],A[215],A[223],A[231],A[239],A[247],A[255]],te=[function(a,b){var c=a[0].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,L(this,this.C+this.D),b.call(this)); +S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua}, +function(a,b){var c=a[0].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a, +b){var c=a[1].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[1].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,L(this, +this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.K()),b.call(this)); +S(this,c);this.A-=this.B.ua},function(a,b){var c=a[2].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));S(this,c); +this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[3].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a, +b){var c=a[4].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this, +L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[4].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+ +this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[5].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.C+this.F),b.call(this));S(this,c); +this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T}, +function(a,b){var c=a[6].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[6].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c= +a[7].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[7].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+ +this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this, +L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c= +a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a, +b){var c=a[1].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this, +c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.L()),b.call(this)); +S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+ +this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this, +O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c= +a[4].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-= +this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this, +c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.L()), +b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this, +this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this, +L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a, +b){var c=a[0].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O}, +function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.K()),b.call(this));S(this, +c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.K()), +b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+ +this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c= +a[3].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a, +b){var c=a[4].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-= +this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.K()),b.call(this)); +S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.K()),b.call(this)); +S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this, +this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this, +L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a, +b){var c=a[7].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C= +this.C&-256|c},function(a,b){var c=a[0].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I& +-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<< +8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a, +b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c= +a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this, +this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G& +255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this)); +this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G= +this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J& +-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],D=[function(a){this.G=a.call(this,this.G,I(this,this.C+this.F));this.A-=this.B.aa}, +function(a){this.G=a.call(this,this.G,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,I(this,this.F));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.D));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.K()));this.A-=this.B.ua},function(a){this.G=a.call(this,this.G,I(this, +this.C));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.F));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.D));this.A-=this.B.T},function(a){this.I= +a.call(this,this.I,I(this,this.K()));this.A-=this.B.ua},function(a){this.I=a.call(this,this.I,I(this,this.C));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this,this.F)); +this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.D));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.K()));this.A-=this.B.ua},function(a){this.J=a.call(this,this.J,I(this,this.C));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.C=a.call(this, +this.C,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.F));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.D));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.K()));this.A-=this.B.ua},function(a){this.C=a.call(this,this.C,I(this,this.C));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D)));this.A-=this.B.ba}, +function(a){y(this,a.call(this,x(this),K(this,this.H+this.F)));this.A-=this.B.ba},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.F)));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.D)));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.K())));this.A-=this.B.ua},function(a){y(this,a.call(this,x(this),I(this,this.C)));this.A-=this.B.T},function(a){this.H=a.call(this,this.H, +I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.F));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.D));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.K()));this.A-=this.B.ua}, +function(a){this.H=a.call(this,this.H,I(this,this.C));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.F));this.A-=this.B.T},function(a){this.F=a.call(this,this.F, +I(this,this.D));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.K()));this.A-=this.B.ua},function(a){this.F=a.call(this,this.F,I(this,this.C));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D));this.A-=this.B.aa}, +function(a){this.D=a.call(this,this.D,I(this,this.F));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.D));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.K()));this.A-=this.B.ua},function(a){this.D=a.call(this,this.D,I(this,this.C));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G, +K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this, +this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I, +K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this, +this.J,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C, +K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this), +I(this,this.C+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this, +a.call(this,x(this),K(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.H= +a.call(this,this.H,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this, +this.F,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D, +I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this, +this.D,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.G= +a.call(this,this.G,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this, +this.I,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J, +I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this, +this.J,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.C= +a.call(this,this.C,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.K())));this.A-=this.B.P},function(a){y(this, +a.call(this,x(this),K(this,this.H+this.F+this.K())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),K(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H= +a.call(this,this.H,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H= +a.call(this,this.H,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.F= +a.call(this,this.F,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this, +this.D,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G, +this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G=a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,x(this))},function(a){this.G=a.call(this,this.G,this.H)},function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this,this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this, +this.I,this.C)},function(a){this.I=a.call(this,this.I,x(this))},function(a){this.I=a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this,this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J=a.call(this,this.J,x(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J= +a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C=a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C=a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,x(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C=a.call(this,this.C,this.D)},function(a){y(this,a.call(this,x(this),this.G))}, +function(a){y(this,a.call(this,x(this),this.I))},function(a){y(this,a.call(this,x(this),this.J))},function(a){y(this,a.call(this,x(this),this.C))},function(a){y(this,a.call(this,x(this),x(this)))},function(a){y(this,a.call(this,x(this),this.H))},function(a){y(this,a.call(this,x(this),this.F))},function(a){y(this,a.call(this,x(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H,this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H= +a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,x(this))},function(a){this.H=a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F=a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this,this.F,x(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F= +a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D=a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D=a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,x(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D=a.call(this,this.D,this.D)}],ue=[function(a){a=a.call(this,P(this,this.C+this.F), +this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.G);T(this, +a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.I);T(this,a);this.A-= +this.B.T},function(a){a=a.call(this,P(this,this.D),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.I);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.J);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.J);T(this,a);this.A-=this.B.ba},function(a){a= +a.call(this,R(this,this.H+this.D),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.J);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.C);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+ +this.D),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.C);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.C);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.C);T(this, +a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),x(this));T(this,a); +this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),x(this));T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.H);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.H);T(this,a);this.A-= +this.B.aa},function(a){a=a.call(this,P(this,this.F),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.H);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.F);T(this,a);this.A-=this.B.ba},function(a){a= +a.call(this,R(this,this.H+this.F),this.F);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.F);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+ +this.F),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.D);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.D);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.D); +T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this, +P(this,this.F+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.I);T(this,a);this.A-=this.B.P}, +function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.I); +T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, +P(this,this.D+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.C);T(this,a);this.A-= +this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()), +x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a= +a.call(this,R(this,this.H+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.H); +T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+ +this.D+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a= +a.call(this,P(this,this.C+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.D); +T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this, +this.H+this.F+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a= +a.call(this,P(this,this.C+this.F+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.I); +T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this, +R(this,this.H+this.D+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.C);T(this,a);this.A-=this.B.O}, +function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()), +this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a= +a.call(this,P(this,this.F+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.H);T(this,a); +this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+ +this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.F);T(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,P(this,this.D+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()), +this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.D);T(this,a);this.A-=this.B.M},D[192],D[200],D[208],D[216], +D[224],D[232],D[240],D[248],D[193],D[201],D[209],D[217],D[225],D[233],D[241],D[249],D[194],D[202],D[210],D[218],D[226],D[234],D[242],D[250],D[195],D[203],D[211],D[219],D[227],D[235],D[243],D[251],D[196],D[204],D[212],D[220],D[228],D[236],D[244],D[252],D[197],D[205],D[213],D[221],D[229],D[237],D[245],D[253],D[198],D[206],D[214],D[222],D[230],D[238],D[246],D[254],D[199],D[207],D[215],D[223],D[231],D[239],D[247],D[255]],ve=[function(a,b){var c=a[0].call(this,P(this,this.C+this.F),b.call(this));T(this, +c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T}, +function(a,b){var c=a[0].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[0].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c= +a[1].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[1].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.C+this.F), +b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.D),b.call(this));T(this, +c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[2].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba}, +function(a,b){var c=a[3].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[3].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this, +P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.D), +b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[4].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.F),b.call(this));T(this, +c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[5].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a, +b){var c=a[6].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c= +a[6].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[6].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this, +this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[7].call(this,P(this,this.C),b.call(this)); +T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this, +this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this, +P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a, +b){var c=a[1].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-= +this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.L()),b.call(this));T(this, +c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+ +this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this, +this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c= +a[4].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P}, +function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-= +this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.L()), +b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+ +this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this, +R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a, +b){var c=a[0].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M}, +function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.K()),b.call(this)); +T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.K()), +b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this, +this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c= +a[3].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a, +b){var c=a[4].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.K()),b.call(this));T(this, +c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.K()),b.call(this)); +T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.K()), +b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this, +R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this, +P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a, +b){var c=a[7].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this, +this.C,b.call(this))},function(a,b){y(this,a[0].call(this,x(this),b.call(this)))},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this, +a[1].call(this,x(this),b.call(this)))},function(a,b){this.H=a[1].call(this,this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,x(this),b.call(this)))}, +function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,x(this),b.call(this)))},function(a,b){this.H=a[3].call(this, +this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,x(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F= +a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,x(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))}, +function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,x(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this, +this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,x(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}]; +function Kg(a){p.call(this,"ChipSet",a,Kg,16384);this.za=(this.za=a.model)?parseInt(this.za,10):Lg;this.hc=0;var b=a.sw1;if(b)this.hc=Mg(b,Ng|Og.Cn);else{this.le=[360,360];(b=a.floppies)&&b.length&&(this.le=b);if(b=this.le.length)this.hc|=Pg.Li,b--,this.hc|=(b&3)<=Qg&&(this.Oh=this.Dg=2);this.Be=a.scaleTimers||!1;this.Bq=a.rtcDate; +this.Il=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.hj=new window.webkitAudioContext);this.reset(!0);ib(this)}Xa(p,Kg);var Lg=5150,Qg=5170,Rg={none:0,tv:1,color:2,mono:3,ega:0},Pg={Li:1,ONE:0,rr:64,pr:128,Pq:192,og:192,pg:6},Ng=12,Og={qr:16,Hq:32,Cn:48,og:48,pg:4};k=Kg.prototype; +k.Fb=function(a,b,c){switch(b){case "sw1":return this.ra[b]=c,Sg(this,b,c,this.hc,{0:this.za==Lg?"Bootable Floppy Drive":"Loop on POST",1:this.za==Lg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Lg)return this.ra[b]=c,Sg(this,b,c,this.Qe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[b]=c,!0}return!1}; +k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.Ga=sb(a,"Keyboard");this.ui=c.U.Fd/1193181;bc(b,this,Tg);fc(b,this,Ug);this.zab;b++){var c=13>=b?ah(e,b):e.ea[b];a&&(a+="\n");a+="CMOS[0x"+m(b)+"]: 0x"+m(c)}e.Z.R(a)})}xe(c,26,this,this.ip)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0}; +k.reset=function(a){var b;this.ud=this.hc;this.yf=this.Qe;bh(this);this.mb=Array(this.Oh);for(b=0;b=Qg){this.ob=16;this.Qd=0;this.Pd=16;this.Fh=0;this.Xe=160;512<=fh(this)&&(this.Xe|=16);3==gh(this)&&(this.Xe|=64);this.Xi=3;this.xg=0;this.zh=Array(7);this.Ye=0;a&&(this.ea=Array(64));hh(this, +this.Bq);for(a=21;24>=a;a++)this.ea[a]=0;for(a=14;46>a;a++)void 0===this.ea[a]&&(this.ea[a]=0);this.ea[20]=this.ud&(Og.og|2|Pg.Li|Pg.og);this.ea[16]=ih(this,0)<<4|ih(this,1);jh(this)}}; +function hh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.R("CMOS date invalid ("+b+"), using "+c)):b&&a.R("CMOS date: "+c);a.ea[0]=c.getSeconds();a.ea[1]=0;a.ea[2]=c.getMinutes();a.ea[3]=0;a.ea[4]=c.getHours();a.ea[5]=0;a.ea[6]=c.getDay()+1;a.ea[7]=c.getDate();a.ea[8]=c.getMonth()+1;c=c.getFullYear();a.ea[9]=c%100;c/=100;a.ea[50]=c%10|c/10<<4;a.ea[10]=38;a.ea[11]=2;a.ea[12]=0;a.ea[13]=128;a.kh=a.fg=0;a.dn=a.si=null} +function ah(a,b){var c=a.ea[b];if(10>b){var d=!1;4!=b&&5!=b||a.ea[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ea[11]&4||(d&&128c;c++)b+=a.ea[c];a.ea[47]=b&255;a.ea[46]=b>>8} +k.save=function(){var a=new Ee(this);a.set(0,[this.hc,this.Qe,this.ud,this.yf]);for(var b=[],c=0;c=Qg&&(a.set(5,[this.ob,this.Qd,this.Pd,this.Fh,this.Xe,this.Xi]),a.set(6,[this.xg,this.zh,this.Ye,this.ea,this.kh,this.fg]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.Qe=b[1];this.ud=b[2];this.yf=b[3];b=a[1];for(c=0;c>2)+1)*a.jp+32*((b?a.Qe:a.yf)&15)}function rh(a,b){var c=b?a.hc:a.ud;return a.za!=Lg||c&Pg.Li?((c&Pg.og)>>Pg.pg)+1:0} +function ih(a,b){if(b>Og.pg} +function Sg(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=cb(c,"pcjs-bitCell");c=null;for(g=0;gg.$a[0]&&(g.$a[0]=255,g.$a[1]--,0>g.$a[1]&&(g.$a[1]=255)));return h}function wh(a,b,c,d,e,f){var g=a.mb[b];a.oa(384)&&q(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.pb+"]",null,!0);a=g.Qb[c];a.$a[g.pb]=a.kc[g.pb]=e;g.pb^=1}function xh(a,b,c,d){var e=a.mb[b],f=e.te|1;e.te&=-16;a.oa(384)&&q(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} +function yh(a,b,c,d,e){var f=a.mb[b];a.oa(384)&&q(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.te=f.te&~(16<>2].Qb[b&3],c,d,e)} +function Ah(a,b,c){b=a.mb[b>>2].Qb[b&3];b.Sh&&b.Aj&&b.vi?(c&&(b.Uh=c),b.$d||jf(a,b,!0)):c&&c(!0)}function jf(a,b,c){c&&(b.count=b.$a[1]<<8|b.$a[0],b.yn=b.mode&12,b.Kl=b.pd=!1);for(var d=!1;0<=b.count&&(c=b.Lh<<16|b.fb[1]<<8|b.fb[0],4==b.yn?(d=!0,function(c){b.Aj.call(b.Sh,b.vi,-1,function(f,g){0>f&&(b.Kl||(b.Kl=!0),f=255);b.$d||a.ha.td(c,f);(d=g)&&setTimeout(function(){Ih(b)||jf(a,b)},0)})}(c)):8==b.yn?(c=a.ha.Ra(c),0>b.Aj.call(b.Sh,b.vi,c)&&(b.pd=!0)):b.pd=!0),!d&&!Ih(b););} +function Ih(a){if(!a.pd&&0<=--a.count&&(a.mode&32?(a.fb[0]--,0>a.fb[0]&&(a.fb[0]=255,a.fb[1]--,0>a.fb[1]&&(a.fb[1]=255))):(a.fb[0]++,255>3];b=1<<(b&7);d.Sb&b||(d.Sb|=b,d.dg=c||0,Lh(a))} +function Ph(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Sb&d&&(c.Sb&=~d,Lh(a))}function Lh(a,b){var c,d=-1;1>=1),dd(a.N,c))),2==b&&jd(a))}k=Kg.prototype; k.bp=function(a,b){q(this,a,null,b,"TIMER_CTRL",null,1024);return null}; -k.pq=function(a,b,c){this.bj=b;q(this,a,b,c,"TIMER_CTRL",null,1024);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Jb[a];e.Ci=b;e.mode=d;e.ol=c;e.kc=[0,0];e.$a=[0,0];e.ef=[0,0];e.Ed=!1;e.Og=!1;e.jf=!1;Qh(this,a);0==a&&Oh(this,0);2==a&&255==this.Vb[0].yd&&77==this.Fc&&(a=this.Jb[0],a.Ic[0]=a.kc[0],a.Ic[1]=a.kc[1],a.sd=Yc(this.N,this.Be))}else Zg(this,a),b=this.Jb[a],b.ef[0]=b.$a[0],b.ef[1]=b.$a[1],b.Og=!0,Qh(this,a)}}; -function Sh(a,b){var c=a.Jb[b],d=c.kc[1]<<8|c.kc[0];d||(d=1==c.Cd?256:65536);return d}function ld(a,b){var c=a.Jb[b],d=c.Ic[1]<<8|c.Ic[0];d||(d=1==c.Cd?256:65536);return d}function Qh(a,b){var c=a.Jb[b];c.ye=32==c.Ci?1:0;c.Cd=48==c.Ci?2:1} -function Zg(a,b,c){var d=a.Jb[b];if(d.jf&&(2!=b||a.Fc&1)){var e=Yc(a.N,a.Be),f=(e-d.sd)/a.ui|0;0>f&&(d.sd=e,f=0);var g=Sh(a,b),h=ld(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Ed=!0,d.jf=!1,b||Nh(a,0))):4==d.mode?(d.Ed=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Nh(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Ed=!d.Ed,h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Nh(a,0)));d.$a[0]=h&255;d.$a[1]=h>>8;c&&(a.sd=0)}return d} -function kd(a,b){for(var c=0;c=Pg){var c=a.N.U.Fd,d=Yc(a.N,a.Be);null==a.si&&(a.kh=Yc(a.N,a.Be),a.dn=1024,a.si=Math.floor(a.N.U.Fd/a.dn),jh(a));d>=a.eg&&(a.ea[12]|=64,a.ea[11]&64&&(a.ea[12]|=128,Nh(a,8)),a.eg=d+a.si);a.ea[0]==a.ea[1]&&a.ea[2]==a.ea[3]&&a.ea[4]==a.ea[5]&&(a.ea[12]|=32,a.ea[11]&32&&(a.ea[12]|=128,Nh(a,8)));var e=d-a.kh,f=Math.floor(e/c);if(f&&!(a.ea[11]&128)){for(;f--;)if(60<=++a.ea[0]&&(a.ea[0]=0,60<=++a.ea[2]&&(a.ea[2]=0,24<=++a.ea[4]))){a.ea[4]= -0;a.ea[6]=a.ea[6]%7+1;var g;g=a.ea[9];var h=sa[a.ea[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ea[7]>g&&(a.ea[7]=1,12<++a.ea[8]&&(a.ea[8]=1,a.ea[9]=(a.ea[9]+1)%100))}a.ea[12]|=16;a.ea[11]&16&&(a.ea[12]|=128,Nh(a,8))}a.kh=d-e%c}}k.Uo=function(a,b){var c=this.Kh;if(this.zg&16)if(this.Fc&128)c=this.ud;else if(this.Ga){var c=this.Ga,d=0;c.Wb.length&&(d=c.Wb[0]);c.oa()&&c.Wa("scan code 0x"+m(d)+" delivered");c=d}q(this,a,null,b,"PPI_A",c);return c}; -k.iq=function(a,b,c){q(this,a,b,c,"PPI_A");this.Kh=b};k.Vo=function(a,b){var c=this.Fc;q(this,a,null,b,"PPI_B",c);return c};k.jq=function(a,b,c){q(this,a,b,c,"PPI_B");Th(this,b);this.Ga&&Uh(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Th(a,b){var c=!!(b&2),d=!!(a.Fc&2);a.Fc=b;c!=d&&jd(a,c)}k.Wo=function(a,b){var c=0,c=this.za==Kg?this.Fc&4?c|this.xf&15:c|this.xf>>4&1:this.Fc&8?c|this.ud>>4:c|this.ud&15;this.Fc&1&&Zg(this,2).Ed&&(c=this.Fc&2?c|32:c|16);q(this,a,null,b,"PPI_C",c,16448);return c}; -k.kq=function(a,b,c){q(this,a,b,c,"PPI_C");this.$i=b};k.Xo=function(a,b){var c=this.zg;q(this,a,null,b,"PPI_CTRL",c);return c};k.lq=function(a,b,c){q(this,a,b,c,"PPI_CTRL");this.zg=b};k.ko=function(a,b){var c=this.Fh;q(this,a,null,b,"8042_OUTBUFF",c,8192);this.ob&=-258;this.Ga&&Vh(this.Ga);return c}; -k.Ap=function(a,b,c){q(this,a,b,c,"8042_INBUF.DATA",null,8192);if(this.ob&8)switch(this.Qd){case 96:Wh(this,b);break;case 209:Xh(this,b);break;default:if(Wh(this,this.Pd&-17),this.Ga){a=-1;switch(b){case 255:a=250,Yh(this.Ga)}Zh(this,a)}}this.Qd=b;this.ob&=-9};k.lo=function(a,b){var c=this.Fc&-209|(Yc(this.N)&64?16:0);q(this,a,null,b,"8042_RWREG",c,8192);return c};k.Bp=function(a,b,c){q(this,a,b,c,"8042_RWREG",null,8192);Th(this,b)}; +k.pq=function(a,b,c){this.bj=b;q(this,a,b,c,"TIMER_CTRL",null,1024);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Jb[a];e.Ci=b;e.mode=d;e.ol=c;e.kc=[0,0];e.$a=[0,0];e.ef=[0,0];e.Ed=!1;e.Og=!1;e.jf=!1;Rh(this,a);0==a&&Ph(this,0);2==a&&255==this.Vb[0].yd&&77==this.Fc&&(a=this.Jb[0],a.Ic[0]=a.kc[0],a.Ic[1]=a.kc[1],a.sd=Yc(this.N,this.Be))}else $g(this,a),b=this.Jb[a],b.ef[0]=b.$a[0],b.ef[1]=b.$a[1],b.Og=!0,Rh(this,a)}}; +function Th(a,b){var c=a.Jb[b],d=c.kc[1]<<8|c.kc[0];d||(d=1==c.Cd?256:65536);return d}function ld(a,b){var c=a.Jb[b],d=c.Ic[1]<<8|c.Ic[0];d||(d=1==c.Cd?256:65536);return d}function Rh(a,b){var c=a.Jb[b];c.ye=32==c.Ci?1:0;c.Cd=48==c.Ci?2:1} +function $g(a,b,c){var d=a.Jb[b];if(d.jf&&(2!=b||a.Fc&1)){var e=Yc(a.N,a.Be),f=(e-d.sd)/a.ui|0;0>f&&(d.sd=e,f=0);var g=Th(a,b),h=ld(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Ed=!0,d.jf=!1,b||Oh(a,0))):4==d.mode?(d.Ed=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Oh(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Ed=!d.Ed,h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Oh(a,0)));d.$a[0]=h&255;d.$a[1]=h>>8;c&&(a.sd=0)}return d} +function kd(a,b){for(var c=0;c=Qg){var c=a.N.U.Fd,d=Yc(a.N,a.Be);null==a.si&&(a.kh=Yc(a.N,a.Be),a.dn=1024,a.si=Math.floor(a.N.U.Fd/a.dn),kh(a));d>=a.fg&&(a.ea[12]|=64,a.ea[11]&64&&(a.ea[12]|=128,Oh(a,8)),a.fg=d+a.si);a.ea[0]==a.ea[1]&&a.ea[2]==a.ea[3]&&a.ea[4]==a.ea[5]&&(a.ea[12]|=32,a.ea[11]&32&&(a.ea[12]|=128,Oh(a,8)));var e=d-a.kh,f=Math.floor(e/c);if(f&&!(a.ea[11]&128)){for(;f--;)if(60<=++a.ea[0]&&(a.ea[0]=0,60<=++a.ea[2]&&(a.ea[2]=0,24<=++a.ea[4]))){a.ea[4]= +0;a.ea[6]=a.ea[6]%7+1;var g;g=a.ea[9];var h=sa[a.ea[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ea[7]>g&&(a.ea[7]=1,12<++a.ea[8]&&(a.ea[8]=1,a.ea[9]=(a.ea[9]+1)%100))}a.ea[12]|=16;a.ea[11]&16&&(a.ea[12]|=128,Oh(a,8))}a.kh=d-e%c}}k.Uo=function(a,b){var c=this.Kh;if(this.zg&16)if(this.Fc&128)c=this.ud;else if(this.Ga){var c=this.Ga,d=0;c.Wb.length&&(d=c.Wb[0]);c.oa()&&c.Wa("scan code 0x"+m(d)+" delivered");c=d}q(this,a,null,b,"PPI_A",c);return c}; +k.iq=function(a,b,c){q(this,a,b,c,"PPI_A");this.Kh=b};k.Vo=function(a,b){var c=this.Fc;q(this,a,null,b,"PPI_B",c);return c};k.jq=function(a,b,c){q(this,a,b,c,"PPI_B");Uh(this,b);this.Ga&&Vh(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Uh(a,b){var c=!!(b&2),d=!!(a.Fc&2);a.Fc=b;c!=d&&jd(a,c)}k.Wo=function(a,b){var c=0,c=this.za==Lg?this.Fc&4?c|this.yf&15:c|this.yf>>4&1:this.Fc&8?c|this.ud>>4:c|this.ud&15;this.Fc&1&&$g(this,2).Ed&&(c=this.Fc&2?c|32:c|16);q(this,a,null,b,"PPI_C",c,16448);return c}; +k.kq=function(a,b,c){q(this,a,b,c,"PPI_C");this.$i=b};k.Xo=function(a,b){var c=this.zg;q(this,a,null,b,"PPI_CTRL",c);return c};k.lq=function(a,b,c){q(this,a,b,c,"PPI_CTRL");this.zg=b};k.ko=function(a,b){var c=this.Fh;q(this,a,null,b,"8042_OUTBUFF",c,8192);this.ob&=-258;this.Ga&&Wh(this.Ga);return c}; +k.Ap=function(a,b,c){q(this,a,b,c,"8042_INBUF.DATA",null,8192);if(this.ob&8)switch(this.Qd){case 96:Xh(this,b);break;case 209:Yh(this,b);break;default:if(Xh(this,this.Pd&-17),this.Ga){a=-1;switch(b){case 255:a=250,Zh(this.Ga)}$h(this,a)}}this.Qd=b;this.ob&=-9};k.lo=function(a,b){var c=this.Fc&-209|(Yc(this.N)&64?16:0);q(this,a,null,b,"8042_RWREG",c,8192);return c};k.Bp=function(a,b,c){q(this,a,b,c,"8042_RWREG",null,8192);Uh(this,b)}; k.mo=function(a,b){q(this,a,null,b,"8042_STATUS",this.ob,8192);var c=this.ob&255;this.ob&256&&(this.ob|=1,this.ob&=-257);return c}; -k.zp=function(a,b,c){q(this,a,b,c,"8042_INBUFF.CMD",null,8192);this.Qd=b;this.ob|=8;a=0;240<=this.Qd&&(a=this.Qd^15,this.Qd=240);switch(this.Qd){case 192:Zh(this,this.Xe);break;case 173:Wh(this,this.Pd|16);break;case 174:Wh(this,this.Pd&-17);this.Ga&&Vh(this.Ga);break;case 170:this.Ga&&(a=this.Ga,a.Wb=[],a.oa()&&a.Wa("scan codes flushed"));Wh(this,this.Pd|16);Zh(this,85);Xh(this,3);break;case 224:Zh(this,this.Pd&16?0:1);break;case 240:a&1&&pe(this.N)}}; -function Wh(a,b){a.Pd=b;a.ob=a.ob&-5|b&4;a.Ga&&Uh(a.Ga,!!(b&8),!(b&16))}function Zh(a,b){0<=b&&(a.Fh=b,a.ob&=-2,a.ob|=256)}function Xh(a,b){a.Xi=b;Ub(a.ha,!!(b&2));b&1||pe(a.N)}function $h(a,b){a.za=c?$g(this,c):this.ea[c];this.oa(2176)&&q(this,a,null,b,"CMOS.DATA["+m(c)+"]",d,!0);null!=b&&12==c&&(this.ea[c]&=15,d&128&&Oh(this,8),d&64&&this.ea[11]&64&&jh(this));return d}; -k.Qp=function(a,b,c){var d=this.Ye&63;this.oa(2176)&&q(this,a,b,c,"CMOS.DATA["+m(d)+"]",null,!0);a=b^this.ea[d];if(13>=d){if(c=b,10>d){var e=!1;this.ea[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ea[d]=c;11==d&&a&64&&b&64&&jh(this)};k.So=function(a,b){q(this,a,null,b,"MFG_DATA",this.xg);return this.xg};k.fq=function(a,b,c){q(this,a,b,c,"MFG_DATA");this.xg=b}; +k.zp=function(a,b,c){q(this,a,b,c,"8042_INBUFF.CMD",null,8192);this.Qd=b;this.ob|=8;a=0;240<=this.Qd&&(a=this.Qd^15,this.Qd=240);switch(this.Qd){case 192:$h(this,this.Xe);break;case 173:Xh(this,this.Pd|16);break;case 174:Xh(this,this.Pd&-17);this.Ga&&Wh(this.Ga);break;case 170:this.Ga&&(a=this.Ga,a.Wb=[],a.oa()&&a.Wa("scan codes flushed"));Xh(this,this.Pd|16);$h(this,85);Yh(this,3);break;case 224:$h(this,this.Pd&16?0:1);break;case 240:a&1&&pe(this.N)}}; +function Xh(a,b){a.Pd=b;a.ob=a.ob&-5|b&4;a.Ga&&Vh(a.Ga,!!(b&8),!(b&16))}function $h(a,b){0<=b&&(a.Fh=b,a.ob&=-2,a.ob|=256)}function Yh(a,b){a.Xi=b;Ub(a.ha,!!(b&2));b&1||pe(a.N)}function ai(a,b){a.za=c?ah(this,c):this.ea[c];this.oa(2176)&&q(this,a,null,b,"CMOS.DATA["+m(c)+"]",d,!0);null!=b&&12==c&&(this.ea[c]&=15,d&128&&Ph(this,8),d&64&&this.ea[11]&64&&kh(this));return d}; +k.Qp=function(a,b,c){var d=this.Ye&63;this.oa(2176)&&q(this,a,b,c,"CMOS.DATA["+m(d)+"]",null,!0);a=b^this.ea[d];if(13>=d){if(c=b,10>d){var e=!1;this.ea[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ea[d]=c;11==d&&a&64&&b&64&&kh(this)};k.So=function(a,b){q(this,a,null,b,"MFG_DATA",this.xg);return this.xg};k.fq=function(a,b,c){q(this,a,b,c,"MFG_DATA");this.xg=b}; k.hq=function(a,b,c){q(this,a,b,c,"NMI");this.Jh=b};k.Rp=function(a,b,c){q(this,a,b,c,"COPROC.CLEAR")};k.Sp=function(a,b,c){q(this,a,b,c,"COPROC.RESET")}; -k.ip=function(a){if(this.oa(4096)&&ze(this.Z,26,a)){var b=this.N.G>>8;Ae(this.N,a,function(a,d){return function(e){d=Yc(a.N)-d;var f,g=a.N.J&255,h=a.N.J>>8,t=a.N.J&255,r=a.N.J>>8;if(2==b||3==b)f=" CH(hour)="+n(h)+" CL(min)="+m(g)+" DH(sec)="+m(r);else if(4==b||5==b)f=" CX(year)="+n(a.N.I)+" DH(month)="+m(r)+" DL(day)="+m(t);Be(a.Z,26,e,d,f)}}(this,Yc(this.N)))}return!0};function Lg(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Kb[c++]=f[b]>>16&255,this.Kb[c++]=f[b]>>24&255;else this.Kb=d;this.Ri=d.symbols;if(!this.Kb.length){wa("Empty ROM: "+a);return}if(1==this.Kb.length){wa(this.Kb[0]);return}}catch(g){this.Ca("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Kb=Array(a.length),d=0;d>>d.Ja].mg(e&d.Ea,a.Kb[c]&255)}return!0}return!1}Ja(function(){for(var a=cb(window.document,"pcjs","rom"),b=0;bthis.Ch?21:23,c=a.ea[b]|a.ea[b+1]<<8,c=c+(this.ee>>10);a.ea[b]=c&255;a.ea[b+1]=c>>8;ih(a)}}else wa("No RAM allocated")}; -function hi(){this.Gn=ji;this.Hn=ki}var ii=2160066560,ji=255,ki=0;function li(){return this.X.Hn}function mi(a,b){this.X.Gn=b}var ni=[li,li,li,mi,mi,mi];hi.prototype.Nl=function(){return[null,0]};hi.prototype.Cj=function(){return ni};Ja(function(){for(var a=cb(window.document,"pcjs","ram"),b=0;b>8;Ae(this.N,a,function(a,d){return function(e){d=Yc(a.N)-d;var f,g=a.N.J&255,h=a.N.J>>8,t=a.N.J&255,r=a.N.J>>8;if(2==b||3==b)f=" CH(hour)="+n(h)+" CL(min)="+m(g)+" DH(sec)="+m(r);else if(4==b||5==b)f=" CX(year)="+n(a.N.I)+" DH(month)="+m(r)+" DL(day)="+m(t);Be(a.Z,26,e,d,f)}}(this,Yc(this.N)))}return!0};function Mg(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Kb[c++]=f[b]>>16&255,this.Kb[c++]=f[b]>>24&255;else this.Kb=d;this.Ri=d.symbols;if(!this.Kb.length){wa("Empty ROM: "+a);return}if(1==this.Kb.length){wa(this.Kb[0]);return}}catch(g){this.Ca("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Kb=Array(a.length),d=0;d>>d.Ja].mg(e&d.Ea,a.Kb[c]&255)}return!0}return!1}Ja(function(){for(var a=cb(window.document,"pcjs","rom"),b=0;bthis.Ch?21:23,c=a.ea[b]|a.ea[b+1]<<8,c=c+(this.ee>>10);a.ea[b]=c&255;a.ea[b+1]=c>>8;jh(a)}}else wa("No RAM allocated")}; +function ii(){this.Gn=ki;this.Hn=li}var ji=2160066560,ki=255,li=0;function mi(){return this.X.Hn}function ni(a,b){this.X.Gn=b}var oi=[mi,mi,mi,ni,ni,ni];ii.prototype.Nl=function(){return[null,0]};ii.prototype.Cj=function(){return oi};Ja(function(){for(var a=cb(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Fq:65,Gq:66,Xk:67,An:68,E:69,Nq:70,Qq:71,Yk:72,Sq:73,Tq:74,Uq:75,Vq:76,Wq:77,Mi:78,Yq:79,Zq:80,ar:81,$k:82,er:83,or:84,sr:85,tr:86,ur:87,wr:88,xr:89,yr:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,zr:97,Ar:98,Cr:99,Jr:100,Kr:101,Lr:102,Nr:103,Pr:104,Qr:105,Rr:106,Sr:107, -Tr:108,Ur:109,Vr:110,Xr:111,Yr:112,Zr:113,$r:114,es:115,js:116,ks:117,ls:118,ms:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pi={};pi[186]=W[";"];pi[187]=W["="];pi[188]=W[","];pi[189]=W["-"];pi[190]=W["."];pi[191]=W["/"];pi[192]=W["`"];pi[219]=W["["];pi[220]=W["\\"];pi[221]=W["]"];pi[222]=W["'"];pi[173]=W["-"];var qi={};qi[W["1"]]=W["!"];qi[W["2"]]=W["@"];qi[W["3"]]=W["#"];qi[W["4"]]=W.$;qi[W["5"]]=W["%"];qi[W["6"]]=W["^"];qi[W["7"]]=W["&"];qi[W["8"]]=W["*"];qi[W["9"]]=W["("]; -qi[W["0"]]=W[")"];qi[186]=W[":"];qi[187]=W["+"];qi[188]=W["<"];qi[189]=W._;qi[190]=W[">"];qi[191]=W["?"];qi[192]=W["~"];qi[219]=W["{"];qi[220]=W["|"];qi[221]=W["}"];qi[222]=W['"'];qi[173]=W._;qi[61]=W["+"];qi[59]=W[":"]; -var ri={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},si={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ti={esc:1027,1:W["1"],2:W["2"],3:W["3"],4:W["4"],5:W["5"],6:W["6"],7:W["7"],8:W["8"],9:W["9"],0:W["0"],"-":W["-"],"=":W["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":W["["],"]":W["]"],enter:13, +Tr:108,Ur:109,Vr:110,Xr:111,Yr:112,Zr:113,$r:114,es:115,js:116,ks:117,ls:118,ms:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},qi={};qi[186]=W[";"];qi[187]=W["="];qi[188]=W[","];qi[189]=W["-"];qi[190]=W["."];qi[191]=W["/"];qi[192]=W["`"];qi[219]=W["["];qi[220]=W["\\"];qi[221]=W["]"];qi[222]=W["'"];qi[173]=W["-"];var ri={};ri[W["1"]]=W["!"];ri[W["2"]]=W["@"];ri[W["3"]]=W["#"];ri[W["4"]]=W.$;ri[W["5"]]=W["%"];ri[W["6"]]=W["^"];ri[W["7"]]=W["&"];ri[W["8"]]=W["*"];ri[W["9"]]=W["("]; +ri[W["0"]]=W[")"];ri[186]=W[":"];ri[187]=W["+"];ri[188]=W["<"];ri[189]=W._;ri[190]=W[">"];ri[191]=W["?"];ri[192]=W["~"];ri[219]=W["{"];ri[220]=W["|"];ri[221]=W["}"];ri[222]=W['"'];ri[173]=W._;ri[61]=W["+"];ri[59]=W[":"]; +var si={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},ti={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ui={esc:1027,1:W["1"],2:W["2"],3:W["3"],4:W["4"],5:W["5"],6:W["6"],7:W["7"],8:W["8"],9:W["9"],0:W["0"],"-":W["-"],"=":W["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":W["["],"]":W["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":W[";"],quote:W["'"],"`":W["`"],shift:1016,"\\":W["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":W[","],".":W["."],"/":W["/"],"right-shift":3016,prtsc:1044,alt:1018,space:W[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035, -"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},ui={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[W["1"]]=2;X[W["!"]]=10754;X[W["2"]]=3;X[W["@"]]=10755;X[W["3"]]=4;X[W["#"]]=10756;X[W["4"]]=5;X[W.$]=10757;X[W["5"]]=6;X[W["%"]]=10758;X[W["6"]]=7;X[W["^"]]=10759;X[W["7"]]=8;X[W["&"]]=10760;X[W["8"]]=9;X[W["*"]]=10761;X[W["9"]]=10;X[W["("]]=10762;X[W["0"]]=11;X[W[")"]]=10763;X[W["-"]]=12;X[W._]=10764;X[W["="]]=13;X[W["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; +"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},vi={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[W["1"]]=2;X[W["!"]]=10754;X[W["2"]]=3;X[W["@"]]=10755;X[W["3"]]=4;X[W["#"]]=10756;X[W["4"]]=5;X[W.$]=10757;X[W["5"]]=6;X[W["%"]]=10758;X[W["6"]]=7;X[W["^"]]=10759;X[W["7"]]=8;X[W["&"]]=10760;X[W["8"]]=9;X[W["*"]]=10761;X[W["9"]]=10;X[W["("]]=10762;X[W["0"]]=11;X[W[")"]]=10763;X[W["-"]]=12;X[W._]=10764;X[W["="]]=13;X[W["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; X[81]=10768;X[119]=17;X[87]=10769;X[101]=18;X[69]=10770;X[114]=19;X[82]=10771;X[116]=20;X[84]=10772;X[121]=21;X[89]=10773;X[117]=22;X[85]=10774;X[105]=23;X[73]=10775;X[111]=24;X[79]=10776;X[112]=25;X[80]=10777;X[W["["]]=26;X[W["{"]]=10778;X[W["]"]]=27;X[W["}"]]=10779;X[13]=28;X[1017]=29;X[97]=30;X[65]=10782;X[115]=31;X[83]=10783;X[100]=32;X[68]=10784;X[102]=33;X[70]=10785;X[103]=34;X[71]=10786;X[104]=35;X[72]=10787;X[106]=36;X[74]=10788;X[107]=37;X[75]=10789;X[108]=38;X[76]=10790;X[W[";"]]=39; X[W[":"]]=10791;X[W["'"]]=40;X[W['"']]=10792;X[W["`"]]=41;X[W["~"]]=10793;X[1016]=42;X[W["\\"]]=43;X[W["|"]]=10795;X[122]=44;X[90]=10796;X[120]=45;X[88]=10797;X[99]=46;X[67]=10798;X[118]=47;X[86]=10799;X[98]=48;X[66]=10800;X[110]=49;X[78]=10801;X[109]=50;X[77]=10802;X[W[","]]=51;X[W["<"]]=10803;X[W["."]]=52;X[W[">"]]=10804;X[W["/"]]=53;X[W["?"]]=10805;X[3016]=54;X[1044]=55;X[1018]=56;X[W[" "]]=57;X[1020]=58;X[1112]=59;X[1113]=60;X[1114]=61;X[1115]=62;X[1116]=63;X[1117]=64;X[1118]=65;X[1119]=66; -X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=oi.prototype; -k.Fb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.qa[e])switch(b){case "kbd":return this.qa[e]=c,c.onkeydown=function(a){return vi(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Al){var b=d.Rb.length?d.Rb[0].Pe:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.yj=!0,a=b)}(b=!X[a]||!!(d.Zb&128))||wi(d,a,!0);return b},c.onkeyup=function(a){return vi(d,a,!1)},!0;case "caps-lock":return this.qa[e]=c,c.onclick=function(){d.N&&d.N.Mc();wi(d, -1020,!0)},!0;case "num-lock":return this.qa[e]=c,c.onclick=function(){d.N&&d.N.Mc();wi(d,1144,!0)},!0;case "scroll-lock":return this.qa[e]=c,c.onclick=function(){d.N&&d.N.Mc();wi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==si[f]&&"button"==a)return this.qa[e]=c,c.onclick=function(a,b,c){return function(){a.N&&a.N.Mc();xi(a,c,!0);wi(a,c,!0)}}(this,f,si[f]),!0;if(void 0!==ti[b])return this.sl++,this.qa[e]=c,a=function(a,b,c){return function(){wi(a,c)}}(this,b,ti[b]),b= -function(a,b,c){return function(){yi(a,c)}}(this,b,ti[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function zi(a,b,c){if(a.sl){for(var d in qi)if(b==qi[d]){b=parseInt(d,10);(d=pi[d])&&(b=d);break}for(var e in ti)if((d=ti[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=ti[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} -k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet")};function Yh(a,b){a.Wa("keyboard reset",32896);a.Wb=[170];b&&a.fa&&$h(a.fa,a.Wb[0])}function Uh(a,b,c){a.rj!==c&&(a.rj=a.wj=c);a.Zh!==b&&(a.Zh=b)&&!a.wj&&ai(a,!0);a.Zh&&a.wj&&(Yh(a,!0),a.wj=!1)}function Vh(a){var b=0;a.Wb.length&&(b=a.Wb[0],a.fa&&$h(a.fa,b));a.oa()&&a.Wa("scan code 0x"+m(b)+" available")} -function ai(a,b){0=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.yj=!0,a=b)}(b=!X[a]||!!(d.Zb&128))||xi(d,a,!0);return b},c.onkeyup=function(a){return wi(d,a,!1)},!0;case "caps-lock":return this.ra[e]=c,c.onclick=function(){d.N&&d.N.Mc();xi(d, +1020,!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.N&&d.N.Mc();xi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.N&&d.N.Mc();xi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==ti[f]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.N&&a.N.Mc();yi(a,c,!0);xi(a,c,!0)}}(this,f,ti[f]),!0;if(void 0!==ui[b])return this.sl++,this.ra[e]=c,a=function(a,b,c){return function(){xi(a,c)}}(this,b,ui[b]),b= +function(a,b,c){return function(){zi(a,c)}}(this,b,ui[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function Ai(a,b,c){if(a.sl){for(var d in ri)if(b==ri[d]){b=parseInt(d,10);(d=qi[d])&&(b=d);break}for(var e in ui)if((d=ui[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=ui[e]==d),d){(a=a.ra["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} +k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet")};function Zh(a,b){a.Wa("keyboard reset",32896);a.Wb=[170];b&&a.fa&&ai(a.fa,a.Wb[0])}function Vh(a,b,c){a.rj!==c&&(a.rj=a.wj=c);a.Zh!==b&&(a.Zh=b)&&!a.wj&&bi(a,!0);a.Zh&&a.wj&&(Zh(a,!0),a.wj=!1)}function Wh(a){var b=0;a.Wb.length&&(b=a.Wb[0],a.fa&&ai(a.fa,b));a.oa()&&a.Wa("scan code 0x"+m(b)+" available")} +function bi(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.Ad:a.Zb)&b):d||b&255&&(b=255);if(c){a.Ad&=~b;d&&(a.Ad|=b);c=b;var f,g;for(g in ui)d="led-"+g,e=ui[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.Ad&e?"#00ff00":"#000000")}else a.Zb&=~b,d&&(a.Zb|=b);return!0}}return!1} -function wi(a,b,c){if(X[b]&&a.N&&a.N.da.jb){ri[b]&&a.Rb.length&&0e||(e==a.Rb.length&&(d={},d.Pe=b,d.Zb=a.Zb,zi(a,b,!0),e++),0b.Id){if(!b.Ng){yi(a,b.Pe);return}b.Ng=!1;c=a.lp}else c=1==b.Id++?a.mp:a.np;b.wn=setTimeout(function(a){return function(){Ai(a,b)}}(a),c)}}else yi(a,b.Pe,!0)}function Gi(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Zb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Zb&515)==c&&(d=b-32);else if(!!(a.Zb&3)==c){if(a=qi[b])d=a}else if(a=pi[b])d=a;return d}k.wi=function(a){this.$h=a;a||(this.Zb&=-256)}; -function vi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Gi(a,g,!0);a.sj&&h==W["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xi(a,h,!1,c)){if(20==g||144==g||145==g)a.$n||(c=e=!0);if(!(c||91!=g&&93!=g))for(var t=0;t=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Ad&3||a.Ad&512&&b||(g=h):29==h?a.Ad&12||(g=h):56==h?a.Ad&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Wb.length?(d.oa()&&d.Wa("scan code 0x"+m(f)+" buffered"),d.Wb.push(f),1==d.Wb.length&&d.fa&&$h(d.fa, -f)):(20==d.Wb.length&&d.Wb.push(255),d.Wa("scan code buffer overflow")))}}Ja(function(){for(var a=cb(window.document,"pcjs","keyboard"),b=0;b>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.Ad:a.Zb)&b):d||b&255&&(b=255);if(c){a.Ad&=~b;d&&(a.Ad|=b);c=b;var f,g;for(g in vi)d="led-"+g,e=vi[g],c&&c!=e||!(f=a.ra[d])||(f.style.backgroundColor=a.Ad&e?"#00ff00":"#000000")}else a.Zb&=~b,d&&(a.Zb|=b);return!0}}return!1} +function xi(a,b,c){if(X[b]&&a.N&&a.N.da.jb){si[b]&&a.Rb.length&&0e||(e==a.Rb.length&&(d={},d.Pe=b,d.Zb=a.Zb,Ai(a,b,!0),e++),0b.Id){if(!b.Ng){zi(a,b.Pe);return}b.Ng=!1;c=a.lp}else c=1==b.Id++?a.mp:a.np;b.wn=setTimeout(function(a){return function(){Fi(a,b)}}(a),c)}}else zi(a,b.Pe,!0)}function Hi(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Zb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Zb&515)==c&&(d=b-32);else if(!!(a.Zb&3)==c){if(a=ri[b])d=a}else if(a=qi[b])d=a;return d}k.wi=function(a){this.$h=a;a||(this.Zb&=-256)}; +function wi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hi(a,g,!0);a.sj&&h==W["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),yi(a,h,!1,c)){if(20==g||144==g||145==g)a.$n||(c=e=!0);if(!(c||91!=g&&93!=g))for(var t=0;t=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Ad&3||a.Ad&512&&b||(g=h):29==h?a.Ad&12||(g=h):56==h?a.Ad&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Wb.length?(d.oa()&&d.Wa("scan code 0x"+m(f)+" buffered"),d.Wb.push(f),1==d.Wb.length&&d.fa&&ai(d.fa, +f)):(20==d.Wb.length&&d.Wb.push(255),d.Wa("scan code buffer overflow")))}}Ja(function(){for(var a=cb(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(Vi)];this.Z=a.Z;this.type=e[0];this.port=e[1];this.De=b;this.Va=e[2];this.Ub=e[3];this.kd=d||e[4];65536<=this.kd&&720896<=this.Va&&(this.Ub=Math.min(this.kd>>2,32768));this.od=c[0];this.Lc=c[1];this.Jf=c[2];this.kg=c[3];this.vc=c[4]&255;this.ii=c[4]>>8&255;this.nc=c[5];this.Ij=Vi;this.Eh=Wi;if(5==b){this.Ij=Xi;this.Eh=Yi;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), -0,0,0,Array(9),0,[this.Va,this.Ub,this.kd],Array(this.kd>>2),771,0,-1,0,-1,0,-1,0,0,0]);this.Dd=b[0];this.Wd=b[1];this.je=b[2];this.Ui=Zi;this.Ji=b[3];this.Vg=b[4];this.fi=b[5];this.Yd=b[6];this.rg=b[7];this.Wi=$i;this.Dj=b[8];this.Ej=b[9];this.Xd=b[10];this.Te=b[11];this.Vi=aj;this.Hb=b[12];d=b[13];"number"==typeof d&&(d=[this.Va,this.Ub,d]);this.Va=d[0];this.Ub=d[1];d=this.kd>>2;if((this.xd=b[14])&&this.xd.length>8)} -function ej(a,b){this.Ib(a,b&255);this.Ib(a+1,b>>8&255);this.Ib(a+2,b>>16&255);this.Ib(a+3,b>>>24)}var fj=[,,function(a){a+=this.offset;return(this.X.Hb=this.na[a])>>this.X.Ck&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.na[b]>>8:this.na[b])&255}];fj[16]=function(a){a+=this.offset;a=this.na[a];for(var b=this.X.Kj&this.X.Lj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; -fj[512]=function(a,b){var c=a+this.offset,d;d=this.na[c]&~this.X.sb|(b|b<<8|b<<16|b<<24)&this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[1024]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -fj[1536]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d&=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[2560]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d|=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -fj[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d^=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.sb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.na[d]&~c;c=c&this.X.xb|this.X.Hb&~this.X.xb;this.na[d]!=c&&(this.na[d]=c,this.Qa=!0)}; -fj[4096]=function(a){a+=this.offset;var b=this.na[a]&~this.X.sb|this.X.Hb&this.X.sb;this.na[a]!=b&&(this.na[a]=b,this.Qa=!0)};fj[8192]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[24576]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d&this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -fj[40960]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d|this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[57344]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d^this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -function gj(a){var b=[];if(void 0!==a.De){b[0]=a.od;b[1]=a.Lc;b[2]=a.Jf;b[3]=a.kg;b[4]=a.vc|a.ii<<8;b[5]=a.nc;if(5==a.De){var c=[];c[0]=a.Dd;c[1]=a.Wd;c[2]=a.je;c[3]=a.Ji;c[4]=a.Vg;c[5]=a.fi;c[6]=a.Yd;c[7]=a.rg;c[8]=a.Dj;c[9]=a.Ej;c[10]=a.Xd;c[11]=a.Te;c[12]=a.Hb;c[13]=[a.Va,a.Ub,a.kd];var d;a:if(d=a.xd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=t;h=r}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=da(b.Va+a)+":",J=0;8>J&&ac.length)c=[!1,0,null,null,0,Array(Wi)];this.Z=a.Z;this.type=e[0];this.port=e[1];this.De=b;this.Va=e[2];this.Ub=e[3];this.kd=d||e[4];65536<=this.kd&&720896<=this.Va&&(this.Ub=Math.min(this.kd>>2,32768));this.od=c[0];this.Lc=c[1];this.Kf=c[2];this.kg=c[3];this.vc=c[4]&255;this.ii=c[4]>>8&255;this.nc=c[5];this.Ij=Wi;this.Eh=Xi;if(5==b){this.Ij=Yi;this.Eh=Zi;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), +0,0,0,Array(9),0,[this.Va,this.Ub,this.kd],Array(this.kd>>2),771,0,-1,0,-1,0,-1,0,0,0]);this.Dd=b[0];this.Wd=b[1];this.je=b[2];this.Ui=$i;this.Ji=b[3];this.Vg=b[4];this.fi=b[5];this.Yd=b[6];this.rg=b[7];this.Wi=aj;this.Dj=b[8];this.Ej=b[9];this.Xd=b[10];this.Te=b[11];this.Vi=bj;this.Hb=b[12];d=b[13];"number"==typeof d&&(d=[this.Va,this.Ub,d]);this.Va=d[0];this.Ub=d[1];d=this.kd>>2;if((this.xd=b[14])&&this.xd.length>8)} +function fj(a,b){this.Ib(a,b&255);this.Ib(a+1,b>>8&255);this.Ib(a+2,b>>16&255);this.Ib(a+3,b>>>24)}var gj=[,,function(a){a+=this.offset;return(this.X.Hb=this.na[a])>>this.X.Ck&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.na[b]>>8:this.na[b])&255}];gj[16]=function(a){a+=this.offset;a=this.na[a];for(var b=this.X.Kj&this.X.Lj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; +gj[512]=function(a,b){var c=a+this.offset,d;d=this.na[c]&~this.X.sb|(b|b<<8|b<<16|b<<24)&this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[1024]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +gj[1536]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d&=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[2560]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d|=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +gj[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d^=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.sb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.na[d]&~c;c=c&this.X.xb|this.X.Hb&~this.X.xb;this.na[d]!=c&&(this.na[d]=c,this.Qa=!0)}; +gj[4096]=function(a){a+=this.offset;var b=this.na[a]&~this.X.sb|this.X.Hb&this.X.sb;this.na[a]!=b&&(this.na[a]=b,this.Qa=!0)};gj[8192]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[24576]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +gj[40960]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d|this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[57344]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d^this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +function hj(a){var b=[];if(void 0!==a.De){b[0]=a.od;b[1]=a.Lc;b[2]=a.Kf;b[3]=a.kg;b[4]=a.vc|a.ii<<8;b[5]=a.nc;if(5==a.De){var c=[];c[0]=a.Dd;c[1]=a.Wd;c[2]=a.je;c[3]=a.Ji;c[4]=a.Vg;c[5]=a.fi;c[6]=a.Yd;c[7]=a.rg;c[8]=a.Dj;c[9]=a.Ej;c[10]=a.Xd;c[11]=a.Te;c[12]=a.Hb;c[13]=[a.Va,a.Ub,a.kd];var d;a:if(d=a.xd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=t;h=r}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=da(b.Va+a)+":",J=0;8>J&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Zb(this.ha,b,c|d<<8);ad(this,!0)}};function oj(a){a.ga.Vg&1?(a.jd=a.dj,a.Lb=a.ga):(a.jd=a.ga,a.Lb=a.Rh)}k.save=function(){var a=new Ee(this);a.set(0,gj(this.dj));a.set(1,gj(this.Rh));a.set(2,[this.He,this.Hd,this.ce]);a.set(3,gj(this.ga));return a.data()}; -k.restore=function(a){var b=a[2];this.He=b[0];this.Hd=b[1];this.ce=b[2];this.Fa=null;this.jd=this.dj=new Ti(this,1,a[0]);this.Lb=this.Rh=new Ti(this,3,a[1]);this.ga=new Ti(this,5,a[3],this.kd);this.ga.od&&oj(this);pj(this);if(!rj(this))return!1;sj(this);return!0}; -k.wp=function(a,b,c){if(c)this.Ca("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){wa("Empty font ROM image: "+a);return}if(1==d.length){wa(d[0]);return}if(8192==d.length)fi(this,d,[0,6144]);else{this.Ca("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ca("Font ROM data error: "+e.message);return}ib(this)}}; -function tj(a,b){if(1==b)return a.Nd[0]=Ni[0],a.Nd[1]=Ni[7],a.Nd;if(2==b){var c=a.Fa.Jf;if(a.Fa===a.ga){var d=a.ga.je[0],c=d&7;d&16&&(c|=8);18!=a.ga.je[1]&&(c|=32)}a.Nd[0]=Ni[c&15];c=c&32?Pi:Oi;for(d=0;dNa||!Q?Na:8,Oa=ed.createImageData(r.sc,r.tc),Y=0;256>Y;Y++){for(V=0;V< -Na;V++)for(var pa=r.qg&&E&1&&V>=Na-2,ta=Ta[V>(8<=ia&&176<=Y&&223>=Y?7:ia)?C:qb;wj(Oa,Hc,fd,gd);N&&wj(Oa,Hc+1,fd,gd)}ed.putImageData(Oa,(Y&15)*r.sc,(Y>>4)*r.tc)}r.Cf[E]="#"+m(C[0])+m(C[1])+m(C[2]);r.el[E]=C;r.Oi[E]=kc;r=!0}}a.me[b]=J;return r}function xj(a){0a.bf&&(a.bf=0):a.bf=-1} -function sj(a){if(a.ac){for(var b=10;15>=b;b++)if(null==a.Fa.nc[b])return;var c=a.Fa.nc[10],b=c&31,d=a.Fa.nc[11]&31,e=a.Fa.nc[9]&31,f=!1;a.Fa===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)yj(a);else{c=a.Fa.nc[15]+((a.Fa.nc[14]&63)<<8);a.Vc!=c&&(yj(a),a.Vc=c);d=d-b+1;if(a.zn!=b||a.xl!=d)a.zn=b,a.xl=d;a.ze=e+1;xj(a)}}} -function yj(a){if(0<=a.Vc){if(void 0!==a.oc){var b=a.oc[a.Vc];if(b&131072){var b=b&-131073,c=a.Vc%a.Mb,d=Math.floor(a.Vc/a.Mb);a.ac&&a.me[a.ac]&&(a.Kf&&zj(a,c,d,b,a.Kf),zj(a,c,d,b));a.oc[a.Vc]=b}}a.Vc=-1}} -function Aj(a){var b;a=a.Fa;var c=a.Te[5];if(null!=c){b=2;var d=512,e=a.Te[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Gd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Oe=function(a){var b=this.Fa;null!=a&&b&&a!=b.mi&&(b.Gi(a),this.ha.Gi(b.Va,b.Ub,b.Cj()))}; -function rj(a,b){var c,d=a.ce,e=a.Fa;if(e)if(1==e.De)d=Ii;else if(5==e.De){var d=null,f=e.kd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Aj(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||--d):(d=e.Lc&1?3:1,e.Lc&4&&--d)); -else a.ce=null,null==d&&(d=a.Hd);if(!qj(a,d,b))return!1;a.Oe(c);return!0} -function qj(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Jn=0;a.ce=b;b=a.Fa||(b==Ii?a.jd:a.Lb);if(b!=a.Fa||b.Va!=a.Va||b.Ub!=a.Ub){yj(a);if(a.Va){if(!Xb(a.ha,a.Va,a.Ub))return!1;a.Fa&&(a.Fa.od=!1)}a.Fa=b;b.od=!0;a.Va=b.Va;a.Ub=b.Ub;if(!Vb(a.ha,b.Va,b.Ub,3,b===a.ga?b:null))return!1}a.ac=0;a.Mb=a.oi;a.yc=a.Pj;a.Jj=Hi[Ii][2];b=0;var d=Hi[a.ce];d&&(a.Mb=d[0],a.yc=d[1],a.Jj=d[2],b=d[3]||0,a.ac=d[4],4==a.He&&a.Fa===a.ga&&3==a.ac&&(7==a.ga.nc[9]?a.yc=43:a.ac=5));a.$l=a.Mb*a.yc;a.ni=a.$l/a.Jj;a.ej=(a.ni<<1)+b;a.ul= -b?a.ej+b>>1:0;13<=a.ce&&(a.ni<<=1);a.me.length&&(a.Td=Math.floor(a.Sd/a.Mb),a.Ud=Math.floor(a.Ae/a.yc),a.ac?(b=a.me[a.ac],d=a.me[a.ac<<1],a.bo&&80==a.Mb?d&&a.Td>=3*d.sc>>2&&(a.ac<<=1,b=d):(d&&a.Td>=d.sc&&(a.ac<<=1,b=d),b&&(a.Td=b.sc,a.Ud=b.tc)),a.Kg=a.Lg=0,b&&(a.Kg=a.Mb*b.sc,a.Lg=a.yc*b.tc)):(a.Td=a.Ud=1,a.Kg=a.Mb,a.Lg=a.yc),a.ji=a.md.createImageData(a.Kg,a.Lg),a.Hf=window.document.createElement("canvas"),a.Hf.width=a.Kg,a.Hf.height=a.Lg,a.Kf=a.Hf.getContext("2d"),a.Vk=a.Wk=0,a.jj=a.Sd,a.kj=a.Ae, -b=a.Sd-a.Mb*a.Td,d=a.Ae-a.yc*a.Ud,0>1,a.jj-=b),0>1,a.kj-=d),b||d)&&(a.md.fillStyle=a.Fg.style.backgroundColor,a.md.fillRect(0,0,a.Sd,a.Ae));!1!==c?ad(a,!0):Bj(a,!0)}return!0}function wj(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 Bj(a,b){var c;if(b){if(c=a.ni,void 0===a.oc||a.oc.length!=c)a.oc=Array(c)}else{if(void 0===a.oc)return;c=a.oc.length}for(var d=0;d>8;d=g&15;var h=a.me[a.ac];h.qg&&(d=h.qg[d]);var t=g>>4&15;h.qg&&(t=h.qg[t]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.Cf[t],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.Td+a.Vk,c=c*a.Ud+a.Wk,a.md.fillStyle=h.Cf[t],a.md.fillRect(b,c,a.Td,a.Ud));g&256&&(t=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,h.sc,h.tc):a.md.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,a.Td,a.Ud));g&512&&(f=a.zn,g=a.xl,e?(a.ze&&a.ze!==h.tc&&(f=Math.floor(f*h.tc/a.ze),g=Math.floor(g*h.tc/a.ze)), -e.fillStyle=h.Cf[d],e.fillRect(b,c+f,h.sc,g)):(a.ze&&a.ze!==a.Ud&&(f=Math.floor(f*a.Ud/a.ze),g=Math.floor(g*a.Ud/a.ze)),a.md.fillStyle=h.Cf[d],a.md.fillRect(b,c+f,a.Td,g)))} -function ad(a,b){if(a.da.$b){var c=!1;a.Fa&&(a.Fa===a.ga?a.ga.Wd&32&&(c=!0):a.Fa.Lc&8&&(c=!0));if(c||b){if(b)Bj(a,!0);else if(void 0===a.oc)return;var d=!1;!(b||++a.Jn&15)&&0<=a.bf&&(a.bf++,d=!0);var e=0,f=a.$l,c=a.Fa.Va,g=c+a.Fa.Ub,h=(a.Fa.nc[12]<<8)+a.Fa.nc[13];a.ac&&(h<<=1);var c=c+h,t=a.ej;c+t>g&&(t=g-c,0>t&&(t=0));g=c+t;if(h=!b){for(var h=a.ha,r=!0,B=c>>>h.Ja;0a.Vc)return;e=a.Vc;f= -e+1}}if(a.ac){if(a.me[a.ac]){d=0;h=a.af=0;t=1048575;a.Fa.Lc&32&&(h=32768,t&=~h,a.bf&2||(t&=-65537));for(c+=e<<1;c>8|(J&255)<<8;C=h;var Na=16;B>=t))>>(Na-=t);wj(a.ji,B++,E,r[qb])}B>M&&(M=B);E=qa&&(qa=E+1)}e+=2;g++;if(B>=a.Mb){B=0;E+=2;if(E>a.yc)break;E==a.yc&&(E=1,e=c+a.ul)}}NQ;Q++)qa= -Si[M&-2139062144]||0,wj(a.ji,h++,t,g[qa]),M<<=1;h>B&&(B=h);t=N&&(N=t+1)}e++;if(h>=a.Mb&&(h=0,++t>a.yc))break}r>2),c=this.ga.Ji&-17|(this.Gh&1<>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Zb(this.ha,b,c|d<<8);ad(this,!0)}};function pj(a){a.ga.Vg&1?(a.jd=a.dj,a.Lb=a.ga):(a.jd=a.ga,a.Lb=a.Rh)}k.save=function(){var a=new Ee(this);a.set(0,hj(this.dj));a.set(1,hj(this.Rh));a.set(2,[this.He,this.Hd,this.ce]);a.set(3,hj(this.ga));return a.data()}; +k.restore=function(a){var b=a[2];this.He=b[0];this.Hd=b[1];this.ce=b[2];this.Fa=null;this.jd=this.dj=new Ui(this,1,a[0]);this.Lb=this.Rh=new Ui(this,3,a[1]);this.ga=new Ui(this,5,a[3],this.kd);this.ga.od&&pj(this);qj(this);if(!sj(this))return!1;tj(this);return!0}; +k.wp=function(a,b,c){if(c)this.Ca("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){wa("Empty font ROM image: "+a);return}if(1==d.length){wa(d[0]);return}if(8192==d.length)gi(this,d,[0,6144]);else{this.Ca("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ca("Font ROM data error: "+e.message);return}ib(this)}}; +function uj(a,b){if(1==b)return a.Nd[0]=Oi[0],a.Nd[1]=Oi[7],a.Nd;if(2==b){var c=a.Fa.Kf;if(a.Fa===a.ga){var d=a.ga.je[0],c=d&7;d&16&&(c|=8);18!=a.ga.je[1]&&(c|=32)}a.Nd[0]=Oi[c&15];c=c&32?Qi:Pi;for(d=0;dNa||!Q?Na:8,Oa=ed.createImageData(r.sc,r.tc),Y=0;256>Y;Y++){for(V=0;V< +Na;V++)for(var pa=r.qg&&E&1&&V>=Na-2,ta=Ta[V>(8<=ia&&176<=Y&&223>=Y?7:ia)?C:qb;xj(Oa,Hc,fd,gd);N&&xj(Oa,Hc+1,fd,gd)}ed.putImageData(Oa,(Y&15)*r.sc,(Y>>4)*r.tc)}r.Df[E]="#"+m(C[0])+m(C[1])+m(C[2]);r.el[E]=C;r.Oi[E]=kc;r=!0}}a.me[b]=J;return r}function yj(a){0a.bf&&(a.bf=0):a.bf=-1} +function tj(a){if(a.ac){for(var b=10;15>=b;b++)if(null==a.Fa.nc[b])return;var c=a.Fa.nc[10],b=c&31,d=a.Fa.nc[11]&31,e=a.Fa.nc[9]&31,f=!1;a.Fa===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)zj(a);else{c=a.Fa.nc[15]+((a.Fa.nc[14]&63)<<8);a.Vc!=c&&(zj(a),a.Vc=c);d=d-b+1;if(a.zn!=b||a.xl!=d)a.zn=b,a.xl=d;a.ze=e+1;yj(a)}}} +function zj(a){if(0<=a.Vc){if(void 0!==a.oc){var b=a.oc[a.Vc];if(b&131072){var b=b&-131073,c=a.Vc%a.Mb,d=Math.floor(a.Vc/a.Mb);a.ac&&a.me[a.ac]&&(a.Lf&&Aj(a,c,d,b,a.Lf),Aj(a,c,d,b));a.oc[a.Vc]=b}}a.Vc=-1}} +function Bj(a){var b;a=a.Fa;var c=a.Te[5];if(null!=c){b=2;var d=512,e=a.Te[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Gd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Oe=function(a){var b=this.Fa;null!=a&&b&&a!=b.mi&&(b.Gi(a),this.ha.Gi(b.Va,b.Ub,b.Cj()))}; +function sj(a,b){var c,d=a.ce,e=a.Fa;if(e)if(1==e.De)d=Ji;else if(5==e.De){var d=null,f=e.kd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Bj(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||--d):(d=e.Lc&1?3:1,e.Lc&4&&--d)); +else a.ce=null,null==d&&(d=a.Hd);if(!rj(a,d,b))return!1;a.Oe(c);return!0} +function rj(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Jn=0;a.ce=b;b=a.Fa||(b==Ji?a.jd:a.Lb);if(b!=a.Fa||b.Va!=a.Va||b.Ub!=a.Ub){zj(a);if(a.Va){if(!Xb(a.ha,a.Va,a.Ub))return!1;a.Fa&&(a.Fa.od=!1)}a.Fa=b;b.od=!0;a.Va=b.Va;a.Ub=b.Ub;if(!Vb(a.ha,b.Va,b.Ub,3,b===a.ga?b:null))return!1}a.ac=0;a.Mb=a.oi;a.yc=a.Pj;a.Jj=Ii[Ji][2];b=0;var d=Ii[a.ce];d&&(a.Mb=d[0],a.yc=d[1],a.Jj=d[2],b=d[3]||0,a.ac=d[4],4==a.He&&a.Fa===a.ga&&3==a.ac&&(7==a.ga.nc[9]?a.yc=43:a.ac=5));a.$l=a.Mb*a.yc;a.ni=a.$l/a.Jj;a.ej=(a.ni<<1)+b;a.ul= +b?a.ej+b>>1:0;13<=a.ce&&(a.ni<<=1);a.me.length&&(a.Td=Math.floor(a.Sd/a.Mb),a.Ud=Math.floor(a.Ae/a.yc),a.ac?(b=a.me[a.ac],d=a.me[a.ac<<1],a.bo&&80==a.Mb?d&&a.Td>=3*d.sc>>2&&(a.ac<<=1,b=d):(d&&a.Td>=d.sc&&(a.ac<<=1,b=d),b&&(a.Td=b.sc,a.Ud=b.tc)),a.Kg=a.Lg=0,b&&(a.Kg=a.Mb*b.sc,a.Lg=a.yc*b.tc)):(a.Td=a.Ud=1,a.Kg=a.Mb,a.Lg=a.yc),a.ji=a.md.createImageData(a.Kg,a.Lg),a.If=window.document.createElement("canvas"),a.If.width=a.Kg,a.If.height=a.Lg,a.Lf=a.If.getContext("2d"),a.Vk=a.Wk=0,a.jj=a.Sd,a.kj=a.Ae, +b=a.Sd-a.Mb*a.Td,d=a.Ae-a.yc*a.Ud,0>1,a.jj-=b),0>1,a.kj-=d),b||d)&&(a.md.fillStyle=a.Fg.style.backgroundColor,a.md.fillRect(0,0,a.Sd,a.Ae));!1!==c?ad(a,!0):Cj(a,!0)}return!0}function xj(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 Cj(a,b){var c;if(b){if(c=a.ni,void 0===a.oc||a.oc.length!=c)a.oc=Array(c)}else{if(void 0===a.oc)return;c=a.oc.length}for(var d=0;d>8;d=g&15;var h=a.me[a.ac];h.qg&&(d=h.qg[d]);var t=g>>4&15;h.qg&&(t=h.qg[t]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.Df[t],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.Td+a.Vk,c=c*a.Ud+a.Wk,a.md.fillStyle=h.Df[t],a.md.fillRect(b,c,a.Td,a.Ud));g&256&&(t=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,h.sc,h.tc):a.md.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,a.Td,a.Ud));g&512&&(f=a.zn,g=a.xl,e?(a.ze&&a.ze!==h.tc&&(f=Math.floor(f*h.tc/a.ze),g=Math.floor(g*h.tc/a.ze)), +e.fillStyle=h.Df[d],e.fillRect(b,c+f,h.sc,g)):(a.ze&&a.ze!==a.Ud&&(f=Math.floor(f*a.Ud/a.ze),g=Math.floor(g*a.Ud/a.ze)),a.md.fillStyle=h.Df[d],a.md.fillRect(b,c+f,a.Td,g)))} +function ad(a,b){if(a.da.$b){var c=!1;a.Fa&&(a.Fa===a.ga?a.ga.Wd&32&&(c=!0):a.Fa.Lc&8&&(c=!0));if(c||b){if(b)Cj(a,!0);else if(void 0===a.oc)return;var d=!1;!(b||++a.Jn&15)&&0<=a.bf&&(a.bf++,d=!0);var e=0,f=a.$l,c=a.Fa.Va,g=c+a.Fa.Ub,h=(a.Fa.nc[12]<<8)+a.Fa.nc[13];a.ac&&(h<<=1);var c=c+h,t=a.ej;c+t>g&&(t=g-c,0>t&&(t=0));g=c+t;if(h=!b){for(var h=a.ha,r=!0,B=c>>>h.Ja;0a.Vc)return;e=a.Vc;f= +e+1}}if(a.ac){if(a.me[a.ac]){d=0;h=a.af=0;t=1048575;a.Fa.Lc&32&&(h=32768,t&=~h,a.bf&2||(t&=-65537));for(c+=e<<1;c>8|(J&255)<<8;C=h;var Na=16;B>=t))>>(Na-=t);xj(a.ji,B++,E,r[qb])}B>M&&(M=B);E=qa&&(qa=E+1)}e+=2;g++;if(B>=a.Mb){B=0;E+=2;if(E>a.yc)break;E==a.yc&&(E=1,e=c+a.ul)}}NQ;Q++)qa= +Ti[M&-2139062144]||0,xj(a.ji,h++,t,g[qa]),M<<=1;h>B&&(B=h);t=N&&(N=t+1)}e++;if(h>=a.Mb&&(h=0,++t>a.yc))break}r>2),c=this.ga.Ji&-17|(this.Gh&1<f&&(f=0);f%b.Mj>b.qp&&(d|=1);f%=b.cm;f>b.sp&&(d|=8);b.Tj=e-f;b===a.ga?(d|=b.kg&48^48,b.Dd=!1):d=(b.kg^=9)|240;b.kg=d;q(a,b.port+6,null,c,b===a.ga?"STATUS1":"STATUS",d);return d} -var ij={948:Z.prototype.Po,949:Z.prototype.Oo,952:Z.prototype.Qo,954:Z.prototype.Ro,980:Z.prototype.xo,981:Z.prototype.wo,984:Z.prototype.yo,985:Z.prototype.vo,986:Z.prototype.zo},jj={948:Z.prototype.dq,949:Z.prototype.cq,952:Z.prototype.eq,980:Z.prototype.Np,981:Z.prototype.Mp,984:Z.prototype.Op,985:Z.prototype.Lp},kj={960:Z.prototype.Ul,961:Z.prototype.Ul,962:Z.prototype.ap,964:Z.prototype.$o,965:Z.prototype.Zo,970:Z.prototype.Io,972:Z.prototype.Ho,974:Z.prototype.Go,975:Z.prototype.Fo},lj={954:Z.prototype.gn, +k.Wp=function(a,b,c){this.oa()&&q(this,975,b,c,"GRC."+this.ga.Vi[this.ga.Xd]);this.ga.Te[this.ga.Xd]=b;switch(this.ga.Xd){case 0:this.ga.ti=Si[b&15];this.ga.pf=this.ga.ti&~this.ga.Ke;break;case 1:this.ga.Ke=~Si[b&15];this.ga.pf=this.ga.ti&~this.ga.Ke;break;case 2:this.ga.Kj=Si[b&15]&-2139062144;break;case 3:case 5:this.Oe(Bj(this));break;case 4:this.ga.Ck=(b&3)<<3;break;case 6:sj(this,!1);break;case 7:this.ga.Lj=Si[b&15^15]&-2139062144;break;case 8:this.ga.xb=b|b<<8|b<<16|b<<24}}; +k.xo=function(a,b){return Dj(this,this.Lb,b)};k.Np=function(a,b,c){a=this.Lb;a.ii=a.vc;a.vc=b&31;q(this,a.port,b,c,"CRTC.INDX")};k.wo=function(a,b){return Ej(this,this.Lb,b)};k.Mp=function(a,b,c){Fj(this,this.Lb,b,c)};k.yo=function(a,b){return Gj(this,this.Lb,b)};k.Op=function(a,b,c){a=this.Lb;q(this,a.port+4,b,c,"MODE");a.Lc=b;sj(this,!1)};k.vo=function(a,b){var c=this.Lb.Kf;this.oa()&&q(this,this.Lb.port+5,null,b,this.Lb.type+".COLOR",c);return c}; +k.Lp=function(a,b,c){this.oa()&&q(this,this.Lb.port+5,b,c,this.Lb.type+".COLOR");this.Lb.Kf!==b&&(this.Lb.Kf=b,Cj(this,!1))};k.zo=function(a,b){return Hj(this,this.Lb,b)};function Dj(a,b,c){var d=b.vc;q(a,b.port,null,c,"CRTC.INDX",d);return d}function Ej(a,b,c){var d;b.vcf&&(f=0);f%b.Mj>b.qp&&(d|=1);f%=b.cm;f>b.sp&&(d|=8);b.Tj=e-f;b===a.ga?(d|=b.kg&48^48,b.Dd=!1):d=(b.kg^=9)|240;b.kg=d;q(a,b.port+6,null,c,b===a.ga?"STATUS1":"STATUS",d);return d} +var jj={948:Z.prototype.Po,949:Z.prototype.Oo,952:Z.prototype.Qo,954:Z.prototype.Ro,980:Z.prototype.xo,981:Z.prototype.wo,984:Z.prototype.yo,985:Z.prototype.vo,986:Z.prototype.zo},kj={948:Z.prototype.dq,949:Z.prototype.cq,952:Z.prototype.eq,980:Z.prototype.Np,981:Z.prototype.Mp,984:Z.prototype.Op,985:Z.prototype.Lp},lj={960:Z.prototype.Ul,961:Z.prototype.Ul,962:Z.prototype.ap,964:Z.prototype.$o,965:Z.prototype.Zo,970:Z.prototype.Io,972:Z.prototype.Ho,974:Z.prototype.Go,975:Z.prototype.Fo},mj={954:Z.prototype.gn, 960:Z.prototype.fn,961:Z.prototype.fn,962:Z.prototype.gq,964:Z.prototype.nq,965:Z.prototype.mq,970:Z.prototype.Zp,972:Z.prototype.Yp,974:Z.prototype.Xp,975:Z.prototype.Wp,986:Z.prototype.gn}; Ja(function(){for(var a=cb(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=window.document.createElement("textarea");Ca("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);bb(d,c)}}); -function Hj(a){this.Ql=a.adapter;switch(this.Ql){case 1:this.Hk=1016;this.dh=4;break;case 2:this.Hk=760;this.dh=3;break;default:wa("Unrecognized serial adapter #"+this.Ql);return}this.xe=null;p.call(this,"SerialPort",a,Hj,2097152);var b=a.binding,c;a=Ij;b&&(void 0===c&&(c="Panel"),(c=$a(c,this.id))&&(b=c.qa[b])&&this.Fb(null,a,b))}Xa(p,Hj);var Ij="buffer";k=Hj.prototype;k.hl=function(a,b){return a==this.Sg?(this.Ge=b,this):null}; -k.Fb=function(a,b,c){var d=this;switch(b){case Ij:return this.qa[b]=this.xe=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Jj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Jj(d,[a.which||a.keyCode])},!0}return!1};k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet");bc(b,this,Kj,this.Hk);fc(b,this,Lj,this.Hk);ib(this)};k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ee()};k.save=function(){var a=new Ee(this),b=0,c=[];c[b++]=this.aj;c[b++]=this.nl;c[b++]=this.yf;c[b++]=this.Hh;c[b++]=this.re;c[b++]=this.hd;c[b++]=this.zd;c[b++]=this.Sc;c[b++]=this.ll;c[b]=this.tg;a.set(0,c);return a.data()};k.restore=function(a){return this.Ee(a[0])}; -k.Ee=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.aj=a[b++];this.nl=a[b++];this.yf=a[b++];this.Hh=a[b++];this.re=a[b++];this.hd=a[b++];this.zd=a[b++];this.Sc=a[b++];this.ll=a[b++];this.tg=a[b];return!0};function Jj(a,b){a.tg=a.tg.concat(b);Mj(a)}function Mj(a){0>8:this.Hh;q(this,a,null,b,this.hd&128?"DLM":"IER",c);return c};k.Ko=function(a,b){var c=this.re;q(this,a,null,b,"IIR",c);return c};k.Lo=function(a,b){var c=this.hd;q(this,a,null,b,"LCR",c);return c};k.No=function(a,b){var c=this.zd;q(this,a,null,b,"MCR",c);return c}; -k.Mo=function(a,b){var c=this.Sc;q(this,a,null,b,"LSR",c);return c};k.To=function(a,b){var c=this.ll;q(this,a,null,b,"MSR",c);return c};k.oq=function(a,b,c){q(this,a,b,c,this.hd&128?"DLL":"THR");this.hd&128?this.yf=this.yf&-256|b:(this.nl=b,this.Sc&=-97,this.xe?(13!=b&&(8==b?this.xe.value=this.xe.value.slice(0,-1):(this.xe.value+=String.fromCharCode(b),this.xe.scrollTop=this.xe.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))}; -k.$p=function(a,b,c){q(this,a,b,c,this.hd&128?"DLM":"IER");this.hd&128?this.yf=this.yf&255|b<<8:this.Hh=b};k.aq=function(a,b,c){q(this,a,b,c,"LCR");this.hd=b}; -k.bq=function(a,b,c){var d=this.zd;q(this,a,b,c,"MCR");this.zd=b;this.Ge&&(d^b)&3&&(a=this.Ge,b=this.zd,(c=3==(b&3))?a.od||(d=!1,a.zd&2||(a.reset(),a.Wa("serial mouse reset"),d=!0),a.zd&1||(a.Wa("serial mouse ID requested"),d=!0),d&&(Jj(a.Hg,[77,77]),a.Wa("serial mouse ID sent")),Nj(a,a.Ha),a.setActive(c)):a.od&&(a.Wa("serial mouse inactive"),Oj(a.Ha),a.setActive(c)),a.zd=b)}; -var Kj={0:Hj.prototype.Yo,1:Hj.prototype.Jo,2:Hj.prototype.Ko,3:Hj.prototype.Lo,4:Hj.prototype.No,5:Hj.prototype.Mo,6:Hj.prototype.To},Lj={0:Hj.prototype.oq,1:Hj.prototype.$p,3:Hj.prototype.aq,4:Hj.prototype.bq};Ja(function(){for(var a=cb(window.document,"pcjs","serial"),b=0;bthis.he||0>this.ie)this.he=a.clientX,this.ie=a.clientY;this.ai?(this.zf=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Af=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.zf=a.clientX-this.he,this.Af=a.clientY-this.ie);(this.zf||this.Af)&&Qj(this,null,a.clientX,a.clientY);this.he=a.clientX;this.ie=a.clientY}}; -k.gj=function(a,b){if(this.od&&this.N&&this.N.da.jb){var c;!(c=!1!==this.ai)&&(c=this.video)&&(c=this.video,c=c.Xn?c.lf(!0):!1);c||(this.ai=null);switch(a){case 0:this.Xh!=b&&(this.Xh=b,Qj(this,"mouse button1 "+(b?"dn":"up")));break;case 2:this.Yh!=b&&(this.Yh=b,Qj(this,"mouse button2 "+(b?"dn":"up")))}}}; -function Qj(a,b,c,d){var e=64|(a.Xh?32:0)|(a.Yh?16:0)|(a.Af&192)>>4|(a.zf&192)>>6,f=a.zf&63,g=a.Af&63;a.oa(2097152)&&a.Wa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+m(e)+","+m(f)+","+m(g)+"]",0,!0);Jj(a.Hg,[e,f,g]);a.zf=a.Af=0}Ja(function(){for(var a=cb(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.eb=Array(g.yb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Vj(this,b),this.bi=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=va()+"/api/v1/dump?"+ -c+"="+encodeURIComponent(b)+(this.Sf?"":d)+"&format=json")),ua(f,!0,null,this,this.Sn,b)}; -k.Sn=function(a,b,c,d){var e=null;this.Tf=!1;var f=0>c&&this.Ba&&!this.Ba.da.$b;if(this.bi)c?this.X.Ca('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Vd=!0,e=this);else if(c)this.X.Ca('Unable to load disk "'+this.Jd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& +function Ij(a){this.Ql=a.adapter;switch(this.Ql){case 1:this.Hk=1016;this.dh=4;break;case 2:this.Hk=760;this.dh=3;break;default:wa("Unrecognized serial adapter #"+this.Ql);return}this.xe=null;p.call(this,"SerialPort",a,Ij,2097152);var b=a.binding,c;a=Jj;b&&(void 0===c&&(c="Panel"),(c=$a(c,this.id))&&(b=c.ra[b])&&this.Fb(null,a,b))}Xa(p,Ij);var Jj="buffer";k=Ij.prototype;k.hl=function(a,b){return a==this.Sg?(this.Ge=b,this):null}; +k.Fb=function(a,b,c){var d=this;switch(b){case Jj:return this.ra[b]=this.xe=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Kj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Kj(d,[a.which||a.keyCode])},!0}return!1};k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet");bc(b,this,Lj,this.Hk);fc(b,this,Mj,this.Hk);ib(this)};k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ee()};k.save=function(){var a=new Ee(this),b=0,c=[];c[b++]=this.aj;c[b++]=this.nl;c[b++]=this.zf;c[b++]=this.Hh;c[b++]=this.re;c[b++]=this.hd;c[b++]=this.zd;c[b++]=this.Sc;c[b++]=this.ll;c[b]=this.tg;a.set(0,c);return a.data()};k.restore=function(a){return this.Ee(a[0])}; +k.Ee=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.aj=a[b++];this.nl=a[b++];this.zf=a[b++];this.Hh=a[b++];this.re=a[b++];this.hd=a[b++];this.zd=a[b++];this.Sc=a[b++];this.ll=a[b++];this.tg=a[b];return!0};function Kj(a,b){a.tg=a.tg.concat(b);Nj(a)}function Nj(a){0>8:this.Hh;q(this,a,null,b,this.hd&128?"DLM":"IER",c);return c};k.Ko=function(a,b){var c=this.re;q(this,a,null,b,"IIR",c);return c};k.Lo=function(a,b){var c=this.hd;q(this,a,null,b,"LCR",c);return c};k.No=function(a,b){var c=this.zd;q(this,a,null,b,"MCR",c);return c}; +k.Mo=function(a,b){var c=this.Sc;q(this,a,null,b,"LSR",c);return c};k.To=function(a,b){var c=this.ll;q(this,a,null,b,"MSR",c);return c};k.oq=function(a,b,c){q(this,a,b,c,this.hd&128?"DLL":"THR");this.hd&128?this.zf=this.zf&-256|b:(this.nl=b,this.Sc&=-97,this.xe?(13!=b&&(8==b?this.xe.value=this.xe.value.slice(0,-1):(this.xe.value+=String.fromCharCode(b),this.xe.scrollTop=this.xe.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))}; +k.$p=function(a,b,c){q(this,a,b,c,this.hd&128?"DLM":"IER");this.hd&128?this.zf=this.zf&255|b<<8:this.Hh=b};k.aq=function(a,b,c){q(this,a,b,c,"LCR");this.hd=b}; +k.bq=function(a,b,c){var d=this.zd;q(this,a,b,c,"MCR");this.zd=b;this.Ge&&(d^b)&3&&(a=this.Ge,b=this.zd,(c=3==(b&3))?a.od||(d=!1,a.zd&2||(a.reset(),a.Wa("serial mouse reset"),d=!0),a.zd&1||(a.Wa("serial mouse ID requested"),d=!0),d&&(Kj(a.Hg,[77,77]),a.Wa("serial mouse ID sent")),Oj(a,a.Ha),a.setActive(c)):a.od&&(a.Wa("serial mouse inactive"),Pj(a.Ha),a.setActive(c)),a.zd=b)}; +var Lj={0:Ij.prototype.Yo,1:Ij.prototype.Jo,2:Ij.prototype.Ko,3:Ij.prototype.Lo,4:Ij.prototype.No,5:Ij.prototype.Mo,6:Ij.prototype.To},Mj={0:Ij.prototype.oq,1:Ij.prototype.$p,3:Ij.prototype.aq,4:Ij.prototype.bq};Ja(function(){for(var a=cb(window.document,"pcjs","serial"),b=0;bthis.he||0>this.ie)this.he=a.clientX,this.ie=a.clientY;this.ai?(this.Af=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Bf=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Af=a.clientX-this.he,this.Bf=a.clientY-this.ie);(this.Af||this.Bf)&&Rj(this,null,a.clientX,a.clientY);this.he=a.clientX;this.ie=a.clientY}}; +k.gj=function(a,b){if(this.od&&this.N&&this.N.da.jb){var c;!(c=!1!==this.ai)&&(c=this.video)&&(c=this.video,c=c.Xn?c.lf(!0):!1);c||(this.ai=null);switch(a){case 0:this.Xh!=b&&(this.Xh=b,Rj(this,"mouse button1 "+(b?"dn":"up")));break;case 2:this.Yh!=b&&(this.Yh=b,Rj(this,"mouse button2 "+(b?"dn":"up")))}}}; +function Rj(a,b,c,d){var e=64|(a.Xh?32:0)|(a.Yh?16:0)|(a.Bf&192)>>4|(a.Af&192)>>6,f=a.Af&63,g=a.Bf&63;a.oa(2097152)&&a.Wa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+m(e)+","+m(f)+","+m(g)+"]",0,!0);Kj(a.Hg,[e,f,g]);a.Af=a.Bf=0}Ja(function(){for(var a=cb(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.eb=Array(g.yb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Wj(this,b),this.bi=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=va()+"/api/v1/dump?"+ +c+"="+encodeURIComponent(b)+(this.Tf?"":d)+"&format=json")),ua(f,!0,null,this,this.Sn,b)}; +k.Sn=function(a,b,c,d){var e=null;this.Uf=!1;var f=0>c&&this.Ba&&!this.Ba.da.$b;if(this.bi)c?this.X.Ca('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Vd=!0,e=this);else if(c)this.X.Ca('Unable to load disk "'+this.Jd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& '["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)wa(h[0]);else{this.yb=h.length;this.zb=h[0].length;this.Db=h[0][0].length;var t=h[0][0][0];this.qb=t&&t.length||512;for(b=a=0;b>2,B=t.pattern;void 0===B&&(B=t.pattern=0);var J=t.data;if(void 0===J){var C=t.bytes;if(void 0!==C&&C.length){for(var f= -r<<2,E=C.length;Eb&&(b=0);2E3b&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function ak(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.Tf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Gc?f=a.qd+a.Gc&&(a.Gc+=f-(a.qd+a.Gc)+1):(a.qd=f,a.Gc=1);d[f]=d[f]&~(255<=this.eb.length||t>=this.eb[h].length||r>=this.eb[h][t].length){c="sector (CHS="+h+":"+t+":"+r+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.Tf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.eb[h][t][r]){for(t=h.data.length;tb&&-2!=b&&this.X.Ca("Unable to restore disk '"+this.Jd+": "+c);return b}; +k.seek=function(a,b,c,d,e){var f=null,g=this.Oa,h=this.eb[a];if(h){var t=h[b];if(!t&&g.Zi&&b>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function bk(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} +k.write=function(a,b,c){if(this.Uf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Gc?f=a.qd+a.Gc&&(a.Gc+=f-(a.qd+a.Gc)+1):(a.qd=f,a.Gc=1);d[f]=d[f]&~(255<=this.eb.length||t>=this.eb[h].length||r>=this.eb[h][t].length){c="sector (CHS="+h+":"+t+":"+r+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.Uf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.eb[h][t][r]){for(t=h.data.length;tb&&-2!=b&&this.X.Ca("Unable to restore disk '"+this.Jd+": "+c);return b}; k.toJSON=function(){var a=JSON.stringify(this.eb),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}; -function bk(a){p.call(this,"FDC",a,bk,262144);this.dmaRead=this.lj;this.dmaWrite=this.mj;this.dmaFormat=this.Pn;this.cf=null;if(a.autoMount&&(this.cf=a.autoMount,"string"==typeof this.cf))try{this.cf=eval("("+a.autoMount+")")}catch(b){wa("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.cf=null}this.Ac=[];this.Fl=!Ca("Mobi")&&window&&"FileReader"in window}Xa(p,bk);l={};aa={}; -var ck={3:{Rd:3,ve:0,name:aa.jr},4:{Rd:2,ve:1,name:aa.hr},5:{Rd:9,ve:7,name:aa.vr},6:{Rd:9,ve:7,name:aa.br},7:{Rd:2,ve:0,name:aa.dr},8:{Rd:1,ve:2,name:aa.ir},10:{Rd:2,ve:7,name:aa.cr},13:{Rd:6,ve:7,name:aa.Oq},15:{Rd:3,ve:0,name:aa.gr}};k=bk.prototype; -k.Fb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){wa("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&dk(d,a)}, -!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&ek(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Fl?(this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ek(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; -k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.fa=sb(a,"ChipSet");this.Zd();bc(b,this,fk);fc(b,this,gk);this.Fl&&hk(this,"Local Disk","?");hk(this,"Remote Disk","??");this.wg()||ib(this)}; -k.fc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ba.vj){this.Ac=[];for(var c=0;c'+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ra[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&ek(d,a)}, +!0;case "loadDrive":return this.ra[b]=c,c.onclick=function(){var a=d.ra.listDisks;a&&fk(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Fl?(this.ra[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;fk(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; +k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.fa=sb(a,"ChipSet");this.Zd();bc(b,this,gk);fc(b,this,hk);this.Fl&&ik(this,"Local Disk","?");ik(this,"Remote Disk","??");this.wg()||ib(this)}; +k.fc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ba.vj){this.Ac=[];for(var c=0;ca.sa.restore(g)&&(e=!1);e&&a.sa&&void 0!==a.Pa&&(a.Ta=a.sa.seek(a.vb,a.Na,a.Za));return e};k.Qk=function(){for(var a=0,b=[],c=0;ca.yb||f[1]>a.zb)&&(this.Ca('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.sa=b,a.qn=c,a.vf=d,lk(this,c,d,b),f=b.info(),this.Me|=128,this.Ca('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.hf||e),a.pi=f[0],a.ah=f[1],a.bh=f[2]):a.Qf=!1;a.hf&&(a.hf=!1,--this.$e||ib(this));dk(this,a.kb)}; -function hk(a,b,c){if(a=a.qa.listDisks){for(var d=0;d=this.ib&&(this.ya&=-81,this.Ab=this.ib=0);return c}; -k.Up=function(a,b,c){this.oa()&&q(this,a,b,c,"DATA["+this.ib+"]");this.ib=ck[a].Rd){b=!1;this.Ab=0;a=this.Sa();var d,e,f,g,h=a&31;switch(h){case 3:this.Sa(l.kr);this.Sa(l.Rq);this.Xb();break;case 4:c=this.Sa(l.ng);this.kb=c&3;d=this.Aa[this.kb];this.Xb();this.lc((d.bb&-16777216)>>>24,l.nr);break;case 5:case 6:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];d.Na=b;c=d.vb=this.Sa(l.Xk);e=this.Sa(l.Yk);f=d.Za= -this.Sa(l.$k);g=this.Sa(l.Mi);d.hb=128<>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=d.Za=1;g=0;d.bb=0;d.sa&&(d.Ta=d.sa.seek(d.vb,d.Na,d.Za))?g=d.Ta.length:d.bb=72;mk(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=1;g=this.Sa(l.Mi);d.hb=128<>2&1,c=this.Sa(l.Xq),d.vb+=c-d.qe,0>d.vb&&(d.vb=0),d.vb>=d.yb&&(d.vb=d.yb-1),d.qe=c,d.bb=32,d.vb||(d.bb|=268435456),this.Xb(),b=!0}0>>8,l.lr);a.lc((b.bb&16711680)>>>16,l.mr);var t=0;if(e!=b.vb||f!=b.Na)t=g=1;c&128&&(f^=t,d||(t=0));a.lc(e+t,l.Xk);a.lc(f,l.Yk);a.lc(g,l.$k);a.lc(h,l.Mi)}k.Sa=function(){var a=this.mc[this.Ab];this.Ab++;return a};k.Xb=function(){this.Ab=this.ib=0};k.lc=function(a){this.mc[this.ib++]=a};k.lj=function(a,b,c){void 0===b||0>b?this.Eb(a,c):c(-1,!1)}; -k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Pn=function(a,b){return void 0!==b&&0<=b?this.Sk(a,b):-1};k.Eb=function(a,b){var c=-1,d=null,e=0;if(!a.bb&&a.sa){do{if(a.Ta&&(e=a.Pa,0<=(c=ak(a.Ta,a.Pa++)))){d=a.Ta;break}a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=1088;break}a.Pa=0;this.vg(a)}while(1)}b(c,!1,d,e)}; -k.Ib=function(a,b){if(a.bb||!a.sa)return-1;do{if(a.Ta&&a.sa.write(a.Ta,a.Pa++,b))break;a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=8256;b=-1;break}a.Pa=0;this.vg(a)}while(1);return b};k.vg=function(a){a.Za++;a.Za>=a.bh+1&&(a.Za=1,a.Na++,a.Na>=a.ah&&(a.Na=0,a.vb++))};k.Sk=function(a,b){if(a.bb)return-1;a.Qc[a.If++]=b;if(a.If==a.Qc.length){a.vb=a.Qc[0];a.Na=a.Qc[1];a.Za=a.Qc[2];a.hb=128<this.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b}; -var fk={1012:bk.prototype.Eo,1013:bk.prototype.Co,1015:bk.prototype.Do},gk={1010:bk.prototype.Vp,1013:bk.prototype.Up,1015:bk.prototype.Tp};Ja(function(){for(var a=cb(window.document,"pcjs","fdc"),b=0;b=e&&(this.gg|=(f.type&3)<<(1-e<<1))}return d}; -k.Ok=function(){var a=0,b=[];this.gf?(b[a++]=this.Le,b[a++]=this.pn,b[a++]=this.Ne,b[a++]=this.Bi,b[a++]=this.zi,b[a++]=this.yi,b[a++]=this.hg,b[a++]=this.ya,b[a++]=this.Kk,b[a++]=this.Ai):(b[a++]=this.gg,b[a++]=this.ya,b[a++]=this.mc,b[a++]=this.Ab,b[a++]=this.ib,b[a++]=this.on,b[a++]=this.nn,b[a++]=this.mn,b[a++]=this.Wf);b[a]=this.Qk();return b}; -k.Gj=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.kb=a;b.errorCode=d[f++];b.vn=d[f++];b.Sf=d[f++];b.Ff=d[f++];b.Gf=d[f++];b.Na=d[f++];b.zb=d[f++];b.ge=d[f++];b.Za=d[f++];b.se=d[f++];b.hb=d[f++];b.Mh=this.gf?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Ce()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===ok[this.Rg][b.type])b.type=this.io;c=ok[this.Rg][b.type]; -b.Db=c[2]||17;b.qb=c[3]||512;if(e&&this.fa&&(e=this.fa,c=b.type,e.ea)){var h=e.ea[18],h=a?h&240|c:h&15|c<<4;e.ea&&(e.ea[18]=h,ih(e))}void 0===b.sa&&(b.sa=null,this.Ca("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));tk(this,b);b.Pa=d[f++];b.Ta=null;b.sa&&(a=d[f],void 0!==a&&0>b.sa.restore(a)&&(g=!1),g&&void 0!==b.Pa&&(b.Ta=b.sa.seek(b.ge,b.Na,b.Za+b.Mh)));return g};k.Qk=function(){for(var a=0,b=[],c=0;ca.sa.restore(g)&&(e=!1);e&&a.sa&&void 0!==a.Pa&&(a.Ta=a.sa.seek(a.vb,a.Na,a.Za));return e};k.Qk=function(){for(var a=0,b=[],c=0;ca.yb||f[1]>a.zb)&&(this.Ca('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.sa=b,a.qn=c,a.wf=d,mk(this,c,d,b),f=b.info(),this.Me|=128,this.Ca('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.hf||e),a.pi=f[0],a.ah=f[1],a.bh=f[2]):a.Rf=!1;a.hf&&(a.hf=!1,--this.$e||ib(this));ek(this,a.kb)}; +function ik(a,b,c){if(a=a.ra.listDisks){for(var d=0;d=this.ib&&(this.ya&=-81,this.Ab=this.ib=0);return c}; +k.Up=function(a,b,c){this.oa()&&q(this,a,b,c,"DATA["+this.ib+"]");this.ib=dk[a].Rd){b=!1;this.Ab=0;a=this.Sa();var d,e,f,g,h=a&31;switch(h){case 3:this.Sa(l.kr);this.Sa(l.Rq);this.Xb();break;case 4:c=this.Sa(l.ng);this.kb=c&3;d=this.Aa[this.kb];this.Xb();this.lc((d.bb&-16777216)>>>24,l.nr);break;case 5:case 6:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];d.Na=b;c=d.vb=this.Sa(l.Xk);e=this.Sa(l.Yk);f=d.Za= +this.Sa(l.$k);g=this.Sa(l.Mi);d.hb=128<>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=d.Za=1;g=0;d.bb=0;d.sa&&(d.Ta=d.sa.seek(d.vb,d.Na,d.Za))?g=d.Ta.length:d.bb=72;nk(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=1;g=this.Sa(l.Mi);d.hb=128<>2&1,c=this.Sa(l.Xq),d.vb+=c-d.qe,0>d.vb&&(d.vb=0),d.vb>=d.yb&&(d.vb=d.yb-1),d.qe=c,d.bb=32,d.vb||(d.bb|=268435456),this.Xb(),b=!0}0>>8,l.lr);a.lc((b.bb&16711680)>>>16,l.mr);var t=0;if(e!=b.vb||f!=b.Na)t=g=1;c&128&&(f^=t,d||(t=0));a.lc(e+t,l.Xk);a.lc(f,l.Yk);a.lc(g,l.$k);a.lc(h,l.Mi)}k.Sa=function(){var a=this.mc[this.Ab];this.Ab++;return a};k.Xb=function(){this.Ab=this.ib=0};k.lc=function(a){this.mc[this.ib++]=a};k.lj=function(a,b,c){void 0===b||0>b?this.Eb(a,c):c(-1,!1)}; +k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Pn=function(a,b){return void 0!==b&&0<=b?this.Sk(a,b):-1};k.Eb=function(a,b){var c=-1,d=null,e=0;if(!a.bb&&a.sa){do{if(a.Ta&&(e=a.Pa,0<=(c=bk(a.Ta,a.Pa++)))){d=a.Ta;break}a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=1088;break}a.Pa=0;this.vg(a)}while(1)}b(c,!1,d,e)}; +k.Ib=function(a,b){if(a.bb||!a.sa)return-1;do{if(a.Ta&&a.sa.write(a.Ta,a.Pa++,b))break;a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=8256;b=-1;break}a.Pa=0;this.vg(a)}while(1);return b};k.vg=function(a){a.Za++;a.Za>=a.bh+1&&(a.Za=1,a.Na++,a.Na>=a.ah&&(a.Na=0,a.vb++))};k.Sk=function(a,b){if(a.bb)return-1;a.Qc[a.Jf++]=b;if(a.Jf==a.Qc.length){a.vb=a.Qc[0];a.Na=a.Qc[1];a.Za=a.Qc[2];a.hb=128<this.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b}; +var gk={1012:ck.prototype.Eo,1013:ck.prototype.Co,1015:ck.prototype.Do},hk={1010:ck.prototype.Vp,1013:ck.prototype.Up,1015:ck.prototype.Tp};Ja(function(){for(var a=cb(window.document,"pcjs","fdc"),b=0;b=e&&(this.hg|=(f.type&3)<<(1-e<<1))}return d}; +k.Ok=function(){var a=0,b=[];this.gf?(b[a++]=this.Le,b[a++]=this.pn,b[a++]=this.Ne,b[a++]=this.Bi,b[a++]=this.zi,b[a++]=this.yi,b[a++]=this.ig,b[a++]=this.ya,b[a++]=this.Kk,b[a++]=this.Ai):(b[a++]=this.hg,b[a++]=this.ya,b[a++]=this.mc,b[a++]=this.Ab,b[a++]=this.ib,b[a++]=this.on,b[a++]=this.nn,b[a++]=this.mn,b[a++]=this.Xf);b[a]=this.Qk();return b}; +k.Gj=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.kb=a;b.errorCode=d[f++];b.vn=d[f++];b.Tf=d[f++];b.Gf=d[f++];b.Hf=d[f++];b.Na=d[f++];b.zb=d[f++];b.ge=d[f++];b.Za=d[f++];b.se=d[f++];b.hb=d[f++];b.Mh=this.gf?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Ce()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===pk[this.Rg][b.type])b.type=this.io;c=pk[this.Rg][b.type]; +b.Db=c[2]||17;b.qb=c[3]||512;if(e&&this.fa&&(e=this.fa,c=b.type,e.ea)){var h=e.ea[18],h=a?h&240|c:h&15|c<<4;e.ea&&(e.ea[18]=h,jh(e))}void 0===b.sa&&(b.sa=null,this.Ca("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));uk(this,b);b.Pa=d[f++];b.Ta=null;b.sa&&(a=d[f],void 0!==a&&0>b.sa.restore(a)&&(g=!1),g&&void 0!==b.Pa&&(b.Ta=b.sa.seek(b.ge,b.Na,b.Za+b.Mh)));return g};k.Qk=function(){for(var a=0,b=[],c=0;c=this.ib&&(this.Ab=this.ib=0,this.ya&=-15);return c}; -k.qq=function(a,b,c){q(this,a,b,c,"DATA["+this.ib+"]");this.ib=a&&(this.ya|=2,this.ya&=-2,uk(this))};k.ep=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);this.Ab=this.ib&&(this.Ab=this.ib=0,this.ya&=-15);return c}; +k.qq=function(a,b,c){q(this,a,b,c,"DATA["+this.ib+"]");this.ib=a&&(this.ya|=2,this.ya&=-2,vk(this))};k.ep=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);this.Ab=this.Oa.qb?(d.ya=136,this.Eb(this.Oa,function(a){0<=a?(vk(d),d.ya=80):(d.ya=1,d.Le=16)},!1)):this.ya=80)}return c}; -k.Fp=function(a,b,c){this.Oa&&this.Oa.hb>=this.Oa.qb&&(0>this.Ib(this.Oa,b)?(this.ya=1,this.Le=16):1==this.Oa.Pa?this.oa(524416)&&q(this,a,b,c,"DATA["+this.Oa.Pa+"]"):this.Oa.Pa==this.Oa.qb&&(this.Oa.hb-=this.Oa.qb,this.Ne=this.Ne-1&255,vk(this),this.ya=80,this.Oa.hb>=this.Oa.qb&&(this.ya|=8)))};k.ro=function(a,b){var c=this.Le;q(this,a,null,b,"ERROR",c);return c};k.Kp=function(a,b,c){q(this,a,b,c,"WPREC");this.pn=b};k.so=function(a,b){var c=this.Ne;q(this,a,null,b,"SECCNT",c);return c}; -k.Ip=function(a,b,c){q(this,a,b,c,"SECCNT");this.Ne=b};k.to=function(a,b){var c=this.Bi;q(this,a,null,b,"SECNUM",c);return c};k.Jp=function(a,b,c){q(this,a,b,c,"SECNUM");this.Bi=b};k.oo=function(a,b){var c=this.zi;q(this,a,null,b,"CYLLO",c);return c};k.Ep=function(a,b,c){q(this,a,b,c,"CYLLO");this.zi=b};k.no=function(a,b){var c=this.yi;q(this,a,null,b,"CYLHI",c);return c};k.Dp=function(a,b,c){q(this,a,b,c,"CYLHI");this.yi=b};k.qo=function(a,b){var c=this.hg;q(this,a,null,b,"DRVHD",c);return c}; -k.Gp=function(a,b,c){q(this,a,b,c,"DRVHD");this.hg=b;this.ya=this.Aa[this.hg&16?1:0]?this.ya|64:this.ya&-65};k.uo=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);return c};k.Cp=function(a,b,c){q(this,a,b,c,"COMMAND");this.Kk=b;this.fa&&Oh(this.fa,14);wk(this)};k.Hp=function(a,b,c){q(this,a,b,c,"FDR");this.Ai&4&&!(b&4)&&(this.Le=1);this.Ai=b}; -function wk(a){var b=!1,c=a.Kk,d=a.hg&16?1:0,e=a.hg&15,f=a.zi|(a.yi&3)<<8,g=a.Bi,h=a.Ne||256;a.Oa=null;a.Le=0;a.ya=80;(d=a.Aa[d])?(d.ge=f,d.Na=e,d.Za=g,d.hb=h*d.qb,c=144<=c?c:c&240,d.Ta=null,d.Pa=0,d.errorCode=0,a.Oa=d):c=-1;switch(c&240){case 32:a.ya=136;a.Eb(d,function(b){0<=b&&a.fa?(vk(a),a.ya=80):(a.ya=1,a.Le=16)},!1);break;case 48:a.ya=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Le=1;b=!0;break;case 145:d.zb=e+1,d.Db=h,b=!0}b&&vk(a)} -function vk(a){!a.fa||a.Ai&2||Nh(a.fa,14,120)} -function uk(a){a.Ab=0;var b=a.Sa(),c=a.Sa(),d=c&32,e=d>>5,f=c&31,g=a.Sa(),h=a.Sa(),t=g<<2&768|h,r=g&63,B=a.Sa(),J=a.Sa(),C=a.Aa[e];C&&(C.ge=t,C.Na=f,C.Za=r,C.hb=B*C.qb);switch(b){case 3:a.Xb(C?C.errorCode:4);a.lc(c);a.lc(g);a.lc(h);a.lc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Sa());)C&&cb?this.Eb(a,c):c(-1,!1)}; -k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Qn=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Pa=this.Oa.qb?(d.ya=136,this.Eb(this.Oa,function(a){0<=a?(wk(d),d.ya=80):(d.ya=1,d.Le=16)},!1)):this.ya=80)}return c}; +k.Fp=function(a,b,c){this.Oa&&this.Oa.hb>=this.Oa.qb&&(0>this.Ib(this.Oa,b)?(this.ya=1,this.Le=16):1==this.Oa.Pa?this.oa(524416)&&q(this,a,b,c,"DATA["+this.Oa.Pa+"]"):this.Oa.Pa==this.Oa.qb&&(this.Oa.hb-=this.Oa.qb,this.Ne=this.Ne-1&255,wk(this),this.ya=80,this.Oa.hb>=this.Oa.qb&&(this.ya|=8)))};k.ro=function(a,b){var c=this.Le;q(this,a,null,b,"ERROR",c);return c};k.Kp=function(a,b,c){q(this,a,b,c,"WPREC");this.pn=b};k.so=function(a,b){var c=this.Ne;q(this,a,null,b,"SECCNT",c);return c}; +k.Ip=function(a,b,c){q(this,a,b,c,"SECCNT");this.Ne=b};k.to=function(a,b){var c=this.Bi;q(this,a,null,b,"SECNUM",c);return c};k.Jp=function(a,b,c){q(this,a,b,c,"SECNUM");this.Bi=b};k.oo=function(a,b){var c=this.zi;q(this,a,null,b,"CYLLO",c);return c};k.Ep=function(a,b,c){q(this,a,b,c,"CYLLO");this.zi=b};k.no=function(a,b){var c=this.yi;q(this,a,null,b,"CYLHI",c);return c};k.Dp=function(a,b,c){q(this,a,b,c,"CYLHI");this.yi=b};k.qo=function(a,b){var c=this.ig;q(this,a,null,b,"DRVHD",c);return c}; +k.Gp=function(a,b,c){q(this,a,b,c,"DRVHD");this.ig=b;this.ya=this.Aa[this.ig&16?1:0]?this.ya|64:this.ya&-65};k.uo=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);return c};k.Cp=function(a,b,c){q(this,a,b,c,"COMMAND");this.Kk=b;this.fa&&Ph(this.fa,14);xk(this)};k.Hp=function(a,b,c){q(this,a,b,c,"FDR");this.Ai&4&&!(b&4)&&(this.Le=1);this.Ai=b}; +function xk(a){var b=!1,c=a.Kk,d=a.ig&16?1:0,e=a.ig&15,f=a.zi|(a.yi&3)<<8,g=a.Bi,h=a.Ne||256;a.Oa=null;a.Le=0;a.ya=80;(d=a.Aa[d])?(d.ge=f,d.Na=e,d.Za=g,d.hb=h*d.qb,c=144<=c?c:c&240,d.Ta=null,d.Pa=0,d.errorCode=0,a.Oa=d):c=-1;switch(c&240){case 32:a.ya=136;a.Eb(d,function(b){0<=b&&a.fa?(wk(a),a.ya=80):(a.ya=1,a.Le=16)},!1);break;case 48:a.ya=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Le=1;b=!0;break;case 145:d.zb=e+1,d.Db=h,b=!0}b&&wk(a)} +function wk(a){!a.fa||a.Ai&2||Oh(a.fa,14,120)} +function vk(a){a.Ab=0;var b=a.Sa(),c=a.Sa(),d=c&32,e=d>>5,f=c&31,g=a.Sa(),h=a.Sa(),t=g<<2&768|h,r=g&63,B=a.Sa(),J=a.Sa(),C=a.Aa[e];C&&(C.ge=t,C.Na=f,C.Za=r,C.hb=B*C.qb);switch(b){case 3:a.Xb(C?C.errorCode:4);a.lc(c);a.lc(g);a.lc(h);a.lc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Sa());)C&&cb?this.Eb(a,c):c(-1,!1)}; +k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Qn=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Pa=a.Db+b&&(a.Za=b,a.Na++,a.Na>=a.zb&&(a.Na=0,a.ge++))}; -k.Sk=function(a,b){if(a.errorCode)return-1;a.Qc[a.If++]=b;if(a.If==a.Qc.length){a.ge=a.Qc[0];a.Na=a.Qc[1];a.Za=a.Qc[2];a.hb=128<this.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b};k.gp=function(){var a=this.N.J&255;!(this.N.G>>8)&&128>8||!this.fa)||(a=!(this.fa.Vb[0].yd&64));return a?!0:!1}; -var qk={800:nk.prototype.dp,801:nk.prototype.ep,802:nk.prototype.cp},pk={496:nk.prototype.po,497:nk.prototype.ro,498:nk.prototype.so,499:nk.prototype.to,500:nk.prototype.oo,501:nk.prototype.no,502:nk.prototype.qo,503:nk.prototype.uo},sk={800:nk.prototype.qq,801:nk.prototype.tq,802:nk.prototype.sq,803:nk.prototype.rq,807:nk.prototype.Ek,811:nk.prototype.Ek,815:nk.prototype.Ek},rk={496:nk.prototype.Fp,497:nk.prototype.Kp,498:nk.prototype.Ip,499:nk.prototype.Jp,500:nk.prototype.Ep,501:nk.prototype.Dp, -502:nk.prototype.Gp,503:nk.prototype.Cp,1014:nk.prototype.Hp};Ja(function(){for(var a=cb(window.document,"pcjs","hdc"),b=0;bthis.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b};k.gp=function(){var a=this.N.J&255;!(this.N.G>>8)&&128>8||!this.fa)||(a=!(this.fa.Vb[0].yd&64));return a?!0:!1}; +var rk={800:ok.prototype.dp,801:ok.prototype.ep,802:ok.prototype.cp},qk={496:ok.prototype.po,497:ok.prototype.ro,498:ok.prototype.so,499:ok.prototype.to,500:ok.prototype.oo,501:ok.prototype.no,502:ok.prototype.qo,503:ok.prototype.uo},tk={800:ok.prototype.qq,801:ok.prototype.tq,802:ok.prototype.sq,803:ok.prototype.rq,807:ok.prototype.Ek,811:ok.prototype.Ek,815:ok.prototype.Ek},sk={496:ok.prototype.Fp,497:ok.prototype.Kp,498:ok.prototype.Ip,499:ok.prototype.Jp,500:ok.prototype.Ep,501:ok.prototype.Dp, +502:ok.prototype.Gp,503:ok.prototype.Cp,1014:ok.prototype.Hp};Ja(function(){for(var a=cb(window.document,"pcjs","hdc"),b=0;b>2;this.Wl=b.Nh;this.sg=Ok;80186<=this.N.za&&(this.sg=Ok.slice(),this.sg[15]=Mk,80286<=this.N.za&&(this.sg[15]=Nk));Yg(this,4,function(a){if(a){var b=Sk(d,a);if(void 0===b)d.R("invalid selector: "+a);else{a=Tk(d,b);d.R("dumpDesc("+n(a.ua)+"): %"+da(a.Od,d.we));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+ -(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.R((b?"seg="+n(a.va&65535)+" off="+n(a.rb):"base="+da(a.va,d.we)+" limit="+da(a.rb,a.rb&-65536?8:4))+" dpl="+m(a.pc)+" type="+m(a.type>>8)+" ("+ -c+") ext="+n(a.Vh&-65296))}}else d.R("no selector")});Yg(this,8,function(a){a:{if(a){var b=Sk(d,a);if(void 0===b){d.R("invalid task selector: "+a);break a}a=Tk(d,b)}else a=d.N.cb;d.R("dumpTSS("+n(a.ua)+"): %"+da(a.va,d.we));var b="",c;for(c in Uk){var e=Uk[c],r=8>c.length?" ":"",B=Yb(d.ha,a.va+e);b&&(b+="\n");b+=n(e)+" "+c+": "+r+n(B)}d.R(b)}});Yg(this,67108864,function(a){if(a)for(d.R("dumpDOS("+a+")"),a=Sk(d,a);a;){var b=[0,a,void 0],c=d.Ra(b,1),e=d.ja(b,2),r=d.ja(b,5);if(77!=c&&90!=c)break;d.R(uc(d, -0,a)+": '"+String.fromCharCode(c)+"' PID="+n(e)+" LEN="+n(r)+' "'+Vk(d,b)+'"');a+=1+r}else d.R("no MCB")});ib(this);if(this.Nk){a=Wk(this,this.Nk);delete this.Nk;for(var e in a)Ek(this,a[e])}}; -Ak.prototype.Fb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ig=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Wk(d,b,!0),h;for(h in g)Ek(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Wce?String.fromCharCode(e):"."}return d} -function Dk(a,b){a.Z=a;a.Yb=a.In=536870912;a.Di=null;a.Ti=[];var c=Wk(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Lk)0<=c.indexOf(d)&&(a.Yb|=Lk[d],a.R(d+" messages enabled"))}function Yg(a,b,c){for(var d in Lk)if(b==Lk[d]){a.Ti[d]=c;break}} -function Xk(a,b){var c="??";if(0<=b){var d,e,f=a.N;switch(b){case 0:d=f.G;e=2;break;case 1:d=f.I;e=2;break;case 2:d=f.J;e=2;break;case 3:d=f.C;e=2;break;case 4:d=f.G>>8;e=2;break;case 5:d=f.I>>8;e=2;break;case 6:d=f.J>>8;e=2;break;case 7:d=f.C>>8;e=2;break;case 8:d=f.G;e=4;break;case 9:d=f.I;e=4;break;case 10:d=f.J;e=4;break;case 11:d=f.C;e=4;break;case 12:d=x(f);e=4;break;case 13:d=f.H;e=4;break;case 14:d=f.F;e=4;break;case 15:d=f.D;e=4;break;case 16:d=f.Ia.ua;e=4;break;case 17:d=Fb(f);e=4;break; -case 18:d=f.xa.ua;e=4;break;case 19:d=f.Xa.ua;e=4;break;case 20:d=f.fs.ua;e=4;break;case 21:d=f.gs.ua;e=4;break;case 22:d=w(f);e=a.Gg;break;case 23:d=Gb(f);e=a.Gg;break;case 24:d=f.G;e=8;break;case 25:d=f.I;e=8;break;case 26:d=f.J;e=8;break;case 27:d=f.C;e=8;break;case 28:d=x(f);e=8;break;case 29:d=f.H;e=8;break;case 30:d=f.F;e=8;break;case 31:d=f.D;e=8;break;case 32:d=f.gc;e=8;break;case 33:d=f.as;e=8;break;case 34:d=f.cs;e=8;break;case 35:d=f.ds,e=8}e&&(c=da(d,e))}return c}k=Ak.prototype; -k.message=function(a,b){b&&(a+=" @"+uc(this,w(this.N),Fb(this.N)));if(!this.Di||a!=this.Di)if(this.R(a),this.Di=a,this.N){this.Yb&1073741824&&this.N.lb();var c=this.N;c.U.bg=0;c.Xc-=c.A;c.A=0;Vc(c)}}; -function ze(a,b,c){var d,e=!1,f=Fk[b];f&&(d=a.N.G>>8,e=a.oa(f)?!0:262144==f&&a.oa(f=524288));if(e){var g=a.N.J&255;if(33==b&&11==d||262144==f&&128<=g||524288==f&&128>g)e=!1}if(e){if(f=(f=Rk[b])&&f[d]||""){for(var h=f,f=0;fa&&(b[0]=0,b[2]=null))}function cl(a,b){return null==b[1]?"%"+da(b[2]):uc(a,b[0],b[1])}function uc(a,b,c){return void 0!==c?n(c)+":"+da(b,8>a.we?4:8):da(b)}function df(a){return 1>>c.Ja;if(e>>f|c.pa[d+1&c.Tc].oh(0)<<32-f;void 0!==b&&bl(this,a,b)}return c};k.td=function(a,b,c){var d=el(this,a,!0,0);if(d!=u){var e=this.ha;e.pa[(d&e.gb)>>>e.Ja].mg(d&e.Ea,b&255);void 0!==c&&bl(this,a,c);Vc(this.N)}}; -k.Ma=function(a,b,c){var d=el(this,a,!0,1);d!=u&&(Zb(this.ha,d,b),void 0!==c&&bl(this,a,c),Vc(this.N))};function Bk(a){var b;a.zc=["exec"];if(void 0!==a.ke)for(b=1;b>>c.Ja],!1)}a.ke=["read"];if(void 0!==a.ed)for(b=1;b>>c.Ja],!0);a.ed=["write"]} -k.oe=function(a,b,c){if(!fl(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.ha,e=el(this,b);d.pa[e>>>d.Ja].oe(e&d.Ea,a==this.ed)}c||this.R("breakpoint enabled: "+cl(this,b)+" ("+a[0]+")");Ck(this);return!0}return!1}; -function fl(a,b,c,d){var e=!1;c=gl(a,el(a,c));for(var f=1;f>>d.Ja],b==a.ed));g[3]||a.R("breakpoint cleared: "+cl(a,g)+" ("+b[0]+")");Ck(a);break}a.R("breakpoint exists: "+cl(a,g)+" ("+b[0]+")");break}}return e}function hl(a,b){for(var c=1;c=b&&f>>g.Ja].oe(f&g.Ea,d==a.ed)}}}function al(a,b){if(void 0!==b)dl(a,b,a.zc,!0),a.uc=0;else for(var c=1;c=Hk.length&&(t=a.Ra(b,1),g=Qk[h-Hk.length][t>>3&7]);var h=Hk[g[0]],r=2,B="";(164<=f&&167>=f||170<=f&&175>=f)&&(r=0);for(var f=null,J=1;J<=r;J++){var C="",E=g[J];if(void 0!==E){null==f&&(f=E>>14);var N=E&15;if(0!=N&&15!=N){var M=E&240;if(128<=M)if(0>t&&(t=a.Ra(b,1)),160<=M)C=jl(a,t>>3&7,E,b);else{var C=a,M=E,E=b,Q="",N=t>>6,Q=t&7;3>N?(M=void 0,N||6!=Q?(E[5]&&(Q+=8),Q=Kk[Q], -1==N?(M=C.Ra(E,1),M&128?(M=M<<24>>24,Q+="-"+m(-M)):Q+="+"+m(M)):2==N&&(M=C.ja(E,2),Q+="+"+n(M))):(M=C.ja(E,2),Q=n(M)),Q="["+Q+"]"):Q=jl(C,Q,M,E);C=Q}else if(16==M)C="1";else if(0==M){C=a;N=E;E=b;M=" ";switch(N&15){case 1:N&12288&&(M=m(C.Ra(E,1)));break;case 2:M=n(C.Ra(E,1)<<24>>24);break;case 4:if(E[4]){M=da(C.Bj(E,4));break}case 3:M=n(C.ja(E,2));break;case 6:N=C;M=C.ja(E,2);C=C.ja(E,2);M=cl(N,[M,C,void 0]);break;default:M="imm("+n(N)+")"}C=M}else 32==M?C="["+n(a.ja(b,2))+"]":48==M?(1==N?(C=a.Ra(b, -1),C=C<<24>>24):C=a.ja(b,2),C=b[0]+C&65535,C=kl(a,[C,b[1],void 0])[0]||n(C)):96==M?C=jl(a,(E&3840)>>8,E,b):112==M?C=jl(a,(E&3840)>>8,176,b):64==M?C="DS:[SI]":80==M&&(C="ES:[DI]");if(!C||!C.length){B="INVALID";break}0a.N.za)return"??";b+=16}else if(208==e)b+=32;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d[4]))b+=16;return Jk[b]} -function ll(a,b){var c;switch(b){case "V":c=Pe(a.N);break;case "D":c=a.N.wa&Ib;break;case "I":c=a.N.wa&Jb;break;case "T":c=a.N.wa&Kb;break;case "S":c=Oe(a.N);break;case "Z":c=Ne(a.N);break;case "A":c=Me(a.N);break;case "P":c=Le(a.N);break;case "C":c=Ke(a.N);break;default:c=0}return b+(c?"1":"0")+" "}function ml(a,b){8<=b&&15>=b&&4>>4),d[0]=g,d[1]=h,void 0!==t.p&&(d[2]=t.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Sk(a,b),d=null):d=Sk(a,b):(e=Sk(a,b.substring(0,d)),c=Sk(a,b.substring(d+1)), -d=null)}return[c,e,d]}function Sk(a,b,c){var d;void 0!==b?(d=Jk.indexOf(b.toUpperCase()),0<=d&&(b=Xk(a,d)),d=ca(b),void 0===d&&a.R("invalid "+(c?c:"value")+": "+b)):a.R("missing "+(c||"value"));return d}function di(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.R("out of data at address "+cl(a,b)),B=!0):(a.td(b,c,1),r++)})})(a,g);a.R(r+" bytes read at "+c)}else a.R("sector "+e+" request out of range");else a.R("drive "+d+" not loaded");else a.R("invalid drive: "+d)}else a.R("disk controller not present")}}} -function Zk(a,b,c){if(b&&"?"==b[1])a.R("\nregister commands:"),a.R("\tr\t\tdisplay all registers"),a.R("\tr [target=#]\tmodify target register"),a.R("supported targets:"),a.R("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1>2;this.Wl=b.Nh;this.sg=Pk;80186<=this.N.za&&(this.sg=Pk.slice(),this.sg[15]=Nk,80286<=this.N.za&&(this.sg[15]=Ok));Zg(this,4,function(a){if(a){var b=Tk(d,a);if(void 0===b)d.R("invalid selector: "+a);else{a=Uk(d,b);d.R("dumpDesc("+n(a.va)+"): %"+da(a.Od,d.we));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+ +(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.R((b?"seg="+n(a.ta&65535)+" off="+n(a.rb):"base="+da(a.ta,d.we)+" limit="+da(a.rb,a.rb&-65536?8:4))+" dpl="+m(a.pc)+" type="+m(a.type>>8)+" ("+ +c+") ext="+n(a.Vh&-65296))}}else d.R("no selector")});Zg(this,8,function(a){a:{if(a){var b=Tk(d,a);if(void 0===b){d.R("invalid task selector: "+a);break a}a=Uk(d,b)}else a=d.N.cb;d.R("dumpTSS("+n(a.va)+"): %"+da(a.ta,d.we));var b="",c;for(c in Vk){var e=Vk[c],r=8>c.length?" ":"",B=Yb(d.ha,a.ta+e);b&&(b+="\n");b+=n(e)+" "+c+": "+r+n(B)}d.R(b)}});Zg(this,67108864,function(a){if(a)for(d.R("dumpDOS("+a+")"),a=Tk(d,a);a;){var b=[0,a,void 0],c=d.Ra(b,1),e=d.ja(b,2),r=d.ja(b,5);if(77!=c&&90!=c)break;d.R(uc(d, +0,a)+": '"+String.fromCharCode(c)+"' PID="+n(e)+" LEN="+n(r)+' "'+Wk(d,b)+'"');a+=1+r}else d.R("no MCB")});ib(this);if(this.Nk){a=Xk(this,this.Nk);delete this.Nk;for(var e in a)Fk(this,a[e])}}; +Bk.prototype.Fb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ig=this.ra[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Xk(d,b,!0),h;for(h in g)Fk(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Wce?String.fromCharCode(e):"."}return d} +function Ek(a,b){a.Z=a;a.Yb=a.In=536870912;a.Di=null;a.Ti=[];var c=Xk(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Mk)0<=c.indexOf(d)&&(a.Yb|=Mk[d],a.R(d+" messages enabled"))}function Zg(a,b,c){for(var d in Mk)if(b==Mk[d]){a.Ti[d]=c;break}} +function Yk(a,b){var c="??";if(0<=b){var d,e,f=a.N;switch(b){case 0:d=f.G;e=2;break;case 1:d=f.I;e=2;break;case 2:d=f.J;e=2;break;case 3:d=f.C;e=2;break;case 4:d=f.G>>8;e=2;break;case 5:d=f.I>>8;e=2;break;case 6:d=f.J>>8;e=2;break;case 7:d=f.C>>8;e=2;break;case 8:d=f.G;e=4;break;case 9:d=f.I;e=4;break;case 10:d=f.J;e=4;break;case 11:d=f.C;e=4;break;case 12:d=x(f);e=4;break;case 13:d=f.H;e=4;break;case 14:d=f.F;e=4;break;case 15:d=f.D;e=4;break;case 16:d=f.Ia.va;e=4;break;case 17:d=Fb(f);e=4;break; +case 18:d=f.xa.va;e=4;break;case 19:d=f.Xa.va;e=4;break;case 20:d=f.fs.va;e=4;break;case 21:d=f.gs.va;e=4;break;case 22:d=w(f);e=a.Gg;break;case 23:d=Gb(f);e=a.Gg;break;case 24:d=f.G;e=8;break;case 25:d=f.I;e=8;break;case 26:d=f.J;e=8;break;case 27:d=f.C;e=8;break;case 28:d=x(f);e=8;break;case 29:d=f.H;e=8;break;case 30:d=f.F;e=8;break;case 31:d=f.D;e=8;break;case 32:d=f.gc;e=8;break;case 33:d=f.as;e=8;break;case 34:d=f.cs;e=8;break;case 35:d=f.ds,e=8}e&&(c=da(d,e))}return c}k=Bk.prototype; +k.message=function(a,b){b&&(a+=" @"+uc(this,w(this.N),Fb(this.N)));if(!this.Di||a!=this.Di)if(this.R(a),this.Di=a,this.N){this.Yb&1073741824&&this.N.lb();var c=this.N;c.U.cg=0;c.Xc-=c.A;c.A=0;Vc(c)}}; +function ze(a,b,c){var d,e=!1,f=Gk[b];f&&(d=a.N.G>>8,e=a.oa(f)?!0:262144==f&&a.oa(f=524288));if(e){var g=a.N.J&255;if(33==b&&11==d||262144==f&&128<=g||524288==f&&128>g)e=!1}if(e){if(f=(f=Sk[b])&&f[d]||""){for(var h=f,f=0;fa&&(b[0]=0,b[2]=null))}function dl(a,b){return null==b[1]?"%"+da(b[2]):uc(a,b[0],b[1])}function uc(a,b,c){return void 0!==c?n(c)+":"+da(b,8>a.we?4:8):da(b)}function ff(a){return 1>>c.Ja;if(e>>f|c.qa[d+1&c.Tc].oh(0)<<32-f;void 0!==b&&cl(this,a,b)}return c};k.td=function(a,b,c){var d=fl(this,a,!0,0);if(d!=u){var e=this.ha;e.qa[(d&e.gb)>>>e.Ja].mg(d&e.Ea,b&255);void 0!==c&&cl(this,a,c);Vc(this.N)}}; +k.Ma=function(a,b,c){var d=fl(this,a,!0,1);d!=u&&(Zb(this.ha,d,b),void 0!==c&&cl(this,a,c),Vc(this.N))};function Ck(a){var b;a.zc=["exec"];if(void 0!==a.ke)for(b=1;b>>c.Ja],!1)}a.ke=["read"];if(void 0!==a.ed)for(b=1;b>>c.Ja],!0);a.ed=["write"]} +k.oe=function(a,b,c){if(!gl(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.ha,e=fl(this,b);d.qa[e>>>d.Ja].oe(e&d.Ea,a==this.ed)}c||this.R("breakpoint enabled: "+dl(this,b)+" ("+a[0]+")");Dk(this);return!0}return!1}; +function gl(a,b,c,d){var e=!1;c=hl(a,fl(a,c));for(var f=1;f>>d.Ja],b==a.ed));g[3]||a.R("breakpoint cleared: "+dl(a,g)+" ("+b[0]+")");Dk(a);break}a.R("breakpoint exists: "+dl(a,g)+" ("+b[0]+")");break}}return e}function il(a,b){for(var c=1;c=b&&f>>g.Ja].oe(f&g.Ea,d==a.ed)}}}function bl(a,b){if(void 0!==b)el(a,b,a.zc,!0),a.uc=0;else for(var c=1;c=Ik.length&&(t=a.Ra(b,1),g=Rk[h-Ik.length][t>>3&7]);var h=Ik[g[0]],r=2,B="";(164<=f&&167>=f||170<=f&&175>=f)&&(r=0);for(var f=null,J=1;J<=r;J++){var C="",E=g[J];if(void 0!==E){null==f&&(f=E>>14);var N=E&15;if(0!=N&&15!=N){var M=E&240;if(128<=M)if(0>t&&(t=a.Ra(b,1)),160<=M)C=kl(a,t>>3&7,E,b);else{var C=a,M=E,E=b,Q="",N=t>>6,Q=t&7;3>N?(M=void 0,N||6!=Q?(E[5]&&(Q+=8),Q=Lk[Q], +1==N?(M=C.Ra(E,1),M&128?(M=M<<24>>24,Q+="-"+m(-M)):Q+="+"+m(M)):2==N&&(M=C.ja(E,2),Q+="+"+n(M))):(M=C.ja(E,2),Q=n(M)),Q="["+Q+"]"):Q=kl(C,Q,M,E);C=Q}else if(16==M)C="1";else if(0==M){C=a;N=E;E=b;M=" ";switch(N&15){case 1:N&12288&&(M=m(C.Ra(E,1)));break;case 2:M=n(C.Ra(E,1)<<24>>24);break;case 4:if(E[4]){M=da(C.Bj(E,4));break}case 3:M=n(C.ja(E,2));break;case 6:N=C;M=C.ja(E,2);C=C.ja(E,2);M=dl(N,[M,C,void 0]);break;default:M="imm("+n(N)+")"}C=M}else 32==M?C="["+n(a.ja(b,2))+"]":48==M?(1==N?(C=a.Ra(b, +1),C=C<<24>>24):C=a.ja(b,2),C=b[0]+C&65535,C=ll(a,[C,b[1],void 0])[0]||n(C)):96==M?C=kl(a,(E&3840)>>8,E,b):112==M?C=kl(a,(E&3840)>>8,176,b):64==M?C="DS:[SI]":80==M&&(C="ES:[DI]");if(!C||!C.length){B="INVALID";break}0a.N.za)return"??";b+=16}else if(208==e)b+=32;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d[4]))b+=16;return Kk[b]} +function ml(a,b){var c;switch(b){case "V":c=Pe(a.N);break;case "D":c=a.N.wa&Ib;break;case "I":c=a.N.wa&Jb;break;case "T":c=a.N.wa&Kb;break;case "S":c=Oe(a.N);break;case "Z":c=Ne(a.N);break;case "A":c=Me(a.N);break;case "P":c=Le(a.N);break;case "C":c=Ke(a.N);break;default:c=0}return b+(c?"1":"0")+" "}function nl(a,b){8<=b&&15>=b&&4>>4),d[0]=g,d[1]=h,void 0!==t.p&&(d[2]=t.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Tk(a,b),d=null):d=Tk(a,b):(e=Tk(a,b.substring(0,d)),c=Tk(a,b.substring(d+1)), +d=null)}return[c,e,d]}function Tk(a,b,c){var d;void 0!==b?(d=Kk.indexOf(b.toUpperCase()),0<=d&&(b=Yk(a,d)),d=ca(b),void 0===d&&a.R("invalid "+(c?c:"value")+": "+b)):a.R("missing "+(c||"value"));return d}function ei(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.R("out of data at address "+dl(a,b)),B=!0):(a.td(b,c,1),r++)})})(a,g);a.R(r+" bytes read at "+c)}else a.R("sector "+e+" request out of range");else a.R("drive "+d+" not loaded");else a.R("invalid drive: "+d)}else a.R("disk controller not present")}}} +function $k(a,b,c){if(b&&"?"==b[1])a.R("\nregister commands:"),a.R("\tr\t\tdisplay all registers"),a.R("\tr [target=#]\tmodify target register"),a.R("supported targets:"),a.R("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1=a.Gg&&(c=null);switch(c){case "AL":a.N.G=a.N.G&-256|b&255;break;case "AH":a.N.G=a.N.G&-65281|b<<8&255;break;case "AX":a.N.G=a.N.G&-65536|b&65535;break;case "EAX":a.N.G=b;break;case "BL":a.N.C=a.N.C&-256|b&255;break;case "BH":a.N.C=a.N.C&-65281|b<<8&255;break;case "BX":a.N.C=a.N.C&-65536|b&65535;break;case "EBX":a.N.C=b;break;case "CL":a.N.I=a.N.I&-256|b&255;break;case "CH":a.N.I=a.N.I&-65281|b<<8&255;break;case "CX":a.N.I=a.N.I&-65536|b&65535;break;case "ECX":a.N.I=b;break;case "DL":a.N.J= a.N.J&-256|b&255;break;case "DH":a.N.J=a.N.J&-65281|b<<8&255;break;case "DX":a.N.J=a.N.J&-65536|b&65535;break;case "EDX":a.N.J=b;break;case "SP":y(a.N,x(a.N)&-65536|b&65535);break;case "ESP":y(a.N,b);break;case "BP":a.N.H=a.N.H&-65536|b&65535;break;case "EBP":a.N.H=b;break;case "SI":a.N.F=a.N.F&-65536|b&65535;break;case "ESI":a.N.F=b;break;case "DI":a.N.D=a.N.D&-65536|b&65535;break;case "EDI":a.N.D=b;break;case "DS":He(a.N,b);break;case "ES":Ie(a.N,b);break;case "SS":Kd(a.N,b);break;case "CS":Ge(a.N, b);a.Nc=[w(a.N),Fb(a.N),void 0];break;case "IP":F(a.N,b);a.Nc=[w(a.N),Fb(a.N),void 0];break;case "PC":case "PS":Id(a.N,b);break;case "C":b?Ve(a.N):Qe(a.N);break;case "P":b?(c=a.N,Le(c)||(c.W^=1)):(c=a.N,Le(c)&&(c.W^=1));break;case "A":b?We(a.N):Re(a.N);break;case "Z":b?Xe(a.N):Se(a.N);break;case "S":b?Ye(a.N):Te(a.N);break;case "I":b?(c=a.N,c.wa|=Jb):(c=a.N,c.wa&=~Jb);break;case "D":b?(c=a.N,c.wa|=Ib):(c=a.N,c.wa&=~Ib);break;case "V":b?Ze(a.N):Ue(a.N);break;default:f=!0;if(80286<=a.N.za)switch(f= -!1,c){case "MS":ig.call(a.N,b);break;case "TR":a.N.cb.load(b);break;default:f=!0}if(f){a.R("unknown register: "+e);return}}Vc(a.N);a.R("\nupdated registers:");c=!0}}void 0===d&&(d=!!(a.N.gc&1));e=ml(a,8)+ml(a,11)+ml(a,9)+ml(a,10)+(4a.N.za&&(b="\n"+b,e+=f,f=""),e+="\n"+nl(a,a.N.ra,d)+" ",e+=ol(a,"LD",a.N.ad.ua,a.N.ad.va, -a.N.ad.va+a.N.ad.rb)+" "+ol(a,"GD",null,a.N.Dc,a.N.Ve)+" "+ol(a,"ID",null,a.N.Rc,a.N.We)+" ",e=e+(b+" "+f)+ml(a,32));e+=ml(a,23)+ll(a,"V")+ll(a,"D")+ll(a,"I")+ll(a,"T")+ll(a,"S")+ll(a,"Z")+ll(a,"A")+ll(a,"P")+ll(a,"C");a.R((c?"":"\n")+e);a.Nc=[w(a.N),Fb(a.N),void 0];$k(a,cl(a,a.Nc))}}function ul(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Da(b,function(){return eb(a,!0)&&a.lg(e,d,!1)},function(){Vc(a.N);eb(a,!1)})} -function $k(a,b,c,d){b=pl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[a.kp,b[1],a.ha.Nh],e=256;if(void 0!==c){e=pl(a,c,1);if(null==e[0]||e[0]a.Wc&&a.Pc.length&&(a.Wc=0);if(0>a.Wc||b!=a.Pc[a.Wc])a.Pc.splice(0,0,b),a.Wc=0;a.Wc--}else b=a.Pc[a.Wc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a} -function Ek(a,b){var c=!0;try{if(b.length||(a.Of?(a.R("ended assemble @"+cl(a,a.Re)),a.Nc=a.Re,a.Of=!1):b="?"),b=b.toLowerCase(),jb(a)&&0d||"z">>4);var kc=Q[qa].l;kc&&(qa=kc);a.R(uc(a,Ta,qb)+" "+qa)}}}else{"ds"==C&&(C="d",E=r,r="desc");for(N in Lk)if(r==N){var ed=a.Ti[N];ed?ed(E):a.R("no dump registered for "+ -r);break a}var Y=pl(a,r,2);if(null!=Y[0]){var ia="",V=0,rb="dw"==C;void 0!==E&&("l"==E.charAt(0)&&(E=E.substr(1)),(V=parseInt(E,10))&&(V=rb?V+7>>3:V+15>>4));V||(V=8);for(g=0;gpa;pa++){var ta=a.Ra(Y,1);rb?pa&1&&(C+=n(E|ta<<8)+(7==pa?" - ":" ")):C+=m(ta)+(7==pa?"-":" ");Oa+=32<=ta&&128>ta?String.fromCharCode(ta):".";E=ta}ia&&(ia+="\n");ia+=r+" "+C+" "+Oa}ia&&a.R(ia);a.al=Y}}}break;case "e":var Gc=g[1];if(void 0===Gc)a.R("missing address");else{var Hc= -pl(a,Gc,2);if(null!=Hc[0])for(r=2;r -ub.length&&(a.R("note: only "+ub.length+" available"),fb=ub.length);pa-=fb;0>pa&&(null!=ub[ub.length-1][1]?pa+=ub.length:(fb=pa+fb,pa=0));for(void 0!==Oa&&a.R(fb+" instructions earlier:");Y&&pa!=a.Xf;){var Jc=ub[pa];if(null==Jc[1])break;Jc=[Jc[0],Jc[1],Jc[2]];a.R(il(a,Jc,"history",-fb));++pa==ub.length&&(pa=0);a.en=--fb;Y--}}10==Y&&(a.R("no "+r+"history available"),a.en=void 0)}break;case "i":var Kf=g[1];if(Kf&&"?"!=Kf){var Lf=Sk(a,Kf);if(void 0!==Lf){var Ll=cc(a.ha,Lf);a.R(n(Lf)+": "+m(Ll))}}else a.R("\ninput commands:"), -a.R("\ti [p]\tread port [p]"),a.R("warning: port accesses can affect hardware state");break;case "l":tl(a,g);break;case "m":a:{r=null;V=g[1];"?"==V&&(V=void 0);if(void 0!==V){Y=0;if("all"==V)Y=-1342177281,V=null;else if("on"==V)r=!0,V=null;else if("off"==V)r=!1,V=null;else{"keys"==V&&(V="key");"kbd"==V&&(V="keyboard");for(ia in Lk)if(V==ia){Y=Lk[ia];r=!!(a.Yb&Y);break}if(!Y){a.R("unknown message category: "+V);break a}}Y&&("on"==g[2]?(a.Yb|=Y,r=!0):"off"==g[2]&&(a.Yb&=~Y,r=!1))}Y=0;ta="";for(ia in Lk)if(!V|| -V==ia)if(rb=!!(a.Yb&Lk[ia]),null===r||r==rb)ta&&(ta+=","),++Y%10||(ta+="\n\t"),"key"==ia&&(ia="keys"),ta+=ia;void 0===V&&a.R("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.R((null!==r?r?"messages on: ":"messages off: ":"message categories:\n\t")+(ta||"none"))}break;case "o":var Mf=g[1],Ml=g[2];if(Mf&&"?"!=Mf){var Ci=Sk(a,Mf,"port #"),Di=Sk(a,Ml);void 0!==Ci&&void 0!==Di&&gc(a.ha,Ci,Di)}else a.R("\noutput commands:"),a.R("\to [p] [d]\twrite data [d] to port [p]"),a.R("warning: port accesses can affect hardware state"); -break;case "p":case "pr":var Ei="pr"==g[0]?1:0,r=1+Ei;if(a.uc)a.R("step in progress");else{var qe,Y=!1,gb=[w(a.N),Fb(a.N),void 0];do switch(qe=!1,a.Ra(gb)){case 38:case 46:case 54:case 62:case 240:bl(a,gb,1);qe=!0;break;case 204:case 206:a.uc=r;bl(a,gb,1);break;case 205:case 224:case 225:case 226:a.uc=r;bl(a,gb,2);break;case 232:a.uc=r;bl(a,gb,3);break;case 154:a.uc=r;bl(a,gb,5);break;case 255:a.uc=0<=il(a,gb).indexOf("CALL")?r:0;break;case 243:case 242:bl(a,gb,1);Y=qe=!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:Y&& -(a.uc=r,bl(a,gb,1))}while(qe);a.uc?(a.oe(a.zc,gb,!0),a.tf()||(a.N.Mc(),a.uc=0)):ul(a,Ei?"tr":"t")}break;case "r":Zk(a,g);break;case "t":case "tr":ul(a,g[0],g[1]);break;case "u":$k(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.R("\nexecution options:"),a.R("\tcs int #\tset checksum cycle interval to #"),a.R("\tcs start #\tset checksum cycle start count to #"),a.R("\tcs stop #\tset checksum cycle stop count to #"),a.R("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var md; -void 0!==g[3]&&(md=parseInt(g[3],10));switch(g[2]){case "int":a.N.U.Zf=md;break;case "start":a.N.U.Xg=md;break;case "stop":a.N.U.ag=md;break;default:a.R("unknown cs option");break a}void 0!==md&&Uc(a.N);a.R("checksums "+(a.N.da.Pf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&cd(a.N,parseInt(g[2],10));a.R("target speed: "+Db(a.N)+" ("+a.N.U.ae+"x)");break;default:a.R("unknown option: "+g[1])}break;case "?":var r="commands:",re;for(re in Gk)r+="\n"+re+" ".substr(0,7-re.length)+Gk[re]; -df(a)||(r+="\nnote: frequency/history disabled if no exec breakpoints");a.R(r);break;default:a.R("unknown command: "+b),c=!1}}}catch(Nl){a.R("debugger sad: "+Nl.message),c=!1}return c}Ja(function(){for(var a=cb(window.document,"pcjs","debugger"),b=0;ba.N.za&&(b="\n"+b,e+=f,f=""),e+="\n"+ol(a,a.N.pa,d)+" ",e+=pl(a,"LD",a.N.ad.va,a.N.ad.ta, +a.N.ad.ta+a.N.ad.rb)+" "+pl(a,"GD",null,a.N.Dc,a.N.Ve)+" "+pl(a,"ID",null,a.N.Rc,a.N.We)+" ",e=e+(b+" "+f)+nl(a,32));e+=nl(a,23)+ml(a,"V")+ml(a,"D")+ml(a,"I")+ml(a,"T")+ml(a,"S")+ml(a,"Z")+ml(a,"A")+ml(a,"P")+ml(a,"C");a.R((c?"":"\n")+e);a.Nc=[w(a.N),Fb(a.N),void 0];al(a,dl(a,a.Nc))}}function vl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Da(b,function(){return eb(a,!0)&&a.lg(e,d,!1)},function(){Vc(a.N);eb(a,!1)})} +function al(a,b,c,d){b=ql(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[a.kp,b[1],a.ha.Nh],e=256;if(void 0!==c){e=ql(a,c,1);if(null==e[0]||e[0]a.Wc&&a.Pc.length&&(a.Wc=0);if(0>a.Wc||b!=a.Pc[a.Wc])a.Pc.splice(0,0,b),a.Wc=0;a.Wc--}else b=a.Pc[a.Wc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a} +function Fk(a,b){var c=!0;try{if(b.length||(a.Pf?(a.R("ended assemble @"+dl(a,a.Re)),a.Nc=a.Re,a.Pf=!1):b="?"),b=b.toLowerCase(),jb(a)&&0d||"z">>4);var kc=Q[qa].l;kc&&(qa=kc);a.R(uc(a,Ta,qb)+" "+qa)}}}else{"ds"==C&&(C="d",E=r,r="desc");for(N in Mk)if(r==N){var ed=a.Ti[N];ed?ed(E):a.R("no dump registered for "+ +r);break a}var Y=ql(a,r,2);if(null!=Y[0]){var ia="",V=0,rb="dw"==C;void 0!==E&&("l"==E.charAt(0)&&(E=E.substr(1)),(V=parseInt(E,10))&&(V=rb?V+7>>3:V+15>>4));V||(V=8);for(g=0;gpa;pa++){var ta=a.Ra(Y,1);rb?pa&1&&(C+=n(E|ta<<8)+(7==pa?" - ":" ")):C+=m(ta)+(7==pa?"-":" ");Oa+=32<=ta&&128>ta?String.fromCharCode(ta):".";E=ta}ia&&(ia+="\n");ia+=r+" "+C+" "+Oa}ia&&a.R(ia);a.al=Y}}}break;case "e":var Gc=g[1];if(void 0===Gc)a.R("missing address");else{var Hc= +ql(a,Gc,2);if(null!=Hc[0])for(r=2;r +ub.length&&(a.R("note: only "+ub.length+" available"),fb=ub.length);pa-=fb;0>pa&&(null!=ub[ub.length-1][1]?pa+=ub.length:(fb=pa+fb,pa=0));for(void 0!==Oa&&a.R(fb+" instructions earlier:");Y&&pa!=a.Yf;){var Jc=ub[pa];if(null==Jc[1])break;Jc=[Jc[0],Jc[1],Jc[2]];a.R(jl(a,Jc,"history",-fb));++pa==ub.length&&(pa=0);a.en=--fb;Y--}}10==Y&&(a.R("no "+r+"history available"),a.en=void 0)}break;case "i":var Kf=g[1];if(Kf&&"?"!=Kf){var Lf=Tk(a,Kf);if(void 0!==Lf){var Ml=cc(a.ha,Lf);a.R(n(Lf)+": "+m(Ml))}}else a.R("\ninput commands:"), +a.R("\ti [p]\tread port [p]"),a.R("warning: port accesses can affect hardware state");break;case "l":ul(a,g);break;case "m":a:{r=null;V=g[1];"?"==V&&(V=void 0);if(void 0!==V){Y=0;if("all"==V)Y=-1342177281,V=null;else if("on"==V)r=!0,V=null;else if("off"==V)r=!1,V=null;else{"keys"==V&&(V="key");"kbd"==V&&(V="keyboard");for(ia in Mk)if(V==ia){Y=Mk[ia];r=!!(a.Yb&Y);break}if(!Y){a.R("unknown message category: "+V);break a}}Y&&("on"==g[2]?(a.Yb|=Y,r=!0):"off"==g[2]&&(a.Yb&=~Y,r=!1))}Y=0;ta="";for(ia in Mk)if(!V|| +V==ia)if(rb=!!(a.Yb&Mk[ia]),null===r||r==rb)ta&&(ta+=","),++Y%10||(ta+="\n\t"),"key"==ia&&(ia="keys"),ta+=ia;void 0===V&&a.R("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.R((null!==r?r?"messages on: ":"messages off: ":"message categories:\n\t")+(ta||"none"))}break;case "o":var Mf=g[1],Nl=g[2];if(Mf&&"?"!=Mf){var Ci=Tk(a,Mf,"port #"),Di=Tk(a,Nl);void 0!==Ci&&void 0!==Di&&gc(a.ha,Ci,Di)}else a.R("\noutput commands:"),a.R("\to [p] [d]\twrite data [d] to port [p]"),a.R("warning: port accesses can affect hardware state"); +break;case "p":case "pr":var Ei="pr"==g[0]?1:0,r=1+Ei;if(a.uc)a.R("step in progress");else{var qe,Y=!1,gb=[w(a.N),Fb(a.N),void 0];do switch(qe=!1,a.Ra(gb)){case 38:case 46:case 54:case 62:case 240:cl(a,gb,1);qe=!0;break;case 204:case 206:a.uc=r;cl(a,gb,1);break;case 205:case 224:case 225:case 226:a.uc=r;cl(a,gb,2);break;case 232:a.uc=r;cl(a,gb,3);break;case 154:a.uc=r;cl(a,gb,5);break;case 255:a.uc=0<=jl(a,gb).indexOf("CALL")?r:0;break;case 243:case 242:cl(a,gb,1);Y=qe=!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:Y&& +(a.uc=r,cl(a,gb,1))}while(qe);a.uc?(a.oe(a.zc,gb,!0),a.uf()||(a.N.Mc(),a.uc=0)):vl(a,Ei?"tr":"t")}break;case "r":$k(a,g);break;case "t":case "tr":vl(a,g[0],g[1]);break;case "u":al(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.R("\nexecution options:"),a.R("\tcs int #\tset checksum cycle interval to #"),a.R("\tcs start #\tset checksum cycle start count to #"),a.R("\tcs stop #\tset checksum cycle stop count to #"),a.R("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var md; +void 0!==g[3]&&(md=parseInt(g[3],10));switch(g[2]){case "int":a.N.U.$f=md;break;case "start":a.N.U.Xg=md;break;case "stop":a.N.U.bg=md;break;default:a.R("unknown cs option");break a}void 0!==md&&Uc(a.N);a.R("checksums "+(a.N.da.Qf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&cd(a.N,parseInt(g[2],10));a.R("target speed: "+Db(a.N)+" ("+a.N.U.ae+"x)");break;default:a.R("unknown option: "+g[1])}break;case "?":var r="commands:",re;for(re in Hk)r+="\n"+re+" ".substr(0,7-re.length)+Hk[re]; +ff(a)||(r+="\nnote: frequency/history disabled if no exec breakpoints");a.R(r);break;default:a.R("unknown command: "+b),c=!1}}}catch(Ol){a.R("debugger sad: "+Ol.message),c=!1}return c}Ja(function(){for(var a=cb(window.document,"pcjs","debugger"),b=0;bAl){if(d.load(this.sh)){this.wf=new Ee(this,"1.17.2","failsafe");this.wf.load()&&(El(this,d),a=2,xl(this.wf));this.wf.set("timestamp",ra());yl(this.wf);var e=this.Zc&&!this.di;if(1==a||xa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Ca("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.$c=null)):this.R(f+": "+g),xl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Dl(this,c?d:null)}else 2==a&&d.clear()}else Dl(this);delete this.sh;delete this.Ii}e=Ya(this.id);for(f=0;fa[1];a=a[2];this.da.$b=!0;this.El||(this.R("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.El=!0);this.N&&(Fl(this,this.N,b,c,a),Wc(this.N));this.Hl&&(El(this,b),b.clear());!c&&this.wf&&(this.wf.clear(),delete this.wf)}; -function El(a,b){if(xa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Ce(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ua("http://www.pcjs.org/api/v1/report",!0,e)}} -function vl(a,b,c){var d,e="none",f=new Ee(a,"1.17.2"),g=new Ee(a,"1.17.2","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.N&&a.N.ec&&(c&&a.N.lb(),d=a.N.ec(b,c),"object"===typeof d&&f.set(a.N.id,d),c&&(a.N.da.$b=!1,!1===d&&(e=null)));for(var h=Ya(a.id),t=0;tBl){if(d.load(this.sh)){this.xf=new Ee(this,"1.17.2","failsafe");this.xf.load()&&(Fl(this,d),a=2,yl(this.xf));this.xf.set("timestamp",ra());zl(this.xf);var e=this.Zc&&!this.di;if(1==a||xa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.Ca("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.$c=null)):this.R(f+": "+g),yl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&El(this,c?d:null)}else 2==a&&d.clear()}else El(this);delete this.sh;delete this.Ii}e=Ya(this.id);for(f=0;fa[1];a=a[2];this.da.$b=!0;this.El||(this.R("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.El=!0);this.N&&(Gl(this,this.N,b,c,a),Wc(this.N));this.Hl&&(Fl(this,b),b.clear());!c&&this.xf&&(this.xf.clear(),delete this.xf)}; +function Fl(a,b){if(xa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Ce(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ua("http://www.pcjs.org/api/v1/report",!0,e)}} +function wl(a,b,c){var d,e="none",f=new Ee(a,"1.17.2"),g=new Ee(a,"1.17.2","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.N&&a.N.ec&&(c&&a.N.lb(),d=a.N.ec(b,c),"object"===typeof d&&f.set(a.N.id,d),c&&(a.N.da.$b=!1,!1===d&&(e=null)));for(var h=Ya(a.id),t=0;th.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(J){h= -null,a=J.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ua(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var t=h[0],r,B=/( [a-z]+=)(['"])(.*?)\2/g;r=B.exec(f);)t=0>t.indexOf(r[1])?t.replace(">",r[0]+">"):t.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);h[0]!=t&&(g=g.replace(h[0],t))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Ol(a,b,c)}})}else c(a,null)} -function Pl(a,b,c,d){function e(a){if(void 0===h){var b=g&&cb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);t&&(--Il||La(!0));t=!1}var g,h,t=!0;Il++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var r=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Il||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&& -window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Il||La(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Jl(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Jl(b,a,d,!0,e,r):Kl(b,null,a,d,!1,e,r)}else f("missing machine element: "+ -a)}catch(B){f(B.message)}return t}window.embedPC=function(a,b,c,d){La(!1);return Pl(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})(); +k.Fb=function(a,b,c){var d=this;switch(b){case "save":return this.ra[b]=c,c.onclick=function(){var a=Cl(d,!0);if(a){var b=!(!d.Zc||d.Ei),c=wl(d,b);b?Hl(d,a,c):d.Ca("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[b]=c,c.onclick=function(){bd(d)},!0}return!1}; +function Cl(a,b){var c=a.$c;c||(c=Aa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Il(a,c))||a.Ca("Your user ID has not been approved."))):b&&a.Ca("Browser local storage is not available"));return c} +function Il(a,b){a.$c=null;var c=ua(va()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ba("user",c.data),a.$c=c.data)}catch(e){wa(e.message+" ("+d+")")}return a.$c} +function Hl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=xl(a,"1.17.2");d.data=c;b=ua(va()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(J){h= +null,a=J.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ua(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var t=h[0],r,B=/( [a-z]+=)(['"])(.*?)\2/g;r=B.exec(f);)t=0>t.indexOf(r[1])?t.replace(">",r[0]+">"):t.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);h[0]!=t&&(g=g.replace(h[0],t))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Pl(a,b,c)}})}else c(a,null)} +function Ql(a,b,c,d){function e(a){if(void 0===h){var b=g&&cb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);t&&(--Jl||La(!0));t=!1}var g,h,t=!0;Jl++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var r=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Jl||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Jl||La(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Kl(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Kl(b,a,d,!0,e,r):Ll(b,null,a,d,!1,e,r)}else f("missing machine element: "+ +a)}catch(B){f(B.message)}return t}window.embedPC=function(a,b,c,d){La(!1);return Ql(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})(); diff --git a/docs/pcjs/demos/pc.js b/docs/pcjs/demos/pc.js index 892f68b4b..2e2d86e0f 100644 --- a/docs/pcjs/demos/pc.js +++ b/docs/pcjs/demos/pc.js @@ -6,60 +6,60 @@ a,b);t.setRequestHeader("Content-type","application/x-www-form-urlencoded");t.se function ra(){if(null==qa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}qa=a}return qa}function sa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1} function ua(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var va={init:[],show:[],exit:[]},wa=!1,xa=!0;function ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function za(a){va.init.push(a)} function Aa(a){if(xa)try{for(var b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new $a(a.x,a.y,a.xc,a.Fc*b/c|0),a.y+=b.Fc,a.Fc-=b.Fc):(b=new $a(a.x,a.y,a.xc*b/c|0,a.Fc),a.x+=b.xc,a.xc-=b.xc);return b}k=Ya.prototype;k.Eb=function(a,b,c){return this.ya&&this.ya.Eb(a,b,c)||this.U&&this.U.Eb(a,b,c)||this.Ba&&this.Ba.Eb(a,b,c)?!0:this.parent.Eb.call(this,a,b,c)};k.yc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.Ba=bb(a,"Keyboard")};k.bc=function(a,b){b||cb();return!0};k.ac=function(){return!0}; -k.oi=function(a,b){a.button||(this.dg=b?0:-1,db(this,a,b))};k.al=function(a){db(this,a)}; -function db(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.dg||(a.dg=Math.abs(a.Hd-d)>Math.abs(a.Id-b)?1:2),1==a.dg?b=a.Id:2==a.dg&&(d=a.Hd));a.Hd=d;a.Id=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Pa&&a.Pa.bf)for(f=0;f>fb&gb))*a.ka.Hb-1;0Math.abs(a.Id-b)?1:2),1==a.eg?b=a.Id:2==a.eg&&(d=a.Hd));a.Hd=d;a.Id=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Pa&&a.Pa.bf)for(f=0;f>fb&gb))*a.ka.Hb-1;0d&&(f=d);c=f;break a}c=q}c!=q&&(c&=-16,c!=a.nk&&(hb(a,c,!0),a.nk=c))}} k.Gd=function(){if(this.canvas&&this.dh&&this.Qd&&this.Be){var a=this.Qd.width,b=this.Qd.height;this.Be.fillStyle="black";this.Be.fillRect(0,0,a,b);ib(this,18,this.Qd,this.Be,this.canvas.style.color);jb(this,3);u(this,"CPU");u(this,"Target");u(this,"Current");kb(this);u(this,this.U.za);u(this,this.U.S.Le.toFixed(2)+"Mhz");u(this,lb(this.U));kb(this,2);jb(this,8);this.uo=16;this.vo=4;u(this,"AX",this.U.G,2);u(this,"DS",this.U.eb.sa,0,1);u(this,"DX",this.U.J,2);u(this,"SI",this.U.F,0,1.5);u(this,"BX", -this.U.C,2);u(this,"ES",this.U.Na.sa,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.na.sa,2);u(this,"SS",this.U.ra.sa,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.nk); +this.U.C,2);u(this,"ES",this.U.Na.sa,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.ma.sa,2);u(this,"SS",this.U.ra.sa,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.nk); this.dh.drawImage(this.Qd,0,0,a,b,this.lr,this.or,this.Hq,this.Kq)}}; function hb(a,b,c){if(a.dh&&a.Qd&&a.Be){var d=a.Qd.width;a.Be.fillStyle="black";a.Be.fillRect(0,360,d,360);ib(a,378,a.Qd,a.Be,a.canvas.style.color);jb(a,24);if(null==b)u(a,"Mouse over memory to dump");else{u(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=yb(a.ka,b++);u(a,ea(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}u(a,f,null,0,1)}}c&&a.dh.drawImage(a.Qd,0,360,d,360,a.jr,a.mr,a.Fq,a.Iq)}} function ib(a,b,c,d,e){var f,g=a.Fp=10;a.Nc=g;a.Ze=b;a.uf=a.Uk=18;f||(f=a.Rk||a.Uk+"px Monaco, Lucida Console, Courier New");a.qh=a.Rk=f;c&&(a.Om=c);d&&(a.dd=d,a.Qm=e||"white")}function jb(a,b){a.ri=a.Om.width/b|0}function kb(a,b){a.Nc=a.Fp;a.Ze+=(a.uf+2)*(b||1)}function u(a,b,c,d,e){a.dd.font=a.qh;a.dd.fillStyle=a.Qm;a.dd.fillText(b,a.Nc,a.Ze);a.Nc+=a.ri;null!=c&&(b=c.toString(),16==a.uo&&(b="0x"+da(c,a.vo)),a.dd.fillText(b,a.Nc,a.Ze),a.Nc+=a.ri);d&&(a.Nc+=a.ri*d);e&&kb(a,e)} -function cb(){for(var a=!1,b=Ta(window.document,"pcjs","panel"),c=0;c=this.zf?12:24>=this.zf?14:15;this.Hb=1<>2;this.Ta=this.Hb-1;this.Rf=this.di/this.Hb|0;this.td=this.Rf-1;this.Ig=[];this.Jg=[];this.Qi();p(this)}La(n,zb); -var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Qi=function(){this.ta=Array(this.Rf);for(var a=0;a>>a.jb;0a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.V==e){if(b+c<=g.Lf)return g.Wh+=g.Lf-b,g.Lf=b,!0;if(b>=g.Lf+g.Wh){r=g.size-(b-h);r>c&&(r=c);g.Wh=b-g.Lf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.ta[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0=this.zf?12:24>=this.zf?14:15;this.Hb=1<>2;this.Ta=this.Hb-1;this.Sf=this.di/this.Hb|0;this.td=this.Sf-1;this.Ig=[];this.Jg=[];this.Qi();p(this)}La(n,zb); +var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Qi=function(){this.ta=Array(this.Sf);for(var a=0;a>>a.jb;0a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.V==e){if(b+c<=g.Mf)return g.Wh+=g.Mf-b,g.Mf=b,!0;if(b>=g.Mf+g.Wh){r=g.size-(b-h);r>c&&(r=c);g.Wh=b-g.Mf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.ta[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0>>this.jb;0>>a.jb;0>>this.jb].Cb(a&this.Ta)};function yb(a,b){return a.ta[(b&a.tb)>>>a.jb].Sj(b&a.Ta)} k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;return b!=this.Ta?this.ta[a].lm(b):this.ta[a++].Cb(b)|this.ta[a&this.td].Cb(0)<<8};function Fb(a,b){var c=b&a.Ta,d=(b&a.tb)>>>a.jb;return c!=a.Ta?a.ta[d].wp(c):a.ta[d++].Sj(c)|a.ta[d&a.td].Sj(0)<<8}k.Te=function(a,b){this.ta[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;c!=this.Ta?this.ta[d].Bm(c,b&65535):(this.ta[d++].Fb(c,b&255),this.ta[d&this.td].Fb(0,b>>8&255))}; -function Gb(a,b,c){var d=b&a.Ta;b=(b&a.tb)>>>a.jb;d!=a.Ta?a.ta[b].Ep(d,c&65535):(a.ta[b++].ak(d,c&255),a.ta[b&a.td].ak(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d>>a.jb;d!=a.Ta?a.ta[b].Ep(d,c&65535):(a.ta[b++].ak(d,c&255),a.ta[b&a.td].ak(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e>1]}function cc(a){return this.nf.getInt32(a,!0)}function dc(a){return a&3?this.Wb[a]|this.Wb[a+1]<<8|this.Wb[a+2]<<16|this.Wb[a+3]<<24:this.ia[a>>2]} function ec(a,b){this.Wb[a]=b;this.Ha=!0}function fc(a,b){this.Wb[a]=b;this.Ha=!0}function gc(a,b){this.nf.setUint16(a,b,!0);this.Ha=!0}function hc(a,b){a&1?(this.Wb[a]=b,this.Wb[a+1]=b>>8):this.qk[a>>1]=b;this.Ha=!0}function ic(a,b){this.nf.setInt32(a,b,!0);this.Ha=!0}function jc(a,b){a&3?(this.Wb[a]=b,this.Wb[a+1]=b>>8,this.Wb[a+2]=b>>16,this.Wb[a+3]=b>>24):this.ia[a>>2]=b;this.Ha=!0} var Ub=[function(a){return this.ia[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b]>>a;return 24>a?c&65535:c&255|(this.ia[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b];a&&(c=c>>>a|this.ia[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.ia[c]=this.ia[c]&~(255<>2,d=(a&3)<<3;24>d?this.ia[c]=this.ia[c]&~(65535<>8);this.Ha= !0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ia[c]=b;this.Ha=!0}];if(Xa)var Sb=[Zb,ac,cc,ec,gc,ic],Rb=[$b,bc,dc,fc,hc,jc]; Ab.prototype={constructor:Ab,parent:null,save:function(){var a,b;if(this.V)a=null;else if(Xa)for(a=Array(this.size>>2),b=0;b>>b.jb;d=d+e-1>>>b.jb;c.ni=0;for(c.Sf=0;f<=d;){e=b.ta[f];c.ni+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Zh[c.Sf++]=g}f++}a.Pa=c;a.km=a.Pa.Sf*a.ka.Hb/691200;e=0;a.Pa.ki=0;a.Pa.cf||(a.Pa.cf=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=eb;if(c!=d||f!= -h+1){if(h=b-g)d=a.Pa.cf[a.Pa.ki++]=g|h<>fb&gb,a.Pa.bf.push(ab(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>fb&gb;d=e=a.Pa.bf[b];g=a.Rm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Fc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc, -d.Fc);d=a;g=e;d.qh=d.Rk;d.uf=d.Uk;e=g.x+(g.xc>>1);var h=g.y+(g.Fc>>1),r=g.Fc;g.xc>1;d.Ze+=(d.uf>>1)-2;u(d,c);d.Pk&&(d.dd.restore(),d.Pk=!1)}}}else u(a,"This space intentionally left blank");a.dh.drawImage(a.Uf,0,0,a.Uf.width,a.Uf.height,a.kr, +function kc(a,b){n.call(this,"CPU",a,kc);var c=a.cycles||b,d=a.multiplier||1;this.S={};this.S.jd=c;this.S.be=d;this.S.vh=Math.round(this.S.jd/1E4)/100;this.S.Le=this.S.vh*this.S.be;this.ea.Ib=!1;this.ea.Ok=!1;this.ea.xi=a.autoStart;this.ea.Hk=!1;c=Ga.autostart;void 0!==c&&(this.ea.xi="true"==c?!0:"false"==c?!1:null);this.ea.ih=!1;this.S.zh=this.S.Af=0;this.S.Ah=a.csStart;this.S.fg=a.csInterval;this.S.gg=a.csStop;var e=this;this.zo=function(){lc(e)};p(this)}La(n,kc);k=kc.prototype; +k.yc=function(a,b,c,d){this.ka=b;this.Wa=d;this.ya=a;this.video=bb(a,"Video");this.ca=bb(a,"ChipSet");p(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();this.kc("No debugger detected")}pc(this);this.Gd();return!0};k.ac=function(a){return a&&this.save?this.save():!0};function qc(a){(!0===a.ea.xi||null===a.ea.xi&&void 0===a.na.run)&&lc(a)}k.Sk=function(){return 0}; +function nc(a){void 0===a.S.Ah&&(a.S.Ah=0);void 0===a.S.fg&&(a.S.fg=-1);void 0===a.S.gg&&(a.S.gg=-1);a.ea.ih=0<=a.S.Ah&&0>>b.jb;d=d+e-1>>>b.jb;c.ni=0;for(c.Tf=0;f<=d;){e=b.ta[f];c.ni+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Zh[c.Tf++]=g}f++}a.Pa=c;a.km=a.Pa.Tf*a.ka.Hb/691200;e=0;a.Pa.ki=0;a.Pa.cf||(a.Pa.cf=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=eb;if(c!=d||f!= +h+1){if(h=b-g)d=a.Pa.cf[a.Pa.ki++]=g|h<>fb&gb,a.Pa.bf.push(ab(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>fb&gb;d=e=a.Pa.bf[b];g=a.Rm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Fc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc, +d.Fc);d=a;g=e;d.qh=d.Rk;d.uf=d.Uk;e=g.x+(g.xc>>1);var h=g.y+(g.Fc>>1),r=g.Fc;g.xc>1;d.Ze+=(d.uf>>1)-2;u(d,c);d.Pk&&(d.dd.restore(),d.Pk=!1)}}}else u(a,"This space intentionally left blank");a.dh.drawImage(a.Vf,0,0,a.Vf.width,a.Vf.height,a.kr, a.nr,a.Gq,a.Jq);a.fn=!1}}k.od=function(){this.video&&this.video.od()}; -k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ma[b]=c;c.onclick=function(){var a;if(a=d.ya)if(a=d.ya,a.ea.Zb)a=!0;else{var b=null,c,h=Ma(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.S.vh&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Pe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)} -function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Le&&(b=1);a.S.be=b;b=a.S.vh*a.S.be;if(a.S.Le!=b){a.S.Le=b;b=a.S.Le.toFixed(2)+"Mhz";var d=a.ma.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.yf=ka();a.S.Me=0;xc(a)} -function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.yf,yc(a));a.ea.Ib=!0;a.ea.Ok=!0;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Yi>=a.S.jd&&xc(a,!0);a.S.jg=0;a.S.xh=ka();a.S.Me&&(c=a.S.xh-a.S.Me,c>a.S.bl&&(a.S.yf+=c,a.S.yf>a.S.xh&&(a.S.yf=a.S.xh)));try{do{var d=a.ea.ih?1:a.S.so;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.He){var g=(yc(e.U,e.Xd)-f.Bd)/e.Hh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Hh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t= -a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Cf-yc(t.U,t.Xd);0B&&(c=B)}d=c}a.ym(d);var I=a.hd-a.A;a.fe+=I;a.S.jg+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.ih){var L=!1;c.S.zh=c.S.zh+c.Sk()|0;c.S.Af-=H;0>=c.S.Af&&(c.S.Af+=c.S.eg,L=!0);0<=c.S.fg&&c.S.fg<=yc(c)&&(c.S.eg=c.S.fg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.zh))}a.S.hg-=I;0>=a.S.hg&&(a.S.hg+=a.S.fl,pc(a));a.S.gg-=I;0>=a.S.gg&&(a.S.gg+=a.S.el,a.Gd());a.S.ig-=I;if(0>=a.S.ig){a.S.ig+=a.S.Xi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a); -a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.zo;a.S.Me=ka();f=a.S.bl;a.S.jg&&(f=Math.round(f*a.S.jg/a.S.Xi));f-=a.S.Me-a.S.xh;if(g=a.S.Me-a.S.yf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Pe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$dc&&(c=60);2>c&&(c=2);var d=1;b&&1a.S.vh&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Pe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)} +function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Le&&(b=1);a.S.be=b;b=a.S.vh*a.S.be;if(a.S.Le!=b){a.S.Le=b;b=a.S.Le.toFixed(2)+"Mhz";var d=a.na.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.yf=ka();a.S.Me=0;xc(a)} +function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.yf,yc(a));a.ea.Ib=!0;a.ea.Ok=!0;a.ca&&zc(a.ca);var c=a.na.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Yi>=a.S.jd&&xc(a,!0);a.S.kg=0;a.S.xh=ka();a.S.Me&&(c=a.S.xh-a.S.Me,c>a.S.bl&&(a.S.yf+=c,a.S.yf>a.S.xh&&(a.S.yf=a.S.xh)));try{do{var d=a.ea.ih?1:a.S.so;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.He){var g=(yc(e.U,e.Xd)-f.Bd)/e.Hh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Hh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t= +a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Cf-yc(t.U,t.Xd);0B&&(c=B)}d=c}a.ym(d);var I=a.hd-a.A;a.fe+=I;a.S.kg+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.ih){var L=!1;c.S.zh=c.S.zh+c.Sk()|0;c.S.Af-=H;0>=c.S.Af&&(c.S.Af+=c.S.fg,L=!0);0<=c.S.gg&&c.S.gg<=yc(c)&&(c.S.fg=c.S.gg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.zh))}a.S.ig-=I;0>=a.S.ig&&(a.S.ig+=a.S.fl,pc(a));a.S.hg-=I;0>=a.S.hg&&(a.S.hg+=a.S.el,a.Gd());a.S.jg-=I;if(0>=a.S.jg){a.S.jg+=a.S.Xi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a); +a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.zo;a.S.Me=ka();f=a.S.bl;a.S.kg&&(f=Math.round(f*a.S.kg/a.S.Xi));f-=a.S.Me-a.S.xh;if(g=a.S.Me-a.S.yf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Pe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$dthis.$b?this.ua+a:Rc.call(this,0,0,c)}function Rc(a,b,c){c||Lc.call(this.U,13,0);return q} function Tc(a,b,c){return a+b<=this.$b?this.ua+a:Uc.call(this,0,0,c)}function Vc(a,b,c){return a+b>this.$b?this.ua+a:Uc.call(this,0,0,c)}function Uc(a,b,c){c||Lc.call(this.U,13,0);return q} -function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.sa;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.sa);c.Ga(d+36,c.na.sa);c.Ga(d+38,c.ra.sa);c.Ga(d+ +function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.sa;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.sa);c.Ga(d+36,c.ma.sa);c.Ga(d+38,c.ra.sa);c.Ga(d+ 40,c.eb.sa);var d=38,h=26;Xc(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Na.load(c.ja(g+34));c.eb.load(c.ja(g+40));Yc(c,c.ja(g+14),c.ja(g+36));this.Va>13;if(6144<=h){U=c&3;if(U>a.Va){if(!1!==B&&!(ba==a.Va||g&1024&&ba<=a.Va)){r=q;break}H=e.Ea();Zc(e,e.Ea(),!0);y(e,H);a.oh=!0}H=!1}else if(1024==h)H=!0,L=-1,I=c,Uh||2048==(h&2560))){d||Lc.call(e,13,c,!!g);r=q;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d|| @@ -67,606 +67,605 @@ Lc.call(e,13,c,!0);r=q;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||Lc.call Fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.ua=a[1],this.$b=a[2],this.hb=a[3],this.id=a[4],this.Qh=a[5],this.Va=a[6],this.pc=a[7],this.Ld=a[8])}; function Hc(a,b){void 0===b&&(b=!!(a.U.lc&1));a.Di=!1;if(b){a.load=Jc;a.$k=Nc;a.Ec=Qc;a.hc=Tc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Rc);if(a.hb&2048||!(a.hb&512))a.hc=Uc;1024==(a.hb&3072)&&(a.Ec==Qc&&(a.Ec=Sc),a.hc==Tc&&(a.hc=Vc),a.Di=!0)}a.Va=a.sa&3;a.pc=(a.hb&24576)>>13;80386>a.U.za||!(a.wi&64)?(a.se=2,a.fa=65535):(a.se=4,a.fa=-1)}else a.load=Ic,a.$k=Mc,a.Ec=Oc,a.hc=Pc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.se=2,a.fa=65535;a.ed=a.se;a.ha=a.fa} function bd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}kc.call(this,a,b);this.gk=61442;this.Fg=Cc;this.Eg=4;this.Df=255;this.B=80286<=this.za?cd:dd;this.Oa=ed;this.jk=fd;this.kk=id;this.lk=jd;80186<=this.za&&(this.Oa=ed.slice(),this.jk=fd.slice(),this.kk=id.slice(),this.Df=31,this.Oa[15]=kd,this.Oa[96]=ld,this.Oa[97]=md,this.Oa[98]=nd,this.Oa[99]=kd,this.Oa[100]=kd,this.Oa[101]=kd,this.Oa[102]=kd,this.Oa[103]=kd,this.Oa[104]=od, -this.Oa[105]=pd,this.Oa[106]=qd,this.Oa[107]=rd,this.Oa[108]=sd,this.Oa[109]=td,this.Oa[110]=ud,this.Oa[111]=vd,this.Oa[192]=wd,this.Oa[193]=xd,this.Oa[200]=yd,this.Oa[201]=zd,this.Oa[241]=Ad,this.jk[7]=Bd,this.kk[7]=Bd,80286<=this.za&&(this.gk=2,this.Fg|=28672,this.Eg=0,this.Im=Cd,this.Oa[15]=Dd,this.Oa[99]=Ed,this.Oa[84]=Fd));this.Jm=[];this.Jm[2]={Qq:this.ja.bind(this),er:this.Ga.bind(this)};this.Hg=[];this.ik=[];this.hd=this.Zg=0;this.ea.$f=this.ea.bn=!1;this.yk=0;this.ta=[];this.tb=this.jb=this.Ta= +this.Oa[105]=pd,this.Oa[106]=qd,this.Oa[107]=rd,this.Oa[108]=sd,this.Oa[109]=td,this.Oa[110]=ud,this.Oa[111]=vd,this.Oa[192]=wd,this.Oa[193]=xd,this.Oa[200]=yd,this.Oa[201]=zd,this.Oa[241]=Ad,this.jk[7]=Bd,this.kk[7]=Bd,80286<=this.za&&(this.gk=2,this.Fg|=28672,this.Eg=0,this.Im=Cd,this.Oa[15]=Dd,this.Oa[99]=Ed,this.Oa[84]=Fd));this.Jm=[];this.Jm[2]={Qq:this.ja.bind(this),er:this.Ga.bind(this)};this.Hg=[];this.ik=[];this.hd=this.Zg=0;this.ea.ag=this.ea.bn=!1;this.yk=0;this.ta=[];this.tb=this.jb=this.Ta= this.td=0;Gd(this)}La(kc,bd); -var dd={Nj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Ne:4,hl:60,il:83,Rb:3,qb:9,ic:16,Eh:1,ml:19,ol:28,ql:16,pl:21,nl:37,kl:2,gj:9,ll:5,jl:33,ij:10,hj:8,pg:3,og:15,El:51,Fl:1,Gl:2,Hl:4,Dl:32,jj:15,Jl:15,Sb:16,Tb:4,Ll:11,Kl:18,Il:24,Ab:4,Ml:2,kj:16,Nl:17,pj:18,Ol:19,oj:5,qj:6,Tl:2,Sl:8,Ql:9,Rl:10,Pl:10,rj:10,sj:10,sl:80,ul:144,rl:86,tl:154,wl:101,yl:165,vl:107,xl:171,Vl:70,Xl:113,Ul:76,Wl:124,Al:80,Cl:128,zl:86,Bl:134,rg:3,qg:16,xj:10,wj:8,Yl:51,jc:8,Zl:17,$l:36,rc:11,am:16,sg:10,ee:2,dj:18,ej:7,fj:15,lj:12, -mj:7,nj:11,tj:18,uj:7,vj:15,yj:15,zj:7,Aj:13,Ej:11,Fj:7,Gj:8,bm:8,em:12,cm:18,dm:17,fm:15,Cj:8,Bj:20,Dj:2,Jj:3,tg:9,Ij:5,Hj:11,Lj:4,Kj:17,gm:11},cd={Nj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Ne:3,hl:14,il:16,Rb:2,qb:7,ic:7,Eh:0,ml:7,ol:13,ql:7,pl:11,nl:16,kl:3,gj:6,ll:2,jl:13,ij:5,hj:5,pg:2,og:7,El:23,Fl:0,Gl:1,Hl:3,Dl:17,jj:7,Jl:11,Sb:7,Tb:3,Ll:7,Kl:11,Il:15,Ab:2,Ml:3,kj:7,Nl:8,pj:8,Ol:8,oj:4,qj:4,Tl:2,Sl:3,Ql:5,Rl:2,Pl:3,rj:5,sj:3,sl:14,ul:22,rl:17,tl:25,wl:17,yl:25,vl:20,xl:28,Vl:13,Xl:21,Ul:16,Wl:24, -Al:13,Cl:21,zl:16,Bl:24,rg:2,qg:7,xj:5,wj:5,Yl:19,jc:5,Zl:5,$l:17,rc:3,am:5,sg:3,ee:0,dj:8,ej:5,fj:9,lj:5,mj:5,nj:4,tj:5,uj:5,vj:4,yj:7,zj:5,Aj:8,Ej:3,Fj:4,Gj:3,bm:11,em:11,cm:15,dm:15,fm:7,Cj:5,Bj:8,Dj:0,Jj:2,tg:6,Ij:3,Hj:6,Lj:3,Kj:5,gm:5};k=bd.prototype;k.Qi=function(a,b,c,d){this.ta=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Gd(this);mc(this);this.ea.fd=!1}; -function Gd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.zg=-1;a.Tg=0;a.lc=65520;a.Rc=0;a.gf=1023;a.Bf=0;a.Dh=-1;a.na=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.wm=new Fc(a,0,"NULL");a.fb=a.eb;a.Mc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;Yc(a,0,65535);a.se=a.na.se;a.fa=a.na.fa;a.$c=A;a.Zc=Hd;a.re=Id;a.sb=C;a.Ac=Jd;a.Pc=Kd;a.ed=a.na.ed;a.ha=a.na.ha;if(80286<=a.za){a.Qc=0;a.ff=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb= -new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=v(a);b=a.na;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.yg=b+a.na.$b}Xc(a,0);Ld(a)}k.Sk=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.na.sa+this.eb.sa+this.ra.sa+this.Na.sa+ob(this)|0};function Md(a,b,c,d){void 0!==d&&(void 0===a.Hg[b]&&(a.Hg[b]=[]),a.Hg[b].push([c,d]))}function Nd(a,b){var c=a.ik[b];null!=c&&(c(--a.Zg),delete a.ik[b])} -function Ld(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.lk=b?Od:jd;Hc(a.na,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)} -k.save=function(){var a=new Pd(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Bf]);a.set(1,[v(this),this.na.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Qc?[this.lc,this.Qc,this.ff,this.Rc,this.gf,this.ke.save(),this.gb.save(),this.Bf]:null,ob(this)]);a.set(2,[this.fb.Qh,this.Mc.Qh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Pe,this.S.be]);a.set(4,Hb(this.ka));return a.data()}; -k.restore=function(a){var b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Bf=b[8]||0;b=a[1];this.na.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Qc=d[1],this.ff=d[2],this.Rc=d[3],this.gf=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Bf=d[7],Ld(this));Xc(this,b[6]);Yc(this,b[0],this.na.sa);y(this,c);Zc(this,this.ra.sa);b=a[2];this.fb=null!=b[0]&&Qd(this,b[0])|| +var dd={Nj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Ne:4,hl:60,il:83,Rb:3,qb:9,ic:16,Eh:1,ml:19,ol:28,ql:16,pl:21,nl:37,kl:2,gj:9,ll:5,jl:33,ij:10,hj:8,qg:3,pg:15,El:51,Fl:1,Gl:2,Hl:4,Dl:32,jj:15,Jl:15,Sb:16,Tb:4,Ll:11,Kl:18,Il:24,Ab:4,Ml:2,kj:16,Nl:17,pj:18,Ol:19,oj:5,qj:6,Tl:2,Sl:8,Ql:9,Rl:10,Pl:10,rj:10,sj:10,sl:80,ul:144,rl:86,tl:154,wl:101,yl:165,vl:107,xl:171,Vl:70,Xl:113,Ul:76,Wl:124,Al:80,Cl:128,zl:86,Bl:134,sg:3,rg:16,xj:10,wj:8,Yl:51,jc:8,Zl:17,$l:36,rc:11,am:16,tg:10,ee:2,dj:18,ej:7,fj:15,lj:12, +mj:7,nj:11,tj:18,uj:7,vj:15,yj:15,zj:7,Aj:13,Ej:11,Fj:7,Gj:8,bm:8,em:12,cm:18,dm:17,fm:15,Cj:8,Bj:20,Dj:2,Jj:3,ug:9,Ij:5,Hj:11,Lj:4,Kj:17,gm:11},cd={Nj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Ne:3,hl:14,il:16,Rb:2,qb:7,ic:7,Eh:0,ml:7,ol:13,ql:7,pl:11,nl:16,kl:3,gj:6,ll:2,jl:13,ij:5,hj:5,qg:2,pg:7,El:23,Fl:0,Gl:1,Hl:3,Dl:17,jj:7,Jl:11,Sb:7,Tb:3,Ll:7,Kl:11,Il:15,Ab:2,Ml:3,kj:7,Nl:8,pj:8,Ol:8,oj:4,qj:4,Tl:2,Sl:3,Ql:5,Rl:2,Pl:3,rj:5,sj:3,sl:14,ul:22,rl:17,tl:25,wl:17,yl:25,vl:20,xl:28,Vl:13,Xl:21,Ul:16,Wl:24, +Al:13,Cl:21,zl:16,Bl:24,sg:2,rg:7,xj:5,wj:5,Yl:19,jc:5,Zl:5,$l:17,rc:3,am:5,tg:3,ee:0,dj:8,ej:5,fj:9,lj:5,mj:5,nj:4,tj:5,uj:5,vj:4,yj:7,zj:5,Aj:8,Ej:3,Fj:4,Gj:3,bm:11,em:11,cm:15,dm:15,fm:7,Cj:5,Bj:8,Dj:0,Jj:2,ug:6,Ij:3,Hj:6,Lj:3,Kj:5,gm:5};k=bd.prototype;k.Qi=function(a,b,c,d){this.ta=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Gd(this);mc(this);this.ea.fd=!1}; +function Gd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.zg=-1;a.Tg=0;a.lc=65520;a.Rc=0;a.gf=1023;a.Bf=0;a.Dh=-1;a.ma=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.wm=new Fc(a,0,"NULL");a.fb=a.eb;a.Mc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;Yc(a,0,65535);a.se=a.ma.se;a.fa=a.ma.fa;a.$c=A;a.Zc=Hd;a.re=Id;a.sb=C;a.Ac=Jd;a.Pc=Kd;a.ed=a.ma.ed;a.ha=a.ma.ha;if(80286<=a.za){a.Qc=0;a.ff=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb= +new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=v(a);b=a.ma;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.Ff=b+a.ma.$b}Xc(a,0);Ld(a)}k.Sk=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.ma.sa+this.eb.sa+this.ra.sa+this.Na.sa+ob(this)|0};function Md(a,b,c,d){void 0!==d&&(void 0===a.Hg[b]&&(a.Hg[b]=[]),a.Hg[b].push([c,d]))}function Nd(a,b){var c=a.ik[b];null!=c&&(c(--a.Zg),delete a.ik[b])} +function Ld(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.lk=b?Od:jd;Hc(a.ma,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)} +k.save=function(){var a=new Pd(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Bf]);a.set(1,[v(this),this.ma.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Qc?[this.lc,this.Qc,this.ff,this.Rc,this.gf,this.ke.save(),this.gb.save(),this.Bf]:null,ob(this)]);a.set(2,[this.fb.Qh,this.Mc.Qh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Pe,this.S.be]);a.set(4,Hb(this.ka));return a.data()}; +k.restore=function(a){var b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Bf=b[8]||0;b=a[1];this.ma.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Qc=d[1],this.ff=d[2],this.Rc=d[3],this.gf=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Bf=d[7],Ld(this));Xc(this,b[6]);Yc(this,b[0],this.ma.sa);y(this,c);Zc(this,this.ra.sa);b=a[2];this.fb=null!=b[0]&&Qd(this,b[0])|| this.eb;this.Mc=null!=b[1]&&Qd(this,b[1])||this.ra;this.Q=b[2];this.xa=b[3];this.kb=b[4];this.aa=b[5];this.Fa=b[6];b=a[3];this.Pe=b[1];uc(this,b[2]);a:{b=this.ka;a=a[4];for(c=0;c>((a^a>>4)&15)&1?0:wb}function Wd(a){return(a.W^a.da)&16?vb:0}function Xd(a){return a.P&a.T-1?0:ub}function Yd(a){return a.W&a.T>>1?tb:0} +function Qd(a,b){switch(b){case "CS":return a.ma;case "DS":return a.eb;case "SS":return a.ra;case "ES":return a.Na;case "NULL":return a.wm;default:return[0,b,0,0,""]}}function Rd(a,b){var c=v(a);a.la=a.ma.load(b)+c;a.Ff=a.ma.ua+a.ma.$b;a.Q|=a.Eg}function Sd(a,b){a.eb.load(b);a.Q|=a.Eg}function Zc(a,b,c){var d=w(a);a.Jc=a.ra.load(b)+d;a.ra.Di?(a.nm=a.ra.ua+a.ra.fa,a.om=a.ra.ua+a.ra.$b):(a.nm=a.ra.ua+a.ra.$b,a.om=a.ra.ua);c||(a.Q|=4)}function Td(a,b){a.Na.load(b);a.Q|=a.Eg} +function v(a){return a.la-a.ma.ua}function D(a,b){a.la=a.ma.ua+(b&65535)}function Yc(a,b,c,d){a.ma.zi=d;a.Uj=b;b=a.ma.load(c);return b!=q?(a.la=b+a.Uj,a.Ff=b+a.ma.$b,a.ma.oh):null}function w(a){return a.Jc-a.ra.ua}function y(a,b){a.Jc=a.ra.ua+b}function Ud(a){return a.P&a.T?xb:0}function Vd(a){a=a.W;return 27030>>((a^a>>4)&15)&1?0:wb}function Wd(a){return(a.W^a.da)&16?vb:0}function Xd(a){return a.P&a.T-1?0:ub}function Yd(a){return a.W&a.T>>1?tb:0} function Zd(a){return(a.W^a.da^a.W>>1)&a.T>>1?pb:0}function $d(a){a.P&=~a.T}function ae(a){a.da=a.W&16|a.da&-17}function be(a){a.P|=a.T-1}function ce(a){a.W&=~a.T;a.da=a.W&32896|a.da&-32897}function de(a){a.P|=a.T}function ee(a){a.da=~(a.W&16)&16|a.da&-17}function fe(a){a.P&=~(a.T-1)}function ge(a){Yd(a)||(a.W^=a.T>>1|a.T>>2,a.da^=32896)}function he(a){a.W|=a.T;a.da=a.W&32896|a.da&-32897}function ob(a){return a.Aa&~Dc|Ud(a)|Vd(a)|Wd(a)|Xd(a)|Yd(a)|Zd(a)} -function Xc(a,b,c){a.T=256;a.P=a.W=a.da=0;b&xb&&de(a);b&wb||(a.W|=1);b&vb&&(a.da|=16);b&ub||be(a);b&tb&&ge(a);b&pb&&he(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.na.Va);c?b=b&-12289|a.Aa&12288:a.Bf=(b&12288)>>12;c>a.Bf&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Fg|b&a.Fg|a.gk;a.Aa&sb&&(a.kb|=2,a.Q|=4)} -k.Eb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ma[b]=c;this.yk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)}; -k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;return b>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;c>8&255))};function ie(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)} -function E(a,b){return ie(a,a.fb,b&65535)}function F(a,b){return ie(a,a.Mc,b&65535)}function je(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return je(a,a.fb,b&65535)}function J(a,b){return je(a,a.Mc,b&65535)}function ke(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return ke(a,a.fb,b&65535)}function M(a,b){return ke(a,a.Mc,b&65535)}function le(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)} -function N(a,b){return le(a,a.fb,b&65535)}function O(a,b){return le(a,a.Mc,b&65535)}function P(a,b){a.Q&2||a.Te(a.Cg.hc(a.wg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Cg.hc(a.wg,1),b)}function ad(a,b,c){return a.ja(b.Ec(c,1))}k.X=function(){var a=this.qc(this.la);++this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.yg&&D(this,this.la-this.na.ua);return a&65535}; -k.K=function(){var a=this.ja(this.la);this.la+=this.se;this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.Ea=function(){var a=this.ja(this.Jc);this.Jc+=2;this.Jc>this.nm&&y(this,this.Jc-this.ra.ua);return a};function z(a,b){a.Jc-=2;a.Jcthis.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&255} -function se(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&255}function te(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function ue(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255} -function ve(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&255}function we(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&255}function xe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&255} -function ye(a,b){this.da=a^b;this.T=256;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function ze(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&65535}function Ae(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&65535} -function Be(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Ce(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function De(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&65535} -function Ee(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&65535}function Fe(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&65535}function Ge(a,b){this.da=a^b;this.T=65536;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function He(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?he(this):ce(this)} -function Ie(){this.A-=0>this.aa?2:this.B.fm;return 1}function Je(){var a=this.I&this.Df;this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<this.aa?this.B.Cj:this.B.Bj)+(a<this.Fa?this.B.jc:this.B.Zl;return b},Me,Me,Me,Me,Me,Me,Me],Qe=[function(a,b){this.A-=0>this.Fa?this.B.Rl:this.B.Pl;return b},R,R,R,R,R,R,R],Re=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%9)?(d=a<< -d|(this.P&this.T?1:0)<>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;He.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,He.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},R,function(a,b){if(b){8>24>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Se=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%17)?(d=a<>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;He.call(this,d,65536)}return c}, -function(a,b){var c=a;b&&(c=(b&this.Df)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,He.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},R,function(a,b){if(b){16>16>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537; -this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Ue=[function(a,b){b=this.X();this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.rg:this.B.qg;return(this.P=this.W=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.W=this.P;this.T=256;this.G&65280?(de(this),he(this)):($d(this),ce(this));this.A-= -0>this.aa?this.B.Vl:this.B.Ul;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.W=b;this.T=256;127b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Al:this.B.zl;this.Q|=2;return a},function(a){if(!a)return Te.call(this),a;var b=this.G/a;if(255this.aa?this.B.sl:this.B.rl;this.Q|=2;return a},function(a){if(!a)return Te.call(this), -a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Te.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.wl:this.B.vl;this.Q|=2;return a}],Ve=[function(a,b){b=this.K();this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.rg: -this.B.qg;return(this.P=this.W=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.zg=this.J=this.P>>16&65535;this.da=this.W=this.P;this.T=65536;this.J?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Xl:this.B.Wl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.zg=b>>16&65535;this.P=this.da=this.W=b;this.T=65536;32767b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Cl:this.B.Bl;this.Q|= -2;return a},function(a,b){if(!a)return Te.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Te.call(this),a;this.Db=this.G=c&65535;this.zg=this.J=b%a&65535;this.W=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.ul:this.B.tl;this.Q|=2;return a},function(a,b){if(!a)return Te.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Te.call(this),a;this.Db=this.G=d&65535;this.zg=this.J=b%c&65535;this.W=this.da=this.P= -d|65536;this.T=65536;this.A-=0>this.aa?this.B.yl:this.B.xl;this.Q|=2;return a}],fd=[function(a){this.da=a;a=(this.W=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){this.da=a;a=(this.W=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},R,R,R,R,R,R],id=[function(a){this.da=a;a=(this.W=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a}, -function(a){this.da=a;a=(this.W=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){z(this,v(this));D(this,a);this.A-=0>this.aa?this.B.ql:this.B.pl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);We.call(this,a,this.ja(this.aa+2));this.A-=this.B.nl;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Ll:this.B.Kl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Yc(this,a,this.ja(this.aa+ -2));this.Zg&&Nd(this,this.la);this.A-=this.B.Il;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc:this.B.am;this.Q|=2;return a},Me];function Xe(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Tl:this.B.Sl:this.B.Ql;return b}function Ye(){return Xe.call(this,0,this.Db)}function Ze(a,b){this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a} -function $e(a,b){this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a}function af(a,b){var c=(b<<16>>16)*(this.X()<<24>>24);this.P=this.da=this.W=c;this.T=256;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535} -function bf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.W=c;this.T=65536;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}function cf(a){return a}function df(a){if(0>this.aa)return S.call(this),a;this.A-=this.B.Ml;return this.aa}function ef(a,b){if(0>this.aa)return S.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.kj;return b} -function ff(a,b){if(0>this.aa)return S.call(this),a;Td(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}function gf(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.jl;if(bd)D(this,this.Bb-this.na.ua),ne.call(this,5,null,0);this.Q|=2;return a}function hf(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,fe(this),a;be(this);return a} -function jf(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(b&3))return fe(this),this.Jb.hb&65280;be(this);return a}function kf(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.na.Va)&&this.Jb.pc>=(b&3))return fe(this),this.Jb.$b;be(this);return a} -function lf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Lj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Kj;return b} -function mf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Lj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Kj;return b}function nf(a){a=a|this.lc&1|65520;this.lc=this.lc&-65536|a&65535;this.lc&1&&Ld(this,!0)}function We(a,b){var c=this.na.sa,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))} -function of(a){var b=this.Ea(),c=this.Ea();(a<<=this.ed>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.sa&65528&&this.eb.pcthis.Dh)D(this,this.Bb-this.na.ua),d=!0;else if(8!=this.Dh)b=0,a=8,d=!0;else{pf.call(this,-1,0,c);Gd(this);return}pf.call(this,a,b,c)&&(d=!1);d&&ne.call(this,this.Dh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.na.ua)} -function pf(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Sq(v(this),this.na.sa)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function kd(){Lc.call(this,6);rc(this)} -function S(){D(this,this.Bb-this.na.ua);Wa(this,"Undefined opcode 0x"+ea(yb(this.ka,this.la))+" at 0x"+da(this.la));rc(this)} -var A=[function(a){a=a.call(this,this.G&255,E(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.F));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a= -a.call(this,this.G&255,E(this,this.D));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.G&255,E(this,this.C));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this, -this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.F));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.D));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.I&255,E(this,this.C));this.I=this.I&-256| -a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&255,E(this,this.F));this.J=this.J&-256|a;this.A-=this.B.R}, -function(a){a=a.call(this,this.J&255,E(this,this.D));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.K()));this.J=this.J&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.J&255,E(this,this.C));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this, -this.C&255,F(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.F));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.D));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.C&255,E(this,this.C)); -this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.G>>8,E(this,this.F));this.G=this.G& -255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.K()));this.G=this.G&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.G>>8,E(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D));this.I=this.I&255|a<<8;this.A-=this.B.Z}, -function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.K()));this.I=this.I&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this, -this.I>>8,E(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F));this.J=this.J&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>> -8,E(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.K()));this.J=this.J&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.J>>8,E(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D));this.C= -this.C&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.K()));this.C=this.C&255|a<<8;this.A-= -this.B.oa},function(a){a=a.call(this,this.C>>8,E(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.C+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.L()));this.G= -this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.L())); -this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255, -E(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this, -this.J&255,F(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a= -a.call(this,this.J&255,E(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.L()));this.C=this.C&-256|a; -this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.L()));this.G=this.G& -255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+ -this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>> -8,F(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a= -a.call(this,this.I>>8,E(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.L()));this.J=this.J&255| -a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.L()));this.C= -this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this, -this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this, -this.G&255,F(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a= -a.call(this,this.G&255,E(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.K()));this.I=this.I&-256|a; -this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.K()));this.J=this.J& --256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+ -this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C& -255,F(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this, -this.C&255,E(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-= -this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.K()));this.I=this.I&255| -a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+ -this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>> -8,F(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a= -a.call(this,this.J>>8,E(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.K()));this.C=this.C&255| -a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}, -function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C>>8);this.G=this.G&-256|a},function(a){a= -a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a},function(a){a=a.call(this, -this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J& -255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I>> -8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G= -this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C&255);this.I= -this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J& -255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I&255);this.C=this.C&255| -a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],Hd=[function(a){a=a.call(this,K(this,this.C+this.F),this.G&255);P(this, -a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.G&255); -P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F), -this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.I&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+ -this.F),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.J&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ -this.F),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, -this.K()),this.C&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, -K(this,this.F),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.G>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this, -this.H+this.F),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.I>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ -this.F),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, -this.K()),this.J>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, -K(this,this.F),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.C>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a= -a.call(this,M(this,this.H+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G& -255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I&255);P(this,a);this.A-= -this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this, -this.H+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J&255);P(this,a); -this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,K(this,this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()), -this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,K(this,this.C+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()), -this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.O}, -function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()), -this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.M}, -function(a){a=a.call(this,M(this,this.H+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this, -this.H+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I&255);P(this,a); -this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,M(this,this.H+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+ -this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.N}, -function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this, -this.H+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.G>>8); -P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this, -K(this,this.C+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.I>>8); -P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.N}, -function(a){a=a.call(this,K(this,this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()), -this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,K(this,this.C+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249],A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238],A[246],A[254],A[199],A[207],A[215],A[223],A[231], -A[239],A[247],A[255]],Id=[function(a,b){var c=a[0].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.F),b.call(this));P(this,c);this.A-= -this.B.R},function(a,b){var c=a[0].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[0].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c= -a[1].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,K(this,this.C), -b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.F),b.call(this)); -P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[2].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z}, -function(a,b){var c=a[3].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this, -K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this,this.F), -b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.C+this.D),b.call(this));P(this,c); -this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a, -b){var c=a[5].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this, -K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.C+this.D),b.call(this)); -P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa}, -function(a,b){var c=a[7].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this, -c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.L()),b.call(this)); -P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+ -this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this, -M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c= -a[2].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-= -this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this, -c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.L()), -b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this, -this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a, -b){var c=a[6].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N}, -function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.L()),b.call(this));P(this, -c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.K()), -b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+ -this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c= -a[1].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a, -b){var c=a[2].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-= -this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.K()),b.call(this)); -P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.K()),b.call(this)); -P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this, -this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this, -K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a, -b){var c=a[5].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-= -this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.K()),b.call(this));P(this, -c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+ -this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I= -this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C& -255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<< -8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a, -b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c= -a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this, -this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>> -8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this)); -this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J= -this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G& --256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8}, -function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],C=[function(a){this.G=a.call(this,this.G,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.F));this.A-=this.B.R},function(a){this.G=a.call(this, -this.G,G(this,this.D));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.K()));this.A-=this.B.oa},function(a){this.G=a.call(this,this.G,G(this,this.C));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D));this.A-=this.B.Y}, -function(a){this.I=a.call(this,this.I,G(this,this.F));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.D));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.K()));this.A-=this.B.oa},function(a){this.I=a.call(this,this.I,G(this,this.C));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+ -this.F));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.F));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.D));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.K()));this.A-=this.B.oa},function(a){this.J=a.call(this,this.J,G(this,this.C));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.C=a.call(this, -this.C,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.C=a.call(this,this.C,G(this,this.F));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.D));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.K()));this.A-=this.B.oa},function(a){this.C=a.call(this,this.C,G(this,this.C));this.A-=this.B.R},function(a){y(this, -a.call(this,w(this),G(this,this.C+this.F)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D)));this.A-=this.B.Z},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F)));this.A-=this.B.Z},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.F)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.D)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.K()))); -this.A-=this.B.oa},function(a){y(this,a.call(this,w(this),G(this,this.C)));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this,this.F));this.A-=this.B.R},function(a){this.H=a.call(this, -this.H,G(this,this.D));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.K()));this.A-=this.B.oa},function(a){this.H=a.call(this,this.H,G(this,this.C));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D));this.A-=this.B.Y}, -function(a){this.F=a.call(this,this.F,G(this,this.F));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.D));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.K()));this.A-=this.B.oa},function(a){this.F=a.call(this,this.F,G(this,this.C));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+ -this.F));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.F));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.D));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.K()));this.A-=this.B.oa},function(a){this.D=a.call(this,this.D,G(this,this.C));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.G= -a.call(this,this.G,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G= -a.call(this,this.G,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I= -a.call(this,this.I,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.J= -a.call(this,this.J,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this, -this.C,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this, -this.C,G(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this, -a.call(this,w(this),G(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.H= -a.call(this,this.H,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this, -this.F,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this, -this.F,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D= -a.call(this,this.D,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.G= -a.call(this,this.G,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this, -this.I,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this, -this.I,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J= -a.call(this,this.J,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.C= -a.call(this,this.C,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.K())));this.A-=this.B.N},function(a){y(this, -a.call(this,w(this),G(this,this.C+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D+this.K())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this, -a.call(this,w(this),G(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H= -a.call(this,this.H,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.F= -a.call(this,this.F,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this, -this.D,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this, -this.D,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G=a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,w(this))},function(a){this.G=a.call(this,this.G,this.H)},function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this, -this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this,this.I,this.C)},function(a){this.I=a.call(this,this.I,w(this))},function(a){this.I=a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this,this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J= -a.call(this,this.J,w(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J=a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C=a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C=a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,w(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C= -a.call(this,this.C,this.D)},function(a){y(this,a.call(this,w(this),this.G))},function(a){y(this,a.call(this,w(this),this.I))},function(a){y(this,a.call(this,w(this),this.J))},function(a){y(this,a.call(this,w(this),this.C))},function(a){y(this,a.call(this,w(this),w(this)))},function(a){y(this,a.call(this,w(this),this.H))},function(a){y(this,a.call(this,w(this),this.F))},function(a){y(this,a.call(this,w(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H, -this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H=a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,w(this))},function(a){this.H=a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F=a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this, -this.F,w(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F=a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D=a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D=a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,w(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D= -a.call(this,this.D,this.D)}],Jd=[function(a){a=a.call(this,N(this,this.C+this.F),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.G);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.G);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.G);Q(this, -a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.G);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.I);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.I);Q(this,a);this.A-= -this.B.Y},function(a){a=a.call(this,N(this,this.F),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.I);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.J);Q(this,a);this.A-=this.B.Z},function(a){a= -a.call(this,O(this,this.H+this.F),this.J);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.J);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+ -this.F),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.C); -Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),w(this));Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),w(this));Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),w(this));Q(this, -a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),w(this));Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.H);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.H);Q(this,a);this.A-=this.B.Z}, -function(a){a=a.call(this,O(this,this.H+this.D),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.H);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this, -N(this,this.C+this.D),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.F);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C), -this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.D);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.D);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.D);Q(this, -a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.D);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+ -this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this, -N(this,this.C+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this, -this.F+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a= -a.call(this,O(this,this.H+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.C);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this, -this.D+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.O}, -function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.F); -Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, -O(this,this.H+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.D);Q(this,a);this.A-= -this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()), -this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, -N(this,this.C+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.I);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+ -this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, -N(this,this.C+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.C);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+ -this.D+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a= -a.call(this,N(this,this.C+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.H);Q(this, -a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this, -N(this,this.F+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.D);Q(this,a);this.A-=this.B.O}, -function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.D); -Q(this,a);this.A-=this.B.M},C[192],C[200],C[208],C[216],C[224],C[232],C[240],C[248],C[193],C[201],C[209],C[217],C[225],C[233],C[241],C[249],C[194],C[202],C[210],C[218],C[226],C[234],C[242],C[250],C[195],C[203],C[211],C[219],C[227],C[235],C[243],C[251],C[196],C[204],C[212],C[220],C[228],C[236],C[244],C[252],C[197],C[205],C[213],C[221],C[229],C[237],C[245],C[253],C[198],C[206],C[214],C[222],C[230],C[238],C[246],C[254],C[199],C[207],C[215],C[223],C[231],C[239],C[247],C[255]],Kd=[function(a,b){var c= -a[0].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[0].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[2].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[2].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[4].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[6].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[0].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.L()),b.call(this));Q(this, -c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+this.D+this.L()),b.call(this)); -Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()), -b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this, -O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this, -N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, -b){var c=a[3].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O}, -function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c); -this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()), -b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.F+ -this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this, -N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c= -a[7].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, -b){var c=a[7].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this, -c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.K()),b.call(this)); -Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+ -this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this, -O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c= -a[2].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-= -this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this, -c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.K()), -b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this, -this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a, -b){var c=a[6].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N}, -function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.K()),b.call(this));Q(this, -c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){y(this,a[0].call(this,w(this),b.call(this)))}, -function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this,a[1].call(this,w(this),b.call(this)))},function(a,b){this.H=a[1].call(this, -this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,w(this),b.call(this)))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F= -a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,w(this),b.call(this)))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))}, -function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,w(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this, -this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,w(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G= -a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,w(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))}, -function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function Dd(){this.Im[this.X()].call(this)} -function Fd(){z(this,w(this)&this.ha);this.A-=this.B.rc}function ld(){var a=w(this)&this.ha;z(this,this.G&this.ha);z(this,this.I&this.ha);z(this,this.J&this.ha);z(this,this.C&this.ha);z(this,a);z(this,this.H&this.ha);z(this,this.F&this.ha);z(this,this.D&this.ha);this.A-=this.B.$l} -function md(){this.D=this.D&~this.ha|this.Ea();this.F=this.F&~this.ha|this.Ea();this.H=this.H&~this.ha|this.Ea();y(this,w(this)+this.ed);this.C=this.C&~this.ha|this.Ea();this.J=this.J&~this.ha|this.Ea();this.I=this.I&~this.ha|this.Ea();this.G=this.G&~this.ha|this.Ea();this.A-=this.B.Yl}function nd(){this.sb[this.X()].call(this,gf)}function Ed(){this.Ac[this.X()].call(this,hf)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.X()].call(this,bf)} -function qd(){z(this,this.X());this.A-=this.B.rc}function rd(){this.sb[this.X()].call(this,af)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}} +function ie(a,b){b=b|a.lc&1|65520;a.lc=a.lc&-65536|b&65535;a.lc&1&&Ld(a,!0)}function Xc(a,b,c){a.T=256;a.P=a.W=a.da=0;b&xb&&de(a);b&wb||(a.W|=1);b&vb&&(a.da|=16);b&ub||be(a);b&tb&&ge(a);b&pb&&he(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.ma.Va);c?b=b&-12289|a.Aa&12288:a.Bf=(b&12288)>>12;c>a.Bf&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Fg|b&a.Fg|a.gk;a.Aa&sb&&(a.kb|=2,a.Q|=4)} +k.Eb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.na[b]=c;this.yk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)}; +k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;return b>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;c>8&255))};function je(a,b,c){a.Cg=b;a.aa=b.Ec(a.xg=c,0);return a.Q&1?0:a.qc(a.aa)} +function E(a,b){return je(a,a.fb,b&65535)}function F(a,b){return je(a,a.Mc,b&65535)}function ke(a,b,c){a.Cg=b;a.aa=b.Ec(a.xg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return ke(a,a.fb,b&65535)}function J(a,b){return ke(a,a.Mc,b&65535)}function le(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.xg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return le(a,a.fb,b&65535)}function M(a,b){return le(a,a.Mc,b&65535)}function me(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.xg=c,1);return a.Q&1?0:a.ja(a.aa)} +function N(a,b){return me(a,a.fb,b&65535)}function O(a,b){return me(a,a.Mc,b&65535)}function P(a,b){a.Q&2||a.Te(a.Cg.hc(a.xg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Cg.hc(a.xg,1),b)}function ad(a,b,c){return a.ja(b.Ec(c,1))}k.X=function(){var a=this.qc(this.la);++this.la>this.Ff&&D(this,this.la-this.ma.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.Ff&&D(this,this.la-this.ma.ua);return a&65535};function ne(a){var b=a.ja(a.la);a.la+=2;a.la>a.Ff&&D(a,a.la-a.ma.ua);return b} +k.K=function(){var a=this.ja(this.la);this.la+=this.se;this.la>this.Ff&&D(this,this.la-this.ma.ua);return a};k.Ea=function(){var a=this.ja(this.Jc);this.Jc+=2;this.Jc>this.nm&&y(this,this.Jc-this.ra.ua);return a};function z(a,b){a.Jc-=2;a.Jcthis.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function ue(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function ve(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&255} +function we(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&65535}function xe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&255}function ye(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&65535}function ze(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,fe(this),a;be(this);return a} +function Ae(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.jl;if(bd)D(this,this.Bb-this.ma.ua),re.call(this,5,null,0);this.Q|=2;return a}function Be(a,b){var c=this.ma.sa,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))}function Ce(a,b){this.da=a^b;this.T=256;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a} +function De(a,b){this.da=a^b;this.T=65536;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function Ee(a){return a}function Fe(a,b){var c=(b<<16>>16)*(this.X()<<24>>24);this.P=this.da=this.W=c;this.T=256;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535} +function Ge(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.W=c;this.T=65536;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}function re(a,b,c){this.A-=this.B.El+c;this.ma.zi=!0;c=ob(this);var d=this.ma.sa,e=v(this);a=this.ma.$k(a);a!=q&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.Dh=-1)} +function He(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.ma.Va&&this.Jb.pc>=(b&3))return fe(this),this.Jb.hb&65280;be(this);return a}function Ie(a,b){if(0>this.aa)return R.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}function Je(a){if(0>this.aa)return R.call(this),a;this.A-=this.B.Ml;return this.aa}function Ke(a,b){if(0>this.aa)return R.call(this),a;Td(this,this.ja(this.aa+2));this.A-=this.B.kj;return b} +function Le(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.ma.Va)&&this.Jb.pc>=(b&3))return fe(this),this.Jb.$b;be(this);return a}function Me(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Tl:this.B.Sl:this.B.Ql;return b}function Ne(){return Me.call(this,0,this.Db)}function Oe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&255} +function Pe(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&65535}function Qe(a){var b=this.Ea(),c=this.Ea();(a<<=this.ed>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.sa&65528&&this.eb.pcthis.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function Se(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Te(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&255} +function Ue(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&65535}function Ve(a,b){this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.ug:this.B.ug;this.Q|=2;return a}function We(a,b){this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.ug:this.B.ug;this.Q|=2;return a} +function Xe(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Lj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Kj;return b} +function Ye(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Lj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Kj;return b}function Ze(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&255} +function $e(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&65535}function af(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?he(this):ce(this)}function bf(){this.A-=0>this.aa?2:this.B.fm;return 1}function cf(){var a=this.I&this.Df;this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<this.aa?this.B.Cj:this.B.Bj)+(a<this.Dh)D(this,this.Bb-this.ma.ua),d=!0;else if(8!=this.Dh)b=0,a=8,d=!0;else{hf.call(this,-1,0,c);Gd(this);return}hf.call(this,a,b,c)&&(d=!1);d&&re.call(this,this.Dh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.ma.ua)} +function hf(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Sq(v(this),this.ma.sa)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function Dd(){this.Im[this.X()].call(this)}function Fd(){z(this,w(this)&this.ha);this.A-=this.B.rc} +function ld(){var a=w(this)&this.ha;z(this,this.G&this.ha);z(this,this.I&this.ha);z(this,this.J&this.ha);z(this,this.C&this.ha);z(this,a);z(this,this.H&this.ha);z(this,this.F&this.ha);z(this,this.D&this.ha);this.A-=this.B.$l} +function md(){this.D=this.D&~this.ha|this.Ea();this.F=this.F&~this.ha|this.Ea();this.H=this.H&~this.ha|this.Ea();y(this,w(this)+this.ed);this.C=this.C&~this.ha|this.Ea();this.J=this.J&~this.ha|this.Ea();this.I=this.I&~this.ha|this.Ea();this.G=this.G&~this.ha|this.Ea();this.A-=this.B.Yl}function nd(){this.sb[this.X()].call(this,Ae)}function Ed(){this.Ac[this.X()].call(this,ze)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.X()].call(this,Ge)} +function qd(){z(this,this.X());this.A-=this.B.rc}function rd(){this.sb[this.X()].call(this,Fe)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}} function td(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.la-b-1,e=Jb(this.ka,this.J,d),d=e|=Jb(this.ka,this.J,d)<<8;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}} function ud(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.qc(this.eb.Ec(this.F&this.fa,0));this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;Lb(this.ka,this.J,d,this.la-b-1);a&&(this.la=this.Bb,this.Q|=256)}} -function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.fa);this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function qf(){var a=this.L();Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function rf(){var a=this.L();Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} -function sf(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function tf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function uf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function vf(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function wf(){var a=this.L();Ud(this)||Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb} -function xf(){var a=this.L();Ud(this)||Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function yf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function zf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function Af(){var a=this.L();Vd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Bf(){var a=this.L();Vd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} -function Cf(){var a=this.L();!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Df(){var a=this.L();!Yd(this)==!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ef(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ff(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} -function Gf(){this.re[this.X()].call(this,Ne,this.X);this.A-=0>this.Fa?1:this.B.Eh}function wd(){this.re[this.X()].call(this,Re,Ke)}function xd(){this.Pc[this.X()].call(this,Se,Ke)}function Hf(){var a=this.K()<<(this.ed>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.em}function If(){D(this,this.Ea());this.A-=this.B.bm} -function yd(){var a=this.K(),b=this.X()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.fa;if(0>8,c,d=Wd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this, -ye)},function(){this.Ac[this.X()].call(this,Ge)},function(){this.$c[this.X()].call(this,ye)},function(){this.sb[this.X()].call(this,Ge)},function(){ye.call(this,this.G&255,this.X());this.A--},function(){Ge.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this); +function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.fa);this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function jf(){var a=this.L();Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function kf(){var a=this.L();Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} +function lf(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function mf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function nf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function of(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function pf(){var a=this.L();Ud(this)||Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb} +function qf(){var a=this.L();Ud(this)||Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function rf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function sf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function tf(){var a=this.L();Vd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function uf(){var a=this.L();Vd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} +function vf(){var a=this.L();!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function wf(){var a=this.L();!Yd(this)==!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function xf(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function yf(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} +function zf(){this.re[this.X()].call(this,Af,this.X);this.A-=0>this.Fa?1:this.B.Eh}function wd(){this.re[this.X()].call(this,Bf,df)}function xd(){this.Pc[this.X()].call(this,Cf,df)}function Df(){var a=this.K()<<(this.ed>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.em}function Ef(){D(this,this.Ea());this.A-=this.B.bm} +function yd(){var a=this.K(),b=this.X()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.fa;if(0>8,c,d=Wd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this, +Ce)},function(){this.Ac[this.X()].call(this,De)},function(){this.$c[this.X()].call(this,Ce)},function(){this.sb[this.X()].call(this,De)},function(){Ce.call(this,this.G&255,this.X());this.A--},function(){De.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this); this.A-=this.B.Ne},function(){this.W=(this.da=this.G)+1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)+1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)+1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)+1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a; this.W=(this.da=w(this))+1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)+1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)+1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)+1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-= 2},function(){this.W=(this.da=this.G)-1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)-1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)-1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)-1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;this.W= (this.da=w(this))-1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)-1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)-1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)-1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){z(this, this.G&this.ha);this.A-=this.B.rc},function(){z(this,this.I&this.ha);this.A-=this.B.rc},function(){z(this,this.J&this.ha);this.A-=this.B.rc},function(){z(this,this.C&this.ha);this.A-=this.B.rc},function(){z(this,w(this)-this.ed&this.ha);this.A-=this.B.rc},function(){z(this,this.H&this.ha);this.A-=this.B.rc},function(){z(this,this.F&this.ha);this.A-=this.B.rc},function(){z(this,this.D&this.ha);this.A-=this.B.rc},function(){this.G=this.G&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.I=this.I& -~this.ha|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.ha|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.ha|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.ha|this.Ea();this.A-=this.B.jc},qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf, -Cf,Df,Ef,Ff,Gf,function(){this.Pc[this.X()].call(this,Oe,this.K);this.A-=0>this.Fa?1:this.B.Eh},Gf,function(){this.Pc[this.X()].call(this,Oe,this.L);this.A-=0>this.Fa?1:this.B.Eh},function(){this.Zc[this.X()].call(this,Ze)},function(){this.Ac[this.X()].call(this,$e)},function(){this.$c[this.Tg=this.X()].call(this,lf)},function(){this.sb[this.Tg=this.X()].call(this,mf)},function(){this.Q|=1;this.Zc[this.X()].call(this,Xe)},function(){this.Q|=1;this.Ac[this.X()].call(this,Xe)},function(){this.$c[this.X()].call(this, -Xe)},function(){this.sb[this.X()].call(this,Xe)},function(){var a=this.X();switch((a&56)>>3){case 0:this.Db=this.Na.sa;break;case 1:this.Db=this.na.sa;break;case 2:this.Db=this.ra.sa;break;case 3:this.Db=this.eb.sa;break;default:S.call(this);return}this.Q|=1;this.Ac[a].call(this,Ye)},function(){this.Q|=1;this.fb=this.Mc=this.wm;this.sb[this.X()].call(this,df)},function(){var a,b=this.X(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| -80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,Xe);switch(c){case 0:Td(this,this.G);this.G=a;break;case 1:Rd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Sd(this,this.C);this.C=a;break;case 4:Td(this,w(this));y(this,a);break;case 5:Rd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Sd(this,this.D),this.D=a}}, -function(){this.Q|=1;this.Pc[this.X()].call(this,Pe,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= -2==this.ed?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.ed?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ll},function(){We.call(this,this.K(),this.K());this.A-=this.B.ol},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?de(this):$d(this);a&wb?Vd(this)||(this.W^=1):Vd(this)&&(this.W^=1);a&vb?ee(this): +~this.ha|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.ha|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.ha|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.ha|this.Ea();this.A-=this.B.jc},jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf, +vf,wf,xf,yf,zf,function(){this.Pc[this.X()].call(this,Jf,this.K);this.A-=0>this.Fa?1:this.B.Eh},zf,function(){this.Pc[this.X()].call(this,Jf,this.L);this.A-=0>this.Fa?1:this.B.Eh},function(){this.Zc[this.X()].call(this,Ve)},function(){this.Ac[this.X()].call(this,We)},function(){this.$c[this.Tg=this.X()].call(this,Xe)},function(){this.sb[this.Tg=this.X()].call(this,Ye)},function(){this.Q|=1;this.Zc[this.X()].call(this,Me)},function(){this.Q|=1;this.Ac[this.X()].call(this,Me)},function(){this.$c[this.X()].call(this, +Me)},function(){this.sb[this.X()].call(this,Me)},function(){var a=this.X();switch((a&56)>>3){case 0:this.Db=this.Na.sa;break;case 1:this.Db=this.ma.sa;break;case 2:this.Db=this.ra.sa;break;case 3:this.Db=this.eb.sa;break;default:R.call(this);return}this.Q|=1;this.Ac[a].call(this,Ne)},function(){this.Q|=1;this.fb=this.Mc=this.wm;this.sb[this.X()].call(this,Je)},function(){var a,b=this.X(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| +80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,Me);switch(c){case 0:Td(this,this.G);this.G=a;break;case 1:Rd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Sd(this,this.C);this.C=a;break;case 4:Td(this,w(this));y(this,a);break;case 5:Rd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Sd(this,this.D),this.D=a}}, +function(){this.Q|=1;this.Pc[this.X()].call(this,Kf,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= +2==this.ed?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.ed?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ll},function(){Be.call(this,this.K(),this.K());this.A-=this.B.ol},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?de(this):$d(this);a&wb?Vd(this)||(this.W^=1):Vd(this)&&(this.W^=1);a&vb?ee(this): ae(this);a&ub?fe(this):be(this);a&tb?ge(this):Yd(this)&&(this.W^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(ob(this)&Ec)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Ec(b,0));this.G=a|b;this.A-=this.B.rj},function(){this.G=this.G&~this.ha|ad(this,this.fb,this.K());this.A-=this.B.rj},function(){var a=this.K(),b=this.G;this.Te(this.fb.hc(a,0),b);this.A-=this.B.sj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1), b);this.A-=this.B.sj},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-1:1,e=this.qc(this.fb.Ec(this.F,0));this.Te(this.Na.hc(this.D&this.fa,0),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-2: -2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.fa,1),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-1:1,e=ie(this,this.fb,this.F&this.fa),f=ke(this,this.Na,this.D&this.fa);ye.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa; -this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-2:2,e=je(this,this.fb,this.F&this.fa),f=le(this,this.Na,this.D&this.fa);Ge.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.W= +2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.fa,1),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-1:1,e=je(this,this.fb,this.F&this.fa),f=le(this,this.Na,this.D&this.fa);Ce.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa; +this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-2:2,e=ke(this,this.fb,this.F&this.fa),f=me(this,this.Na,this.D&this.fa);De.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.W= this.da=this.G&this.X();this.T=256;this.A-=this.B.Ne},function(){this.P=this.W=this.da=this.G&this.K();this.T=65536;this.A-=this.B.Ne},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256||(this.A-=this.B.Fj));if(a--){var d=this.G;this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256|| (this.A-=this.B.Fj));if(a--){var d=this.G;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.lj;this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=this.G&-256|this.qc(this.fb.Ec(this.F&this.fa,0)),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.lj; -this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=ad(this,this.fb,this.F&this.fa),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(ye.call(this,this.G&255,ke(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa& -64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(Ge.call(this,this.G,le(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.X();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.X();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.X(); +this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=ad(this,this.fb,this.F&this.fa),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(Ce.call(this,this.G&255,le(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa& +64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(De.call(this,this.G,me(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.X();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.X();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.X(); this.A-=this.B.Ab},function(){this.C=this.C&-256|this.X();this.A-=this.B.Ab},function(){this.G=this.G&255|this.X()<<8;this.A-=this.B.Ab},function(){this.I=this.I&255|this.X()<<8;this.A-=this.B.Ab},function(){this.J=this.J&255|this.X()<<8;this.A-=this.B.Ab},function(){this.C=this.C&255|this.X()<<8;this.A-=this.B.Ab},function(){this.G=this.G&~this.ha|this.K();this.A-=this.B.Ab},function(){this.I=this.I&~this.ha|this.K();this.A-=this.B.Ab},function(){this.J=this.J&~this.ha|this.K();this.A-=this.B.Ab}, -function(){this.C=this.C&~this.ha|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.ha|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.ha|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.ha|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.ha|this.K();this.A-=this.B.Ab},Hf,If,Hf,If,function(){this.sb[this.X()].call(this,ff)},function(){this.sb[this.X()].call(this,ef)},function(){this.Q|=1;this.re[this.X()].call(this,Qe,this.X)},function(){this.Q|=1;this.Pc[this.X()].call(this, -Qe,this.K)},Jf,Kf,Jf,Kf,function(){ne.call(this,3,null,this.B.Fl)},function(){var a=this.X(),b;a:{b=this.Hg[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.T=256;this.A-=this.B.hl},function(){this.G=this.G&-256|(Ud(this)?255:0);this.A-=2},function(){this.G= -this.G&-256|ie(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.gm},Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,function(){var a=this.L();(this.I=this.I-1&this.fa)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Ol):this.A-=this.B.oj},function(){var a=this.L();!(this.I=this.I-1&this.fa)||this.P&this.T-1?this.A-=this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.L();(this.I=this.I-1&this.fa)?(D(this,v(this)+a),this.A-=this.B.Nl):this.A-=this.B.oj},function(){var a=this.L();this.I?this.A-= +function(){this.C=this.C&~this.ha|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.ha|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.ha|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.ha|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.ha|this.K();this.A-=this.B.Ab},Df,Ef,Df,Ef,function(){this.sb[this.X()].call(this,Ke)},function(){this.sb[this.X()].call(this,Ie)},function(){this.Q|=1;this.re[this.X()].call(this,Lf,this.X)},function(){this.Q|=1;this.Pc[this.X()].call(this, +Lf,this.K)},Ff,Gf,Ff,Gf,function(){re.call(this,3,null,this.B.Fl)},function(){var a=this.X(),b;a:{b=this.Hg[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.T=256;this.A-=this.B.hl},function(){this.G=this.G&-256|(Ud(this)?255:0);this.A-=2},function(){this.G= +this.G&-256|je(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.gm},Hf,Hf,Hf,Hf,Hf,Hf,Hf,Hf,function(){var a=this.L();(this.I=this.I-1&this.fa)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Ol):this.A-=this.B.oj},function(){var a=this.L();!(this.I=this.I-1&this.fa)||this.P&this.T-1?this.A-=this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.L();(this.I=this.I-1&this.fa)?(D(this,v(this)+a),this.A-=this.B.Nl):this.A-=this.B.oj},function(){var a=this.L();this.I?this.A-= this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.X();this.G=this.G&-256|Jb(this.ka,a,this.la-2);this.A-=this.B.ij},function(){var a=this.X();this.G=Jb(this.ka,a,this.la-2);this.G|=Jb(this.ka,a+1&65535,this.la-2)<<8;this.A-=this.B.ij},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);this.A-=this.B.xj},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);Lb(this.ka,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.xj},function(){var a=this.K();z(this,v(this));D(this, v(this)+a);this.A-=this.B.ml},function(){var a=this.K();D(this,v(this)+a);this.A-=this.B.jj},function(){Yc(this,this.K(),this.K());this.A-=this.B.Jl},function(){var a=this.L();D(this,v(this)+a);this.A-=this.B.jj},function(){this.G=this.G&-256|Jb(this.ka,this.J,this.la-1);this.A-=this.B.hj},function(){this.G=Jb(this.ka,this.J,this.la-1);this.G|=Jb(this.ka,this.J+1&65535,this.la-1)<<8;this.A-=this.B.hj},function(){Lb(this.ka,this.J,this.G&255,this.la-1);this.A-=this.B.wj},function(){Lb(this.ka,this.J, -this.G&255,this.la-1);Lb(this.ka,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.wj},Mf,Mf,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Ud(this)?$d(this):de(this);this.A-=2},function(){this.Db=-1;this.re[this.X()].call(this,Ue,Le);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Pc[this.X()].call(this,Ve,Le);0<=this.Db&&(this.G=this.Db,this.J=this.zg)},function(){this.P&=~this.T;this.A-= -2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.kl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.X()].call(this,fd,Le)},function(){this.Pc[this.X()].call(this,id,Le)}],Cd=[function(){var a=this.X();16>(a&56)&&(this.Q|=1);this.Pc[a].call(this,this.lk,Le)},function(){var a=this.X();a&16||(this.Q|=1);this.Pc[a].call(this,Nf,Le)},function(){this.sb[this.X()].call(this,jf)},function(){this.sb[this.X()].call(this, -kf)},S,function(){this.na.Va?Lc.call(this,13,0,!0):(nf.call(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na,2102,this.ja(2084)),$c(this.na,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Qc=this.ja(2126)|this.qc(2128)<<16,this.ff=this.Qc+this.ja(2130),$c(this.ke,2132, -this.ja(2076)),this.Rc=this.ja(2138)|this.qc(2140)<<16,this.gf=this.Rc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.na.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},S,S,S,S,kd,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S, -S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],Od=[function(){this.A-=2+(0>this.aa?0:1);return this.ke.sa},function(){this.A-=2+(0>this.aa?0:1);return this.gb.sa},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0> -this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return fe(this),a;be(this);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3))return fe(this),a;be(this);return a},R,R],jd=[Bd,Bd,Bd,Bd,Bd,Bd,R,R],Nf=[function(a){0>this.aa?kd.call(this):(a=this.ff-this.Qc,this.Ga(this.aa+ -2,this.Qc),this.Ga(this.aa+4,65280|this.Qc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.gf-this.Rc,this.Ga(this.aa+2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this):(this.Qc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Qc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.gf=this.Rc+a,this.Q|=2,this.A-=12);return a},function(){this.A-= -2+(0>this.aa?0:1);return this.lc},R,function(a){nf.call(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},R]; -function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Of;this.Ub=0;var b=a.sw1;if(b)this.Ub=Pf(b,Qf|Rf.Gm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Sf.Xh,b--,this.Ub|=(b&3)<=Tf&&(this.Yg=this.Tf=2);this.Xd=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Nk= -!1;a.sound&&window&&"webkitAudioContext"in window&&(this.pi=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Of=5150,Tf=5170,Uf={none:0,tv:1,color:2,mono:3,ega:0},Sf={Xh:1,ONE:0,sq:64,qq:128,Qp:192,Hf:192,If:6},Qf=12,Rf={rq:16,Ip:32,Gm:48,Hf:48,If:4};k=T.prototype; -k.Eb=function(a,b,c){switch(b){case "sw1":return this.ma[b]=c,Vf(this,b,c,this.Ub,{0:this.za==Of?"Bootable Floppy Drive":"Loop on POST",1:this.za==Of?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Of)return this.ma[b]=c,Vf(this,b,c,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ma[b]=c,!0}return!1}; -k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Hh=c.S.jd/1193181;Ib(b,this,Wf);Kb(b,this,Xf);this.za=Tf){this.ib=16;this.sd=0;this.rd=16;this.Pg=0;this.ue=160;512<=fg(this)&&(this.ue|=16);3==gg(this)&&(this.ue|=64);this.ei=3;this.Sg=0;this.Xb=Array(7);this.hf=0;a&&(this.ba=Array(64));hg(this, -this.Cp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Yc&(Rf.Hf|2|Sf.Xh|Sf.Hf);this.ba[16]=ig(this,0)<<4|ig(this,1);jg(this)}}; -function hg(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.ug=a.Cf=0;a.hm=a.Fh=null} -function kg(a){var b;void 0===b&&(b=a.Fh);a.Cf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function jg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8} -k.save=function(){var a=new Pd(this);a.set(0,[this.Ub,this.ne,this.Yc,this.Ve]);for(var b=[],c=0;c=Tf&&(a.set(5,[this.ib,this.sd,this.rd,this.Pg,this.ue,this.ei]),a.set(6,[this.Sg,this.Xb,this.hf,this.ba,this.ug,this.Cf]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Yc=b[2];this.Ve=b[3];b=a[1];for(c=0;c>2)+1)*a.mo+32*((b?a.ne:a.Ve)&15)}function rg(a,b){var c=b?a.Ub:a.Yc;return a.za!=Of||c&Sf.Xh?((c&Sf.Hf)>>Sf.If)+1:0} -function ig(a,b){if(b>Rf.If} -function Vf(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=Ta(c,"pcjs-bitCell");c=null;for(g=0;gd.Ua[0]&&(d.Ua[0]=255,d.Ua[1]--,0>d.Ua[1]&&(d.Ua[1]=255)));return e}function wg(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1} -function xg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function yg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<>2].vb[b&3],c,d,e)} -function Eg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.bh&&b.Ki&&b.Ih?(c&&(b.eh=c),b.Ad||oe(a,b,!0)):c&&c(!0)}function oe(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.Cm=b.mode&12,b.Qk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Wg<<16|b.Sa[1]<<8|b.Sa[0],4==b.Cm?(d=!0,function(c){b.Ki.call(b.bh,b.Ih,-1,function(f,g){0>f&&(b.Qk||(b.Qk=!0),f=255);b.Ad||a.ka.Te(c,f);(d=g)&&setTimeout(function(){Jg(b)||oe(a,b)},0)})}(c)):8==b.Cm?(c=a.ka.qc(c),0>b.Ki.call(b.bh,b.Ih,c)&&(b.fd=!0)):b.fd=!0),!d&&!Jg(b););} -function Jg(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.Sa[0]--,0>a.Sa[0]&&(a.Sa[0]=255,a.Sa[1]--,0>a.Sa[1]&&(a.Sa[1]=255))):(a.Sa[0]++,255>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.kg=c||0,Mg(a))}function Pg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Mg(a))} -function Mg(a,b){var c,d=-1;1>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.fo=function(){return null}; -k.qp=function(a,b){this.ji=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Ph=f;g.mode=e;g.wk=d;g.Yb=[0,0];g.Ua=[0,0];g.De=[0,0];g.gd=!1;g.bg=!1;g.He=!1;Rg(this,c);0==c&&Pg(this,0);2==c&&255==this.Vb[0].ad&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Sg(this,c),d=this.Lb[c],d.De[0]=d.Ua[0],d.De[1]=d.Ua[1],d.bg=!0,Rg(this,c)}};function Ug(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Ce?256:65536);return d} -function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Ce?256:65536);return d}function Rg(a,b){var c=a.Lb[b];c.Td=32==c.Ph?1:0;c.Ce=48==c.Ph?2:1} -function Sg(a,b,c){var d=a.Lb[b];if(d.He&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Hh|0;0>f&&(d.Bd=e,f=0);var g=Ug(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.He=!1,b||Og(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d} -function Ac(a,b){for(var c=0;c=Tf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Fh&&(a.ug=yc(a.U,a.Xd),a.hm=1024,a.Fh=Math.floor(a.U.S.jd/a.hm),kg(a));d>=a.Cf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Og(a,8)),a.Cf=d+a.Fh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Og(a,8)));var e=d-a.ug,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]= -0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Og(a,8))}a.ug=d-e%c}}k.Xn=function(){var a=this.Vg;if(this.Qf&16)if(this.uc&128)a=this.Yc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.jp=function(a,b){this.Vg=b};k.Yn=function(){return this.uc}; -k.kp=function(a,b){Vg(this,b);this.Ba&&Wg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Vg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Zn=function(){var a=0,a=this.za==Of?this.uc&4?a|this.Ve&15:a|this.Ve>>4&1:this.uc&8?a|this.Yc>>4:a|this.Yc&15;this.uc&1&&Sg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.lp=function(a,b){this.hi=b};k.$n=function(){return this.Qf};k.mp=function(a,b){this.Qf=b};k.nn=function(){var a=this.Pg;this.ib&=-258;this.Ba&&Xg(this.Ba);return a}; -k.Bo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Yg(this,b);break;case 209:Zg(this,b);break;default:if(Yg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,$g(this.Ba)}ah(this,c)}}this.sd=b;this.ib&=-9};k.on=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.Co=function(a,b){Vg(this,b)};k.pn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a}; -k.Ao=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:ah(this,this.ue);break;case 173:Yg(this,this.rd|16);break;case 174:Yg(this,this.rd&-17);this.Ba&&Xg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Yg(this,this.rd|16);ah(this,85);Zg(this,3);break;case 224:ah(this,this.rd&16?0:1);break;case 240:c&1&&Gd(this.U)}};function Yg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Wg(a.Ba,!!(b&8),!(b&16))} -function ah(a,b){0<=b&&(a.Pg=b,a.ib&=-2,a.ib|=256)}function Zg(a,b){a.ei=b;Bb(a.ka,!!(b&2));b&1||Gd(a.U)}function bh(a,b){a.za=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&kg(this)};k.Vn=function(){return this.Sg};k.gp=function(a,b){this.Sg=b};k.ip=function(a,b){this.Ug=b};k.So=function(){};k.To=function(){}; -function Pf(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ci=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d>>d.jb].ak(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;bthis.Ng?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;jg(a)}}else m("No RAM allocated")}; -function ih(){this.Km=kh;this.Lm=lh}var jh=2160066560,kh=255,lh=0;function mh(){return this.V.Lm}function nh(a,b){this.V.Km=b}var oh=[mh,mh,mh,nh,nh,nh];ih.prototype.Tk=function(){return[null,0]};ih.prototype.Li=function(){return oh};za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b>8,this.la-1);this.A-=this.B.wj},If,If,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Ud(this)?$d(this):de(this);this.A-=2},function(){this.Db=-1;this.re[this.X()].call(this,Mf,ef);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Pc[this.X()].call(this,Nf,ef);0<=this.Db&&(this.G=this.Db,this.J=this.zg)},function(){this.P&=~this.T;this.A-= +2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.kl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.X()].call(this,fd,ef)},function(){this.Pc[this.X()].call(this,id,ef)}],Af=[ve,Oe,te,Re,xe,Te,Ze,Ce],Jf=[we,Pe,ue,Se,ye,Ue,$e,De],Kf=[function(a,b){this.A-=0>this.Fa?this.B.jc:this.B.Zl;return b},ff,ff,ff,ff,ff,ff,ff],Lf=[function(a,b){this.A-=0>this.Fa?this.B.Rl:this.B.Pl;return b}, +S,S,S,S,S,S,S],Bf=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;af.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);af.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%9)?(d=a<>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;af.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,af.call(this,c,256),c&=255);return c}, +function(a,b){var c=a;b&&(c=8>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},S,function(a,b){if(b){8>24>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Cf=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;af.call(this,d, +65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);af.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%17)?(d=a<>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;af.call(this,d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,af.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},S,function(a,b){if(b){16>16>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Mf=[function(a,b){b=this.X();this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},S,function(a){this.A-= +0>this.aa?this.B.sg:this.B.rg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.sg:this.B.rg;return(this.P=this.W=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.W=this.P;this.T=256;this.G&65280?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Vl:this.B.Ul;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.W=b;this.T=256;127b?(de(this),he(this)):($d(this), +ce(this));this.A-=0>this.aa?this.B.Al:this.B.zl;this.Q|=2;return a},function(a){if(!a)return gf.call(this),a;var b=this.G/a;if(255this.aa?this.B.sl:this.B.rl;this.Q|=2;return a},function(a){if(!a)return gf.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return gf.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.da=this.P=b|256;this.T= +256;this.A-=0>this.aa?this.B.wl:this.B.vl;this.Q|=2;return a}],Nf=[function(a,b){b=this.K();this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},S,function(a){this.A-=0>this.aa?this.B.sg:this.B.rg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.sg:this.B.rg;return(this.P=this.W=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.zg=this.J=this.P>>16&65535;this.da=this.W=this.P;this.T=65536;this.J?(de(this), +he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Xl:this.B.Wl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.zg=b>>16&65535;this.P=this.da=this.W=b;this.T=65536;32767b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Cl:this.B.Bl;this.Q|=2;return a},function(a,b){if(!a)return gf.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return gf.call(this),a;this.Db=this.G=c&65535;this.zg=this.J=b%a& +65535;this.W=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.ul:this.B.tl;this.Q|=2;return a},function(a,b){if(!a)return gf.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return gf.call(this),a;this.Db=this.G=d&65535;this.zg=this.J=b%c&65535;this.W=this.da=this.P=d|65536;this.T=65536;this.A-=0>this.aa?this.B.yl:this.B.xl;this.Q|=2;return a}],fd=[function(a){this.da=a;a=(this.W=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-= +0>this.aa?this.B.qg:this.B.pg;return a},function(a){this.da=a;a=(this.W=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.qg:this.B.pg;return a},S,S,S,S,S,S],id=[function(a){this.da=a;a=(this.W=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.qg:this.B.pg;return a},function(a){this.da=a;a=(this.W=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.qg:this.B.pg;return a},function(a){z(this,v(this));D(this,a); +this.A-=0>this.aa?this.B.ql:this.B.pl;this.Q|=2;return a},function(a){if(0>this.aa)return S.call(this,a);Be.call(this,a,this.ja(this.aa+2));this.A-=this.B.nl;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Ll:this.B.Kl;this.Q|=2;return a},function(a){if(0>this.aa)return S.call(this,a);Yc(this,a,this.ja(this.aa+2));this.Zg&&Nd(this,this.la);this.A-=this.B.Il;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc: +this.B.am;this.Q|=2;return a},ff],Cd=[function(){var a=this.X();16>(a&56)&&(this.Q|=1);this.Pc[a].call(this,this.lk,ef)},function(){var a=this.X();a&16||(this.Q|=1);this.Pc[a].call(this,Of,ef)},function(){this.sb[this.X()].call(this,He)},function(){this.sb[this.X()].call(this,Le)},R,function(){this.ma.Va?Lc.call(this,13,0,!0):(ie(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na, +2102,this.ja(2084)),$c(this.ma,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Qc=this.ja(2126)|this.qc(2128)<<16,this.ff=this.Qc+this.ja(2130),$c(this.ke,2132,this.ja(2076)),this.Rc=this.ja(2138)|this.qc(2140)<<16,this.gf=this.Rc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.ma.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},R,R,R,R,kd,R,R,R,R,R,R,R,R,R,R,R,R,R, +R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R],Od=[function(){this.A-=2+(0>this.aa?0: +1);return this.ke.sa},function(){this.A-=2+(0>this.aa?0:1);return this.gb.sa},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.ma.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return fe(this),a;be(this);return a},function(a){this.Q|= +2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.ma.Va&&this.Jb.pc>=(a&3))return fe(this),a;be(this);return a},S,S],jd=[Bd,Bd,Bd,Bd,Bd,Bd,S,S],Of=[function(a){0>this.aa?kd.call(this):(a=this.ff-this.Qc,this.Ga(this.aa+2,this.Qc),this.Ga(this.aa+4,65280|this.Qc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.gf-this.Rc,this.Ga(this.aa+2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this): +(this.Qc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Qc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.gf=this.Rc+a,this.Q|=2,this.A-=12);return a},function(){this.A-=2+(0>this.aa?0:1);return this.lc},S,function(a){ie(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},S],A=[function(a){a=a.call(this,this.G&255,E(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this, +this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.F));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.D));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.K()));this.G=this.G& +-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.G&255,E(this,this.C));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D));this.I=this.I&-256|a;this.A-= +this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.F));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.D));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.I&255,E(this,this.C));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this, +this.J&255,E(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&255,E(this,this.F));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.D));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.K())); +this.J=this.J&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.J&255,E(this,this.C));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D));this.C=this.C& +-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.F));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.D));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.C&255,E(this,this.C));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a= +a.call(this,this.G>>8,E(this,this.C+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.G>>8,E(this,this.F));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>> +8,E(this,this.K()));this.G=this.G&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.G>>8,E(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D));this.I=this.I&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.I>>8,F(this,this.H+ +this.D));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.K()));this.I=this.I&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.I>>8,E(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F));this.J=this.J&255| +a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>>8,E(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.R}, +function(a){a=a.call(this,this.J>>8,E(this,this.K()));this.J=this.J&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.J>>8,E(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D));this.C=this.C&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Z},function(a){a= +a.call(this,this.C>>8,F(this,this.H+this.D));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.K()));this.C=this.C&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.C>>8,E(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this, +this.C+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a= +a.call(this,this.G&255,E(this,this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O}, +function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.L()));this.I=this.I&-256|a; +this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+ +this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+ +this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this, +this.C&255,E(this,this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a= +a.call(this,this.G>>8,F(this,this.H+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M}, +function(a){a=a.call(this,this.G>>8,E(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.L()));this.I= +this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.L())); +this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>> +8,E(this,this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a= +a.call(this,this.C>>8,F(this,this.H+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M}, +function(a){a=a.call(this,this.C>>8,E(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.K()));this.G= +this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.K())); +this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255, +E(this,this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this, +this.J&255,F(this,this.H+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a= +a.call(this,this.J&255,E(this,this.C+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.K()));this.C=this.C&-256|a; +this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.K()));this.G=this.G& +255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+ +this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>> +8,F(this,this.H+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a= +a.call(this,this.I>>8,E(this,this.C+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.K()));this.J=this.J&255| +a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.K()));this.C= +this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this, +this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this, +this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255, +this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255); +this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C& +-256|a},function(a){a=a.call(this,this.C&255,this.I&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}, +function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}, +function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}, +function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}, +function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}, +function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],Hd=[function(a){a=a.call(this,K(this,this.C+this.F),this.G&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+ +this.F),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.G&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ +this.F),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, +this.K()),this.I&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, +K(this,this.F),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.J&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this, +M(this,this.H+this.F),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.C&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this, +K(this,this.C+this.F),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this, +K(this,this.K()),this.G>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, +K(this,this.F),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.I>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this, +this.H+this.F),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.J>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ +this.F),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, +this.K()),this.C>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G&255);P(this,a);this.A-= +this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+ +this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I&255);P(this,a); +this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a= +a.call(this,K(this,this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C& +255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a= +a.call(this,K(this,this.C+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()), +this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a= +a.call(this,M(this,this.H+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I>> +8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,K(this,this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+ +this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.C>>8);P(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this, +K(this,this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I& +255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a= +a.call(this,K(this,this.C+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+ +this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C&255);P(this,a); +this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this, +K(this,this.C+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.G>> +8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a= +a.call(this,M(this,this.H+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.J>> +8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a= +a.call(this,M(this,this.H+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()), +this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249], +A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238],A[246],A[254],A[199],A[207],A[215],A[223],A[231],A[239],A[247],A[255]],Id=[function(a,b){var c=a[0].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.C+this.D),b.call(this)); +P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa}, +function(a,b){var c=a[0].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c= +a[1].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.C+this.D), +b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-= +this.B.oa},function(a,b){var c=a[2].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a, +b){var c=a[3].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this, +this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.K()),b.call(this)); +P(this,c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-= +this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this, +K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.K()),b.call(this)); +P(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-= +this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c= +a[0].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M}, +function(a,b){var c=a[0].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this, +c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.L()),b.call(this)); +P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this, +this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this, +K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a, +b){var c=a[3].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-= +this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.L()),b.call(this));P(this, +c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+ +this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this, +this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c= +a[6].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O}, +function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-= +this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.K()), +b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+ +this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this, +M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a, +b){var c=a[2].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M}, +function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.K()),b.call(this)); +P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.K()), +b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this, +this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c= +a[5].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a, +b){var c=a[6].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.F+this.K()),b.call(this));P(this, +c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.K()),b.call(this)); +P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.K()), +b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this, +this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[1].call(this,this.J& +255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this)); +this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J& +255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<< +8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a, +b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c= +a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this, +this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>> +8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this)); +this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],C=[function(a){this.G=a.call(this,this.G,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D));this.A-= +this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.F));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.D));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.K()));this.A-=this.B.oa},function(a){this.G=a.call(this,this.G,G(this,this.C));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this, +this.C+this.F));this.A-=this.B.Y},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.I=a.call(this,this.I,G(this,this.F));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.D));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.K()));this.A-=this.B.oa},function(a){this.I= +a.call(this,this.I,G(this,this.C));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.F));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.D));this.A-= +this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.K()));this.A-=this.B.oa},function(a){this.J=a.call(this,this.J,G(this,this.C));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.C=a.call(this, +this.C,G(this,this.F));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.D));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.K()));this.A-=this.B.oa},function(a){this.C=a.call(this,this.C,G(this,this.C));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D)));this.A-=this.B.Z},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F)));this.A-=this.B.Z}, +function(a){y(this,a.call(this,w(this),J(this,this.H+this.D)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.F)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.D)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.K())));this.A-=this.B.oa},function(a){y(this,a.call(this,w(this),G(this,this.C)));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this, +this.C+this.D));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this,this.F));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.D));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.K()));this.A-=this.B.oa},function(a){this.H=a.call(this,this.H,G(this,this.C));this.A-=this.B.R},function(a){this.F= +a.call(this,this.F,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.F=a.call(this,this.F,G(this,this.F));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.D));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.K()));this.A-= +this.B.oa},function(a){this.F=a.call(this,this.F,G(this,this.C));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.F));this.A-=this.B.R},function(a){this.D=a.call(this, +this.D,G(this,this.D));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.K()));this.A-=this.B.oa},function(a){this.D=a.call(this,this.D,G(this,this.C));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+ +this.D+this.L()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D+ +this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.L())); +this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.D+ +this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+ +this.D+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.C+ +this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this), +G(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this, +this.H,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this, +this.F,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D, +G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D, +G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this, +this.G,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this, +this.I,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J, +G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J, +G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this, +this.C,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.K())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.K())));this.A-=this.B.O},function(a){y(this, +a.call(this,w(this),J(this,this.H+this.D+this.K())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.H= +a.call(this,this.H,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H= +a.call(this,this.H,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F= +a.call(this,this.F,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.D= +a.call(this,this.D,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G= +a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,w(this))},function(a){this.G=a.call(this,this.G,this.H)},function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this,this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this,this.I,this.C)},function(a){this.I=a.call(this,this.I,w(this))},function(a){this.I= +a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this,this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J=a.call(this,this.J,w(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J=a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C= +a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C=a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,w(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C=a.call(this,this.C,this.D)},function(a){y(this,a.call(this,w(this),this.G))},function(a){y(this,a.call(this,w(this),this.I))},function(a){y(this,a.call(this,w(this),this.J))}, +function(a){y(this,a.call(this,w(this),this.C))},function(a){y(this,a.call(this,w(this),w(this)))},function(a){y(this,a.call(this,w(this),this.H))},function(a){y(this,a.call(this,w(this),this.F))},function(a){y(this,a.call(this,w(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H,this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H=a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,w(this))},function(a){this.H= +a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F=a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this,this.F,w(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F=a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D= +a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D=a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,w(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D=a.call(this,this.D,this.D)}],Jd=[function(a){a=a.call(this,N(this,this.C+this.F),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.G); +Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.G);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.G);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.G);Q(this,a);this.A-=this.B.R}, +function(a){a=a.call(this,N(this,this.C+this.F),this.I);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.I);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.I);Q(this,a);this.A-=this.B.R},function(a){a= +a.call(this,N(this,this.K()),this.I);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.J);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.J);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this, +N(this,this.F),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.J);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F), +this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.C);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),w(this));Q(this,a);this.A-= +this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),w(this));Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),w(this));Q(this,a);this.A-=this.B.oa}, +function(a){a=a.call(this,N(this,this.C),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.H);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.H);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.H);Q(this,a);this.A-=this.B.R},function(a){a= +a.call(this,N(this,this.D),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.H);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this, +this.H+this.D),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.F);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.D); +Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.D);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.D);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.D);Q(this,a);this.A-=this.B.R}, +function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()), +this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a= +a.call(this,O(this,this.H+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.J);Q(this,a);this.A-= +this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+ +this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.N}, +function(a){a=a.call(this,N(this,this.F+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),w(this)); +Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, +N(this,this.C+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.H);Q(this,a); +this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+ +this.F+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a= +a.call(this,N(this,this.C+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.D); +Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this, +O(this,this.H+this.D+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.N}, +function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()), +this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a= +a.call(this,N(this,this.F+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.C);Q(this,a);this.A-= +this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()), +this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a= +a.call(this,N(this,this.D+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.H);Q(this, +a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+ +this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a= +a.call(this,O(this,this.H+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.D); +Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.D);Q(this,a);this.A-=this.B.M},C[192],C[200],C[208],C[216],C[224],C[232],C[240],C[248],C[193],C[201],C[209],C[217],C[225],C[233],C[241],C[249],C[194],C[202],C[210], +C[218],C[226],C[234],C[242],C[250],C[195],C[203],C[211],C[219],C[227],C[235],C[243],C[251],C[196],C[204],C[212],C[220],C[228],C[236],C[244],C[252],C[197],C[205],C[213],C[221],C[229],C[237],C[245],C[253],C[198],C[206],C[214],C[222],C[230],C[238],C[246],C[254],C[199],C[207],C[215],C[223],C[231],C[239],C[247],C[255]],Kd=[function(a,b){var c=a[0].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-= +this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c= +a[0].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this, +N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.C+this.D),b.call(this)); +Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa}, +function(a,b){var c=a[2].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c= +a[3].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.C+this.D), +b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-= +this.B.oa},function(a,b){var c=a[4].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a, +b){var c=a[5].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this, +this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.K()),b.call(this)); +Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-= +this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c= +a[0].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M}, +function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this, +c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.L()),b.call(this)); +Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this, +this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this, +N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, +b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-= +this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.L()),b.call(this));Q(this, +c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+ +this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this, +this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c= +a[6].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O}, +function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-= +this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.K()), +b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+ +this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this, +O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a, +b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M}, +function(a,b){var c=a[3].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.K()),b.call(this)); +Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.K()), +b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this, +this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c= +a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, +b){var c=a[6].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.F+this.K()),b.call(this));Q(this, +c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.K()),b.call(this)); +Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.K()), +b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){y(this,a[0].call(this,w(this),b.call(this)))},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a, +b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this,a[1].call(this,w(this),b.call(this)))},function(a,b){this.H=a[1].call(this,this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))}, +function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,w(this),b.call(this)))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this, +this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,w(this),b.call(this)))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G= +a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,w(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))}, +function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,w(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this, +this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,w(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J= +a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}]; +function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Pf;this.Ub=0;var b=a.sw1;if(b)this.Ub=Qf(b,Rf|Sf.Gm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Tf.Xh,b--,this.Ub|=(b&3)<=Uf&&(this.Yg=this.Uf=2);this.Xd=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Nk= +!1;a.sound&&window&&"webkitAudioContext"in window&&(this.pi=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Pf=5150,Uf=5170,Vf={none:0,tv:1,color:2,mono:3,ega:0},Tf={Xh:1,ONE:0,sq:64,qq:128,Qp:192,If:192,Jf:6},Rf=12,Sf={rq:16,Ip:32,Gm:48,If:48,Jf:4};k=T.prototype; +k.Eb=function(a,b,c){switch(b){case "sw1":return this.na[b]=c,Wf(this,b,c,this.Ub,{0:this.za==Pf?"Bootable Floppy Drive":"Loop on POST",1:this.za==Pf?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Pf)return this.na[b]=c,Wf(this,b,c,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.na[b]=c,!0}return!1}; +k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Hh=c.S.jd/1193181;Ib(b,this,Xf);Kb(b,this,Yf);this.za=Uf){this.ib=16;this.sd=0;this.rd=16;this.Pg=0;this.ue=160;512<=gg(this)&&(this.ue|=16);3==hg(this)&&(this.ue|=64);this.ei=3;this.Sg=0;this.Xb=Array(7);this.hf=0;a&&(this.ba=Array(64));ig(this, +this.Cp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Yc&(Sf.If|2|Tf.Xh|Tf.If);this.ba[16]=jg(this,0)<<4|jg(this,1);kg(this)}}; +function ig(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.vg=a.Cf=0;a.hm=a.Fh=null} +function lg(a){var b;void 0===b&&(b=a.Fh);a.Cf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function kg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8} +k.save=function(){var a=new Pd(this);a.set(0,[this.Ub,this.ne,this.Yc,this.Ve]);for(var b=[],c=0;c=Uf&&(a.set(5,[this.ib,this.sd,this.rd,this.Pg,this.ue,this.ei]),a.set(6,[this.Sg,this.Xb,this.hf,this.ba,this.vg,this.Cf]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Yc=b[2];this.Ve=b[3];b=a[1];for(c=0;c>2)+1)*a.mo+32*((b?a.ne:a.Ve)&15)}function sg(a,b){var c=b?a.Ub:a.Yc;return a.za!=Pf||c&Tf.Xh?((c&Tf.If)>>Tf.Jf)+1:0} +function jg(a,b){if(b>Sf.Jf} +function Wf(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=Ta(c,"pcjs-bitCell");c=null;for(g=0;gd.Ua[0]&&(d.Ua[0]=255,d.Ua[1]--,0>d.Ua[1]&&(d.Ua[1]=255)));return e}function xg(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1} +function yg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function Dg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<>2].vb[b&3],c,d,e)} +function Fg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.bh&&b.Ki&&b.Ih?(c&&(b.eh=c),b.Ad||se(a,b,!0)):c&&c(!0)}function se(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.Cm=b.mode&12,b.Qk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Wg<<16|b.Sa[1]<<8|b.Sa[0],4==b.Cm?(d=!0,function(c){b.Ki.call(b.bh,b.Ih,-1,function(f,g){0>f&&(b.Qk||(b.Qk=!0),f=255);b.Ad||a.ka.Te(c,f);(d=g)&&setTimeout(function(){Kg(b)||se(a,b)},0)})}(c)):8==b.Cm?(c=a.ka.qc(c),0>b.Ki.call(b.bh,b.Ih,c)&&(b.fd=!0)):b.fd=!0),!d&&!Kg(b););} +function Kg(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.Sa[0]--,0>a.Sa[0]&&(a.Sa[0]=255,a.Sa[1]--,0>a.Sa[1]&&(a.Sa[1]=255))):(a.Sa[0]++,255>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.lg=c||0,Ng(a))}function Qg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Ng(a))} +function Ng(a,b){var c,d=-1;1>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.fo=function(){return null}; +k.qp=function(a,b){this.ji=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Ph=f;g.mode=e;g.wk=d;g.Yb=[0,0];g.Ua=[0,0];g.De=[0,0];g.gd=!1;g.cg=!1;g.He=!1;Sg(this,c);0==c&&Qg(this,0);2==c&&255==this.Vb[0].ad&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Tg(this,c),d=this.Lb[c],d.De[0]=d.Ua[0],d.De[1]=d.Ua[1],d.cg=!0,Sg(this,c)}};function Vg(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Ce?256:65536);return d} +function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Ce?256:65536);return d}function Sg(a,b){var c=a.Lb[b];c.Td=32==c.Ph?1:0;c.Ce=48==c.Ph?2:1} +function Tg(a,b,c){var d=a.Lb[b];if(d.He&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Hh|0;0>f&&(d.Bd=e,f=0);var g=Vg(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.He=!1,b||Pg(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Pg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Pg(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d} +function Ac(a,b){for(var c=0;c=Uf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Fh&&(a.vg=yc(a.U,a.Xd),a.hm=1024,a.Fh=Math.floor(a.U.S.jd/a.hm),lg(a));d>=a.Cf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Pg(a,8)),a.Cf=d+a.Fh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Pg(a,8)));var e=d-a.vg,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]= +0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Pg(a,8))}a.vg=d-e%c}}k.Xn=function(){var a=this.Vg;if(this.Rf&16)if(this.uc&128)a=this.Yc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.jp=function(a,b){this.Vg=b};k.Yn=function(){return this.uc}; +k.kp=function(a,b){Wg(this,b);this.Ba&&Xg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Wg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Zn=function(){var a=0,a=this.za==Pf?this.uc&4?a|this.Ve&15:a|this.Ve>>4&1:this.uc&8?a|this.Yc>>4:a|this.Yc&15;this.uc&1&&Tg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.lp=function(a,b){this.hi=b};k.$n=function(){return this.Rf};k.mp=function(a,b){this.Rf=b};k.nn=function(){var a=this.Pg;this.ib&=-258;this.Ba&&Yg(this.Ba);return a}; +k.Bo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Zg(this,b);break;case 209:$g(this,b);break;default:if(Zg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,ah(this.Ba)}bh(this,c)}}this.sd=b;this.ib&=-9};k.on=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.Co=function(a,b){Wg(this,b)};k.pn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a}; +k.Ao=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:bh(this,this.ue);break;case 173:Zg(this,this.rd|16);break;case 174:Zg(this,this.rd&-17);this.Ba&&Yg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Zg(this,this.rd|16);bh(this,85);$g(this,3);break;case 224:bh(this,this.rd&16?0:1);break;case 240:c&1&&Gd(this.U)}};function Zg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Xg(a.Ba,!!(b&8),!(b&16))} +function bh(a,b){0<=b&&(a.Pg=b,a.ib&=-2,a.ib|=256)}function $g(a,b){a.ei=b;Bb(a.ka,!!(b&2));b&1||Gd(a.U)}function ch(a,b){a.za=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&lg(this)};k.Vn=function(){return this.Sg};k.gp=function(a,b){this.Sg=b};k.ip=function(a,b){this.Ug=b};k.So=function(){};k.To=function(){}; +function Qf(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ci=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d>>d.jb].ak(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;bthis.Ng?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;kg(a)}}else m("No RAM allocated")}; +function jh(){this.Km=lh;this.Lm=mh}var kh=2160066560,lh=255,mh=0;function nh(){return this.V.Lm}function oh(a,b){this.V.Km=b}var ph=[nh,nh,nh,oh,oh,oh];jh.prototype.Tk=function(){return[null,0]};jh.prototype.Li=function(){return ph};za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Gp:65,Hp:66,ek:67,Em:68,E:69,Op:70,Rp:71,fk:72,Tp:73,Up:74,Vp:75,Wp:76,Xp:77,Yh:78,Zp:79,$p:80,bq:81,hk:82,fq:83,pq:84,tq:85,uq:86,vq:87,xq:88,yq:89,zq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Aq:97,Cq:98,Eq:99,Lq:100,Mq:101,Nq:102,Pq:103,Rq:104,Tq:105,Uq:106,Vq:107, -Wq:108,Xq:109,Yq:110,$q:111,ar:112,br:113,cr:114,dr:115,fr:116,gr:117,hr:118,ir:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},qh={};qh[186]=V[";"];qh[187]=V["="];qh[188]=V[","];qh[189]=V["-"];qh[190]=V["."];qh[191]=V["/"];qh[192]=V["`"];qh[219]=V["["];qh[220]=V["\\"];qh[221]=V["]"];qh[222]=V["'"];qh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"]; +Wq:108,Xq:109,Yq:110,$q:111,ar:112,br:113,cr:114,dr:115,fr:116,gr:117,hr:118,ir:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},rh={};rh[186]=V[";"];rh[187]=V["="];rh[188]=V[","];rh[189]=V["-"];rh[190]=V["."];rh[191]=V["/"];rh[192]=V["`"];rh[219]=V["["];rh[220]=V["\\"];rh[221]=V["]"];rh[222]=V["'"];rh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"]; W[186]=V[":"];W[187]=V["+"];W[188]=V["<"];W[189]=V._;W[190]=V[">"];W[191]=V["?"];W[192]=V["~"];W[219]=V["{"];W[220]=V["|"];W[221]=V["}"];W[222]=V['"'];W[173]=V._;W[61]=V["+"];W[59]=V[":"]; -var rh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sh={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},th={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13, +var sh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},th={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},uh={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":V[";"],quote:V["'"],"`":V["`"],shift:1016,"\\":V["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":V[","],".":V["."],"/":V["/"],"right-shift":3016,prtsc:1044,alt:1018,space:V[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035, -"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},uh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; +"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},vh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; X[81]=10768;X[119]=17;X[87]=10769;X[101]=18;X[69]=10770;X[114]=19;X[82]=10771;X[116]=20;X[84]=10772;X[121]=21;X[89]=10773;X[117]=22;X[85]=10774;X[105]=23;X[73]=10775;X[111]=24;X[79]=10776;X[112]=25;X[80]=10777;X[V["["]]=26;X[V["{"]]=10778;X[V["]"]]=27;X[V["}"]]=10779;X[13]=28;X[1017]=29;X[97]=30;X[65]=10782;X[115]=31;X[83]=10783;X[100]=32;X[68]=10784;X[102]=33;X[70]=10785;X[103]=34;X[71]=10786;X[104]=35;X[72]=10787;X[106]=36;X[74]=10788;X[107]=37;X[75]=10789;X[108]=38;X[76]=10790;X[V[";"]]=39; X[V[":"]]=10791;X[V["'"]]=40;X[V['"']]=10792;X[V["`"]]=41;X[V["~"]]=10793;X[1016]=42;X[V["\\"]]=43;X[V["|"]]=10795;X[122]=44;X[90]=10796;X[120]=45;X[88]=10797;X[99]=46;X[67]=10798;X[118]=47;X[86]=10799;X[98]=48;X[66]=10800;X[110]=49;X[78]=10801;X[109]=50;X[77]=10802;X[V[","]]=51;X[V["<"]]=10803;X[V["."]]=52;X[V[">"]]=10804;X[V["/"]]=53;X[V["?"]]=10805;X[3016]=54;X[1044]=55;X[1018]=56;X[V[" "]]=57;X[1020]=58;X[1112]=59;X[1113]=60;X[1114]=61;X[1115]=62;X[1116]=63;X[1117]=64;X[1118]=65;X[1119]=66; -X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=ph.prototype; -k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ma[e])switch(b){case "kbd":return this.ma[e]=c,c.onkeydown=function(a){return vh(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Fk){var b=d.Gb.length?d.Gb[0].me:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Hi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||wh(d,a,!0);return b},c.onkeyup=function(a){return vh(d,a,!1)},!0;case "caps-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d, -1020,!0)},!0;case "num-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1144,!0)},!0;case "scroll-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==sh[f]&&"button"==a)return this.ma[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();xh(a,c,!0);wh(a,c,!0)}}(this,f,sh[f]),!0;if(void 0!==th[b])return this.zk++,this.ma[e]=c,a=function(a,b,c){return function(){wh(a,c)}}(this,b,th[b]),b= -function(a,b,c){return function(){yh(a,c)}}(this,b,th[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function zh(a,b,c){if(a.zk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=qh[d])&&(b=d);break}for(var e in th)if((d=th[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=th[e]==d),d){(a=a.ma["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} -k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function $g(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&bh(a.ca,a.Mb[0])}function Wg(a,b,c){a.Bi!==c&&(a.Bi=a.Gi=c);a.jh!==b&&(a.jh=b)&&!a.Gi&&ch(a,!0);a.jh&&a.Gi&&($g(a,!0),a.Gi=!1)}function Xg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&bh(a.ca,b))}function ch(a,b){0=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Hi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||xh(d,a,!0);return b},c.onkeyup=function(a){return wh(d,a,!1)},!0;case "caps-lock":return this.na[e]=c,c.onclick=function(){d.U&&d.U.od();xh(d, +1020,!0)},!0;case "num-lock":return this.na[e]=c,c.onclick=function(){d.U&&d.U.od();xh(d,1144,!0)},!0;case "scroll-lock":return this.na[e]=c,c.onclick=function(){d.U&&d.U.od();xh(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==th[f]&&"button"==a)return this.na[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();yh(a,c,!0);xh(a,c,!0)}}(this,f,th[f]),!0;if(void 0!==uh[b])return this.zk++,this.na[e]=c,a=function(a,b,c){return function(){xh(a,c)}}(this,b,uh[b]),b= +function(a,b,c){return function(){zh(a,c)}}(this,b,uh[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function Ah(a,b,c){if(a.zk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=rh[d])&&(b=d);break}for(var e in uh)if((d=uh[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=uh[e]==d),d){(a=a.na["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} +k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function ah(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&ch(a.ca,a.Mb[0])}function Xg(a,b,c){a.Bi!==c&&(a.Bi=a.Gi=c);a.jh!==b&&(a.jh=b)&&!a.Gi&&dh(a,!0);a.jh&&a.Gi&&(ah(a,!0),a.Gi=!1)}function Yg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&ch(a.ca,b))}function dh(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.cd:a.Pb)&b):d||b&255&&(b=255);if(c){a.cd&=~b;d&&(a.cd|=b);c=b;var f,g;for(g in uh)d="led-"+g,e=uh[g],c&&c!=e||!(f=a.ma[d])||(f.style.backgroundColor=a.cd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1} -function wh(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){rh[b]&&a.Gb.length&&0e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,zh(a,b,!0),e++),0b.md){if(!b.ag){yh(a,b.me);return}b.ag=!1;c=a.no}else c=1==b.md++?a.oo:a.po;b.zm=setTimeout(function(a){return function(){Ah(a,b)}}(a),c)}}else yh(a,b.me,!0)}function Ch(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=qh[b])d=a;return d}k.Jh=function(a){this.kh=a;a||(this.Pb&=-256)}; -function vh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Ch(a,g,!0);a.Ci&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xh(a,h,!1,c)){if(20==g||144==g||145==g)a.en||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.cd&3||a.cd&512&&b||(g=h):29==h?a.cd&12||(g=h):56==h?a.cd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&bh(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}} -za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;b>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.cd:a.Pb)&b):d||b&255&&(b=255);if(c){a.cd&=~b;d&&(a.cd|=b);c=b;var f,g;for(g in vh)d="led-"+g,e=vh[g],c&&c!=e||!(f=a.na[d])||(f.style.backgroundColor=a.cd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1} +function xh(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){sh[b]&&a.Gb.length&&0e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,Ah(a,b,!0),e++),0b.md){if(!b.bg){zh(a,b.me);return}b.bg=!1;c=a.no}else c=1==b.md++?a.oo:a.po;b.zm=setTimeout(function(a){return function(){Bh(a,b)}}(a),c)}}else zh(a,b.me,!0)}function Dh(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=rh[b])d=a;return d}k.Jh=function(a){this.kh=a;a||(this.Pb&=-256)}; +function wh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Dh(a,g,!0);a.Ci&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),yh(a,h,!1,c)){if(20==g||144==g||145==g)a.en||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.cd&3||a.cd&512&&b||(g=h):29==h?a.cd&12||(g=h):56==h?a.cd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&ch(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}} +za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(Rh)];this.sh=b;this.Ra=e[2];this.Kb=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.Ra&&(this.Kb=Math.min(this.Tc>>2,32768));this.Wc=c[0];this.zc=c[1];this.Wf=c[2];this.Dg=c[3];this.Hc=c[4]&255;this.rh=c[4]>>8&255;this.mc=c[5];this.Si=Rh;if(5==b){this.Si=Sh;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.Ra,this.Kb,this.Tc],Array(this.Tc>> +this.Ca.mozExitPointerLock||this.Ca.webkitExitPointerLock,this.Ca.Ke&&(b=function(){f.wg(document.pointerLockElement===f.Ca||document.mozPointerLockElement===f.Ca||document.webkitPointerLockElement===f.Ca)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1)));if(a=a.fontROM)"json"!= +ha(a)&&(a=oa()+"/api/v1/dump?file="+a+"&format=bytes"),na(a,!0,null,this,this.xo)}La(n,Y);var Gh={2:{bj:15700,aj:208,Pj:85,Qj:96},3:{bj:18432,aj:364,Pj:85,Qj:96},4:{bj:21850,aj:364,Pj:85,Qj:96}},Hh={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},Fh=7,Eh=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];Eh[Fh]=[80,25,1,0,1];Eh[13]=[320,200,16];Eh[14]=[640,200,16];Eh[15]=[640,350,16]; +Eh[16]=[640,350,16];Eh[0]=Eh[1];Eh[2]=Eh[3];Eh[5]=Eh[4];var Ih=Array(5);Ih[0]=[0,0,0,255];Ih[1]=[127,192,127,255];Ih[2]=[127,192,127,255];Ih[3]=[127,255,127,255];Ih[4]=[127,255,127,255];var Jh=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Kh=Array(16);Kh[0]=[0,0,0,255];Kh[1]=[0,0,170,255];Kh[2]=[0,170,0,255];Kh[3]=[0,170,170,255];Kh[4]=[170,0,0,255];Kh[5]=[170,0,170,255];Kh[6]=[170,85,0,255];Kh[7]=[170,170,170,255];Kh[8]=[85,85,85,255];Kh[9]=[85,85,255,255];Kh[10]=[85,255,85,255];Kh[11]=[85,255,255,255]; +Kh[12]=[255,85,85,255];Kh[13]=[255,85,255,255];Kh[14]=[255,255,85,255];Kh[15]=[255,255,255,255];var Lh=[2,4,6],Mh=[3,5,7],Nh=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Oh=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Ph=[0];Ph[128]=1;Ph[32768]=2;Ph[32896]=3;Ph[8388608]=4;Ph[8388736]=5;Ph[8421376]=6;Ph[8421504]=7;Ph[-2147483648]=8;Ph[-2147483520]=9;Ph[-2147450880]=10;Ph[-2147450752]=11;Ph[-2139095040]=12;Ph[-2139094912]=13; +Ph[-2139062272]=14;Ph[-2139062144]=15; +function Qh(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Rh[b],f=a.de||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Sh)];this.sh=b;this.Ra=e[2];this.Kb=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.Ra&&(this.Kb=Math.min(this.Tc>>2,32768));this.Wc=c[0];this.zc=c[1];this.Xf=c[2];this.Dg=c[3];this.Hc=c[4]&255;this.rh=c[4]>>8&255;this.mc=c[5];this.Si=Sh;if(5==b){this.Si=Th;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.Ra,this.Kb,this.Tc],Array(this.Tc>> 2),771,0,-1,0,-1,0,-1,0,0,0]);this.Wd=b[0];this.Je=b[1];this.pe=b[2];this.$j=b[3];this.wh=b[4];this.Ji=b[5];this.xf=b[6];this.Kg=b[7];this.Mi=b[8];this.Ni=b[9];this.wf=b[10];this.af=b[11];this.yb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Kb,d]);this.Ra=d[0];this.Kb=d[1];d=this.Tc>>2;if((this.te=b[14])&&this.te.length>8)} -function Wh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Xh=[,,function(a){a+=this.offset;return(this.V.yb=this.ia[a])>>this.V.Mj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Xh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.V.Ui&this.V.Vi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; -Xh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.V.bb|(b|b<<8|b<<16|b<<24)&this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[1024]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -Xh[1536]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d&=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[2560]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d|=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -Xh[3584]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d^=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.V.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.V.lb|this.V.yb&~this.V.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)}; -Xh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.V.bb|this.V.yb&this.V.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Xh[8192]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[24576]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -Xh[40960]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d|this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[57344]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d^this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -function Yh(a){var b=[];if(void 0!==a.sh){b[0]=a.Wc;b[1]=a.zc;b[2]=a.Wf;b[3]=a.Dg;b[4]=a.Hc|a.rh<<8;b[5]=a.mc;if(5==a.sh){var c=[];c[0]=a.Wd;c[1]=a.Je;c[2]=a.pe;c[3]=a.$j;c[4]=a.wh;c[5]=a.Ji;c[6]=a.xf;c[7]=a.Kg;c[8]=a.Mi;c[9]=a.Ni;c[10]=a.wf;c[11]=a.af;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Tc];var d;a:if(d=a.te){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=r;h=t}if(f.length>8)} +function Xh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Yh=[,,function(a){a+=this.offset;return(this.V.yb=this.ia[a])>>this.V.Mj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Yh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.V.Ui&this.V.Vi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; +Yh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.V.bb|(b|b<<8|b<<16|b<<24)&this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[1024]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +Yh[1536]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d&=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[2560]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d|=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +Yh[3584]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d^=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.V.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.V.lb|this.V.yb&~this.V.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)}; +Yh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.V.bb|this.V.yb&this.V.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Yh[8192]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[24576]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d&this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +Yh[40960]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d|this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[57344]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d^this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +function Zh(a){var b=[];if(void 0!==a.sh){b[0]=a.Wc;b[1]=a.zc;b[2]=a.Xf;b[3]=a.Dg;b[4]=a.Hc|a.rh<<8;b[5]=a.mc;if(5==a.sh){var c=[];c[0]=a.Wd;c[1]=a.Je;c[2]=a.pe;c[3]=a.$j;c[4]=a.wh;c[5]=a.Ji;c[6]=a.xf;c[7]=a.Kg;c[8]=a.Mi;c[9]=a.Ni;c[10]=a.wf;c[11]=a.af;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Tc];var d;a:if(d=a.te){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=r;h=t}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function ei(a){a.ga.wh&1?(a.Sc=a.li,a.gc=a.ga):(a.Sc=a.ga,a.gc=a.ah)}k.save=function(){var a=new Pd(this);a.set(0,Yh(this.li));a.set(1,Yh(this.ah));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Yh(this.ga));return a.data()}; -k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Sc=this.li=new Ph(this,1,a[0]);this.gc=this.ah=new Ph(this,3,a[1]);this.ga=new Ph(this,5,a[3],this.Tc);this.ga.Wc&&ei(this);fi(this);if(!hi(this))return!1;ii(this);return!0}; -k.xo=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)gh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}}; -function ji(a,b){if(1==b)return a.qd[0]=Jh[0],a.qd[1]=Jh[7],a.qd;if(2==b){var c=a.Da.Wf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Jh[c&15];c=c&32?Lh:Kh;for(d=0;dPa||!fa?Pa:8,pe=zg.createImageData(t.nc,t.oc),Qa=0;256>Qa;Qa++){for(nb= -0;nb=Pa-2,mj=mb[nb>(8<=Tb&&176<=Qa&&223>=Qa?7:Tb)?H:oc;mi(pe,Ag,Bg,Cg);U&&mi(pe,Ag+1,Bg,Cg)}zg.putImageData(pe,(Qa&15)*t.nc,(Qa>>4)*t.oc)}t.$e[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.mk[L]=H;t.$h[L]=gd;t=!0}}a.Kd[b]=I;return t}function ni(a){0a.ze&&(a.ze=0):a.ze=-1} -function ii(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)oi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Ic!=c&&(oi(a),a.Ic=c);d=d-b+1;if(a.Dm!=b||a.Ck!=d)a.Dm=b,a.Ck=d;a.Ud=e+1;ni(a)}}} -function oi(a){if(0<=a.Ic){if(void 0!==a.fc){var b=a.fc[a.Ic];if(b&131072){var b=b&-131073,c=a.Ic%a.zb,d=Math.floor(a.Ic/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.lf&&pi(a,c,d,b,a.lf),pi(a,c,d,b));a.fc[a.Ic]=b}}a.Ic=-1}} -function qi(a){var b;a=a.Da;var c=a.af[5];if(null!=c){b=2;var d=512,e=a.af[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.kd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Ri&&(b.Th(a),this.ka.Th(b.Ra,b.Kb,b.Li()))}; -function hi(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.sh)d=Eh;else if(5==e.sh){var d=null,f=e.Tc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=qi(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d)); -else a.ce=null,null==d&&(d=a.ld);if(!gi(a,d,b))return!1;a.le(c);return!0} -function gi(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Nm=0;a.ce=b;b=a.Da||(b==Eh?a.Sc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){oi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Wc=!1)}a.Da=b;b.Wc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.Bh;a.sc=a.Zi;a.Ti=Dh[Eh][2];b=0;var d=Dh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ti=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.dl=a.zb*a.sc;a.yh=a.dl/a.Ti;a.mi=(a.yh<<1)+b;a.Ak= -b?a.mi+b>>1:0;13<=a.ce&&(a.yh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.gn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Yf=a.Zf=0,b&&(a.Yf=a.zb*b.nc,a.Zf=a.sc*b.oc)):(a.wd=a.xd=1,a.Yf=a.zb,a.Zf=a.sc),a.uh=a.Vc.createImageData(a.Yf,a.Zf),a.jf=window.document.createElement("canvas"),a.jf.width=a.Yf,a.jf.height=a.Zf,a.lf=a.jf.getContext("2d"),a.ck=a.dk=0,a.si=a.vd,a.ti=a.Vd, -b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0>1,a.si-=b),0>1,a.ti-=d),b||d)&&(a.Vc.fillStyle=a.Vf.style.backgroundColor,a.Vc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):ri(a,!0)}return!0}function mi(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 ri(a,b){var c;if(b){if(c=a.yh,void 0===a.fc||a.fc.length!=c)a.fc=Array(c)}else{if(void 0===a.fc)return;c=a.fc.length}for(var d=0;d>8;d=g&15;var h=a.Kd[a.Qb];h.Jf&&(d=h.Jf[d]);var r=g>>4&15;h.Jf&&(r=h.Jf[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.$e[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ck,c=c*a.xd+a.dk,a.Vc.fillStyle=h.$e[r],a.Vc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Vc.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.Dm,g=a.Ck,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)), +k.reset=function(){var a=!0,b=0;this.ca&&(b=hg(this.ca));var c=!1;if(this.za)switch(this.za){case "ega":var c=!0,d=Hh[this.Qg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.de!==b&&(this.de=b,a=!0);this.Da=null;this.Sc=this.li=new Qh(this,1);this.gc=this.ah=new Qh(this,3);c?(this.ga=new Qh(this,5,null,this.Tc),fi(this)):this.ga=new Qh;gi(this);this.ce=null;this.ld=3==b?Fh:3;this.ze=this.Ic=-1;this.ye=0;hi(this,this.ld);if(this.Da.Ra&&a){a=this.Da.Ra+this.mi;for(b=this.Da.Ra;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function fi(a){a.ga.wh&1?(a.Sc=a.li,a.gc=a.ga):(a.Sc=a.ga,a.gc=a.ah)}k.save=function(){var a=new Pd(this);a.set(0,Zh(this.li));a.set(1,Zh(this.ah));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Zh(this.ga));return a.data()}; +k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Sc=this.li=new Qh(this,1,a[0]);this.gc=this.ah=new Qh(this,3,a[1]);this.ga=new Qh(this,5,a[3],this.Tc);this.ga.Wc&&fi(this);gi(this);if(!ii(this))return!1;ji(this);return!0}; +k.xo=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)hh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}}; +function ki(a,b){if(1==b)return a.qd[0]=Kh[0],a.qd[1]=Kh[7],a.qd;if(2==b){var c=a.Da.Xf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Kh[c&15];c=c&32?Mh:Lh;for(d=0;dPa||!fa?Pa:8,pe=zg.createImageData(t.nc,t.oc),Qa=0;256>Qa;Qa++){for(nb= +0;nb=Pa-2,nj=mb[nb>(8<=Tb&&176<=Qa&&223>=Qa?7:Tb)?H:oc;ni(pe,Ag,Bg,Cg);U&&ni(pe,Ag+1,Bg,Cg)}zg.putImageData(pe,(Qa&15)*t.nc,(Qa>>4)*t.oc)}t.$e[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.mk[L]=H;t.$h[L]=gd;t=!0}}a.Kd[b]=I;return t}function oi(a){0a.ze&&(a.ze=0):a.ze=-1} +function ji(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)pi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Ic!=c&&(pi(a),a.Ic=c);d=d-b+1;if(a.Dm!=b||a.Ck!=d)a.Dm=b,a.Ck=d;a.Ud=e+1;oi(a)}}} +function pi(a){if(0<=a.Ic){if(void 0!==a.fc){var b=a.fc[a.Ic];if(b&131072){var b=b&-131073,c=a.Ic%a.zb,d=Math.floor(a.Ic/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.lf&&qi(a,c,d,b,a.lf),qi(a,c,d,b));a.fc[a.Ic]=b}}a.Ic=-1}} +function ri(a){var b;a=a.Da;var c=a.af[5];if(null!=c){b=2;var d=512,e=a.af[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.kd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Ri&&(b.Th(a),this.ka.Th(b.Ra,b.Kb,b.Li()))}; +function ii(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.sh)d=Fh;else if(5==e.sh){var d=null,f=e.Tc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=ri(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d)); +else a.ce=null,null==d&&(d=a.ld);if(!hi(a,d,b))return!1;a.le(c);return!0} +function hi(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Nm=0;a.ce=b;b=a.Da||(b==Fh?a.Sc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){pi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Wc=!1)}a.Da=b;b.Wc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.Bh;a.sc=a.Zi;a.Ti=Eh[Fh][2];b=0;var d=Eh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ti=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.dl=a.zb*a.sc;a.yh=a.dl/a.Ti;a.mi=(a.yh<<1)+b;a.Ak= +b?a.mi+b>>1:0;13<=a.ce&&(a.yh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.gn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Zf=a.$f=0,b&&(a.Zf=a.zb*b.nc,a.$f=a.sc*b.oc)):(a.wd=a.xd=1,a.Zf=a.zb,a.$f=a.sc),a.uh=a.Vc.createImageData(a.Zf,a.$f),a.jf=window.document.createElement("canvas"),a.jf.width=a.Zf,a.jf.height=a.$f,a.lf=a.jf.getContext("2d"),a.ck=a.dk=0,a.si=a.vd,a.ti=a.Vd, +b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0>1,a.si-=b),0>1,a.ti-=d),b||d)&&(a.Vc.fillStyle=a.Wf.style.backgroundColor,a.Vc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):si(a,!0)}return!0}function ni(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 si(a,b){var c;if(b){if(c=a.yh,void 0===a.fc||a.fc.length!=c)a.fc=Array(c)}else{if(void 0===a.fc)return;c=a.fc.length}for(var d=0;d>8;d=g&15;var h=a.Kd[a.Qb];h.Kf&&(d=h.Kf[d]);var r=g>>4&15;h.Kf&&(r=h.Kf[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.$e[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ck,c=c*a.xd+a.dk,a.Vc.fillStyle=h.$e[r],a.Vc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Vc.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.Dm,g=a.Ck,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)), e.fillStyle=h.$e[d],e.fillRect(b,c+f,h.nc,g)):(a.Ud&&a.Ud!==a.xd&&(f=Math.floor(f*a.xd/a.Ud),g=Math.floor(g*a.xd/a.Ud)),a.Vc.fillStyle=h.$e[d],a.Vc.fillRect(b,c+f,a.wd,g)))} -function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Je&32&&(c=!0):a.Da.zc&8&&(c=!0));if(c||b){if(b)ri(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Nm&15)&&0<=a.ze&&(a.ze++,d=!0);var e=0,f=a.dl,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.mi;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0a.Ic)return;e=a.Ic;f= -e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.ye=0;r=1048575;a.Da.zc&32&&(h=32768,r&=~h,a.ze&2||(r&=-65537));for(c+=e<<1;c>8|(I&255)<<8;H=h;var Pa=16;B>=r))>>(Pa-=r);mi(a.uh,B++,L,t[oc])}B>ba&&(ba=B);L=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.Ak)}}Ufa;fa++)Ca=Oh[ba&-2139062144]||0,mi(a.uh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t>2),a=this.ga.$j&-17|(this.Qg&1<e&&(e=0);e%b.Wi>b.ro&&(c|=1);e%=b.gl;e>b.to&&(c|=8);b.cj=d-e;b===a.ga?(c|=b.Dg&48^48,b.Wd=!1):c=(b.Dg^=9)|240;return b.Dg=c} -var Zh={948:Y.prototype.Sn,949:Y.prototype.Rn,952:Y.prototype.Tn,954:Y.prototype.Un,980:Y.prototype.An,981:Y.prototype.zn,984:Y.prototype.Bn,985:Y.prototype.yn,986:Y.prototype.Cn},$h={948:Y.prototype.ep,949:Y.prototype.dp,952:Y.prototype.fp,980:Y.prototype.Oo,981:Y.prototype.No,984:Y.prototype.Po,985:Y.prototype.Mo},ai={960:Y.prototype.Zk,961:Y.prototype.Zk,962:Y.prototype.eo,964:Y.prototype.co,965:Y.prototype.bo,970:Y.prototype.Ln,972:Y.prototype.Kn,974:Y.prototype.Jn,975:Y.prototype.In},bi={954:Y.prototype.jm, +function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Je&32&&(c=!0):a.Da.zc&8&&(c=!0));if(c||b){if(b)si(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Nm&15)&&0<=a.ze&&(a.ze++,d=!0);var e=0,f=a.dl,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.mi;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0a.Ic)return;e=a.Ic;f= +e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.ye=0;r=1048575;a.Da.zc&32&&(h=32768,r&=~h,a.ze&2||(r&=-65537));for(c+=e<<1;c>8|(I&255)<<8;H=h;var Pa=16;B>=r))>>(Pa-=r);ni(a.uh,B++,L,t[oc])}B>ba&&(ba=B);L=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.Ak)}}Ufa;fa++)Ca=Ph[ba&-2139062144]||0,ni(a.uh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t>2),a=this.ga.$j&-17|(this.Qg&1<e&&(e=0);e%b.Wi>b.ro&&(c|=1);e%=b.gl;e>b.to&&(c|=8);b.cj=d-e;b===a.ga?(c|=b.Dg&48^48,b.Wd=!1):c=(b.Dg^=9)|240;return b.Dg=c} +var $h={948:Y.prototype.Sn,949:Y.prototype.Rn,952:Y.prototype.Tn,954:Y.prototype.Un,980:Y.prototype.An,981:Y.prototype.zn,984:Y.prototype.Bn,985:Y.prototype.yn,986:Y.prototype.Cn},ai={948:Y.prototype.ep,949:Y.prototype.dp,952:Y.prototype.fp,980:Y.prototype.Oo,981:Y.prototype.No,984:Y.prototype.Po,985:Y.prototype.Mo},bi={960:Y.prototype.Zk,961:Y.prototype.Zk,962:Y.prototype.eo,964:Y.prototype.co,965:Y.prototype.bo,970:Y.prototype.Ln,972:Y.prototype.Kn,974:Y.prototype.Jn,975:Y.prototype.In},ci={954:Y.prototype.jm, 960:Y.prototype.im,961:Y.prototype.im,962:Y.prototype.hp,964:Y.prototype.op,965:Y.prototype.np,970:Y.prototype.$o,972:Y.prototype.Zo,974:Y.prototype.Yo,975:Y.prototype.Xo,986:Y.prototype.jm}; za(function(){for(var a=Ta(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=window.document.createElement("textarea");ua("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Y(d,e,g,f,c);Sa(d,c)}}); -function vi(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Rj=1016;this.ng=4;break;case 2:this.Rj=760;this.ng=3;break;default:m("Unrecognized serial adapter #"+this.Vk);return}this.Sd=null;n.call(this,"SerialPort",a,vi);var b=a.binding,c;a=wi;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.ma[b])&&this.Eb(null,a,b))}La(n,vi);var wi="buffer";k=vi.prototype;k.pk=function(a,b){return a==this.th?(this.ae=b,this):null}; -k.Eb=function(a,b,c){var d=this;switch(b){case wi:return this.ma[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),xi(d,[b]))},c.onkeypress=function(a){a=a||window.event;xi(d,[a.which||a.keyCode])},!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,yi,this.Rj);Kb(b,this,zi,this.Rj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this),b=0,c=[];c[b++]=this.ii;c[b++]=this.vk;c[b++]=this.We;c[b++]=this.Rg;c[b++]=this.Nd;c[b++]=this.we;c[b++]=this.bd;c[b++]=this.Dc;c[b++]=this.tk;c[b]=this.Kf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])}; -k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ii=a[b++];this.vk=a[b++];this.We=a[b++];this.Rg=a[b++];this.Nd=a[b++];this.we=a[b++];this.bd=a[b++];this.Dc=a[b++];this.tk=a[b++];this.Kf=a[b];return!0};function xi(a,b){a.Kf=a.Kf.concat(b);Ai(a)}function Ai(a){0>8:this.Rg};k.Nn=function(){return this.Nd};k.On=function(){return this.we};k.Qn=function(){return this.bd};k.Pn=function(){return this.Dc};k.Wn=function(){return this.tk}; +function wi(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Rj=1016;this.og=4;break;case 2:this.Rj=760;this.og=3;break;default:m("Unrecognized serial adapter #"+this.Vk);return}this.Sd=null;n.call(this,"SerialPort",a,wi);var b=a.binding,c;a=xi;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.na[b])&&this.Eb(null,a,b))}La(n,wi);var xi="buffer";k=wi.prototype;k.pk=function(a,b){return a==this.th?(this.ae=b,this):null}; +k.Eb=function(a,b,c){var d=this;switch(b){case xi:return this.na[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),yi(d,[b]))},c.onkeypress=function(a){a=a||window.event;yi(d,[a.which||a.keyCode])},!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,zi,this.Rj);Kb(b,this,Ai,this.Rj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this),b=0,c=[];c[b++]=this.ii;c[b++]=this.vk;c[b++]=this.We;c[b++]=this.Rg;c[b++]=this.Nd;c[b++]=this.we;c[b++]=this.bd;c[b++]=this.Dc;c[b++]=this.tk;c[b]=this.Lf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])}; +k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ii=a[b++];this.vk=a[b++];this.We=a[b++];this.Rg=a[b++];this.Nd=a[b++];this.we=a[b++];this.bd=a[b++];this.Dc=a[b++];this.tk=a[b++];this.Lf=a[b];return!0};function yi(a,b){a.Lf=a.Lf.concat(b);Bi(a)}function Bi(a){0>8:this.Rg};k.Nn=function(){return this.Nd};k.On=function(){return this.we};k.Qn=function(){return this.bd};k.Pn=function(){return this.Dc};k.Wn=function(){return this.tk}; k.pp=function(a,b){if(this.we&128)this.We=this.We&-256|b;else{this.vk=b;this.Dc&=-97;var c;this.Sd?(13!=b&&(8==b?this.Sd.value=this.Sd.value.slice(0,-1):(this.Sd.value+=String.fromCharCode(b),this.Sd.scrollTop=this.Sd.scrollHeight)),c=!0):c=!1;c&&(this.Dc|=96)}};k.ap=function(a,b){this.we&128?this.We=this.We&255|b<<8:this.Rg=b};k.bp=function(a,b){this.we=b}; -k.cp=function(a,b){var c=this.bd;this.bd=b;if(this.ae&&(c^b)&3){var c=this.ae,d=this.bd,e=3==(d&3);if(e){if(!c.Wc){var f=!1;c.bd&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.bd&1||(c.cc("serial mouse ID requested"),f=!0);f&&(xi(c.Xf,[77,77]),c.cc("serial mouse ID sent"));Bi(c,c.Ca);c.setActive(e)}}else c.Wc&&(c.cc("serial mouse inactive"),Ci(c.Ca),c.setActive(e));c.bd=d}}; -var yi={0:vi.prototype.ao,1:vi.prototype.Mn,2:vi.prototype.Nn,3:vi.prototype.On,4:vi.prototype.Qn,5:vi.prototype.Pn,6:vi.prototype.Wn},zi={0:vi.prototype.pp,1:vi.prototype.ap,3:vi.prototype.bp,4:vi.prototype.cp};za(function(){for(var a=Ta(window.document,"pcjs","serial"),b=0;bthis.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.lh?(this.Xe=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Ye=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Xe=a.clientX-this.Hd,this.Ye=a.clientY-this.Id);(this.Xe||this.Ye)&&Ei(this);this.Hd=a.clientX;this.Id=a.clientY}}; -k.oi=function(a,b){if(this.Wc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.lh)&&(c=this.video)&&(c=this.video,c=c.an?c.Ke(!0):!1);c||(this.lh=null);switch(a){case 0:this.gh!=b&&(this.gh=b,Ei(this));break;case 2:this.hh!=b&&(this.hh=b,Ei(this))}}};function Ei(a){xi(a.Xf,[64|(a.gh?32:0)|(a.hh?16:0)|(a.Ye&192)>>4|(a.Xe&192)>>6,a.Xe&63,a.Ye&63]);a.Xe=a.Ye=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ji(this,b),this.mh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c= +k.Zj=function(){var a=0,b=[];b[a++]=this.Wc;b[a++]=this.Hd;b[a++]=this.Id;b[a++]=this.Xe;b[a++]=this.Ye;b[a++]=this.gh;b[a++]=this.hh;b[a]=this.bd;return b};k.wg=function(a){this.lh=a};function Ci(a,b){b&&(a.Ai||(b.addEventListener("mousemove",function(b){a.al(b)},!1),b.addEventListener("mousedown",function(b){a.oi(b.button,!0)},!1),b.addEventListener("mouseup",function(b){a.oi(b.button,!1)},!1),a.Ai=!0),b.style.cursor="none")}function Di(a){a&&(a.style.cursor="auto")} +k.al=function(a){if(this.Wc&&this.U&&this.U.ea.Ib){if(0>this.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.lh?(this.Xe=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Ye=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Xe=a.clientX-this.Hd,this.Ye=a.clientY-this.Id);(this.Xe||this.Ye)&&Fi(this);this.Hd=a.clientX;this.Id=a.clientY}}; +k.oi=function(a,b){if(this.Wc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.lh)&&(c=this.video)&&(c=this.video,c=c.an?c.Ke(!0):!1);c||(this.lh=null);switch(a){case 0:this.gh!=b&&(this.gh=b,Fi(this));break;case 2:this.hh!=b&&(this.hh=b,Fi(this))}}};function Fi(a){yi(a.Yf,[64|(a.gh?32:0)|(a.hh?16:0)|(a.Ye&192)>>4|(a.Xe&192)>>6,a.Xe&63,a.Ye&63]);a.Xe=a.Ye=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ki(this,b),this.mh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c= "dir"),f=oa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.rf?"":d)+"&format=json")),na(f,!0,null,this,this.Wm,b)}; k.Wm=function(a,b,c,d){var e=null;this.sf=!1;var f=0>c&&this.ya&&!this.ya.ea.Zb;if(this.mh)c?this.V.va('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.yd=!0,e=this);else if(c)this.V.va('Unable to load disk "'+this.nd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& '["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)m(h[0]);else{this.nb=h.length;this.ob=h[0].length;this.rb=h[0][0].length;var r=h[0][0][0];this.ab=r&&r.length||512;for(b=a=0;b>2,B=r.pattern;void 0===B&&(B=r.pattern=0);var I=r.data;if(void 0===I){var H=r.bytes;if(void 0!==H&&H.length){for(var f= -t<<2,L=H.length;Lb&&(b=0);2E3b&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Oi(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.sf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.vc?f=a.Xc+a.vc&&(a.vc+=f-(a.Xc+a.vc)+1):(a.Xc=f,a.vc=1);d[f]=d[f]&~(255<>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Pi(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} +k.write=function(a,b,c){if(this.sf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.vc?f=a.Xc+a.vc&&(a.vc+=f-(a.Xc+a.vc)+1):(a.Xc=f,a.vc=1);d[f]=d[f]&~(255<=this.Qa.length||r>=this.Qa[h].length||t>=this.Qa[h][r].length){c="sector (CHS="+h+":"+r+":"+t+") out of range ("+ b+" changes applied)";b=-1;break}if(this.sf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.Qa[h][r][t]){for(r=h.data.length;rb&&-2!=b&&this.V.va("Unable to restore disk '"+this.nd+": "+c);return b}; k.toJSON=function(){var a=JSON.stringify(this.Qa),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}; -function Pi(a){n.call(this,"FDC",a,Pi);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaFormat=this.Tm;this.Ae=null;if(a.autoMount&&(this.Ae=a.autoMount,"string"==typeof this.Ae))try{this.Ae=eval("("+a.autoMount+")")}catch(b){m("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ae=null}this.tc=[];this.Jk=!ua("Mobi")&&window&&"FileReader"in window}La(n,Pi);l={};aa={}; -var Qi={3:{ud:3,Rd:0,name:aa.kq},4:{ud:2,Rd:1,name:aa.iq},5:{ud:9,Rd:7,name:aa.wq},6:{ud:9,Rd:7,name:aa.cq},7:{ud:2,Rd:0,name:aa.eq},8:{ud:1,Rd:2,name:aa.jq},10:{ud:2,Rd:7,name:aa.dq},13:{ud:6,Rd:7,name:aa.Pp},15:{ud:3,Rd:0,name:aa.hq}};k=Pi.prototype; -k.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ma[b]=c,c.onchange=function(){var a=d.ma.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){m("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;if(a){b||(b=16); -if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r|0)}a=g;null!=a&&Ri(d,a)},!0;case "loadDrive":return this.ma[b]=c,c.onclick=function(){var a=d.ma.listDisks;a&&Si(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Jk? -(this.ma[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Si(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Ti);Kb(b,this,Ui);this.Jk&&Vi(this,"Local Disk","?");Vi(this,"Remote Disk","??");this.Of()||p(this)}; -k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Fi){this.tc=[];for(var c=0;c'+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;if(a){b||(b=16); +if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r|0)}a=g;null!=a&&Si(d,a)},!0;case "loadDrive":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Ti(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Jk? +(this.na[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ti(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Ui);Kb(b,this,Vi);this.Jk&&Wi(this,"Local Disk","?");Wi(this,"Remote Disk","??");this.Pf()||p(this)}; +k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Fi){this.tc=[];for(var c=0;ca.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Yj=function(){for(var a=0,b=[],c=0;ca.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.tm=c,a.Se=d,Zi(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Ge||e),a.Ch=f[0],a.lg=f[1],a.mg=f[2]):a.pf=!1;a.Ge&&(a.Ge=!1,--this.xe||p(this));Ri(this,a.$a)}; -function Vi(a,b,c){if(a=a.ma.listDisks){for(var d=0;d=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a}; -k.Vo=function(a,b){this.cb=Qi[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.lq);this.Ia(l.Sp);this.Ob();break;case 4:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.oq);break;case 5:case 6:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ek);g=this.Ia(l.fk);h=e.Za=this.Ia(l.hk);r=this.Ia(l.Yh);e.mb=128<< -r;e.Od=this.Ia(l.Np);this.Ia(l.Fm);this.Ia(l.Mp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaRead",t),Eg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.sf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaWrite",t),Eg(this.ca,2)))));$i(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Hm);this.dc(e.pb,l.aq);this.$a= -this.$a+1&3;break;case 10:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;$i(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Yh);e.mb=128<>2&1,f=this.Ia(l.Yp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0>>8,l.mq);a.dc((b.Xa&16711680)>>>16,l.nq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ek);a.dc(f,l.fk);a.dc(g,l.hk);a.dc(h,l.Yh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1}; -k.Tm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Oi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Nf(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Nf(a)}while(1);return b}; -k.Nf=function(a){a.Za++;a.Za>=a.mg+1&&(a.Za=1,a.Ka++,a.Ka>=a.lg&&(a.Ka=0,a.pb++))};k.bk=function(a,b){if(a.Xa)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.pb=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};var Ti={1012:Pi.prototype.Hn,1013:Pi.prototype.Fn,1015:Pi.prototype.Gn},Ui={1010:Pi.prototype.Wo,1013:Pi.prototype.Vo,1015:Pi.prototype.Uo}; -za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b=e&&(this.xg|=(f.type&3)<<(1-e<<1))}return d}; -k.Wj=function(){var a=0,b=[];this.Fe?(b[a++]=this.he,b[a++]=this.sm,b[a++]=this.je,b[a++]=this.Oh,b[a++]=this.Mh,b[a++]=this.Lh,b[a++]=this.Ef,b[a++]=this.qa,b[a++]=this.Tj,b[a++]=this.Nh):(b[a++]=this.xg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.rm,b[a++]=this.qm,b[a++]=this.pm,b[a++]=this.vf);b[a]=this.Yj();return b}; -k.Pi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.xm=d[f++];b.rf=d[f++];b.df=d[f++];b.ef=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Xg=this.Fe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===aj[this.cg][b.type])b.type=this.ln;c=aj[this.cg][b.type]; -b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,jg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));fj(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Xg)));return g};k.Yj=function(){for(var a=0,b=[],c=0;ca.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Yj=function(){for(var a=0,b=[],c=0;ca.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.tm=c,a.Se=d,$i(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Ge||e),a.Ch=f[0],a.mg=f[1],a.ng=f[2]):a.pf=!1;a.Ge&&(a.Ge=!1,--this.xe||p(this));Si(this,a.$a)}; +function Wi(a,b,c){if(a=a.na.listDisks){for(var d=0;d=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a}; +k.Vo=function(a,b){this.cb=Ri[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.lq);this.Ia(l.Sp);this.Ob();break;case 4:f=this.Ia(l.Hf);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.oq);break;case 5:case 6:f=this.Ia(l.Hf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ek);g=this.Ia(l.fk);h=e.Za=this.Ia(l.hk);r=this.Ia(l.Yh);e.mb=128<< +r;e.Od=this.Ia(l.Np);this.Ia(l.Fm);this.Ia(l.Mp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Jg(this.ca,2,this,"dmaRead",t),Fg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.sf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Jg(this.ca,2,this,"dmaWrite",t),Fg(this.ca,2)))));aj(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Hf);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Hm);this.dc(e.pb,l.aq);this.$a= +this.$a+1&3;break;case 10:f=this.Ia(l.Hf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;aj(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Hf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Yh);e.mb=128<>2&1,f=this.Ia(l.Yp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0>>8,l.mq);a.dc((b.Xa&16711680)>>>16,l.nq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ek);a.dc(f,l.fk);a.dc(g,l.hk);a.dc(h,l.Yh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1}; +k.Tm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Pi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Of(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Of(a)}while(1);return b}; +k.Of=function(a){a.Za++;a.Za>=a.ng+1&&(a.Za=1,a.Ka++,a.Ka>=a.mg&&(a.Ka=0,a.pb++))};k.bk=function(a,b){if(a.Xa)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.pb=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};var Ui={1012:Qi.prototype.Hn,1013:Qi.prototype.Fn,1015:Qi.prototype.Gn},Vi={1010:Qi.prototype.Wo,1013:Qi.prototype.Vo,1015:Qi.prototype.Uo}; +za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b=e&&(this.yg|=(f.type&3)<<(1-e<<1))}return d}; +k.Wj=function(){var a=0,b=[];this.Fe?(b[a++]=this.he,b[a++]=this.sm,b[a++]=this.je,b[a++]=this.Oh,b[a++]=this.Mh,b[a++]=this.Lh,b[a++]=this.Ef,b[a++]=this.qa,b[a++]=this.Tj,b[a++]=this.Nh):(b[a++]=this.yg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.rm,b[a++]=this.qm,b[a++]=this.pm,b[a++]=this.vf);b[a]=this.Yj();return b}; +k.Pi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.xm=d[f++];b.rf=d[f++];b.df=d[f++];b.ef=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Xg=this.Fe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===bj[this.dg][b.type])b.type=this.ln;c=bj[this.dg][b.type]; +b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,kg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));gj(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Xg)));return g};k.Yj=function(){for(var a=0,b=[],c=0;c=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.rp=function(a,b){this.cb=c&&(this.qa|=2,this.qa&=-2,gj(this))}; -k.jo=function(){var a=this.qa;this.ub=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(hj(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a}; -k.Go=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,hj(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.un=function(){return this.he};k.Lo=function(a,b){this.sm=b};k.vn=function(){return this.je};k.Jo=function(a,b){this.je=b};k.wn=function(){return this.Oh};k.Ko=function(a,b){this.Oh=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.qn=function(){return this.Lh}; -k.Eo=function(a,b){this.Lh=b};k.tn=function(){return this.Ef};k.Ho=function(a,b){this.Ef=b;this.qa=this.wa[this.Ef&16?1:0]?this.qa|64:this.qa&-65};k.xn=function(){return this.qa};k.Do=function(a,b){this.Tj=b;this.ca&&Pg(this.ca,14);ij(this)};k.Io=function(a,b){this.Nh&4&&!(b&4)&&(this.he=1);this.Nh=b}; -function ij(a){var b=!1,c=a.Tj,d=a.Ef&16?1:0,e=a.Ef&15,f=a.Mh|(a.Lh&3)<<8,g=a.Oh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(hj(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&hj(a)} -function hj(a){!a.ca||a.Nh&2||Og(a.ca,14,120)} -function gj(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&cb?this.Cb(a,c):c(-1,!1)}; -k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Um=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))}; +function gj(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.df[2])?e=b.df[0]<<8|b.df[1]:c=b.type);null==c||d||(d=bj[a.dg][c][1],e=bj[a.dg][c][0]);d&&((c=bj[a.dg][b.type])&&e!=c[0]&&d!=c[1]&&a.va("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.nb=e,b.ob=d,null==b.pa&&(b.pa=new Gi(a,b,b.mode)))}} +k.Pf=function(a){a||(this.xe=0);for(var b=0;b=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.rp=function(a,b){this.cb=c&&(this.qa|=2,this.qa&=-2,hj(this))}; +k.jo=function(){var a=this.qa;this.ub=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(ij(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a}; +k.Go=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,ij(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.un=function(){return this.he};k.Lo=function(a,b){this.sm=b};k.vn=function(){return this.je};k.Jo=function(a,b){this.je=b};k.wn=function(){return this.Oh};k.Ko=function(a,b){this.Oh=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.qn=function(){return this.Lh}; +k.Eo=function(a,b){this.Lh=b};k.tn=function(){return this.Ef};k.Ho=function(a,b){this.Ef=b;this.qa=this.wa[this.Ef&16?1:0]?this.qa|64:this.qa&-65};k.xn=function(){return this.qa};k.Do=function(a,b){this.Tj=b;this.ca&&Qg(this.ca,14);jj(this)};k.Io=function(a,b){this.Nh&4&&!(b&4)&&(this.he=1);this.Nh=b}; +function jj(a){var b=!1,c=a.Tj,d=a.Ef&16?1:0,e=a.Ef&15,f=a.Mh|(a.Lh&3)<<8,g=a.Oh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(ij(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&ij(a)} +function ij(a){!a.ca||a.Nh&2||Pg(a.ca,14,120)} +function hj(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&cb?this.Cb(a,c):c(-1,!1)}; +k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Um=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))}; k.bk=function(a,b){if(a.errorCode)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.oe=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};k.ko=function(){var a=this.U.J&255;!(this.U.G>>8)&&128>8||!this.ca)||(a=!(this.ca.Vb[0].ad&64));return a?!0:!1}; -var cj={800:Z.prototype.io,801:Z.prototype.jo,802:Z.prototype.ho},bj={496:Z.prototype.sn,497:Z.prototype.un,498:Z.prototype.vn,499:Z.prototype.wn,500:Z.prototype.rn,501:Z.prototype.qn,502:Z.prototype.tn,503:Z.prototype.xn},ej={800:Z.prototype.rp,801:Z.prototype.up,802:Z.prototype.tp,803:Z.prototype.sp,807:Z.prototype.Oj,811:Z.prototype.Oj,815:Z.prototype.Oj},dj={496:Z.prototype.Go,497:Z.prototype.Lo,498:Z.prototype.Jo,499:Z.prototype.Ko,500:Z.prototype.Fo,501:Z.prototype.Eo,502:Z.prototype.Ho,503:Z.prototype.Do, -1014:Z.prototype.Io};za(function(){for(var a=Ta(window.document,"pcjs","hdc"),b=0;bsj){if(d.load(this.Bg)){this.Ue=new Pd(this,"1.17.2","failsafe");this.Ue.load()&&(wj(this,d),a=2,pj(this.Ue));this.Ue.set("timestamp",la());qj(this.Ue);var e=this.Kc&&!this.nh;if(1==a||pa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Lc=null)):this.kc(f+": "+g),pj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&vj(this,c?d:null)}else 2==a&&d.clear()}else vj(this);delete this.Bg;delete this.Vh}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.ea.Zb=!0;this.Ik||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.Ik=!0);this.U&&(xj(this,this.U,b,c,a),qc(this.U));this.Mk&&(wj(this,b),b.clear());!c&&this.Ue&&(this.Ue.clear(),delete this.Ue)}; -function wj(a,b){if(pa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}} -function yj(a,b,c){var d,e="none",f=new Pd(a,"1.17.2"),g=new Pd(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;rtj){if(d.load(this.Bg)){this.Ue=new Pd(this,"1.17.2","failsafe");this.Ue.load()&&(xj(this,d),a=2,qj(this.Ue));this.Ue.set("timestamp",la());rj(this.Ue);var e=this.Kc&&!this.nh;if(1==a||pa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Lc=null)):this.kc(f+": "+g),qj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&wj(this,c?d:null)}else 2==a&&d.clear()}else wj(this);delete this.Bg;delete this.Vh}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.ea.Zb=!0;this.Ik||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.Ik=!0);this.U&&(yj(this,this.U,b,c,a),qc(this.U));this.Mk&&(xj(this,b),b.clear());!c&&this.Ue&&(this.Ue.clear(),delete this.Ue)}; +function xj(a,b){if(pa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}} +function zj(a,b,c){var d,e="none",f=new Pd(a,"1.17.2"),g=new Pd(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;rh.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(I){h= -null,a=I.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Ej(a,b,c)}})}else c(a,null)} -function Fj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--Bj||Ba(!0));r=!1}var g,h,r=!0;Bj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Bj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&& -window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Bj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Cj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Cj(b,a,d,!0,e,t):Dj(b,null,a,d,!1,e,t)}else f("missing machine element: "+ -a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return Fj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})(); +k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.na[b]=c,c.onclick=function(){var a=uj(d,!0);if(a){var b=!(!d.Kc||d.Rh),c=zj(d,b);b?Aj(d,a,c):d.va("Resume disabled, machine state not saved")}},!0;case "reset":return this.na[b]=c,c.onclick=function(){tc(d)},!0}return!1}; +function uj(a,b){var c=a.Lc;c||(c=sa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Bj(a,c))||a.va("Your user ID has not been approved."))):b&&a.va("Browser local storage is not available"));return c} +function Bj(a,b){a.Lc=null;var c=na(oa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ta("user",c.data),a.Lc=c.data)}catch(e){m(e.message+" ("+d+")")}return a.Lc} +function Aj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=pj(a,"1.17.2");d.data=c;b=na(oa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(I){h= +null,a=I.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Fj(a,b,c)}})}else c(a,null)} +function Gj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--Cj||Ba(!0));r=!1}var g,h,r=!0;Cj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Cj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Cj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Dj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Dj(b,a,d,!0,e,t):Ej(b,null,a,d,!1,e,t)}else f("missing machine element: "+ +a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return Gj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})(); diff --git a/modules/pcjs/lib/.jshintrc b/modules/pcjs/lib/.jshintrc index 9f371888e..39b1bc8c0 100644 --- a/modules/pcjs/lib/.jshintrc +++ b/modules/pcjs/lib/.jshintrc @@ -43,15 +43,14 @@ "X86": true, "X86Seg": true, "X86CPU": true, - "X86Grps": true, - "X86Help": true, + "X86Func": true, + "X86OpXX": true, + "X86Op0F": true, "X86ModB": true, "X86ModW": true, "X86ModB32": true, "X86ModW32": true, "X86ModSIB": true, - "X86OpXX": true, - "X86Op0F": true, "str": true, "usr": true, "web": true, diff --git a/modules/pcjs/lib/README.md b/modules/pcjs/lib/README.md index 06c0c7a16..b13f1bab8 100644 --- a/modules/pcjs/lib/README.md +++ b/modules/pcjs/lib/README.md @@ -11,7 +11,7 @@ So it's best to refer to these files generically as "modules", and more specific whenever they implement a specific device (or set of devices, in the case of [*ChipSet*](/docs/pcjs/chipset/)). Examples of non-device modules include UI modules like [panel.js](panel.js) and [debugger.js](debugger.js), -and sub-modules like [x86opxx.js](x86opxx.js) and [x86help.js](x86help.js) that separate the CPU functionality +and sub-modules like [x86opxx.js](x86opxx.js) and [x86func.js](x86func.js) that separate the CPU functionality of [x86.js](x86.js) into more manageable pieces. These modules should always be loaded or compiled in the order listed by the *pcJSFiles* property in @@ -37,8 +37,7 @@ At the time of this writing, the order is: * [pcjs/x86.js](x86.js) * [pcjs/x86seg.js](x86seg.js) * [pcjs/x86cpu.js](x86cpu.js) -* [pcjs/x86grps.js](x86grps.js) -* [pcjs/x86help.js](x86help.js) +* [pcjs/x86func.js](x86func.js) * [pcjs/x86modb.js](x86modb.js) * [pcjs/x86modw.js](x86modw.js) * [pcjs/x86modb16.js](x86modb16.js) diff --git a/modules/pcjs/lib/debugger.js b/modules/pcjs/lib/debugger.js index a45fba054..18c051465 100644 --- a/modules/pcjs/lib/debugger.js +++ b/modules/pcjs/lib/debugger.js @@ -2541,9 +2541,7 @@ if (DEBUGGER) { * getByte(aAddr, inc) * * getByte() should be used for all Debugger memory reads (eg, doDump, doUnassemble), to ensure - * all notification handlers are bypassed for physical addresses; for segmented addresses, we must - * use the CPU's X86Seg load() logic, but we don't call the CPU's getSOByte() or getByte() functions, - * to avoid triggering any memory read notifications. + * all notification handlers are bypassed for physical addresses. * * @this {Debugger} * @param {Array} aAddr @@ -2689,7 +2687,7 @@ if (DEBUGGER) { * aAddr[2] = this.getAddr(aAddr); * * The way to create a real-mode breakpoint that will break regardless of mode is to - * use the physical address of the real-mode memory location. + * use the physical address of the real-mode memory location instead. */ aAddr[3] = fTemp; aBreak.push(aAddr); @@ -4670,7 +4668,7 @@ if (DEBUGGER) { fUnknown = false; switch(sRegMatch){ case "MS": - X86Help.opHelpLMSW.call(this.cpu, w); + this.cpu.setMSW(w); break; case "TR": this.cpu.segTSS.load(w); diff --git a/modules/pcjs/lib/x86.js b/modules/pcjs/lib/x86.js index 4685bd403..350b239d9 100644 --- a/modules/pcjs/lib/x86.js +++ b/modules/pcjs/lib/x86.js @@ -240,8 +240,8 @@ var X86 = { MASK: 0xfff8 // index of corresponding entry in GDT, LDT or IDT }, RESULT: { - SIZE_BYTE: 0x00100, // mask for byte arithmetic instructions (after subtracting 1) - SIZE_WORD: 0x10000, // mask for word arithmetic instructions (after subtracting 1) + SIZE_BYTE: 0x00100, + SIZE_WORD: 0x10000, AUXOVF_AF: 0x00010, AUXOVF_OF: 0x08080, AUXOVF_CF: 0x10100 diff --git a/modules/pcjs/lib/x86cpu.js b/modules/pcjs/lib/x86cpu.js index 791073688..217540b9c 100644 --- a/modules/pcjs/lib/x86cpu.js +++ b/modules/pcjs/lib/x86cpu.js @@ -42,12 +42,11 @@ if (typeof module !== 'undefined') { var CPU = require("./cpu"); var X86 = require("./x86"); var X86Seg = require("./x86seg"); - var X86Grps = require("./x86grps"); - var X86Help = require("./x86help"); - var X86ModB = require("./x86modb"); - var X86ModW = require("./x86modw"); + var X86Func = require("./x86func"); var X86OpXX = require("./x86opxx"); var X86Op0F = require("./x86op0f"); + var X86ModB = require("./x86modb"); + var X86ModW = require("./x86modw"); } if (I386) { @@ -482,7 +481,7 @@ X86CPU.PREFETCH = { * regLIP has been set, so flushPrefetch() expects to receive that address. * * If the prefetch queue does not contain any (or enough) bytes to satisfy a getBytePrefetch() - * or getWordPrefetch() request, we force the queue to be filled with the necessary number + * or getShortPrefetch() request, we force the queue to be filled with the necessary number * of bytes first. * * @this {X86CPU} @@ -706,10 +705,10 @@ X86CPU.prototype.initProcessor = function() */ this.CYCLES = (this.model >= X86.MODEL_80286? X86CPU.CYCLES_80286 : X86CPU.CYCLES_8088); - this.aOps = X86OpXX.aOps; - this.aOpGrp4b = X86Grps.aOpGrp4b; - this.aOpGrp4w = X86Grps.aOpGrp4w; - this.aOpGrp6 = X86Op0F.aOpGrp6Real; // setProtMode() will ensure that aOpGrp6 is switched + this.aOps = X86.aOps; + this.aOpGrp4b = X86.aOpGrp4b; + this.aOpGrp4w = X86.aOpGrp4w; + this.aOpGrp6 = X86.aOpGrp6Real; // setProtMode() will ensure that aOpGrp6 is switched if (this.model >= X86.MODEL_80186) { /* @@ -720,34 +719,34 @@ X86CPU.prototype.initProcessor = function() * Instruction handlers that contain "hard-coded" 80286 cycle times include: opINSb, opINSw, opOUTSb, * opOUTSw, opENTER, and opLEAVE. */ - this.aOps = X86OpXX.aOps.slice(); // make copies of aOps and others before modifying them - this.aOpGrp4b = X86Grps.aOpGrp4b.slice(); - this.aOpGrp4w = X86Grps.aOpGrp4w.slice(); + this.aOps = X86.aOps.slice(); // make copies of aOps and others before modifying them + this.aOpGrp4b = X86.aOpGrp4b.slice(); + this.aOpGrp4w = X86.aOpGrp4w.slice(); this.nShiftCountMask = 0x1f; // on newer processors, all shift counts are MOD 32 - this.aOps[0x0F] = X86Help.opHelpInvalid; - this.aOps[X86.OPCODE.PUSHA] = X86OpXX.opPUSHA; - this.aOps[X86.OPCODE.POPA] = X86OpXX.opPOPA; - this.aOps[X86.OPCODE.BOUND] = X86OpXX.opBOUND; - this.aOps[X86.OPCODE.ARPL] = X86Help.opHelpInvalid; - this.aOps[X86.OPCODE.FS] = X86Help.opHelpInvalid; - this.aOps[X86.OPCODE.GS] = X86Help.opHelpInvalid; - this.aOps[X86.OPCODE.OS] = X86Help.opHelpInvalid; - this.aOps[X86.OPCODE.AS] = X86Help.opHelpInvalid; - this.aOps[X86.OPCODE.PUSH16] = X86OpXX.opPUSH16; - this.aOps[X86.OPCODE.IMUL16] = X86OpXX.opIMUL16; - this.aOps[X86.OPCODE.PUSH8] = X86OpXX.opPUSH8; - this.aOps[X86.OPCODE.IMUL8] = X86OpXX.opIMUL8; - this.aOps[X86.OPCODE.INSB] = X86OpXX.opINSb; - this.aOps[X86.OPCODE.INSW] = X86OpXX.opINSw; - this.aOps[X86.OPCODE.OUTSB] = X86OpXX.opOUTSb; - this.aOps[X86.OPCODE.OUTSW] = X86OpXX.opOUTSw; - this.aOps[0xC0] = X86OpXX.opGrp2bi; - this.aOps[0xC1] = X86OpXX.opGrp2wi; - this.aOps[X86.OPCODE.ENTER] = X86OpXX.opENTER; - this.aOps[X86.OPCODE.LEAVE] = X86OpXX.opLEAVE; - this.aOps[0xF1] = X86OpXX.opINT1; - this.aOpGrp4b[0x07] = X86Grps.opGrpInvalid; - this.aOpGrp4w[0x07] = X86Grps.opGrpInvalid; + this.aOps[0x0F] = X86.opInvalid; + this.aOps[X86.OPCODE.PUSHA] = X86.opPUSHA; + this.aOps[X86.OPCODE.POPA] = X86.opPOPA; + this.aOps[X86.OPCODE.BOUND] = X86.opBOUND; + this.aOps[X86.OPCODE.ARPL] = X86.opInvalid; + this.aOps[X86.OPCODE.FS] = X86.opInvalid; + this.aOps[X86.OPCODE.GS] = X86.opInvalid; + this.aOps[X86.OPCODE.OS] = X86.opInvalid; + this.aOps[X86.OPCODE.AS] = X86.opInvalid; + this.aOps[X86.OPCODE.PUSH16] = X86.opPUSH16; + this.aOps[X86.OPCODE.IMUL16] = X86.opIMUL16; + this.aOps[X86.OPCODE.PUSH8] = X86.opPUSH8; + this.aOps[X86.OPCODE.IMUL8] = X86.opIMUL8; + this.aOps[X86.OPCODE.INSB] = X86.opINSb; + this.aOps[X86.OPCODE.INSW] = X86.opINSw; + this.aOps[X86.OPCODE.OUTSB] = X86.opOUTSb; + this.aOps[X86.OPCODE.OUTSW] = X86.opOUTSw; + this.aOps[0xC0] = X86.opGrp2bi; + this.aOps[0xC1] = X86.opGrp2wi; + this.aOps[X86.OPCODE.ENTER] = X86.opENTER; + this.aOps[X86.OPCODE.LEAVE] = X86.opLEAVE; + this.aOps[0xF1] = X86.opINT1; + this.aOpGrp4b[0x07] = X86.fnGRPInvalid; + this.aOpGrp4w[0x07] = X86.fnGRPInvalid; if (this.model >= X86.MODEL_80286) { @@ -756,19 +755,23 @@ X86CPU.prototype.initProcessor = function() this.OPFLAG_NOINTR8086 = 0; // used with instructions that should *not* set NOINTR on an 80286 (eg, non-SS segment loads) - this.aOps0F = X86Op0F.aOps0F; - this.aOps[0x0F] = X86OpXX.op0F; - this.aOps[X86.OPCODE.ARPL] = X86OpXX.opARPL; - this.aOps[X86.OPCODE.PUSHSP] = X86OpXX.opPUSHSP; + this.aOps0F = X86.aOps0F; + this.aOps[0x0F] = X86.op0F; + this.aOps[X86.OPCODE.ARPL] = X86.opARPL; + this.aOps[X86.OPCODE.PUSHSP] = X86.opPUSHSP; if (I386 && this.model >= X86.MODEL_80386) { - this.aOps[X86.OPCODE.FS] = X86OpXX.opFS; - this.aOps[X86.OPCODE.GS] = X86OpXX.opGS; - this.aOps[X86.OPCODE.OS] = X86OpXX.opOS; - this.aOps[X86.OPCODE.AS] = X86OpXX.opAS; - this.aOps0F = X86Op0F.aOps0F.slice(); - this.aOps0F[0x20] = X86Op0F.opMOVrcr; - this.aOps0F[0x22] = X86Op0F.opMOVcrr; + this.aOps[X86.OPCODE.FS] = X86.opFS; + this.aOps[X86.OPCODE.GS] = X86.opGS; + this.aOps[X86.OPCODE.OS] = X86.opOS; + this.aOps[X86.OPCODE.AS] = X86.opAS; + this.aOps0F = X86.aOps0F.slice(); + this.aOps0F[0x20] = X86.opMOVrcr; + this.aOps0F[0x22] = X86.opMOVcrr; + this.aOps = this.aOps.concat(this.aOps); + for (var bOpcode in X86.aOpsD) { + this.aOps[parseInt(bOpcode, 10) + 256] = X86.aOpsD[bOpcode]; + } } } } @@ -896,7 +899,7 @@ X86CPU.prototype.resetRegs = function() /* * NOTE: Even though the 8086 doesn't have CR0 (aka MSW) and IDTR, we initialize them for ALL CPUs, so - * that functions like X86Help.opHelpINT() can use the same code for both. The 8086/8088 have no direct + * that functions like X86.fnINT() can use the same code for both. The 8086/8088 have no direct * way of accessing or changing them, so this internal change should be perfectly safe for those processors. */ this.regCR0 = X86.CR0.MSW.ON; @@ -1075,6 +1078,7 @@ X86CPU.prototype.setAddrSize = function() X86CPU.prototype.setDataSize = function() { this.opMem = this.aaOpMem[this.dataSize]; + this.bOpcodeBias = (this.dataSize == 4? 256 : 0); }; /** @@ -1091,6 +1095,7 @@ X86CPU.prototype.setSizes = function() */ this.addrSize = this.segCS.addrSize; this.addrMask = this.segCS.addrMask; + /* * It's also worth noting that instructions that implicitly use the stack also rely on STACK size, * which is based on the BIG bit of the last descriptor loaded into SS; use the following segSS properties: @@ -1255,7 +1260,7 @@ X86CPU.prototype.setProtMode = function(fProt) if (!fProt) { this.printMessage("returning to real-mode"); } - this.aOpGrp6 = (fProt? X86Op0F.aOpGrp6Prot : X86Op0F.aOpGrp6Real); + this.aOpGrp6 = (fProt? X86.aOpGrp6Prot : X86.aOpGrp6Real); this.segCS.updateMode(fProt); this.segDS.updateMode(fProt); this.segSS.updateMode(fProt); @@ -1718,6 +1723,38 @@ X86CPU.prototype.setSP = function(off) /** * getCF() * + * Notes regarding carry following a 32-bit addition: + * + * The following table summarizes bit 31 of dst, src, and result, along with the expected carry bit: + * + * dst src res carry + * --- --- --- ----- + * 0 0 0 0 no + * 0 0 1 0 no (there must have been a carry out of bit 30, but it was "absorbed") + * 0 1 0 1 yes (there must have been a carry out of bit 30, but it was NOT "absorbed") + * 0 1 1 0 no + * 1 0 0 1 yes (same as the preceding "yes" case) + * 1 0 1 0 no + * 1 1 0 1 yes (since the addition of two ones must always produce a carry) + * 1 1 1 1 yes (since the addition of two ones must always produce a carry) + * + * So, we could use “(dst ^ ((dst ^ src) & (src ^ res))) >>> 15” to shift the calculated carry bit (bit 31) + * into the conventional SIZE_WORD position (bit 16); eg: + * + * resultZeroCarry = ((resultZeroCarry >>> 16) | (resultZeroCarry & 0xffff)) | (((dst ^ ((dst ^ src) & (src ^ resultZeroCarry))) >>> 15) & SIZE_WORD); + * + * Essentially, we’d be “cramming” all 32 result bits into the low 16 bits (which would effectively represent the + * zero flag), and then setting bit 16 to the effective carry flag. This transforms the zero and carry conditions + * for a DWORD computation into the corresponding conditions for a WORD computation. This would slow down 32-bit + * addition, but it would allow 8-bit and 16-bit addition to remain fast. Languages that support 64-bit values in + * conjunction with bit-wise operators can omit that one-line transformation, allowing us to set SIZE_WORD to a + * 33-bit value, but sadly, we cannot do that in JavaScript. + * + * Alternatively, we could store the src and dst operands into their own result variables (eg, resultSrc and resultDst) + * and compute carry lazily, but that would affect MUCH more existing code (eg, all code that currently inspects carry + * with a single bit test). I think the DWORD-to-WORD flag conversion for 32-bit instructions that modify zero + * and/or carry) is a more reasonable first step. + * * @this {X86CPU} * @return {number} */ @@ -2013,6 +2050,32 @@ X86CPU.prototype.getPS = function() return (this.regPS & ~X86.PS.INDIRECT) | (this.getCF() | this.getPF() | this.getAF() | this.getZF() | this.getSF() | this.getOF()); }; +/** + * setMSW(w) + * + * Factored out of x86op0f.js, since both opLMSW and opLOADALL are capable of setting a new MSW. + * The caller is responsible for assessing the appropriate cycle cost. + * + * @this {X86CPU} + * @param {number} w + */ +X86CPU.prototype.setMSW = function(w) +{ + /* + * This instruction is always allowed to set MSW.PE, but it cannot clear MSW.PE once set; + * therefore, we always OR the previous value of MSW.PE into the new value before loading. + */ + w |= (this.regCR0 & X86.CR0.MSW.PE) | X86.CR0.MSW.ON; + this.regCR0 = (this.regCR0 & ~X86.CR0.MSW.MASK) | (w & X86.CR0.MSW.MASK); + /* + * Since the 80286 cannot return to real-mode via this instruction, the only transition we + * must worry about is to protected-mode. And don't worry, there's no harm calling setProtMode() + * if the CPU is already in protected-mode (we could certainly optimize the call out in that + * case, but this instruction isn't used frequently enough to warrant it). + */ + if (this.regCR0 & X86.CR0.MSW.PE) this.setProtMode(true); +}; + /** * setPS(regPS) * @@ -2598,9 +2661,9 @@ X86CPU.prototype.getBytePrefetch = function(addr) }; /** - * getWordPrefetch(addr) + * getShortPrefetch(addr) * - * Return the next word from the prefetch queue. There are 3 cases to consider: + * Return the next short from the prefetch queue. There are 3 cases to consider: * * 1) Both bytes have been prefetched; no bytes need be fetched from memory * 2) Only the low byte has been prefetched; the high byte must be fetched from memory @@ -2611,11 +2674,38 @@ X86CPU.prototype.getBytePrefetch = function(addr) * * @this {X86CPU} * @param {number} addr is a physical (non-segmented) address - * @return {number} word (16-bit) value at that address + * @return {number} short (16-bit) value at that address + */ +X86CPU.prototype.getShortPrefetch = function(addr) +{ + return this.getBytePrefetch(addr) | (this.getBytePrefetch(addr + 1) << 8); +}; + +/** + * getLongPrefetch(addr) + * + * Return the next long from the prefetch queue. Similar to getShortPrefetch(), we take the + * easy way out and call getShortPrefetch() twice. + * + * @this {X86CPU} + * @param {number} addr is a physical (non-segmented) address + * @return {number} long (32-bit) value at that address + */ +X86CPU.prototype.getLongPrefetch = function(addr) +{ + return this.getShortPrefetch(addr) | (this.getShortPrefetch(addr + 2) << 16); +}; + +/** + * getWordPrefetch(addr) + * + * @this {X86CPU} + * @param {number} addr is a physical (non-segmented) address + * @return {number} short (16-bit) or long (32-bit value as appropriate */ X86CPU.prototype.getWordPrefetch = function(addr) { - return this.getBytePrefetch(addr) | (this.getBytePrefetch(addr + 1) << 8); + return (I386 && this.addrSize == 4? this.getLongPrefetch(addr) : this.getShortPrefetch(addr)); }; /** @@ -2716,6 +2806,46 @@ X86CPU.prototype.getIPDisp = function() return w & (I386? this.addrMask : 0xffff); }; +/** + * getIPShort() + * + * @this {X86CPU} + * @return {number} short at the current IP; IP advanced by 2 + */ +X86CPU.prototype.getIPShort = function() +{ + var w = (PREFETCH? this.getShortPrefetch(this.regLIP) : this.getShort(this.regLIP)); + if (BACKTRACK) { + this.bus.updateBackTrackCode(this.regLIP, this.backTrack.btiMemLo); + this.bus.updateBackTrackCode(this.regLIP + 1, this.backTrack.btiMemHi); + } + this.regLIP += 2; + if (this.regLIP > this.regLIPLimit) { + this.setIP(this.regLIP - this.segCS.base); + } + return w; +}; + +/** + * getIPLong() + * + * @this {X86CPU} + * @return {number} long at the current IP; IP advanced by 4 + */ +X86CPU.prototype.getIPLong = function() +{ + var l = (PREFETCH? this.getLongPrefetch(this.regLIP) : this.getLong(this.regLIP)); + if (BACKTRACK) { + this.bus.updateBackTrackCode(this.regLIP, this.backTrack.btiMemLo); + this.bus.updateBackTrackCode(this.regLIP + 1, this.backTrack.btiMemHi); + } + this.regLIP += 4; + if (this.regLIP > this.regLIPLimit) { + this.setIP(this.regLIP - this.segCS.base); + } + return l; +}; + /** * getIPWord() * @@ -2868,14 +2998,14 @@ X86CPU.prototype.checkINTR = function() this.intFlags &= ~X86.INTFLAG.INTR; if (nIDT >= 0) { this.intFlags &= ~X86.INTFLAG.HALT; - X86Help.opHelpINT.call(this, nIDT, null, 11); + X86.fnINT.call(this, nIDT, null, 11); return true; } } } else if ((this.intFlags & X86.INTFLAG.TRAP)) { this.intFlags &= ~X86.INTFLAG.TRAP; - X86Help.opHelpINT.call(this, X86.EXCEPTION.TRAP, null, 11); + X86.fnINT.call(this, X86.EXCEPTION.TRAP, null, 11); return true; } } @@ -3162,7 +3292,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) this.nSnapCycles = this.nStepCycles; } - this.aOps[this.getIPByte()].call(this); + this.aOps[this.getIPByte() + (I386? this.bOpcodeBias : 0)].call(this); if (PREFETCH) { var nSpareCycles = (this.nSnapCycles - this.nStepCycles) - this.nBusCycles; @@ -3217,10 +3347,6 @@ if (typeof APP_PCJS !== 'undefined') { APP_PCJS.X86 = X86; APP_PCJS.X86.X86CPU = X86CPU; APP_PCJS.X86.X86Seg = X86Seg; - APP_PCJS.X86.X86Grps = X86Grps; - APP_PCJS.X86.X86Help = X86Help; - APP_PCJS.X86.X86Op0F = X86Op0F; - APP_PCJS.X86.X86OpXX = X86OpXX; } if (typeof module !== 'undefined') module.exports = X86CPU; diff --git a/modules/pcjs/lib/x86func.js b/modules/pcjs/lib/x86func.js new file mode 100644 index 000000000..b30fee526 --- /dev/null +++ b/modules/pcjs/lib/x86func.js @@ -0,0 +1,2444 @@ +/** + * @fileoverview Implements PCjs 8086 opcode helpers. + * @author Jeff Parsons + * @version 1.0 + * Created 2012-Sep-05 + * + * Copyright © 2012-2015 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +if (typeof module !== 'undefined') { + var Messages = require("./messages"); + var X86 = require("./x86"); +} + +/** + * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before + * the calculation, but here the calculation depends on the incoming carry value. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnADCb = function ADCb(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultZeroCarry = this.resultParitySign = dst + src + ((this.resultZeroCarry & this.resultSize)? 1 : 0); + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return this.resultZeroCarry & 0xff; +}; + +/** + * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before + * the calculation, but here the calculation depends on the incoming carry value. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnADCw = function ADCw(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultZeroCarry = this.resultParitySign = dst + src + ((this.resultZeroCarry & this.resultSize)? 1 : 0); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return this.resultZeroCarry & 0xffff; +}; + +/** + * fnADDb(dst, src) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnADDb = function ADDb(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = dst + src) & 0xff; +}; + +/** + * fnADDw(dst, src) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnADDw = function ADDw(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = dst + src) & 0xffff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnANDb = function ANDb(dst, src) +{ + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src) & 0xff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnANDw = function ANDw(dst, src) +{ + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src) & 0xffff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnANDd = function ANDd(dst, src) +{ + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + var dw = this.resultParitySign = this.resultAuxOverflow = (dst & src); + this.resultZeroCarry = ((dw >>> 16) | (dw & 0xffff)); + return dw; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnARPL = function ARPL(dst, src) +{ + this.nStepCycles -= (10 + (this.regEA < 0? 0 : 1)); + if ((dst & X86.SEL.RPL) < (src & X86.SEL.RPL)) { + dst = (dst & ~X86.SEL.RPL) | (src & X86.SEL.RPL); + this.setZF(); + return dst; + } + this.clearZF(); + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnBOUND = function BOUND(dst, src) +{ + if (this.regEA < 0) { + /* + * Generate UD_FAULT (INT 0x06: Invalid Opcode) if src is not a memory operand. + */ + X86.opInvalid.call(this); + return dst; + } + /* + * Note that BOUND performs signed comparisons, so we must transform all arguments into signed values. + */ + var wIndex = (dst << 16) >> 16; + var wLower = (this.getShort(this.regEA) << 16) >> 16; + var wUpper = (this.getShort(this.regEA + 2) << 16) >> 16; + this.nStepCycles -= this.CYCLES.nOpCyclesBound; + if (wIndex < wLower || wIndex > wUpper) { + /* + * The INT 0x05 handler must be called with CS:IP pointing to the BOUND instruction. + * + * TODO: Determine the cycle cost when a BOUND exception is triggered, over and above nOpCyclesBound. + */ + this.setIP(this.opLIP - this.segCS.base); + X86.fnINT.call(this, X86.EXCEPTION.BOUND_ERR, null, 0); + } + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * fnCALLF(off, sel) + * + * For protected-mode, this function must attempt to load the new code segment first, because if the new segment + * requires a change in privilege level, the return address must be pushed on the NEW stack, not the current stack. + * + * @this {X86CPU} + * @param {number} off + * @param {number} sel + */ +X86.fnCALLF = function CALLF(off, sel) +{ + var regCS = this.getCS(); + var regEIP = this.getIP(); + if (this.setCSIP(off, sel, true) != null) { + this.pushWord(regCS); + this.pushWord(regEIP); + } +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnCALLw = function CALLw(dst, src) +{ + this.pushWord(this.getIP()); + this.setIP(dst); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesCallWR : this.CYCLES.nOpCyclesCallWM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnCALLFdw = function CALLFdw(dst, src) +{ + if (this.regEA < 0) { + return X86.fnGRPUndefined.call(this, dst, src); + } + X86.fnCALLF.call(this, dst, this.getShort(this.regEA + 2)); + this.nStepCycles -= this.CYCLES.nOpCyclesCallDM; + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * fnCMPb(dst, src) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} dst unchanged + */ +X86.fnCMPb = function CMPb(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.resultZeroCarry = this.resultParitySign = dst - src; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesCompareRM) : this.CYCLES.nOpCyclesArithRM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} dst unchanged + */ +X86.fnCMPw = function CMPw(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_WORD; + this.resultZeroCarry = this.resultParitySign = dst - src; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesCompareRM) : this.CYCLES.nOpCyclesArithRM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnDECb = function DECb(dst, src) +{ + this.resultAuxOverflow = dst; + dst = (this.resultParitySign = dst - 1) & 0xff; + this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 8); + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnDECw = function DECw(dst, src) +{ + this.resultAuxOverflow = dst; + dst = (this.resultParitySign = dst - 1) & 0xffff; + this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually AX that's modified) + */ +X86.fnDIVb = function DIVb(dst, src) +{ + /* + * Detect zero divisor + */ + if (!dst) { + X86.fnDIVOverflow.call(this); + return dst; + } + /* + * Detect small divisor (quotient overflow) + */ + var uQuotient = ((src = this.regEAX) / dst); + if (uQuotient > 0xff) { + X86.fnDIVOverflow.call(this); + return dst; + } + this.regMD16 = this.regEAX = (uQuotient & 0xff) | (((this.regEAX % dst) & 0xff) << 8); + /* + * TODO: Verify that all of the arithmetic flags are "undefined" after DIV, and that this code unnecessary + */ + this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = uQuotient | X86.RESULT.SIZE_BYTE); + this.resultSize = X86.RESULT.SIZE_BYTE; + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('DIVB', src, dst, null, this.getPS(), this.regMD16); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesDivBR : this.CYCLES.nOpCyclesDivBM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) + */ +X86.fnDIVw = function DIVw(dst, src) +{ + /* + * Detect zero divisor + */ + if (!dst) { + X86.fnDIVOverflow.call(this); + return dst; + } + /* + * Detect small divisor (quotient overflow) + * + * WARNING: We CANNOT simply do "src = (this.regEDX << 16) | this.regEAX", because if bit 15 of DX + * is set, JavaScript will create a negative 32-bit number. So we instead use non-bit-wise operators + * to force JavaScript to create a floating-point value that won't suffer from 32-bit-math side-effects. + */ + src = this.regEAX + this.regEDX * X86.RESULT.SIZE_WORD; + var uQuotient = Math.floor(src / dst); + if (uQuotient >= X86.RESULT.SIZE_WORD) { + X86.fnDIVOverflow.call(this); + return dst; + } + this.regMD16 = this.regEAX = (uQuotient & 0xffff); + this.regMD32 = this.regEDX = (src % dst) & 0xffff; + /* + * TODO: Verify that all of the arithmetic flags are "undefined" after DIV, and that this code unnecessary + */ + this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = uQuotient | X86.RESULT.SIZE_WORD); + this.resultSize = X86.RESULT.SIZE_WORD; + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('DIVW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesDivWR : this.CYCLES.nOpCyclesDivWM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} dst unchanged + */ +X86.fnESC = function ESC(dst, src) +{ + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually AX that's modified) + * + * TODO: Implement the following difference, from "AP-186: Introduction to the 80186 Microprocessor, March 1983": + * + * "The 8086 will cause a divide error whenever the absolute value of the quotient is greater then 7FFFH + * (for word operations) or if the absolute value of the quotient is greater than 7FH (for byte operations). + * The 80186 has expanded the range of negative numbers allowed as a quotient by 1 to include 8000H and 80H. + * These numbers represent the most negative numbers representable using 2's complement arithmetic (equaling + * -32768 and -128 in decimal, respectively)." + */ +X86.fnIDIVb = function IDIVb(dst, src) +{ + /* + * Detect zero divisor + */ + if (!dst) { + X86.fnDIVOverflow.call(this); + return dst; + } + /* + * Detect small divisor (quotient overflow) + */ + var lQuotient = ((((src = this.regEAX) << 16) >> 16) / ((dst << 24) >> 24)); + if (lQuotient > ((lQuotient << 24) >> 24) & 0xffff) { + X86.fnDIVOverflow.call(this); + return dst; + } + this.regMD16 = this.regEAX = (lQuotient & 0xff) | (((((this.regEAX << 16) >> 16) % ((dst << 24) >> 24)) & 0xff) << 8); + /* + * TODO: Verify that all of the arithmetic flags are "undefined" after IDIV, and that this code unnecessary + */ + this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = lQuotient | X86.RESULT.SIZE_BYTE); + this.resultSize = X86.RESULT.SIZE_BYTE; + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('IDIVB', src, dst, null, this.getPS(), this.regMD16); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIDivBR : this.CYCLES.nOpCyclesIDivBM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) + * + * TODO: Implement the following difference, from "AP-186: Introduction to the 80186 Microprocessor, March 1983": + * + * "The 8086 will cause a divide error whenever the absolute value of the quotient is greater then 7FFFH + * (for word operations) or if the absolute value of the quotient is greater than 7FH (for byte operations). + * The 80186 has expanded the range of negative numbers allowed as a quotient by 1 to include 8000H and 80H. + * These numbers represent the most negative numbers representable using 2's complement arithmetic (equaling + * -32768 and -128 in decimal, respectively)." + */ +X86.fnIDIVw = function IDIVw(dst, src) +{ + /* + * Detect zero divisor + */ + if (!dst) { + X86.fnDIVOverflow.call(this); + return dst; + } + /* + * Detect small divisor (quotient overflow) + */ + var lDivisor = ((dst << 16) >> 16); + src = (this.regEDX << 16) | this.regEAX; + var lQuotient = Math.floor(src / lDivisor); + if (lQuotient != ((lQuotient & 0xffff) << 16) >> 16) { + X86.fnDIVOverflow.call(this); + return dst; + } + this.regMD16 = this.regEAX = (lQuotient & 0xffff); + this.regMD32 = this.regEDX = (src % lDivisor) & 0xffff; + /* + * TODO: Verify that all of the arithmetic flags are "undefined" after IDIV, and that this code unnecessary + */ + this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = lQuotient | X86.RESULT.SIZE_WORD); + this.resultSize = X86.RESULT.SIZE_WORD; + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('IDIVW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIDivWR : this.CYCLES.nOpCyclesIDivWM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + * + * 80286_and_80287_Programmers_Reference_Manual_1987.pdf, p.B-44 (p.254) notes that: + * + * "The low 16 bits of the product of a 16-bit signed multiply are the same as those of an + * unsigned multiply. The three operand IMUL instruction can be used for unsigned operands as well." + * + * However, we still sign-extend the operands before multiplying, making it easier to range-check the result. + * + * (80186/80188 and up) + */ +X86.fnIMUL8 = function IMUL8(dst, src) +{ + var result = ((src << 16) >> 16) * ((this.getIPByte() << 24) >> 24); + this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; + this.resultSize = X86.RESULT.SIZE_BYTE; + /* + * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, + * but it somewhat defeats the purpose of the indirect result variables that we've set above. + */ + if (result > 32767 || result < -32768) { + this.setCF(); this.setOF(); + } else { + this.clearCF(); this.clearOF(); + } + result &= 0xffff; + if (DEBUG && DEBUGGER) this.traceLog('IMUL8', dst, src, null, this.getPS(), result); + /* + * NOTE: These are the cycle counts for the 80286; the 80186/80188 have slightly different values (ranges): + * 22-25 and 29-32 instead of 21 and 24, respectively. However, accurate cycle counts for the 80186/80188 is + * not super-critical. TODO: Fix this someday. + */ + this.nStepCycles -= (this.regEA < 0? 21 : 24); + return result; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + * + * 80286_and_80287_Programmers_Reference_Manual_1987.pdf, p.B-44 (p.254) notes that: + * + * "The low 16 bits of the product of a 16-bit signed multiply are the same as those of an + * unsigned multiply. The three operand IMUL instruction can be used for unsigned operands as well." + * + * However, we still sign-extend the operands before multiplying, making it easier to range-check the result. + * + * (80186/80188 and up) + */ +X86.fnIMUL16 = function IMUL16(dst, src) +{ + var result = ((src << 16) >> 16) * ((this.getIPWord() << 16) >> 16); + this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; + this.resultSize = X86.RESULT.SIZE_WORD; + /* + * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, + * but it somewhat defeats the purpose of the indirect result variables that we've set above. + */ + if (result > 32767 || result < -32768) { + this.setCF(); this.setOF(); + } else { + this.clearCF(); this.clearOF(); + } + result &= 0xffff; + if (DEBUG && DEBUGGER) this.traceLog('IMUL16', dst, src, null, this.getPS(), result); + /* + * NOTE: These are the cycle counts for the 80286; the 80186/80188 have slightly different values (ranges): + * 22-25 and 29-32 instead of 21 and 24, respectively. However, accurate cycle counts for the 80186/80188 is + * not super-critical. TODO: Fix this someday. + */ + this.nStepCycles -= (this.regEA < 0? 21 : 24); + return result; +}; + +/** + * This 16-bit multiplication must indicate when the upper 8 bits are simply a sign-extension of the + * lower 8 bits (carry clear) and when the upper 8 bits contain significant bits (carry set). The latter + * will occur whenever a positive result is > 127 (0x007f) and whenever a negative result is < -128 + * (0xff80). + * + * Example 1: 16 * 4 = 64 (0x0040): carry is clear + * Example 2: 16 * 8 = 128 (0x0080): carry is set (the sign bit no longer fits in the lower 8 bits) + * Example 3: 16 * -8 (0xf8) = -128 (0xff80): carry is clear (the sign bit *still* fits in the lower 8 bits) + * Example 4: 16 * -16 (0xf0) = -256 (0xff00): carry is set (the sign bit no longer fits in the lower 8 bits) + * + * An earlier version of this function assumed it simply needed to check bit 7 of the result to determine carry, + * which was completely broken. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually AX that's modified) + */ +X86.fnIMULb = function IMULb(dst, src) +{ + var result = (((src = this.regEAX) << 24) >> 24) * ((dst << 24) >> 24); + this.regEAX = this.regMD16 = result & 0xffff; + this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; + this.resultSize = X86.RESULT.SIZE_BYTE; + /* + * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, + * but it somewhat defeats the purpose of the indirect result variables that we've set above. + */ + if (result > 127 || result < -128) { + this.setCF(); this.setOF(); + } else { + this.clearCF(); this.clearOF(); + } + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('IMULB', src, dst, null, this.getPS(), this.regMD16); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIMulBR : this.CYCLES.nOpCyclesIMulBM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * This 32-bit multiplication must indicate when the upper 16 bits are simply a sign-extension of the + * lower 16 bits (carry clear) and when the upper 16 bits contain significant bits (carry set). The latter + * will occur whenever a positive result is > 32767 (0x00007fff) and whenever a negative result is < -32768 + * (0xffff8000). + * + * Example 1: 256 * 64 = 16384 (0x00004000): carry is clear + * Example 2: 256 * 128 = 32768 (0x00008000): carry is set (the sign bit no longer fits in the lower 16 bits) + * Example 3: 256 * -128 (0xff80) = -32768 (0xffff8000): carry is clear (the sign bit *still* fits in the lower 16 bits) + * Example 4: 256 * -256 (0xff00) = -65536 (0xffff0000): carry is set (the sign bit no longer fits in the lower 16 bits) + * + * An earlier version of this function assumed it simply needed to check bit 15 of the result to determine carry, + * which was completely broken. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) + */ +X86.fnIMULw = function IMULw(dst, src) +{ + var result = (((src = this.regEAX) << 16) >> 16) * ((dst << 16) >> 16); + this.regEAX = this.regMD16 = result & 0xffff; + this.regEDX = this.regMD32 = (result >> 16) & 0xffff; + this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; + this.resultSize = X86.RESULT.SIZE_WORD; + /* + * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, + * but it somewhat defeats the purpose of the indirect result variables that we've set above. + */ + if (result > 32767 || result < -32768) { + this.setCF(); this.setOF(); + } else { + this.clearCF(); this.clearOF(); + } + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('IMULW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIMulWR : this.CYCLES.nOpCyclesIMulWM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnINCb = function INCb(dst, src) +{ + this.resultAuxOverflow = dst; + dst = (this.resultParitySign = dst + 1) & 0xff; + this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 8); + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnINCw = function INCw(dst, src) +{ + this.resultAuxOverflow = dst; + dst = (this.resultParitySign = dst + 1) & 0xffff; + this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); + return dst; +}; + +/** + * fnINT(nIDT, nError, nCycles) + * + * NOTE: We no longer use setCSIP(), because it always loads the new CS using segCS.load(), which + * only knows how to load GDT and LDT descriptors, whereas interrupts must use setCS.loadIDT(), which + * deals exclusively with IDT descriptors. + * + * This means we must take care to replicate critical features of setCSIP(); eg, setting segCS.fCall before + * calling loadIDT(), updating LIP, and flushing the prefetch queue. + * + * @this {X86CPU} + * @param {number} nIDT + * @param {number|null|undefined} nError + * @param {number} nCycles (in addition to the default of nOpCyclesInt) + */ +X86.fnINT = function INT(nIDT, nError, nCycles) +{ + /* + * TODO: We assess the cycle cost up front, because otherwise, if loadIDT() fails, no cost may be assessed. + */ + this.nStepCycles -= this.CYCLES.nOpCyclesInt + nCycles; + this.segCS.fCall = true; + var regPS = this.getPS(); + var regCS = this.getCS(); + var regEIP = this.getIP(); + var addr = this.segCS.loadIDT(nIDT); + if (addr != X86.ADDR_INVALID) { + this.regLIP = addr; + if (PREFETCH) this.flushPrefetch(this.regLIP); + this.pushWord(regPS); + this.pushWord(regCS); + this.pushWord(regEIP); + if (nError != null) this.pushWord(nError); + this.nFault = -1; + } +}; + +/** + * fnIRET() + * + * @this {X86CPU} + */ +X86.fnIRET = function IRET() +{ + /* + * TODO: We assess a fixed cycle cost up front, because at the moment, switchTSS() doesn't assess anything. + */ + this.nStepCycles -= this.CYCLES.nOpCyclesIRet; + if (this.regCR0 & X86.CR0.MSW.PE) { + if (this.regPS & X86.PS.NT) { + var addrNew = this.segTSS.base; + var sel = this.getShort(addrNew + X86.TSS.PREV_TSS); + X86Seg.switchTSS.call(this.segCS, sel, false); + return; + } + } + var cpl = this.segCS.cpl; + var regEIP = this.popWord(); + var regCS = this.popWord(); + var regPS = this.popWord(); + if (this.setCSIP(regEIP, regCS, false) != null) { + this.setPS(regPS, cpl); + if (this.cIntReturn) this.checkIntReturn(this.regLIP); + } +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnJMPFdw = function JMPFdw(dst, src) +{ + if (this.regEA < 0) { + return X86.fnGRPUndefined.call(this, dst, src); + } + this.setCSIP(dst, this.getShort(this.regEA + 2)); + if (this.cIntReturn) this.checkIntReturn(this.regLIP); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpDM; + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnJMPw = function JMPw(dst, src) +{ + this.setIP(dst); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesJmpWR : this.CYCLES.nOpCyclesJmpWM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnLAR = function LAR(dst, src) +{ + this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); + /* + * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the + * descriptor table or the descriptor is not for a segment. + * + * TODO: This instruction's 80286 documentation does not discuss conforming code segments; determine + * if we need a special check for them. + */ + if (this.segVER.load(src, true) != X86.ADDR_INVALID) { + if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (src & X86.SEL.RPL)) { + this.setZF(); + return this.segVER.acc & X86.DESC.ACC.MASK; + } + } + this.clearZF(); + return dst; +}; + +/** + * fnLCR0(l) + * + * This called on behalf of 80386 opcodes only (ie, MOV CR0,reg). + * + * TODO: Determine which CR0 bits, if any, cannot be modified by MOV CR0,reg. + * + * @this {X86CPU} + * @param {number} l + */ +X86.fnLCR0 = function LCR0(l) +{ + this.regCR0 = l; + this.setProtMode(!!(this.regCR0 & X86.CR0.MSW.PE)); +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnLDS = function LDS(dst, src) +{ + if (this.regEA < 0) { + X86.opUndefined.call(this); + return dst; + } + this.setDS(this.getShort(this.regEA + 2)); + this.nStepCycles -= this.CYCLES.nOpCyclesLS; + return src; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnLEA = function LEA(dst, src) +{ + if (this.regEA < 0) { + /* + * TODO: After reading http://www.os2museum.com/wp/undocumented-8086-opcodes/, it seems that this + * form of LEA (eg, "LEA AX,DX") simply returns the last calculated EA. Since we always reset regEA + * at the start of a new instruction, we would need to preserve the previous EA if we want to mimic + * that (undocumented) behavior. + * + * And for completeness, we would have to extend EA tracking beyond the usual ModRM instructions + * (eg, XLAT, instructions that modify the stack pointer, and string instructions). Anything else? + */ + X86.opUndefined.call(this); + return dst; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLEA; + return this.regEA; +}; + +/** + * fnLGDT(dst, src) + * + * op=0x0F,0x01,reg=0x2 (GRP7:LGDT) + * + * The 80286 LGDT instruction expects a 40-bit operand: a 16-bit limit, followed by a 24-bit address; + * the ModRM decoder has already supplied the first word of the operand (in dst), which corresponds to the + * limit, so we must fetch the remaining 24 bits ourselves. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnLGDT = function LGDT(dst, src) +{ + if (this.regEA < 0) { + X86.opInvalid.call(this); + } else { + this.addrGDT = this.getShort(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); + this.addrGDTLimit = this.addrGDT + dst; + this.opFlags |= X86.OPFLAG.NOWRITE; + this.nStepCycles -= 11; + } + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnLES = function LES(dst, src) +{ + if (this.regEA < 0) { + X86.opUndefined.call(this); + return dst; + } + this.setES(this.getShort(this.regEA + 2)); + this.nStepCycles -= this.CYCLES.nOpCyclesLS; + return src; +}; + +/** + * fnLIDT(dst, src) + * + * op=0x0F,0x01,reg=0x3 (GRP7:LIDT) + * + * The 80286 LIDT instruction expects a 40-bit operand: a 16-bit limit, followed by a 24-bit address; + * the ModRM decoder has already supplied the first word of the operand (in dst), which corresponds to the + * limit, so we must fetch the remaining 24 bits ourselves. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnLIDT = function LIDT(dst, src) +{ + if (this.regEA < 0) { + X86.opInvalid.call(this); + } else { + this.addrIDT = this.getShort(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); + this.addrIDTLimit = this.addrIDT + dst; + this.opFlags |= X86.OPFLAG.NOWRITE; + this.nStepCycles -= 12; + } + return dst; +}; + +/** + * fnLLDT(dst, src) + * + * op=0x0F,0x00,reg=0x2 (GRP6:LLDT) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnLLDT = function LLDT(dst, src) { + this.opFlags |= X86.OPFLAG.NOWRITE; + this.segLDT.load(dst); + this.nStepCycles -= (17 + (this.regEA < 0? 0 : 2)); + return dst; +}; + +/** + * fnLMSW(dst, src) + * + * op=0x0F,0x01,reg=0x6 (GRP7:LMSW) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnLMSW = function LMSW(dst, src) +{ + this.setMSW(dst); + this.nStepCycles -= (this.regEA < 0? 3 : 6); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (the selector) + * @return {number} + */ +X86.fnLSL = function LSL(dst, src) +{ + /* + * TODO: Is this an invalid operation if regEAWrite is set? dst is required to be a register. + */ + this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); + /* + * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the + * descriptor table or the descriptor is not for a segment. + * + * TODO: LSL is explicitly documented as ALSO requiring a non-null selector, so we check X86.SEL.MASK; + * are there any other instructions that were, um, less explicit but also require a non-null selector? + */ + if ((src & X86.SEL.MASK) && this.segVER.load(src, true) != X86.ADDR_INVALID) { + var fConforming = ((this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) == X86.DESC.ACC.TYPE.CODE_CONFORMING); + if ((fConforming || this.segVER.dpl >= this.segCS.cpl) && this.segVER.dpl >= (src & X86.SEL.RPL)) { + this.setZF(); + return this.segVER.limit; + } + } + this.clearZF(); + return dst; +}; + +/** + * fnLTR(dst, src) + * + * op=0x0F,0x00,reg=0x3 (GRP6:LTR) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnLTR = function LTR(dst, src) +{ + this.opFlags |= X86.OPFLAG.NOWRITE; + if (this.segTSS.load(dst) != X86.ADDR_INVALID) { + this.setShort(this.segTSS.addrDesc + X86.DESC.ACC.OFFSET, this.segTSS.acc |= X86.DESC.ACC.TYPE.LDT); + this.segTSS.type = X86.DESC.ACC.TYPE.TSS_BUSY; + } + this.nStepCycles -= (17 + (this.regEA < 0? 0 : 2)); + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst (current value, ignored) + * @param {number} src (new value) + * @return {number} dst (updated value, from src) + */ +X86.fnMOV = function MOV(dst, src) +{ + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesMovRR : this.CYCLES.nOpCyclesMovRM) : this.CYCLES.nOpCyclesMovMR); + return src; +}; + +/** + * @this {X86CPU} + * @param {number} dst (current value, ignored) + * @param {number} src (new value) + * @return {number} dst (updated value, from src) + */ +X86.fnMOVImm = function MOVImm(dst, src) +{ + this.nStepCycles -= (this.regEAWrite < 0? this.CYCLES.nOpCyclesMovRI : this.CYCLES.nOpCyclesMovMI); + return src; +}; + +/** + * @this {X86CPU} + * @param {number} dst (current value, ignored) + * @param {number} src (new value) + * @return {number} dst (src is overridden, replaced with regMD16, as specified by opMOVwsr()) + */ +X86.fnMOVMD16 = function MOVMD16(dst, src) +{ + return X86.fnMOV.call(this, dst, this.regMD16); +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually AX that's modified) + */ +X86.fnMULb = function MULb(dst, src) +{ + this.regEAX = this.regMD16 = (this.resultZeroCarry = (src = this.regEAX & 0xff) * dst) & 0xffff; + this.resultAuxOverflow = this.resultParitySign = this.resultZeroCarry; + this.resultSize = X86.RESULT.SIZE_BYTE; + /* + * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, + * but it somewhat defeats the purpose of the indirect result variables that we've set above. + */ + if (this.regEAX & 0xff00) { + this.setCF(); this.setOF(); + } else { + this.clearCF(); this.clearOF(); + } + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('MULB', src, dst, null, this.getPS(), this.regMD16); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesMulBR : this.CYCLES.nOpCyclesMulBM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) + */ +X86.fnMULw = function MULw(dst, src) +{ + this.regMD16 = this.regEAX = (this.resultZeroCarry = (src = this.regEAX) * dst) & 0xffff; + this.regMD32 = this.regEDX = (this.resultZeroCarry >> 16) & 0xffff; + this.resultAuxOverflow = this.resultParitySign = this.resultZeroCarry; + this.resultSize = X86.RESULT.SIZE_WORD; + /* + * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, + * but it somewhat defeats the purpose of the indirect result variables that we've set above. + */ + if (this.regEDX) { + this.setCF(); this.setOF(); + } else { + this.clearCF(); this.clearOF(); + } + /* + * Multiply/divide instructions specify only a single operand, which the decoders pass to us + * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). + * However, src is technically an output, and dst is merely an input (which is why we must return + * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. + */ + if (DEBUG && DEBUGGER) this.traceLog('MULW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesMulWR : this.CYCLES.nOpCyclesMulWM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnNEGb = function NEGb(dst, src) +{ + src = 0; + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); + return (this.resultZeroCarry = this.resultParitySign = src - dst) & 0xff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnNEGw = function NEGw(dst, src) +{ + src = 0; + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); + return (this.resultZeroCarry = this.resultParitySign = src - dst) & 0xffff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnNOTb = function NOTb(dst, src) +{ + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); + return dst ^ 0xff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnNOTw = function NOTw(dst, src) +{ + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); + return dst ^ 0xffff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnORb = function ORb(dst, src) +{ + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst | src) & 0xff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnORw = function ORw(dst, src) +{ + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst | src) & 0xffff; +}; + +/** + * @this {X86CPU} + * @param {number} dst (current value, ignored) + * @param {number} src (new value) + * @return {number} dst (updated value, from src) + */ +X86.fnPOPw = function POPw(dst, src) +{ + this.nStepCycles -= (this.regEAWrite < 0? this.CYCLES.nOpCyclesPopReg : this.CYCLES.nOpCyclesPopMem); + return src; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnPUSHw = function PUSHw(dst, src) +{ + var w = dst; + if (this.opFlags & X86.OPFLAG.PUSHSP) { + /* + * This is the one case where must actually modify dst, so that the ModRM function will + * not put a stale value back into the SP register. + */ + dst = (dst - 2) & 0xffff; + /* + * And on the 8086/8088, the value we just calculated also happens to be the value that must + * be pushed. + */ + if (this.model < X86.MODEL_80286) w = dst; + } + this.pushWord(w); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesPushReg : this.CYCLES.nOpCyclesPushMem); + /* + * The PUSH is the only write that needs to occur; dst was the source operand and does not need to be rewritten. + */ + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnRCLb = function RCLb(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var temp; + var shift = (src & this.nShiftCountMask) % 0x9; + if (!shift) { + temp = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 8); + } else { + temp = (dst << shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (shift - 1)) | (dst >> (9 - shift)); + result = temp & 0xff; + } + X86.fnRotateFlags.call(this, temp, X86.RESULT.SIZE_BYTE); + } + if (DEBUG && DEBUGGER) this.traceLog('RCLB', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnRCLw = function RCLw(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var temp; + var shift = (src & this.nShiftCountMask) % 0x11; + if (!shift) { + temp = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + temp = (dst << shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (shift - 1)) | (dst >> (17 - shift)); + result = temp & 0xffff; + } + X86.fnRotateFlags.call(this, temp, X86.RESULT.SIZE_WORD); + } + if (DEBUG && DEBUGGER) this.traceLog('RCLW', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnRCRb = function RCRb(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var shift = (src & this.nShiftCountMask) % 0x9; + result = (dst >> shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (8 - shift)) | (dst << (9 - shift)); + X86.fnRotateFlags.call(this, result, X86.RESULT.SIZE_BYTE); + result &= 0xff; + } + if (DEBUG && DEBUGGER) this.traceLog('RCRB', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnRCRw = function RCRw(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var shift = (src & this.nShiftCountMask) % 0x11; + result = (dst >> shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (16 - shift)) | (dst << (17 - shift)); + X86.fnRotateFlags.call(this, result, X86.RESULT.SIZE_WORD); + result &= 0xffff; + } + if (DEBUG && DEBUGGER) this.traceLog('RCRW', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * fnRETF(n) + * + * For protected-mode, this function must be prepared to pop any arguments off the current stack AND + * whatever stack we may have switched to (setCSIP() returns true only when a stack switch has occurred). + * + * @this {X86CPU} + * @param {number} n + */ +X86.fnRETF = function RETF(n) +{ + var regEIP = this.popWord(); + var regCS = this.popWord(); + n <<= (this.dataSize >> 2); + if (n) this.setSP(this.getSP() + n); // TODO: optimize + if (this.setCSIP(regEIP, regCS, false)) { + if (n) this.setSP(this.getSP() + n); // TODO: optimize + /* + * As per Intel documentation: "If any of [the DS or ES] registers refer to segments whose DPL is + * less than the new CPL (excluding conforming code segments), the segment register is loaded with + * the null selector." + * + * TODO: I'm not clear on whether a conforming code segment must also be marked readable, so I'm playing + * it safe and using CODE_CONFORMING instead of CODE_CONFORMING_READABLE. Also, for the record, I've not + * seen this situation occur in OS/2 1.0 yet. + */ + if ((this.segDS.sel & X86.SEL.MASK) && this.segDS.dpl < this.segCS.cpl && (this.segDS.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) != X86.DESC.ACC.TYPE.CODE_CONFORMING) { + this.assert(false); // I'm not asserting this is bad, I just want to see it in action + this.segDS.load(0); + } + if ((this.segES.sel & X86.SEL.MASK) && this.segES.dpl < this.segCS.cpl && (this.segES.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) != X86.DESC.ACC.TYPE.CODE_CONFORMING) { + this.assert(false); // I'm not asserting this is bad, I just want to see it in action + this.segES.load(0); + } + } + if (n == 2 && this.cIntReturn) this.checkIntReturn(this.regLIP); +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnROLb = function ROLb(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var temp; + var shift = src & 0x7; // this smaller mask obviates the need to mask with this.nShiftCountMask + if (!shift) { + temp = dst << 8; + } else { + result = (temp = (dst << shift) | (dst >> (8 - shift))) & 0xff; + } + X86.fnRotateFlags.call(this, temp, X86.RESULT.SIZE_BYTE); + } + if (DEBUG && DEBUGGER) this.traceLog('ROLB', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnROLw = function ROLw(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var temp; + var shift = src & 0xf; // this smaller mask obviates the need to mask with this.nShiftCountMask + if (!shift) { + temp = dst << 16; + } else { + result = (temp = (dst << shift) | (dst >> (16 - shift))) & 0xffff; + } + X86.fnRotateFlags.call(this, temp, X86.RESULT.SIZE_WORD); + } + if (DEBUG && DEBUGGER) this.traceLog('ROLW', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnRORb = function RORb(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var temp; + var shift = src & 0x7; // this smaller mask obviates the need to mask with this.nShiftCountMask + result = temp = ((dst >> shift) | (dst << (8 - shift))) & 0xff; + if (temp & 0x80) temp |= X86.RESULT.SIZE_BYTE; + X86.fnRotateFlags.call(this, temp, X86.RESULT.SIZE_BYTE); + } + if (DEBUG && DEBUGGER) this.traceLog('RORB', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL) + * @return {number} + */ +X86.fnRORw = function RORw(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + var temp; + var shift = src & 0xf; // this smaller mask obviates the need to mask with this.nShiftCountMask + result = temp = ((dst >> shift) | (dst << (16 - shift))) & 0xffff; + if (temp & 0x8000) temp |= X86.RESULT.SIZE_WORD; + X86.fnRotateFlags.call(this, temp, X86.RESULT.SIZE_WORD); + } + if (DEBUG && DEBUGGER) this.traceLog('RORW', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * WARNING: Although we set all the arithmetic flags for shift instructions, including + * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is + * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" + * for shifts > 1. See fnSHLb() for more details. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) + * @return {number} + */ +X86.fnSARb = function SARb(dst, src) +{ + if (src) { + if (src > 8) src = 9; // this comparison obviates the need to mask with this.nShiftCountMask + var temp = ((dst << 24) >> 24) >> (src - 1); + this.resultZeroCarry = this.resultParitySign = temp >> 1; + if (temp & 0x01) + this.resultZeroCarry |= X86.RESULT.SIZE_BYTE; + else + this.resultZeroCarry &= ~X86.RESULT.SIZE_BYTE; + this.resultAuxOverflow = dst ^ this.resultZeroCarry; + this.resultSize = X86.RESULT.SIZE_BYTE; + dst = this.resultZeroCarry; + } + return dst & 0xff; +}; + +/** + * WARNING: Although we set all the arithmetic flags for shift instructions, including + * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is + * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" + * for shifts > 1. See fnSHLb() for more details. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) + * @return {number} + */ +X86.fnSARw = function SARw(dst, src) +{ + if (src) { + if (src > 16) src = 17; // this comparison obviates the need to mask with this.nShiftCountMask + var temp = ((dst << 16) >> 16) >> (src - 1); + this.resultZeroCarry = this.resultParitySign = temp >> 1; + if (temp & 0x01) + this.resultZeroCarry |= X86.RESULT.SIZE_WORD; + else + this.resultZeroCarry &= ~X86.RESULT.SIZE_WORD; + this.resultAuxOverflow = dst ^ this.resultZeroCarry; + this.resultSize = X86.RESULT.SIZE_WORD; + dst = this.resultZeroCarry; + } + return dst & 0xffff; +}; + +/** + * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before + * the calculation, but here the calculation depends on the incoming carry value. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnSBBb = function SBBb(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultZeroCarry = this.resultParitySign = dst - src - ((this.resultZeroCarry & this.resultSize)? 1 : 0); + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return this.resultZeroCarry & 0xff; +}; + +/** + * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before + * the calculation, but here the calculation depends on the incoming carry value. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnSBBw = function SBBw(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultZeroCarry = this.resultParitySign = dst - src - ((this.resultZeroCarry & this.resultSize)? 1 : 0); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return this.resultZeroCarry & 0xffff; +}; + +/** + * fnSGDT(dst, src) + * + * op=0x0F,0x01,reg=0x0 (GRP7:SGDT) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnSGDT = function SGDT(dst, src) +{ + if (this.regEA < 0) { + X86.opInvalid.call(this); + } else { + /* + * We don't need to setShort() the first word of the operand, because the ModRM group decoder that + * calls us does that automatically with the value we return (dst). + */ + dst = this.addrGDTLimit - this.addrGDT; + this.setShort(this.regEA + 2, this.addrGDT); + /* + * We previously left the 6th byte of the target operand "undefined". But it turns out we have to set + * it to *something*, because there's processor detection in PC-DOS 7.0 (at least in the SETUP portion) + * that looks like this: + * + * 145E:4B84 9C PUSHF + * 145E:4B85 55 PUSH BP + * 145E:4B86 8BEC MOV BP,SP + * 145E:4B88 B80000 MOV AX,0000 + * 145E:4B8B 50 PUSH AX + * 145E:4B8C 9D POPF + * 145E:4B8D 9C PUSHF + * 145E:4B8E 58 POP AX + * 145E:4B8F 2500F0 AND AX,F000 + * 145E:4B92 3D00F0 CMP AX,F000 + * 145E:4B95 7511 JNZ 4BA8 + * 145E:4BA8 C8060000 ENTER 0006,00 + * 145E:4BAC 0F0146FA SGDT [BP-06] + * 145E:4BB0 807EFFFF CMP [BP-01],FF + * 145E:4BB4 C9 LEAVE + * 145E:4BB5 BA8603 MOV DX,0386 + * 145E:4BB8 7503 JNZ 4BBD + * 145E:4BBA BA8602 MOV DX,0286 + * 145E:4BBD 89163004 MOV [0430],DX + * 145E:4BC1 5D POP BP + * 145E:4BC2 9D POPF + * 145E:4BC3 CB RETF + * + * This code is expecting SGDT on an 80286 to set the 6th "undefined" byte to 0xFF. So we use setShort() + * instead of setByte() and force the upper byte to 0xFF. + * + * TODO: Remove the 0xFF00 below on post-80286 processors; also, determine whether this behavior is unique to real-mode. + */ + this.setShort(this.regEA + 4, 0xFF00 | (this.addrGDT >> 16)); + this.nStepCycles -= 11; + } + return dst; +}; + +/** + * WARNING: Although we set all the arithmetic flags for shift instructions, including + * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is + * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" + * for shifts > 1. + * + * For example, when AL=09, SHL AL,1 may clear PS_AF on a real CPU, but in our case, + * it will be set. However, until I see documented 8086/8088 behaviors for PS_AF and PS_OF + * and/or code that depends on them, I'll continue setting PS_AF and PS_OF "normally". + * + * See also: AND, OR, TEST, and XOR (those instructions leave AUXCARRY "undefined" as well). + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) + * @return {number} + */ +X86.fnSHLb = function SHLb(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + if (src > 8) // this comparison obviates the need to mask with this.nShiftCountMask + result = this.resultZeroCarry = this.resultParitySign = 0; + else + result = (this.resultZeroCarry = this.resultParitySign = (dst << src)) & 0xff; + this.resultAuxOverflow = 0; + this.resultSize = X86.RESULT.SIZE_BYTE; + } + if (DEBUG && DEBUGGER) this.traceLog('SHLB', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * WARNING: Although we set all the arithmetic flags for shift instructions, including + * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is + * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" + * for shifts > 1. See fnSHLb() for more details. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) + * @return {number} + */ +X86.fnSHLw = function SHLw(dst, src) +{ + var result = dst; + var flagsIn = (DEBUG? this.getPS() : 0); + if (src) { + if (src > 16) // this comparison obviates the need to mask with this.nShiftCountMask + result = this.resultZeroCarry = this.resultParitySign = 0; + else + result = (this.resultZeroCarry = this.resultParitySign = (dst << src)) & 0xffff; + this.resultAuxOverflow = 0; + this.resultSize = X86.RESULT.SIZE_WORD; + } + if (DEBUG && DEBUGGER) this.traceLog('SHLW', dst, src, flagsIn, this.getPS(), result); + return result; +}; + +/** + * WARNING: Although we set all the arithmetic flags for shift instructions, including + * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is + * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" + * for shifts > 1. See fnSHLb() for more details. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) + * @return {number} + */ +X86.fnSHRb = function SHRb(dst, src) +{ + if (src) { // the following comparison obviates the need to mask with this.nShiftCountMask + var temp = (src > 8? 0 : (dst >> (src - 1))); + this.resultZeroCarry = this.resultParitySign = temp >> 1; + if (temp & 0x01) + this.resultZeroCarry |= X86.RESULT.SIZE_BYTE; + else + this.resultZeroCarry &= ~X86.RESULT.SIZE_BYTE; + this.resultAuxOverflow = dst ^ this.resultZeroCarry; + this.resultSize = X86.RESULT.SIZE_BYTE; + dst = this.resultZeroCarry; + } + return dst & 0xff; +}; + +/** + * WARNING: Although we set all the arithmetic flags for shift instructions, including + * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is + * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" + * for shifts > 1. See fnSHLb() for more details. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) + * @return {number} + */ +X86.fnSHRw = function SHRw(dst, src) +{ + if (src) { // the following comparison obviates the need to mask with this.nShiftCountMask + var temp = (src > 16? 0 : (dst >> (src - 1))); + this.resultZeroCarry = this.resultParitySign = temp >> 1; + if (temp & 0x01) + this.resultZeroCarry |= X86.RESULT.SIZE_WORD; + else + this.resultZeroCarry &= ~X86.RESULT.SIZE_WORD; + this.resultAuxOverflow = dst ^ this.resultZeroCarry; + this.resultSize = X86.RESULT.SIZE_WORD; + dst = this.resultZeroCarry; + } + return dst & 0xffff; +}; + +/** + * fnSIDT(dst, src) + * + * op=0x0F,0x01,reg=0x1 (GRP7:SIDT) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnSIDT = function SIDT(dst, src) +{ + if (this.regEA < 0) { + X86.opInvalid.call(this); + } else { + /* + * We don't need to setShort() the first word of the operand, because the ModRM group decoder that calls + * us does that automatically with the value we return (dst). + */ + dst = this.addrIDTLimit - this.addrIDT; + this.setShort(this.regEA + 2, this.addrIDT); + /* + * As with SGDT, the 6th byte is technically "undefined" on an 80286, but we now set it to 0xFF, for the + * same reasons discussed in SGDT (above). + * + * TODO: Remove the 0xFF00 below on post-80286 processors; also, determine whether this behavior is unique to real-mode. + */ + this.setShort(this.regEA + 4, 0xFF00 | (this.addrIDT >> 16)); + this.nStepCycles -= 12; + } + return dst; +}; + +/** + * fnSLDT(dst, src) + * + * op=0x0F,0x00,reg=0x0 (GRP6:SLDT) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnSLDT = function SLDT(dst, src) +{ + this.nStepCycles -= (2 + (this.regEA < 0? 0 : 1)); + return this.segLDT.sel; +}; + +/** + * fnSMSW(dst, src) + * + * op=0x0F,0x01,reg=0x4 (GRP7:SMSW) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnSMSW = function SMSW(dst, src) +{ + this.nStepCycles -= (2 + (this.regEA < 0? 0 : 1)); + return this.regCR0; +}; + +/** + * fnSTR(dst, src) + * + * op=0x0F,0x00,reg=0x1 (GRP6:STR) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnSTR = function STR(dst, src) +{ + this.nStepCycles -= (2 + (this.regEA < 0? 0 : 1)); + return this.segTSS.sel; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnSUBb = function SUBb(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = dst - src) & 0xff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnSUBw = function SUBw(dst, src) +{ + this.resultAuxOverflow = dst ^ src; + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = dst - src) & 0xffff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null; we have to supply the source ourselves) + * @return {number} + */ +X86.fnTEST8 = function TEST8(dst, src) +{ + src = this.getIPByte(); + this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesTestRI : this.CYCLES.nOpCyclesTestMI); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null; we have to supply the source ourselves) + * @return {number} + */ +X86.fnTEST16 = function TEST16(dst, src) +{ + src = this.getIPWord(); + this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesTestRI : this.CYCLES.nOpCyclesTestMI); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnTESTb = function TESTb(dst, src) +{ + this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesTestRR : this.CYCLES.nOpCyclesTestRM) : this.CYCLES.nOpCyclesTestRM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnTESTw = function TESTw(dst, src) +{ + this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesTestRR : this.CYCLES.nOpCyclesTestRM) : this.CYCLES.nOpCyclesTestRM); + this.opFlags |= X86.OPFLAG.NOWRITE; + return dst; +}; + +/** + * fnVERR(dst, src) + * + * op=0x0F,0x00,reg=0x4 (GRP6:VERR) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnVERR = function VERR(dst, src) +{ + this.opFlags |= X86.OPFLAG.NOWRITE; + /* + * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the + * descriptor table or the descriptor is not for a segment. + */ + this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); + if (this.segVER.load(dst, true) != X86.ADDR_INVALID) { + /* + * Verify that this is a readable segment; that is, of these four combinations (code+readable, + * code+nonreadable, data+writable, date+nonwritable), make sure we're not the second combination. + */ + if ((this.segVER.acc & (X86.DESC.ACC.TYPE.READABLE | X86.DESC.ACC.TYPE.CODE)) != X86.DESC.ACC.TYPE.CODE) { + /* + * For VERR, if the code segment is readable and conforming, the descriptor privilege level + * (DPL) can be any value. + * + * Otherwise, DPL must be greater than or equal to (have less or the same privilege as) both the + * current privilege level and the selector's RPL. + */ + if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (dst & X86.SEL.RPL) || + (this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) == X86.DESC.ACC.TYPE.CODE_CONFORMING) { + this.setZF(); + return dst; + } + } + } + this.clearZF(); + return dst; +}; + +/** + * fnVERW(dst, src) + * + * op=0x0F,0x00,reg=0x5 (GRP6:VERW) + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src (null) + * @return {number} + */ +X86.fnVERW = function VERW(dst, src) +{ + this.opFlags |= X86.OPFLAG.NOWRITE; + /* + * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the + * descriptor table or the descriptor is not for a segment. + */ + this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); + if (this.segVER.load(dst, true) != X86.ADDR_INVALID) { + /* + * Verify that this is a writable data segment + */ + if ((this.segVER.acc & (X86.DESC.ACC.TYPE.WRITABLE | X86.DESC.ACC.TYPE.CODE)) == X86.DESC.ACC.TYPE.WRITABLE) { + /* + * DPL must be greater than or equal to (have less or the same privilege as) both the current + * privilege level and the selector's RPL. + */ + if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (dst & X86.SEL.RPL)) { + this.setZF(); + return dst; + } + } + } + this.clearZF(); + return dst; +}; + +/** + * fnXCHGrb(dst, src) + * + * If an instruction like "XCHG AL,AH" was a traditional "op dst,src" instruction, dst would contain AL, + * src would contain AH, and we would return src, which the caller would then store in AL, and we'd be done. + * + * However, that's only half of what XCHG does, so THIS function must perform the other half; in the previous + * example, that entails storing AL (dst) into AH (src). + * + * BACKTRACK support is incomplete without also passing bti values as parameters, because the caller will + * store btiAH in btiAL, but the original btiAL will be lost. Similarly, if src is a memory operand, the + * caller will store btiEALo in btiAL, but again, the original btiAL will be lost. + * + * BACKTRACK support for memory operands could be fixed by decoding the dst register in order to determine the + * corresponding bti and then temporarily storing it in btiEALo around the setEAByte() call below. Register-only + * XCHGs would require a more extensive hack. For now, I'm going to live with one-way BACKTRACK support here. + * + * TODO: Implement full BACKTRACK support for XCHG instructions. + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnXCHGrb = function XCHGRb(dst, src) +{ + if (this.regEA < 0) { + /* + * Decode which register was src + */ + switch (this.bModRM & 0x7) { + case 0x0: // AL + this.regEAX = (this.regEAX & ~0xff) | dst; + break; + case 0x1: // CL + this.regECX = (this.regECX & ~0xff) | dst; + break; + case 0x2: // DL + this.regEDX = (this.regEDX & ~0xff) | dst; + break; + case 0x3: // BL + this.regEBX = (this.regEBX & ~0xff) | dst; + break; + case 0x4: // AH + this.regEAX = (this.regEAX & 0xff) | (dst << 8); + break; + case 0x5: // CH + this.regECX = (this.regECX & 0xff) | (dst << 8); + break; + case 0x6: // DH + this.regEDX = (this.regEDX & 0xff) | (dst << 8); + break; + case 0x7: // BH + this.regEBX = (this.regEBX & 0xff) | (dst << 8); + break; + default: + break; // there IS no other case, but JavaScript inspections don't know that + } + this.nStepCycles -= this.CYCLES.nOpCyclesXchgRR; + } else { + /* + * This is a case where the ModRM decoder that's calling us didn't know it should have called modEAByte() + * instead of getEAByte(), so we compensate by updating regEAWrite. However, setEAByte() has since been + * changed to revalidate the write using segEA:offEA, so updating regEAWrite here isn't strictly necessary. + */ + this.regEAWrite = this.regEA; + this.setEAByte(dst); + this.nStepCycles -= this.CYCLES.nOpCyclesXchgRM; + } + return src; +}; + +/** + * fnXCHGrw(dst, src) + * + * If an instruction like "XCHG AX,DX" was a traditional "op dst,src" instruction, dst would contain AX, + * src would contain DX, and we would return src, which the caller would then store in AX, and we'd be done. + * + * However, that's only half of what XCHG does, so THIS function must perform the other half; in the previous + * example, that entails storing AX (dst) into DX (src). + * + * TODO: Implement full BACKTRACK support for XCHG instructions (see fnXCHGrb comments). + * + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnXCHGrw = function XCHGRw(dst, src) +{ + if (this.regEA < 0) { + /* + * Decode which register was src + */ + switch (this.bModRM & 0x7) { + case 0x0: // AX + this.regEAX = dst; + break; + case 0x1: // CX + this.regECX = dst; + break; + case 0x2: // DX + this.regEDX = dst; + break; + case 0x3: // BX + this.regEBX = dst; + break; + case 0x4: // SP + this.setSP(dst); + break; + case 0x5: // BP + this.regEBP = dst; + break; + case 0x6: // SI + this.regESI = dst; + break; + case 0x7: // DI + this.regEDI = dst; + break; + default: + break; // there IS no other case, but JavaScript inspections don't know that + } + this.nStepCycles -= this.CYCLES.nOpCyclesXchgRR; + } else { + /* + * This is a case where the ModRM decoder that's calling us didn't know it should have called modEAWord() + * instead of getEAWord(), so we compensate by updating regEAWrite. However, setEAWord() has since been + * changed to revalidate the write using segEA:offEA, so updating regEAWrite here isn't strictly necessary. + */ + this.regEAWrite = this.regEA; + this.setEAWord(dst); + this.nStepCycles -= this.CYCLES.nOpCyclesXchgRM; + } + return src; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnXORb = function XORb(dst, src) +{ + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst ^ src) & 0xff; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnXORw = function XORw(dst, src) +{ + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); + return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst ^ src) & 0xffff; +}; + +/** + * All the rotate instructions (RCL, RCR, ROL, ROR) affect only CARRY and OVERFLOW. This means that in the process + * of updating CARRY and OVERFLOW (and possibly changing resultSize from SIZE_BYTE to SIZE_WORD, or vice versa), + * we must take care to preserve SIGN, ZERO, and the other arithmetic flags. + * + * However, in the interest of efficiency, rather than changing resultSize to match the operand size, it's easier + * to leave resultSize as-is and simply set CARRY and OVERFLOW based on the previous resultSize, since there isn't + * actually any requirement or dependency (that I can think of) that resultSize always reflect the operand size of + * the last operation. Since only 2 of the 6 arithmetic flags need to change, that tips the scales in favor of leaving + * resultSize alone. + * + * NOTE: Although I've yet to find confirmation of this for the 8086/8088, OVERFLOW is "undefined" on modern x86 + * CPUs for shift counts > 1 (in fact, on modern CPUs, OVERFLOW tends to be clear in those situations). Since I set + * OVERFLOW the same way for all shift counts, my "well-defined" behavior may or may not match the 8086/8088, but + * until I see a defined behavior (or more importantly, some dependency on a different behavior), this seems good enough. + * + * @this {X86CPU} + * @param {number} result (untruncated, so that we can inspect it for CARRY and OVERFLOW) + * @param {number} size + */ +X86.fnRotateFlags = function(result, size) +{ + this.resultZeroCarry = (this.resultZeroCarry & (this.resultSize - 1)) | ((result & size)? this.resultSize : 0); + if ((result ^ (result >> 1)) & (size >> 1)) this.setOF(); else this.clearOF(); +}; + +/** + * @this {X86CPU} + * @return {number} + */ +X86.fnGRPCount1 = function() { + this.nStepCycles -= (this.regEA < 0? 2 : this.CYCLES.nOpCyclesShift1M); + return 1; +}; + +/** + * @this {X86CPU} + * @return {number} + */ +X86.fnGRPCountCL = function() { + var count = this.regECX & this.nShiftCountMask; + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesShiftCR : this.CYCLES.nOpCyclesShiftCM) + (count << this.CYCLES.nOpCyclesShiftCS); + return count; +}; + +/** + * @this {X86CPU} + * @return {number} + */ +X86.fnGRPCountImm = function() { + var count = this.getIPByte(); + this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesShiftCR : this.CYCLES.nOpCyclesShiftCM) + (count << this.CYCLES.nOpCyclesShiftCS); + return count; +}; + +/** + * @this {X86CPU} + * @return {number|null} + */ +X86.fnGRPSrcNone = function() { + return null; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnGRPFault = function(dst, src) +{ + X86.fnFault.call(this, X86.EXCEPTION.GP_FAULT, 0); + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnGRPInvalid = function(dst, src) +{ + X86.opInvalid.call(this); + return dst; +}; + +/** + * @this {X86CPU} + * @param {number} dst + * @param {number} src + * @return {number} + */ +X86.fnGRPUndefined = function(dst, src) +{ + X86.opUndefined.call(this); + return dst; +}; + +/** + * fnDIVOverflow() + * + * @this {X86CPU} + */ +X86.fnDIVOverflow = function() +{ + this.setIP(this.opLIP - this.segCS.base); + /* + * TODO: Determine the proper cycle cost. + */ + X86.fnINT.call(this, X86.EXCEPTION.DIV_ERR, null, 2); +}; + +/** + * fnFault(nFault, nError, fHalt) + * + * Helper to dispatch faults. + * + * @this {X86CPU} + * @param {number} nFault + * @param {number} [nError] + * @param {boolean} [fHalt] will halt the CPU if true *and* a Debugger is loaded + */ +X86.fnFault = function(nFault, nError, fHalt) +{ + if (!this.aFlags.fComplete) { + this.printMessage("Fault " + str.toHexByte(nFault) + " blocked by Debugger", Messages.WARN); + this.setIP(this.opLIP - this.segCS.base); + return; + } + + var fDispatch = false; + if (this.model >= X86.MODEL_80186) { + if (this.nFault < 0) { + /* + * Single-fault (error code is passed through, and the responsible instruction is restartable) + */ + this.setIP(this.opLIP - this.segCS.base); + fDispatch = true; + } else if (this.nFault != X86.EXCEPTION.DF_FAULT) { + /* + * Double-fault (error code is always zero, and the responsible instruction is not restartable) + */ + nError = 0; + nFault = X86.EXCEPTION.DF_FAULT; + fDispatch = true; + } else { + /* + * Triple-fault (usually referred to in Intel literature as a "shutdown", but at least on the 80286, + * it's actually a "reset") + */ + X86.fnFaultMessage.call(this, -1, 0, fHalt); + this.resetRegs(); + return; + } + } + + if (X86.fnFaultMessage.call(this, nFault, nError, fHalt)) { + fDispatch = false; + } + + if (fDispatch) X86.fnINT.call(this, this.nFault = nFault, nError, 0); + + /* + * Since this fault is likely being issued in the context of an instruction that hasn't finished + * executing, and since we currently don't do anything to interrupt that execution (eg, throw a + * JavaScript exception), we should shut off all further reads/writes for the current instruction. + * + * That's easy for any EA-based memory accesses: simply set both the NOREAD and NOWRITE flags. + * However, there are also direct, non-EA-based memory accesses to consider. A perfect example is + * opPUSHA(): if a GP fault occurs on any PUSH other than the last, a subsequent PUSH is likely to + * cause another fault, which we will misinterpret as a double-fault. + * + * TODO: Throw a special JavaScript exception that cpu.js must intercept and quietly ignore. + */ + this.opFlags &= ~(X86.OPFLAG.NOREAD | X86.OPFLAG.NOWRITE); +}; + +/** + * fnFaultMessage() + * + * Aside from giving the Debugger an opportunity to report every fault, this also gives us the ability to + * halt exception processing in tracks: return true to prevent the fault handler from being dispatched. + * + * At the moment, the only Debugger control you have over fault interception is setting MESSAGE.FAULT, which + * will display faults as they occur, and MESSAGE.HALT, which will halt after any Debugger message, including + * MESSAGE.FAULT. If you want execution to continue after halting, clear MESSAGE.FAULT and/or MESSAGE.HALT, + * or single-step over the offending instruction, which will allow the fault to be dispatched. + * + * @this {X86CPU} + * @param {number} nFault + * @param {number} [nError] + * @param {boolean} [fHalt] true if the CPU should always be halted, false if "it depends" + * @return {boolean|undefined} true to block the fault (often desirable when fHalt is true), otherwise dispatch it + */ +X86.fnFaultMessage = function(nFault, nError, fHalt) +{ + var bitsMessage = Messages.FAULT; + var bOpcode = this.bus.getByteDirect(this.regLIP); + + /* + * OS/2 1.0 uses an INT3 (0xCC) opcode in conjunction with an invalid IDT to trigger a triple-fault + * reset and return to real-mode, and these resets happen quite frequently during boot; for example, + * OS/2 startup messages are displayed using a series of INT 0x10 BIOS calls for each character, and + * each series of BIOS calls requires a round-trip mode switch. + * + * Since we really only want to halt on "bad" faults, not "good" (ie, intentional) faults, we take + * advantage of the fact that all 3 faults comprising the triple-fault point to an INT3 (0xCC) opcode, + * and so whenever we see that opcode, we ignore the caller's fHalt flag, and suppress FAULT messages + * unless CPU messages are also enabled. + * + * When a triple fault shows up, nFault is -1; it displays as "ff" because we display nFault as a byte. + */ + if (bOpcode == X86.OPCODE.INT3) { + fHalt = false; + bitsMessage |= Messages.CPU; + } + + /* + * Similarly, the PC AT ROM BIOS deliberately generates a couple of GP faults as part of the POST + * (Power-On Self Test); we don't want to ignore those, but we don't want to halt on them either. We + * detect those faults by virtue of the LIP being in the range %0F0000 to %0FFFFF. + */ + if (this.regLIP >= 0x0F0000 && this.regLIP <= 0x0FFFFF) { + fHalt = false; + } + + /* + * However, the foregoing notwithstanding, if MESSAGE.HALT is enabled along with all the other required + * MESSAGE bits, then we want to halt regardless. + */ + if (this.messageEnabled(bitsMessage | Messages.HALT)) { + fHalt = true; + } + + if (this.messageEnabled(bitsMessage) || fHalt) { + var sMessage = (fHalt? '\n' : '') + "Fault " + str.toHexByte(nFault) + (nError != null? " (" + str.toHexWord(nError) + ")" : "") + " on opcode 0x" + str.toHexByte(bOpcode) + " at " + this.dbg.hexOffset(this.getIP(), this.getCS()) + " (%" + str.toHex(this.regLIP, 6) + ")"; + var fRunning = this.aFlags.fRunning; + if (this.printMessage(sMessage, bitsMessage)) { + if (fHalt) { + /* + * By setting fHalt to fRunning (which is true while running but false while single-stepping), + * this allows a fault to be dispatched when you single-step over a faulting instruction; you can + * then continue single-stepping into the fault handler, or start running again. + * + * Note that we had to capture fRunning before calling printMessage(), because if MESSAGE.HALT + * is set, printMessage() will have already halted the CPU. + */ + fHalt = fRunning; + this.dbg.stopCPU(); + } + } else { + /* + * If printMessage() returned false, then messageEnabled() must have returned false as well, which + * means that fHalt must be true. Which means we should shut the machine down. + */ + this.assert(fHalt); + this.notice(sMessage); + this.stopCPU(); + } + } + return fHalt; +}; diff --git a/modules/pcjs/lib/x86grps.js b/modules/pcjs/lib/x86grps.js deleted file mode 100644 index 6ce0a6ef4..000000000 --- a/modules/pcjs/lib/x86grps.js +++ /dev/null @@ -1,1338 +0,0 @@ -/** - * @fileoverview Implements PCjs 8086 group opcode helpers. - * @author Jeff Parsons - * @version 1.0 - * Created 2012-Sep-05 - * - * Copyright © 2012-2015 Jeff Parsons - * - * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) - * at and . - * - * PCjs is free software: you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation, either version 3 - * of the License, or (at your option) any later version. - * - * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with PCjs. If not, - * see . - * - * You are required to include the above copyright notice in every source code file of every - * copy or modified version of this work, and to display that copyright notice on every screen - * that loads or runs any version of this software (see Computer.sCopyright). - * - * Some PCjs files also attempt to load external resource files, such as character-image files, - * ROM files, and disk image files. Those external resource files are not considered part of the - * PCjs program for purposes of the GNU General Public License, and the author does not claim - * any copyright as to their contents. - */ - -"use strict"; - -if (typeof module !== 'undefined') { - var X86 = require("./x86"); - var X86Help = require("./x86help"); -} - -var X86Grps = { - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpADDb: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = dst + src) & 0xff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpORb: function(dst, src) { - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst | src) & 0xff; - }, - /** - * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before - * the calculation, but here the calculation depends on the incoming carry value. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpADCb: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultZeroCarry = this.resultParitySign = dst + src + ((this.resultZeroCarry & this.resultSize)? 1 : 0); - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return this.resultZeroCarry & 0xff; - }, - /** - * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before - * the calculation, but here the calculation depends on the incoming carry value. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpSBBb: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultZeroCarry = this.resultParitySign = dst - src - ((this.resultZeroCarry & this.resultSize)? 1 : 0); - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return this.resultZeroCarry & 0xff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpANDb: function(dst, src) { - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src) & 0xff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpSUBb: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = dst - src) & 0xff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpXORb: function(dst, src) { - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst ^ src) & 0xff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} dst unchanged - */ - opGrpCMPb: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.resultZeroCarry = this.resultParitySign = dst - src; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesCompareRM) : this.CYCLES.nOpCyclesArithRM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * opGrpADDw(dst, src) - * - * Notes regarding carry following a 32-bit addition (which we do not YET support but will eventually): - * - * The following table summarizes bit 31 of dst, src, and result, along with the expected carry bit: - * - * dst src res carry - * --- --- --- ----- - * 0 0 0 0 no - * 0 0 1 0 no (there must have been a carry out of bit 30, but it was "absorbed") - * 0 1 0 1 yes (there must have been a carry out of bit 30, but it was NOT "absorbed") - * 0 1 1 0 no - * 1 0 0 1 yes (same as the preceding "yes" case) - * 1 0 1 0 no - * 1 1 0 1 yes (since the addition of two ones must always produce a carry) - * 1 1 1 1 yes (since the addition of two ones must always produce a carry) - * - * So, we can use “(dst ^ ((dst ^ src) & (src ^ res))) >>> 15” to shift the calculated carry bit (bit 31) - * into the conventional SIZE_WORD position (bit 16); eg: - * - * resultZeroCarry = ((resultZeroCarry >>> 16) | (resultZeroCarry & 0xffff)) | (((dst ^ ((dst ^ src) & (src ^ resultZeroCarry))) >>> 15) & SIZE_WORD); - * - * Essentially, we’re “cramming” all 32 result bits into the low 16 bits (which will effectively represent the - * zero flag), and then setting bit 16 to the effective carry flag. This transforms the zero and carry conditions - * for a DWORD computation into the corresponding conditions for a WORD computation. This will slow down 32-bit - * addition, but it allows 8-bit and 16-bit addition to remain fast. Languages that support 64-bit values in - * conjunction with bit-wise operators can omit that one-line transformation, allowing us to set SIZE_DWORD to a - * 33-bit value, but sadly, we cannot do that in JavaScript. - * - * Alternatively, we could store src and dst into their own result variables (eg, resultSrc and resultDst) and - * compute carry lazily, but that would affect MUCH more existing code (eg, all code that currently inspects carry - * with a single bit test). I think the DWORD-to-WORD flag conversion for 32-bit instructions that modify zero - * and/or carry) is a more reasonable first step. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpADDw: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = dst + src) & 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpORw: function(dst, src) { - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst | src) & 0xffff; - }, - /** - * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before - * the calculation, but here the calculation depends on the incoming carry value. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpADCw: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultZeroCarry = this.resultParitySign = dst + src + ((this.resultZeroCarry & this.resultSize)? 1 : 0); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return this.resultZeroCarry & 0xffff; - }, - /** - * NOTE: Notice that some of the simpler math functions could get away with updating resultSize before - * the calculation, but here the calculation depends on the incoming carry value. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpSBBw: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultZeroCarry = this.resultParitySign = dst - src - ((this.resultZeroCarry & this.resultSize)? 1 : 0); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return this.resultZeroCarry & 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpANDw: function(dst, src) { - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src) & 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpSUBw: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = dst - src) & 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpXORw: function(dst, src) { - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesArithRM) : this.CYCLES.nOpCyclesArithMR); - return (this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst ^ src) & 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} dst unchanged - */ - opGrpCMPw: function(dst, src) { - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_WORD; - this.resultZeroCarry = this.resultParitySign = dst - src; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesCompareRM) : this.CYCLES.nOpCyclesArithRM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst (current value, ignored) - * @param {number} src (new value) - * @return {number} dst (updated value, from src) - */ - opGrpPOPw: function(dst, src) { - this.nStepCycles -= (this.regEAWrite < 0? this.CYCLES.nOpCyclesPopReg : this.CYCLES.nOpCyclesPopMem); - return src; - }, - /** - * @this {X86CPU} - * @param {number} dst (current value, ignored) - * @param {number} src (new value) - * @return {number} dst (updated value, from src) - */ - opGrpMOVImm: function(dst, src) { - this.nStepCycles -= (this.regEAWrite < 0? this.CYCLES.nOpCyclesMovRI : this.CYCLES.nOpCyclesMovMI); - return src; - }, - /** - * All the rotate instructions (RCL, RCR, ROL, ROR) affect only CARRY and OVERFLOW. This means that in the process - * of updating CARRY and OVERFLOW (and possibly changing resultSize from SIZE_BYTE to SIZE_WORD, or vice versa), - * we must take care to preserve SIGN, ZERO, and the other arithmetic flags. - * - * However, in the interest of efficiency, rather than changing resultSize to match the operand size, it's easier - * to leave resultSize as-is and simply set CARRY and OVERFLOW based on the previous resultSize, since there isn't - * actually any requirement or dependency (that I can think of) that resultSize always reflect the operand size of - * the last operation. Since only 2 of the 6 arithmetic flags need to change, that tips the scales in favor of leaving - * resultSize alone. - * - * NOTE: Although I've yet to find confirmation of this for the 8086/8088, OVERFLOW is "undefined" on modern x86 - * CPUs for shift counts > 1 (in fact, on modern CPUs, OVERFLOW tends to be clear in those situations). Since I set - * OVERFLOW the same way for all shift counts, my "well-defined" behavior may or may not match the 8086/8088, but - * until I see a defined behavior (or more importantly, some dependency on a different behavior), this seems good enough. - * - * @this {X86CPU} - * @param {number} result (untruncated, so that we can inspect it for CARRY and OVERFLOW) - * @param {number} size - */ - opGrpRotateFlags: function(result, size) { - this.resultZeroCarry = (this.resultZeroCarry & (this.resultSize - 1)) | ((result & size)? this.resultSize : 0); - if ((result ^ (result >> 1)) & (size >> 1)) this.setOF(); else this.clearOF(); - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpROLb: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var temp; - var shift = src & 0x7; // this smaller mask obviates the need to mask with this.nShiftCountMask - if (!shift) { - temp = dst << 8; - } else { - result = (temp = (dst << shift) | (dst >> (8 - shift))) & 0xff; - } - X86Grps.opGrpRotateFlags.call(this, temp, X86.RESULT.SIZE_BYTE); - } - if (DEBUG && DEBUGGER) this.traceLog('ROLB', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpROLw: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var temp; - var shift = src & 0xf; // this smaller mask obviates the need to mask with this.nShiftCountMask - if (!shift) { - temp = dst << 16; - } else { - result = (temp = (dst << shift) | (dst >> (16 - shift))) & 0xffff; - } - X86Grps.opGrpRotateFlags.call(this, temp, X86.RESULT.SIZE_WORD); - } - if (DEBUG && DEBUGGER) this.traceLog('ROLW', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpRORb: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var temp; - var shift = src & 0x7; // this smaller mask obviates the need to mask with this.nShiftCountMask - result = temp = ((dst >> shift) | (dst << (8 - shift))) & 0xff; - if (temp & 0x80) temp |= X86.RESULT.SIZE_BYTE; - X86Grps.opGrpRotateFlags.call(this, temp, X86.RESULT.SIZE_BYTE); - } - if (DEBUG && DEBUGGER) this.traceLog('RORB', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpRORw: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var temp; - var shift = src & 0xf; // this smaller mask obviates the need to mask with this.nShiftCountMask - result = temp = ((dst >> shift) | (dst << (16 - shift))) & 0xffff; - if (temp & 0x8000) temp |= X86.RESULT.SIZE_WORD; - X86Grps.opGrpRotateFlags.call(this, temp, X86.RESULT.SIZE_WORD); - } - if (DEBUG && DEBUGGER) this.traceLog('RORW', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpRCLb: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var temp; - var shift = (src & this.nShiftCountMask) % 0x9; - if (!shift) { - temp = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 8); - } else { - temp = (dst << shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (shift - 1)) | (dst >> (9 - shift)); - result = temp & 0xff; - } - X86Grps.opGrpRotateFlags.call(this, temp, X86.RESULT.SIZE_BYTE); - } - if (DEBUG && DEBUGGER) this.traceLog('RCLB', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpRCLw: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var temp; - var shift = (src & this.nShiftCountMask) % 0x11; - if (!shift) { - temp = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - temp = (dst << shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (shift - 1)) | (dst >> (17 - shift)); - result = temp & 0xffff; - } - X86Grps.opGrpRotateFlags.call(this, temp, X86.RESULT.SIZE_WORD); - } - if (DEBUG && DEBUGGER) this.traceLog('RCLW', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpRCRb: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var shift = (src & this.nShiftCountMask) % 0x9; - result = (dst >> shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (8 - shift)) | (dst << (9 - shift)); - X86Grps.opGrpRotateFlags.call(this, result, X86.RESULT.SIZE_BYTE); - result &= 0xff; - } - if (DEBUG && DEBUGGER) this.traceLog('RCRB', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL) - * @return {number} - */ - opGrpRCRw: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - var shift = (src & this.nShiftCountMask) % 0x11; - result = (dst >> shift) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << (16 - shift)) | (dst << (17 - shift)); - X86Grps.opGrpRotateFlags.call(this, result, X86.RESULT.SIZE_WORD); - result &= 0xffff; - } - if (DEBUG && DEBUGGER) this.traceLog('RCRW', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * WARNING: Although we set all the arithmetic flags for shift instructions, including - * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is - * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" - * for shifts > 1. - * - * For example, when AL=09, SHL AL,1 may clear PS_AF on a real CPU, but in our case, - * it will be set. However, until I see documented 8086/8088 behaviors for PS_AF and PS_OF - * and/or code that depends on them, I'll continue setting PS_AF and PS_OF "normally". - * - * See also: AND, OR, TEST, and XOR (those instructions leave AUXCARRY "undefined" as well). - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) - * @return {number} - */ - opGrpSHLb: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - if (src > 8) // this comparison obviates the need to mask with this.nShiftCountMask - result = this.resultZeroCarry = this.resultParitySign = 0; - else - result = (this.resultZeroCarry = this.resultParitySign = (dst << src)) & 0xff; - this.resultAuxOverflow = 0; - this.resultSize = X86.RESULT.SIZE_BYTE; - } - if (DEBUG && DEBUGGER) this.traceLog('SHLB', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * WARNING: Although we set all the arithmetic flags for shift instructions, including - * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is - * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" - * for shifts > 1. See opGrpSHLb() for more details. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) - * @return {number} - */ - opGrpSHLw: function(dst, src) { - var result = dst; - var flagsIn = (DEBUG? this.getPS() : 0); - if (src) { - if (src > 16) // this comparison obviates the need to mask with this.nShiftCountMask - result = this.resultZeroCarry = this.resultParitySign = 0; - else - result = (this.resultZeroCarry = this.resultParitySign = (dst << src)) & 0xffff; - this.resultAuxOverflow = 0; - this.resultSize = X86.RESULT.SIZE_WORD; - } - if (DEBUG && DEBUGGER) this.traceLog('SHLW', dst, src, flagsIn, this.getPS(), result); - return result; - }, - /** - * WARNING: Although we set all the arithmetic flags for shift instructions, including - * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is - * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" - * for shifts > 1. See opGrpSHLb() for more details. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) - * @return {number} - */ - opGrpSHRb: function(dst, src) { - if (src) { // the following comparison obviates the need to mask with this.nShiftCountMask - var temp = (src > 8? 0 : (dst >> (src - 1))); - this.resultZeroCarry = this.resultParitySign = temp >> 1; - if (temp & 0x01) - this.resultZeroCarry |= X86.RESULT.SIZE_BYTE; - else - this.resultZeroCarry &= ~X86.RESULT.SIZE_BYTE; - this.resultAuxOverflow = dst ^ this.resultZeroCarry; - this.resultSize = X86.RESULT.SIZE_BYTE; - dst = this.resultZeroCarry; - } - return dst & 0xff; - }, - /** - * WARNING: Although we set all the arithmetic flags for shift instructions, including - * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is - * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" - * for shifts > 1. See opGrpSHLb() for more details. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) - * @return {number} - */ - opGrpSHRw: function(dst, src) { - if (src) { // the following comparison obviates the need to mask with this.nShiftCountMask - var temp = (src > 16? 0 : (dst >> (src - 1))); - this.resultZeroCarry = this.resultParitySign = temp >> 1; - if (temp & 0x01) - this.resultZeroCarry |= X86.RESULT.SIZE_WORD; - else - this.resultZeroCarry &= ~X86.RESULT.SIZE_WORD; - this.resultAuxOverflow = dst ^ this.resultZeroCarry; - this.resultSize = X86.RESULT.SIZE_WORD; - dst = this.resultZeroCarry; - } - return dst & 0xffff; - }, - /** - * WARNING: Although we set all the arithmetic flags for shift instructions, including - * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is - * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" - * for shifts > 1. See opGrpSHLb() for more details. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) - * @return {number} - */ - opGrpSARb: function(dst, src) { - if (src) { - if (src > 8) src = 9; // this comparison obviates the need to mask with this.nShiftCountMask - var temp = ((dst << 24) >> 24) >> (src - 1); - this.resultZeroCarry = this.resultParitySign = temp >> 1; - if (temp & 0x01) - this.resultZeroCarry |= X86.RESULT.SIZE_BYTE; - else - this.resultZeroCarry &= ~X86.RESULT.SIZE_BYTE; - this.resultAuxOverflow = dst ^ this.resultZeroCarry; - this.resultSize = X86.RESULT.SIZE_BYTE; - dst = this.resultZeroCarry; - } - return dst & 0xff; - }, - /** - * WARNING: Although we set all the arithmetic flags for shift instructions, including - * AUXCARRY (PS_AF), AUXCARRY isn't properly set on a real 8086/8088; its value is - * documented as "undefined." Similarly, OVERFLOW (PS_OF) is documented as "undefined" - * for shifts > 1. See opGrpSHLb() for more details. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (1 or CL, or an immediate byte for 80186/80188 and up) - * @return {number} - */ - opGrpSARw: function(dst, src) { - if (src) { - if (src > 16) src = 17; // this comparison obviates the need to mask with this.nShiftCountMask - var temp = ((dst << 16) >> 16) >> (src - 1); - this.resultZeroCarry = this.resultParitySign = temp >> 1; - if (temp & 0x01) - this.resultZeroCarry |= X86.RESULT.SIZE_WORD; - else - this.resultZeroCarry &= ~X86.RESULT.SIZE_WORD; - this.resultAuxOverflow = dst ^ this.resultZeroCarry; - this.resultSize = X86.RESULT.SIZE_WORD; - dst = this.resultZeroCarry; - } - return dst & 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null; we have to supply the source ourselves) - * @return {number} - */ - opGrpTEST8: function(dst, src) { - src = this.getIPByte(); - this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesTestRI : this.CYCLES.nOpCyclesTestMI); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null; we have to supply the source ourselves) - * @return {number} - */ - opGrpTEST16: function(dst, src) { - src = this.getIPWord(); - this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesTestRI : this.CYCLES.nOpCyclesTestMI); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpNOTb: function(dst, src) { - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); - return dst ^ 0xff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpNOTw: function(dst, src) { - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); - return dst ^ 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpNEGb: function(dst, src) { - src = 0; - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); - return (this.resultZeroCarry = this.resultParitySign = src - dst) & 0xff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpNEGw: function(dst, src) { - src = 0; - this.resultAuxOverflow = dst ^ src; - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesNegR : this.CYCLES.nOpCyclesNegM); - return (this.resultZeroCarry = this.resultParitySign = src - dst) & 0xffff; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually AX that's modified) - */ - opGrpMULb: function(dst, src) { - this.regEAX = this.regMD16 = (this.resultZeroCarry = (src = this.regEAX & 0xff) * dst) & 0xffff; - this.resultAuxOverflow = this.resultParitySign = this.resultZeroCarry; - this.resultSize = X86.RESULT.SIZE_BYTE; - /* - * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, - * but it somewhat defeats the purpose of the indirect result variables that we've set above. - */ - if (this.regEAX & 0xff00) { - this.setCF(); this.setOF(); - } else { - this.clearCF(); this.clearOF(); - } - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('MULB', src, dst, null, this.getPS(), this.regMD16); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesMulBR : this.CYCLES.nOpCyclesMulBM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * This 16-bit multiplication must indicate when the upper 8 bits are simply a sign-extension of the - * lower 8 bits (carry clear) and when the upper 8 bits contain significant bits (carry set). The latter - * will occur whenever a positive result is > 127 (0x007f) and whenever a negative result is < -128 - * (0xff80). - * - * Example 1: 16 * 4 = 64 (0x0040): carry is clear - * Example 2: 16 * 8 = 128 (0x0080): carry is set (the sign bit no longer fits in the lower 8 bits) - * Example 3: 16 * -8 (0xf8) = -128 (0xff80): carry is clear (the sign bit *still* fits in the lower 8 bits) - * Example 4: 16 * -16 (0xf0) = -256 (0xff00): carry is set (the sign bit no longer fits in the lower 8 bits) - * - * An earlier version of this function assumed it simply needed to check bit 7 of the result to determine carry, - * which was completely broken. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually AX that's modified) - */ - opGrpIMULb: function(dst, src) { - var result = (((src = this.regEAX) << 24) >> 24) * ((dst << 24) >> 24); - this.regEAX = this.regMD16 = result & 0xffff; - this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; - this.resultSize = X86.RESULT.SIZE_BYTE; - /* - * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, - * but it somewhat defeats the purpose of the indirect result variables that we've set above. - */ - if (result > 127 || result < -128) { - this.setCF(); this.setOF(); - } else { - this.clearCF(); this.clearOF(); - } - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('IMULB', src, dst, null, this.getPS(), this.regMD16); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIMulBR : this.CYCLES.nOpCyclesIMulBM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually AX that's modified) - */ - opGrpDIVb: function(dst, src) { - /* - * Detect zero divisor - */ - if (!dst) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - /* - * Detect small divisor (quotient overflow) - */ - var uQuotient = ((src = this.regEAX) / dst); - if (uQuotient > 0xff) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - this.regMD16 = this.regEAX = (uQuotient & 0xff) | (((this.regEAX % dst) & 0xff) << 8); - /* - * TODO: Verify that all of the arithmetic flags are "undefined" after DIV, and that this code unnecessary - */ - this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = uQuotient | X86.RESULT.SIZE_BYTE); - this.resultSize = X86.RESULT.SIZE_BYTE; - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('DIVB', src, dst, null, this.getPS(), this.regMD16); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesDivBR : this.CYCLES.nOpCyclesDivBM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually AX that's modified) - * - * TODO: Implement the following difference, from "AP-186: Introduction to the 80186 Microprocessor, March 1983": - * - * "The 8086 will cause a divide error whenever the absolute value of the quotient is greater then 7FFFH - * (for word operations) or if the absolute value of the quotient is greater than 7FH (for byte operations). - * The 80186 has expanded the range of negative numbers allowed as a quotient by 1 to include 8000H and 80H. - * These numbers represent the most negative numbers representable using 2's complement arithmetic (equaling - * -32768 and -128 in decimal, respectively)." - */ - opGrpIDIVb: function(dst, src) { - /* - * Detect zero divisor - */ - if (!dst) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - /* - * Detect small divisor (quotient overflow) - */ - var lQuotient = ((((src = this.regEAX) << 16) >> 16) / ((dst << 24) >> 24)); - if (lQuotient > ((lQuotient << 24) >> 24) & 0xffff) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - this.regMD16 = this.regEAX = (lQuotient & 0xff) | (((((this.regEAX << 16) >> 16) % ((dst << 24) >> 24)) & 0xff) << 8); - /* - * TODO: Verify that all of the arithmetic flags are "undefined" after IDIV, and that this code unnecessary - */ - this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = lQuotient | X86.RESULT.SIZE_BYTE); - this.resultSize = X86.RESULT.SIZE_BYTE; - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('IDIVB', src, dst, null, this.getPS(), this.regMD16); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIDivBR : this.CYCLES.nOpCyclesIDivBM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) - */ - opGrpMULw: function(dst, src) { - this.regMD16 = this.regEAX = (this.resultZeroCarry = (src = this.regEAX) * dst) & 0xffff; - this.regMD32 = this.regEDX = (this.resultZeroCarry >> 16) & 0xffff; - this.resultAuxOverflow = this.resultParitySign = this.resultZeroCarry; - this.resultSize = X86.RESULT.SIZE_WORD; - /* - * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, - * but it somewhat defeats the purpose of the indirect result variables that we've set above. - */ - if (this.regEDX) { - this.setCF(); this.setOF(); - } else { - this.clearCF(); this.clearOF(); - } - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('MULW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesMulWR : this.CYCLES.nOpCyclesMulWM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * This 32-bit multiplication must indicate when the upper 16 bits are simply a sign-extension of the - * lower 16 bits (carry clear) and when the upper 16 bits contain significant bits (carry set). The latter - * will occur whenever a positive result is > 32767 (0x00007fff) and whenever a negative result is < -32768 - * (0xffff8000). - * - * Example 1: 256 * 64 = 16384 (0x00004000): carry is clear - * Example 2: 256 * 128 = 32768 (0x00008000): carry is set (the sign bit no longer fits in the lower 16 bits) - * Example 3: 256 * -128 (0xff80) = -32768 (0xffff8000): carry is clear (the sign bit *still* fits in the lower 16 bits) - * Example 4: 256 * -256 (0xff00) = -65536 (0xffff0000): carry is set (the sign bit no longer fits in the lower 16 bits) - * - * An earlier version of this function assumed it simply needed to check bit 15 of the result to determine carry, - * which was completely broken. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) - */ - opGrpIMULw: function(dst, src) { - var result = (((src = this.regEAX) << 16) >> 16) * ((dst << 16) >> 16); - this.regEAX = this.regMD16 = result & 0xffff; - this.regEDX = this.regMD32 = (result >> 16) & 0xffff; - this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; - this.resultSize = X86.RESULT.SIZE_WORD; - /* - * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, - * but it somewhat defeats the purpose of the indirect result variables that we've set above. - */ - if (result > 32767 || result < -32768) { - this.setCF(); this.setOF(); - } else { - this.clearCF(); this.clearOF(); - } - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('IMULW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIMulWR : this.CYCLES.nOpCyclesIMulWM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) - */ - opGrpDIVw: function(dst, src) { - /* - * Detect zero divisor - */ - if (!dst) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - /* - * Detect small divisor (quotient overflow) - * - * WARNING: We CANNOT simply do "src = (this.regEDX << 16) | this.regEAX", because if bit 15 of DX - * is set, JavaScript will create a negative 32-bit number. So we instead use non-bit-wise operators - * to force JavaScript to create a floating-point value that won't suffer from 32-bit-math side-effects. - */ - src = this.regEAX + this.regEDX * X86.RESULT.SIZE_WORD; - var uQuotient = Math.floor(src / dst); - if (uQuotient >= X86.RESULT.SIZE_WORD) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - this.regMD16 = this.regEAX = (uQuotient & 0xffff); - this.regMD32 = this.regEDX = (src % dst) & 0xffff; - /* - * TODO: Verify that all of the arithmetic flags are "undefined" after DIV, and that this code unnecessary - */ - this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = uQuotient | X86.RESULT.SIZE_WORD); - this.resultSize = X86.RESULT.SIZE_WORD; - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('DIVW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesDivWR : this.CYCLES.nOpCyclesDivWM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) - * - * TODO: Implement the following difference, from "AP-186: Introduction to the 80186 Microprocessor, March 1983": - * - * "The 8086 will cause a divide error whenever the absolute value of the quotient is greater then 7FFFH - * (for word operations) or if the absolute value of the quotient is greater than 7FH (for byte operations). - * The 80186 has expanded the range of negative numbers allowed as a quotient by 1 to include 8000H and 80H. - * These numbers represent the most negative numbers representable using 2's complement arithmetic (equaling - * -32768 and -128 in decimal, respectively)." - */ - opGrpIDIVw: function(dst, src) { - /* - * Detect zero divisor - */ - if (!dst) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - /* - * Detect small divisor (quotient overflow) - */ - var lDivisor = ((dst << 16) >> 16); - src = (this.regEDX << 16) | this.regEAX; - var lQuotient = Math.floor(src / lDivisor); - if (lQuotient != ((lQuotient & 0xffff) << 16) >> 16) { - X86Help.opHelpDIVOverflow.call(this); - return dst; - } - this.regMD16 = this.regEAX = (lQuotient & 0xffff); - this.regMD32 = this.regEDX = (src % lDivisor) & 0xffff; - /* - * TODO: Verify that all of the arithmetic flags are "undefined" after IDIV, and that this code unnecessary - */ - this.resultParitySign = this.resultAuxOverflow = (this.resultZeroCarry = lQuotient | X86.RESULT.SIZE_WORD); - this.resultSize = X86.RESULT.SIZE_WORD; - /* - * Multiply/divide instructions specify only a single operand, which the decoders pass to us - * via the dst parameter, so we set src to the other implied operand (either AX or DX:AX). - * However, src is technically an output, and dst is merely an input (which is why we must return - * dst unchanged). So, to make traceLog() more consistent, we reverse the order of dst and src. - */ - if (DEBUG && DEBUGGER) this.traceLog('IDIVW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIDivWR : this.CYCLES.nOpCyclesIDivWM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpINCb: function(dst, src) { - this.resultAuxOverflow = dst; - dst = (this.resultParitySign = dst + 1) & 0xff; - this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 8); - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpDECb: function(dst, src) { - this.resultAuxOverflow = dst; - dst = (this.resultParitySign = dst - 1) & 0xff; - this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 8); - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpINCw: function(dst, src) { - this.resultAuxOverflow = dst; - dst = (this.resultParitySign = dst + 1) & 0xffff; - this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpDECw: function(dst, src) { - this.resultAuxOverflow = dst; - dst = (this.resultParitySign = dst - 1) & 0xffff; - this.resultZeroCarry = dst | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIncR : this.CYCLES.nOpCyclesIncM); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpCALLw: function(dst, src) { - this.pushWord(this.getIP()); - this.setIP(dst); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesCallWR : this.CYCLES.nOpCyclesCallWM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpCALLFdw: function(dst, src) { - if (this.regEA < 0) { - return X86Grps.opGrpUndefined.call(this, dst, src); - } - X86Help.opHelpCALLF.call(this, dst, this.getShort(this.regEA + 2)); - this.nStepCycles -= this.CYCLES.nOpCyclesCallDM; - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpJMPw: function(dst, src) { - this.setIP(dst); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesJmpWR : this.CYCLES.nOpCyclesJmpWM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpJMPFdw: function(dst, src) { - if (this.regEA < 0) { - return X86Grps.opGrpUndefined.call(this, dst, src); - } - this.setCSIP(dst, this.getShort(this.regEA + 2)); - if (this.cIntReturn) this.checkIntReturn(this.regLIP); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpDM; - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opGrpPUSHw: function(dst, src) { - var w = dst; - if (this.opFlags & X86.OPFLAG.PUSHSP) { - /* - * This is the one case where must actually modify dst, so that the ModRM function will - * not put a stale value back into the SP register. - */ - dst = (dst - 2) & 0xffff; - /* - * And on the 8086/8088, the value we just calculated also happens to be the value that must - * be pushed. - */ - if (this.model < X86.MODEL_80286) w = dst; - } - this.pushWord(w); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesPushReg : this.CYCLES.nOpCyclesPushMem); - /* - * The PUSH is the only write that needs to occur; dst was the source operand and does not need to be rewritten. - */ - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @return {number} - */ - opGrp2Count1: function() { - this.nStepCycles -= (this.regEA < 0? 2 : this.CYCLES.nOpCyclesShift1M); - return 1; - }, - /** - * @this {X86CPU} - * @return {number} - */ - opGrp2CountCL: function() { - var count = this.regECX & this.nShiftCountMask; - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesShiftCR : this.CYCLES.nOpCyclesShiftCM) + (count << this.CYCLES.nOpCyclesShiftCS); - return count; - }, - /** - * @this {X86CPU} - * @return {number} - */ - opGrp2CountImm: function() { - var count = this.getIPByte(); - this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesShiftCR : this.CYCLES.nOpCyclesShiftCM) + (count << this.CYCLES.nOpCyclesShiftCS); - return count; - }, - /** - * @this {X86CPU} - * @return {number|null} - */ - opGrpNoSrc: function() { - return null; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpFault: function(dst, src) { - X86Help.opHelpFault.call(this, X86.EXCEPTION.GP_FAULT, 0); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpInvalid: function(dst, src) { - X86Help.opHelpInvalid.call(this); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opGrpUndefined: function(dst, src) { - X86Help.opHelpUndefined.call(this); - return dst; - } -}; - -/* - * A word (or two) on instruction groups (eg, Grp1, Grp2), which are groups of instructions that - * use a mod/reg/rm byte, where the reg field of that byte selects a function rather than a register. - * - * I start with the groupings used by Intel's "Pentium Processor User's Manual (Volume 3: Architecture - * and Programming Manual)", but I deviate slightly, mostly by subdividing their groups with letter suffixes: - * - * Opcodes Intel PCjs PC Mag TechRef - * ------- ----- ---- -------------- - * 0x80-0x83 Grp1 Grp1b and Grp1w Group A - * 0xC0-0xC1 Grp2 Grp2b and Grp2w (opGrp2bi/wi) Group B - * 0xD0-0xD3 Grp2 Grp2b and Grp2w (opGrp2b1/w1 and opGrp2bCL/wCL) Group B - * 0xF6-0xF7 Grp3 Grp3b and Grp3w Group C - * 0xFE Grp4 Grp4b Group D - * 0xFF Grp5 Grp4w Group E - * 0x0F,0x00 Grp6 Grp6 (SLDT, STR, LLDT, LTR, VERR, VERW) Group F - * 0x0F,0x01 Grp7 Grp7 (SGDT, SIDT, LGDT, LIDT, SMSW, LMSW, INVLPG) Group G - * 0x0F,0xBA Grp8 Grp8 (BT, BTS, BTR, BTC) Group H - * 0x0F,0xC7 Grp9 Grp9 (CMPXCH) (N/A, 80386 and up) - * - * My only serious deviation is Grp5, which I refer to as Grp4w, because it contains word forms of - * the INC and DEC instructions found in Grp4b. Granted, Grp4w also contains versions of the CALL, - * JMP and PUSH instructions, which are not in Grp4b, but there's nothing in Grp4b that conflicts with - * Grp4w, so I think my nomenclature makes more sense. To compensate, I don't use Grp5, so that the - * remaining group numbers remain in sync with Intel's. - * - * To the above list, I also add these "groups of 1": opcode 0x8F uses GrpPOPw, and opcodes 0xC6/0xC7 use - * GrpMOVImm. In both of these groups, the only valid (documented) instruction is where reg=0x0. - * - * TODO: Test what happens on real hardware when the reg field is non-zero for opcodes 0x8F and 0xC6/0xC7. - */ -X86Grps.aOpGrp1b = [ - X86Grps.opGrpADDb, X86Grps.opGrpORb, X86Grps.opGrpADCb, X86Grps.opGrpSBBb, // 0x80/0x82(reg=0x0-0x3) - X86Grps.opGrpANDb, X86Grps.opGrpSUBb, X86Grps.opGrpXORb, X86Grps.opGrpCMPb // 0x80/0x82(reg=0x4-0x7) -]; - -X86Grps.aOpGrp1w = [ - X86Grps.opGrpADDw, X86Grps.opGrpORw, X86Grps.opGrpADCw, X86Grps.opGrpSBBw, // 0x81/0x83(reg=0x0-0x3) - X86Grps.opGrpANDw, X86Grps.opGrpSUBw, X86Grps.opGrpXORw, X86Grps.opGrpCMPw // 0x81/0x83(reg=0x4-0x7) -]; - -X86Grps.aOpGrpPOPw = [ - X86Grps.opGrpPOPw, X86Grps.opGrpFault, X86Grps.opGrpFault, X86Grps.opGrpFault, // 0x8F(reg=0x0-0x3) - X86Grps.opGrpFault, X86Grps.opGrpFault, X86Grps.opGrpFault, X86Grps.opGrpFault // 0x8F(reg=0x4-0x7) -]; - -X86Grps.aOpGrpMOVImm = [ - X86Grps.opGrpMOVImm, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined, // 0xC6/0xC7(reg=0x0-0x3) - X86Grps.opGrpUndefined, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined // 0xC6/0xC7(reg=0x4-0x7) -]; - -X86Grps.aOpGrp2b = [ - X86Grps.opGrpROLb, X86Grps.opGrpRORb, X86Grps.opGrpRCLb, X86Grps.opGrpRCRb, // 0xD0/0xD2(reg=0x0-0x3) - X86Grps.opGrpSHLb, X86Grps.opGrpSHRb, X86Grps.opGrpUndefined, X86Grps.opGrpSARb // 0xD0/0xD2(reg=0x4-0x7) -]; - -X86Grps.aOpGrp2w = [ - X86Grps.opGrpROLw, X86Grps.opGrpRORw, X86Grps.opGrpRCLw, X86Grps.opGrpRCRw, // 0xD1/0xD3(reg=0x0-0x3) - X86Grps.opGrpSHLw, X86Grps.opGrpSHRw, X86Grps.opGrpUndefined, X86Grps.opGrpSARw // 0xD1/0xD3(reg=0x4-0x7) -]; - -X86Grps.aOpGrp3b = [ - X86Grps.opGrpTEST8, X86Grps.opGrpUndefined, X86Grps.opGrpNOTb, X86Grps.opGrpNEGb, // 0xF6(reg=0x0-0x3) - X86Grps.opGrpMULb, X86Grps.opGrpIMULb, X86Grps.opGrpDIVb, X86Grps.opGrpIDIVb // 0xF6(reg=0x4-0x7) -]; - -X86Grps.aOpGrp3w = [ - X86Grps.opGrpTEST16, X86Grps.opGrpUndefined, X86Grps.opGrpNOTw, X86Grps.opGrpNEGw, // 0xF7(reg=0x0-0x3) - X86Grps.opGrpMULw, X86Grps.opGrpIMULw, X86Grps.opGrpDIVw, X86Grps.opGrpIDIVw // 0xF7(reg=0x4-0x7) -]; - -X86Grps.aOpGrp4b = [ - X86Grps.opGrpINCb, X86Grps.opGrpDECb, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined, // 0xFE(reg=0x0-0x3) - X86Grps.opGrpUndefined, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined // 0xFE(reg=0x4-0x7) -]; - -X86Grps.aOpGrp4w = [ - X86Grps.opGrpINCw, X86Grps.opGrpDECw, X86Grps.opGrpCALLw, X86Grps.opGrpCALLFdw, // 0xFF(reg=0x0-0x3) - X86Grps.opGrpJMPw, X86Grps.opGrpJMPFdw, X86Grps.opGrpPUSHw, X86Grps.opGrpFault // 0xFF(reg=0x4-0x7) -]; - -if (typeof module !== 'undefined') module.exports = X86Grps; diff --git a/modules/pcjs/lib/x86help.js b/modules/pcjs/lib/x86help.js deleted file mode 100644 index 907fc31ac..000000000 --- a/modules/pcjs/lib/x86help.js +++ /dev/null @@ -1,789 +0,0 @@ -/** - * @fileoverview Implements PCjs 8086 opcode helpers. - * @author Jeff Parsons - * @version 1.0 - * Created 2012-Sep-05 - * - * Copyright © 2012-2015 Jeff Parsons - * - * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) - * at and . - * - * PCjs is free software: you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation, either version 3 - * of the License, or (at your option) any later version. - * - * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with PCjs. If not, - * see . - * - * You are required to include the above copyright notice in every source code file of every - * copy or modified version of this work, and to display that copyright notice on every screen - * that loads or runs any version of this software (see Computer.sCopyright). - * - * Some PCjs files also attempt to load external resource files, such as character-image files, - * ROM files, and disk image files. Those external resource files are not considered part of the - * PCjs program for purposes of the GNU General Public License, and the author does not claim - * any copyright as to their contents. - */ - -"use strict"; - -if (typeof module !== 'undefined') { - var X86 = require("./x86"); - var Messages = require("./messages"); -} - -var X86Help = { - /** - * @this {X86CPU} - * @param {number} dst (current value, ignored) - * @param {number} src (new value) - * @return {number} dst (updated value, from src) - */ - opHelpMOV: function(dst, src) { - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesMovRR : this.CYCLES.nOpCyclesMovRM) : this.CYCLES.nOpCyclesMovMR); - return src; - }, - /** - * @this {X86CPU} - * @param {number} dst (current value, ignored) - * @param {number} src (new value) - * @return {number} dst (src is overridden, replaced with regMD16, as specified by opMOVwsr()) - */ - opHelpMOVMD16: function(dst, src) { - return X86Help.opHelpMOV.call(this, dst, this.regMD16); - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpTESTb: function(dst, src) { - this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesTestRR : this.CYCLES.nOpCyclesTestRM) : this.CYCLES.nOpCyclesTestRM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpTESTw: function(dst, src) { - this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = dst & src; - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesTestRR : this.CYCLES.nOpCyclesTestRM) : this.CYCLES.nOpCyclesTestRM); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - * - * 80286_and_80287_Programmers_Reference_Manual_1987.pdf, p.B-44 (p.254) notes that: - * - * "The low 16 bits of the product of a 16-bit signed multiply are the same as those of an - * unsigned multiply. The three operand IMUL instruction can be used for unsigned operands as well." - * - * However, we still sign-extend the operands before multiplying, making it easier to range-check the result. - * - * (80186/80188 and up) - */ - opHelpIMUL8: function(dst, src) { - var result = ((src << 16) >> 16) * ((this.getIPByte() << 24) >> 24); - this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; - this.resultSize = X86.RESULT.SIZE_BYTE; - /* - * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, - * but it somewhat defeats the purpose of the indirect result variables that we've set above. - */ - if (result > 32767 || result < -32768) { - this.setCF(); this.setOF(); - } else { - this.clearCF(); this.clearOF(); - } - result &= 0xffff; - if (DEBUG && DEBUGGER) this.traceLog('IMUL8', dst, src, null, this.getPS(), result); - /* - * NOTE: These are the cycle counts for the 80286; the 80186/80188 have slightly different values (ranges): - * 22-25 and 29-32 instead of 21 and 24, respectively. However, accurate cycle counts for the 80186/80188 is - * not super-critical. TODO: Fix this someday. - */ - this.nStepCycles -= (this.regEA < 0? 21 : 24); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - * - * 80286_and_80287_Programmers_Reference_Manual_1987.pdf, p.B-44 (p.254) notes that: - * - * "The low 16 bits of the product of a 16-bit signed multiply are the same as those of an - * unsigned multiply. The three operand IMUL instruction can be used for unsigned operands as well." - * - * However, we still sign-extend the operands before multiplying, making it easier to range-check the result. - * - * (80186/80188 and up) - */ - opHelpIMUL16: function(dst, src) { - var result = ((src << 16) >> 16) * ((this.getIPWord() << 16) >> 16); - this.resultZeroCarry = this.resultAuxOverflow = this.resultParitySign = result; - this.resultSize = X86.RESULT.SIZE_WORD; - /* - * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, - * but it somewhat defeats the purpose of the indirect result variables that we've set above. - */ - if (result > 32767 || result < -32768) { - this.setCF(); this.setOF(); - } else { - this.clearCF(); this.clearOF(); - } - result &= 0xffff; - if (DEBUG && DEBUGGER) this.traceLog('IMUL16', dst, src, null, this.getPS(), result); - /* - * NOTE: These are the cycle counts for the 80286; the 80186/80188 have slightly different values (ranges): - * 22-25 and 29-32 instead of 21 and 24, respectively. However, accurate cycle counts for the 80186/80188 is - * not super-critical. TODO: Fix this someday. - */ - this.nStepCycles -= (this.regEA < 0? 21 : 24); - return result; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} dst unchanged - */ - opHelpESC: function(dst, src) { - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpLEA: function(dst, src) { - if (this.regEA < 0) { - /* - * TODO: After reading http://www.os2museum.com/wp/undocumented-8086-opcodes/, it seems that this - * form of LEA (eg, "LEA AX,DX") simply returns the last calculated EA. Since we always reset regEA - * at the start of a new instruction, we would need to preserve the previous EA if we want to mimic - * that (undocumented) behavior. - * - * And for completeness, we would have to extend EA tracking beyond the usual ModRM instructions - * (eg, XLAT, instructions that modify the stack pointer, and string instructions). Anything else? - */ - X86Help.opHelpUndefined.call(this); - return dst; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLEA; - return this.regEA; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpLDS: function(dst, src) { - if (this.regEA < 0) { - X86Help.opHelpUndefined.call(this); - return dst; - } - this.setDS(this.getShort(this.regEA + 2)); - this.nStepCycles -= this.CYCLES.nOpCyclesLS; - return src; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpLES: function(dst, src) { - if (this.regEA < 0) { - X86Help.opHelpUndefined.call(this); - return dst; - } - this.setES(this.getShort(this.regEA + 2)); - this.nStepCycles -= this.CYCLES.nOpCyclesLS; - return src; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpBOUND: function(dst, src) { - if (this.regEA < 0) { - /* - * Generate UD_FAULT (INT 0x06: Invalid Opcode) if src is not a memory operand. - */ - X86Help.opHelpInvalid.call(this); - return dst; - } - /* - * Note that BOUND performs signed comparisons, so we must transform all arguments into signed values. - */ - var wIndex = (dst << 16) >> 16; - var wLower = (this.getShort(this.regEA) << 16) >> 16; - var wUpper = (this.getShort(this.regEA + 2) << 16) >> 16; - this.nStepCycles -= this.CYCLES.nOpCyclesBound; - if (wIndex < wLower || wIndex > wUpper) { - /* - * The INT 0x05 handler must be called with CS:IP pointing to the BOUND instruction. - * - * TODO: Determine the cycle cost when a BOUND exception is triggered, over and above nOpCyclesBound. - */ - this.setIP(this.opLIP - this.segCS.base); - X86Help.opHelpINT.call(this, X86.EXCEPTION.BOUND_ERR, null, 0); - } - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpARPL: function(dst, src) { - this.nStepCycles -= (10 + (this.regEA < 0? 0 : 1)); - if ((dst & X86.SEL.RPL) < (src & X86.SEL.RPL)) { - dst = (dst & ~X86.SEL.RPL) | (src & X86.SEL.RPL); - this.setZF(); - return dst; - } - this.clearZF(); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpLAR: function(dst, src) { - this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); - /* - * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the - * descriptor table or the descriptor is not for a segment. - * - * TODO: This instruction's 80286 documentation does not discuss conforming code segments; determine - * if we need a special check for them. - */ - if (this.segVER.load(src, true) != X86.ADDR_INVALID) { - if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (src & X86.SEL.RPL)) { - this.setZF(); - return this.segVER.acc & X86.DESC.ACC.MASK; - } - } - this.clearZF(); - return dst; - }, - /** - * @this {X86CPU} - * @param {number} dst - * @param {number} src (the selector) - * @return {number} - */ - opHelpLSL: function(dst, src) { - /* - * TODO: Is this an invalid operation if regEAWrite is set? dst is required to be a register. - */ - this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); - /* - * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the - * descriptor table or the descriptor is not for a segment. - * - * TODO: LSL is explicitly documented as ALSO requiring a non-null selector, so we check X86.SEL.MASK; - * are there any other instructions that were, um, less explicit but also require a non-null selector? - */ - if ((src & X86.SEL.MASK) && this.segVER.load(src, true) != X86.ADDR_INVALID) { - var fConforming = ((this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) == X86.DESC.ACC.TYPE.CODE_CONFORMING); - if ((fConforming || this.segVER.dpl >= this.segCS.cpl) && this.segVER.dpl >= (src & X86.SEL.RPL)) { - this.setZF(); - return this.segVER.limit; - } - } - this.clearZF(); - return dst; - }, - /** - * opHelpXCHGrb(dst, src) - * - * If an instruction like "XCHG AL,AH" was a traditional "op dst,src" instruction, dst would contain AL, - * src would contain AH, and we would return src, which the caller would then store in AL, and we'd be done. - * - * However, that's only half of what XCHG does, so THIS function must perform the other half; in the previous - * example, that entails storing AL (dst) into AH (src). - * - * BACKTRACK support is incomplete without also passing bti values as parameters, because the caller will - * store btiAH in btiAL, but the original btiAL will be lost. Similarly, if src is a memory operand, the - * caller will store btiEALo in btiAL, but again, the original btiAL will be lost. - * - * BACKTRACK support for memory operands could be fixed by decoding the dst register in order to determine the - * corresponding bti and then temporarily storing it in btiEALo around the setEAByte() call below. Register-only - * XCHGs would require a more extensive hack. For now, I'm going to live with one-way BACKTRACK support here. - * - * TODO: Implement full BACKTRACK support for XCHG instructions. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpXCHGrb: function(dst, src) { - if (this.regEA < 0) { - /* - * Decode which register was src - */ - switch (this.bModRM & 0x7) { - case 0x0: // AL - this.regEAX = (this.regEAX & ~0xff) | dst; - break; - case 0x1: // CL - this.regECX = (this.regECX & ~0xff) | dst; - break; - case 0x2: // DL - this.regEDX = (this.regEDX & ~0xff) | dst; - break; - case 0x3: // BL - this.regEBX = (this.regEBX & ~0xff) | dst; - break; - case 0x4: // AH - this.regEAX = (this.regEAX & 0xff) | (dst << 8); - break; - case 0x5: // CH - this.regECX = (this.regECX & 0xff) | (dst << 8); - break; - case 0x6: // DH - this.regEDX = (this.regEDX & 0xff) | (dst << 8); - break; - case 0x7: // BH - this.regEBX = (this.regEBX & 0xff) | (dst << 8); - break; - default: - break; // there IS no other case, but JavaScript inspections don't know that - } - this.nStepCycles -= this.CYCLES.nOpCyclesXchgRR; - } else { - /* - * This is a case where the ModRM decoder that's calling us didn't know it should have called modEAByte() - * instead of getEAByte(), so we compensate by updating regEAWrite. However, setEAByte() has since been - * changed to revalidate the write using segEA:offEA, so updating regEAWrite here isn't strictly necessary. - */ - this.regEAWrite = this.regEA; - this.setEAByte(dst); - this.nStepCycles -= this.CYCLES.nOpCyclesXchgRM; - } - return src; - }, - /** - * opHelpXCHGrw(dst, src) - * - * If an instruction like "XCHG AX,DX" was a traditional "op dst,src" instruction, dst would contain AX, - * src would contain DX, and we would return src, which the caller would then store in AX, and we'd be done. - * - * However, that's only half of what XCHG does, so THIS function must perform the other half; in the previous - * example, that entails storing AX (dst) into DX (src). - * - * TODO: Implement full BACKTRACK support for XCHG instructions (see opHelpXCHGrb comments). - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src - * @return {number} - */ - opHelpXCHGrw: function(dst, src) { - if (this.regEA < 0) { - /* - * Decode which register was src - */ - switch (this.bModRM & 0x7) { - case 0x0: // AX - this.regEAX = dst; - break; - case 0x1: // CX - this.regECX = dst; - break; - case 0x2: // DX - this.regEDX = dst; - break; - case 0x3: // BX - this.regEBX = dst; - break; - case 0x4: // SP - this.setSP(dst); - break; - case 0x5: // BP - this.regEBP = dst; - break; - case 0x6: // SI - this.regESI = dst; - break; - case 0x7: // DI - this.regEDI = dst; - break; - default: - break; // there IS no other case, but JavaScript inspections don't know that - } - this.nStepCycles -= this.CYCLES.nOpCyclesXchgRR; - } else { - /* - * This is a case where the ModRM decoder that's calling us didn't know it should have called modEAWord() - * instead of getEAWord(), so we compensate by updating regEAWrite. However, setEAWord() has since been - * changed to revalidate the write using segEA:offEA, so updating regEAWrite here isn't strictly necessary. - */ - this.regEAWrite = this.regEA; - this.setEAWord(dst); - this.nStepCycles -= this.CYCLES.nOpCyclesXchgRM; - } - return src; - }, - /** - * opHelpLMSW(w) - * - * Factored out of x86op0f.js, since both opLMSW and opLOADALL are capable of loading a new MSW. - * The caller is responsible for assessing the appropriate cycle cost. - * - * @this {X86CPU} - * @param {number} w - */ - opHelpLMSW: function(w) { - /* - * This instruction is always allowed to set MSW.PE, but it cannot clear MSW.PE once set; - * therefore, we always OR the previous value of MSW.PE into the new value before loading. - */ - w |= (this.regCR0 & X86.CR0.MSW.PE) | X86.CR0.MSW.ON; - this.regCR0 = (this.regCR0 & ~X86.CR0.MSW.MASK) | (w & X86.CR0.MSW.MASK); - /* - * Since the 80286 cannot return to real-mode via this instruction, the only transition we - * must worry about is to protected-mode. And don't worry, there's no harm calling setProtMode() - * if the CPU is already in protected-mode (we could certainly optimize the call out in that - * case, but this instruction isn't used frequently enough to warrant it). - */ - if (this.regCR0 & X86.CR0.MSW.PE) this.setProtMode(true); - }, - /** - * opHelpLCR0(l) - * - * This called on behalf of 80386 opcodes only (ie, MOV CR0,reg). - * - * TODO: Determine which CR0 bits, if any, cannot be modified by MOV CR0,reg. - * - * @this {X86CPU} - * @param {number} l - */ - opHelpLCR0: function(l) { - this.regCR0 = l; - this.setProtMode(!!(this.regCR0 & X86.CR0.MSW.PE)); - }, - /** - * opHelpCALLF(off, sel) - * - * For protected-mode, this function must attempt to load the new code segment first, because if the new segment - * requires a change in privilege level, the return address must be pushed on the NEW stack, not the current stack. - * - * @this {X86CPU} - * @param {number} off - * @param {number} sel - */ - opHelpCALLF: function(off, sel) { - var regCS = this.getCS(); - var regEIP = this.getIP(); - if (this.setCSIP(off, sel, true) != null) { - this.pushWord(regCS); - this.pushWord(regEIP); - } - }, - /** - * opHelpRETF(n) - * - * For protected-mode, this function must be prepared to pop any arguments off the current stack AND - * whatever stack we may have switched to (setCSIP() returns true only when a stack switch has occurred). - * - * @this {X86CPU} - * @param {number} n - */ - opHelpRETF: function(n) { - var regEIP = this.popWord(); - var regCS = this.popWord(); - n <<= (this.dataSize >> 2); - if (n) this.setSP(this.getSP() + n); // TODO: optimize - if (this.setCSIP(regEIP, regCS, false)) { - if (n) this.setSP(this.getSP() + n); // TODO: optimize - /* - * As per Intel documentation: "If any of [the DS or ES] registers refer to segments whose DPL is - * less than the new CPL (excluding conforming code segments), the segment register is loaded with - * the null selector." - * - * TODO: I'm not clear on whether a conforming code segment must also be marked readable, so I'm playing - * it safe and using CODE_CONFORMING instead of CODE_CONFORMING_READABLE. Also, for the record, I've not - * seen this situation occur in OS/2 1.0 yet. - */ - if ((this.segDS.sel & X86.SEL.MASK) && this.segDS.dpl < this.segCS.cpl && (this.segDS.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) != X86.DESC.ACC.TYPE.CODE_CONFORMING) { - this.assert(false); // I'm not asserting this is bad, I just want to see it in action - this.segDS.load(0); - } - if ((this.segES.sel & X86.SEL.MASK) && this.segES.dpl < this.segCS.cpl && (this.segES.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) != X86.DESC.ACC.TYPE.CODE_CONFORMING) { - this.assert(false); // I'm not asserting this is bad, I just want to see it in action - this.segES.load(0); - } - } - if (n == 2 && this.cIntReturn) this.checkIntReturn(this.regLIP); - }, - /** - * opHelpINT(nIDT, nError, nCycles) - * - * NOTE: We no longer use setCSIP(), because it always loads the new CS using segCS.load(), which - * only knows how to load GDT and LDT descriptors, whereas interrupts must use setCS.loadIDT(), which - * deals exclusively with IDT descriptors. - * - * This means we must take care to replicate critical features of setCSIP(); eg, setting segCS.fCall before - * calling loadIDT(), updating LIP, and flushing the prefetch queue. - * - * @this {X86CPU} - * @param {number} nIDT - * @param {number|null|undefined} nError - * @param {number} nCycles (in addition to the default of nOpCyclesInt) - */ - opHelpINT: function(nIDT, nError, nCycles) { - /* - * TODO: We assess the cycle cost up front, because otherwise, if loadIDT() fails, no cost may be assessed. - */ - this.nStepCycles -= this.CYCLES.nOpCyclesInt + nCycles; - this.segCS.fCall = true; - var regPS = this.getPS(); - var regCS = this.getCS(); - var regEIP = this.getIP(); - var addr = this.segCS.loadIDT(nIDT); - if (addr != X86.ADDR_INVALID) { - this.regLIP = addr; - if (PREFETCH) this.flushPrefetch(this.regLIP); - this.pushWord(regPS); - this.pushWord(regCS); - this.pushWord(regEIP); - if (nError != null) this.pushWord(nError); - this.nFault = -1; - } - }, - /** - * opHelpIRET() - * - * @this {X86CPU} - */ - opHelpIRET: function() { - /* - * TODO: We assess a fixed cycle cost up front, because at the moment, switchTSS() doesn't assess anything. - */ - this.nStepCycles -= this.CYCLES.nOpCyclesIRet; - if (this.regCR0 & X86.CR0.MSW.PE) { - if (this.regPS & X86.PS.NT) { - var addrNew = this.segTSS.base; - var sel = this.getShort(addrNew + X86.TSS.PREV_TSS); - X86Seg.switchTSS.call(this.segCS, sel, false); - return; - } - } - var cpl = this.segCS.cpl; - var regEIP = this.popWord(); - var regCS = this.popWord(); - var regPS = this.popWord(); - if (this.setCSIP(regEIP, regCS, false) != null) { - this.setPS(regPS, cpl); - if (this.cIntReturn) this.checkIntReturn(this.regLIP); - } - }, - /** - * opHelpDIVOverflow() - * - * @this {X86CPU} - */ - opHelpDIVOverflow: function() { - this.setIP(this.opLIP - this.segCS.base); - /* - * TODO: Determine the proper cycle cost. - */ - X86Help.opHelpINT.call(this, X86.EXCEPTION.DIV_ERR, null, 2); - }, - /** - * opHelpFault(nFault, nError, fHalt) - * - * Helper to dispatch faults. - * - * @this {X86CPU} - * @param {number} nFault - * @param {number} [nError] - * @param {boolean} [fHalt] will halt the CPU if true *and* a Debugger is loaded - */ - opHelpFault: function(nFault, nError, fHalt) - { - if (!this.aFlags.fComplete) { - this.printMessage("Fault " + str.toHexByte(nFault) + " blocked by Debugger", Messages.WARN); - this.setIP(this.opLIP - this.segCS.base); - return; - } - - var fDispatch = false; - if (this.model >= X86.MODEL_80186) { - if (this.nFault < 0) { - /* - * Single-fault (error code is passed through, and the responsible instruction is restartable) - */ - this.setIP(this.opLIP - this.segCS.base); - fDispatch = true; - } else if (this.nFault != X86.EXCEPTION.DF_FAULT) { - /* - * Double-fault (error code is always zero, and the responsible instruction is not restartable) - */ - nError = 0; - nFault = X86.EXCEPTION.DF_FAULT; - fDispatch = true; - } else { - /* - * Triple-fault (usually referred to in Intel literature as a "shutdown", but at least on the 80286, - * it's actually a "reset") - */ - X86Help.opHelpFaultMessage.call(this, -1, 0, fHalt); - this.resetRegs(); - return; - } - } - - if (X86Help.opHelpFaultMessage.call(this, nFault, nError, fHalt)) { - fDispatch = false; - } - - if (fDispatch) X86Help.opHelpINT.call(this, this.nFault = nFault, nError, 0); - - /* - * Since this fault is likely being issued in the context of an instruction that hasn't finished - * executing, and since we currently don't do anything to interrupt that execution (eg, throw a - * JavaScript exception), we should shut off all further reads/writes for the current instruction. - * - * That's easy for any EA-based memory accesses: simply set both the NOREAD and NOWRITE flags. - * However, there are also direct, non-EA-based memory accesses to consider. A perfect example is - * opPUSHA(): if a GP fault occurs on any PUSH other than the last, a subsequent PUSH is likely to - * cause another fault, which we will misinterpret as a double-fault. - * - * TODO: Throw a special JavaScript exception that cpu.js must intercept and quietly ignore. - */ - this.opFlags &= ~(X86.OPFLAG.NOREAD | X86.OPFLAG.NOWRITE); - }, - /** - * opHelpFaultMessage() - * - * Aside from giving the Debugger an opportunity to report every fault, this also gives us the ability to - * halt exception processing in tracks: return true to prevent the fault handler from being dispatched. - * - * At the moment, the only Debugger control you have over fault interception is setting MESSAGE.FAULT, which - * will display faults as they occur, and MESSAGE.HALT, which will halt after any Debugger message, including - * MESSAGE.FAULT. If you want execution to continue after halting, clear MESSAGE.FAULT and/or MESSAGE.HALT, - * or single-step over the offending instruction, which will allow the fault to be dispatched. - * - * @this {X86CPU} - * @param {number} nFault - * @param {number} [nError] - * @param {boolean} [fHalt] true if the CPU should always be halted, false if "it depends" - * @return {boolean|undefined} true to block the fault (often desirable when fHalt is true), otherwise dispatch it - */ - opHelpFaultMessage: function(nFault, nError, fHalt) - { - var bitsMessage = Messages.FAULT; - var bOpcode = this.bus.getByteDirect(this.regLIP); - - /* - * OS/2 1.0 uses an INT3 (0xCC) opcode in conjunction with an invalid IDT to trigger a triple-fault - * reset and return to real-mode, and these resets happen quite frequently during boot; for example, - * OS/2 startup messages are displayed using a series of INT 0x10 BIOS calls for each character, and - * each series of BIOS calls requires a round-trip mode switch. - * - * Since we really only want to halt on "bad" faults, not "good" (ie, intentional) faults, we take - * advantage of the fact that all 3 faults comprising the triple-fault point to an INT3 (0xCC) opcode, - * and so whenever we see that opcode, we ignore the caller's fHalt flag, and suppress FAULT messages - * unless CPU messages are also enabled. - * - * When a triple fault shows up, nFault is -1; it displays as "ff" because we display nFault as a byte. - */ - if (bOpcode == X86.OPCODE.INT3) { - fHalt = false; - bitsMessage |= Messages.CPU; - } - - /* - * Similarly, the PC AT ROM BIOS deliberately generates a couple of GP faults as part of the POST - * (Power-On Self Test); we don't want to ignore those, but we don't want to halt on them either. We - * detect those faults by virtue of the LIP being in the range %0F0000 to %0FFFFF. - */ - if (this.regLIP >= 0x0F0000 && this.regLIP <= 0x0FFFFF) { - fHalt = false; - } - - /* - * However, the foregoing notwithstanding, if MESSAGE.HALT is enabled along with all the other required - * MESSAGE bits, then we want to halt regardless. - */ - if (this.messageEnabled(bitsMessage | Messages.HALT)) { - fHalt = true; - } - - if (this.messageEnabled(bitsMessage) || fHalt) { - var sMessage = (fHalt? '\n' : '') + "Fault " + str.toHexByte(nFault) + (nError != null? " (" + str.toHexWord(nError) + ")" : "") + " on opcode 0x" + str.toHexByte(bOpcode) + " at " + this.dbg.hexOffset(this.getIP(), this.getCS()) + " (%" + str.toHex(this.regLIP, 6) + ")"; - var fRunning = this.aFlags.fRunning; - if (this.printMessage(sMessage, bitsMessage)) { - if (fHalt) { - /* - * By setting fHalt to fRunning (which is true while running but false while single-stepping), - * this allows a fault to be dispatched when you single-step over a faulting instruction; you can - * then continue single-stepping into the fault handler, or start running again. - * - * Note that we had to capture fRunning before calling printMessage(), because if MESSAGE.HALT - * is set, printMessage() will have already halted the CPU. - */ - fHalt = fRunning; - this.dbg.stopCPU(); - } - } else { - /* - * If printMessage() returned false, then messageEnabled() must have returned false as well, which - * means that fHalt must be true. Which means we should shut the machine down. - */ - this.assert(fHalt); - this.notice(sMessage); - this.stopCPU(); - } - } - return fHalt; - }, - /** - * @this {X86CPU} - */ - opHelpInvalid: function() { - X86Help.opHelpFault.call(this, X86.EXCEPTION.UD_FAULT); - this.stopCPU(); - }, - /** - * @this {X86CPU} - */ - opHelpUndefined: function() { - this.setIP(this.opLIP - this.segCS.base); - this.setError("Undefined opcode 0x" + str.toHexByte(this.bus.getByteDirect(this.regLIP)) + " at 0x" + str.toHex(this.regLIP)); - this.stopCPU(); - } -}; - -if (typeof module !== 'undefined') module.exports = X86Help; diff --git a/modules/pcjs/lib/x86op0f.js b/modules/pcjs/lib/x86op0f.js index 58a9aaad9..91d52fb97 100644 --- a/modules/pcjs/lib/x86op0f.js +++ b/modules/pcjs/lib/x86op0f.js @@ -34,648 +34,352 @@ if (typeof module !== 'undefined') { var X86 = require("./x86"); - var X86Grps = require("./x86grps"); - var X86Help = require("./x86help"); } -var X86Op0F = { - /** - * op=0x0F,0x00 (GRP6 rm) - * - * @this {X86CPU} - */ - opGrp6: function() { - var bModRM = this.getIPByte(); - if ((bModRM & 0x38) < 0x10) { // possible reg values: 0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38 - this.opFlags |= X86.OPFLAG.NOREAD; - } - this.aOpModGrpWord[bModRM].call(this, this.aOpGrp6, X86Grps.opGrpNoSrc); - }, - /** - * op=0x0F,0x01 (GRP7 rm) - * - * @this {X86CPU} - */ - opGrp7: function() { - var bModRM = this.getIPByte(); - if (!(bModRM & 0x10)) { - this.opFlags |= X86.OPFLAG.NOREAD; - } - this.aOpModGrpWord[bModRM].call(this, X86Op0F.aOpGrp7, X86Grps.opGrpNoSrc); - }, - /** - * opLAR() - * - * op=0x0F,0x02 (LAR reg,rm) - * - * @this {X86CPU} - */ - opLAR: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLAR); - }, - /** - * opLSL() - * - * op=0x0F,0x03 (LSL reg,rm) - * - * @this {X86CPU} - */ - opLSL: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLSL); - }, - /** - * opLOADALL() - * - * op=0x0F,0x05 (LOADALL) - * - * From the "Undocumented iAPX 286 Test Instruction" document at http://www.pcjs.org/pubs/pc/reference/intel/80286/loadall/: - * - * Physical Address (Hex) Associated CPU Register - * 800-805 None - * 806-807 MSW - * 808-815 None - * 816-817 TR - * 818-819 Flag word - * 81A-81B IP - * 81C-81D LDT - * 81E-81F DS - * 820-821 SS - * 822-823 CS - * 824-825 ES - * 826-827 DI - * 828-829 SI - * 82A-82B BP - * 82C-82D SP - * 82E-82F BX - * 830-831 DX - * 832-833 CX - * 834-835 AX - * 836-83B ES descriptor cache - * 83C-841 CS descriptor cache - * 842-847 SS descriptor cache - * 848-84D DS descriptor cache - * 84E-853 GDTR - * 854-859 LDT descriptor cache - * 85A-85F IDTR - * 860-865 TSS descriptor cache - * - * Oddly, the above document gives two contradictory cycle counts for LOADALL: 190 and 195. I'll go with 195, for - * no particular reason. - * - * @this {X86CPU} - */ - opLOADALL: function() { - if (this.segCS.cpl) { - /* - * You're not allowed to use LOADALL if the current privilege level is something other than zero - */ - X86Help.opHelpFault.call(this, X86.EXCEPTION.GP_FAULT, 0, true); - return; - } - X86Help.opHelpLMSW.call(this, this.getShort(0x806)); - this.regEDI = this.getShort(0x826); - this.regESI = this.getShort(0x828); - this.regEBP = this.getShort(0x82A); - this.regEBX = this.getShort(0x82E); - this.regEDX = this.getShort(0x830); - this.regECX = this.getShort(0x832); - this.regEAX = this.getShort(0x834); - this.segES.loadDesc6(0x836, this.getShort(0x824)); - this.segCS.loadDesc6(0x83C, this.getShort(0x822)); - this.segSS.loadDesc6(0x842, this.getShort(0x820)); - this.segDS.loadDesc6(0x848, this.getShort(0x81E)); - this.setPS(this.getShort(0x818)); +/** + * op=0x0F,0x00 (GRP6 rm) + * + * @this {X86CPU} + */ +X86.opGrp6 = function GRP6() +{ + var bModRM = this.getIPByte(); + if ((bModRM & 0x38) < 0x10) { // possible reg values: 0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38 + this.opFlags |= X86.OPFLAG.NOREAD; + } + this.aOpModGrpWord[bModRM].call(this, this.aOpGrp6, X86.fnGRPSrcNone); +}; + +/** + * op=0x0F,0x01 (GRP7 rm) + * + * @this {X86CPU} + */ +X86.opGrp7 = function GRP7() +{ + var bModRM = this.getIPByte(); + if (!(bModRM & 0x10)) { + this.opFlags |= X86.OPFLAG.NOREAD; + } + this.aOpModGrpWord[bModRM].call(this, X86.aOpGrp7, X86.fnGRPSrcNone); +}; + +/** + * opLAR() + * + * op=0x0F,0x02 (LAR reg,rm) + * + * @this {X86CPU} + */ +X86.opLAR = function LAR() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnLAR); +}; + +/** + * opLSL() + * + * op=0x0F,0x03 (LSL reg,rm) + * + * @this {X86CPU} + */ +X86.opLSL = function LSL() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnLSL); +}; + +/** + * opLOADALL() + * + * op=0x0F,0x05 (LOADALL) + * + * From the "Undocumented iAPX 286 Test Instruction" document at http://www.pcjs.org/pubs/pc/reference/intel/80286/loadall/: + * + * Physical Address (Hex) Associated CPU Register + * 800-805 None + * 806-807 MSW + * 808-815 None + * 816-817 TR + * 818-819 Flag word + * 81A-81B IP + * 81C-81D LDT + * 81E-81F DS + * 820-821 SS + * 822-823 CS + * 824-825 ES + * 826-827 DI + * 828-829 SI + * 82A-82B BP + * 82C-82D SP + * 82E-82F BX + * 830-831 DX + * 832-833 CX + * 834-835 AX + * 836-83B ES descriptor cache + * 83C-841 CS descriptor cache + * 842-847 SS descriptor cache + * 848-84D DS descriptor cache + * 84E-853 GDTR + * 854-859 LDT descriptor cache + * 85A-85F IDTR + * 860-865 TSS descriptor cache + * + * Oddly, the above document gives two contradictory cycle counts for LOADALL: 190 and 195. I'll go with 195, for + * no particular reason. + * + * @this {X86CPU} + */ +X86.opLOADALL = function LOADALL() +{ + if (this.segCS.cpl) { /* - * It's important to call setIP() and setSP() *after* the segCS and segSS loads, so that the CPU's - * linear IP and SP registers (regLIP and regLSP) will be updated properly. Ordinarily that would be - * taken care of by simply using the CPU's setCS() and setSS() functions, but those functions call the - * default descriptor load() functions, and obviously here we must use loadDesc6() instead. + * You're not allowed to use LOADALL if the current privilege level is something other than zero */ - this.setIP(this.getShort(0x81A)); - this.setSP(this.getShort(0x82C)); - /* - * The bytes at 0x851 and 0x85D "should be zeroes", as per the "Undocumented iAPX 286 Test Instruction" - * document, but the LOADALL issued by RAMDRIVE in PC-DOS 7.0 contains 0xFF in both of those bytes, resulting - * in very large addrGDT and addrIDT values. Obviously, we can't have that, so we load only the low byte - * of the second word for both of those registers. - */ - this.addrGDT = this.getShort(0x84E) | (this.getByte(0x850) << 16); - this.addrGDTLimit = this.addrGDT + this.getShort(0x852); - this.segLDT.loadDesc6(0x854, this.getShort(0x81C)); - this.addrIDT = this.getShort(0x85A) | (this.getByte(0x85C) << 16); - this.addrIDTLimit = this.addrIDT + this.getShort(0x85E); - this.segTSS.loadDesc6(0x860, this.getShort(0x816)); - this.nStepCycles -= 195; - /* - * TODO: LOADALL operation still needs to be verified in protected mode.... - */ - if (DEBUG && DEBUGGER && (this.regCR0 & X86.CR0.MSW.PE)) this.stopCPU(); - }, - /** - * opCLTS() - * - * op=0x0F,0x06 (CLTS) - * - * @this {X86CPU} + X86.fnFault.call(this, X86.EXCEPTION.GP_FAULT, 0, true); + return; + } + this.setMSW(this.getShort(0x806)); + this.regEDI = this.getShort(0x826); + this.regESI = this.getShort(0x828); + this.regEBP = this.getShort(0x82A); + this.regEBX = this.getShort(0x82E); + this.regEDX = this.getShort(0x830); + this.regECX = this.getShort(0x832); + this.regEAX = this.getShort(0x834); + this.segES.loadDesc6(0x836, this.getShort(0x824)); + this.segCS.loadDesc6(0x83C, this.getShort(0x822)); + this.segSS.loadDesc6(0x842, this.getShort(0x820)); + this.segDS.loadDesc6(0x848, this.getShort(0x81E)); + this.setPS(this.getShort(0x818)); + /* + * It's important to call setIP() and setSP() *after* the segCS and segSS loads, so that the CPU's + * linear IP and SP registers (regLIP and regLSP) will be updated properly. Ordinarily that would be + * taken care of by simply using the CPU's setCS() and setSS() functions, but those functions call the + * default descriptor load() functions, and obviously here we must use loadDesc6() instead. */ - opCLTS: function() { - if (this.segCS.cpl) { - X86Help.opHelpFault.call(this, X86.EXCEPTION.GP_FAULT, 0, true); - return; - } - this.regCR0 &= ~X86.CR0.MSW.TS; - this.nStepCycles -= 2; - }, - /** - * opSLDT(dst, src) - * - * op=0x0F,0x00,reg=0x0 (GRP6:SLDT) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} + this.setIP(this.getShort(0x81A)); + this.setSP(this.getShort(0x82C)); + /* + * The bytes at 0x851 and 0x85D "should be zeroes", as per the "Undocumented iAPX 286 Test Instruction" + * document, but the LOADALL issued by RAMDRIVE in PC-DOS 7.0 contains 0xFF in both of those bytes, resulting + * in very large addrGDT and addrIDT values. Obviously, we can't have that, so we load only the low byte + * of the second word for both of those registers. */ - opSLDT: function(dst, src) { - this.nStepCycles -= (2 + (this.regEA < 0? 0 : 1)); - return this.segLDT.sel; - }, - /** - * opSTR(dst, src) - * - * op=0x0F,0x00,reg=0x1 (GRP6:STR) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} + this.addrGDT = this.getShort(0x84E) | (this.getByte(0x850) << 16); + this.addrGDTLimit = this.addrGDT + this.getShort(0x852); + this.segLDT.loadDesc6(0x854, this.getShort(0x81C)); + this.addrIDT = this.getShort(0x85A) | (this.getByte(0x85C) << 16); + this.addrIDTLimit = this.addrIDT + this.getShort(0x85E); + this.segTSS.loadDesc6(0x860, this.getShort(0x816)); + this.nStepCycles -= 195; + /* + * TODO: LOADALL operation still needs to be verified in protected mode.... */ - opSTR: function(dst, src) { - this.nStepCycles -= (2 + (this.regEA < 0? 0 : 1)); - return this.segTSS.sel; - }, - /** - * opLLDT(dst, src) + if (DEBUG && DEBUGGER && (this.regCR0 & X86.CR0.MSW.PE)) this.stopCPU(); +}; + +/** + * opCLTS() + * + * op=0x0F,0x06 (CLTS) + * + * @this {X86CPU} + */ +X86.opCLTS = function CLTS() +{ + if (this.segCS.cpl) { + X86.fnFault.call(this, X86.EXCEPTION.GP_FAULT, 0, true); + return; + } + this.regCR0 &= ~X86.CR0.MSW.TS; + this.nStepCycles -= 2; +}; + +/** + * opMOVrcr() + * + * op=0x0F,0x20 (MOV reg,cr) + * + * NOTE: Since the ModRM decoders deal only with general-purpose registers, we must move + * the appropriate control register into a special variable (regMD16), which our helper function + * (opHelpMOVMD16) will use to replace the decoder's src operand. + * + * @this {X86CPU} + */ +X86.opMOVrcr = function MOVrcr() +{ + var bModRM = this.getIPByte() | 0xc0; + /* + * Unlike, say, opcode 0x8C (MOV word,sr), this opcode supports only registers, not memory; + * however, the 80386 apparently ignores the mod bits, treating any combination as if it was 0xc0. * - * op=0x0F,0x00,reg=0x2 (GRP6:LLDT) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} + if ((bModRM & 0xc0) != 0xc0) { + X86.opInvalid.call(this); + return; + } */ - opLLDT: function(dst, src) { - this.opFlags |= X86.OPFLAG.NOWRITE; - this.segLDT.load(dst); - this.nStepCycles -= (17 + (this.regEA < 0? 0 : 2)); - return dst; - }, - /** - * opLTR(dst, src) + var reg = (bModRM & 0x38) >> 3; + switch (reg) { + case 0x0: + this.regMD16 = this.regCR0; + break; + case 0x1: + this.regMD16 = this.regCR1; + break; + case 0x2: + this.regMD16 = this.regCR2; + break; + case 0x3: + this.regMD16 = this.regCR3; + break; + default: + X86.opUndefined.call(this); + return; + } + /* + * Like other MOV operations, the destination does not need to be read, just written; + * however, it's moot, because we've already restricted this opcode to registers only. * - * op=0x0F,0x00,reg=0x3 (GRP6:LTR) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} + * this.opFlags |= X86.OPFLAG.NOREAD; */ - opLTR: function(dst, src) { - this.opFlags |= X86.OPFLAG.NOWRITE; - if (this.segTSS.load(dst) != X86.ADDR_INVALID) { - this.setShort(this.segTSS.addrDesc + X86.DESC.ACC.OFFSET, this.segTSS.acc |= X86.DESC.ACC.TYPE.LDT); - this.segTSS.type = X86.DESC.ACC.TYPE.TSS_BUSY; - } - this.nStepCycles -= (17 + (this.regEA < 0? 0 : 2)); - return dst; - }, - /** - * opVERR(dst, src) + this.aOpModRegWord[bModRM].call(this, X86.fnMOVMD16); +}; + +/** + * opMOVcrr() + * + * op=0x0F,0x22 (MOV cr,reg) + * + * NOTE: Since the ModRM decoders deal only with general-purpose registers, we have to + * make a note of which general-purpose register will be overwritten, so that we can restore it + * after moving the modified value to the correct control register. + * + * @this {X86CPU} + */ +X86.opMOVcrr = function MOVcrr() +{ + var temp; + var bModRM = this.getIPByte() | 0xc0; + /* + * Unlike, say, opcode 0x8E (MOV sr,word), this opcode supports only registers, not memory; + * however, the 80386 apparently ignores the mod bits, treating any combination as if it was 0xc0. * - * op=0x0F,0x00,reg=0x4 (GRP6:VERR) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} + if ((bModRM & 0xc0) != 0xc0) { + X86.opInvalid.call(this); + return; + } */ - opVERR: function(dst, src) { - this.opFlags |= X86.OPFLAG.NOWRITE; - /* - * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the - * descriptor table or the descriptor is not for a segment. - */ - this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); - if (this.segVER.load(dst, true) != X86.ADDR_INVALID) { - /* - * Verify that this is a readable segment; that is, of these four combinations (code+readable, - * code+nonreadable, data+writable, date+nonwritable), make sure we're not the second combination. - */ - if ((this.segVER.acc & (X86.DESC.ACC.TYPE.READABLE | X86.DESC.ACC.TYPE.CODE)) != X86.DESC.ACC.TYPE.CODE) { - /* - * For VERR, if the code segment is readable and conforming, the descriptor privilege level - * (DPL) can be any value. - * - * Otherwise, DPL must be greater than or equal to (have less or the same privilege as) both the - * current privilege level and the selector's RPL. - */ - if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (dst & X86.SEL.RPL) || - (this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) == X86.DESC.ACC.TYPE.CODE_CONFORMING) { - this.setZF(); - return dst; - } - } - } - this.clearZF(); - return dst; - }, - /** - * opVERW(dst, src) - * - * op=0x0F,0x00,reg=0x5 (GRP6:VERW) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opVERW: function(dst, src) { - this.opFlags |= X86.OPFLAG.NOWRITE; - /* - * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the - * descriptor table or the descriptor is not for a segment. - */ - this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); - if (this.segVER.load(dst, true) != X86.ADDR_INVALID) { - /* - * Verify that this is a writable data segment - */ - if ((this.segVER.acc & (X86.DESC.ACC.TYPE.WRITABLE | X86.DESC.ACC.TYPE.CODE)) == X86.DESC.ACC.TYPE.WRITABLE) { - /* - * DPL must be greater than or equal to (have less or the same privilege as) both the current - * privilege level and the selector's RPL. - */ - if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (dst & X86.SEL.RPL)) { - this.setZF(); - return dst; - } - } - } - this.clearZF(); - return dst; - }, - /** - * opSGDT(dst, src) - * - * op=0x0F,0x01,reg=0x0 (GRP7:SGDT) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opSGDT: function(dst, src) { - if (this.regEA < 0) { - X86Help.opHelpInvalid.call(this); - } else { - /* - * We don't need to setShort() the first word of the operand, because the ModRM group decoder that - * calls us does that automatically with the value we return (dst). - */ - dst = this.addrGDTLimit - this.addrGDT; - this.setShort(this.regEA + 2, this.addrGDT); - /* - * We previously left the 6th byte of the target operand "undefined". But it turns out we have to set - * it to *something*, because there's processor detection in PC-DOS 7.0 (at least in the SETUP portion) - * that looks like this: - * - * 145E:4B84 9C PUSHF - * 145E:4B85 55 PUSH BP - * 145E:4B86 8BEC MOV BP,SP - * 145E:4B88 B80000 MOV AX,0000 - * 145E:4B8B 50 PUSH AX - * 145E:4B8C 9D POPF - * 145E:4B8D 9C PUSHF - * 145E:4B8E 58 POP AX - * 145E:4B8F 2500F0 AND AX,F000 - * 145E:4B92 3D00F0 CMP AX,F000 - * 145E:4B95 7511 JNZ 4BA8 - * 145E:4BA8 C8060000 ENTER 0006,00 - * 145E:4BAC 0F0146FA SGDT [BP-06] - * 145E:4BB0 807EFFFF CMP [BP-01],FF - * 145E:4BB4 C9 LEAVE - * 145E:4BB5 BA8603 MOV DX,0386 - * 145E:4BB8 7503 JNZ 4BBD - * 145E:4BBA BA8602 MOV DX,0286 - * 145E:4BBD 89163004 MOV [0430],DX - * 145E:4BC1 5D POP BP - * 145E:4BC2 9D POPF - * 145E:4BC3 CB RETF - * - * This code is expecting SGDT on an 80286 to set the 6th "undefined" byte to 0xFF. So we use setShort() - * instead of setByte() and force the upper byte to 0xFF. - * - * TODO: Remove the 0xFF00 below on post-80286 processors; also, determine whether this behavior is unique to real-mode. - */ - this.setShort(this.regEA + 4, 0xFF00 | (this.addrGDT >> 16)); - this.nStepCycles -= 11; - } - return dst; - }, - /** - * opSIDT(dst, src) - * - * op=0x0F,0x01,reg=0x1 (GRP7:SIDT) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opSIDT: function(dst, src) { - if (this.regEA < 0) { - X86Help.opHelpInvalid.call(this); - } else { - /* - * We don't need to setShort() the first word of the operand, because the ModRM group decoder that calls - * us does that automatically with the value we return (dst). - */ - dst = this.addrIDTLimit - this.addrIDT; - this.setShort(this.regEA + 2, this.addrIDT); - /* - * As with SGDT, the 6th byte is technically "undefined" on an 80286, but we now set it to 0xFF, for the - * same reasons discussed in SGDT (above). - * - * TODO: Remove the 0xFF00 below on post-80286 processors; also, determine whether this behavior is unique to real-mode. - */ - this.setShort(this.regEA + 4, 0xFF00 | (this.addrIDT >> 16)); - this.nStepCycles -= 12; - } - return dst; - }, - /** - * opLGDT(dst, src) - * - * op=0x0F,0x01,reg=0x2 (GRP7:LGDT) - * - * The 80286 LGDT instruction expects a 40-bit operand: a 16-bit limit, followed by a 24-bit address; - * the ModRM decoder has already supplied the first word of the operand (in dst), which corresponds to the - * limit, so we must fetch the remaining 24 bits ourselves. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opLGDT: function(dst, src) { - if (this.regEA < 0) { - X86Help.opHelpInvalid.call(this); - } else { - this.addrGDT = this.getShort(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); - this.addrGDTLimit = this.addrGDT + dst; - this.opFlags |= X86.OPFLAG.NOWRITE; - this.nStepCycles -= 11; - } - return dst; - }, - /** - * opLIDT(dst, src) - * - * op=0x0F,0x01,reg=0x3 (GRP7:LIDT) - * - * The 80286 LIDT instruction expects a 40-bit operand: a 16-bit limit, followed by a 24-bit address; - * the ModRM decoder has already supplied the first word of the operand (in dst), which corresponds to the - * limit, so we must fetch the remaining 24 bits ourselves. - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opLIDT: function(dst, src) { - if (this.regEA < 0) { - X86Help.opHelpInvalid.call(this); - } else { - this.addrIDT = this.getShort(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); - this.addrIDTLimit = this.addrIDT + dst; - this.opFlags |= X86.OPFLAG.NOWRITE; - this.nStepCycles -= 12; - } - return dst; - }, - /** - * opSMSW(dst, src) - * - * op=0x0F,0x01,reg=0x4 (GRP7:SMSW) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opSMSW: function(dst, src) { - this.nStepCycles -= (2 + (this.regEA < 0? 0 : 1)); - return this.regCR0; - }, - /** - * opLMSW(dst, src) - * - * op=0x0F,0x01,reg=0x6 (GRP7:LMSW) - * - * @this {X86CPU} - * @param {number} dst - * @param {number} src (null) - * @return {number} - */ - opLMSW: function(dst, src) { - X86Help.opHelpLMSW.call(this, dst); - this.nStepCycles -= (this.regEA < 0? 3 : 6); - this.opFlags |= X86.OPFLAG.NOWRITE; - return dst; - }, - /** - * opMOVrcr() - * - * op=0x0F,0x20 (MOV reg,cr) - * - * NOTE: Since the ModRM decoders deal only with general-purpose registers, we must move - * the appropriate control register into a special variable (regMD16), which our helper function - * (opHelpMOVMD16) will use to replace the decoder's src operand. - * - * @this {X86CPU} - */ - opMOVrcr: function() { - var bModRM = this.getIPByte() | 0xc0; - /* - * Unlike, say, opcode 0x8C (MOV word,sr), this opcode supports only registers, not memory; - * however, the 80386 apparently ignores the mod bits, treating any combination as if it was 0xc0. - * - if ((bModRM & 0xc0) != 0xc0) { - X86Help.opHelpInvalid.call(this); - return; - } - */ - var reg = (bModRM & 0x38) >> 3; - switch (reg) { - case 0x0: - this.regMD16 = this.regCR0; - break; - case 0x1: - this.regMD16 = this.regCR1; - break; - case 0x2: - this.regMD16 = this.regCR2; - break; - case 0x3: - this.regMD16 = this.regCR3; - break; - default: - X86Help.opHelpUndefined.call(this); - return; - } - /* - * Like other MOV operations, the destination does not need to be read, just written; - * however, it's moot, because we've already restricted this opcode to registers only. - * - * this.opFlags |= X86.OPFLAG.NOREAD; - */ - this.aOpModRegWord[bModRM].call(this, X86Help.opHelpMOVMD16); - }, - /** - * opMOVcrr() - * - * op=0x0F,0x22 (MOV cr,reg) - * - * NOTE: Since the ModRM decoders deal only with general-purpose registers, we have to - * make a note of which general-purpose register will be overwritten, so that we can restore it - * after moving the modified value to the correct control register. - * - * @this {X86CPU} - */ - opMOVcrr: function() { - var temp; - var bModRM = this.getIPByte() | 0xc0; - /* - * Unlike, say, opcode 0x8E (MOV sr,word), this opcode supports only registers, not memory; - * however, the 80386 apparently ignores the mod bits, treating any combination as if it was 0xc0. - * - if ((bModRM & 0xc0) != 0xc0) { - X86Help.opHelpInvalid.call(this); - return; - } - */ - var reg = (bModRM & 0x38) >> 3; - switch(reg) { - case 0x0: - temp = this.regEAX; - break; - case 0x1: - temp = this.regECX; // TODO: Is setting CR1 actually allowed on an 80386? - break; - case 0x2: - temp = this.regEDX; - break; - case 0x3: - temp = this.regEBX; - break; - default: - X86Help.opHelpInvalid.call(this); - return; - } - this.aOpModRegWord[bModRM].call(this, X86Help.opHelpMOV); - switch (reg) { - case 0x0: - reg = this.regEAX; - this.regEAX = temp; - X86Help.opHelpLCR0.call(this, reg); - break; - case 0x1: - this.regCR1 = this.regECX; - this.regECX = temp; - break; - case 0x2: - this.regCR2 = this.regEDX; - this.regEDX = temp; - break; - case 0x3: - this.regCR3 = this.regEBX; - this.regEBX = temp; - break; - default: - break; // there IS no other case, but JavaScript inspections don't know that - } + var reg = (bModRM & 0x38) >> 3; + switch(reg) { + case 0x0: + temp = this.regEAX; + break; + case 0x1: + temp = this.regECX; // TODO: Is setting CR1 actually allowed on an 80386? + break; + case 0x2: + temp = this.regEDX; + break; + case 0x3: + temp = this.regEBX; + break; + default: + X86.opInvalid.call(this); + return; + } + this.aOpModRegWord[bModRM].call(this, X86.fnMOV); + switch (reg) { + case 0x0: + reg = this.regEAX; + this.regEAX = temp; + X86.fnLCR0.call(this, reg); + break; + case 0x1: + this.regCR1 = this.regECX; + this.regECX = temp; + break; + case 0x2: + this.regCR2 = this.regEDX; + this.regEDX = temp; + break; + case 0x3: + this.regCR3 = this.regEBX; + this.regEBX = temp; + break; + default: + break; // there IS no other case, but JavaScript inspections don't know that } }; -X86Op0F.aOps0F = [ - X86Op0F.opGrp6, X86Op0F.opGrp7, X86Op0F.opLAR, X86Op0F.opLSL, // 0x00-0x03 - X86Help.opHelpUndefined,X86Op0F.opLOADALL, X86Op0F.opCLTS, X86Help.opHelpUndefined,// 0x04-0x07 +X86.aOps0F = [ + X86.opGrp6, X86.opGrp7, X86.opLAR, X86.opLSL, // 0x00-0x03 + X86.opUndefined, X86.opLOADALL, X86.opCLTS, X86.opUndefined, // 0x04-0x07 /* * On all processors (except the 8086/8088, of course), 0x0F,0x0B is also referred to as "UD2": an * instruction guaranteed to raise a #UD (Invalid Opcode) exception (INT 0x06) on all future x86 processors. */ - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpInvalid, // 0x08-0x0B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x0C-0x0F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x10-0x13 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x14-0x17 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x18-0x1B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x1C-0x1F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x20-0x23 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x24-0x27 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x28-0x2B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x2C-0x2F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x30-0x33 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x34-0x37 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x38-0x3B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x3C-0x3F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x40-0x43 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x44-0x47 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x48-0x4B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x4C-0x4F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x50-0x53 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x54-0x57 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x58-0x5B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x5C-0x5F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x60-0x63 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x64-0x67 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x68-0x6B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x6C-0x6F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x70-0x73 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x74-0x77 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x78-0x7B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x7C-0x7F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x80-0x83 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x84-0x87 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x88-0x8B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x8C-0x8F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x90-0x93 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x94-0x97 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x98-0x9B - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0x9C-0x9F - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xA0-0xA3 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xA4-0xA7 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xA8-0xAB - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xAC-0xAF - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xB0-0xB3 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xB4-0xB7 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xB8-0xBB - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xBC-0xBF - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xC0-0xC3 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xC4-0xC7 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xC8-0xCB - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xCC-0xCF - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xD0-0xD3 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xD4-0xD7 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xD8-0xDB - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xDC-0xDF - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xE0-0xE3 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xE4-0xE7 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xE8-0xEB - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xEC-0xEF - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xF0-0xF3 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xF4-0xF7 - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,// 0xF8-0xFB - X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined,X86Help.opHelpUndefined // 0xFC-0xFF + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opInvalid, // 0x08-0x0B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x0C-0x0F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x10-0x13 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x14-0x17 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x18-0x1B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x1C-0x1F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x20-0x23 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x24-0x27 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x28-0x2B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x2C-0x2F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x30-0x33 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x34-0x37 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x38-0x3B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x3C-0x3F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x40-0x43 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x44-0x47 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x48-0x4B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x4C-0x4F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x50-0x53 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x54-0x57 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x58-0x5B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x5C-0x5F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x60-0x63 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x64-0x67 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x68-0x6B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x6C-0x6F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x70-0x73 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x74-0x77 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x78-0x7B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x7C-0x7F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x80-0x83 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x84-0x87 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x88-0x8B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x8C-0x8F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x90-0x93 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x94-0x97 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x98-0x9B + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0x9C-0x9F + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xA0-0xA3 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xA4-0xA7 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xA8-0xAB + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xAC-0xAF + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xB0-0xB3 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xB4-0xB7 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xB8-0xBB + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xBC-0xBF + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xC0-0xC3 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xC4-0xC7 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xC8-0xCB + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xCC-0xCF + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xD0-0xD3 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xD4-0xD7 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xD8-0xDB + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xDC-0xDF + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xE0-0xE3 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xE4-0xE7 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xE8-0xEB + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xEC-0xEF + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xF0-0xF3 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xF4-0xF7 + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined, // 0xF8-0xFB + X86.opUndefined, X86.opUndefined, X86.opUndefined, X86.opUndefined // 0xFC-0xFF ]; /* @@ -685,23 +389,21 @@ X86Op0F.aOps0F = [ * getEAWord() should be disabled *prior* to calling the ModRM helper function. This latter case requires that * we decode the reg field of the ModRM byte before dispatching. */ -X86Op0F.aOpGrp6Prot = [ - X86Op0F.opSLDT, X86Op0F.opSTR, X86Op0F.opLLDT, X86Op0F.opLTR, // 0x0F,0x00(reg=0x0-0x3) - X86Op0F.opVERR, X86Op0F.opVERW, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined // 0x0F,0x00(reg=0x4-0x7) +X86.aOpGrp6Prot = [ + X86.fnSLDT, X86.fnSTR, X86.fnLLDT, X86.fnLTR, // 0x0F,0x00(reg=0x0-0x3) + X86.fnVERR, X86.fnVERW, X86.fnGRPUndefined, X86.fnGRPUndefined // 0x0F,0x00(reg=0x4-0x7) ]; -X86Op0F.aOpGrp6Real = [ - X86Grps.opGrpInvalid, X86Grps.opGrpInvalid, X86Grps.opGrpInvalid, X86Grps.opGrpInvalid, // 0x0F,0x00(reg=0x0-0x3) - X86Grps.opGrpInvalid, X86Grps.opGrpInvalid, X86Grps.opGrpUndefined, X86Grps.opGrpUndefined // 0x0F,0x00(reg=0x4-0x7) +X86.aOpGrp6Real = [ + X86.fnGRPInvalid, X86.fnGRPInvalid, X86.fnGRPInvalid, X86.fnGRPInvalid, // 0x0F,0x00(reg=0x0-0x3) + X86.fnGRPInvalid, X86.fnGRPInvalid, X86.fnGRPUndefined, X86.fnGRPUndefined // 0x0F,0x00(reg=0x4-0x7) ]; /* * Unlike Grp6, Grp7 does not require separate real-mode and protected-mode dispatch tables, because all Grp7 * instructions are valid in both modes. */ -X86Op0F.aOpGrp7 = [ - X86Op0F.opSGDT, X86Op0F.opSIDT, X86Op0F.opLGDT, X86Op0F.opLIDT, // 0x0F,0x01(reg=0x0-0x3) - X86Op0F.opSMSW, X86Grps.opGrpUndefined, X86Op0F.opLMSW, X86Grps.opGrpUndefined // 0x0F,0x01(reg=0x4-0x7) +X86.aOpGrp7 = [ + X86.fnSGDT, X86.fnSIDT, X86.fnLGDT, X86.fnLIDT, // 0x0F,0x01(reg=0x0-0x3) + X86.fnSMSW, X86.fnGRPUndefined, X86.fnLMSW, X86.fnGRPUndefined // 0x0F,0x01(reg=0x4-0x7) ]; - -if (typeof module !== 'undefined') module.exports = X86Op0F; diff --git a/modules/pcjs/lib/x86opxx.js b/modules/pcjs/lib/x86opxx.js index 9ec32eb54..ddb31631d 100644 --- a/modules/pcjs/lib/x86opxx.js +++ b/modules/pcjs/lib/x86opxx.js @@ -36,3634 +36,4191 @@ if (typeof module !== 'undefined') { var Component = require("../../shared/lib/component"); var Messages = require("./messages"); var X86 = require("./x86"); - var X86Grps = require("./x86grps"); - var X86Help = require("./x86help"); - var X86Op0F = require("./x86op0f"); } -var X86OpXX = { - /** - * op=0x00 (ADD byte,reg) - * - * @this {X86CPU} - */ - opADDmb: function() { - var b = this.getIPByte(); - /* - * Opcode bytes 0x00 0x00 are sufficiently uncommon that it's more likely we've started executing - * in the weeds, so we'll stop the CPU if we're in DEBUG mode. - */ - if (DEBUG && DEBUGGER && !b) this.stopCPU(); - this.aOpModMemByte[b].call(this, X86Grps.opGrpADDb); - }, - /** - * op=0x01 (ADD word,reg) - * - * @this {X86CPU} - */ - opADDmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpADDw); - }, - /** - * op=0x02 (ADD reg,byte) - * - * @this {X86CPU} - */ - opADDrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpADDb); - }, - /** - * op=0x03 (ADD reg,word) - * - * @this {X86CPU} - */ - opADDrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpADDw); - }, - /** - * op=0x04 (ADD AL,imm8) - * - * @this {X86CPU} - */ - opADDALb: function() { - this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpADDb.call(this, this.regEAX & 0xff, this.getIPByte()); - /* - * NOTE: Whenever the result is "blended" value (eg, of btiAL and btiMemLo), a new bti should be - * allocated to reflect that fact; however, I'm leaving "perfect" BACKTRACK support for another day. - */ - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - /* - * In the absence of any EA calculations, opGrpADDb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x05 (ADD AX,imm16) - * - * @this {X86CPU} - */ - opADDAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | X86Grps.opGrpADDw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - /* - * In the absence of any EA calculations, opGrpADDw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x06 (PUSH ES) - * - * @this {X86CPU} - */ - opPUSHES: function() { - this.pushWord(this.segES.sel); - this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; - }, - /** - * op=0x07 (POP ES) - * - * @this {X86CPU} - */ - opPOPES: function() { - this.setES(this.popWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x08 (OR byte,reg) - * - * @this {X86CPU} - */ - opORmb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpORb); - }, - /** - * op=0x09 (OR word,reg) - * - * @this {X86CPU} - */ - opORmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpORw); - }, - /** - * op=0x0A (OR reg,byte) - * - * @this {X86CPU} - */ - opORrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpORb); - }, - /** - * op=0x0B (OR reg,word) - * - * @this {X86CPU} - */ - opORrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpORw); - }, - /** - * op=0x0C (OR AL,imm8) - * - * @this {X86CPU} - */ - opORALb: function() { - this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpORb.call(this, this.regEAX & 0xff, this.getIPByte()); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - /* - * In the absence of any EA calculations, opGrpORb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x0D (OR AX,imm16) - * - * @this {X86CPU} - */ - opORAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | X86Grps.opGrpORw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - /* - * In the absence of any EA calculations, opGrpORw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x0E (PUSH CS) - * - * @this {X86CPU} - */ - opPUSHCS: function() { - this.pushWord(this.segCS.sel); - this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; - }, - /** - * op=0x0F (POP CS) (undocumented on 8086/8088; replaced with opHelpInvalid on 80186/80188, and op0F on 80286 and up) - * - * @this {X86CPU} - */ - opPOPCS: function() { - this.setCS(this.popWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x0F (handler for two-byte opcodes; 80286 and up) - * - * @this {X86CPU} - */ - op0F: function() { - this.aOps0F[this.getIPByte()].call(this); - }, - /** - * op=0x10 (ADC byte,reg) - * - * @this {X86CPU} - */ - opADCmb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpADCb); - }, - /** - * op=0x11 (ADC word,reg) - * - * @this {X86CPU} - */ - opADCmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpADCw); - }, - /** - * op=0x12 (ADC reg,byte) - * - * @this {X86CPU} - */ - opADCrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpADCb); - }, - /** - * op=0x13 (ADC reg,word) - * - * @this {X86CPU} - */ - opADCrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpADCw); - }, - /** - * op=0x14 (ADC AL,imm8) - * - * @this {X86CPU} - */ - opADCALb: function() { - this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpADCb.call(this, this.regEAX & 0xff, this.getIPByte()); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - /* - * In the absence of any EA calculations, opGrpADCb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x15 (ADC AX,imm16) - * - * @this {X86CPU} - */ - opADCAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | X86Grps.opGrpADCw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - /* - * In the absence of any EA calculations, opGrpADCw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x16 (PUSH SS) - * - * @this {X86CPU} - */ - opPUSHSS: function() { - this.pushWord(this.segSS.sel); - this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; - }, - /** - * op=0x17 (POP SS) - * - * @this {X86CPU} - */ - opPOPSS: function() { - this.setSS(this.popWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x18 (SBB byte,reg) - * - * @this {X86CPU} - */ - opSBBmb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpSBBb); - }, - /** - * op=0x19 (SBB word,reg) - * - * @this {X86CPU} - */ - opSBBmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpSBBw); - }, - /** - * op=0x1A (SBB reg,byte) - * - * @this {X86CPU} - */ - opSBBrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpSBBb); - }, - /** - * op=0x1B (SBB reg,word) - * - * @this {X86CPU} - */ - opSBBrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpSBBw); - }, - /** - * op=0x1C (SBB AL,imm8) - * - * @this {X86CPU} - */ - opSBBALb: function() { - this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpSBBb.call(this, this.regEAX & 0xff, this.getIPByte()); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - /* - * In the absence of any EA calculations, opGrpSBBb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x1D (SBB AX,imm16) - * - * @this {X86CPU} - */ - opSBBAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | X86Grps.opGrpSBBw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - /* - * In the absence of any EA calculations, opGrpSBBw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x1E (PUSH DS) - * - * @this {X86CPU} - */ - opPUSHDS: function() { - this.pushWord(this.segDS.sel); - this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; - }, - /** - * op=0x1F (POP DS) - * - * @this {X86CPU} - */ - opPOPDS: function() { - this.setDS(this.popWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x20 (AND byte,reg) - * - * @this {X86CPU} - */ - opANDmb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpANDb); - }, - /** - * op=0x21 (AND word,reg) - * - * @this {X86CPU} - */ - opANDmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpANDw); - }, - /** - * op=0x22 (AND reg,byte) - * - * @this {X86CPU} - */ - opANDrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpANDb); - }, - /** - * op=0x23 (AND reg,word) - * - * @this {X86CPU} - */ - opANDrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpANDw); - }, - /** - * op=0x24 (AND AL,imm8) - * - * @this {X86CPU} - */ - opANDALb: function() { - this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpANDb.call(this, this.regEAX & 0xff, this.getIPByte()); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - /* - * In the absence of any EA calculations, opGrpANDb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x25 (AND AX,imm16) - * - * @this {X86CPU} - */ - opANDAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | X86Grps.opGrpANDw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - /* - * In the absence of any EA calculations, opGrpANDw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x26 (ES:) - * - * @this {X86CPU} - */ - opES: function() { - /* - * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; - this.segData = this.segStack = this.segES; - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - }, - /** - * op=0x27 (DAA) - * - * @this {X86CPU} - */ - opDAA: function() { - var AL = this.regEAX & 0xff; - var fAuxCarry = this.getAF(); - var fCarry = (this.resultZeroCarry & this.resultSize); - if ((AL & 0xf) > 9 || fAuxCarry) { - AL += 0x6; - fAuxCarry = true; - } - if (AL > 0x9f || fCarry) { - AL += 0x60; - fCarry = true; - } - this.regEAX = (this.regEAX & ~0xff) | (this.resultZeroCarry = this.resultParitySign = (AL & 0xff)); - this.resultSize = X86.RESULT.SIZE_WORD; - if (fCarry) this.resultZeroCarry |= this.resultSize; - if (fAuxCarry) this.setAF(); else this.clearAF(); - this.nStepCycles -= this.CYCLES.nOpCyclesAAA; // AAA and DAA have the same cycle times - }, - /** - * op=0x28 (SUB byte,reg) - * - * @this {X86CPU} - */ - opSUBmb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpSUBb); - }, - /** - * op=0x29 (SUB word,reg) - * - * @this {X86CPU} - */ - opSUBmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpSUBw); - }, - /** - * op=0x2A (SUB reg,byte) - * - * @this {X86CPU} - */ - opSUBrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpSUBb); - }, - /** - * op=0x2B (SUB reg,word) - * - * @this {X86CPU} - */ - opSUBrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpSUBw); - }, - /** - * op=0x2C (SUB AL,imm8) - * - * @this {X86CPU} - */ - opSUBALb: function() { - this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpSUBb.call(this, this.regEAX & 0xff, this.getIPByte()); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - /* - * In the absence of any EA calculations, opGrpSUBb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x2D (SUB AX,imm16) - * - * @this {X86CPU} - */ - opSUBAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | X86Grps.opGrpSUBw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - /* - * In the absence of any EA calculations, opGrpSUBw() will deduct nOpCyclesArithRR, and for all CPUs - * through the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x2E (CS:) - * - * @this {X86CPU} - */ - opCS: function() { - /* - * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; - this.segData = this.segStack = this.segCS; - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - }, - /** - * op=0x2F (DAS) - * - * @this {X86CPU} - */ - opDAS: function() { - var AL = this.regEAX & 0xff; - var fAuxCarry = this.getAF(); - var fCarry = (this.resultZeroCarry & this.resultSize); - if ((AL & 0xf) > 9 || fAuxCarry) { - AL -= 0x6; - fAuxCarry = true; - } - if (AL > 0x9f || fCarry) { - AL -= 0x60; - fCarry = true; - } - this.regEAX = (this.regEAX & ~0xff) | (this.resultZeroCarry = this.resultParitySign = (AL & 0xff)); - this.resultSize = X86.RESULT.SIZE_WORD; - if (fCarry) this.resultZeroCarry |= this.resultSize; - if (fAuxCarry) this.setAF(); else this.clearAF(); - this.nStepCycles -= this.CYCLES.nOpCyclesAAA; // AAA and DAS have the same cycle times - }, - /** - * op=0x30 (XOR byte,reg) - * - * @this {X86CPU} - */ - opXORmb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpXORb); - }, - /** - * op=0x31 (XOR word,reg) - * - * @this {X86CPU} - */ - opXORmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpXORw); - }, - /** - * op=0x32 (XOR reg,byte) - * - * @this {X86CPU} - */ - opXORrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpXORb); - }, - /** - * op=0x33 (XOR reg,word) - * - * @this {X86CPU} - */ - opXORrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpXORw); - }, - /** - * op=0x34 (XOR AL,imm8) - * - * @this {X86CPU} - */ - opXORALb: function() { - this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpXORb.call(this, this.regEAX & 0xff, this.getIPByte()); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - /* - * In the absence of any EA calculations, opGrpXORb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x35 (XOR AX,imm16) - * - * @this {X86CPU} - */ - opXORAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | X86Grps.opGrpXORw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - /* - * In the absence of any EA calculations, opGrpXORw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x36 (SS:) - * - * @this {X86CPU} - */ - opSS: function() { - /* - * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; - this.segData = this.segStack = this.segSS; // QUESTION: Is there a case where segStack would not already be segSS? (eg, multiple segment overrides?) - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - }, - /** - * op=0x37 (AAA) - * - * @this {X86CPU} - */ - opAAA: function() { - var AL = this.regEAX & 0xff; - var AH = this.regEAX >> 8; - var fCarry; - var fAuxCarry = this.getAF(); - if ((AL & 0xf) > 9 || fAuxCarry) { - AL = (AL + 0x6) & 0xf; - AH = (AH + 1) & 0xff; - fCarry = fAuxCarry = true; - } else { - fCarry = fAuxCarry = false; - } - this.regEAX = (this.regEAX & ~0xffff) | (AH << 8) | (this.resultZeroCarry = AL); - this.resultSize = X86.RESULT.SIZE_WORD; - if (fCarry) this.resultZeroCarry |= this.resultSize; - if (fAuxCarry) this.setAF(); else this.clearAF(); - this.nStepCycles -= this.CYCLES.nOpCyclesAAA; - }, - /** - * op=0x38 (CMP byte,reg) - * - * @this {X86CPU} - */ - opCMPmb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); - }, - /** - * op=0x39 (CMP word,reg) - * - * @this {X86CPU} - */ - opCMPmw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); - }, - /** - * op=0x3A (CMP reg,byte) - * - * @this {X86CPU} - */ - opCMPrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); - }, - /** - * op=0x3B (CMP reg,word) - * - * @this {X86CPU} - */ - opCMPrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); - }, - /** - * op=0x3C (CMP AL,imm8) - * - * @this {X86CPU} - */ - opCMPALb: function() { - X86Grps.opGrpCMPb.call(this, this.regEAX & 0xff, this.getIPByte()); - /* - * In the absence of any EA calculations, opGrpCMPb() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x3D (CMP AX,imm16) - * - * @this {X86CPU} - */ - opCMPAXw: function() { - X86Grps.opGrpCMPw.call(this, this.regEAX & this.dataMask, this.getIPWord()); - /* - * In the absence of any EA calculations, opGrpCMPw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. - */ - this.nStepCycles--; - }, - /** - * op=0x3E (DS:) - * - * @this {X86CPU} - */ - opDS: function() { - /* - * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; - this.segData = this.segStack = this.segDS; // QUESTION: Is there a case where segData would not already be segDS? (eg, multiple segment overrides?) - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - }, - /** - * op=0x3D (AAS) - * - * From "The 8086 Book": - * - * 1. If the low-order four bits of the AL register are between 0 and 9 and the AF flag is 0, then go to Step 3. - * 2. If the low-order four bits of the AL register are between A and F or the AF flag is 1, then subtract 6 from the AL register, subtract 1 from the AH register, and set the AF flag to 1. - * 3. Clear the high-order four bits of the AL register. - * 4. Set the CF flag to the value of the AF flag. - * - * @this {X86CPU} - */ - opAAS: function() { - var AL = this.regEAX & 0xff; - var AH = this.regEAX >> 8; - var fCarry; - var fAuxCarry = this.getAF(); - if ((AL & 0xf) > 9 || fAuxCarry) { - AL = (AL - 0x6) & 0xf; - AH = (AH - 1) & 0xff; - fCarry = fAuxCarry = true; - } else { - fCarry = fAuxCarry = false; - } - this.regEAX = (this.regEAX & ~0xffff) | (AH << 8) | (this.resultZeroCarry = AL); - this.resultSize = X86.RESULT.SIZE_WORD; - if (fCarry) this.resultZeroCarry |= this.resultSize; - if (fAuxCarry) this.setAF(); else this.clearAF(); - this.nStepCycles -= this.CYCLES.nOpCyclesAAA; // AAA and AAS have the same cycle times - }, - /** - * op=0x40 (INC AX) - * - * @this {X86CPU} - */ - opINCAX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEAX) + 1; - if (I386) { - this.regEAX = (this.regEAX & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEAX) & this.dataMask) >>> 16) | (this.regEAX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEAX = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEAX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x41 (INC CX) - * - * @this {X86CPU} - */ - opINCCX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regECX) + 1; - if (I386) { - this.regECX = (this.regECX & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regECX) & this.dataMask) >>> 16) | (this.regECX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regECX = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regECX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x42 (INC DX) - * - * @this {X86CPU} - */ - opINCDX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEDX) + 1; - if (I386) { - this.regEDX = (this.regEDX & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEDX) & this.dataMask) >>> 16) | (this.regEDX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEDX = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEDX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x43 (INC BX) - * - * @this {X86CPU} - */ - opINCBX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEBX) + 1; - if (I386) { - this.regEBX = (this.regEBX & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEBX) & this.dataMask) >>> 16) | (this.regEBX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEBX = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEBX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x44 (INC SP) - * - * @this {X86CPU} - */ - opINCSP: function() { - var regESP; - this.resultParitySign = (this.resultAuxOverflow = this.getSP()) + 1; - this.setSP(regESP = (this.resultAuxOverflow & ~this.dataMask) | (this.resultParitySign & this.dataMask)); - this.resultZeroCarry = (((regESP) & this.dataMask) >>> 16) | (regESP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x45 (INC BP) - * - * @this {X86CPU} - */ - opINCBP: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEBP) + 1; - if (I386) { - this.regEBP = (this.regEBP & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEBP) & this.dataMask) >>> 16) | (this.regEBP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEBP = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEBP | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x46 (INC SI) - * - * @this {X86CPU} - */ - opINCSI: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regESI) + 1; - if (I386) { - this.regESI = (this.regESI & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regESI) & this.dataMask) >>> 16) | (this.regESI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regESI = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regESI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x47 (INC DI) - * - * @this {X86CPU} - */ - opINCDI: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEDI) + 1; - if (I386) { - this.regEDI = (this.regEDI & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEDI) & this.dataMask) >>> 16) | (this.regEDI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEDI = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEDI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs - }, - /** - * op=0x48 (DEC AX) - * - * @this {X86CPU} - */ - opDECAX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEAX) - 1; - if (I386) { - this.regEAX = (this.regEAX & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEAX) & this.dataMask) >>> 16) | (this.regEAX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEAX = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEAX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /** - * op=0x49 (DEC CX) - * - * @this {X86CPU} - */ - opDECCX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regECX) - 1; - this.regECX = (I386? (this.regECX & ~this.dataMask) | (this.resultParitySign & this.dataMask) : this.resultParitySign & 0xffff); - this.resultZeroCarry = this.regECX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /** - * op=0x4A (DEC DX) - * - * @this {X86CPU} - */ - opDECDX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEDX) - 1; - this.regEDX = (I386? (this.regEDX & ~this.dataMask) | (this.resultParitySign & this.dataMask) : this.resultParitySign & 0xffff); - this.resultZeroCarry = this.regEDX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /** - * op=0x4B (DEC BX) - * - * @this {X86CPU} - */ - opDECBX: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEBX) - 1; - if (I386) { - this.regEBX = (this.regEBX & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEBX) & this.dataMask) >>> 16) | (this.regEBX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEBX = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEBX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /** - * op=0x4C (DEC SP) - * - * @this {X86CPU} - */ - opDECSP: function() { - var regESP; - this.resultParitySign = (this.resultAuxOverflow = this.getSP()) - 1; - this.setSP(regESP = (this.resultAuxOverflow & ~this.dataMask) | (this.resultParitySign & this.dataMask)); - this.resultZeroCarry = (((regESP) & this.dataMask) >>> 16) | (regESP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /** - * op=0x4D (DEC BP) - * - * @this {X86CPU} - */ - opDECBP: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEBP) - 1; - if (I386) { - this.regEBP = (this.regEBP & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEBP) & this.dataMask) >>> 16) | (this.regEBP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEBP = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEBP | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /** - * op=0x4E (DEC SI) - * - * @this {X86CPU} - */ - opDECSI: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regESI) - 1; - if (I386) { - this.regESI = (this.regESI & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regESI) & this.dataMask) >>> 16) | (this.regESI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regESI = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regESI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /**` - * op=0x4F (DEC DI) - * - * @this {X86CPU} - */ - opDECDI: function() { - this.resultParitySign = (this.resultAuxOverflow = this.regEDI) - 1; - if (I386) { - this.regEDI = (this.regEDI & ~this.dataMask) | (this.resultParitySign & this.dataMask); - this.resultZeroCarry = (((this.regEDI) & this.dataMask) >>> 16) | (this.regEDI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } else { - this.regEDI = this.resultParitySign & 0xffff; - this.resultZeroCarry = this.regEDI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); - } - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs - }, - /** - * op=0x50 (PUSH AX) - * - * @this {X86CPU} - */ - opPUSHAX: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; - } - this.pushWord(this.regEAX & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x51 (PUSH CX) - * - * @this {X86CPU} - */ - opPUSHCX: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiCL; this.backTrack.btiMemHi = this.backTrack.btiCH; - } - this.pushWord(this.regECX & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x52 (PUSH DX) - * - * @this {X86CPU} - */ - opPUSHDX: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiDL; this.backTrack.btiMemHi = this.backTrack.btiDH; - } - this.pushWord(this.regEDX & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x53 (PUSH BX) - * - * @this {X86CPU} - */ - opPUSHBX: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiBL; this.backTrack.btiMemHi = this.backTrack.btiBH; - } - this.pushWord(this.regEBX & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x54 (PUSH SP) - * - * @this {X86CPU} - */ - opPUSHSP8086: function() { - var w = (this.getSP() - this.dataSize) & this.dataMask; - this.pushWord(w); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x54 (PUSH SP) - * - * @this {X86CPU} - */ - opPUSHSP: function() { - this.pushWord(this.getSP() & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x55 (PUSH BP) - * - * @this {X86CPU} - */ - opPUSHBP: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiBPLo; this.backTrack.btiMemHi = this.backTrack.btiBPHi; - } - this.pushWord(this.regEBP & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x56 (PUSH SI) - * - * @this {X86CPU} - */ - opPUSHSI: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiSILo; this.backTrack.btiMemHi = this.backTrack.btiSIHi; - } - this.pushWord(this.regESI & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x57 (PUSH DI) - * - * @this {X86CPU} - */ - opPUSHDI: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiDILo; this.backTrack.btiMemHi = this.backTrack.btiDIHi; - } - this.pushWord(this.regEDI & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x58 (POP AX) - * - * @this {X86CPU} - */ - opPOPAX: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x59 (POP CX) - * - * @this {X86CPU} - */ - opPOPCX: function() { - this.regECX = (this.regECX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiMemLo; this.backTrack.btiCH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x5A (POP DX) - * - * @this {X86CPU} - */ - opPOPDX: function() { - this.regEDX = (this.regEDX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiMemLo; this.backTrack.btiDH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x5B (POP BX) - * - * @this {X86CPU} - */ - opPOPBX: function() { - this.regEBX = (this.regEBX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiMemLo; this.backTrack.btiBH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x5C (POP SP) - * - * @this {X86CPU} - */ - opPOPSP: function() { - this.setSP((this.getSP() & ~this.dataMask) | this.popWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x5D (POP BP) - * - * @this {X86CPU} - */ - opPOPBP: function() { - this.regEBP = (this.regEBP & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiMemLo; this.backTrack.btiBPHi = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x5E (POP SI) - * - * @this {X86CPU} - */ - opPOPSI: function() { - this.regESI = (this.regESI & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiMemLo; this.backTrack.btiSIHi = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x5F (POP DI) - * - * @this {X86CPU} - */ - opPOPDI: function() { - this.regEDI = (this.regEDI & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiMemLo; this.backTrack.btiDIHi = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x60 (PUSHA) (80186/80188 and up) - * - * @this {X86CPU} - */ - opPUSHA: function() { - /* - * TODO: regLSP needs to be pre-bounds-checked against regLSPLimitLow - */ - var temp = this.getSP() & this.dataMask; - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; - } - this.pushWord(this.regEAX & this.dataMask); - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiCL; this.backTrack.btiMemHi = this.backTrack.btiCH; - } - this.pushWord(this.regECX & this.dataMask); - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiDL; this.backTrack.btiMemHi = this.backTrack.btiDH; - } - this.pushWord(this.regEDX & this.dataMask); - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiBL; this.backTrack.btiMemHi = this.backTrack.btiBH; - } - this.pushWord(this.regEBX & this.dataMask); - this.pushWord(temp); - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiBPLo; this.backTrack.btiMemHi = this.backTrack.btiBPHi; - } - this.pushWord(this.regEBP & this.dataMask); - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiSILo; this.backTrack.btiMemHi = this.backTrack.btiSIHi; - } - this.pushWord(this.regESI & this.dataMask); - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiDILo; this.backTrack.btiMemHi = this.backTrack.btiDIHi; - } - this.pushWord(this.regEDI & this.dataMask); - this.nStepCycles -= this.CYCLES.nOpCyclesPushAll; - }, - /** - * op=0x61 (POPA) (80186/80188 and up) - * - * @this {X86CPU} - */ - opPOPA: function() { - this.regEDI = (this.regEDI & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiMemLo; this.backTrack.btiDIHi = this.backTrack.btiMemHi; - } - this.regESI = (this.regESI & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiMemLo; this.backTrack.btiSIHi = this.backTrack.btiMemHi; - } - this.regEBP = (this.regEBP & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiMemLo; this.backTrack.btiBPHi = this.backTrack.btiMemHi; - } - /* - * TODO: regLSP needs to be pre-bounds-checked against regLSPLimit at the start - */ - this.setSP(this.getSP() + this.dataSize); - // this.regLSP += (I386? this.dataSize : 2); - this.regEBX = (this.regEBX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiMemLo; this.backTrack.btiBH = this.backTrack.btiMemHi; - } - this.regEDX = (this.regEDX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiMemLo; this.backTrack.btiDH = this.backTrack.btiMemHi; - } - this.regECX = (this.regECX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiMemLo; this.backTrack.btiCH = this.backTrack.btiMemHi; - } - this.regEAX = (this.regEAX & ~this.dataMask) | this.popWord(); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesPopAll; - }, - /** - * op=0x62 (BOUND reg,word) (80186/80188 and up) - * - * @this {X86CPU} - */ - opBOUND: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpBOUND); - }, - /** - * op=0x63 (ARPL word,reg) (80286 and up) - * - * @this {X86CPU} - */ - opARPL: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Help.opHelpARPL); - }, - /** - * op=0x64 (FS:) - * - * @this {X86CPU} - */ - opFS: function() { - /* - * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; - this.segData = this.segStack = this.segFS; - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - this.stopCPU(); - }, - /** - * op=0x65 (GS:) - * - * @this {X86CPU} - */ - opGS: function() { - /* - * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; - this.segData = this.segStack = this.segGS; - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - this.stopCPU(); - }, - /** - * op=0x66 (OS:) (80386 and up) - * - * TODO: Review other effective operand-size criteria, cycle count, etc. - * - * @this {X86CPU} - */ - opOS: function() { - if (I386) { - this.opFlags |= X86.OPFLAG.SEG; - this.dataSize ^= 0x6; // that which is 2 shall become 4, and vice versa - this.dataMask ^= (0xffff0000|0); // that which is 0x0000ffff shall become 0xffffffff, and vice versa - this.setDataSize(); - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - this.stopCPU(); - } - }, - /** - * op=0x67 (AS:) (80386 and up) - * - * TODO: Review other effective address-size criteria, cycle count, etc. - * - * @this {X86CPU} - */ - opAS: function() { - if (I386) { - this.opFlags |= X86.OPFLAG.SEG; - this.addrSize ^= 0x06; // that which is 2 shall become 4, and vice versa - this.addrMask ^= (0xffff0000|0); // that which is 0x0000ffff shall become 0xffffffff, and vice versa - this.setAddrSize(); - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - this.stopCPU(); - } - }, - /** - * op=0x68 (PUSH imm16) (80186/80188 and up) - * - * @this {X86CPU} - */ - opPUSH16: function() { - this.pushWord(this.getIPWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x69 (IMUL reg,word,imm16) (80186/80188 and up) - * - * @this {X86CPU} - */ - opIMUL16: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpIMUL16); - }, - /** - * op=0x6A (PUSH imm8) (80186/80188 and up) - * - * @this {X86CPU} - */ - opPUSH8: function() { - if (BACKTRACK) this.backTrack.btiMemHi = 0; - this.pushWord(this.getIPByte()); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x6B (IMUL reg,word,imm8) (80186/80188 and up) - * - * @this {X86CPU} - */ - opIMUL8: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpIMUL8); - }, - /** - * op=0x6C (INSB) (80186/80188 and up) - * - * NOTE: Segment overrides are ignored for this instruction, so we must use segES instead of segData. - * - * @this {X86CPU} - */ - opINSb: function() { - var nReps = 1; - var nDelta = 0; +/** + * op=0x00 (ADD byte,reg) + * + * @this {X86CPU} + */ +X86.opADDmb = function ADDmb() +{ + var b = this.getIPByte(); + /* + * Opcode bytes 0x00 0x00 are sufficiently uncommon that it's more likely we've started executing + * in the weeds, so we'll stop the CPU if we're in DEBUG mode. + */ + if (DEBUG && DEBUGGER && !b) this.stopCPU(); + this.aOpModMemByte[b].call(this, X86.fnADDb); +}; - /* - * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for - * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. - */ - var nCycles = 5; +/** + * op=0x01 (ADD word,reg) + * + * @this {X86CPU} + */ +X86.opADDmw = function ADDmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnADDw); +}; - /* - * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... - */ - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; - } +/** + * op=0x02 (ADD reg,byte) + * + * @this {X86CPU} + */ +X86.opADDrb = function ADDrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnADDb); +}; - if (nReps--) { - var b = this.bus.checkPortInputNotify(this.regEDX, this.regLIP - nDelta - 1); - if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiIO; - this.setSOByte(this.segES, this.regEDI & this.addrMask, b); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0x6D (INSW) (80186/80188 and up) - * - * NOTE: Segment overrides are ignored for this instruction, so we must use segDS instead of segData. - * - * @this {X86CPU} - */ - opINSw: function() { - var nReps = 1; - var nDelta = 0; +/** + * op=0x03 (ADD reg,word) + * + * @this {X86CPU} + */ +X86.opADDrw = function ADDrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnADDw); +}; - /* - * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for - * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. - */ - var nCycles = 5; +/** + * op=0x04 (ADD AL,imm8) + * + * @this {X86CPU} + */ +X86.opADDALb = function ADDALb() +{ + this.regEAX = (this.regEAX & ~0xff) | X86.fnADDb.call(this, this.regEAX & 0xff, this.getIPByte()); + /* + * NOTE: Whenever the result is "blended" value (eg, of btiAL and btiMemLo), a new bti should be + * allocated to reflect that fact; however, I'm leaving "perfect" BACKTRACK support for another day. + */ + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + /* + * In the absence of any EA calculations, fnADDb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; - /* - * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... - */ - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; - } - if (nReps--) { - var addrFrom = this.regLIP - nDelta - 1; - var w = this.bus.checkPortInputNotify(this.regEDX, addrFrom); - if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiIO; - w |= (this.bus.checkPortInputNotify(this.regEDX, addrFrom) << 8); - if (BACKTRACK) this.backTrack.btiMemHi = this.backTrack.btiIO; - this.setSOWord(this.segES, this.regEDI & this.addrMask, w); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0x6E (OUTSB) (80186/80188 and up) - * - * NOTE: Segment overrides are ignored for this instruction, so we must use segDS instead of segData. - * - * @this {X86CPU} - */ - opOUTSb: function() { - var nReps = 1; - var nDelta = 0; - - /* - * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for - * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. TODO: Fix this someday. - */ - var nCycles = 5; - - /* - * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... - */ - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; - } - if (nReps--) { - var b = this.getSOByte(this.segDS, this.regESI & this.addrMask); - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiMemLo; - this.bus.checkPortOutputNotify(this.regEDX, b, this.regLIP - nDelta - 1); - if (nReps) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0x6F (OUTSW) (80186/80188 and up) - * - * NOTE: Segment overrides are ignored for this instruction, so we must use segDS instead of segData. - * - * @this {X86CPU} - */ - opOUTSw: function() { - var nReps = 1; - var nDelta = 0; - - /* - * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for - * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. TODO: Fix this someday. - */ - var nCycles = 5; - - /* - * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... - */ - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; - } - if (nReps--) { - var w = this.getSOWord(this.segDS, this.regESI & this.addrMask); - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - var addrFrom = this.regLIP - nDelta - 1; - if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiMemLo; - this.bus.checkPortOutputNotify(this.regEDX, w & 0xff, addrFrom); - if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiMemHi; - this.bus.checkPortOutputNotify(this.regEDX, w >> 8, addrFrom); - if (nReps) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0x70 (JO disp) - * - * @this {X86CPU} - */ - opJO: function() { - var disp = this.getIPDisp(); - if (this.getOF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x71 (JNO disp) - * - * @this {X86CPU} - */ - opJNO: function() { - var disp = this.getIPDisp(); - if (!this.getOF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x72 (JC disp, aka JB disp) - * - * @this {X86CPU} - */ - opJC: function() { - var disp = this.getIPDisp(); - if (this.getCF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x73 (JNC disp, aka JAE disp) - * - * @this {X86CPU} - */ - opJNC: function() { - var disp = this.getIPDisp(); - if (!this.getCF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x74 (JZ disp) - * - * @this {X86CPU} - */ - opJZ: function() { - var disp = this.getIPDisp(); - if (this.getZF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x75 (JNZ disp) - * - * @this {X86CPU} - */ - opJNZ: function() { - var disp = this.getIPDisp(); - if (!this.getZF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x76 (JBE disp) - * - * @this {X86CPU} - */ - opJBE: function() { - var disp = this.getIPDisp(); - if (this.getCF() || this.getZF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x77 (JNBE disp, JA disp) - * - * @this {X86CPU} - */ - opJNBE: function() { - var disp = this.getIPDisp(); - if (!this.getCF() && !this.getZF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x78 (JS disp) - * - * @this {X86CPU} - */ - opJS: function() { - var disp = this.getIPDisp(); - if (this.getSF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x79 (JNS disp) - * - * @this {X86CPU} - */ - opJNS: function() { - var disp = this.getIPDisp(); - if (!this.getSF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x7A (JP disp) - * - * @this {X86CPU} - */ - opJP: function() { - var disp = this.getIPDisp(); - if (this.getPF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x7B (JNP disp) - * - * @this {X86CPU} - */ - opJNP: function() { - var disp = this.getIPDisp(); - if (!this.getPF()) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x7C (JL disp) - * - * @this {X86CPU} - */ - opJL: function() { - var disp = this.getIPDisp(); - if (!this.getSF() != !this.getOF()) { // jshint ignore:line - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x7D (JNL disp, aka JGE disp) - * - * @this {X86CPU} - */ - opJNL: function() { - var disp = this.getIPDisp(); - if (!this.getSF() == !this.getOF()) { // jshint ignore:line - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x7E (JLE disp) - * - * @this {X86CPU} - */ - opJLE: function() { - var disp = this.getIPDisp(); - if (this.getZF() || !this.getSF() != !this.getOF()) { // jshint ignore:line - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x7F (JNLE disp, aka JG disp) - * - * @this {X86CPU} - */ - opJNLE: function() { - var disp = this.getIPDisp(); - if (!this.getZF() && !this.getSF() == !this.getOF()) { // jshint ignore:line - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; - }, - /** - * op=0x80/0x82 (GRP1 byte,imm8) - * - * @this {X86CPU} - */ - opGrp1b: function() { - this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp1b, this.getIPByte); - this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); - }, - /** - * op=0x81 (GRP1 word,imm16) - * - * @this {X86CPU} - */ - opGrp1w: function() { - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp1w, this.getIPWord); - this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); - }, - /** - * op=0x83 (GRP1 word,disp) - * - * @this {X86CPU} - */ - opGrp1sw: function() { - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp1w, this.getIPDisp); - this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); - }, - /** - * op=0x84 (TEST reg,byte) - * - * @this {X86CPU} - */ - opTESTrb: function() { - this.aOpModMemByte[this.getIPByte()].call(this, X86Help.opHelpTESTb); - }, - /** - * op=0x85 (TEST reg,word) - * - * @this {X86CPU} - */ - opTESTrw: function() { - this.aOpModMemWord[this.getIPByte()].call(this, X86Help.opHelpTESTw); - }, - /** - * op=0x86 (XCHG reg,byte) - * - * NOTE: The XCHG instruction is unique in that both src and dst are both read and written; - * see opHelpXCHGrb() for how we deal with this special case. - * - * @this {X86CPU} - */ - opXCHGrb: function() { - /* - * If the second operand is a register, then the ModRegByte decoder must use separate "get" and - * "set" assignments, otherwise instructions like "XCHG DH,DL" will end up using a stale DL instead of - * the updated DL. - * - * To be clear, a single assignment like this will fail: - * - * opModRegByteF2: function(fn) { - * this.regEDX = (this.regEDX & 0xff) | (fn.call(this, this.regEDX >> 8, this.regEDX & 0xff) << 8); - * } - * - * which is why all affected decoders now use separate assignments; eg: - * - * opModRegByteF2: function(fn) { - * var b = fn.call(this, this.regEDX >> 8, this.regEDX & 0xff); - * this.regEDX = (this.regEDX & 0xff) | (b << 8); - * } - */ - this.aOpModRegByte[this.bModRM = this.getIPByte()].call(this, X86Help.opHelpXCHGrb); - }, - /** - * op=0x87 (XCHG reg,word) - * - * NOTE: The XCHG instruction is unique in that both src and dst are both read and written; - * see opHelpXCHGrw() for how we deal with this special case. - * - * @this {X86CPU} - */ - opXCHGrw: function() { - this.aOpModRegWord[this.bModRM = this.getIPByte()].call(this, X86Help.opHelpXCHGrw); - }, - /** - * op=0x88 (MOV byte,reg) - * - * @this {X86CPU} - */ - opMOVmb: function() { - /* - * Like other MOV operations, the destination does not need to be read, just written. - */ - this.opFlags |= X86.OPFLAG.NOREAD; - this.aOpModMemByte[this.getIPByte()].call(this, X86Help.opHelpMOV); - }, - /** - * op=0x89 (MOV word,reg) - * - * @this {X86CPU} - */ - opMOVmw: function() { - /* - * Like other MOV operations, the destination does not need to be read, just written. - */ - this.opFlags |= X86.OPFLAG.NOREAD; - this.aOpModMemWord[this.getIPByte()].call(this, X86Help.opHelpMOV); - }, - /** - * op=0x8A (MOV reg,byte) - * - * @this {X86CPU} - */ - opMOVrb: function() { - this.aOpModRegByte[this.getIPByte()].call(this, X86Help.opHelpMOV); - }, - /** - * op=0x8B (MOV reg,word) - * - * @this {X86CPU} - */ - opMOVrw: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpMOV); - }, - /** - * op=0x8C (MOV word,sr) - * - * NOTE: Since the ModRM decoders deal only with general-purpose registers, we must move - * the appropriate segment register into a special variable (regMD16), which our helper function - * (opHelpMOVMD16) will use to replace the decoder's src operand. - * - * @this {X86CPU} - */ - opMOVwsr: function() { - var bModRM = this.getIPByte(); - var reg = (bModRM & 0x38) >> 3; - switch (reg) { - case 0x0: - this.regMD16 = this.segES.sel; - break; - case 0x1: - this.regMD16 = this.segCS.sel; - break; - case 0x2: - this.regMD16 = this.segSS.sel; - break; - case 0x3: - this.regMD16 = this.segDS.sel; - break; - default: - X86Help.opHelpUndefined.call(this); - return; - } - /* - * Like other MOV operations, the destination does not need to be read, just written. - */ - this.opFlags |= X86.OPFLAG.NOREAD; - this.aOpModMemWord[bModRM].call(this, X86Help.opHelpMOVMD16); - }, - /** - * op=0x8D (LEA reg,word) - * - * @this {X86CPU} - */ - opLEA: function() { - this.opFlags |= X86.OPFLAG.NOREAD; - this.segData = this.segStack = this.segNULL; // we can't have the EA calculation, if any, "polluted" by segment arithmetic - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLEA); - }, - /** - * op=0x8E (MOV sr,word) - * - * NOTE: Since the ModRM decoders deal only with general-purpose registers, we have to - * make a note of which general-purpose register will be overwritten, so that we can restore it - * after moving the modified value to the correct segment register. - * - * @this {X86CPU} - */ - opMOVsrw: function() { - var temp; - var bModRM = this.getIPByte(); - var reg = (bModRM & 0x38) >> 3; - switch(reg) { - case 0x0: - temp = this.regEAX; - break; - case 0x2: - temp = this.regEDX; - break; - case 0x3: - temp = this.regEBX; - break; - default: - if (this.model == X86.MODEL_80286 || this.model == X86.MODEL_80386 && reg != 0x4 && reg != 0x5) { - X86Help.opHelpInvalid.call(this); - return; - } - switch(reg) { - case 0x1: // MOV to CS is undocumented on 8086/8088/80186/80188, and invalid on 80286 and up - temp = this.regECX; - break; - case 0x4: // this form of MOV to ES is undocumented on 8086/8088/80186/80188, invalid on 80286, and uses FS starting with 80386 - temp = this.getSP(); - break; - case 0x5: // this form of MOV to CS is undocumented on 8086/8088/80186/80188, invalid on 80286, and uses GS starting with 80386 - temp = this.regEBP; - break; - case 0x6: // this form of MOV to SS is undocumented on 8086/8088/80186/80188, invalid on 80286 and up - temp = this.regESI; - break; - case 0x7: // this form of MOV to DS is undocumented on 8086/8088/80186/80188, invalid on 80286 and up - temp = this.regEDI; - break; - default: - break; - } - break; - } - this.aOpModRegWord[bModRM].call(this, X86Help.opHelpMOV); - switch (reg) { - case 0x0: - this.setES(this.regEAX); - this.regEAX = temp; - break; - case 0x1: - this.setCS(this.regECX); - this.regECX = temp; - break; - case 0x2: - this.setSS(this.regEDX); - this.regEDX = temp; - break; - case 0x3: - this.setDS(this.regEBX); - this.regEBX = temp; - break; - case 0x4: - if (I386 && this.model >= X86.MODEL_80386) { - this.setFS(this.getSP()); - } else { - this.setES(this.getSP()); - } - this.setSP(temp); - break; - case 0x5: - if (I386 && this.model >= X86.MODEL_80386) { - this.setGS(this.regEBP); - } else { - this.setCS(this.regEBP); - } - this.regEBP = temp; - break; - case 0x6: - this.setSS(this.regESI); - this.regESI = temp; - break; - case 0x7: - this.setDS(this.regEDI); - this.regEDI = temp; - break; - default: - break; // there IS no other case, but JavaScript inspections don't know that - } - }, - /** - * op=0x8F (POP word) - * - * @this {X86CPU} - */ - opPOPmw: function() { - /* - * Like other MOV operations, the destination does not need to be read, just written. - */ - this.opFlags |= X86.OPFLAG.NOREAD; - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpPOPw, this.popWord); - }, - /** - * op=0x90 (NOP, aka XCHG AX,AX) - * - * @this {X86CPU} - */ - opNOP: function() { - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x91 (XCHG AX,CX) - * - * @this {X86CPU} - */ - opXCHGCX: function() { - var temp = this.regEAX; - this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regECX & this.dataMask) : this.regECX); - this.regECX = (I386? (this.regECX & ~this.dataMask) | (temp & this.dataMask) : temp); - if (BACKTRACK) { - temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiCL; this.backTrack.btiCL = temp; - temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiCH; this.backTrack.btiCH = temp; - } - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x92 (XCHG AX,DX) - * - * @this {X86CPU} - */ - opXCHGDX: function() { - var temp = this.regEAX; - this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEDX & this.dataMask) : this.regEDX); - this.regEDX = (I386? (this.regEDX & ~this.dataMask) | (temp & this.dataMask) : temp); - if (BACKTRACK) { - temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiDL; this.backTrack.btiDL = temp; - temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiDH; this.backTrack.btiDH = temp; - } - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x93 (XCHG AX,BX) - * - * @this {X86CPU} - */ - opXCHGBX: function() { - var temp = this.regEAX; - this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEBX & this.dataMask) : this.regEBX); - this.regEBX = (I386? (this.regEBX & ~this.dataMask) | (temp & this.dataMask) : temp); - if (BACKTRACK) { - temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiBL; this.backTrack.btiBL = temp; - temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiBH; this.backTrack.btiBH = temp; - } - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x94 (XCHG AX,SP) - * - * @this {X86CPU} - */ - opXCHGSP: function() { - var temp = this.regEAX; - var regESP = this.getSP(); - this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (regESP & this.dataMask) : regESP); - this.setSP((I386? (regESP & ~this.dataMask) | (temp & this.dataMask) : temp)); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiAH = 0; - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x95 (XCHG AX,BP) - * - * @this {X86CPU} - */ - opXCHGBP: function() { - var temp = this.regEAX; - this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEBP & this.dataMask) : this.regEBP); - this.regEBP = (I386? (this.regEBP & ~this.dataMask) | (temp & this.dataMask) : temp); - if (BACKTRACK) { - temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiBPLo; this.backTrack.btiBPLo = temp; - temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiBPHi; this.backTrack.btiBPHi = temp; - } - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x96 (XCHG AX,SI) - * - * @this {X86CPU} - */ - opXCHGSI: function() { - var temp = this.regEAX; - this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regESI & this.dataMask) : this.regESI); - this.regESI = (I386? (this.regESI & ~this.dataMask) | (temp & this.dataMask) : temp); - if (BACKTRACK) { - temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiSILo; this.backTrack.btiSILo = temp; - temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiSIHi; this.backTrack.btiSIHi = temp; - } - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x97 (XCHG AX,DI) - * - * @this {X86CPU} - */ - opXCHGDI: function() { - var temp = this.regEAX; - this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEDI & this.dataMask) : this.regEDI); - this.regEDI = (I386? (this.regEDI & ~this.dataMask) | (temp & this.dataMask) : temp); - if (BACKTRACK) { - temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiDILo; this.backTrack.btiDILo = temp; - temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiDIHi; this.backTrack.btiDIHi = temp; - } - this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs - }, - /** - * op=0x98 (CBW/CWDE) - * - * NOTE: The 16-bit form (CBW) sign-extends AL into AX, whereas the 32-bit form (CWDE) sign-extends AX into EAX; - * CWDE is similar to CWD, except that the destination is EAX rather than DX:AX. - * - * @this {X86CPU} - */ - opCBW: function() { - if (this.dataSize == 2) { - /* - * CBW - */ - this.regEAX = (this.regEAX & ~0xffff) | (((this.regEAX << 24) >> 24) & 0xffff); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiAL; - } else { - /* - * CWDE - */ - this.regEAX = ((this.regEAX << 16) >> 16); - } - this.nStepCycles -= 2; // CBW takes 2 cycles on all CPUs through 80286 - }, - /** - * op=0x99 (CWD/CDQ) - * - * NOTE: The 16-bit form (CWD) sign-extends AX, producing a 32-bit result in DX:AX, while the 32-bit form (CDQ) - * sign-extends EAX, producing a 64-bit result in EDX:EAX. - * - * @this {X86CPU} - */ - opCWD: function() { - if (this.dataSize == 2) { - /* - * CWD - */ - this.regEDX = (this.regEDX & ~0xffff) | ((this.regEAX & 0x8000)? 0xffff : 0); - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiDH = this.backTrack.btiAH; - } else { - /* - * CDQ - */ - this.regEDX = (this.regEAX & (0x80000000|0))? -1 : 0; - } - this.nStepCycles -= this.CYCLES.nOpCyclesCWD; - }, - /** - * op=0x9A (CALL seg:off) - * - * @this {X86CPU} - */ - opCALLF: function() { - X86Help.opHelpCALLF.call(this, this.getIPWord(), this.getIPWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesCallF; - }, - /** - * op=0x9B (WAIT) - * - * @this {X86CPU} - */ - opWAIT: function() { - this.printMessage("WAIT not implemented", Messages.CPU); - this.nStepCycles--; - }, - /** - * op=0x9C (PUSHF) - * - * @this {X86CPU} - */ - opPUSHF: function() { - this.pushWord(this.getPS()); - this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; - }, - /** - * op=0x9D (POPF) - * - * @this {X86CPU} - */ - opPOPF: function() { - this.setPS(this.popWord()); - /* - * NOTE: I'm assuming that neither POPF nor IRET are required to set NOINTR like STI does. - */ - this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; - }, - /** - * op=0x9E (SAHF) - * - * @this {X86CPU} - */ - opSAHF: function() { - /* - * NOTE: While it make LOOK more efficient to do this: - * - * this.setPS((this.getPS() & ~X86.PS.SAHF) | ((this.regEAX >> 8) & X86.PS.SAHF)); - * - * the call to getPS() forces all the "indirect" flags to be resolved first, and then the call - * to setPS() forces them all to be recalculated, so on balance, the code below is probably more - * efficient, and may also avoid some unexpected side-effects of slamming the entire PS register. - */ - var ah = this.regEAX >> 8; - if (ah & X86.PS.CF) this.setCF(); else this.clearCF(); - if (ah & X86.PS.PF) this.setPF(); else this.clearPF(); - if (ah & X86.PS.AF) this.setAF(); else this.clearAF(); - if (ah & X86.PS.ZF) this.setZF(); else this.clearZF(); - if (ah & X86.PS.SF) this.setSF(); else this.clearSF(); - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - this.assert((this.getPS() & X86.PS.SAHF) == (ah & X86.PS.SAHF)); - }, - /** - * op=0x9F (LAHF) - * - * @this {X86CPU} - */ - opLAHF: function() { - this.regEAX = (this.regEAX & 0xff) | (this.getPS() & X86.PS.SAHF) << 8; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xA0 (MOV AL,mem) - * - * @this {X86CPU} - */ - opMOVALm: function() { - this.regEAX = (this.regEAX & ~0xff) | this.getSOByte(this.segData, this.getIPWord()); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesMovAM; - }, - /** - * op=0xA1 (MOV AX,mem) - * - * @this {X86CPU} - */ - opMOVAXm: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | this.getSOWord(this.segData, this.getIPWord()); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesMovAM; - }, - /** - * op=0xA2 (MOV mem,AL) - * - * @this {X86CPU} - */ - opMOVmAL: function() { - if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiAL; - /* - * setSOByte() truncates the value as appropriate - */ - this.setSOByte(this.segData, this.getIPWord(), this.regEAX); - this.nStepCycles -= this.CYCLES.nOpCyclesMovMA; - }, - /** - * op=0xA3 (MOV mem,AX) - * - * @this {X86CPU} - */ - opMOVmAX: function() { - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; - } - /* - * setSOWord() truncates the value as appropriate - */ - this.setSOWord(this.segData, this.getIPWord(), this.regEAX); - this.nStepCycles -= this.CYCLES.nOpCyclesMovMA; - }, - /** - * op=0xA4 (MOVSB) - * - * @this {X86CPU} - */ - opMOVSb: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesMovS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesMovSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesMovSr0; - } - if (nReps--) { - var nInc = ((this.regPS & X86.PS.DF)? -1 : 1); - this.setSOByte(this.segES, this.regEDI & this.addrMask, this.getSOByte(this.segData, this.regESI)); - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xA5 (MOVSW) - * - * @this {X86CPU} - */ - opMOVSw: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesMovS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesMovSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesMovSr0; - } - if (nReps--) { - var nInc = ((this.regPS & X86.PS.DF)? -2 : 2); - this.setSOWord(this.segES, this.regEDI & this.addrMask, this.getSOWord(this.segData, this.regESI)); - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xA6 (CMPSB) - * - * @this {X86CPU} - */ - opCMPSb: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesCmpS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesCmpSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesCmpSr0; - } - if (nReps--) { - var nInc = ((this.regPS & X86.PS.DF)? -1 : 1); - var bDst = this.getEAByte(this.segData, this.regESI & this.addrMask); - var bSrc = this.modEAByte(this.segES, this.regEDI & this.addrMask); - X86Grps.opGrpCMPb.call(this, bDst, bSrc); - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); - /* - * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM - */ - this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regECX -= nDelta; - /* - * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is - * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those - * two values are equal, we must continue. - */ - if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { - if (BUGS_8086) { - this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xA7 (CMPSW) - * - * @this {X86CPU} - */ - opCMPSw: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesCmpS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesCmpSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesCmpSr0; - } - if (nReps--) { - var nInc = ((this.regPS & X86.PS.DF)? -2 : 2); - var wDst = this.getEAWord(this.segData, this.regESI & this.addrMask); - var wSrc = this.modEAWord(this.segES, this.regEDI & this.addrMask); - X86Grps.opGrpCMPw.call(this, wDst, wSrc); - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); - /* - * NOTE: As long as we're calling opGrpCMPw(), all our cycle times must be reduced by nOpCyclesArithRM - */ - this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regECX -= nDelta; - /* - * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is - * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those - * two values are equal, we must continue. - */ - if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { - if (BUGS_8086) { - this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xA8 (TEST AL,imm8) - * - * @this {X86CPU} - */ - opTESTALb: function() { - this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = this.regEAX & this.getIPByte(); - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= this.CYCLES.nOpCyclesAAA; - }, - /** - * op=0xA9 (TEST AX,imm16) - * - * @this {X86CPU} - */ - opTESTAXw: function() { - this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = this.regEAX & this.getIPWord(); - this.resultSize = X86.RESULT.SIZE_WORD; - this.nStepCycles -= this.CYCLES.nOpCyclesAAA; - }, - /** - * op=0xAA (STOSB) - * - * NOTES: Segment overrides are ignored for this instruction, so we must use segES instead of segData. - * - * @this {X86CPU} - */ - opSTOSb: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesStoS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesStoSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesStoSr0; - } - if (nReps--) { - /* - * NOTE: We rely on setSOByte() to truncate regEAX to 8 bits; if setSOByte() changes, mask AX below. - */ - if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiAL; - this.setSOByte(this.segES, this.regEDI & this.addrMask, this.regEAX); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xAB (STOSW) - * - * NOTES: Segment overrides are ignored for this instruction, so we must use segES instead of segData. - * - * @this {X86CPU} - */ - opSTOSw: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesStoS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesStoSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesStoSr0; - } - if (nReps--) { - /* - * NOTE: Storing a word imposes another 4-cycle penalty on the 8088, so consider that - * if you think the cycle times here are too high. - */ - if (BACKTRACK) { - this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; - } - this.setSOWord(this.segES, this.regEDI & this.addrMask, this.regEAX); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xAC (LODSB) - * - * @this {X86CPU} - */ - opLODSb: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesLodS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesLodSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesLodSr0; - } - if (nReps--) { - this.regEAX = (this.regEAX & ~0xff) | this.getSOByte(this.segData, this.regESI & this.addrMask); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xAD (LODSW) - * - * @this {X86CPU} - */ - opLODSw: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesLodS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesLodSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesLodSr0; - } - if (nReps--) { - this.regEAX = this.getSOWord(this.segData, this.regESI & this.addrMask); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); - this.nStepCycles -= nCycles; - this.regECX -= nDelta; - if (nReps) { - if (BUGS_8086) { - this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xAE (SCASB) - * - * @this {X86CPU} - */ - opSCASb: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesScaS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesScaSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesScaSr0; - } - if (nReps--) { - X86Grps.opGrpCMPb.call(this, this.regEAX & 0xff, this.modEAByte(this.segES, this.regEDI & this.addrMask)); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); - /* - * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM - */ - this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regECX -= nDelta; - /* - * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is - * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those - * two values are equal, we must continue. - */ - if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xAF (SCASW) - * - * @this {X86CPU} - */ - opSCASw: function() { - var nReps = 1; - var nDelta = 0; - var nCycles = this.CYCLES.nOpCyclesScaS; - if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regECX; - nDelta = 1; - nCycles = this.CYCLES.nOpCyclesScaSrn; - if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesScaSr0; - } - if (nReps--) { - X86Grps.opGrpCMPw.call(this, this.regEAX, this.modEAWord(this.segES, this.regEDI & this.addrMask)); - this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); - /* - * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM - */ - this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regECX -= nDelta; - /* - * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is - * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those - * two values are equal, we must continue. - */ - if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { - if (BUGS_8086) { - this.advanceIP(-2); // this instruction does not support segment overrides - this.assert(this.regLIP == this.opLIP); - } else { - this.regLIP = this.opLIP; - } - this.opFlags |= X86.OPFLAG.REPEAT; - } - } - }, - /** - * op=0xB0 (MOV AL,imm8) - * - * @this {X86CPU} - */ - opMOVALb: function() { - this.regEAX = (this.regEAX & ~0xff) | this.getIPByte(); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB1 (MOV CL,imm8) - * - * @this {X86CPU} - */ - opMOVCLb: function() { - this.regECX = (this.regECX & ~0xff) | this.getIPByte(); - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB2 (MOV DL,imm8) - * - * @this {X86CPU} - */ - opMOVDLb: function() { - this.regEDX = (this.regEDX & ~0xff) | this.getIPByte(); - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB3 (MOV BL,imm8) - * - * @this {X86CPU} - */ - opMOVBLb: function() { - this.regEBX = (this.regEBX & ~0xff) | this.getIPByte(); - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB4 (MOV AH,imm8) - * - * @this {X86CPU} - */ - opMOVAHb: function() { - this.regEAX = (this.regEAX & 0xff) | (this.getIPByte() << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB5 (MOV CH,imm8) - * - * @this {X86CPU} - */ - opMOVCHb: function() { - this.regECX = (this.regECX & 0xff) | (this.getIPByte() << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB6 (MOV DH,imm8) - * - * @this {X86CPU} - */ - opMOVDHb: function() { - this.regEDX = (this.regEDX & 0xff) | (this.getIPByte() << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB7 (MOV BH,imm8) - * - * @this {X86CPU} - */ - opMOVBHb: function() { - this.regEBX = (this.regEBX & 0xff) | (this.getIPByte() << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiMemLo; - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB8 (MOV AX,imm16) - * - * @this {X86CPU} - */ - opMOVAXw: function() { - this.regEAX = (this.regEAX & ~this.dataMask) | this.getIPWord(); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xB9 (MOV CX,imm16) - * - * @this {X86CPU} - */ - opMOVCXw: function() { - this.regECX = (this.regECX & ~this.dataMask) | this.getIPWord(); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiMemLo; this.backTrack.btiCH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xBA (MOV DX,imm16) - * - * @this {X86CPU} - */ - opMOVDXw: function() { - this.regEDX = (this.regEDX & ~this.dataMask) | this.getIPWord(); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiMemLo; this.backTrack.btiDH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xBB (MOV BX,imm16) - * - * @this {X86CPU} - */ - opMOVBXw: function() { - this.regEBX = (this.regEBX & ~this.dataMask) | this.getIPWord(); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiMemLo; this.backTrack.btiBH = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xBC (MOV SP,imm16) - * - * @this {X86CPU} - */ - opMOVSPw: function() { - this.setSP((this.getSP() & ~this.dataMask) | this.getIPWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xBD (MOV BP,imm16) - * - * @this {X86CPU} - */ - opMOVBPw: function() { - this.regEBP = (this.regEBP & ~this.dataMask) | this.getIPWord(); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiMemLo; this.backTrack.btiBPHi = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xBE (MOV SI,imm16) - * - * @this {X86CPU} - */ - opMOVSIw: function() { - this.regESI = (this.regESI & ~this.dataMask) | this.getIPWord(); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiMemLo; this.backTrack.btiSIHi = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xBF (MOV DI,imm16) - * - * @this {X86CPU} - */ - opMOVDIw: function() { - this.regEDI = (this.regEDI & ~this.dataMask) | this.getIPWord(); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiMemLo; this.backTrack.btiDIHi = this.backTrack.btiMemHi; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; - }, - /** - * op=0xC0 (GRP2 byte,imm8) (80186/80188 and up) - * - * @this {X86CPU} - */ - opGrp2bi: function() { - this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2CountImm); - }, - /** - * op=0xC1 (GRP2 word,imm16) (80186/80188 and up) - * - * @this {X86CPU} - */ - opGrp2wi: function() { - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2CountImm); - }, - /** - * op=0xC2 (RET n) - * - * @this {X86CPU} - */ - opRETn: function() { - var n = this.getIPWord() << (this.dataSize >> 2); - this.setIP(this.popWord()); - if (n) this.setSP(this.getSP() + n); // TODO: optimize - this.nStepCycles -= this.CYCLES.nOpCyclesRetn; - }, - /** - * op=0xC3 (RET) - * - * @this {X86CPU} - */ - opRET: function() { - this.setIP(this.popWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesRet; - }, - /** - * op=0xC4 (LES reg,word) - * - * @this {X86CPU} - */ - opLES: function() { - /* - * This is like a "MOV reg,rm" operation, but it also loads ES from the next word. - */ - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLES); - }, - /** - * op=0xC5 (LDS reg,word) - * - * @this {X86CPU} - */ - opLDS: function() { - /* - * This is like a "MOV reg,rm" operation, but it also loads DS from the next word. - */ - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLDS); - }, - /** - * op=0xC6 (MOV byte,imm8) - * - * @this {X86CPU} - */ - opMOVb: function() { - /* - * Like other MOV operations, the destination does not need to be read, just written. - */ - this.opFlags |= X86.OPFLAG.NOREAD; - this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPByte); - }, - /** - * op=0xC7 (MOV word,imm16) - * - * @this {X86CPU} - */ - opMOVw: function() { - /* - * Like other MOV operations, the destination does not need to be read, just written. - */ - this.opFlags |= X86.OPFLAG.NOREAD; - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPWord); - }, - /** - * op=0xC8 (ENTER imm16,imm8) (80186/80188 and up) - * - * Here's the pseudo-code from http://www.pcjs.org/pubs/pc/reference/intel/80286/progref, p.B-40 (p.250): - * - * LEVEL := LEVEL MOD 32 - * Push BP - * Set a temporary value FRAME_PTR := SP - * If LEVEL > 0 then - * Repeat (LEVEL-1) times: - * BP := BP - 2 - * Push the word pointed to by BP - * End repeat - * Push FRAME_PTR - * End if - * BP := FRAME_PTR - * SP := SP - first operand - * - * TODO: Verify that this pseudo-code is identical on the 80186/80188 (eg, is LEVEL MOD 32 performed in both instances?) - * - * @this {X86CPU} - */ - opENTER: function() { - var wLocal = this.getIPWord(); - var bLevel = this.getIPByte() & 0x1f; - /* - * NOTE: 11 is the minimum cycle time for the 80286; the 80186/80188 has different cycle times: 15, 25 and - * 22 + 16 * (bLevel - 1) for bLevel 0, 1 and > 1, respectively. However, accurate cycle times for the 80186/80188 - * is low priority. TODO: Fix this someday. - */ - this.nStepCycles -= 11; - this.pushWord(this.regEBP); - var wFrame = this.getSP() & this.segSS.addrMask; - if (bLevel > 0) { - this.nStepCycles -= (bLevel << 2) + (bLevel > 1? 1 : 0); - while (--bLevel) { - this.regEBP = (this.regEBP & ~this.segSS.addrMask) | ((this.regEBP - this.dataSize) & this.segSS.addrMask); - this.pushWord(this.getSOWord(this.segSS, this.regEBP & this.segSS.addrMask)); - } - this.pushWord(wFrame); - } - this.regEBP = (this.regEBP & ~this.segSS.addrMask) | wFrame; - this.setSP((this.getSP() & ~this.segSS.addrMask) | ((this.getSP() - wLocal) & this.segSS.addrMask)); - }, - /** - * op=0xC9 (LEAVE) (80186/80188 and up) - * - * Set SP to BP, then pop BP. - * - * @this {X86CPU} - */ - opLEAVE: function() { - this.setSP((this.getSP() & ~this.segSS.addrMask) | (this.regEBP & this.segSS.addrMask)); - this.regEBP = (this.regEBP & ~this.dataMask) | (this.popWord() & this.dataMask); - /* - * NOTE: 5 is the cycle time for the 80286; the 80186/80188 has a cycle time of 8. However, accurate cycle - * counts for the 80186/80188 is low priority. TODO: Fix this someday. - */ - this.nStepCycles -= 5; - }, - /** - * op=0xCA (RETF n) - * - * @this {X86CPU} - */ - opRETFn: function() { - X86Help.opHelpRETF.call(this, this.getIPWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesRetFn; - }, - /** - * op=0xCB (RETF) - * - * @this {X86CPU} - */ - opRETF: function() { - X86Help.opHelpRETF.call(this, 0); - this.nStepCycles -= this.CYCLES.nOpCyclesRetF; - }, - /** - * op=0xCC (INT 3) - * - * @this {X86CPU} - */ - opINT3: function() { - X86Help.opHelpINT.call(this, X86.EXCEPTION.BREAKPOINT, null, this.CYCLES.nOpCyclesInt3D); - }, - /** - * op=0xCD (INT n) - * - * @this {X86CPU} - */ - opINTn: function() { - var nInt = this.getIPByte(); - if (this.checkIntNotify(nInt)) { - X86Help.opHelpINT.call(this, nInt, null, 0); - return; - } - this.nStepCycles--; // we don't need to assess the full cost of nOpCyclesInt, but we need to assess something... - }, - /** - * op=0xCE (INTO: INT 4 if OF set) - * - * @this {X86CPU} - */ - opINTO: function() { - if (this.getOF()) { - X86Help.opHelpINT.call(this, X86.EXCEPTION.OVERFLOW, null, this.CYCLES.nOpCyclesIntOD); - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesIntOFall; - }, - /** - * op=0xCF (IRET) - * - * @this {X86CPU} - */ - opIRET: function() { - X86Help.opHelpIRET.call(this); - }, - /** - * op=0xD0 (GRP2 byte,1) - * - * @this {X86CPU} - */ - opGrp2b1: function() { - this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2Count1); - }, - /** - * op=0xD1 (GRP2 word,1) - * - * @this {X86CPU} - */ - opGrp2w1: function() { - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2Count1); - }, - /** - * op=0xD2 (GRP2 byte,CL) - * - * @this {X86CPU} - */ - opGrp2bCL: function() { - this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2CountCL); - }, - /** - * op=0xD3 (GRP2 word,CL) - * - * @this {X86CPU} - */ - opGrp2wCL: function() { - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2CountCL); - }, - /** - * op=0xD4 0x0A (AAM) - * - * From "The 8086 Book": - * - * 1. Divide the AL register by OA16. Store the quotient in the AH register. Store the remainder in the AL register. - * 2. Set the flags in the following manner: - * Parity: based on the AL register - * Sign : based on the high-order bit of the AL register Zero: based on the AL register - * Carry, Overflow, and Arithmetic: undefined - * - * @this {X86CPU} - */ - opAAM: function() { - var bDivisor = this.getIPByte(); - var AL = this.regEAX & 0xff; - var bQuotient = (AL / bDivisor) & 0xff; - var bRemainder = AL % bDivisor; - this.regEAX = (bQuotient << 8) | bRemainder; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.resultZeroCarry = this.resultParitySign = AL; - this.nStepCycles -= this.CYCLES.nOpCyclesAAM; - }, - /** - * op=0xD5 (AAD) - * - * From "The 8086 Book": - * - * 1. Multiply the contents of the AH register by 0x0A - * 2. Add AH to AL. - * 3. Store 0x00 into the AH register. - * 4. Set the flags in the following manner: - * Parity: based on the AL register - * Zero: based on the AL register - * Sign: based on the high-order bit of the AL register - * Carry, Overflow, Arithmetic: undefined - * - * @this {X86CPU} - */ - opAAD: function() { - var bMultiplier = this.getIPByte(); - this.resultZeroCarry = this.resultParitySign = this.regEAX = (((this.regEAX >> 8) * bMultiplier) + this.regEAX) & 0xff; - this.resultSize = X86.RESULT.SIZE_BYTE; - this.nStepCycles -= this.CYCLES.nOpCyclesAAD; - }, - /** - * op=0xD6 (SALC aka SETALC) (undocumented until Pentium Pro) - * - * Sets AL to 0xFF if CF=1, 0x00 otherwise; no flags are affected (similar to SBB AL,AL, but without side-effects) - * - * WARNING: I have no idea how many clocks this instruction originally consumed, so for now, I'm going with the minimum of 2. - * - * @this {X86CPU} - */ - opSALC: function() { - this.regEAX = (this.regEAX & ~0xff) | (this.getCF()? 0xFF : 0); - this.nStepCycles -= 2; - }, - /** - * op=0xD7 (XLAT) - * - * @this {X86CPU} - */ - opXLAT: function() { - /* - * NOTE: I have no idea whether XLAT actually wraps the 16-bit address calculation; - * I'm masking it as if it does, but I need to run a test on real hardware to be sure. - */ - this.regEAX = (this.regEAX & ~0xff) | this.getEAByte(this.segData, ((this.regEBX + (this.regEAX & 0xff)) & 0xffff)); - this.nStepCycles -= this.CYCLES.nOpCyclesXLAT; - }, - /** - * op=0xD8-0xDF (ESC) - * - * @this {X86CPU} - */ - opESC: function() { - this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpESC); - this.nStepCycles -= 8; // TODO: Fix - }, - /** - * op=0xE0 (LOOPNZ disp) - * - * @this {X86CPU} - */ - opLOOPNZ: function() { - var disp = this.getIPDisp(); - if ((this.regECX = (this.regECX - 1) & this.addrMask) && (this.resultZeroCarry & (this.resultSize - 1))) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesLoopNZ; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLoopFall; - }, - /** - * op=0xE1 (LOOPZ disp) - * - * @this {X86CPU} - */ - opLOOPZ: function() { - var disp = this.getIPDisp(); - if ((this.regECX = (this.regECX - 1) & this.addrMask) && !(this.resultZeroCarry & (this.resultSize - 1))) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesLoopZ; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLoopZFall; - }, - /** - * op=0xE2 (LOOP disp) - * - * @this {X86CPU} - */ - opLOOP: function() { - var disp = this.getIPDisp(); - if ((this.regECX = (this.regECX - 1) & this.addrMask)) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesLoop; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLoopFall; - }, - /** - * op=0xE3 (JCXZ disp) - * - * @this {X86CPU} - */ - opJCXZ: function() { - var disp = this.getIPDisp(); - if (!this.regECX) { - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesLoopZ; - return; - } - this.nStepCycles -= this.CYCLES.nOpCyclesLoopZFall; - }, - /** - * op=0xE4 (IN AL,port) - * - * @this {X86CPU} - */ - opINb: function() { - var port = this.getIPByte(); - this.regEAX = (this.regEAX & ~0xff) | this.bus.checkPortInputNotify(port, this.regLIP - 2); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; - this.nStepCycles -= this.CYCLES.nOpCyclesInP; - }, - /** - * op=0xE5 (IN AX,port) - * - * @this {X86CPU} - */ - opINw: function() { - var port = this.getIPByte(); - this.regEAX = this.bus.checkPortInputNotify(port, this.regLIP - 2); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; - this.regEAX |= (this.bus.checkPortInputNotify((port + 1) & 0xffff, this.regLIP - 2) << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiIO; - this.nStepCycles -= this.CYCLES.nOpCyclesInP; - }, - /** - * op=0xE6 (OUT port,AL) - * - * @this {X86CPU} - */ - opOUTb: function() { - var port = this.getIPByte(); - this.bus.checkPortOutputNotify(port, this.regEAX & 0xff, this.regLIP - 2); - this.nStepCycles -= this.CYCLES.nOpCyclesOutP; - }, - /** - * op=0xE7 (OUT port,AX) - * - * @this {X86CPU} - */ - opOUTw: function() { - var port = this.getIPByte(); - this.bus.checkPortOutputNotify(port, this.regEAX & 0xff, this.regLIP - 2); - this.bus.checkPortOutputNotify((port + 1) & 0xffff, this.regEAX >> 8, this.regLIP - 2); - this.nStepCycles -= this.CYCLES.nOpCyclesOutP; - }, - /** - * op=0xE8 (CALL disp16) - * - * @this {X86CPU} - */ - opCALL: function() { - var disp = this.getIPWord(); - this.pushWord(this.getIP()); - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesCall; - }, - /** - * op=0xE9 (JMP disp16) - * - * @this {X86CPU} - */ - opJMP: function() { - var disp = this.getIPWord(); - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmp; - }, - /** - * op=0xEA (JMP seg:off) - * - * @this {X86CPU} - */ - opJMPF: function() { - this.setCSIP(this.getIPWord(), this.getIPWord()); - this.nStepCycles -= this.CYCLES.nOpCyclesJmpF; - }, - /** - * op=0xEB (JMP short disp8) - * - * @this {X86CPU} - */ - opJMPs: function() { - var disp = this.getIPDisp(); - this.setIP(this.getIP() + disp); - this.nStepCycles -= this.CYCLES.nOpCyclesJmp; - }, - /** - * op=0xEC (IN AL,dx) - * - * @this {X86CPU} - */ - opINDXb: function() { - this.regEAX = (this.regEAX & ~0xff) | this.bus.checkPortInputNotify(this.regEDX, this.regLIP - 1); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; - this.nStepCycles -= this.CYCLES.nOpCyclesInDX; - }, - /** - * op=0xED (IN AX,dx) - * - * @this {X86CPU} - */ - opINDXw: function() { - this.regEAX = this.bus.checkPortInputNotify(this.regEDX, this.regLIP - 1); - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; - this.regEAX |= (this.bus.checkPortInputNotify((this.regEDX + 1) & 0xffff, this.regLIP - 1) << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiIO; - this.nStepCycles -= this.CYCLES.nOpCyclesInDX; - }, - /** - * op=0xEE (OUT dx,AL) - * - * @this {X86CPU} - */ - opOUTDXb: function() { - if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiAL; - this.bus.checkPortOutputNotify(this.regEDX, this.regEAX & 0xff, this.regLIP - 1); - this.nStepCycles -= this.CYCLES.nOpCyclesOutDX; - }, - /** - * op=0xEF (OUT dx,AX) - * - * @this {X86CPU} - */ - opOUTDXw: function() { - if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiAL; - this.bus.checkPortOutputNotify(this.regEDX, this.regEAX & 0xff, this.regLIP - 1); - if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiAH; - this.bus.checkPortOutputNotify((this.regEDX + 1) & 0xffff, this.regEAX >> 8, this.regLIP - 1); - this.nStepCycles -= this.CYCLES.nOpCyclesOutDX; - }, - /** - * op=0xF0 (LOCK:) - * - * @this {X86CPU} - */ - opLOCK: function() { - /* - * NOTE: The fact that we're setting NOINTR along with LOCK is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.LOCK | X86.OPFLAG.NOINTR; - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - }, - /** - * op=0xF1 (INT1; undocumented; 80186/80188 and up; TODO: Verify) - * - * I still treat this as undefined, until I can verify the behavior on real hardware. - * - * @this {X86CPU} - */ - opINT1: function() { - X86Help.opHelpUndefined.call(this); - }, - /** - * op=0xF2 (REPNZ:) (repeat CMPS or SCAS until NZ; repeat MOVS, LODS, or STOS unconditionally) - * - * @this {X86CPU} - */ - opREPNZ: function() { - /* - * NOTE: The fact that we're setting NOINTR along with REPNZ is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.REPNZ | X86.OPFLAG.NOINTR; - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - }, - /** - * op=0xF3 (REPZ:) (repeat CMPS or SCAS until Z; repeat MOVS, LODS, or STOS unconditionally) - * - * @this {X86CPU} - */ - opREPZ: function() { - /* - * NOTE: The fact that we're setting NOINTR along with REPZ is really just for documentation purposes; - * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. - */ - this.opFlags |= X86.OPFLAG.REPZ | X86.OPFLAG.NOINTR; - this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; - }, - /** - * op=0xF4 (HLT) - * - * @this {X86CPU} - */ - opHLT: function() { - /* - * The CPU is never REALLY halted by a HLT instruction; instead, by setting X86.INTFLAG.HALT, - * we are signalling to stepCPU() that it's free to end the current burst AND that it should not - * execute any more instructions until checkINTR() indicates a hardware interrupt is requested. - */ - this.intFlags |= X86.INTFLAG.HALT; - this.nStepCycles -= 2; - /* - * If a Debugger is present AND Debugger checks are enabled (eg, one or more breakpoints are set, - * or the global DEBUG flag is set, etc), then we REALLY halt the CPU, on the theory that whoever's - * using the Debugger would like to see HLTs. - */ - if (DEBUGGER && this.dbg && this.dbg.checksEnabled(true)) { - this.advanceIP(-1); // this is purely for the Debugger's benefit, to show the HLT - this.stopCPU(); - return; - } - /* - * We also REALLY halt the machine if interrupts have been disabled, since that means it's dead - * in the water (we have no NMI generation mechanism at the moment). - */ - if (!this.getIF()) { - if (DEBUGGER && this.dbg) this.advanceIP(-1); - this.stopCPU(); - // return; - } - }, - /** - * op=0xF5 (CMC) - * - * @this {X86CPU} - */ - opCMC: function() { - if (this.getCF()) this.clearCF(); else this.setCF(); - this.nStepCycles -= 2; // CMC takes 2 cycles on all CPUs - }, - /** - * op=0xF6 (GRP3 byte) - * - * The MUL byte instruction is problematic in two cases: - * - * 0xF6 0xE0: MUL AL - * 0xF6 0xE4: MUL AH - * - * because the OpModGrpByte decoder function will attempt to put the opGrpMULb() function's - * return value back into AL or AH, undoing opGrpMULb's update of AX. And since opGrpMULb doesn't - * know what the target is (only the target's value), it cannot easily work around the problem. - * - * A simple, albeit kludgy, solution is for opGrpMULb to always save its result in a special "register" - * (eg, regMD16), which we will then put back into regEAX if it's been updated. This also relieves us - * from having to decode any part of the ModRM byte, so maybe it's not such a bad work-around after all. - * - * Similar issues with IMUL (and DIV and IDIV) are resolved using the same special variable(s). - * - * @this {X86CPU} - */ - opGrp3b: function() { - this.regMD16 = -1; - this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp3b, X86Grps.opGrpNoSrc); - if (this.regMD16 >= 0) this.regEAX = this.regMD16; - }, - /** - * op=0xF7 (GRP3 word) - * - * The MUL word instruction is problematic in two cases: - * - * 0xF7 0xE0: MUL AX - * 0xF7 0xE2: MUL DX - * - * because the OpModGrpWord decoder function will attempt to put the opGrpMULw() function's - * return value back into AX or DX, undoing opGrpMULw's update of DX:AX. And since opGrpMULw doesn't - * know what the target is (only the target's value), it cannot easily work around the problem. - * - * A simple, albeit kludgey, solution is for opGrpMULw to always save its result in a special "register" - * (eg, regMD16/regMD32), which we will then put back into regEAX/regEDX if it's been updated. This also relieves - * us from having to decode any part of the ModRM byte, so maybe it's not such a bad work-around after all. - * - * @this {X86CPU} - */ - opGrp3w: function() { - this.regMD16 = -1; - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp3w, X86Grps.opGrpNoSrc); - if (this.regMD16 >= 0) { - this.regEAX = this.regMD16; - this.regEDX = this.regMD32; - } - }, - /** - * op=0xF8 (CLC) - * - * @this {X86CPU} - */ - opCLC: function() { - this.resultZeroCarry &= ~this.resultSize; - this.nStepCycles -= 2; // CLC takes 2 cycles on all CPUs - }, - /** - * op=0xF9 (STC) - * - * @this {X86CPU} - */ - opSTC: function() { - this.resultZeroCarry |= this.resultSize; - this.nStepCycles -= 2; // STC takes 2 cycles on all CPUs - }, - /** - * op=0xFA (CLI) - * - * @this {X86CPU} - */ - opCLI: function() { - this.clearIF(); - this.nStepCycles -= this.CYCLES.nOpCyclesCLI; // CLI takes LONGER on an 80286 - }, - /** - * op=0xFB (STI) - * - * @this {X86CPU} - */ - opSTI: function() { - this.setIF(); - this.opFlags |= X86.OPFLAG.NOINTR; - this.nStepCycles -= 2; // STI takes 2 cycles on all CPUs - }, - /** - * op=0xFC (CLD) - * - * @this {X86CPU} - */ - opCLD: function() { - this.clearDF(); - this.nStepCycles -= 2; // CLD takes 2 cycles on all CPUs - }, - /** - * op=0xFD (STD) - * - * @this {X86CPU} - */ - opSTD: function() { - this.setDF(); - this.nStepCycles -= 2; // STD takes 2 cycles on all CPUs - }, - /** - * op=0xFE (GRP4 byte) - * - * @this {X86CPU} - */ - opGrp4b: function() { - this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp4b, X86Grps.opGrpNoSrc); - }, - /** - * op=0xFF (GRP4 word) - * - * @this {X86CPU} - */ - opGrp4w: function() { - this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp4w, X86Grps.opGrpNoSrc); +/** + * op=0x05 (ADD AX,imm16) + * + * @this {X86CPU} + */ +X86.opADDAXw = function ADDAXw() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | X86.fnADDw.call(this, this.regEAX & this.dataMask, this.getIPWord()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; } + /* + * In the absence of any EA calculations, fnADDw() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x06 (PUSH ES) + * + * @this {X86CPU} + */ +X86.opPUSHES = function PUSHES() +{ + this.pushWord(this.segES.sel); + this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; +}; + +/** + * op=0x07 (POP ES) + * + * @this {X86CPU} + */ +X86.opPOPES = function POPES() +{ + this.setES(this.popWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x08 (OR byte,reg) + * + * @this {X86CPU} + */ +X86.opORmb = function ORmb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnORb); +}; + +/** + * op=0x09 (OR word,reg) + * + * @this {X86CPU} + */ +X86.opORmw = function ORmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnORw); +}; + +/** + * op=0x0A (OR reg,byte) + * + * @this {X86CPU} + */ +X86.opORrb = function ORrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnORb); +}; + +/** + * op=0x0B (OR reg,word) + * + * @this {X86CPU} + */ +X86.opORrw = function ORrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnORw); +}; + +/** + * op=0x0C (OR AL,imm8) + * + * @this {X86CPU} + */ +X86.opORALb = function ORALb() +{ + this.regEAX = (this.regEAX & ~0xff) | X86.fnORb.call(this, this.regEAX & 0xff, this.getIPByte()); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + /* + * In the absence of any EA calculations, opGrpORb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x0D (OR AX,imm16) + * + * @this {X86CPU} + */ +X86.opORAXw = function ORAXw() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | X86.fnORw.call(this, this.regEAX & this.dataMask, this.getIPWord()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + /* + * In the absence of any EA calculations, opGrpORw() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x0E (PUSH CS) + * + * @this {X86CPU} + */ +X86.opPUSHCS = function PUSHCS() +{ + this.pushWord(this.segCS.sel); + this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; +}; + +/** + * op=0x0F (POP CS) (undocumented on 8086/8088; replaced with opHelpInvalid on 80186/80188, and op0F on 80286 and up) + * + * @this {X86CPU} + */ +X86.opPOPCS = function POPCS() +{ + this.setCS(this.popWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x0F (handler for two-byte opcodes; 80286 and up) + * + * @this {X86CPU} + */ +X86.op0F = function OP0F() +{ + this.aOps0F[this.getIPByte()].call(this); +}; + +/** + * op=0x10 (ADC byte,reg) + * + * @this {X86CPU} + */ +X86.opADCmb = function ADCmb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnADCb); +}; + +/** + * op=0x11 (ADC word,reg) + * + * @this {X86CPU} + */ +X86.opADCmw = function ADCmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnADCw); +}; + +/** + * op=0x12 (ADC reg,byte) + * + * @this {X86CPU} + */ +X86.opADCrb = function ADCrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnADCb); +}; + +/** + * op=0x13 (ADC reg,word) + * + * @this {X86CPU} + */ +X86.opADCrw = function ADCrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnADCw); +}; + +/** + * op=0x14 (ADC AL,imm8) + * + * @this {X86CPU} + */ +X86.opADCALb = function ADCALb() +{ + this.regEAX = (this.regEAX & ~0xff) | X86.fnADCb.call(this, this.regEAX & 0xff, this.getIPByte()); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + /* + * In the absence of any EA calculations, opGrpADCb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x15 (ADC AX,imm16) + * + * @this {X86CPU} + */ +X86.opADCAXw = function ADCAXw() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | X86.fnADCw.call(this, this.regEAX & this.dataMask, this.getIPWord()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + /* + * In the absence of any EA calculations, opGrpADCw() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x16 (PUSH SS) + * + * @this {X86CPU} + */ +X86.opPUSHSS = function PUSHSS() +{ + this.pushWord(this.segSS.sel); + this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; +}; + +/** + * op=0x17 (POP SS) + * + * @this {X86CPU} + */ +X86.opPOPSS = function POPSS() +{ + this.setSS(this.popWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x18 (SBB byte,reg) + * + * @this {X86CPU} + */ +X86.opSBBmb = function SBBmb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnSBBb); +}; + +/** + * op=0x19 (SBB word,reg) + * + * @this {X86CPU} + */ +X86.opSBBmw = function SBBmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnSBBw); +}; + +/** + * op=0x1A (SBB reg,byte) + * + * @this {X86CPU} + */ +X86.opSBBrb = function SBBrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnSBBb); +}; + +/** + * op=0x1B (SBB reg,word) + * + * @this {X86CPU} + */ +X86.opSBBrw = function SBBrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnSBBw); +}; + +/** + * op=0x1C (SBB AL,imm8) + * + * @this {X86CPU} + */ +X86.opSBBALb = function SBBALb() +{ + this.regEAX = (this.regEAX & ~0xff) | X86.fnSBBb.call(this, this.regEAX & 0xff, this.getIPByte()); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + /* + * In the absence of any EA calculations, opGrpSBBb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x1D (SBB AX,imm16) + * + * @this {X86CPU} + */ +X86.opSBBAXw = function SBBAXw() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | X86.fnSBBw.call(this, this.regEAX & this.dataMask, this.getIPWord()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + /* + * In the absence of any EA calculations, opGrpSBBw() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x1E (PUSH DS) + * + * @this {X86CPU} + */ +X86.opPUSHDS = function PUSHDS() +{ + this.pushWord(this.segDS.sel); + this.nStepCycles -= this.CYCLES.nOpCyclesPushSeg; +}; + +/** + * op=0x1F (POP DS) + * + * @this {X86CPU} + */ +X86.opPOPDS = function POPDS() +{ + this.setDS(this.popWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x20 (AND byte,reg) + * + * @this {X86CPU} + */ +X86.opANDmb = function ANDmb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnANDb); +}; + +/** + * op=0x21 (AND word,reg) + * + * @this {X86CPU} + */ +X86.opANDmw = function ANDmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnANDw); +}; + +/** + * op=0x21 (AND dword,reg) + * + * @this {X86CPU} + */ +X86.opANDmd = function ANDmd() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnANDd); +}; + +/** + * op=0x22 (AND reg,byte) + * + * @this {X86CPU} + */ +X86.opANDrb = function ANDrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnANDb); +}; + +/** + * op=0x23 (AND reg,word) + * + * @this {X86CPU} + */ +X86.opANDrw = function ANDrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnANDw); +}; + +/** + * op=0x23 (AND reg,dword) + * + * @this {X86CPU} + */ +X86.opANDrd = function ANDrd() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnANDd); +}; + +/** + * op=0x24 (AND AL,imm8) + * + * @this {X86CPU} + */ +X86.opANDAL = function ANDAL() +{ + this.regEAX = (this.regEAX & ~0xff) | X86.fnANDb.call(this, this.regEAX & 0xff, this.getIPByte()); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + /* + * In the absence of any EA calculations, opGrpANDb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x25 (AND AX,imm16) + * + * @this {X86CPU} + */ +X86.opANDAX = function ANDAX() +{ + this.regEAX = (this.regEAX & ~0xffff) | X86.fnANDw.call(this, this.regEAX & 0xffff, this.getIPShort()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + /* + * In the absence of any EA calculations, opGrpANDw() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x25 (AND AX,imm32) + * + * @this {X86CPU} + */ +X86.opANDEAX = function ANDEAX() +{ + this.regEAX = X86.fnANDd.call(this, this.regEAX, this.getIPLong()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + /* + * In the absence of any EA calculations, opGrpANDd() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x26 (ES:) + * + * @this {X86CPU} + */ +X86.opES = function ES() +{ + /* + * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; + this.segData = this.segStack = this.segES; + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; +}; + +/** + * op=0x27 (DAA) + * + * @this {X86CPU} + */ +X86.opDAA = function DAA() +{ + var AL = this.regEAX & 0xff; + var fAuxCarry = this.getAF(); + var fCarry = (this.resultZeroCarry & this.resultSize); + if ((AL & 0xf) > 9 || fAuxCarry) { + AL += 0x6; + fAuxCarry = true; + } + if (AL > 0x9f || fCarry) { + AL += 0x60; + fCarry = true; + } + this.regEAX = (this.regEAX & ~0xff) | (this.resultZeroCarry = this.resultParitySign = (AL & 0xff)); + this.resultSize = X86.RESULT.SIZE_WORD; + if (fCarry) this.resultZeroCarry |= this.resultSize; + if (fAuxCarry) this.setAF(); else this.clearAF(); + this.nStepCycles -= this.CYCLES.nOpCyclesAAA; // AAA and DAA have the same cycle times +}; + +/** + * op=0x28 (SUB byte,reg) + * + * @this {X86CPU} + */ +X86.opSUBmb = function SUBmb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnSUBb); +}; + +/** + * op=0x29 (SUB word,reg) + * + * @this {X86CPU} + */ +X86.opSUBmw = function SUBmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnSUBw); +}; + +/** + * op=0x2A (SUB reg,byte) + * + * @this {X86CPU} + */ +X86.opSUBrb = function SUBrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnSUBb); +}; + +/** + * op=0x2B (SUB reg,word) + * + * @this {X86CPU} + */ +X86.opSUBrw = function SUBrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnSUBw); +}; + +/** + * op=0x2C (SUB AL,imm8) + * + * @this {X86CPU} + */ +X86.opSUBALb = function SUBALb() +{ + this.regEAX = (this.regEAX & ~0xff) | X86.fnSUBb.call(this, this.regEAX & 0xff, this.getIPByte()); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + /* + * In the absence of any EA calculations, opGrpSUBb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x2D (SUB AX,imm16) + * + * @this {X86CPU} + */ +X86.opSUBAXw = function SUBAXw() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | X86.fnSUBw.call(this, this.regEAX & this.dataMask, this.getIPWord()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + /* + * In the absence of any EA calculations, opGrpSUBw() will deduct nOpCyclesArithRR, and for all CPUs + * through the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x2E (CS:) + * + * @this {X86CPU} + */ +X86.opCS = function CS() +{ + /* + * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; + this.segData = this.segStack = this.segCS; + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; +}; + +/** + * op=0x2F (DAS) + * + * @this {X86CPU} + */ +X86.opDAS = function DAS() +{ + var AL = this.regEAX & 0xff; + var fAuxCarry = this.getAF(); + var fCarry = (this.resultZeroCarry & this.resultSize); + if ((AL & 0xf) > 9 || fAuxCarry) { + AL -= 0x6; + fAuxCarry = true; + } + if (AL > 0x9f || fCarry) { + AL -= 0x60; + fCarry = true; + } + this.regEAX = (this.regEAX & ~0xff) | (this.resultZeroCarry = this.resultParitySign = (AL & 0xff)); + this.resultSize = X86.RESULT.SIZE_WORD; + if (fCarry) this.resultZeroCarry |= this.resultSize; + if (fAuxCarry) this.setAF(); else this.clearAF(); + this.nStepCycles -= this.CYCLES.nOpCyclesAAA; // AAA and DAS have the same cycle times +}; + +/** + * op=0x30 (XOR byte,reg) + * + * @this {X86CPU} + */ +X86.opXORmb = function XORmb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnXORb); +}; + +/** + * op=0x31 (XOR word,reg) + * + * @this {X86CPU} + */ +X86.opXORmw = function XORmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnXORw); +}; + +/** + * op=0x32 (XOR reg,byte) + * + * @this {X86CPU} + */ +X86.opXORrb = function XORrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnXORb); +}; + +/** + * op=0x33 (XOR reg,word) + * + * @this {X86CPU} + */ +X86.opXORrw = function XORrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnXORw); +}; + +/** + * op=0x34 (XOR AL,imm8) + * + * @this {X86CPU} + */ +X86.opXORALb = function XORALb() +{ + this.regEAX = (this.regEAX & ~0xff) | X86.fnXORb.call(this, this.regEAX & 0xff, this.getIPByte()); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + /* + * In the absence of any EA calculations, opGrpXORb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x35 (XOR AX,imm16) + * + * @this {X86CPU} + */ +X86.opXORAXw = function XORAXw() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | X86.fnXORw.call(this, this.regEAX & this.dataMask, this.getIPWord()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + /* + * In the absence of any EA calculations, opGrpXORw() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x36 (SS:) + * + * @this {X86CPU} + */ +X86.opSS = function SS() +{ + /* + * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; + this.segData = this.segStack = this.segSS; // QUESTION: Is there a case where segStack would not already be segSS? (eg, multiple segment overrides?) + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; +}; + +/** + * op=0x37 (AAA) + * + * @this {X86CPU} + */ +X86.opAAA = function AAA() +{ + var AL = this.regEAX & 0xff; + var AH = this.regEAX >> 8; + var fCarry; + var fAuxCarry = this.getAF(); + if ((AL & 0xf) > 9 || fAuxCarry) { + AL = (AL + 0x6) & 0xf; + AH = (AH + 1) & 0xff; + fCarry = fAuxCarry = true; + } else { + fCarry = fAuxCarry = false; + } + this.regEAX = (this.regEAX & ~0xffff) | (AH << 8) | (this.resultZeroCarry = AL); + this.resultSize = X86.RESULT.SIZE_WORD; + if (fCarry) this.resultZeroCarry |= this.resultSize; + if (fAuxCarry) this.setAF(); else this.clearAF(); + this.nStepCycles -= this.CYCLES.nOpCyclesAAA; +}; + +/** + * op=0x38 (CMP byte,reg) + * + * @this {X86CPU} + */ +X86.opCMPmb = function CMPmb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnCMPb); +}; + +/** + * op=0x39 (CMP word,reg) + * + * @this {X86CPU} + */ +X86.opCMPmw = function CMPmw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnCMPw); +}; + +/** + * op=0x3A (CMP reg,byte) + * + * @this {X86CPU} + */ +X86.opCMPrb = function CMPrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnCMPb); +}; + +/** + * op=0x3B (CMP reg,word) + * + * @this {X86CPU} + */ +X86.opCMPrw = function CMPrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnCMPw); +}; + +/** + * op=0x3C (CMP AL,imm8) + * + * @this {X86CPU} + */ +X86.opCMPALb = function CMPALb() +{ + X86.fnCMPb.call(this, this.regEAX & 0xff, this.getIPByte()); + /* + * In the absence of any EA calculations, opGrpCMPb() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x3D (CMP AX,imm16) + * + * @this {X86CPU} + */ +X86.opCMPAXw = function CMPAXw() +{ + X86.fnCMPw.call(this, this.regEAX & this.dataMask, this.getIPWord()); + /* + * In the absence of any EA calculations, opGrpCMPw() will deduct nOpCyclesArithRR, and for all CPUs through + * the 80286, we need deduct only one more cycle. + */ + this.nStepCycles--; +}; + +/** + * op=0x3E (DS:) + * + * @this {X86CPU} + */ +X86.opDS = function DS() +{ + /* + * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; + this.segData = this.segStack = this.segDS; // QUESTION: Is there a case where segData would not already be segDS? (eg, multiple segment overrides?) + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; +}; + +/** + * op=0x3D (AAS) + * + * From "The 8086 Book": + * + * 1. If the low-order four bits of the AL register are between 0 and 9 and the AF flag is 0, then go to Step 3. + * 2. If the low-order four bits of the AL register are between A and F or the AF flag is 1, then subtract 6 from the AL register, subtract 1 from the AH register, and set the AF flag to 1. + * 3. Clear the high-order four bits of the AL register. + * 4. Set the CF flag to the value of the AF flag. + * + * @this {X86CPU} + */ +X86.opAAS = function AAS() +{ + var AL = this.regEAX & 0xff; + var AH = this.regEAX >> 8; + var fCarry; + var fAuxCarry = this.getAF(); + if ((AL & 0xf) > 9 || fAuxCarry) { + AL = (AL - 0x6) & 0xf; + AH = (AH - 1) & 0xff; + fCarry = fAuxCarry = true; + } else { + fCarry = fAuxCarry = false; + } + this.regEAX = (this.regEAX & ~0xffff) | (AH << 8) | (this.resultZeroCarry = AL); + this.resultSize = X86.RESULT.SIZE_WORD; + if (fCarry) this.resultZeroCarry |= this.resultSize; + if (fAuxCarry) this.setAF(); else this.clearAF(); + this.nStepCycles -= this.CYCLES.nOpCyclesAAA; // AAA and AAS have the same cycle times +}; + +/** + * op=0x40 (INC AX) + * + * @this {X86CPU} + */ +X86.opINCAX = function INCAX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEAX) + 1; + if (I386) { + this.regEAX = (this.regEAX & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEAX) & this.dataMask) >>> 16) | (this.regEAX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEAX = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEAX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x41 (INC CX) + * + * @this {X86CPU} + */ +X86.opINCCX = function INCCX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regECX) + 1; + if (I386) { + this.regECX = (this.regECX & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regECX) & this.dataMask) >>> 16) | (this.regECX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regECX = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regECX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x42 (INC DX) + * + * @this {X86CPU} + */ +X86.opINCDX = function INCDX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEDX) + 1; + if (I386) { + this.regEDX = (this.regEDX & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEDX) & this.dataMask) >>> 16) | (this.regEDX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEDX = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEDX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x43 (INC BX) + * + * @this {X86CPU} + */ +X86.opINCBX = function INCBX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEBX) + 1; + if (I386) { + this.regEBX = (this.regEBX & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEBX) & this.dataMask) >>> 16) | (this.regEBX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEBX = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEBX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x44 (INC SP) + * + * @this {X86CPU} + */ +X86.opINCSP = function INCSP() +{ + var regESP; + this.resultParitySign = (this.resultAuxOverflow = this.getSP()) + 1; + this.setSP(regESP = (this.resultAuxOverflow & ~this.dataMask) | (this.resultParitySign & this.dataMask)); + this.resultZeroCarry = (((regESP) & this.dataMask) >>> 16) | (regESP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x45 (INC BP) + * + * @this {X86CPU} + */ +X86.opINCBP = function INCBP() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEBP) + 1; + if (I386) { + this.regEBP = (this.regEBP & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEBP) & this.dataMask) >>> 16) | (this.regEBP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEBP = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEBP | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x46 (INC SI) + * + * @this {X86CPU} + */ +X86.opINCSI = function INCSI() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regESI) + 1; + if (I386) { + this.regESI = (this.regESI & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regESI) & this.dataMask) >>> 16) | (this.regESI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regESI = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regESI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x47 (INC DI) + * + * @this {X86CPU} + */ +X86.opINCDI = function INCDI() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEDI) + 1; + if (I386) { + this.regEDI = (this.regEDI & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEDI) & this.dataMask) >>> 16) | (this.regEDI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEDI = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEDI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs +}; + +/** + * op=0x48 (DEC AX) + * + * @this {X86CPU} + */ +X86.opDECAX = function DECAX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEAX) - 1; + if (I386) { + this.regEAX = (this.regEAX & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEAX) & this.dataMask) >>> 16) | (this.regEAX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEAX = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEAX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/** + * op=0x49 (DEC CX) + * + * @this {X86CPU} + */ +X86.opDECCX = function DECCX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regECX) - 1; + this.regECX = (I386? (this.regECX & ~this.dataMask) | (this.resultParitySign & this.dataMask) : this.resultParitySign & 0xffff); + this.resultZeroCarry = this.regECX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/** + * op=0x4A (DEC DX) + * + * @this {X86CPU} + */ +X86.opDECDX = function DECDX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEDX) - 1; + this.regEDX = (I386? (this.regEDX & ~this.dataMask) | (this.resultParitySign & this.dataMask) : this.resultParitySign & 0xffff); + this.resultZeroCarry = this.regEDX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/** + * op=0x4B (DEC BX) + * + * @this {X86CPU} + */ +X86.opDECBX = function DECBX() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEBX) - 1; + if (I386) { + this.regEBX = (this.regEBX & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEBX) & this.dataMask) >>> 16) | (this.regEBX & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEBX = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEBX | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/** + * op=0x4C (DEC SP) + * + * @this {X86CPU} + */ +X86.opDECSP = function DECSP() +{ + var regESP; + this.resultParitySign = (this.resultAuxOverflow = this.getSP()) - 1; + this.setSP(regESP = (this.resultAuxOverflow & ~this.dataMask) | (this.resultParitySign & this.dataMask)); + this.resultZeroCarry = (((regESP) & this.dataMask) >>> 16) | (regESP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/** + * op=0x4D (DEC BP) + * + * @this {X86CPU} + */ +X86.opDECBP = function DECBP() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEBP) - 1; + if (I386) { + this.regEBP = (this.regEBP & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEBP) & this.dataMask) >>> 16) | (this.regEBP & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEBP = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEBP | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/** + * op=0x4E (DEC SI) + * + * @this {X86CPU} + */ +X86.opDECSI = function DECSI() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regESI) - 1; + if (I386) { + this.regESI = (this.regESI & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regESI) & this.dataMask) >>> 16) | (this.regESI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regESI = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regESI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/**` + * op=0x4F (DEC DI) + * + * @this {X86CPU} + */ +X86.opDECDI = function DECDI() +{ + this.resultParitySign = (this.resultAuxOverflow = this.regEDI) - 1; + if (I386) { + this.regEDI = (this.regEDI & ~this.dataMask) | (this.resultParitySign & this.dataMask); + this.resultZeroCarry = (((this.regEDI) & this.dataMask) >>> 16) | (this.regEDI & 0xffff) | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } else { + this.regEDI = this.resultParitySign & 0xffff; + this.resultZeroCarry = this.regEDI | (((this.resultZeroCarry & this.resultSize)? 1 : 0) << 16); + } + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs +}; + +/** + * op=0x50 (PUSH AX) + * + * @this {X86CPU} + */ +X86.opPUSHAX = function PUSHAX() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; + } + this.pushWord(this.regEAX & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x51 (PUSH CX) + * + * @this {X86CPU} + */ +X86.opPUSHCX = function PUSHCX() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiCL; this.backTrack.btiMemHi = this.backTrack.btiCH; + } + this.pushWord(this.regECX & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x52 (PUSH DX) + * + * @this {X86CPU} + */ +X86.opPUSHDX = function PUSHDX() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiDL; this.backTrack.btiMemHi = this.backTrack.btiDH; + } + this.pushWord(this.regEDX & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x53 (PUSH BX) + * + * @this {X86CPU} + */ +X86.opPUSHBX = function PUSHBX() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiBL; this.backTrack.btiMemHi = this.backTrack.btiBH; + } + this.pushWord(this.regEBX & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x54 (PUSH SP) + * + * @this {X86CPU} + */ +X86.opPUSHSP8086 = function PUSHSP8086() +{ + var w = (this.getSP() - this.dataSize) & this.dataMask; + this.pushWord(w); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x54 (PUSH SP) + * + * @this {X86CPU} + */ +X86.opPUSHSP = function PUSHSP() +{ + this.pushWord(this.getSP() & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x55 (PUSH BP) + * + * @this {X86CPU} + */ +X86.opPUSHBP = function PUSHBP() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiBPLo; this.backTrack.btiMemHi = this.backTrack.btiBPHi; + } + this.pushWord(this.regEBP & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x56 (PUSH SI) + * + * @this {X86CPU} + */ +X86.opPUSHSI = function PUSHSI() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiSILo; this.backTrack.btiMemHi = this.backTrack.btiSIHi; + } + this.pushWord(this.regESI & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x57 (PUSH DI) + * + * @this {X86CPU} + */ +X86.opPUSHDI = function PUSHDI() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiDILo; this.backTrack.btiMemHi = this.backTrack.btiDIHi; + } + this.pushWord(this.regEDI & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x58 (POP AX) + * + * @this {X86CPU} + */ +X86.opPOPAX = function POPAX() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x59 (POP CX) + * + * @this {X86CPU} + */ +X86.opPOPCX = function POPCX() +{ + this.regECX = (this.regECX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiMemLo; this.backTrack.btiCH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x5A (POP DX) + * + * @this {X86CPU} + */ +X86.opPOPDX = function POPDX() +{ + this.regEDX = (this.regEDX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiMemLo; this.backTrack.btiDH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x5B (POP BX) + * + * @this {X86CPU} + */ +X86.opPOPBX = function POPBX() +{ + this.regEBX = (this.regEBX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiMemLo; this.backTrack.btiBH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x5C (POP SP) + * + * @this {X86CPU} + */ +X86.opPOPSP = function POPSP() +{ + this.setSP((this.getSP() & ~this.dataMask) | this.popWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x5D (POP BP) + * + * @this {X86CPU} + */ +X86.opPOPBP = function POPBP() +{ + this.regEBP = (this.regEBP & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiMemLo; this.backTrack.btiBPHi = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x5E (POP SI) + * + * @this {X86CPU} + */ +X86.opPOPSI = function POPSI() +{ + this.regESI = (this.regESI & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiMemLo; this.backTrack.btiSIHi = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x5F (POP DI) + * + * @this {X86CPU} + */ +X86.opPOPDI = function POPDI() +{ + this.regEDI = (this.regEDI & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiMemLo; this.backTrack.btiDIHi = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x60 (PUSHA) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opPUSHA = function PUSHA() +{ + /* + * TODO: regLSP needs to be pre-bounds-checked against regLSPLimitLow + */ + var temp = this.getSP() & this.dataMask; + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; + } + this.pushWord(this.regEAX & this.dataMask); + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiCL; this.backTrack.btiMemHi = this.backTrack.btiCH; + } + this.pushWord(this.regECX & this.dataMask); + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiDL; this.backTrack.btiMemHi = this.backTrack.btiDH; + } + this.pushWord(this.regEDX & this.dataMask); + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiBL; this.backTrack.btiMemHi = this.backTrack.btiBH; + } + this.pushWord(this.regEBX & this.dataMask); + this.pushWord(temp); + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiBPLo; this.backTrack.btiMemHi = this.backTrack.btiBPHi; + } + this.pushWord(this.regEBP & this.dataMask); + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiSILo; this.backTrack.btiMemHi = this.backTrack.btiSIHi; + } + this.pushWord(this.regESI & this.dataMask); + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiDILo; this.backTrack.btiMemHi = this.backTrack.btiDIHi; + } + this.pushWord(this.regEDI & this.dataMask); + this.nStepCycles -= this.CYCLES.nOpCyclesPushAll; +}; + +/** + * op=0x61 (POPA) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opPOPA = function POPA() +{ + this.regEDI = (this.regEDI & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiMemLo; this.backTrack.btiDIHi = this.backTrack.btiMemHi; + } + this.regESI = (this.regESI & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiMemLo; this.backTrack.btiSIHi = this.backTrack.btiMemHi; + } + this.regEBP = (this.regEBP & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiMemLo; this.backTrack.btiBPHi = this.backTrack.btiMemHi; + } + /* + * TODO: regLSP needs to be pre-bounds-checked against regLSPLimit at the start + */ + this.setSP(this.getSP() + this.dataSize); + // this.regLSP += (I386? this.dataSize : 2); + this.regEBX = (this.regEBX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiMemLo; this.backTrack.btiBH = this.backTrack.btiMemHi; + } + this.regEDX = (this.regEDX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiMemLo; this.backTrack.btiDH = this.backTrack.btiMemHi; + } + this.regECX = (this.regECX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiMemLo; this.backTrack.btiCH = this.backTrack.btiMemHi; + } + this.regEAX = (this.regEAX & ~this.dataMask) | this.popWord(); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesPopAll; +}; + +/** + * op=0x62 (BOUND reg,word) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opBOUND = function BOUND() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnBOUND); +}; + +/** + * op=0x63 (ARPL word,reg) (80286 and up) + * + * @this {X86CPU} + */ +X86.opARPL = function ARPL() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnARPL); +}; + +/** + * op=0x64 (FS:) + * + * @this {X86CPU} + */ +X86.opFS = function FS() +{ + /* + * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; + this.segData = this.segStack = this.segFS; + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; + this.stopCPU(); +}; + +/** + * op=0x65 (GS:) + * + * @this {X86CPU} + */ +X86.opGS = function GS() +{ + /* + * NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR; + this.segData = this.segStack = this.segGS; + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; + this.stopCPU(); +}; + +/** + * op=0x66 (OS:) (80386 and up) + * + * TODO: Review other effective operand-size criteria, cycle count, etc. + * + * @this {X86CPU} + */ +X86.opOS = function OS() +{ + if (I386) { + this.opFlags |= X86.OPFLAG.SEG; + this.dataSize ^= 0x6; // that which is 2 shall become 4, and vice versa + this.dataMask ^= (0xffff0000|0); // that which is 0x0000ffff shall become 0xffffffff, and vice versa + this.setDataSize(); + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; + this.stopCPU(); + } +}; + +/** + * op=0x67 (AS:) (80386 and up) + * + * TODO: Review other effective address-size criteria, cycle count, etc. + * + * @this {X86CPU} + */ +X86.opAS = function AS() +{ + if (I386) { + this.opFlags |= X86.OPFLAG.SEG; + this.addrSize ^= 0x06; // that which is 2 shall become 4, and vice versa + this.addrMask ^= (0xffff0000|0); // that which is 0x0000ffff shall become 0xffffffff, and vice versa + this.setAddrSize(); + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; + this.stopCPU(); + } +}; + +/** + * op=0x68 (PUSH imm16) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opPUSH16 = function PUSH16() +{ + this.pushWord(this.getIPWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x69 (IMUL reg,word,imm16) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opIMUL16 = function IMUL16() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnIMUL16); +}; + +/** + * op=0x6A (PUSH imm8) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opPUSH8 = function PUSH8() +{ + if (BACKTRACK) this.backTrack.btiMemHi = 0; + this.pushWord(this.getIPByte()); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x6B (IMUL reg,word,imm8) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opIMUL8 = function IMUL8() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnIMUL8); +}; + +/** + * op=0x6C (INSB) (80186/80188 and up) + * + * NOTE: Segment overrides are ignored for this instruction, so we must use segES instead of segData. + * + * @this {X86CPU} + */ +X86.opINSb = function INSb() +{ + var nReps = 1; + var nDelta = 0; + + /* + * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for + * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is + * low priority. + */ + var nCycles = 5; + + /* + * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... + */ + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; + } + + if (nReps--) { + var b = this.bus.checkPortInputNotify(this.regEDX, this.regLIP - nDelta - 1); + if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiIO; + this.setSOByte(this.segES, this.regEDI & this.addrMask, b); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0x6D (INSW) (80186/80188 and up) + * + * NOTE: Segment overrides are ignored for this instruction, so we must use segDS instead of segData. + * + * @this {X86CPU} + */ +X86.opINSw = function INSw() +{ + var nReps = 1; + var nDelta = 0; + + /* + * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for + * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is + * low priority. + */ + var nCycles = 5; + + /* + * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... + */ + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; + } + if (nReps--) { + var addrFrom = this.regLIP - nDelta - 1; + var w = this.bus.checkPortInputNotify(this.regEDX, addrFrom); + if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiIO; + w |= (this.bus.checkPortInputNotify(this.regEDX, addrFrom) << 8); + if (BACKTRACK) this.backTrack.btiMemHi = this.backTrack.btiIO; + this.setSOWord(this.segES, this.regEDI & this.addrMask, w); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0x6E (OUTSB) (80186/80188 and up) + * + * NOTE: Segment overrides are ignored for this instruction, so we must use segDS instead of segData. + * + * @this {X86CPU} + */ +X86.opOUTSb = function() +{ + var nReps = 1; + var nDelta = 0; + + /* + * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for + * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is + * low priority. TODO: Fix this someday. + */ + var nCycles = 5; + + /* + * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... + */ + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; + } + if (nReps--) { + var b = this.getSOByte(this.segDS, this.regESI & this.addrMask); + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiMemLo; + this.bus.checkPortOutputNotify(this.regEDX, b, this.regLIP - nDelta - 1); + if (nReps) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0x6F (OUTSW) (80186/80188 and up) + * + * NOTE: Segment overrides are ignored for this instruction, so we must use segDS instead of segData. + * + * @this {X86CPU} + */ +X86.opOUTSw = function OUTSw() +{ + var nReps = 1; + var nDelta = 0; + + /* + * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for + * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is + * low priority. TODO: Fix this someday. + */ + var nCycles = 5; + + /* + * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... + */ + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; + } + if (nReps--) { + var w = this.getSOWord(this.segDS, this.regESI & this.addrMask); + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + var addrFrom = this.regLIP - nDelta - 1; + if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiMemLo; + this.bus.checkPortOutputNotify(this.regEDX, w & 0xff, addrFrom); + if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiMemHi; + this.bus.checkPortOutputNotify(this.regEDX, w >> 8, addrFrom); + if (nReps) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0x70 (JO disp) + * + * @this {X86CPU} + */ +X86.opJO = function JO() +{ + var disp = this.getIPDisp(); + if (this.getOF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x71 (JNO disp) + * + * @this {X86CPU} + */ +X86.opJNO = function JNO() +{ + var disp = this.getIPDisp(); + if (!this.getOF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x72 (JC disp, aka JB disp) + * + * @this {X86CPU} + */ +X86.opJC = function JC() +{ + var disp = this.getIPDisp(); + if (this.getCF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x73 (JNC disp, aka JAE disp) + * + * @this {X86CPU} + */ +X86.opJNC = function JNC() +{ + var disp = this.getIPDisp(); + if (!this.getCF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x74 (JZ disp) + * + * @this {X86CPU} + */ +X86.opJZ = function JZ() +{ + var disp = this.getIPDisp(); + if (this.getZF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x75 (JNZ disp) + * + * @this {X86CPU} + */ +X86.opJNZ = function JNZ() +{ + var disp = this.getIPDisp(); + if (!this.getZF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x76 (JBE disp) + * + * @this {X86CPU} + */ +X86.opJBE = function JBE() +{ + var disp = this.getIPDisp(); + if (this.getCF() || this.getZF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x77 (JNBE disp, JA disp) + * + * @this {X86CPU} + */ +X86.opJNBE = function JNBE() +{ + var disp = this.getIPDisp(); + if (!this.getCF() && !this.getZF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x78 (JS disp) + * + * @this {X86CPU} + */ +X86.opJS = function JS() +{ + var disp = this.getIPDisp(); + if (this.getSF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x79 (JNS disp) + * + * @this {X86CPU} + */ +X86.opJNS = function JNS() +{ + var disp = this.getIPDisp(); + if (!this.getSF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x7A (JP disp) + * + * @this {X86CPU} + */ +X86.opJP = function JP() +{ + var disp = this.getIPDisp(); + if (this.getPF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x7B (JNP disp) + * + * @this {X86CPU} + */ +X86.opJNP = function JNP() +{ + var disp = this.getIPDisp(); + if (!this.getPF()) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x7C (JL disp) + * + * @this {X86CPU} + */ +X86.opJL = function JL() +{ + var disp = this.getIPDisp(); + if (!this.getSF() != !this.getOF()) { // jshint ignore:line + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x7D (JNL disp, aka JGE disp) + * + * @this {X86CPU} + */ +X86.opJNL = function JNL() +{ + var disp = this.getIPDisp(); + if (!this.getSF() == !this.getOF()) { // jshint ignore:line + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x7E (JLE disp) + * + * @this {X86CPU} + */ +X86.opJLE = function JLE() +{ + var disp = this.getIPDisp(); + if (this.getZF() || !this.getSF() != !this.getOF()) { // jshint ignore:line + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x7F (JNLE disp, aka JG disp) + * + * @this {X86CPU} + */ +X86.opJNLE = function JNLE() +{ + var disp = this.getIPDisp(); + if (!this.getZF() && !this.getSF() == !this.getOF()) { // jshint ignore:line + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpC; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesJmpCFall; +}; + +/** + * op=0x80/0x82 (GRP1 byte,imm8) + * + * @this {X86CPU} + */ +X86.opGrp1b = function GRP1b() +{ + this.aOpModGrpByte[this.getIPByte()].call(this, X86.aOpGrp1b, this.getIPByte); + this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); +}; + +/** + * op=0x81 (GRP1 word,imm16) + * + * @this {X86CPU} + */ +X86.opGrp1w = function GRP1w() +{ + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrp1w, this.getIPWord); + this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); +}; + +/** + * op=0x83 (GRP1 word,disp) + * + * @this {X86CPU} + */ +X86.opGrp1sw = function GRP1sw() +{ + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrp1w, this.getIPDisp); + this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); +}; + +/** + * op=0x84 (TEST reg,byte) + * + * @this {X86CPU} + */ +X86.opTESTrb = function TESTrb() +{ + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnTESTb); +}; + +/** + * op=0x85 (TEST reg,word) + * + * @this {X86CPU} + */ +X86.opTESTrw = function TESTrw() +{ + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnTESTw); +}; + +/** + * op=0x86 (XCHG reg,byte) + * + * NOTE: The XCHG instruction is unique in that both src and dst are both read and written; + * see opHelpXCHGrb() for how we deal with this special case. + * + * @this {X86CPU} + */ +X86.opXCHGrb = function XCHGrb() +{ + /* + * If the second operand is a register, then the ModRegByte decoder must use separate "get" and + * "set" assignments, otherwise instructions like "XCHG DH,DL" will end up using a stale DL instead of + * the updated DL. + * + * To be clear, a single assignment like this will fail: + * + * opModRegByteF2: function(fn) +{ + * this.regEDX = (this.regEDX & 0xff) | (fn.call(this, this.regEDX >> 8, this.regEDX & 0xff) << 8); + * } + * + * which is why all affected decoders now use separate assignments; eg: + * + * opModRegByteF2: function(fn) +{ + * var b = fn.call(this, this.regEDX >> 8, this.regEDX & 0xff); + * this.regEDX = (this.regEDX & 0xff) | (b << 8); + * } + */ + this.aOpModRegByte[this.bModRM = this.getIPByte()].call(this, X86.fnXCHGrb); +}; + +/** + * op=0x87 (XCHG reg,word) + * + * NOTE: The XCHG instruction is unique in that both src and dst are both read and written; + * see opHelpXCHGrw() for how we deal with this special case. + * + * @this {X86CPU} + */ +X86.opXCHGrw = function XCHGrw() +{ + this.aOpModRegWord[this.bModRM = this.getIPByte()].call(this, X86.fnXCHGrw); +}; + +/** + * op=0x88 (MOV byte,reg) + * + * @this {X86CPU} + */ +X86.opMOVmb = function MOVmb() +{ + /* + * Like other MOV operations, the destination does not need to be read, just written. + */ + this.opFlags |= X86.OPFLAG.NOREAD; + this.aOpModMemByte[this.getIPByte()].call(this, X86.fnMOV); +}; + +/** + * op=0x89 (MOV word,reg) + * + * @this {X86CPU} + */ +X86.opMOVmw = function MOVmw() +{ + /* + * Like other MOV operations, the destination does not need to be read, just written. + */ + this.opFlags |= X86.OPFLAG.NOREAD; + this.aOpModMemWord[this.getIPByte()].call(this, X86.fnMOV); +}; + +/** + * op=0x8A (MOV reg,byte) + * + * @this {X86CPU} + */ +X86.opMOVrb = function MOVrb() +{ + this.aOpModRegByte[this.getIPByte()].call(this, X86.fnMOV); +}; + +/** + * op=0x8B (MOV reg,word) + * + * @this {X86CPU} + */ +X86.opMOVrw = function MOVrw() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnMOV); +}; + +/** + * op=0x8C (MOV word,sr) + * + * NOTE: Since the ModRM decoders deal only with general-purpose registers, we must move + * the appropriate segment register into a special variable (regMD16), which our helper function + * (opHelpMOVMD16) will use to replace the decoder's src operand. + * + * @this {X86CPU} + */ +X86.opMOVwsr = function MOVwsr() +{ + var bModRM = this.getIPByte(); + var reg = (bModRM & 0x38) >> 3; + switch (reg) { + case 0x0: + this.regMD16 = this.segES.sel; + break; + case 0x1: + this.regMD16 = this.segCS.sel; + break; + case 0x2: + this.regMD16 = this.segSS.sel; + break; + case 0x3: + this.regMD16 = this.segDS.sel; + break; + default: + X86.opUndefined.call(this); + return; + } + /* + * Like other MOV operations, the destination does not need to be read, just written. + */ + this.opFlags |= X86.OPFLAG.NOREAD; + this.aOpModMemWord[bModRM].call(this, X86.fnMOVMD16); +}; + +/** + * op=0x8D (LEA reg,word) + * + * @this {X86CPU} + */ +X86.opLEA = function LEA() +{ + this.opFlags |= X86.OPFLAG.NOREAD; + this.segData = this.segStack = this.segNULL; // we can't have the EA calculation, if any, "polluted" by segment arithmetic + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnLEA); +}; + +/** + * op=0x8E (MOV sr,word) + * + * NOTE: Since the ModRM decoders deal only with general-purpose registers, we have to + * make a note of which general-purpose register will be overwritten, so that we can restore it + * after moving the modified value to the correct segment register. + * + * @this {X86CPU} + */ +X86.opMOVsrw = function MOVsrw() +{ + var temp; + var bModRM = this.getIPByte(); + var reg = (bModRM & 0x38) >> 3; + switch(reg) { + case 0x0: + temp = this.regEAX; + break; + case 0x2: + temp = this.regEDX; + break; + case 0x3: + temp = this.regEBX; + break; + default: + if (this.model == X86.MODEL_80286 || this.model == X86.MODEL_80386 && reg != 0x4 && reg != 0x5) { + X86.opInvalid.call(this); + return; + } + switch(reg) { + case 0x1: // MOV to CS is undocumented on 8086/8088/80186/80188, and invalid on 80286 and up + temp = this.regECX; + break; + case 0x4: // this form of MOV to ES is undocumented on 8086/8088/80186/80188, invalid on 80286, and uses FS starting with 80386 + temp = this.getSP(); + break; + case 0x5: // this form of MOV to CS is undocumented on 8086/8088/80186/80188, invalid on 80286, and uses GS starting with 80386 + temp = this.regEBP; + break; + case 0x6: // this form of MOV to SS is undocumented on 8086/8088/80186/80188, invalid on 80286 and up + temp = this.regESI; + break; + case 0x7: // this form of MOV to DS is undocumented on 8086/8088/80186/80188, invalid on 80286 and up + temp = this.regEDI; + break; + default: + break; + } + break; + } + this.aOpModRegWord[bModRM].call(this, X86.fnMOV); + switch (reg) { + case 0x0: + this.setES(this.regEAX); + this.regEAX = temp; + break; + case 0x1: + this.setCS(this.regECX); + this.regECX = temp; + break; + case 0x2: + this.setSS(this.regEDX); + this.regEDX = temp; + break; + case 0x3: + this.setDS(this.regEBX); + this.regEBX = temp; + break; + case 0x4: + if (I386 && this.model >= X86.MODEL_80386) { + this.setFS(this.getSP()); + } else { + this.setES(this.getSP()); + } + this.setSP(temp); + break; + case 0x5: + if (I386 && this.model >= X86.MODEL_80386) { + this.setGS(this.regEBP); + } else { + this.setCS(this.regEBP); + } + this.regEBP = temp; + break; + case 0x6: + this.setSS(this.regESI); + this.regESI = temp; + break; + case 0x7: + this.setDS(this.regEDI); + this.regEDI = temp; + break; + default: + break; // there IS no other case, but JavaScript inspections don't know that + } +}; + +/** + * op=0x8F (POP word) + * + * @this {X86CPU} + */ +X86.opPOPmw = function POPmw() +{ + /* + * Like other MOV operations, the destination does not need to be read, just written. + */ + this.opFlags |= X86.OPFLAG.NOREAD; + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrpPOPw, this.popWord); +}; + +/** + * op=0x90 (NOP, aka XCHG AX,AX) + * + * @this {X86CPU} + */ +X86.opNOP = function NOP() +{ + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x91 (XCHG AX,CX) + * + * @this {X86CPU} + */ +X86.opXCHGCX = function XCHGCX() +{ + var temp = this.regEAX; + this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regECX & this.dataMask) : this.regECX); + this.regECX = (I386? (this.regECX & ~this.dataMask) | (temp & this.dataMask) : temp); + if (BACKTRACK) { + temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiCL; this.backTrack.btiCL = temp; + temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiCH; this.backTrack.btiCH = temp; + } + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x92 (XCHG AX,DX) + * + * @this {X86CPU} + */ +X86.opXCHGDX = function XCHGDX() +{ + var temp = this.regEAX; + this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEDX & this.dataMask) : this.regEDX); + this.regEDX = (I386? (this.regEDX & ~this.dataMask) | (temp & this.dataMask) : temp); + if (BACKTRACK) { + temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiDL; this.backTrack.btiDL = temp; + temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiDH; this.backTrack.btiDH = temp; + } + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x93 (XCHG AX,BX) + * + * @this {X86CPU} + */ +X86.opXCHGBX = function XCHGBX() +{ + var temp = this.regEAX; + this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEBX & this.dataMask) : this.regEBX); + this.regEBX = (I386? (this.regEBX & ~this.dataMask) | (temp & this.dataMask) : temp); + if (BACKTRACK) { + temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiBL; this.backTrack.btiBL = temp; + temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiBH; this.backTrack.btiBH = temp; + } + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x94 (XCHG AX,SP) + * + * @this {X86CPU} + */ +X86.opXCHGSP = function XCHGSP() +{ + var temp = this.regEAX; + var regESP = this.getSP(); + this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (regESP & this.dataMask) : regESP); + this.setSP((I386? (regESP & ~this.dataMask) | (temp & this.dataMask) : temp)); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiAH = 0; + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x95 (XCHG AX,BP) + * + * @this {X86CPU} + */ +X86.opXCHGBP = function XCHGBP() +{ + var temp = this.regEAX; + this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEBP & this.dataMask) : this.regEBP); + this.regEBP = (I386? (this.regEBP & ~this.dataMask) | (temp & this.dataMask) : temp); + if (BACKTRACK) { + temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiBPLo; this.backTrack.btiBPLo = temp; + temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiBPHi; this.backTrack.btiBPHi = temp; + } + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x96 (XCHG AX,SI) + * + * @this {X86CPU} + */ +X86.opXCHGSI = function XCHGSI() +{ + var temp = this.regEAX; + this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regESI & this.dataMask) : this.regESI); + this.regESI = (I386? (this.regESI & ~this.dataMask) | (temp & this.dataMask) : temp); + if (BACKTRACK) { + temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiSILo; this.backTrack.btiSILo = temp; + temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiSIHi; this.backTrack.btiSIHi = temp; + } + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x97 (XCHG AX,DI) + * + * @this {X86CPU} + */ +X86.opXCHGDI = function XCHGDI() +{ + var temp = this.regEAX; + this.regEAX = (I386? (this.regEAX & ~this.dataMask) | (this.regEDI & this.dataMask) : this.regEDI); + this.regEDI = (I386? (this.regEDI & ~this.dataMask) | (temp & this.dataMask) : temp); + if (BACKTRACK) { + temp = this.backTrack.btiAL; this.backTrack.btiAL = this.backTrack.btiDILo; this.backTrack.btiDILo = temp; + temp = this.backTrack.btiAH; this.backTrack.btiAH = this.backTrack.btiDIHi; this.backTrack.btiDIHi = temp; + } + this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs +}; + +/** + * op=0x98 (CBW/CWDE) + * + * NOTE: The 16-bit form (CBW) sign-extends AL into AX, whereas the 32-bit form (CWDE) sign-extends AX into EAX; + * CWDE is similar to CWD, except that the destination is EAX rather than DX:AX. + * + * @this {X86CPU} + */ +X86.opCBW = function CBW() +{ + if (this.dataSize == 2) { + /* + * CBW + */ + this.regEAX = (this.regEAX & ~0xffff) | (((this.regEAX << 24) >> 24) & 0xffff); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiAL; + } else { + /* + * CWDE + */ + this.regEAX = ((this.regEAX << 16) >> 16); + } + this.nStepCycles -= 2; // CBW takes 2 cycles on all CPUs through 80286 +}; + +/** + * op=0x99 (CWD/CDQ) + * + * NOTE: The 16-bit form (CWD) sign-extends AX, producing a 32-bit result in DX:AX, while the 32-bit form (CDQ) + * sign-extends EAX, producing a 64-bit result in EDX:EAX. + * + * @this {X86CPU} + */ +X86.opCWD = function CWD() +{ + if (this.dataSize == 2) { + /* + * CWD + */ + this.regEDX = (this.regEDX & ~0xffff) | ((this.regEAX & 0x8000)? 0xffff : 0); + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiDH = this.backTrack.btiAH; + } else { + /* + * CDQ + */ + this.regEDX = (this.regEAX & (0x80000000|0))? -1 : 0; + } + this.nStepCycles -= this.CYCLES.nOpCyclesCWD; +}; + +/** + * op=0x9A (CALL seg:off) + * + * @this {X86CPU} + */ +X86.opCALLF = function CALLF() +{ + X86.fnCALLF.call(this, this.getIPWord(), this.getIPWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesCallF; +}; + +/** + * op=0x9B (WAIT) + * + * @this {X86CPU} + */ +X86.opWAIT = function WAIT() +{ + this.printMessage("WAIT not implemented", Messages.CPU); + this.nStepCycles--; +}; + +/** + * op=0x9C (PUSHF) + * + * @this {X86CPU} + */ +X86.opPUSHF = function PUSHF() +{ + this.pushWord(this.getPS()); + this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; +}; + +/** + * op=0x9D (POPF) + * + * @this {X86CPU} + */ +X86.opPOPF = function POPF() +{ + this.setPS(this.popWord()); + /* + * NOTE: I'm assuming that neither POPF nor IRET are required to set NOINTR like STI does. + */ + this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; +}; + +/** + * op=0x9E (SAHF) + * + * @this {X86CPU} + */ +X86.opSAHF = function SAHF() +{ + /* + * NOTE: While it make LOOK more efficient to do this: + * + * this.setPS((this.getPS() & ~X86.PS.SAHF) | ((this.regEAX >> 8) & X86.PS.SAHF)); + * + * the call to getPS() forces all the "indirect" flags to be resolved first, and then the call + * to setPS() forces them all to be recalculated, so on balance, the code below is probably more + * efficient, and may also avoid some unexpected side-effects of slamming the entire PS register. + */ + var ah = this.regEAX >> 8; + if (ah & X86.PS.CF) this.setCF(); else this.clearCF(); + if (ah & X86.PS.PF) this.setPF(); else this.clearPF(); + if (ah & X86.PS.AF) this.setAF(); else this.clearAF(); + if (ah & X86.PS.ZF) this.setZF(); else this.clearZF(); + if (ah & X86.PS.SF) this.setSF(); else this.clearSF(); + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; + this.assert((this.getPS() & X86.PS.SAHF) == (ah & X86.PS.SAHF)); +}; + +/** + * op=0x9F (LAHF) + * + * @this {X86CPU} + */ +X86.opLAHF = function LAHF() +{ + this.regEAX = (this.regEAX & 0xff) | (this.getPS() & X86.PS.SAHF) << 8; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xA0 (MOV AL,mem) + * + * @this {X86CPU} + */ +X86.opMOVALm = function MOVALm() +{ + this.regEAX = (this.regEAX & ~0xff) | this.getSOByte(this.segData, this.getIPWord()); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesMovAM; +}; + +/** + * op=0xA1 (MOV AX,mem) + * + * @this {X86CPU} + */ +X86.opMOVAXm = function MOVAXm() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | this.getSOWord(this.segData, this.getIPWord()); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesMovAM; +}; + +/** + * op=0xA2 (MOV mem,AL) + * + * @this {X86CPU} + */ +X86.opMOVmAL = function MOVmAL() +{ + if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiAL; + /* + * setSOByte() truncates the value as appropriate + */ + this.setSOByte(this.segData, this.getIPWord(), this.regEAX); + this.nStepCycles -= this.CYCLES.nOpCyclesMovMA; +}; + +/** + * op=0xA3 (MOV mem,AX) + * + * @this {X86CPU} + */ +X86.opMOVmAX = function MOVmAX() +{ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; + } + /* + * setSOWord() truncates the value as appropriate + */ + this.setSOWord(this.segData, this.getIPWord(), this.regEAX); + this.nStepCycles -= this.CYCLES.nOpCyclesMovMA; +}; + +/** + * op=0xA4 (MOVSB) + * + * @this {X86CPU} + */ +X86.opMOVSb = function MOVSb() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesMovS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesMovSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesMovSr0; + } + if (nReps--) { + var nInc = ((this.regPS & X86.PS.DF)? -1 : 1); + this.setSOByte(this.segES, this.regEDI & this.addrMask, this.getSOByte(this.segData, this.regESI)); + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xA5 (MOVSW) + * + * @this {X86CPU} + */ +X86.opMOVSw = function MOVSw() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesMovS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesMovSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesMovSr0; + } + if (nReps--) { + var nInc = ((this.regPS & X86.PS.DF)? -2 : 2); + this.setSOWord(this.segES, this.regEDI & this.addrMask, this.getSOWord(this.segData, this.regESI)); + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xA6 (CMPSB) + * + * @this {X86CPU} + */ +X86.opCMPSb = function CMPSb() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesCmpS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesCmpSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesCmpSr0; + } + if (nReps--) { + var nInc = ((this.regPS & X86.PS.DF)? -1 : 1); + var bDst = this.getEAByte(this.segData, this.regESI & this.addrMask); + var bSrc = this.modEAByte(this.segES, this.regEDI & this.addrMask); + X86.fnCMPb.call(this, bDst, bSrc); + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); + /* + * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM + */ + this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; + this.regECX -= nDelta; + /* + * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is + * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those + * two values are equal, we must continue. + */ + if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { + if (BUGS_8086) { + this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xA7 (CMPSW) + * + * @this {X86CPU} + */ +X86.opCMPSw = function CMPSw() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesCmpS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesCmpSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesCmpSr0; + } + if (nReps--) { + var nInc = ((this.regPS & X86.PS.DF)? -2 : 2); + var wDst = this.getEAWord(this.segData, this.regESI & this.addrMask); + var wSrc = this.modEAWord(this.segES, this.regEDI & this.addrMask); + X86.fnCMPw.call(this, wDst, wSrc); + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + nInc) & this.addrMask); + /* + * NOTE: As long as we're calling opGrpCMPw(), all our cycle times must be reduced by nOpCyclesArithRM + */ + this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; + this.regECX -= nDelta; + /* + * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is + * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those + * two values are equal, we must continue. + */ + if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { + if (BUGS_8086) { + this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xA8 (TEST AL,imm8) + * + * @this {X86CPU} + */ +X86.opTESTALb = function TESTALb() +{ + this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = this.regEAX & this.getIPByte(); + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= this.CYCLES.nOpCyclesAAA; +}; + +/** + * op=0xA9 (TEST AX,imm16) + * + * @this {X86CPU} + */ +X86.opTESTAXw = function TESTAXw() +{ + this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = this.regEAX & this.getIPWord(); + this.resultSize = X86.RESULT.SIZE_WORD; + this.nStepCycles -= this.CYCLES.nOpCyclesAAA; +}; + +/** + * op=0xAA (STOSB) + * + * NOTES: Segment overrides are ignored for this instruction, so we must use segES instead of segData. + * + * @this {X86CPU} + */ +X86.opSTOSb = function STOSb() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesStoS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesStoSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesStoSr0; + } + if (nReps--) { + /* + * NOTE: We rely on setSOByte() to truncate regEAX to 8 bits; if setSOByte() changes, mask AX below. + */ + if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiAL; + this.setSOByte(this.segES, this.regEDI & this.addrMask, this.regEAX); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xAB (STOSW) + * + * NOTES: Segment overrides are ignored for this instruction, so we must use segES instead of segData. + * + * @this {X86CPU} + */ +X86.opSTOSw = function STOSw() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesStoS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesStoSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesStoSr0; + } + if (nReps--) { + /* + * NOTE: Storing a word imposes another 4-cycle penalty on the 8088, so consider that + * if you think the cycle times here are too high. + */ + if (BACKTRACK) { + this.backTrack.btiMemLo = this.backTrack.btiAL; this.backTrack.btiMemHi = this.backTrack.btiAH; + } + this.setSOWord(this.segES, this.regEDI & this.addrMask, this.regEAX); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xAC (LODSB) + * + * @this {X86CPU} + */ +X86.opLODSb = function LODSb() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesLodS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesLodSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesLodSr0; + } + if (nReps--) { + this.regEAX = (this.regEAX & ~0xff) | this.getSOByte(this.segData, this.regESI & this.addrMask); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xAD (LODSW) + * + * @this {X86CPU} + */ +X86.opLODSw = function LODSw() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesLodS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesLodSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesLodSr0; + } + if (nReps--) { + this.regEAX = this.getSOWord(this.segData, this.regESI & this.addrMask); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + this.regESI = (this.regESI & ~this.addrMask) | ((this.regESI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); + this.nStepCycles -= nCycles; + this.regECX -= nDelta; + if (nReps) { + if (BUGS_8086) { + this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xAE (SCASB) + * + * @this {X86CPU} + */ +X86.opSCASb = function SCASb() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesScaS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesScaSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesScaSr0; + } + if (nReps--) { + X86.fnCMPb.call(this, this.regEAX & 0xff, this.modEAByte(this.segES, this.regEDI & this.addrMask)); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); + /* + * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM + */ + this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; + this.regECX -= nDelta; + /* + * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is + * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those + * two values are equal, we must continue. + */ + if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xAF (SCASW) + * + * @this {X86CPU} + */ +X86.opSCASw = function SCASw() +{ + var nReps = 1; + var nDelta = 0; + var nCycles = this.CYCLES.nOpCyclesScaS; + if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { + nReps = this.regECX; + nDelta = 1; + nCycles = this.CYCLES.nOpCyclesScaSrn; + if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesScaSr0; + } + if (nReps--) { + X86.fnCMPw.call(this, this.regEAX, this.modEAWord(this.segES, this.regEDI & this.addrMask)); + this.regEDI = (this.regEDI & ~this.addrMask) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); + /* + * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM + */ + this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; + this.regECX -= nDelta; + /* + * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is + * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those + * two values are equal, we must continue. + */ + if (nReps && this.getZF() == (this.opPrefixes & X86.OPFLAG.REPZ)) { + if (BUGS_8086) { + this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regLIP == this.opLIP); + } else { + this.regLIP = this.opLIP; + } + this.opFlags |= X86.OPFLAG.REPEAT; + } + } +}; + +/** + * op=0xB0 (MOV AL,imm8) + * + * @this {X86CPU} + */ +X86.opMOVALb = function MOVALb() +{ + this.regEAX = (this.regEAX & ~0xff) | this.getIPByte(); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB1 (MOV CL,imm8) + * + * @this {X86CPU} + */ +X86.opMOVCLb = function MOVCLb() +{ + this.regECX = (this.regECX & ~0xff) | this.getIPByte(); + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB2 (MOV DL,imm8) + * + * @this {X86CPU} + */ +X86.opMOVDLb = function MOVDLb() +{ + this.regEDX = (this.regEDX & ~0xff) | this.getIPByte(); + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB3 (MOV BL,imm8) + * + * @this {X86CPU} + */ +X86.opMOVBLb = function MOVBLb() +{ + this.regEBX = (this.regEBX & ~0xff) | this.getIPByte(); + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB4 (MOV AH,imm8) + * + * @this {X86CPU} + */ +X86.opMOVAHb = function MOVAHb() +{ + this.regEAX = (this.regEAX & 0xff) | (this.getIPByte() << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB5 (MOV CH,imm8) + * + * @this {X86CPU} + */ +X86.opMOVCHb = function MOVCHb() +{ + this.regECX = (this.regECX & 0xff) | (this.getIPByte() << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB6 (MOV DH,imm8) + * + * @this {X86CPU} + */ +X86.opMOVDHb = function MOVDHb() +{ + this.regEDX = (this.regEDX & 0xff) | (this.getIPByte() << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB7 (MOV BH,imm8) + * + * @this {X86CPU} + */ +X86.opMOVBHb = function MOVBHb() +{ + this.regEBX = (this.regEBX & 0xff) | (this.getIPByte() << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiMemLo; + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB8 (MOV AX,imm16) + * + * @this {X86CPU} + */ +X86.opMOVAXw = function MOVAXw() +{ + this.regEAX = (this.regEAX & ~this.dataMask) | this.getIPWord(); + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiMemLo; this.backTrack.btiAH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xB9 (MOV CX,imm16) + * + * @this {X86CPU} + */ +X86.opMOVCXw = function MOVCXw() +{ + this.regECX = (this.regECX & ~this.dataMask) | this.getIPWord(); + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiMemLo; this.backTrack.btiCH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xBA (MOV DX,imm16) + * + * @this {X86CPU} + */ +X86.opMOVDXw = function MOVDXw() +{ + this.regEDX = (this.regEDX & ~this.dataMask) | this.getIPWord(); + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiMemLo; this.backTrack.btiDH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xBB (MOV BX,imm16) + * + * @this {X86CPU} + */ +X86.opMOVBXw = function MOVBXw() +{ + this.regEBX = (this.regEBX & ~this.dataMask) | this.getIPWord(); + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiMemLo; this.backTrack.btiBH = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xBC (MOV SP,imm16) + * + * @this {X86CPU} + */ +X86.opMOVSPw = function MOVSPw() +{ + this.setSP((this.getSP() & ~this.dataMask) | this.getIPWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xBD (MOV BP,imm16) + * + * @this {X86CPU} + */ +X86.opMOVBPw = function MOVBPw() +{ + this.regEBP = (this.regEBP & ~this.dataMask) | this.getIPWord(); + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiMemLo; this.backTrack.btiBPHi = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xBE (MOV SI,imm16) + * + * @this {X86CPU} + */ +X86.opMOVSIw = function MOVSIw() +{ + this.regESI = (this.regESI & ~this.dataMask) | this.getIPWord(); + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiMemLo; this.backTrack.btiSIHi = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xBF (MOV DI,imm16) + * + * @this {X86CPU} + */ +X86.opMOVDIw = function MOVDIw() +{ + this.regEDI = (this.regEDI & ~this.dataMask) | this.getIPWord(); + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiMemLo; this.backTrack.btiDIHi = this.backTrack.btiMemHi; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; +}; + +/** + * op=0xC0 (GRP2 byte,imm8) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opGrp2bi = function GRP2bi() +{ + this.aOpModGrpByte[this.getIPByte()].call(this, X86.aOpGrp2b, X86.fnGRPCountImm); +}; + +/** + * op=0xC1 (GRP2 word,imm16) (80186/80188 and up) + * + * @this {X86CPU} + */ +X86.opGrp2wi = function GRP2wi() +{ + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrp2w, X86.fnGRPCountImm); +}; + +/** + * op=0xC2 (RET n) + * + * @this {X86CPU} + */ +X86.opRETn = function RETn() +{ + var n = this.getIPWord() << (this.dataSize >> 2); + this.setIP(this.popWord()); + if (n) this.setSP(this.getSP() + n); // TODO: optimize + this.nStepCycles -= this.CYCLES.nOpCyclesRetn; +}; + +/** + * op=0xC3 (RET) + * + * @this {X86CPU} + */ +X86.opRET = function RET() +{ + this.setIP(this.popWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesRet; +}; + +/** + * op=0xC4 (LES reg,word) + * + * @this {X86CPU} + */ +X86.opLES = function LES() +{ + /* + * This is like a "MOV reg,rm" operation, but it also loads ES from the next word. + */ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnLES); +}; + +/** + * op=0xC5 (LDS reg,word) + * + * @this {X86CPU} + */ +X86.opLDS = function LDS() +{ + /* + * This is like a "MOV reg,rm" operation, but it also loads DS from the next word. + */ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnLDS); +}; + +/** + * op=0xC6 (MOV byte,imm8) + * + * @this {X86CPU} + */ +X86.opMOVb = function MOVb() +{ + /* + * Like other MOV operations, the destination does not need to be read, just written. + */ + this.opFlags |= X86.OPFLAG.NOREAD; + this.aOpModGrpByte[this.getIPByte()].call(this, X86.aOpGrpMOVImm, this.getIPByte); +}; + +/** + * op=0xC7 (MOV word,imm16) + * + * @this {X86CPU} + */ +X86.opMOVw = function MOVw() +{ + /* + * Like other MOV operations, the destination does not need to be read, just written. + */ + this.opFlags |= X86.OPFLAG.NOREAD; + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrpMOVImm, this.getIPWord); +}; + +/** + * op=0xC8 (ENTER imm16,imm8) (80186/80188 and up) + * + * Here's the pseudo-code from http://www.pcjs.org/pubs/pc/reference/intel/80286/progref, p.B-40 (p.250): + * + * LEVEL := LEVEL MOD 32 + * Push BP + * Set a temporary value FRAME_PTR := SP + * If LEVEL > 0 then + * Repeat (LEVEL-1) times: + * BP := BP - 2 + * Push the word pointed to by BP + * End repeat + * Push FRAME_PTR + * End if + * BP := FRAME_PTR + * SP := SP - first operand + * + * TODO: Verify that this pseudo-code is identical on the 80186/80188 (eg, is LEVEL MOD 32 performed in both instances?) + * + * @this {X86CPU} + */ +X86.opENTER = function ENTER() +{ + var wLocal = this.getIPWord(); + var bLevel = this.getIPByte() & 0x1f; + /* + * NOTE: 11 is the minimum cycle time for the 80286; the 80186/80188 has different cycle times: 15, 25 and + * 22 + 16 * (bLevel - 1) for bLevel 0, 1 and > 1, respectively. However, accurate cycle times for the 80186/80188 + * is low priority. TODO: Fix this someday. + */ + this.nStepCycles -= 11; + this.pushWord(this.regEBP); + var wFrame = this.getSP() & this.segSS.addrMask; + if (bLevel > 0) { + this.nStepCycles -= (bLevel << 2) + (bLevel > 1? 1 : 0); + while (--bLevel) { + this.regEBP = (this.regEBP & ~this.segSS.addrMask) | ((this.regEBP - this.dataSize) & this.segSS.addrMask); + this.pushWord(this.getSOWord(this.segSS, this.regEBP & this.segSS.addrMask)); + } + this.pushWord(wFrame); + } + this.regEBP = (this.regEBP & ~this.segSS.addrMask) | wFrame; + this.setSP((this.getSP() & ~this.segSS.addrMask) | ((this.getSP() - wLocal) & this.segSS.addrMask)); +}; + +/** + * op=0xC9 (LEAVE) (80186/80188 and up) + * + * Set SP to BP, then pop BP. + * + * @this {X86CPU} + */ +X86.opLEAVE = function LEAVE() +{ + this.setSP((this.getSP() & ~this.segSS.addrMask) | (this.regEBP & this.segSS.addrMask)); + this.regEBP = (this.regEBP & ~this.dataMask) | (this.popWord() & this.dataMask); + /* + * NOTE: 5 is the cycle time for the 80286; the 80186/80188 has a cycle time of 8. However, accurate cycle + * counts for the 80186/80188 is low priority. TODO: Fix this someday. + */ + this.nStepCycles -= 5; +}; + +/** + * op=0xCA (RETF n) + * + * @this {X86CPU} + */ +X86.opRETFn = function RETFn() +{ + X86.fnRETF.call(this, this.getIPWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesRetFn; +}; + +/** + * op=0xCB (RETF) + * + * @this {X86CPU} + */ +X86.opRETF = function RETF() +{ + X86.fnRETF.call(this, 0); + this.nStepCycles -= this.CYCLES.nOpCyclesRetF; +}; + +/** + * op=0xCC (INT 3) + * + * @this {X86CPU} + */ +X86.opINT3 = function INT3() +{ + X86.fnINT.call(this, X86.EXCEPTION.BREAKPOINT, null, this.CYCLES.nOpCyclesInt3D); +}; + +/** + * op=0xCD (INT n) + * + * @this {X86CPU} + */ +X86.opINTn = function INTn() +{ + var nInt = this.getIPByte(); + if (this.checkIntNotify(nInt)) { + X86.fnINT.call(this, nInt, null, 0); + return; + } + this.nStepCycles--; // we don't need to assess the full cost of nOpCyclesInt, but we need to assess something... +}; + +/** + * op=0xCE (INTO: INT 4 if OF set) + * + * @this {X86CPU} + */ +X86.opINTO = function INTO() +{ + if (this.getOF()) { + X86.fnINT.call(this, X86.EXCEPTION.OVERFLOW, null, this.CYCLES.nOpCyclesIntOD); + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesIntOFall; +}; + +/** + * op=0xCF (IRET) + * + * @this {X86CPU} + */ +X86.opIRET = function IRET() +{ + X86.fnIRET.call(this); +}; + +/** + * op=0xD0 (GRP2 byte,1) + * + * @this {X86CPU} + */ +X86.opGrp2b1 = function GRP2b1() +{ + this.aOpModGrpByte[this.getIPByte()].call(this, X86.aOpGrp2b, X86.fnGRPCount1); +}; + +/** + * op=0xD1 (GRP2 word,1) + * + * @this {X86CPU} + */ +X86.opGrp2w1 = function GRP2w1() +{ + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrp2w, X86.fnGRPCount1); +}; + +/** + * op=0xD2 (GRP2 byte,CL) + * + * @this {X86CPU} + */ +X86.opGrp2bCL = function GRP2bCL() +{ + this.aOpModGrpByte[this.getIPByte()].call(this, X86.aOpGrp2b, X86.fnGRPCountCL); +}; + +/** + * op=0xD3 (GRP2 word,CL) + * + * @this {X86CPU} + */ +X86.opGrp2wCL = function GRP2wCL() +{ + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrp2w, X86.fnGRPCountCL); +}; + +/** + * op=0xD4 0x0A (AAM) + * + * From "The 8086 Book": + * + * 1. Divide the AL register by OA16. Store the quotient in the AH register. Store the remainder in the AL register. + * 2. Set the flags in the following manner: + * Parity: based on the AL register + * Sign : based on the high-order bit of the AL register Zero: based on the AL register + * Carry, Overflow, and Arithmetic: undefined + * + * @this {X86CPU} + */ +X86.opAAM = function AAM() +{ + var bDivisor = this.getIPByte(); + var AL = this.regEAX & 0xff; + var bQuotient = (AL / bDivisor) & 0xff; + var bRemainder = AL % bDivisor; + this.regEAX = (bQuotient << 8) | bRemainder; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.resultZeroCarry = this.resultParitySign = AL; + this.nStepCycles -= this.CYCLES.nOpCyclesAAM; +}; + +/** + * op=0xD5 (AAD) + * + * From "The 8086 Book": + * + * 1. Multiply the contents of the AH register by 0x0A + * 2. Add AH to AL. + * 3. Store 0x00 into the AH register. + * 4. Set the flags in the following manner: + * Parity: based on the AL register + * Zero: based on the AL register + * Sign: based on the high-order bit of the AL register + * Carry, Overflow, Arithmetic: undefined + * + * @this {X86CPU} + */ +X86.opAAD = function AAD() +{ + var bMultiplier = this.getIPByte(); + this.resultZeroCarry = this.resultParitySign = this.regEAX = (((this.regEAX >> 8) * bMultiplier) + this.regEAX) & 0xff; + this.resultSize = X86.RESULT.SIZE_BYTE; + this.nStepCycles -= this.CYCLES.nOpCyclesAAD; +}; + +/** + * op=0xD6 (SALC aka SETALC) (undocumented until Pentium Pro) + * + * Sets AL to 0xFF if CF=1, 0x00 otherwise; no flags are affected (similar to SBB AL,AL, but without side-effects) + * + * WARNING: I have no idea how many clocks this instruction originally consumed, so for now, I'm going with the minimum of 2. + * + * @this {X86CPU} + */ +X86.opSALC = function SALC() +{ + this.regEAX = (this.regEAX & ~0xff) | (this.getCF()? 0xFF : 0); + this.nStepCycles -= 2; +}; + +/** + * op=0xD7 (XLAT) + * + * @this {X86CPU} + */ +X86.opXLAT = function XLAT() +{ + /* + * NOTE: I have no idea whether XLAT actually wraps the 16-bit address calculation; + * I'm masking it as if it does, but I need to run a test on real hardware to be sure. + */ + this.regEAX = (this.regEAX & ~0xff) | this.getEAByte(this.segData, ((this.regEBX + (this.regEAX & 0xff)) & 0xffff)); + this.nStepCycles -= this.CYCLES.nOpCyclesXLAT; +}; + +/** + * op=0xD8-0xDF (ESC) + * + * @this {X86CPU} + */ +X86.opESC = function ESC() +{ + this.aOpModRegWord[this.getIPByte()].call(this, X86.fnESC); + this.nStepCycles -= 8; // TODO: Fix +}; + +/** + * op=0xE0 (LOOPNZ disp) + * + * @this {X86CPU} + */ +X86.opLOOPNZ = function LOOPNZ() +{ + var disp = this.getIPDisp(); + if ((this.regECX = (this.regECX - 1) & this.addrMask) && (this.resultZeroCarry & (this.resultSize - 1))) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesLoopNZ; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLoopFall; +}; + +/** + * op=0xE1 (LOOPZ disp) + * + * @this {X86CPU} + */ +X86.opLOOPZ = function LOOPZ() +{ + var disp = this.getIPDisp(); + if ((this.regECX = (this.regECX - 1) & this.addrMask) && !(this.resultZeroCarry & (this.resultSize - 1))) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesLoopZ; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLoopZFall; +}; + +/** + * op=0xE2 (LOOP disp) + * + * @this {X86CPU} + */ +X86.opLOOP = function LOOP() +{ + var disp = this.getIPDisp(); + if ((this.regECX = (this.regECX - 1) & this.addrMask)) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesLoop; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLoopFall; +}; + +/** + * op=0xE3 (JCXZ disp) + * + * @this {X86CPU} + */ +X86.opJCXZ = function JCXZ() +{ + var disp = this.getIPDisp(); + if (!this.regECX) { + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesLoopZ; + return; + } + this.nStepCycles -= this.CYCLES.nOpCyclesLoopZFall; +}; + +/** + * op=0xE4 (IN AL,port) + * + * @this {X86CPU} + */ +X86.opINb = function INb() +{ + var port = this.getIPByte(); + this.regEAX = (this.regEAX & ~0xff) | this.bus.checkPortInputNotify(port, this.regLIP - 2); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; + this.nStepCycles -= this.CYCLES.nOpCyclesInP; +}; + +/** + * op=0xE5 (IN AX,port) + * + * @this {X86CPU} + */ +X86.opINw = function INw() +{ + var port = this.getIPByte(); + this.regEAX = this.bus.checkPortInputNotify(port, this.regLIP - 2); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; + this.regEAX |= (this.bus.checkPortInputNotify((port + 1) & 0xffff, this.regLIP - 2) << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiIO; + this.nStepCycles -= this.CYCLES.nOpCyclesInP; +}; + +/** + * op=0xE6 (OUT port,AL) + * + * @this {X86CPU} + */ +X86.opOUTb = function OUTb() +{ + var port = this.getIPByte(); + this.bus.checkPortOutputNotify(port, this.regEAX & 0xff, this.regLIP - 2); + this.nStepCycles -= this.CYCLES.nOpCyclesOutP; +}; + +/** + * op=0xE7 (OUT port,AX) + * + * @this {X86CPU} + */ +X86.opOUTw = function OUTw() +{ + var port = this.getIPByte(); + this.bus.checkPortOutputNotify(port, this.regEAX & 0xff, this.regLIP - 2); + this.bus.checkPortOutputNotify((port + 1) & 0xffff, this.regEAX >> 8, this.regLIP - 2); + this.nStepCycles -= this.CYCLES.nOpCyclesOutP; +}; + +/** + * op=0xE8 (CALL disp16) + * + * @this {X86CPU} + */ +X86.opCALL = function CALL() +{ + var disp = this.getIPWord(); + this.pushWord(this.getIP()); + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesCall; +}; + +/** + * op=0xE9 (JMP disp16) + * + * @this {X86CPU} + */ +X86.opJMP = function JMP() +{ + var disp = this.getIPWord(); + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmp; +}; + +/** + * op=0xEA (JMP seg:off) + * + * @this {X86CPU} + */ +X86.opJMPF = function JMPF() +{ + this.setCSIP(this.getIPWord(), this.getIPWord()); + this.nStepCycles -= this.CYCLES.nOpCyclesJmpF; +}; + +/** + * op=0xEB (JMP short disp8) + * + * @this {X86CPU} + */ +X86.opJMPs = function JMPs() +{ + var disp = this.getIPDisp(); + this.setIP(this.getIP() + disp); + this.nStepCycles -= this.CYCLES.nOpCyclesJmp; +}; + +/** + * op=0xEC (IN AL,dx) + * + * @this {X86CPU} + */ +X86.opINDXb = function INDXb() +{ + this.regEAX = (this.regEAX & ~0xff) | this.bus.checkPortInputNotify(this.regEDX, this.regLIP - 1); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; + this.nStepCycles -= this.CYCLES.nOpCyclesInDX; +}; + +/** + * op=0xED (IN AX,dx) + * + * @this {X86CPU} + */ +X86.opINDXw = function INDXw() +{ + this.regEAX = this.bus.checkPortInputNotify(this.regEDX, this.regLIP - 1); + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; + this.regEAX |= (this.bus.checkPortInputNotify((this.regEDX + 1) & 0xffff, this.regLIP - 1) << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiIO; + this.nStepCycles -= this.CYCLES.nOpCyclesInDX; +}; + +/** + * op=0xEE (OUT dx,AL) + * + * @this {X86CPU} + */ +X86.opOUTDXb = function OUTDXb() +{ + if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiAL; + this.bus.checkPortOutputNotify(this.regEDX, this.regEAX & 0xff, this.regLIP - 1); + this.nStepCycles -= this.CYCLES.nOpCyclesOutDX; +}; + +/** + * op=0xEF (OUT dx,AX) + * + * @this {X86CPU} + */ +X86.opOUTDXw = function OUTDXw() +{ + if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiAL; + this.bus.checkPortOutputNotify(this.regEDX, this.regEAX & 0xff, this.regLIP - 1); + if (BACKTRACK) this.backTrack.btiIO = this.backTrack.btiAH; + this.bus.checkPortOutputNotify((this.regEDX + 1) & 0xffff, this.regEAX >> 8, this.regLIP - 1); + this.nStepCycles -= this.CYCLES.nOpCyclesOutDX; +}; + +/** + * op=0xF0 (LOCK:) + * + * @this {X86CPU} + */ +X86.opLOCK = function LOCK() +{ + /* + * NOTE: The fact that we're setting NOINTR along with LOCK is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.LOCK | X86.OPFLAG.NOINTR; + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; +}; + +/** + * op=0xF1 (INT1; undocumented; 80186/80188 and up; TODO: Verify) + * + * I still treat this as undefined, until I can verify the behavior on real hardware. + * + * @this {X86CPU} + */ +X86.opINT1 = function INT1() +{ + X86.opUndefined.call(this); +}; + +/** + * op=0xF2 (REPNZ:) (repeat CMPS or SCAS until NZ; repeat MOVS, LODS, or STOS unconditionally) + * + * @this {X86CPU} + */ +X86.opREPNZ = function REPNZ() +{ + /* + * NOTE: The fact that we're setting NOINTR along with REPNZ is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.REPNZ | X86.OPFLAG.NOINTR; + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; +}; + +/** + * op=0xF3 (REPZ:) (repeat CMPS or SCAS until Z; repeat MOVS, LODS, or STOS unconditionally) + * + * @this {X86CPU} + */ +X86.opREPZ = function REPZ() +{ + /* + * NOTE: The fact that we're setting NOINTR along with REPZ is really just for documentation purposes; + * the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway. + */ + this.opFlags |= X86.OPFLAG.REPZ | X86.OPFLAG.NOINTR; + this.nStepCycles -= this.CYCLES.nOpCyclesPrefix; +}; + +/** + * op=0xF4 (HLT) + * + * @this {X86CPU} + */ +X86.opHLT = function HLT() +{ + /* + * The CPU is never REALLY halted by a HLT instruction; instead, by setting X86.INTFLAG.HALT, + * we are signalling to stepCPU() that it's free to end the current burst AND that it should not + * execute any more instructions until checkINTR() indicates a hardware interrupt is requested. + */ + this.intFlags |= X86.INTFLAG.HALT; + this.nStepCycles -= 2; + /* + * If a Debugger is present AND Debugger checks are enabled (eg, one or more breakpoints are set, + * or the global DEBUG flag is set, etc), then we REALLY halt the CPU, on the theory that whoever's + * using the Debugger would like to see HLTs. + */ + if (DEBUGGER && this.dbg && this.dbg.checksEnabled(true)) { + this.advanceIP(-1); // this is purely for the Debugger's benefit, to show the HLT + this.stopCPU(); + return; + } + /* + * We also REALLY halt the machine if interrupts have been disabled, since that means it's dead + * in the water (we have no NMI generation mechanism at the moment). + */ + if (!this.getIF()) { + if (DEBUGGER && this.dbg) this.advanceIP(-1); + this.stopCPU(); + // return; + } +}; + +/** + * op=0xF5 (CMC) + * + * @this {X86CPU} + */ +X86.opCMC = function CMC() +{ + if (this.getCF()) this.clearCF(); else this.setCF(); + this.nStepCycles -= 2; // CMC takes 2 cycles on all CPUs +}; + +/** + * op=0xF6 (GRP3 byte) + * + * The MUL byte instruction is problematic in two cases: + * + * 0xF6 0xE0: MUL AL + * 0xF6 0xE4: MUL AH + * + * because the OpModGrpByte decoder function will attempt to put the opGrpMULb() function's + * return value back into AL or AH, undoing opGrpMULb's update of AX. And since opGrpMULb doesn't + * know what the target is (only the target's value), it cannot easily work around the problem. + * + * A simple, albeit kludgy, solution is for opGrpMULb to always save its result in a special "register" + * (eg, regMD16), which we will then put back into regEAX if it's been updated. This also relieves us + * from having to decode any part of the ModRM byte, so maybe it's not such a bad work-around after all. + * + * Similar issues with IMUL (and DIV and IDIV) are resolved using the same special variable(s). + * + * @this {X86CPU} + */ +X86.opGrp3b = function GRP3b() +{ + this.regMD16 = -1; + this.aOpModGrpByte[this.getIPByte()].call(this, X86.aOpGrp3b, X86.fnGRPSrcNone); + if (this.regMD16 >= 0) this.regEAX = this.regMD16; +}; + +/** + * op=0xF7 (GRP3 word) + * + * The MUL word instruction is problematic in two cases: + * + * 0xF7 0xE0: MUL AX + * 0xF7 0xE2: MUL DX + * + * because the OpModGrpWord decoder function will attempt to put the opGrpMULw() function's + * return value back into AX or DX, undoing opGrpMULw's update of DX:AX. And since opGrpMULw doesn't + * know what the target is (only the target's value), it cannot easily work around the problem. + * + * A simple, albeit kludgey, solution is for opGrpMULw to always save its result in a special "register" + * (eg, regMD16/regMD32), which we will then put back into regEAX/regEDX if it's been updated. This also relieves + * us from having to decode any part of the ModRM byte, so maybe it's not such a bad work-around after all. + * + * @this {X86CPU} + */ +X86.opGrp3w = function GRP3w() +{ + this.regMD16 = -1; + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrp3w, X86.fnGRPSrcNone); + if (this.regMD16 >= 0) { + this.regEAX = this.regMD16; + this.regEDX = this.regMD32; + } +}; + +/** + * op=0xF8 (CLC) + * + * @this {X86CPU} + */ +X86.opCLC = function CLC() +{ + this.resultZeroCarry &= ~this.resultSize; + this.nStepCycles -= 2; // CLC takes 2 cycles on all CPUs +}; + +/** + * op=0xF9 (STC) + * + * @this {X86CPU} + */ +X86.opSTC = function STC() +{ + this.resultZeroCarry |= this.resultSize; + this.nStepCycles -= 2; // STC takes 2 cycles on all CPUs +}; + +/** + * op=0xFA (CLI) + * + * @this {X86CPU} + */ +X86.opCLI = function CLI() +{ + this.clearIF(); + this.nStepCycles -= this.CYCLES.nOpCyclesCLI; // CLI takes LONGER on an 80286 +}; + +/** + * op=0xFB (STI) + * + * @this {X86CPU} + */ +X86.opSTI = function STI() +{ + this.setIF(); + this.opFlags |= X86.OPFLAG.NOINTR; + this.nStepCycles -= 2; // STI takes 2 cycles on all CPUs +}; + +/** + * op=0xFC (CLD) + * + * @this {X86CPU} + */ +X86.opCLD = function CLD() +{ + this.clearDF(); + this.nStepCycles -= 2; // CLD takes 2 cycles on all CPUs +}; + +/** + * op=0xFD (STD) + * + * @this {X86CPU} + */ +X86.opSTD = function STD() +{ + this.setDF(); + this.nStepCycles -= 2; // STD takes 2 cycles on all CPUs +}; + +/** + * op=0xFE (GRP4 byte) + * + * @this {X86CPU} + */ +X86.opGrp4b = function GRP4b() +{ + this.aOpModGrpByte[this.getIPByte()].call(this, X86.aOpGrp4b, X86.fnGRPSrcNone); +}; + +/** + * op=0xFF (GRP4 word) + * + * @this {X86CPU} + */ +X86.opGrp4w = function GRP4w() +{ + this.aOpModGrpWord[this.getIPByte()].call(this, X86.aOpGrp4w, X86.fnGRPSrcNone); +}; + +/** + * opInvalid() + * + * @this {X86CPU} + */ +X86.opInvalid = function() +{ + X86.fnFault.call(this, X86.EXCEPTION.UD_FAULT); + this.stopCPU(); +}; + +/** + * opUndefined() + * + * @this {X86CPU} + */ +X86.opUndefined = function() +{ + this.setIP(this.opLIP - this.segCS.base); + this.setError("Undefined opcode 0x" + str.toHexByte(this.bus.getByteDirect(this.regLIP)) + " at 0x" + str.toHex(this.regLIP)); + this.stopCPU(); }; /* @@ -3673,44 +4230,44 @@ var X86OpXX = { * but I suspect that would vary quite a bit across JavaScript engines; for now, I'm putting my * money on array lookup. */ -X86OpXX.aOps = [ - X86OpXX.opADDmb, X86OpXX.opADDmw, X86OpXX.opADDrb, X86OpXX.opADDrw, // 0x00-0x03 - X86OpXX.opADDALb, X86OpXX.opADDAXw, X86OpXX.opPUSHES, X86OpXX.opPOPES, // 0x04-0x07 - X86OpXX.opORmb, X86OpXX.opORmw, X86OpXX.opORrb, X86OpXX.opORrw, // 0x08-0x0B - X86OpXX.opORALb, X86OpXX.opORAXw, X86OpXX.opPUSHCS, X86OpXX.opPOPCS, // 0x0C-0x0F - X86OpXX.opADCmb, X86OpXX.opADCmw, X86OpXX.opADCrb, X86OpXX.opADCrw, // 0x10-0x13 - X86OpXX.opADCALb, X86OpXX.opADCAXw, X86OpXX.opPUSHSS, X86OpXX.opPOPSS, // 0x14-0x17 - X86OpXX.opSBBmb, X86OpXX.opSBBmw, X86OpXX.opSBBrb, X86OpXX.opSBBrw, // 0x18-0x1B - X86OpXX.opSBBALb, X86OpXX.opSBBAXw, X86OpXX.opPUSHDS, X86OpXX.opPOPDS, // 0x1C-0x1F - X86OpXX.opANDmb, X86OpXX.opANDmw, X86OpXX.opANDrb, X86OpXX.opANDrw, // 0x20-0x23 - X86OpXX.opANDALb, X86OpXX.opANDAXw, X86OpXX.opES, X86OpXX.opDAA, // 0x24-0x27 - X86OpXX.opSUBmb, X86OpXX.opSUBmw, X86OpXX.opSUBrb, X86OpXX.opSUBrw, // 0x28-0x2B - X86OpXX.opSUBALb, X86OpXX.opSUBAXw, X86OpXX.opCS, X86OpXX.opDAS, // 0x2C-0x2F - X86OpXX.opXORmb, X86OpXX.opXORmw, X86OpXX.opXORrb, X86OpXX.opXORrw, // 0x30-0x33 - X86OpXX.opXORALb, X86OpXX.opXORAXw, X86OpXX.opSS, X86OpXX.opAAA, // 0x34-0x37 - X86OpXX.opCMPmb, X86OpXX.opCMPmw, X86OpXX.opCMPrb, X86OpXX.opCMPrw, // 0x38-0x3B - X86OpXX.opCMPALb, X86OpXX.opCMPAXw, X86OpXX.opDS, X86OpXX.opAAS, // 0x3C-0x3F - X86OpXX.opINCAX, X86OpXX.opINCCX, X86OpXX.opINCDX, X86OpXX.opINCBX, // 0x40-0x43 - X86OpXX.opINCSP, X86OpXX.opINCBP, X86OpXX.opINCSI, X86OpXX.opINCDI, // 0x44-0x47 - X86OpXX.opDECAX, X86OpXX.opDECCX, X86OpXX.opDECDX, X86OpXX.opDECBX, // 0x48-0x4B - X86OpXX.opDECSP, X86OpXX.opDECBP, X86OpXX.opDECSI, X86OpXX.opDECDI, // 0x4C-0x4F - X86OpXX.opPUSHAX, X86OpXX.opPUSHCX, X86OpXX.opPUSHDX, X86OpXX.opPUSHBX, // 0x50-0x53 - X86OpXX.opPUSHSP8086, X86OpXX.opPUSHBP, X86OpXX.opPUSHSI, X86OpXX.opPUSHDI, // 0x54-0x57 - X86OpXX.opPOPAX, X86OpXX.opPOPCX, X86OpXX.opPOPDX, X86OpXX.opPOPBX, // 0x58-0x5B - X86OpXX.opPOPSP, X86OpXX.opPOPBP, X86OpXX.opPOPSI, X86OpXX.opPOPDI, // 0x5C-0x5F +X86.aOps = [ + X86.opADDmb, X86.opADDmw, X86.opADDrb, X86.opADDrw, // 0x00-0x03 + X86.opADDALb, X86.opADDAXw, X86.opPUSHES, X86.opPOPES, // 0x04-0x07 + X86.opORmb, X86.opORmw, X86.opORrb, X86.opORrw, // 0x08-0x0B + X86.opORALb, X86.opORAXw, X86.opPUSHCS, X86.opPOPCS, // 0x0C-0x0F + X86.opADCmb, X86.opADCmw, X86.opADCrb, X86.opADCrw, // 0x10-0x13 + X86.opADCALb, X86.opADCAXw, X86.opPUSHSS, X86.opPOPSS, // 0x14-0x17 + X86.opSBBmb, X86.opSBBmw, X86.opSBBrb, X86.opSBBrw, // 0x18-0x1B + X86.opSBBALb, X86.opSBBAXw, X86.opPUSHDS, X86.opPOPDS, // 0x1C-0x1F + X86.opANDmb, X86.opANDmw, X86.opANDrb, X86.opANDrw, // 0x20-0x23 + X86.opANDAL, X86.opANDAX, X86.opES, X86.opDAA, // 0x24-0x27 + X86.opSUBmb, X86.opSUBmw, X86.opSUBrb, X86.opSUBrw, // 0x28-0x2B + X86.opSUBALb, X86.opSUBAXw, X86.opCS, X86.opDAS, // 0x2C-0x2F + X86.opXORmb, X86.opXORmw, X86.opXORrb, X86.opXORrw, // 0x30-0x33 + X86.opXORALb, X86.opXORAXw, X86.opSS, X86.opAAA, // 0x34-0x37 + X86.opCMPmb, X86.opCMPmw, X86.opCMPrb, X86.opCMPrw, // 0x38-0x3B + X86.opCMPALb, X86.opCMPAXw, X86.opDS, X86.opAAS, // 0x3C-0x3F + X86.opINCAX, X86.opINCCX, X86.opINCDX, X86.opINCBX, // 0x40-0x43 + X86.opINCSP, X86.opINCBP, X86.opINCSI, X86.opINCDI, // 0x44-0x47 + X86.opDECAX, X86.opDECCX, X86.opDECDX, X86.opDECBX, // 0x48-0x4B + X86.opDECSP, X86.opDECBP, X86.opDECSI, X86.opDECDI, // 0x4C-0x4F + X86.opPUSHAX, X86.opPUSHCX, X86.opPUSHDX, X86.opPUSHBX, // 0x50-0x53 + X86.opPUSHSP8086, X86.opPUSHBP, X86.opPUSHSI, X86.opPUSHDI, // 0x54-0x57 + X86.opPOPAX, X86.opPOPCX, X86.opPOPDX, X86.opPOPBX, // 0x58-0x5B + X86.opPOPSP, X86.opPOPBP, X86.opPOPSI, X86.opPOPDI, // 0x5C-0x5F /* * On an 8086/8088, opcodes 0x60-0x6F are aliases for the conditional jumps 0x70-0x7F. Sometimes you'll see * references to these opcodes (like 0x60) being a "two-byte NOP" and using them differentiate an 8088 from newer * CPUs, but they're only a "two-byte NOP" if the second byte is zero, resulting in zero displacement. */ - X86OpXX.opJO, X86OpXX.opJNO, X86OpXX.opJC, X86OpXX.opJNC, // 0x60-0x63 - X86OpXX.opJZ, X86OpXX.opJNZ, X86OpXX.opJBE, X86OpXX.opJNBE, // 0x64-0x67 - X86OpXX.opJS, X86OpXX.opJNS, X86OpXX.opJP, X86OpXX.opJNP, // 0x68-0x6B - X86OpXX.opJL, X86OpXX.opJNL, X86OpXX.opJLE, X86OpXX.opJNLE, // 0x6C-0x6F - X86OpXX.opJO, X86OpXX.opJNO, X86OpXX.opJC, X86OpXX.opJNC, // 0x70-0x73 - X86OpXX.opJZ, X86OpXX.opJNZ, X86OpXX.opJBE, X86OpXX.opJNBE, // 0x74-0x77 - X86OpXX.opJS, X86OpXX.opJNS, X86OpXX.opJP, X86OpXX.opJNP, // 0x78-0x7B - X86OpXX.opJL, X86OpXX.opJNL, X86OpXX.opJLE, X86OpXX.opJNLE, // 0x7C-0x7F + X86.opJO, X86.opJNO, X86.opJC, X86.opJNC, // 0x60-0x63 + X86.opJZ, X86.opJNZ, X86.opJBE, X86.opJNBE, // 0x64-0x67 + X86.opJS, X86.opJNS, X86.opJP, X86.opJNP, // 0x68-0x6B + X86.opJL, X86.opJNL, X86.opJLE, X86.opJNLE, // 0x6C-0x6F + X86.opJO, X86.opJNO, X86.opJC, X86.opJNC, // 0x70-0x73 + X86.opJZ, X86.opJNZ, X86.opJBE, X86.opJNBE, // 0x74-0x77 + X86.opJS, X86.opJNS, X86.opJP, X86.opJNP, // 0x78-0x7B + X86.opJL, X86.opJNL, X86.opJLE, X86.opJNLE, // 0x7C-0x7F /* * On all processors, opcode groups 0x80 and 0x82 perform identically (0x82 opcodes sign-extend their * immediate data, but since both 0x80 and 0x82 are byte operations, the sign extension has no effect). @@ -3719,50 +4276,137 @@ X86OpXX.aOps = [ * to opcode 0x82 as a "reserved" instruction, but also cryptically refers to it as "MOVB AL,imm". This is * assumed to be an error in the manual, because as far as I know, 0x82 has always mirrored 0x80. */ - X86OpXX.opGrp1b, X86OpXX.opGrp1w, X86OpXX.opGrp1b, X86OpXX.opGrp1sw, // 0x80-0x83 - X86OpXX.opTESTrb, X86OpXX.opTESTrw, X86OpXX.opXCHGrb, X86OpXX.opXCHGrw, // 0x84-0x87 - X86OpXX.opMOVmb, X86OpXX.opMOVmw, X86OpXX.opMOVrb, X86OpXX.opMOVrw, // 0x88-0x8B - X86OpXX.opMOVwsr, X86OpXX.opLEA, X86OpXX.opMOVsrw, X86OpXX.opPOPmw, // 0x8C-0x8F - X86OpXX.opNOP, X86OpXX.opXCHGCX, X86OpXX.opXCHGDX, X86OpXX.opXCHGBX, // 0x90-0x93 - X86OpXX.opXCHGSP, X86OpXX.opXCHGBP, X86OpXX.opXCHGSI, X86OpXX.opXCHGDI, // 0x94-0x97 - X86OpXX.opCBW, X86OpXX.opCWD, X86OpXX.opCALLF, X86OpXX.opWAIT, // 0x98-0x9B - X86OpXX.opPUSHF, X86OpXX.opPOPF, X86OpXX.opSAHF, X86OpXX.opLAHF, // 0x9C-0x9F - X86OpXX.opMOVALm, X86OpXX.opMOVAXm, X86OpXX.opMOVmAL, X86OpXX.opMOVmAX, // 0xA0-0xA3 - X86OpXX.opMOVSb, X86OpXX.opMOVSw, X86OpXX.opCMPSb, X86OpXX.opCMPSw, // 0xA4-0xA7 - X86OpXX.opTESTALb, X86OpXX.opTESTAXw, X86OpXX.opSTOSb, X86OpXX.opSTOSw, // 0xA8-0xAB - X86OpXX.opLODSb, X86OpXX.opLODSw, X86OpXX.opSCASb, X86OpXX.opSCASw, // 0xAC-0xAF - X86OpXX.opMOVALb, X86OpXX.opMOVCLb, X86OpXX.opMOVDLb, X86OpXX.opMOVBLb, // 0xB0-0xB3 - X86OpXX.opMOVAHb, X86OpXX.opMOVCHb, X86OpXX.opMOVDHb, X86OpXX.opMOVBHb, // 0xB4-0xB7 - X86OpXX.opMOVAXw, X86OpXX.opMOVCXw, X86OpXX.opMOVDXw, X86OpXX.opMOVBXw, // 0xB8-0xBB - X86OpXX.opMOVSPw, X86OpXX.opMOVBPw, X86OpXX.opMOVSIw, X86OpXX.opMOVDIw, // 0xBC-0xBF + X86.opGrp1b, X86.opGrp1w, X86.opGrp1b, X86.opGrp1sw, // 0x80-0x83 + X86.opTESTrb, X86.opTESTrw, X86.opXCHGrb, X86.opXCHGrw, // 0x84-0x87 + X86.opMOVmb, X86.opMOVmw, X86.opMOVrb, X86.opMOVrw, // 0x88-0x8B + X86.opMOVwsr, X86.opLEA, X86.opMOVsrw, X86.opPOPmw, // 0x8C-0x8F + X86.opNOP, X86.opXCHGCX, X86.opXCHGDX, X86.opXCHGBX, // 0x90-0x93 + X86.opXCHGSP, X86.opXCHGBP, X86.opXCHGSI, X86.opXCHGDI, // 0x94-0x97 + X86.opCBW, X86.opCWD, X86.opCALLF, X86.opWAIT, // 0x98-0x9B + X86.opPUSHF, X86.opPOPF, X86.opSAHF, X86.opLAHF, // 0x9C-0x9F + X86.opMOVALm, X86.opMOVAXm, X86.opMOVmAL, X86.opMOVmAX, // 0xA0-0xA3 + X86.opMOVSb, X86.opMOVSw, X86.opCMPSb, X86.opCMPSw, // 0xA4-0xA7 + X86.opTESTALb, X86.opTESTAXw, X86.opSTOSb, X86.opSTOSw, // 0xA8-0xAB + X86.opLODSb, X86.opLODSw, X86.opSCASb, X86.opSCASw, // 0xAC-0xAF + X86.opMOVALb, X86.opMOVCLb, X86.opMOVDLb, X86.opMOVBLb, // 0xB0-0xB3 + X86.opMOVAHb, X86.opMOVCHb, X86.opMOVDHb, X86.opMOVBHb, // 0xB4-0xB7 + X86.opMOVAXw, X86.opMOVCXw, X86.opMOVDXw, X86.opMOVBXw, // 0xB8-0xBB + X86.opMOVSPw, X86.opMOVBPw, X86.opMOVSIw, X86.opMOVDIw, // 0xBC-0xBF /* * On an 8086/8088, opcodes 0xC0 -> 0xC2, 0xC1 -> 0xC3, 0xC8 -> 0xCA and 0xC9 -> 0xCB. */ - X86OpXX.opRETn, X86OpXX.opRET, X86OpXX.opRETn, X86OpXX.opRET, // 0xC0-0xC3 - X86OpXX.opLES, X86OpXX.opLDS, X86OpXX.opMOVb, X86OpXX.opMOVw, // 0xC4-0xC7 - X86OpXX.opRETFn, X86OpXX.opRETF, X86OpXX.opRETFn, X86OpXX.opRETF, // 0xC8-0xCB - X86OpXX.opINT3, X86OpXX.opINTn, X86OpXX.opINTO, X86OpXX.opIRET, // 0xCC-0xCF - X86OpXX.opGrp2b1, X86OpXX.opGrp2w1, X86OpXX.opGrp2bCL, X86OpXX.opGrp2wCL, // 0xD0-0xD3 + X86.opRETn, X86.opRET, X86.opRETn, X86.opRET, // 0xC0-0xC3 + X86.opLES, X86.opLDS, X86.opMOVb, X86.opMOVw, // 0xC4-0xC7 + X86.opRETFn, X86.opRETF, X86.opRETFn, X86.opRETF, // 0xC8-0xCB + X86.opINT3, X86.opINTn, X86.opINTO, X86.opIRET, // 0xCC-0xCF + X86.opGrp2b1, X86.opGrp2w1, X86.opGrp2bCL, X86.opGrp2wCL, // 0xD0-0xD3 /* * Even as of the Pentium, opcode 0xD6 is still marked as "reserved", but it's always been SALC (aka SETALC). */ - X86OpXX.opAAM, X86OpXX.opAAD, X86OpXX.opSALC, X86OpXX.opXLAT, // 0xD4-0xD7 - X86OpXX.opESC, X86OpXX.opESC, X86OpXX.opESC, X86OpXX.opESC, // 0xD8-0xDB - X86OpXX.opESC, X86OpXX.opESC, X86OpXX.opESC, X86OpXX.opESC, // 0xDC-0xDF - X86OpXX.opLOOPNZ, X86OpXX.opLOOPZ, X86OpXX.opLOOP, X86OpXX.opJCXZ, // 0xE0-0xE3 - X86OpXX.opINb, X86OpXX.opINw, X86OpXX.opOUTb, X86OpXX.opOUTw, // 0xE4-0xE7 - X86OpXX.opCALL, X86OpXX.opJMP, X86OpXX.opJMPF, X86OpXX.opJMPs, // 0xE8-0xEB - X86OpXX.opINDXb, X86OpXX.opINDXw, X86OpXX.opOUTDXb, X86OpXX.opOUTDXw, // 0xEC-0xEF + X86.opAAM, X86.opAAD, X86.opSALC, X86.opXLAT, // 0xD4-0xD7 + X86.opESC, X86.opESC, X86.opESC, X86.opESC, // 0xD8-0xDB + X86.opESC, X86.opESC, X86.opESC, X86.opESC, // 0xDC-0xDF + X86.opLOOPNZ, X86.opLOOPZ, X86.opLOOP, X86.opJCXZ, // 0xE0-0xE3 + X86.opINb, X86.opINw, X86.opOUTb, X86.opOUTw, // 0xE4-0xE7 + X86.opCALL, X86.opJMP, X86.opJMPF, X86.opJMPs, // 0xE8-0xEB + X86.opINDXb, X86.opINDXw, X86.opOUTDXb, X86.opOUTDXw, // 0xEC-0xEF /* * On an 8086/8088, opcode 0xF1 is believed to be an alias for 0xF0; in any case, it definitely behaves like * a prefix on those processors, so we treat it as such. On the 80186 and up, we treat as opINT1(). * * As of the Pentium, opcode 0xF1 is still marked "reserved". */ - X86OpXX.opLOCK, X86OpXX.opLOCK, X86OpXX.opREPNZ, X86OpXX.opREPZ, // 0xF0-0xF3 - X86OpXX.opHLT, X86OpXX.opCMC, X86OpXX.opGrp3b, X86OpXX.opGrp3w, // 0xF4-0xF7 - X86OpXX.opCLC, X86OpXX.opSTC, X86OpXX.opCLI, X86OpXX.opSTI, // 0xF8-0xFB - X86OpXX.opCLD, X86OpXX.opSTD, X86OpXX.opGrp4b, X86OpXX.opGrp4w // 0xFC-0xFF + X86.opLOCK, X86.opLOCK, X86.opREPNZ, X86.opREPZ, // 0xF0-0xF3 + X86.opHLT, X86.opCMC, X86.opGrp3b, X86.opGrp3w, // 0xF4-0xF7 + X86.opCLC, X86.opSTC, X86.opCLI, X86.opSTI, // 0xF8-0xFB + X86.opCLD, X86.opSTD, X86.opGrp4b, X86.opGrp4w // 0xFC-0xFF ]; -if (typeof module !== 'undefined') module.exports = X86OpXX; +/* + * A word (or two) on instruction groups (eg, Grp1, Grp2), which are groups of instructions that + * use a mod/reg/rm byte, where the reg field of that byte selects a function rather than a register. + * + * I start with the groupings used by Intel's "Pentium Processor User's Manual (Volume 3: Architecture + * and Programming Manual)", but I deviate slightly, mostly by subdividing their groups with letter suffixes: + * + * Opcodes Intel PCjs PC Mag TechRef + * ------- ----- ---- -------------- + * 0x80-0x83 Grp1 Grp1b and Grp1w Group A + * 0xC0-0xC1 Grp2 Grp2b and Grp2w (opGrp2bi/wi) Group B + * 0xD0-0xD3 Grp2 Grp2b and Grp2w (opGrp2b1/w1 and opGrp2bCL/wCL) Group B + * 0xF6-0xF7 Grp3 Grp3b and Grp3w Group C + * 0xFE Grp4 Grp4b Group D + * 0xFF Grp5 Grp4w Group E + * 0x0F,0x00 Grp6 Grp6 (SLDT, STR, LLDT, LTR, VERR, VERW) Group F + * 0x0F,0x01 Grp7 Grp7 (SGDT, SIDT, LGDT, LIDT, SMSW, LMSW, INVLPG) Group G + * 0x0F,0xBA Grp8 Grp8 (BT, BTS, BTR, BTC) Group H + * 0x0F,0xC7 Grp9 Grp9 (CMPXCH) (N/A, 80386 and up) + * + * My only serious deviation is Grp5, which I refer to as Grp4w, because it contains word forms of + * the INC and DEC instructions found in Grp4b. Granted, Grp4w also contains versions of the CALL, + * JMP and PUSH instructions, which are not in Grp4b, but there's nothing in Grp4b that conflicts with + * Grp4w, so I think my nomenclature makes more sense. To compensate, I don't use Grp5, so that the + * remaining group numbers remain in sync with Intel's. + * + * To the above list, I also add these "groups of 1": opcode 0x8F uses GrpPOPw, and opcodes 0xC6/0xC7 use + * GrpMOVImm. In both of these groups, the only valid (documented) instruction is where reg=0x0. + * + * TODO: Test what happens on real hardware when the reg field is non-zero for opcodes 0x8F and 0xC6/0xC7. + */ +X86.aOpGrp1b = [ + X86.fnADDb, X86.fnORb, X86.fnADCb, X86.fnSBBb, // 0x80/0x82(reg=0x0-0x3) + X86.fnANDb, X86.fnSUBb, X86.fnXORb, X86.fnCMPb // 0x80/0x82(reg=0x4-0x7) +]; + +X86.aOpGrp1w = [ + X86.fnADDw, X86.fnORw, X86.fnADCw, X86.fnSBBw, // 0x81/0x83(reg=0x0-0x3) + X86.fnANDw, X86.fnSUBw, X86.fnXORw, X86.fnCMPw // 0x81/0x83(reg=0x4-0x7) +]; + +X86.aOpGrpPOPw = [ + X86.fnPOPw, X86.fnGRPFault, X86.fnGRPFault, X86.fnGRPFault, // 0x8F(reg=0x0-0x3) + X86.fnGRPFault, X86.fnGRPFault, X86.fnGRPFault, X86.fnGRPFault // 0x8F(reg=0x4-0x7) +]; + +X86.aOpGrpMOVImm = [ + X86.fnMOVImm, X86.fnGRPUndefined, X86.fnGRPUndefined, X86.fnGRPUndefined, // 0xC6/0xC7(reg=0x0-0x3) + X86.fnGRPUndefined, X86.fnGRPUndefined, X86.fnGRPUndefined, X86.fnGRPUndefined // 0xC6/0xC7(reg=0x4-0x7) +]; + +X86.aOpGrp2b = [ + X86.fnROLb, X86.fnRORb, X86.fnRCLb, X86.fnRCRb, // 0xD0/0xD2(reg=0x0-0x3) + X86.fnSHLb, X86.fnSHRb, X86.fnGRPUndefined, X86.fnSARb // 0xD0/0xD2(reg=0x4-0x7) +]; + +X86.aOpGrp2w = [ + X86.fnROLw, X86.fnRORw, X86.fnRCLw, X86.fnRCRw, // 0xD1/0xD3(reg=0x0-0x3) + X86.fnSHLw, X86.fnSHRw, X86.fnGRPUndefined, X86.fnSARw // 0xD1/0xD3(reg=0x4-0x7) +]; + +X86.aOpGrp3b = [ + X86.fnTEST8, X86.fnGRPUndefined, X86.fnNOTb, X86.fnNEGb, // 0xF6(reg=0x0-0x3) + X86.fnMULb, X86.fnIMULb, X86.fnDIVb, X86.fnIDIVb // 0xF6(reg=0x4-0x7) +]; + +X86.aOpGrp3w = [ + X86.fnTEST16, X86.fnGRPUndefined, X86.fnNOTw, X86.fnNEGw, // 0xF7(reg=0x0-0x3) + X86.fnMULw, X86.fnIMULw, X86.fnDIVw, X86.fnIDIVw // 0xF7(reg=0x4-0x7) +]; + +X86.aOpGrp4b = [ + X86.fnINCb, X86.fnDECb, X86.fnGRPUndefined, X86.fnGRPUndefined, // 0xFE(reg=0x0-0x3) + X86.fnGRPUndefined, X86.fnGRPUndefined, X86.fnGRPUndefined, X86.fnGRPUndefined // 0xFE(reg=0x4-0x7) +]; + +X86.aOpGrp4w = [ + X86.fnINCw, X86.fnDECw, X86.fnCALLw, X86.fnCALLFdw, // 0xFF(reg=0x0-0x3) + X86.fnJMPw, X86.fnJMPFdw, X86.fnPUSHw, X86.fnGRPFault // 0xFF(reg=0x4-0x7) +]; + +if (I386) { + X86.aOpsD = { + 0x21: X86.opANDmd, + 0x23: X86.opANDrd, + 0x25: X86.opANDEAX + }; +} diff --git a/modules/pcjs/lib/x86seg.js b/modules/pcjs/lib/x86seg.js index cf80ca8da..ec1e2b30f 100644 --- a/modules/pcjs/lib/x86seg.js +++ b/modules/pcjs/lib/x86seg.js @@ -36,7 +36,6 @@ if (typeof module !== 'undefined') { var str = require("../../shared/lib/strlib"); var Messages = require("./messages"); var X86 = require("./x86"); - var X86Help = require("./x86help"); } /** @@ -190,7 +189,7 @@ X86Seg.loadProt = function loadProt(sel, fSuppress) return this.loadDesc8(addrDesc, sel, fSuppress); } if (!fSuppress) { - X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel); + X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel); } } return X86.ADDR_INVALID; @@ -237,14 +236,14 @@ X86Seg.loadIDTProt = function loadIDTProt(nIDT) if (addrDesc + 7 <= cpu.addrIDTLimit) { return this.loadDesc8(addrDesc, nIDT) + cpu.regEIP; } - X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, nIDT | X86.ERRCODE.IDT | X86.ERRCODE.EXT, true); + X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, nIDT | X86.ERRCODE.IDT | X86.ERRCODE.EXT, true); return X86.ADDR_INVALID; }; /** * checkReadReal(off, cb, fSuppress) * - * TODO: Invoke X86Help.opHelpFault.call(this.cpu, X86.EXCEPTION.GP_FAULT) if off is 0xffff and cb is 1; + * TODO: Invoke X86.fnFault.call(this.cpu, X86.EXCEPTION.GP_FAULT) if off is 0xffff and cb is 1; * also, whether or not the opHelpFault() call should include an error code, since this is happening in real-mode. * * @this {X86Seg} @@ -261,7 +260,7 @@ X86Seg.checkReadReal = function checkReadReal(off, cb, fSuppress) /** * checkWriteReal(off, cb, fSuppress) * - * TODO: Invoke X86Help.opHelpFault.call(this.cpu, X86.EXCEPTION.GP_FAULT) if off is 0xffff and cb is 1; + * TODO: Invoke X86.fnFault.call(this.cpu, X86.EXCEPTION.GP_FAULT) if off is 0xffff and cb is 1; * also, whether or not the opHelpFault() call should include an error code, since this is happening in real-mode. * * @this {X86Seg} @@ -321,7 +320,7 @@ X86Seg.checkReadProtDown = function checkReadProtDown(off, cb, fSuppress) X86Seg.checkReadProtDisallowed = function checkReadProtDisallowed(off, cb, fSuppress) { if (!fSuppress) { - X86Help.opHelpFault.call(this.cpu, X86.EXCEPTION.GP_FAULT, 0); + X86.fnFault.call(this.cpu, X86.EXCEPTION.GP_FAULT, 0); } return X86.ADDR_INVALID; }; @@ -372,7 +371,7 @@ X86Seg.checkWriteProtDown = function checkWriteProtDown(off, cb, fSuppress) X86Seg.checkWriteProtDisallowed = function checkWriteProtDisallowed(off, cb, fSuppress) { if (!fSuppress) { - X86Help.opHelpFault.call(this.cpu, X86.EXCEPTION.GP_FAULT, 0); + X86.fnFault.call(this.cpu, X86.EXCEPTION.GP_FAULT, 0); } return X86.ADDR_INVALID; }; @@ -411,7 +410,7 @@ X86Seg.switchTSS = function switchTSS(selNew, fNest) var selOld = cpu.segTSS.sel; if (!fNest) { if (cpu.segTSS.type != X86.DESC.ACC.TYPE.TSS_BUSY) { - X86Help.opHelpFault.call(cpu, X86.EXCEPTION.TS_FAULT, selNew, true); + X86.fnFault.call(cpu, X86.EXCEPTION.TS_FAULT, selNew, true); return false; } cpu.setShort(cpu.segTSS.addrDesc + X86.DESC.ACC.OFFSET, (cpu.segTSS.acc & ~X86.DESC.ACC.TYPE.TSS_BUSY) | X86.DESC.ACC.TYPE.TSS); @@ -425,7 +424,7 @@ X86Seg.switchTSS = function switchTSS(selNew, fNest) } if (fNest) { if (cpu.segTSS.type == X86.DESC.ACC.TYPE.TSS_BUSY) { - X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, selNew, true); + X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, selNew, true); return false; } cpu.setShort(cpu.segTSS.addrDesc + X86.DESC.ACC.OFFSET, cpu.segTSS.acc |= X86.DESC.ACC.TYPE.TSS_BUSY); @@ -502,7 +501,7 @@ X86Seg.prototype.loadAcc = function(sel, fGDT) return cpu.getShort(addrDesc + X86.DESC.ACC.OFFSET); } } - X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel); + X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel); return X86.DESC.ACC.INVALID; }; @@ -684,13 +683,13 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) return this.base; } cpu.assert(false); - if (!fSuppress) X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, nFaultError, true); + if (!fSuppress) X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, nFaultError, true); base = X86.ADDR_INVALID; break; } else if (fGate !== false) { cpu.assert(false); - if (!fSuppress) X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel, true); + if (!fSuppress) X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel, true); base = X86.ADDR_INVALID; break; } @@ -719,7 +718,7 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) * * Anyway, because of this, if acc is zero, we won't set fHalt on this GP_FAULT. */ - if (!fSuppress) X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel, !!acc); + if (!fSuppress) X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel, !!acc); base = X86.ADDR_INVALID; break; } @@ -727,14 +726,14 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) } else if (this.id == X86Seg.ID.STACK) { if (!selMasked || type < X86.DESC.ACC.TYPE.DATA_READONLY || (type & (X86.DESC.ACC.TYPE.CODE | X86.DESC.ACC.TYPE.READABLE)) == X86.DESC.ACC.TYPE.CODE) { - if (!fSuppress) X86Help.opHelpFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel, true); + if (!fSuppress) X86.fnFault.call(cpu, X86.EXCEPTION.GP_FAULT, sel, true); base = X86.ADDR_INVALID; break; } } else if (this.id == X86Seg.ID.TSS) { if (!selMasked || type != X86.DESC.ACC.TYPE.TSS && type != X86.DESC.ACC.TYPE.TSS_BUSY) { - if (!fSuppress) X86Help.opHelpFault.call(cpu, X86.EXCEPTION.TS_FAULT, sel, true); + if (!fSuppress) X86.fnFault.call(cpu, X86.EXCEPTION.TS_FAULT, sel, true); base = X86.ADDR_INVALID; break; } diff --git a/package.json b/package.json index 6c6450fee..3b469af9d 100644 --- a/package.json +++ b/package.json @@ -106,8 +106,9 @@ "./modules/pcjs/lib/x86.js", "./modules/pcjs/lib/x86seg.js", "./modules/pcjs/lib/x86cpu.js", - "./modules/pcjs/lib/x86grps.js", - "./modules/pcjs/lib/x86help.js", + "./modules/pcjs/lib/x86func.js", + "./modules/pcjs/lib/x86opxx.js", + "./modules/pcjs/lib/x86op0f.js", "./modules/pcjs/lib/x86modb.js", "./modules/pcjs/lib/x86modw.js", "./modules/pcjs/lib/x86modb16.js", @@ -115,8 +116,6 @@ "./modules/pcjs/lib/x86modb32.js", "./modules/pcjs/lib/x86modw32.js", "./modules/pcjs/lib/x86modsib.js", - "./modules/pcjs/lib/x86opxx.js", - "./modules/pcjs/lib/x86op0f.js", "./modules/pcjs/lib/chipset.js", "./modules/pcjs/lib/rom.js", "./modules/pcjs/lib/ram.js", diff --git a/versions/pcjs/1.17.2/pc-dbg.js b/versions/pcjs/1.17.2/pc-dbg.js index 200380702..c84146dd1 100644 --- a/versions/pcjs/1.17.2/pc-dbg.js +++ b/versions/pcjs/1.17.2/pc-dbg.js @@ -10,686 +10,685 @@ function za(){if(null==ya){var a=!1;if(window)try{window.localStorage.setItem("P function Ca(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Da(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0=this.x&&a=this.y&&b=c>>2);d?(b=new ob(a.x,a.y,a.Jc,a.Uc*b/c|0),a.y+=b.Uc,a.Uc-=b.Uc):(b=new ob(a.x,a.y,a.Jc*b/c|0,a.Uc),a.x+=b.Jc,a.Jc-=b.Jc);return b}k=mb.prototype; k.Fb=function(a,b,c){return this.Ba&&this.Ba.Fb(a,b,c)||this.N&&this.N.Fb(a,b,c)||this.Ga&&this.Ga.Fb(a,b,c)||this.Z&&this.Z.Fb(a,b,c)?!0:this.parent.Fb.call(this,a,b,c)};k.wc=function(a,b,c,d){this.Ba=a;this.ha=b;this.N=c;this.Z=d;this.Ga=sb(a,"Keyboard")};k.fc=function(a,b){b||tb();return!0};k.ec=function(){return!0};k.gj=function(a,b){a.button||(this.Tg=b?0:-1,vb(this,a,b))};k.Xl=function(a){vb(this,a)}; -function vb(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.Tg||(a.Tg=Math.abs(a.he-d)>Math.abs(a.ie-b)?1:2),1==a.Tg?b=a.ie:2==a.Tg&&(d=a.he));a.he=d;a.ie=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Ya&&a.Ya.Df)for(f=0;f>xb&yb))*a.ha.Bb-1;0Math.abs(a.ie-b)?1:2),1==a.Tg?b=a.ie:2==a.Tg&&(d=a.he));a.he=d;a.ie=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Ya&&a.Ya.Ef)for(f=0;f>xb&yb))*a.ha.Bb-1;0d&&(f=d);c=f;break a}c=u}c!=u&&(c&=-16,c!=a.fl&&(zb(a,c,!0),a.fl=c))}} -k.cd=function(){if(this.canvas&&this.Th&&this.ue&&this.df){var a=this.ue.width,b=this.ue.height;this.df.fillStyle="black";this.df.fillRect(0,0,a,b);Ab(this,18,this.ue,this.df,this.canvas.style.color);Bb(this,3);v(this,"CPU");v(this,"Target");v(this,"Current");Cb(this);v(this,this.N.za);v(this,Db(this.N));v(this,Eb(this.N));Cb(this,2);Bb(this,8);this.tp=16;this.up=4;v(this,"AX",this.N.G,2);v(this,"DS",this.N.Xa.ua,0,1);v(this,"DX",this.N.J,2);v(this,"SI",this.N.F,0,1.5);v(this,"BX",this.N.C,2);v(this, -"ES",this.N.Ia.ua,0,1);v(this,"CX",this.N.I,2);v(this,"DI",this.N.D,0,1.5);v(this,"CS",Fb(this.N),2);v(this,"SS",this.N.xa.ua,0,1);v(this,"IP",w(this.N),2);v(this,"SP",x(this.N),0,1.5);var c;v(this,"PS",c=Gb(this.N),2);v(this,"BP",this.N.H,0,1.5);Bb(this,9);v(this,"V"+(c&Hb?1:0));v(this,"D"+(c&Ib?1:0));v(this,"I"+(c&Jb?1:0));v(this,"T"+(c&Kb?1:0));v(this,"S"+(c&Lb?1:0));v(this,"Z"+(c&Mb?1:0));v(this,"A"+(c&Nb?1:0));v(this,"P"+(c&Ob?1:0));v(this,"C"+(c&Pb?1:0),0,2);zb(this,this.fl);this.Th.drawImage(this.ue, +k.cd=function(){if(this.canvas&&this.Th&&this.ue&&this.df){var a=this.ue.width,b=this.ue.height;this.df.fillStyle="black";this.df.fillRect(0,0,a,b);Ab(this,18,this.ue,this.df,this.canvas.style.color);Bb(this,3);v(this,"CPU");v(this,"Target");v(this,"Current");Cb(this);v(this,this.N.za);v(this,Db(this.N));v(this,Eb(this.N));Cb(this,2);Bb(this,8);this.tp=16;this.up=4;v(this,"AX",this.N.G,2);v(this,"DS",this.N.Xa.va,0,1);v(this,"DX",this.N.J,2);v(this,"SI",this.N.F,0,1.5);v(this,"BX",this.N.C,2);v(this, +"ES",this.N.Ia.va,0,1);v(this,"CX",this.N.I,2);v(this,"DI",this.N.D,0,1.5);v(this,"CS",Fb(this.N),2);v(this,"SS",this.N.xa.va,0,1);v(this,"IP",w(this.N),2);v(this,"SP",x(this.N),0,1.5);var c;v(this,"PS",c=Gb(this.N),2);v(this,"BP",this.N.H,0,1.5);Bb(this,9);v(this,"V"+(c&Hb?1:0));v(this,"D"+(c&Ib?1:0));v(this,"I"+(c&Jb?1:0));v(this,"T"+(c&Kb?1:0));v(this,"S"+(c&Lb?1:0));v(this,"Z"+(c&Mb?1:0));v(this,"A"+(c&Nb?1:0));v(this,"P"+(c&Ob?1:0));v(this,"C"+(c&Pb?1:0),0,2);zb(this,this.fl);this.Th.drawImage(this.ue, 0,0,a,b,this.ps,this.ss,this.Fr,this.Ir)}};function zb(a,b,c){if(a.Th&&a.ue&&a.df){var d=a.ue.width;a.df.fillStyle="black";a.df.fillRect(0,360,d,360);Ab(a,378,a.ue,a.df,a.canvas.style.color);Bb(a,24);if(null==b)v(a,"Mouse over memory to dump");else{v(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=Qb(a.ha,b++);v(a,m(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}v(a,f,null,0,1)}}c&&a.Th.drawImage(a.ue,0,360,d,360,a.ns,a.qs,a.Dr,a.Gr)}} -function Ab(a,b,c,d,e){var f,g=a.Eq=10;a.dd=g;a.Bf=b;a.Vf=a.Pl=18;f||(f=a.Ll||a.Pl+"px Monaco, Lucida Console, Courier New");a.hi=a.Ll=f;c&&(a.Kn=c);d&&(a.Bd=d,a.Mn=e||"white")}function Bb(a,b){a.ij=a.Kn.width/b|0}function Cb(a,b){a.dd=a.Eq;a.Bf+=(a.Vf+2)*(b||1)}function v(a,b,c,d,e){a.Bd.font=a.hi;a.Bd.fillStyle=a.Mn;a.Bd.fillText(b,a.dd,a.Bf);a.dd+=a.ij;null!=c&&(b=c.toString(),16==a.tp&&(b="0x"+da(c,a.up)),a.Bd.fillText(b,a.dd,a.Bf),a.dd+=a.ij);d&&(a.dd+=a.ij*d);e&&Cb(a,e)} +function Ab(a,b,c,d,e){var f,g=a.Eq=10;a.dd=g;a.Cf=b;a.Wf=a.Pl=18;f||(f=a.Ll||a.Pl+"px Monaco, Lucida Console, Courier New");a.hi=a.Ll=f;c&&(a.Kn=c);d&&(a.Bd=d,a.Mn=e||"white")}function Bb(a,b){a.ij=a.Kn.width/b|0}function Cb(a,b){a.dd=a.Eq;a.Cf+=(a.Wf+2)*(b||1)}function v(a,b,c,d,e){a.Bd.font=a.hi;a.Bd.fillStyle=a.Mn;a.Bd.fillText(b,a.dd,a.Cf);a.dd+=a.ij;null!=c&&(b=c.toString(),16==a.tp&&(b="0x"+da(c,a.up)),a.Bd.fillText(b,a.dd,a.Cf),a.dd+=a.ij);d&&(a.dd+=a.ij*d);e&&Cb(a,e)} function tb(){for(var a=!1,b=cb(window.document,"pcjs","panel"),c=0;c=this.nf?12:24>=this.nf?14:15;this.Bb=1<>2;this.Ea=this.Bb-1;this.Ag=this.Si/this.Bb|0;this.Tc=this.Ag-1;this.Ld=[];this.Md=[];this.Pg=this.Qg=!1;this.Hj();ib(this)}Xa(p,Rb);var wb=131071,xb=18,yb=1023;k=Rb.prototype; -k.Hj=function(){this.pa=Array(this.Ag);for(var a=0;a>>a.Ja;0a.Bb?a.Bb:c;if(g&&g.size){if(g.type==d&&g.X==e){if(b+c<=g.ub)return g.Ki+=g.ub-b,g.ub=b,!0;if(b>=g.ub+g.Ki){t=g.size-(b-h);t>c&&(t=c);g.Ki=b-g.ub+t;c-=t;b=h+a.Bb;continue}}return Wb(1,b,c)}g=a.pa[f++]=new Tb(b,t,a.Bb,d,e);Sb(g,a.N,a.Z,a.Bb);c-=t;b=h+a.Bb}return 0>>this.Ja;0>>a.Ja;0>>this.Ja].Eb(a&this.Ea)};function Qb(a,b){return a.pa[(b&a.gb)>>>a.Ja].nh(b&a.Ea)} -k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;return b!=this.Ea?this.pa[a].Ik(b):this.pa[a++].Eb(b)|this.pa[a&this.Tc].Eb(0)<<8};function Yb(a,b){var c=b&a.Ea,d=(b&a.gb)>>>a.Ja;return c!=a.Ea?a.pa[d].Jk(c):a.pa[d++].nh(c)|a.pa[d&a.Tc].nh(0)<<8}k.Bj=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;if(b>>c|this.pa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.pa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; -k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;c!=this.Ea?this.pa[d].Tk(c,b&65535):(this.pa[d++].Ib(c,b&255),this.pa[d&this.Tc].Ib(0,b>>8&255))};function Zb(a,b,c){var d=b&a.Ea;b=(b&a.gb)>>>a.Ja;d!=a.Ea?a.pa[b].Uk(d,c&65535):(a.pa[b++].mg(d,c&255),a.pa[b&a.Tc].mg(0,c>>8&255))} -function $b(a){for(var b=0,c=[],d=0;d>>a.Ja;0a.Bb?a.Bb:c;if(g&&g.size){if(g.type==d&&g.X==e){if(b+c<=g.ub)return g.Ki+=g.ub-b,g.ub=b,!0;if(b>=g.ub+g.Ki){t=g.size-(b-h);t>c&&(t=c);g.Ki=b-g.ub+t;c-=t;b=h+a.Bb;continue}}return Wb(1,b,c)}g=a.qa[f++]=new Tb(b,t,a.Bb,d,e);Sb(g,a.N,a.Z,a.Bb);c-=t;b=h+a.Bb}return 0>>this.Ja;0>>a.Ja;0>>this.Ja].Eb(a&this.Ea)};function Qb(a,b){return a.qa[(b&a.gb)>>>a.Ja].nh(b&a.Ea)} +k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;return b!=this.Ea?this.qa[a].Ik(b):this.qa[a++].Eb(b)|this.qa[a&this.Tc].Eb(0)<<8};function Yb(a,b){var c=b&a.Ea,d=(b&a.gb)>>>a.Ja;return c!=a.Ea?a.qa[d].Jk(c):a.qa[d++].nh(c)|a.qa[d&a.Tc].nh(0)<<8}k.Bj=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;if(b>>c|this.qa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.qa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; +k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;c!=this.Ea?this.qa[d].Tk(c,b&65535):(this.qa[d++].Ib(c,b&255),this.qa[d&this.Tc].Ib(0,b>>8&255))};function Zb(a,b,c){var d=b&a.Ea;b=(b&a.gb)>>>a.Ja;d!=a.Ea?a.qa[b].Uk(d,c&65535):(a.qa[b++].mg(d,c&255),a.qa[b&a.Tc].mg(0,c>>8&255))} +function $b(a){for(var b=0,c=[],d=0;d>1),this.na=new Int32Array(this.buffer,0,c>>2),this.Oe(lc?oc:pc);else{this.na=Array(c>>2);for(e=0;e>1]}function Ac(a){return this.Mf.getInt32(a,!0)}function Bc(a){return a&3?this.ic[a]|this.ic[a+1]<<8|this.ic[a+2]<<16|this.ic[a+3]<<24:this.na[a>>2]}function Cc(a,b){this.ic[a]=b;this.Qa=!0}function Dc(a,b){this.ic[a]=b;this.Qa=!0}function Ec(a,b){this.Mf.setUint16(a,b,!0);this.Qa=!0}function Fc(a,b){a&1?(this.ic[a]=b,this.ic[a+1]=b>>8):this.il[a>>1]=b;this.Qa=!0}function Ic(a,b){this.Mf.setInt32(a,b,!0);this.Qa=!0} +function Tb(a,b,c,d,e){this.na=null;this.offset=0;this.ub=a;this.Ki=b;this.size=c||0;this.type=d||mc;this.ci=d==nc;this.X=null;this.Qa=this.Cl=!1;if(c)if(e)this.X=e,a=e.Nl(a),this.na=a[0],this.offset=a[1],this.Oe(e.Cj());else if(lb)this.buffer=new ArrayBuffer(c),this.Nf=new DataView(this.buffer,0,c),this.ic=new Uint8Array(this.buffer,0,c),this.il=new Uint16Array(this.buffer,0,c>>1),this.na=new Int32Array(this.buffer,0,c>>2),this.Oe(lc?oc:pc);else{this.na=Array(c>>2);for(e=0;e>1]}function Ac(a){return this.Nf.getInt32(a,!0)}function Bc(a){return a&3?this.ic[a]|this.ic[a+1]<<8|this.ic[a+2]<<16|this.ic[a+3]<<24:this.na[a>>2]}function Cc(a,b){this.ic[a]=b;this.Qa=!0}function Dc(a,b){this.ic[a]=b;this.Qa=!0}function Ec(a,b){this.Nf.setUint16(a,b,!0);this.Qa=!0}function Fc(a,b){a&1?(this.ic[a]=b,this.ic[a+1]=b>>8):this.il[a>>1]=b;this.Qa=!0}function Ic(a,b){this.Nf.setInt32(a,b,!0);this.Qa=!0} function Kc(a,b){a&3?(this.ic[a]=b,this.ic[a+1]=b>>8,this.ic[a+2]=b>>16,this.ic[a+3]=b>>24):this.na[a>>2]=b;this.Qa=!0} var qc=[function(a){return this.na[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b]>>a;return 24>a?c&65535:c&255|(this.na[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.na[b];a&&(c=c>>>a|this.na[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.na[c]=this.na[c]&~(255<>2,d=(a&3)<<3;24>d?this.na[c]=this.na[c]&~(65535<>8);this.Qa= !0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.na[c]=b;this.Qa=!0}],Nc=[function(a){Lc(this.Z,this.ub+a);return this.nh(a)},function(a){Lc(this.Z,this.ub+a)||Lc(this.Z,this.ub+a+1);return this.Jk(a)},function(a){Lc(this.Z,this.ub+a)||Lc(this.Z,this.ub+a+1)||Lc(this.Z,this.ub+a+2)||Lc(this.Z,this.ub+a+3);return this.oh(a)},function(a,b){Mc(this.Z,this.ub+a);this.mg(a,b)},function(a,b){Mc(this.Z,this.ub+a)||Mc(this.Z, this.ub+a+1);this.Uk(a,b)},function(a,b){Mc(this.Z,this.ub+a)||Mc(this.Z,this.ub+a+1)||Mc(this.Z,this.ub+a+2)||Mc(this.Z,this.ub+a+3);this.Dq(a,b)}];if(lb)var pc=[wc,yc,Ac,Cc,Ec,Ic],oc=[xc,zc,Bc,Dc,Fc,Kc]; -Tb.prototype={constructor:Tb,parent:null,save:function(){var a,b;if(this.X)a=null;else if(lb)for(a=Array(this.size>>2),b=0;b>2),b=0;b=a.U.$f&&(a.U.$f+=a.U.Zf,c=!0);0<=a.U.ag&&a.U.ag<=Yc(a)&&(a.U.Zf=a.U.ag=-1,Uc(a),a.lb(),c=!0);c&&a.R(Yc(a)+" cycles: checksum="+da(a.U.Wg))}} -function Zc(a,b,c,d){a.qa[b]&&(void 0===d&&(d=4),void 0===c&&(kb(a,"Register "+b+" is invalid"),a.lb()),c=!a.da.jb||a.da.Dl?da(c,d):"----".substr(0,d),a.qa[b].textContent!=c&&(a.qa[b].textContent=c))}k.cd=function(){this.Ba&&this.Ba.de&&this.Ba.de.cd()}; -function $c(a){a.video&&ad(a.video);if(a.Ba&&a.Ba.de&&(a=a.Ba.de,a.ao)){Ab(a,18,a.Eg,a.Nn,a.canvas.style.color);if(a.Mr){var b=a.ha,c=a.Ya,d,e;null==d&&(d=0);null==e&&(e=b.Si-d|0);null==c&&(c={fj:0,Bg:0,Ni:Array(b.Ag)});var f=d>>>b.Ja;d=d+e-1>>>b.Ja;c.fj=0;for(c.Bg=0;f<=d;){e=b.pa[f];c.fj+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Ni[c.Bg++]=g}f++}a.Ya=c;a.hn=a.Ya.Bg*a.ha.Bb/691200;e=0;a.Ya.cj=0;a.Ya.Ef||(a.Ya.Ef=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=wb;if(c!=d||f!= -h+1){if(h=b-g)d=a.Ya.Ef[a.Ya.cj++]=g|h<>xb&yb,a.Ya.Df.push(pb(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>xb&yb;d=e=a.Ya.Df[b];g=a.Nn;(h=sc[c])||(h=new nb);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.Jc,d.Uc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.Jc, -d.Uc);d=a;g=e;d.hi=d.Ll;d.Vf=d.Pl;e=g.x+(g.Jc>>1);var h=g.y+(g.Uc>>1),t=g.Uc;g.Jc>1;d.Bf+=(d.Vf>>1)-2;v(d,c);d.Jl&&(d.Bd.restore(),d.Jl=!1)}}}else v(a,"This space intentionally left blank");a.Th.drawImage(a.Eg,0,0,a.Eg.width,a.Eg.height,a.os, +function Wc(a){(!0===a.da.nj||null===a.da.nj&&!a.Z&&void 0===a.ra.run)&&a.uf()}k.Ml=function(){return 0};function Uc(a){void 0===a.U.Xg&&(a.U.Xg=0);void 0===a.U.$f&&(a.U.$f=-1);void 0===a.U.bg&&(a.U.bg=-1);a.da.Qf=0<=a.U.Xg&&0=a.U.ag&&(a.U.ag+=a.U.$f,c=!0);0<=a.U.bg&&a.U.bg<=Yc(a)&&(a.U.$f=a.U.bg=-1,Uc(a),a.lb(),c=!0);c&&a.R(Yc(a)+" cycles: checksum="+da(a.U.Wg))}} +function Zc(a,b,c,d){a.ra[b]&&(void 0===d&&(d=4),void 0===c&&(kb(a,"Register "+b+" is invalid"),a.lb()),c=!a.da.jb||a.da.Dl?da(c,d):"----".substr(0,d),a.ra[b].textContent!=c&&(a.ra[b].textContent=c))}k.cd=function(){this.Ba&&this.Ba.de&&this.Ba.de.cd()}; +function $c(a){a.video&&ad(a.video);if(a.Ba&&a.Ba.de&&(a=a.Ba.de,a.ao)){Ab(a,18,a.Eg,a.Nn,a.canvas.style.color);if(a.Mr){var b=a.ha,c=a.Ya,d,e;null==d&&(d=0);null==e&&(e=b.Si-d|0);null==c&&(c={fj:0,Bg:0,Ni:Array(b.Ag)});var f=d>>>b.Ja;d=d+e-1>>>b.Ja;c.fj=0;for(c.Bg=0;f<=d;){e=b.qa[f];c.fj+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Ni[c.Bg++]=g}f++}a.Ya=c;a.hn=a.Ya.Bg*a.ha.Bb/691200;e=0;a.Ya.cj=0;a.Ya.Ff||(a.Ya.Ff=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=wb;if(c!=d||f!= +h+1){if(h=b-g)d=a.Ya.Ff[a.Ya.cj++]=g|h<>xb&yb,a.Ya.Ef.push(pb(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>xb&yb;d=e=a.Ya.Ef[b];g=a.Nn;(h=sc[c])||(h=new nb);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.Jc,d.Uc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.Jc, +d.Uc);d=a;g=e;d.hi=d.Ll;d.Wf=d.Pl;e=g.x+(g.Jc>>1);var h=g.y+(g.Uc>>1),t=g.Uc;g.Jc>1;d.Cf+=(d.Wf>>1)-2;v(d,c);d.Jl&&(d.Bd.restore(),d.Jl=!1)}}}else v(a,"This space intentionally left blank");a.Th.drawImage(a.Eg,0,0,a.Eg.width,a.Eg.height,a.os, a.rs,a.Er,a.Hr);a.ao=!1}}k.Mc=function(){this.video&&this.video.Mc()}; -k.Fb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.Ba)if(a=d.Ba,a.da.$b)a=!0;else{var b=null,c,h=Ya(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.U.ki&&(c=Math.round(c/a.U.ae));return c}function Tc(a){a.U.Fe=0;a.qf=a.Je=a.Xc=a.A=0;Uc(a);cd(a,1)} -function Eb(a){return a.da.jb&&a.U.Fe?a.U.Fe.toFixed(2)+"Mhz":"Stopped"}function Db(a){return a.U.Ug.toFixed(2)+"Mhz"}function cd(a,b,c){if(void 0!==b){.8>a.U.Fe/a.U.Ug&&(b=1);a.U.ae=b;b=a.U.ki*a.U.ae;if(a.U.Ug!=b){a.U.Ug=b;b=Db(a);var d=a.qa.setSpeed;d&&(d.textContent=b);a.R("target speed: "+b)}c&&a.Mc()}hd(a,a.Je);a.Je=0;a.U.Yf=oa();a.U.mf=0;id(a)} -k.tf=function(a){if(eb(this,!0)){if(!this.da.jb){cd(this);this.Ba&&this.Ba.start(this.U.Yf,Yc(this));this.da.jb=!0;this.da.xj=!0;this.fa&&jd(this.fa);var b=this.qa.run;b&&(b.textContent="Halt");this.cd(!0);a&&this.Mc()}this.U.Oj>=this.U.Fd&&id(this,!0);this.U.$g=0;this.U.li=oa();this.U.mf&&(a=this.U.li-this.U.mf,a>this.U.Yl&&(this.U.Yf+=a,this.U.Yf>this.U.li&&(this.U.Yf=this.U.li)));try{do{var c=this.da.Pf?1:this.U.rp;if(this.fa){kd(this.fa);var d=this.fa;a=c;var e=d.Jb[0];if(e.jf){var f=(Yc(d.N, -d.Be)-e.sd)/d.ui|0,g=ld(d,0)-f;6==e.mode&&(g-=f);var h=g*d.ui|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,t=this.fa;a=c;if(t.ea&&t.ea[11]&64){var r=t.eg-Yc(t.N,t.Be);0r&&(a=r)}c=a}this.lg(c);var B=this.Xc-this.A;this.Je+=B;this.U.$g+=B;hd(this,0,!0);Xc(this,B);this.U.Zg-=B;0>=this.U.Zg&&(this.U.Zg+=this.U.bm,$c(this));this.U.Yg-=B;0>=this.U.Yg&&(this.U.Yg+=this.U.am,this.cd());this.U.bg-=B;if(0>=this.U.bg){this.U.bg+=this.U.Nj;break}}while(this.da.jb)}catch(J){this.lb();Vc(this);this.Ba&&this.Ba.stop(oa(), -Yc(this));eb(this,!1);kb(this,J.message);return}c=setTimeout;d=this.yp;this.U.mf=oa();e=this.U.Yl;this.U.$g&&(e=Math.round(e*this.U.$g/this.U.Nj));e-=this.U.mf-this.U.li;if(f=this.U.mf-this.U.Yf)this.U.Fe=Math.round(this.Je/(10*f))/100,864E5<=f&&(this.qf=0,this.fa&&kd(this.fa,!0),cd(this));if(0>e||this.U.Fethis.rb?this.va+a:Cd.call(this,0,0,c)}function Cd(a,b,c){c||wd.call(this.N,13,0);return u} -function Ed(a,b,c){return a+b<=this.rb?this.va+a:Fd.call(this,0,0,c)}function Gd(a,b,c){return a+b>this.rb?this.va+a:Fd.call(this,0,0,c)}function Fd(a,b,c){c||wd.call(this.N,13,0);return u} -function Hd(a,b){var c=this.N,d=c.cb.va,e=this.ab,f=c.cb.ua;if(!b){if(768!=c.cb.type)return wd.call(c,10,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb&-769|256)}if(c.cb.load(a)==u)return!1;var g=c.cb.va;if(b){if(768==c.cb.type)return wd.call(c,13,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb|=768);c.cb.type=768}c.Ma(d+14,w(c));c.Ma(d+16,Gb(c));c.Ma(d+18,c.G);c.Ma(d+20,c.I);c.Ma(d+22,c.J);c.Ma(d+24,c.C);c.Ma(d+26,x(c));c.Ma(d+28,c.H);c.Ma(d+30,c.F);c.Ma(d+32,c.D);c.Ma(d+34,c.Ia.ua);c.Ma(d+36,c.ra.ua);c.Ma(d+38,c.xa.ua);c.Ma(d+ -40,c.Xa.ua);var d=38,h=26;Id(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Ia.load(c.ja(g+34));c.Xa.load(c.ja(g+40));Jd(c,c.ja(g+14),c.ja(g+36));this.ab>13;if(6144<=h){N=c&3;if(N>a.ab){if(!1!==B&&!(M==a.ab||g&1024&&M<=a.ab)){t=u;break}C=e.Ka();Kd(e,e.Ka(),!0);y(e,C);a.ei=!0}C=!1}else if(1024==h)C=!0,E=-1,J=c,Nh||2048==(h&2560))){d||wd.call(e,13,c,!!g);t=u;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d|| -wd.call(e,13,c,!0);t=u;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||wd.call(e,10,c,!0);t=u;break}}else if(6==a.id&&!(g&4096)&&768>13;80386>a.N.za||!(a.Vh&64)?(a.pe=2,a.ka=65535):(a.pe=4,a.ka=-1)}else a.load=td,a.Vl=xd,a.Hc=zd,a.jc=Ad,a.rb=65535,a.ab=a.pc=0,a.Od=u,a.pe=2,a.ka=65535;a.nd=a.pe;a.la=a.ka} -function Nd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Sc.call(this,a,b);this.Zk=61442;this.vh=nd;this.uh=4;this.fg=255;this.B=80286<=this.za?Od:Pd;this.Ua=Qd;this.bl=Rd;this.cl=Sd;this.dl=Td;80186<=this.za&&(this.Ua=Qd.slice(),this.bl=Rd.slice(),this.cl=Sd.slice(),this.fg=31,this.Ua[15]=Ud,this.Ua[96]=Vd,this.Ua[97]=Wd,this.Ua[98]=Xd,this.Ua[99]=Ud,this.Ua[100]=Ud,this.Ua[101]=Ud,this.Ua[102]=Ud,this.Ua[103]=Ud,this.Ua[104]=Yd, -this.Ua[105]=Zd,this.Ua[106]=$d,this.Ua[107]=ae,this.Ua[108]=be,this.Ua[109]=ce,this.Ua[110]=de,this.Ua[111]=ee,this.Ua[192]=fe,this.Ua[193]=ge,this.Ua[200]=he,this.Ua[201]=ie,this.Ua[241]=je,this.bl[7]=ke,this.cl[7]=ke,80286<=this.za&&(this.Zk=2,this.vh|=28672,this.uh=0,this.En=le,this.Ua[15]=me,this.Ua[99]=ne,this.Ua[84]=oe));this.Fn=[];this.Fn[2]={Or:this.ja.bind(this),hs:this.Ma.bind(this)};this.xh=[];this.yh=[];this.Xc=this.Cg=0;this.da.Mg=this.da.Bl=!1;this.ql=0;this.pa=[];this.gb=this.Ja=this.Ea= +k.Fb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ra[b]=c;c.onclick=function(){var a;if(a=d.Ba)if(a=d.Ba,a.da.$b)a=!0;else{var b=null,c,h=Ya(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.U.ki&&(c=Math.round(c/a.U.ae));return c}function Tc(a){a.U.Fe=0;a.qf=a.Je=a.Xc=a.A=0;Uc(a);cd(a,1)} +function Eb(a){return a.da.jb&&a.U.Fe?a.U.Fe.toFixed(2)+"Mhz":"Stopped"}function Db(a){return a.U.Ug.toFixed(2)+"Mhz"}function cd(a,b,c){if(void 0!==b){.8>a.U.Fe/a.U.Ug&&(b=1);a.U.ae=b;b=a.U.ki*a.U.ae;if(a.U.Ug!=b){a.U.Ug=b;b=Db(a);var d=a.ra.setSpeed;d&&(d.textContent=b);a.R("target speed: "+b)}c&&a.Mc()}hd(a,a.Je);a.Je=0;a.U.Zf=oa();a.U.mf=0;id(a)} +k.uf=function(a){if(eb(this,!0)){if(!this.da.jb){cd(this);this.Ba&&this.Ba.start(this.U.Zf,Yc(this));this.da.jb=!0;this.da.xj=!0;this.fa&&jd(this.fa);var b=this.ra.run;b&&(b.textContent="Halt");this.cd(!0);a&&this.Mc()}this.U.Oj>=this.U.Fd&&id(this,!0);this.U.$g=0;this.U.li=oa();this.U.mf&&(a=this.U.li-this.U.mf,a>this.U.Yl&&(this.U.Zf+=a,this.U.Zf>this.U.li&&(this.U.Zf=this.U.li)));try{do{var c=this.da.Qf?1:this.U.rp;if(this.fa){kd(this.fa);var d=this.fa;a=c;var e=d.Jb[0];if(e.jf){var f=(Yc(d.N, +d.Be)-e.sd)/d.ui|0,g=ld(d,0)-f;6==e.mode&&(g-=f);var h=g*d.ui|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,t=this.fa;a=c;if(t.ea&&t.ea[11]&64){var r=t.fg-Yc(t.N,t.Be);0r&&(a=r)}c=a}this.lg(c);var B=this.Xc-this.A;this.Je+=B;this.U.$g+=B;hd(this,0,!0);Xc(this,B);this.U.Zg-=B;0>=this.U.Zg&&(this.U.Zg+=this.U.bm,$c(this));this.U.Yg-=B;0>=this.U.Yg&&(this.U.Yg+=this.U.am,this.cd());this.U.cg-=B;if(0>=this.U.cg){this.U.cg+=this.U.Nj;break}}while(this.da.jb)}catch(J){this.lb();Vc(this);this.Ba&&this.Ba.stop(oa(), +Yc(this));eb(this,!1);kb(this,J.message);return}c=setTimeout;d=this.yp;this.U.mf=oa();e=this.U.Yl;this.U.$g&&(e=Math.round(e*this.U.$g/this.U.Nj));e-=this.U.mf-this.U.li;if(f=this.U.mf-this.U.Zf)this.U.Fe=Math.round(this.Je/(10*f))/100,864E5<=f&&(this.qf=0,this.fa&&kd(this.fa,!0),cd(this));if(0>e||this.U.Fethis.rb?this.ta+a:Cd.call(this,0,0,c)}function Cd(a,b,c){c||wd.call(this.N,13,0);return u} +function Ed(a,b,c){return a+b<=this.rb?this.ta+a:Fd.call(this,0,0,c)}function Gd(a,b,c){return a+b>this.rb?this.ta+a:Fd.call(this,0,0,c)}function Fd(a,b,c){c||wd.call(this.N,13,0);return u} +function Hd(a,b){var c=this.N,d=c.cb.ta,e=this.ab,f=c.cb.va;if(!b){if(768!=c.cb.type)return wd.call(c,10,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb&-769|256)}if(c.cb.load(a)==u)return!1;var g=c.cb.ta;if(b){if(768==c.cb.type)return wd.call(c,13,a,!0),!1;c.Ma(c.cb.Od+4,c.cb.nb|=768);c.cb.type=768}c.Ma(d+14,w(c));c.Ma(d+16,Gb(c));c.Ma(d+18,c.G);c.Ma(d+20,c.I);c.Ma(d+22,c.J);c.Ma(d+24,c.C);c.Ma(d+26,x(c));c.Ma(d+28,c.H);c.Ma(d+30,c.F);c.Ma(d+32,c.D);c.Ma(d+34,c.Ia.va);c.Ma(d+36,c.pa.va);c.Ma(d+38,c.xa.va);c.Ma(d+ +40,c.Xa.va);var d=38,h=26;Id(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Ia.load(c.ja(g+34));c.Xa.load(c.ja(g+40));Jd(c,c.ja(g+14),c.ja(g+36));this.ab>13;if(6144<=h){N=c&3;if(N>a.ab){if(!1!==B&&!(M==a.ab||g&1024&&M<=a.ab)){t=u;break}C=e.Ka();Kd(e,e.Ka(),!0);y(e,C);a.ei=!0}C=!1}else if(1024==h)C=!0,E=-1,J=c,Nh||2048==(h&2560))){d||wd.call(e,13,c,!!g);t=u;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d|| +wd.call(e,13,c,!0);t=u;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||wd.call(e,10,c,!0);t=u;break}}else if(6==a.id&&!(g&4096)&&768>13;80386>a.N.za||!(a.Vh&64)?(a.pe=2,a.ka=65535):(a.pe=4,a.ka=-1)}else a.load=td,a.Vl=xd,a.Hc=zd,a.jc=Ad,a.rb=65535,a.ab=a.pc=0,a.Od=u,a.pe=2,a.ka=65535;a.nd=a.pe;a.ma=a.ka} +function Nd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Sc.call(this,a,b);this.Zk=61442;this.vh=nd;this.uh=4;this.gg=255;this.B=80286<=this.za?Od:Pd;this.Ua=Qd;this.bl=Rd;this.cl=Sd;this.dl=Td;80186<=this.za&&(this.Ua=Qd.slice(),this.bl=Rd.slice(),this.cl=Sd.slice(),this.gg=31,this.Ua[15]=Ud,this.Ua[96]=Vd,this.Ua[97]=Wd,this.Ua[98]=Xd,this.Ua[99]=Ud,this.Ua[100]=Ud,this.Ua[101]=Ud,this.Ua[102]=Ud,this.Ua[103]=Ud,this.Ua[104]=Yd, +this.Ua[105]=Zd,this.Ua[106]=$d,this.Ua[107]=ae,this.Ua[108]=be,this.Ua[109]=ce,this.Ua[110]=de,this.Ua[111]=ee,this.Ua[192]=fe,this.Ua[193]=ge,this.Ua[200]=he,this.Ua[201]=ie,this.Ua[241]=je,this.bl[7]=ke,this.cl[7]=ke,80286<=this.za&&(this.Zk=2,this.vh|=28672,this.uh=0,this.En=le,this.Ua[15]=me,this.Ua[99]=ne,this.Ua[84]=oe));this.Fn=[];this.Fn[2]={Or:this.ja.bind(this),hs:this.Ma.bind(this)};this.xh=[];this.yh=[];this.Xc=this.Cg=0;this.da.Mg=this.da.Bl=!1;this.ql=0;this.qa=[];this.gb=this.Ja=this.Ea= this.Tc=0;pe(this)}Xa(Sc,Nd); -var Pd={Dk:4,T:5,ta:6,aa:7,ba:8,M:9,O:11,P:12,of:4,dm:60,em:83,bc:3,Cb:9,qc:16,ri:1,im:19,km:28,mm:16,lm:21,jm:37,gm:2,Xj:9,hm:5,fm:33,Zj:10,Yj:8,fh:3,eh:15,Am:51,Bm:1,Cm:2,Dm:4,zm:32,$j:15,Fm:15,cc:16,dc:4,Hm:11,Gm:18,Em:24,Nb:4,Im:2,ak:16,Jm:17,fk:18,Km:19,ek:5,gk:6,Pm:2,Om:8,Mm:9,Nm:10,Lm:10,hk:10,ik:10,om:80,qm:144,nm:86,pm:154,sm:101,um:165,rm:107,tm:171,Rm:70,Tm:113,Qm:76,Sm:124,wm:80,ym:128,vm:86,xm:134,hh:3,gh:16,nk:10,mk:8,Um:51,rc:8,Vm:17,Wm:36,xc:11,Xm:16,ih:10,Ie:2,Uj:18,Vj:7,Wj:15,bk:12, -ck:7,dk:11,jk:18,kk:7,lk:15,ok:15,pk:7,qk:13,uk:11,vk:7,wk:8,Ym:8,an:12,Zm:18,$m:17,bn:15,sk:8,rk:20,tk:2,zk:3,jh:9,yk:5,xk:11,Bk:4,Ak:17,cn:11},Od={Dk:0,T:0,ta:0,aa:0,ba:0,M:0,O:1,P:1,of:3,dm:14,em:16,bc:2,Cb:7,qc:7,ri:0,im:7,km:13,mm:7,lm:11,jm:16,gm:3,Xj:6,hm:2,fm:13,Zj:5,Yj:5,fh:2,eh:7,Am:23,Bm:0,Cm:1,Dm:3,zm:17,$j:7,Fm:11,cc:7,dc:3,Hm:7,Gm:11,Em:15,Nb:2,Im:3,ak:7,Jm:8,fk:8,Km:8,ek:4,gk:4,Pm:2,Om:3,Mm:5,Nm:2,Lm:3,hk:5,ik:3,om:14,qm:22,nm:17,pm:25,sm:17,um:25,rm:20,tm:28,Rm:13,Tm:21,Qm:16,Sm:24, -wm:13,ym:21,vm:16,xm:24,hh:2,gh:7,nk:5,mk:5,Um:19,rc:5,Vm:5,Wm:17,xc:3,Xm:5,ih:3,Ie:0,Uj:8,Vj:5,Wj:9,bk:5,ck:5,dk:4,jk:5,kk:5,lk:4,ok:7,pk:5,qk:8,uk:3,vk:4,wk:3,Ym:11,an:11,Zm:15,$m:15,bn:7,sk:5,rk:8,tk:0,zk:2,jh:6,yk:3,xk:6,Bk:3,Ak:5,cn:5};k=Nd.prototype;k.Hj=function(a,b,c,d){this.pa=a;this.Ja=b;this.Ea=c;this.Tc=d};k.reset=function(){this.da.jb&&this.lb();pe(this);Tc(this);this.da.pd=!1}; -function pe(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Pb=a.ph=-1;a.Ih=0;a.gc=65520;a.Rc=0;a.We=1023;a.dg=0;a.qi=-1;a.ra=new qd(a,rd,"CS");a.Xa=new qd(a,2,"DS");a.Ia=new qd(a,2,"ES");a.xa=new qd(a,3,"SS");y(a,0);Kd(a,0);a.un=new qd(a,0,"NULL");a.tb=a.Xa;a.bd=a.xa;a.S=a.Da=0;a.ca=a.La=u;a.wb=0;Jd(a,0,65535);a.pe=a.ra.pe;a.ka=a.ra.ka;a.wd=A;a.vd=se;a.Ue=te;a.Gb=D;a.Oc=ue;a.fd=ve;a.nd=a.ra.nd;a.la=a.ra.la;if(80286<=a.za){a.Dc=0;a.Ve=65535;a.ad=new qd(a,5,"LDT",!0);a.cb=new qd(a,4,"TSS",!0);a.Tb= -new qd(a,6,"VER",!0);Jd(a,65520,61440);var b,c=w(a);b=a.ra;var d=-65536;80386>b.N.za&&(d&=16777215);b=b.va=d;a.ma=b+c;a.ig=b+a.ra.rb}Id(a,0);we(a)}k.Ml=function(){var a=this.G+this.C+this.I+this.J+x(this)+this.H+this.F+this.D|0;return a=a+w(this)+Fb(this)+this.Xa.ua+this.xa.ua+this.Ia.ua+Gb(this)|0};function xe(a,b,c,d){void 0!==d&&(void 0===a.xh[b]&&(a.xh[b]=[]),a.xh[b].push([c,d]))} -function ye(a,b){var c=a.xh[b];if(void 0!==c)for(var d=0;d>((a^a>>4)&15)&1?0:Ob}function Me(a){return(a.W^a.ia)&16?Nb:0} +var Pd={Dk:4,T:5,ua:6,aa:7,ba:8,M:9,O:11,P:12,of:4,dm:60,em:83,bc:3,Cb:9,qc:16,ri:1,im:19,km:28,mm:16,lm:21,jm:37,gm:2,Xj:9,hm:5,fm:33,Zj:10,Yj:8,fh:3,eh:15,Am:51,Bm:1,Cm:2,Dm:4,zm:32,$j:15,Fm:15,cc:16,dc:4,Hm:11,Gm:18,Em:24,Nb:4,Im:2,ak:16,Jm:17,fk:18,Km:19,ek:5,gk:6,Pm:2,Om:8,Mm:9,Nm:10,Lm:10,hk:10,ik:10,om:80,qm:144,nm:86,pm:154,sm:101,um:165,rm:107,tm:171,Rm:70,Tm:113,Qm:76,Sm:124,wm:80,ym:128,vm:86,xm:134,hh:3,gh:16,nk:10,mk:8,Um:51,rc:8,Vm:17,Wm:36,xc:11,Xm:16,ih:10,Ie:2,Uj:18,Vj:7,Wj:15,bk:12, +ck:7,dk:11,jk:18,kk:7,lk:15,ok:15,pk:7,qk:13,uk:11,vk:7,wk:8,Ym:8,an:12,Zm:18,$m:17,bn:15,sk:8,rk:20,tk:2,zk:3,jh:9,yk:5,xk:11,Bk:4,Ak:17,cn:11},Od={Dk:0,T:0,ua:0,aa:0,ba:0,M:0,O:1,P:1,of:3,dm:14,em:16,bc:2,Cb:7,qc:7,ri:0,im:7,km:13,mm:7,lm:11,jm:16,gm:3,Xj:6,hm:2,fm:13,Zj:5,Yj:5,fh:2,eh:7,Am:23,Bm:0,Cm:1,Dm:3,zm:17,$j:7,Fm:11,cc:7,dc:3,Hm:7,Gm:11,Em:15,Nb:2,Im:3,ak:7,Jm:8,fk:8,Km:8,ek:4,gk:4,Pm:2,Om:3,Mm:5,Nm:2,Lm:3,hk:5,ik:3,om:14,qm:22,nm:17,pm:25,sm:17,um:25,rm:20,tm:28,Rm:13,Tm:21,Qm:16,Sm:24, +wm:13,ym:21,vm:16,xm:24,hh:2,gh:7,nk:5,mk:5,Um:19,rc:5,Vm:5,Wm:17,xc:3,Xm:5,ih:3,Ie:0,Uj:8,Vj:5,Wj:9,bk:5,ck:5,dk:4,jk:5,kk:5,lk:4,ok:7,pk:5,qk:8,uk:3,vk:4,wk:3,Ym:11,an:11,Zm:15,$m:15,bn:7,sk:5,rk:8,tk:0,zk:2,jh:6,yk:3,xk:6,Bk:3,Ak:5,cn:5};k=Nd.prototype;k.Hj=function(a,b,c,d){this.qa=a;this.Ja=b;this.Ea=c;this.Tc=d};k.reset=function(){this.da.jb&&this.lb();pe(this);Tc(this);this.da.pd=!1}; +function pe(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Pb=a.ph=-1;a.Ih=0;a.gc=65520;a.Rc=0;a.We=1023;a.eg=0;a.qi=-1;a.pa=new qd(a,rd,"CS");a.Xa=new qd(a,2,"DS");a.Ia=new qd(a,2,"ES");a.xa=new qd(a,3,"SS");y(a,0);Kd(a,0);a.un=new qd(a,0,"NULL");a.tb=a.Xa;a.bd=a.xa;a.S=a.Da=0;a.ca=a.La=u;a.wb=0;Jd(a,0,65535);a.pe=a.pa.pe;a.ka=a.pa.ka;a.wd=A;a.vd=se;a.Ue=te;a.Gb=D;a.Oc=ue;a.fd=ve;a.nd=a.pa.nd;a.ma=a.pa.ma;if(80286<=a.za){a.Dc=0;a.Ve=65535;a.ad=new qd(a,5,"LDT",!0);a.cb=new qd(a,4,"TSS",!0);a.Tb= +new qd(a,6,"VER",!0);Jd(a,65520,61440);var b,c=w(a);b=a.pa;var d=-65536;80386>b.N.za&&(d&=16777215);b=b.ta=d;a.la=b+c;a.sf=b+a.pa.rb}Id(a,0);we(a)}k.Ml=function(){var a=this.G+this.C+this.I+this.J+x(this)+this.H+this.F+this.D|0;return a=a+w(this)+Fb(this)+this.Xa.va+this.xa.va+this.Ia.va+Gb(this)|0};function xe(a,b,c,d){void 0!==d&&(void 0===a.xh[b]&&(a.xh[b]=[]),a.xh[b].push([c,d]))} +function ye(a,b){var c=a.xh[b];if(void 0!==c)for(var d=0;d>((a^a>>4)&15)&1?0:Ob}function Me(a){return(a.W^a.ia)&16?Nb:0} function Ne(a){return a.Q&a.V-1?0:Mb}function Oe(a){return a.W&a.V>>1?Lb:0}function Pe(a){return(a.W^a.ia^a.W>>1)&a.V>>1?Hb:0}function Qe(a){a.Q&=~a.V}function Re(a){a.ia=a.W&16|a.ia&-17}function Se(a){a.Q|=a.V-1}function Te(a){Oe(a)&&(a.W^=a.V>>1|a.V>>2,a.ia^=32896)}function Ue(a){a.W&=~a.V;a.ia=a.W&32896|a.ia&-32897}function Ve(a){a.Q|=a.V}function We(a){a.ia=~(a.W&16)&16|a.ia&-17}function Xe(a){a.Q&=~(a.V-1)}function Ye(a){Oe(a)||(a.W^=a.V>>1|a.V>>2,a.ia^=32896)} -function Ze(a){a.W|=a.V;a.ia=a.W&32896|a.ia&-32897}function Gb(a){return a.wa&~od|Ke(a)|Le(a)|Me(a)|Ne(a)|Oe(a)|Pe(a)}function Id(a,b,c){a.V=256;a.Q=a.W=a.ia=0;b&Pb&&Ve(a);b&Ob||(a.W|=1);b&Nb&&(a.ia|=16);b&Mb||Se(a);b&Lb&&Ye(a);b&Hb&&Ze(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.ra.ab);c?b=b&-12289|a.wa&12288:a.dg=(b&12288)>>12;c>a.dg&&(b=b&~Jb|a.wa&Jb);a.wa=a.wa&~a.vh|b&a.vh|a.Zk;a.wa&Kb&&(a.wb|=2,a.S|=4)} -k.Fb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.ql++;d=!0;break;default:d=this.parent.Fb.call(this,a,b,c)}return d};k.Ra=function(a){return this.pa[(a&this.gb)>>>this.Ja].Eb(a&this.Ea)}; -k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;return b>>this.Ja;if(b>>c|this.pa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.pa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; -k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;c>8&255))};function $e(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function G(a,b){return $e(a,a.tb,b&65535)}function H(a,b){return $e(a,a.bd,b&65535)}function af(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function I(a,b){return af(a,a.tb,b&65535)}function K(a,b){return af(a,a.bd,b&65535)} -function bf(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function L(a,b){return bf(a,a.tb,b&65535)}function O(a,b){return bf(a,a.bd,b&65535)}function cf(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function P(a,b){return cf(a,a.tb,b&65535)}function R(a,b){return cf(a,a.bd,b&65535)}function S(a,b){a.S&2||a.td(a.th.jc(a.mh,0),b)}function T(a,b){a.S&2||a.Ma(a.th.jc(a.mh,1),b)}function Md(a,b,c){return a.ja(b.Hc(c,1))} -k.Y=function(){var a=this.Ra(this.ma);++this.ma>this.ig&&F(this,this.ma-this.ra.va);return a};k.L=function(){var a=this.Ra(this.ma)<<24>>24;++this.ma>this.ig&&F(this,this.ma-this.ra.va);return a&65535};k.K=function(){var a=this.ja(this.ma);this.ma+=this.pe;this.ma>this.ig&&F(this,this.ma-this.ra.va);return a};k.Ka=function(){var a=this.ja(this.Yc);this.Yc+=2;this.Yc>this.kn&&y(this,this.Yc-this.xa.va);return a};function z(a,b){a.Yc-=2;a.Ycthis.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&255}function kf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&255} -function lf(a,b){this.ia=a^b;this.Q=this.W=a+b+(this.Q&this.V?1:0);this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255}function mf(a,b){this.ia=a^b;this.Q=this.W=a-b-(this.Q&this.V?1:0);this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255}function nf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&255} -function of(a,b){this.ia=a^b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&255}function pf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&255}function qf(a,b){this.ia=a^b;this.V=256;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a} -function rf(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&65535}function sf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&65535}function tf(a,b){this.ia=a^b;this.Q=this.W=a+b+(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535} -function uf(a,b){this.ia=a^b;this.Q=this.W=a-b-(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535}function vf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&65535}function wf(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&65535} -function xf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&65535}function yf(a,b){this.ia=a^b;this.V=65536;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a}function zf(a,b){this.Q=this.Q&this.V-1|(a&b?this.V:0);(a^a>>1)&b>>1?Ze(this):Ue(this)}function Af(){this.A-=0>this.ca?2:this.B.bn;return 1} -function Bf(){var a=this.I&this.fg;this.A-=(0>this.ca?this.B.sk:this.B.rk)+(a<this.ca?this.B.sk:this.B.rk)+(a<this.La?this.B.rc:this.B.Vm;return b},Ef,Ef,Ef,Ef,Ef,Ef,Ef],Jf=[function(a,b){this.A-=0>this.La?this.B.Nm:this.B.Lm;return b},Ff,Ff,Ff,Ff,Ff,Ff,Ff],Nf=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;zf.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);zf.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.fg)%9)? -(d=a<>9-d,c=d&255):d=a|(this.Q&this.V?1:0)<<8;zf.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.fg)%9,c=a>>c|(this.Q&this.V?1:0)<<8-c|a<<9-c,zf.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255},Ff,function(a,b){if(b){8>24>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255}],Of=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;zf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);zf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.fg)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Q&this.V?1:0)<<16;zf.call(this, -d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.fg)%17,c=a>>c|(this.Q&this.V?1:0)<<16-c|a<<17-c,zf.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535},Ff,function(a,b){if(b){16>16>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q| -65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535}],Qf=[function(a,b){b=this.Y();this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},Ff,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^255},function(a,b){b=0;this.ia=a^b;this.V=256;this.A-=0>this.ca?this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&255},function(a){this.G=this.Pb=(this.Q=(this.G&255)*a)&65535;this.ia=this.W=this.Q;this.V=256;this.G&65280?(Ve(this),Ze(this)):(Qe(this), -Ue(this));this.A-=0>this.ca?this.B.Rm:this.B.Qm;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Pb=b&65535;this.Q=this.ia=this.W=b;this.V=256;127b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.wm:this.B.vm;this.S|=2;return a},function(a){if(!a)return Pf.call(this),a;var b=this.G/a;if(255this.ca?this.B.om:this.B.nm;this.S|=2;return a}, -function(a){if(!a)return Pf.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Pf.call(this),a;this.Pb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.ia=this.Q=b|256;this.V=256;this.A-=0>this.ca?this.B.sm:this.B.rm;this.S|=2;return a}],Rf=[function(a,b){b=this.K();this.Q=this.W=this.ia=a&b;this.V=65536;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},Ff,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^65535},function(a,b){b=0;this.ia=a^b; -this.V=65536;this.A-=0>this.ca?this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&65535},function(a){this.Pb=this.G=(this.Q=this.G*a)&65535;this.ph=this.J=this.Q>>16&65535;this.ia=this.W=this.Q;this.V=65536;this.J?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.Tm:this.B.Sm;this.S|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Pb=b&65535;this.J=this.ph=b>>16&65535;this.Q=this.ia=this.W=b;this.V=65536;32767b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-= -0>this.ca?this.B.ym:this.B.xm;this.S|=2;return a},function(a,b){if(!a)return Pf.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Pf.call(this),a;this.Pb=this.G=c&65535;this.ph=this.J=b%a&65535;this.W=this.ia=this.Q=c|65536;this.V=65536;this.A-=0>this.ca?this.B.qm:this.B.pm;this.S|=2;return a},function(a,b){if(!a)return Pf.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Pf.call(this),a;this.Pb=this.G=d&65535;this.ph=this.J= -b%c&65535;this.W=this.ia=this.Q=d|65536;this.V=65536;this.A-=0>this.ca?this.B.um:this.B.tm;this.S|=2;return a}],Rd=[function(a){this.ia=a;a=(this.W=a+1)&255;this.Q=a|(this.Q&this.V?1:0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&255;this.Q=a|(this.Q&this.V?1:0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},Ff,Ff,Ff,Ff,Ff,Ff],Sd=[function(a){this.ia=a;a=(this.W=a+1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0> -this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){z(this,w(this));F(this,a);this.A-=0>this.ca?this.B.mm:this.B.lm;this.S|=2;return a},function(a){if(0>this.ca)return Ff.call(this,a);Sf.call(this,a,this.ja(this.ca+2));this.A-=this.B.jm;this.S|=2;return a},function(a){F(this,a);this.A-=0>this.ca?this.B.Hm:this.B.Gm;this.S|=2;return a},function(a){if(0>this.ca)return Ff.call(this, -a);Jd(this,a,this.ja(this.ca+2));this.Cg&&Ce(this,this.ma);this.A-=this.B.Em;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.ca?this.B.xc:this.B.Xm;this.S|=2;return a},Ef];function Tf(a,b){this.A-=0>this.La?0>this.ca?this.B.Pm:this.B.Om:this.B.Mm;return b}function Uf(){return Tf.call(this,0,this.Pb)}function Vf(a,b){this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a} -function Wf(a,b){this.Q=this.W=this.ia=a&b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a}function Xf(a,b){var c=(b<<16>>16)*(this.Y()<<24>>24);this.Q=this.ia=this.W=c;this.V=256;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535} -function Yf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.Q=this.ia=this.W=c;this.V=65536;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535}function Zf(a){return a}function $f(a){if(0>this.ca)return U.call(this),a;this.A-=this.B.Im;return this.ca}function ag(a,b){if(0>this.ca)return U.call(this),a;He(this,this.ja(this.ca+2));this.A-=this.B.ak;return b} -function bg(a,b){if(0>this.ca)return U.call(this),a;Ie(this,this.ja(this.ca+2));this.A-=this.B.ak;return b}function cg(a){if(0>this.ca)return Ud.call(this),a;var b=a<<16>>16,c=this.ja(this.ca)<<16>>16,d=this.ja(this.ca+2)<<16>>16;this.A-=this.B.fm;if(bd)F(this,this.Ob-this.ra.va),ff.call(this,5,null,0);this.S|=2;return a}function dg(a,b){this.A-=10+(0>this.ca?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Xe(this),a;Se(this);return a} -function eg(a,b){this.A-=14+(0>this.ca?0:2);if(this.Tb.load(b,!0)!=u&&this.Tb.pc>=this.ra.ab&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.nb&65280;Se(this);return a}function fg(a,b){this.A-=14+(0>this.ca?0:2);if(b&65528&&this.Tb.load(b,!0)!=u&&(7168==(this.Tb.nb&7168)||this.Tb.pc>=this.ra.ab)&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.rb;Se(this);return a} -function gg(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Bk}else this.La=this.ca,S(this,a),this.A-=this.B.Ak;return b} -function hg(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Bk}else this.La=this.ca,T(this,a),this.A-=this.B.Ak;return b}function ig(a){a=a|this.gc&1|65520;this.gc=this.gc&-65536|a&65535;this.gc&1&&we(this,!0)}function Sf(a,b){var c=Fb(this),d=w(this);null!=Jd(this,a,b,!0)&&(z(this,c),z(this,d))} -function jg(a){var b=this.Ka(),c=this.Ka();(a<<=this.nd>>2)&&y(this,x(this)+a);Jd(this,b,c,!1)&&(a&&y(this,x(this)+a),this.Xa.ua&65528&&this.Xa.pcthis.qi)F(this,this.Ob-this.ra.va),d=!0;else if(8!=this.qi)b=0,a=8,d=!0;else{kg.call(this,-1,0,c);pe(this);return}kg.call(this,a,b,c)&&(d=!1);d&&ff.call(this,this.qi=a,b,0);this.S&=-4}else this.Wa("Fault "+m(a)+" blocked by Debugger",536870912),F(this,this.Ob-this.ra.va)} -function kg(a,b,c){var d=32,e=Qb(this.ha,this.ma);204==e&&(c=!1,d|=1);983040<=this.ma&&1048575>=this.ma&&(c=!1);this.oa(d|1073741824)&&(c=!0);if(this.oa(d)||c)a=(c?"\n":"")+"Fault "+m(a)+(null!=b?" ("+n(b)+")":"")+" on opcode 0x"+m(e)+" at "+uc(this.Z,w(this),Fb(this))+" (%"+da(this.ma,6)+")",b=this.da.jb,this.Wa(a,d)?c&&(c=b,this.Z.lb()):(this.Ca(a),this.lb());return c}function Ud(){wd.call(this,6);this.lb()} -function U(){F(this,this.Ob-this.ra.va);kb(this,"Undefined opcode 0x"+m(Qb(this.ha,this.ma))+" at 0x"+da(this.ma));this.lb()} -var A=[function(a){a=a.call(this,this.G&255,G(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.F));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a= -a.call(this,this.G&255,G(this,this.D));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.G&255,G(this,this.C));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255, -H(this,this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.F));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.D));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.I&255,G(this,this.C));this.I= -this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.F));this.J=this.J&-256| -a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.D));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.K()));this.J=this.J&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.J&255,G(this,this.C));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a= -a.call(this,this.C&255,H(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,G(this,this.F));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.D));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.C&255, -G(this,this.C));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D));this.G=this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this, -this.F));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.K()));this.G=this.G&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.G>>8,G(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D));this.I=this.I& -255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D));this.I=this.I&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.I>>8,G(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.K()));this.I=this.I&255|a<<8;this.A-= -this.B.ta},function(a){a=a.call(this,this.I>>8,G(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.aa}, -function(a){a=a.call(this,this.J>>8,G(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.K()));this.J=this.J&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.J>>8,G(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, -this.C>>8,G(this,this.C+this.D));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,G(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this, -this.K()));this.C=this.C&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.C>>8,G(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G& -255,H(this,this.H+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this, -this.I&255,G(this,this.C+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M}, -function(a){a=a.call(this,this.I&255,G(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.L()));this.J=this.J&-256|a; -this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.L()));this.J= -this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this, -this.H+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>> -8,G(this,this.C+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M}, -function(a){a=a.call(this,this.G>>8,G(this,this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.L()));this.I=this.I&255| -a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.L())); -this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>> -8,H(this,this.H+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this, -this.C>>8,G(this,this.C+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-= -this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.K()));this.G=this.G& --256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.K())); -this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255, -H(this,this.H+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this, -this.J&255,G(this,this.C+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M}, -function(a){a=a.call(this,this.J&255,G(this,this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.K()));this.C=this.C&-256|a; -this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.K()));this.C= -this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this, -this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>> -8,G(this,this.C+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M}, -function(a){a=a.call(this,this.I>>8,G(this,this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.K()));this.J=this.J&255| -a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.K())); -this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>> -8,H(this,this.H+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this, -this.G&255,this.G&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G& -255,this.C>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>> -8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J= -this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C& --256|a},function(a){a=a.call(this,this.C&255,this.I>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<< -8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}, -function(a){a=a.call(this,this.I>>8,this.C&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a= -a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this, -this.C>>8,this.I&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],se=[function(a){a=a.call(this, -L(this,this.C+this.F),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G&255);S(this,a);this.A-=this.B.T},function(a){a= -a.call(this,L(this,this.K()),this.G&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I&255);S(this,a);this.A-=this.B.aa}, -function(a){a=a.call(this,L(this,this.F),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J&255);S(this,a);this.A-=this.B.ba}, -function(a){a=a.call(this,O(this,this.H+this.F),this.J&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.J&255);S(this,a);this.A-=this.B.T}, -function(a){a=a.call(this,L(this,this.C+this.F),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C&255);S(this,a);this.A-= -this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C&255);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.G>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.G>>8);S(this, -a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.G>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.I>>8);S(this,a); -this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.I>>8);S(this,a);this.A-= -this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.J>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.J>>8);S(this, -a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.C>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C>> -8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C>>8);S(this,a);this.A-=this.B.ta},function(a){a=a.call(this,L(this,this.C),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()), -this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G&255);S(this,a);this.A-=this.B.M}, -function(a){a=a.call(this,L(this,this.C+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this, -L(this,this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J&255);S(this, -a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, -L(this,this.C+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()), -this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.P}, -function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()), -this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.I>>8);S(this,a);this.A-= -this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this, -this.H+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.J>>8);S(this,a);this.A-= -this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, -L(this,this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G&255); -S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, -L(this,this.C+this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()), -this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J&255);S(this,a);this.A-= -this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+ -this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C&255);S(this, -a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a= -a.call(this,O(this,this.H+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.I>> -8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a= -a.call(this,O(this,this.H+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()), -this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a= -a.call(this,L(this,this.C+this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()), -this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249],A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238], -A[246],A[254],A[199],A[207],A[215],A[223],A[231],A[239],A[247],A[255]],te=[function(a,b){var c=a[0].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this, -L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[0].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,L(this,this.C+this.D),b.call(this)); -S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta}, -function(a,b){var c=a[1].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a, -b){var c=a[2].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[2].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this, -this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.K()),b.call(this)); -S(this,c);this.A-=this.B.ta},function(a,b){var c=a[3].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));S(this,c); -this.A-=this.B.aa},function(a,b){var c=a[4].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[4].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a, -b){var c=a[5].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this, -L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[5].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+ -this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[6].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.C+this.F),b.call(this));S(this,c); -this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T}, -function(a,b){var c=a[7].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ta},function(a,b){var c=a[7].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-= -this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.L()),b.call(this));S(this, -c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+ -this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this, -this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c= -a[2].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P}, -function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-= -this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.L()), -b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+ -this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a, -b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M}, -function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.L()),b.call(this)); -S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.K()), -b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this, -this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c= -a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a, -b){var c=a[2].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.K()),b.call(this));S(this, -c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.K()),b.call(this)); -S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()), -b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this, -O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a, -b){var c=a[5].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P}, -function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));S(this,c); -this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()), -b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this)); -this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J& -255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<< -8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a, -b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c= -a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this, -this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>> -8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this)); -this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I= -this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C& -255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<< -8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],D=[function(a){this.G=a.call(this,this.G,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.G= -a.call(this,this.G,I(this,this.F));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.D));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.K()));this.A-=this.B.ta},function(a){this.G=a.call(this,this.G,I(this,this.C));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F));this.A-= -this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.F));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.D));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.K()));this.A-=this.B.ta},function(a){this.I=a.call(this,this.I,I(this,this.C));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this, -this.C+this.D));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this,this.F));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.D));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.K()));this.A-=this.B.ta},function(a){this.J=a.call(this,this.J,I(this,this.C));this.A-=this.B.T},function(a){this.C= -a.call(this,this.C,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.F));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.D));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.K())); -this.A-=this.B.ta},function(a){this.C=a.call(this,this.C,I(this,this.C));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D)));this.A-=this.B.ba},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F)));this.A-=this.B.ba},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.F)));this.A-=this.B.T},function(a){y(this, -a.call(this,x(this),I(this,this.D)));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.K())));this.A-=this.B.ta},function(a){y(this,a.call(this,x(this),I(this,this.C)));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D)); -this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.F));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.D));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.K()));this.A-=this.B.ta},function(a){this.H=a.call(this,this.H,I(this,this.C));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.F=a.call(this, -this.F,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.F));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.D));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.K()));this.A-=this.B.ta},function(a){this.F=a.call(this,this.F,I(this,this.C));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.D= -a.call(this,this.D,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.D=a.call(this,this.D,I(this,this.F));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.D));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.K()));this.A-=this.B.ta},function(a){this.D=a.call(this,this.D,I(this,this.C));this.A-= -this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.L())); -this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+ -this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.L())); -this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.L()));this.A-= -this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.L())); -this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+ -this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),K(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this, -this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this, -this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F, -I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D, -K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this, -this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this, -this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I, -I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J, -K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this, -this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this, -this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.K())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F+this.K())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this, -x(this),I(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),K(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.H= -a.call(this,this.H,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this, -this.F,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this, -this.F,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D= -a.call(this,this.D,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G=a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,x(this))},function(a){this.G=a.call(this,this.G,this.H)}, -function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this,this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this,this.I,this.C)},function(a){this.I=a.call(this,this.I,x(this))},function(a){this.I=a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this, -this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J=a.call(this,this.J,x(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J=a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C=a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C= -a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,x(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C=a.call(this,this.C,this.D)},function(a){y(this,a.call(this,x(this),this.G))},function(a){y(this,a.call(this,x(this),this.I))},function(a){y(this,a.call(this,x(this),this.J))},function(a){y(this,a.call(this,x(this),this.C))},function(a){y(this,a.call(this,x(this),x(this)))},function(a){y(this,a.call(this,x(this), -this.H))},function(a){y(this,a.call(this,x(this),this.F))},function(a){y(this,a.call(this,x(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H,this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H=a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,x(this))},function(a){this.H=a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F= -a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this,this.F,x(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F=a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D=a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D= -a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,x(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D=a.call(this,this.D,this.D)}],ue=[function(a){a=a.call(this,P(this,this.C+this.F),this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this, -R(this,this.H+this.D),this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.G);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D), -this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.I);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.I);T(this,a);this.A-= -this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.J);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.J);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.J);T(this,a);this.A-=this.B.T}, -function(a){a=a.call(this,P(this,this.K()),this.J);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.C);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.C);T(this,a);this.A-=this.B.aa},function(a){a= -a.call(this,P(this,this.F),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.C);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this, -this.H+this.F),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),x(this));T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F), -this.H);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.H);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.H);T(this, -a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.F);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.F);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.F);T(this,a);this.A-= -this.B.T},function(a){a=a.call(this,P(this,this.D),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.F);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.D);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.D);T(this,a);this.A-=this.B.ba},function(a){a= -a.call(this,R(this,this.H+this.D),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.D);T(this,a);this.A-=this.B.ta},function(a){a=a.call(this,P(this,this.C),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this, -P(this,this.C+this.D+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.G);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this, -this.F+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a= -a.call(this,R(this,this.H+this.F+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.J);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this, -this.D+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),x(this));T(this,a);this.A-=this.B.P}, -function(a){a=a.call(this,R(this,this.H+this.D+this.L()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.H); -T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, -R(this,this.H+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.F);T(this,a);this.A-= -this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()), -this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, -P(this,this.C+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.G);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+ -this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, -P(this,this.C+this.F+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.J);T(this,a);this.A-= -this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+ -this.D+this.K()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a= -a.call(this,P(this,this.C+this.D+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),x(this)); -T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a= -a.call(this,P(this,this.F+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.F);T(this,a);this.A-= -this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()), -this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a= -a.call(this,P(this,this.D+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.D);T(this,a);this.A-=this.B.M},D[192],D[200],D[208],D[216],D[224],D[232],D[240],D[248],D[193],D[201],D[209],D[217],D[225],D[233],D[241],D[249],D[194],D[202],D[210],D[218],D[226],D[234],D[242],D[250],D[195],D[203],D[211],D[219],D[227],D[235],D[243],D[251],D[196],D[204],D[212],D[220],D[228], -D[236],D[244],D[252],D[197],D[205],D[213],D[221],D[229],D[237],D[245],D[253],D[198],D[206],D[214],D[222],D[230],D[238],D[246],D[254],D[199],D[207],D[215],D[223],D[231],D[239],D[247],D[255]],ve=[function(a,b){var c=a[0].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a, -b){var c=a[0].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[0].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this, -this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.D),b.call(this)); -T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[1].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-= -this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[2].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c= -a[3].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this, -P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[3].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.F), -b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[4].call(this,P(this,this.C),b.call(this));T(this,c);this.A-= -this.B.T},function(a,b){var c=a[5].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T}, -function(a,b){var c=a[5].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[5].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this, -R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[6].call(this,P(this,this.C),b.call(this)); -T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.F),b.call(this));T(this,c); -this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ta},function(a,b){var c=a[7].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-= -this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.L()),b.call(this)); -T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+ -this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this, -this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a, -b){var c=a[2].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P}, -function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.L()),b.call(this));T(this,c); -this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.L()), -b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+ -this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c= -a[6].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a, -b){var c=a[6].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this, -c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.K()),b.call(this)); -T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+ -this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this, -R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c= -a[1].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-= -this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this, -c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.K()), -b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this, -this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this, -P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a, -b){var c=a[5].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O}, -function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.K()),b.call(this));T(this, -c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.K()), -b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+ -this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){y(this,a[0].call(this,x(this),b.call(this)))},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D, -b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this,a[1].call(this,x(this),b.call(this)))},function(a,b){this.H=a[1].call(this,this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G= -a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,x(this),b.call(this)))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))}, -function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,x(this),b.call(this)))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this, -this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,x(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J= -a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,x(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))}, -function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,x(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this, -this.C,b.call(this))},function(a,b){y(this,a[7].call(this,x(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function me(){this.En[this.Y()].call(this)}function oe(){z(this,x(this)&this.la);this.A-=this.B.xc} -function Vd(){var a=x(this)&this.la;z(this,this.G&this.la);z(this,this.I&this.la);z(this,this.J&this.la);z(this,this.C&this.la);z(this,a);z(this,this.H&this.la);z(this,this.F&this.la);z(this,this.D&this.la);this.A-=this.B.Wm} -function Wd(){this.D=this.D&~this.la|this.Ka();this.F=this.F&~this.la|this.Ka();this.H=this.H&~this.la|this.Ka();y(this,x(this)+this.nd);this.C=this.C&~this.la|this.Ka();this.J=this.J&~this.la|this.Ka();this.I=this.I&~this.la|this.Ka();this.G=this.G&~this.la|this.Ka();this.A-=this.B.Um}function Xd(){this.Gb[this.Y()].call(this,cg)}function ne(){this.Oc[this.Y()].call(this,dg)}function Yd(){z(this,this.K());this.A-=this.B.xc}function Zd(){this.Gb[this.Y()].call(this,Yf)} -function $d(){z(this,this.Y());this.A-=this.B.xc}function ae(){this.Gb[this.Y()].call(this,Xf)}function be(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=cc(this.ha,this.J,this.ma-b-1);this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}} -function ce(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.ma-b-1,e=cc(this.ha,this.J,d),d=e|=cc(this.ha,this.J,d)<<8;this.Ma(this.Ia.jc(this.D&this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}} -function de(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ra(this.Xa.Hc(this.F&this.ka,0));this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;gc(this.ha,this.J,d,this.ma-b-1);a&&(this.ma=this.Ob,this.S|=256)}} -function ee(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=Md(this,this.Xa,this.F&this.ka);this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;b=this.ma-b-1;gc(this.ha,this.J,d&255,b);gc(this.ha,this.J,d>>8,b);a&&(this.ma=this.Ob,this.S|=256)}}function lg(){var a=this.L();Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function mg(){var a=this.L();Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} -function ng(){var a=this.L();Ke(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function og(){var a=this.L();Ke(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function pg(){var a=this.L();Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function qg(){var a=this.L();Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function rg(){var a=this.L();Ke(this)||Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc} -function sg(){var a=this.L();Ke(this)||Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function tg(){var a=this.L();Oe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function ug(){var a=this.L();Oe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function vg(){var a=this.L();Le(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function wg(){var a=this.L();Le(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} -function xg(){var a=this.L();!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function yg(){var a=this.L();!Oe(this)==!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function zg(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function Ag(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} -function Bg(){this.Ue[this.Y()].call(this,Gf,this.Y);this.A-=0>this.La?1:this.B.ri}function fe(){this.Ue[this.Y()].call(this,Nf,Cf)}function ge(){this.fd[this.Y()].call(this,Of,Cf)}function Cg(){var a=this.K()<<(this.nd>>2);F(this,this.Ka());a&&y(this,x(this)+a);this.A-=this.B.an}function Dg(){F(this,this.Ka());this.A-=this.B.Ym} -function he(){var a=this.K(),b=this.Y()&31;this.A-=11;z(this,this.H);var c=x(this)&this.xa.ka;if(0>8,c,d=Me(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this);this.A-=this.B.of},function(){this.vd[this.Y()].call(this, -qf)},function(){this.Oc[this.Y()].call(this,yf)},function(){this.wd[this.Y()].call(this,qf)},function(){this.Gb[this.Y()].call(this,yf)},function(){qf.call(this,this.G&255,this.Y());this.A--},function(){yf.call(this,this.G&this.la,this.K());this.A--},function(){this.S|=20;this.tb=this.bd=this.Xa;this.A-=this.B.Ie},function(){var a=this.G&255,b=this.G>>8,c,d=Me(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this); +function Ze(a){a.W|=a.V;a.ia=a.W&32896|a.ia&-32897}function Gb(a){return a.wa&~od|Ke(a)|Le(a)|Me(a)|Ne(a)|Oe(a)|Pe(a)}function $e(a,b){b=b|a.gc&1|65520;a.gc=a.gc&-65536|b&65535;a.gc&1&&we(a,!0)}function Id(a,b,c){a.V=256;a.Q=a.W=a.ia=0;b&Pb&&Ve(a);b&Ob||(a.W|=1);b&Nb&&(a.ia|=16);b&Mb||Se(a);b&Lb&&Ye(a);b&Hb&&Ze(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.pa.ab);c?b=b&-12289|a.wa&12288:a.eg=(b&12288)>>12;c>a.eg&&(b=b&~Jb|a.wa&Jb);a.wa=a.wa&~a.vh|b&a.vh|a.Zk;a.wa&Kb&&(a.wb|=2,a.S|=4)} +k.Fb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ra[b]=c;this.ql++;d=!0;break;default:d=this.parent.Fb.call(this,a,b,c)}return d};k.Ra=function(a){return this.qa[(a&this.gb)>>>this.Ja].Eb(a&this.Ea)}; +k.ja=function(a){var b=a&this.Ea;a=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;return b>>this.Ja;if(b>>c|this.qa[a+1&this.Tc].rf(0)<<32-c};k.td=function(a,b){this.qa[(a&this.gb)>>>this.Ja].Ib(a&this.Ea,b&255)}; +k.Ma=function(a,b){var c=a&this.Ea,d=(a&this.gb)>>>this.Ja;this.A-=this.B.Dk;c>8&255))};function af(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function G(a,b){return af(a,a.tb,b&65535)}function H(a,b){return af(a,a.bd,b&65535)}function bf(a,b,c){a.th=b;a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function I(a,b){return bf(a,a.tb,b&65535)}function K(a,b){return bf(a,a.bd,b&65535)} +function cf(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,0);return a.S&1?0:a.Ra(a.ca)}function L(a,b){return cf(a,a.tb,b&65535)}function O(a,b){return cf(a,a.bd,b&65535)}function df(a,b,c){a.th=b;a.La=a.ca=b.Hc(a.mh=c,1);return a.S&1?0:a.ja(a.ca)}function P(a,b){return df(a,a.tb,b&65535)}function R(a,b){return df(a,a.bd,b&65535)}function S(a,b){a.S&2||a.td(a.th.jc(a.mh,0),b)}function T(a,b){a.S&2||a.Ma(a.th.jc(a.mh,1),b)}function Md(a,b,c){return a.ja(b.Hc(c,1))} +k.Y=function(){var a=this.Ra(this.la);++this.la>this.sf&&F(this,this.la-this.pa.ta);return a};k.L=function(){var a=this.Ra(this.la)<<24>>24;++this.la>this.sf&&F(this,this.la-this.pa.ta);return a&65535};function ef(a){var b=a.ja(a.la);a.la+=2;a.la>a.sf&&F(a,a.la-a.pa.ta);return b}k.K=function(){var a=this.ja(this.la);this.la+=this.pe;this.la>this.sf&&F(this,this.la-this.pa.ta);return a};k.Ka=function(){var a=this.ja(this.Yc);this.Yc+=2;this.Yc>this.kn&&y(this,this.Yc-this.xa.ta);return a}; +function z(a,b){a.Yc-=2;a.Ycthis.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255}function mf(a,b){this.ia=a^b;this.Q=this.W=a+b+(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535} +function nf(a,b){this.ia=a^b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&255}function of(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a+b)&65535}function pf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&255} +function qf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a&b)&65535}function rf(a,b){this.A-=10+(0>this.ca?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Xe(this),a;Se(this);return a}function sf(a){if(0>this.ca)return Ud.call(this),a;var b=a<<16>>16,c=this.ja(this.ca)<<16>>16,d=this.ja(this.ca+2)<<16>>16;this.A-=this.B.fm;if(bd)F(this,this.Ob-this.pa.ta),hf.call(this,5,null,0);this.S|=2;return a} +function tf(a,b){var c=Fb(this),d=w(this);null!=Jd(this,a,b,!0)&&(z(this,c),z(this,d))}function uf(a,b){this.ia=a^b;this.V=256;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a}function vf(a,b){this.ia=a^b;this.V=65536;this.Q=this.W=a-b;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Xj:this.B.Cb;this.S|=2;return a}function wf(a){return a} +function xf(a,b){var c=(b<<16>>16)*(this.Y()<<24>>24);this.Q=this.ia=this.W=c;this.V=256;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535}function yf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.Q=this.ia=this.W=c;this.V=65536;32767c?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?21:24;return c&65535} +function hf(a,b,c){this.A-=this.B.Am+c;this.pa.pj=!0;c=Gb(this);var d=Fb(this),e=w(this);a=this.pa.Vl(a);a!=u&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.qi=-1)}function zf(a,b){this.A-=14+(0>this.ca?0:2);if(this.Tb.load(b,!0)!=u&&this.Tb.pc>=this.pa.ab&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.nb&65280;Se(this);return a}function Af(a,b){if(0>this.ca)return U.call(this),a;He(this,this.ja(this.ca+2));this.A-=this.B.ak;return b} +function Bf(a){if(0>this.ca)return U.call(this),a;this.A-=this.B.Im;return this.ca}function Cf(a,b){if(0>this.ca)return U.call(this),a;Ie(this,this.ja(this.ca+2));this.A-=this.B.ak;return b}function Df(a,b){this.A-=14+(0>this.ca?0:2);if(b&65528&&this.Tb.load(b,!0)!=u&&(7168==(this.Tb.nb&7168)||this.Tb.pc>=this.pa.ab)&&this.Tb.pc>=(b&3))return Xe(this),this.Tb.rb;Se(this);return a}function Ef(a,b){this.A-=0>this.La?0>this.ca?this.B.Pm:this.B.Om:this.B.Mm;return b} +function Ff(){return Ef.call(this,0,this.Pb)}function Gf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&255}function Hf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a|b)&65535} +function If(a){var b=this.Ka(),c=this.Ka();(a<<=this.nd>>2)&&y(this,x(this)+a);Jd(this,b,c,!1)&&(a&&y(this,x(this)+a),this.Xa.va&65528&&this.Xa.pcthis.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&255} +function Nf(a,b){this.ia=a^b;this.Q=this.W=a-b-(this.Q&this.V?1:0);this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return this.Q&65535}function Of(a,b){this.ia=a^b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&255}function Pf(a,b){this.ia=a^b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=a-b)&65535} +function Qf(a,b){this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a}function Rf(a,b){this.Q=this.W=this.ia=a&b;this.V=65536;this.A-=0>this.La?0>this.ca?this.B.zk:this.B.jh:this.B.jh;this.S|=2;return a} +function Sf(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Bk}else this.La=this.ca,S(this,a),this.A-=this.B.Ak;return b} +function Tf(a,b){if(0>this.ca){switch(this.Ih&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Bk}else this.La=this.ca,T(this,a),this.A-=this.B.Ak;return b}function Uf(a,b){this.V=256;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&255} +function Vf(a,b){this.V=65536;this.A-=0>this.La?0>this.ca?this.B.bc:this.B.Cb:this.B.qc;return(this.Q=this.W=this.ia=a^b)&65535}function Wf(a,b){this.Q=this.Q&this.V-1|(a&b?this.V:0);(a^a>>1)&b>>1?Ze(this):Ue(this)}function Xf(){this.A-=0>this.ca?2:this.B.bn;return 1}function Yf(){var a=this.I&this.gg;this.A-=(0>this.ca?this.B.sk:this.B.rk)+(a<this.ca?this.B.sk:this.B.rk)+(a<this.qi)F(this,this.Ob-this.pa.ta),d=!0;else if(8!=this.qi)b=0,a=8,d=!0;else{dg.call(this,-1,0,c);pe(this);return}dg.call(this,a,b,c)&&(d=!1);d&&hf.call(this,this.qi=a,b,0);this.S&=-4}else this.Wa("Fault "+m(a)+" blocked by Debugger",536870912),F(this,this.Ob-this.pa.ta)} +function dg(a,b,c){var d=32,e=Qb(this.ha,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);this.oa(d|1073741824)&&(c=!0);if(this.oa(d)||c)a=(c?"\n":"")+"Fault "+m(a)+(null!=b?" ("+n(b)+")":"")+" on opcode 0x"+m(e)+" at "+uc(this.Z,w(this),Fb(this))+" (%"+da(this.la,6)+")",b=this.da.jb,this.Wa(a,d)?c&&(c=b,this.Z.lb()):(this.Ca(a),this.lb());return c}function me(){this.En[this.Y()].call(this)}function oe(){z(this,x(this)&this.ma);this.A-=this.B.xc} +function Vd(){var a=x(this)&this.ma;z(this,this.G&this.ma);z(this,this.I&this.ma);z(this,this.J&this.ma);z(this,this.C&this.ma);z(this,a);z(this,this.H&this.ma);z(this,this.F&this.ma);z(this,this.D&this.ma);this.A-=this.B.Wm} +function Wd(){this.D=this.D&~this.ma|this.Ka();this.F=this.F&~this.ma|this.Ka();this.H=this.H&~this.ma|this.Ka();y(this,x(this)+this.nd);this.C=this.C&~this.ma|this.Ka();this.J=this.J&~this.ma|this.Ka();this.I=this.I&~this.ma|this.Ka();this.G=this.G&~this.ma|this.Ka();this.A-=this.B.Um}function Xd(){this.Gb[this.Y()].call(this,sf)}function ne(){this.Oc[this.Y()].call(this,rf)}function Yd(){z(this,this.K());this.A-=this.B.xc}function Zd(){this.Gb[this.Y()].call(this,yf)} +function $d(){z(this,this.Y());this.A-=this.B.xc}function ae(){this.Gb[this.Y()].call(this,xf)}function be(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=cc(this.ha,this.J,this.la-b-1);this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}} +function ce(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.la-b-1,e=cc(this.ha,this.J,d),d=e|=cc(this.ha,this.J,d)<<8;this.Ma(this.Ia.jc(this.D&this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}} +function de(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ra(this.Xa.Hc(this.F&this.ka,0));this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;gc(this.ha,this.J,d,this.la-b-1);a&&(this.la=this.Ob,this.S|=256)}} +function ee(){var a=1,b=0,c=5;this.Da&192&&(a=this.I,b=1,this.Da&256&&(c=4));if(a--){var d=Md(this,this.Xa,this.F&this.ka);this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;b=this.la-b-1;gc(this.ha,this.J,d&255,b);gc(this.ha,this.J,d>>8,b);a&&(this.la=this.Ob,this.S|=256)}}function eg(){var a=this.L();Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function fg(){var a=this.L();Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} +function gg(){var a=this.L();Ke(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function hg(){var a=this.L();Ke(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function ig(){var a=this.L();Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function jg(){var a=this.L();Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function kg(){var a=this.L();Ke(this)||Ne(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc} +function lg(){var a=this.L();Ke(this)||Ne(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function mg(){var a=this.L();Oe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function ng(){var a=this.L();Oe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)}function og(){var a=this.L();Le(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function pg(){var a=this.L();Le(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} +function qg(){var a=this.L();!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function rg(){var a=this.L();!Oe(this)==!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function sg(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?(F(this,w(this)+a),this.A-=this.B.cc):this.A-=this.B.dc}function tg(){var a=this.L();Ne(this)||!Oe(this)!=!Pe(this)?this.A-=this.B.dc:(F(this,w(this)+a),this.A-=this.B.cc)} +function ug(){this.Ue[this.Y()].call(this,vg,this.Y);this.A-=0>this.La?1:this.B.ri}function fe(){this.Ue[this.Y()].call(this,wg,Zf)}function ge(){this.fd[this.Y()].call(this,xg,Zf)}function yg(){var a=this.K()<<(this.nd>>2);F(this,this.Ka());a&&y(this,x(this)+a);this.A-=this.B.an}function zg(){F(this,this.Ka());this.A-=this.B.Ym} +function he(){var a=this.K(),b=this.Y()&31;this.A-=11;z(this,this.H);var c=x(this)&this.xa.ka;if(0>8,c,d=Me(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this);this.A-=this.B.of},function(){this.vd[this.Y()].call(this, +uf)},function(){this.Oc[this.Y()].call(this,vf)},function(){this.wd[this.Y()].call(this,uf)},function(){this.Gb[this.Y()].call(this,vf)},function(){uf.call(this,this.G&255,this.Y());this.A--},function(){vf.call(this,this.G&this.ma,this.K());this.A--},function(){this.S|=20;this.tb=this.bd=this.Xa;this.A-=this.B.Ie},function(){var a=this.G&255,b=this.G>>8,c,d=Me(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.Q=a);this.V=65536;c&&(this.Q|=this.V);d?We(this):Re(this); this.A-=this.B.of},function(){this.W=(this.ia=this.G)+1;this.G=this.W&65535;this.Q=this.G|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.I)+1;this.I=this.W&65535;this.Q=this.I|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.J)+1;this.J=this.W&65535;this.Q=this.J|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.C)+1;this.C=this.W&65535;this.Q=this.C|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){var a; -this.W=(this.ia=x(this))+1;y(this,a=this.ia&~this.la|this.W&this.la);this.Q=(a&this.la)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)+1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)+1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)+1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-= +this.W=(this.ia=x(this))+1;y(this,a=this.ia&~this.ma|this.W&this.ma);this.Q=(a&this.ma)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)+1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)+1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)+1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-= 2},function(){this.W=(this.ia=this.G)-1;this.G=this.W&65535;this.Q=this.G|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.I)-1;this.I=this.W&65535;this.Q=this.I|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.J)-1;this.J=this.W&65535;this.Q=this.J|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.C)-1;this.C=this.W&65535;this.Q=this.C|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){var a;this.W= -(this.ia=x(this))-1;y(this,a=this.ia&~this.la|this.W&this.la);this.Q=(a&this.la)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)-1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)-1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)-1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){z(this, -this.G&this.la);this.A-=this.B.xc},function(){z(this,this.I&this.la);this.A-=this.B.xc},function(){z(this,this.J&this.la);this.A-=this.B.xc},function(){z(this,this.C&this.la);this.A-=this.B.xc},function(){z(this,x(this)-this.nd&this.la);this.A-=this.B.xc},function(){z(this,this.H&this.la);this.A-=this.B.xc},function(){z(this,this.F&this.la);this.A-=this.B.xc},function(){z(this,this.D&this.la);this.A-=this.B.xc},function(){this.G=this.G&~this.la|this.Ka();this.A-=this.B.rc},function(){this.I=this.I& -~this.la|this.Ka();this.A-=this.B.rc},function(){this.J=this.J&~this.la|this.Ka();this.A-=this.B.rc},function(){this.C=this.C&~this.la|this.Ka();this.A-=this.B.rc},function(){y(this,x(this)&~this.la|this.Ka());this.A-=this.B.rc},function(){this.H=this.H&~this.la|this.Ka();this.A-=this.B.rc},function(){this.F=this.F&~this.la|this.Ka();this.A-=this.B.rc},function(){this.D=this.D&~this.la|this.Ka();this.A-=this.B.rc},lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg, -xg,yg,zg,Ag,Bg,function(){this.fd[this.Y()].call(this,Hf,this.K);this.A-=0>this.La?1:this.B.ri},Bg,function(){this.fd[this.Y()].call(this,Hf,this.L);this.A-=0>this.La?1:this.B.ri},function(){this.vd[this.Y()].call(this,Vf)},function(){this.Oc[this.Y()].call(this,Wf)},function(){this.wd[this.Ih=this.Y()].call(this,gg)},function(){this.Gb[this.Ih=this.Y()].call(this,hg)},function(){this.S|=1;this.vd[this.Y()].call(this,Tf)},function(){this.S|=1;this.Oc[this.Y()].call(this,Tf)},function(){this.wd[this.Y()].call(this, -Tf)},function(){this.Gb[this.Y()].call(this,Tf)},function(){var a=this.Y();switch((a&56)>>3){case 0:this.Pb=this.Ia.ua;break;case 1:this.Pb=this.ra.ua;break;case 2:this.Pb=this.xa.ua;break;case 3:this.Pb=this.Xa.ua;break;default:U.call(this);return}this.S|=1;this.Oc[a].call(this,Uf)},function(){this.S|=1;this.tb=this.bd=this.un;this.Gb[this.Y()].call(this,$f)},function(){var a,b=this.Y(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| -80386==this.za&&4!=c&&5!=c){Ud.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=x(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.Gb[b].call(this,Tf);switch(c){case 0:Ie(this,this.G);this.G=a;break;case 1:Ge(this,this.I);this.I=a;break;case 2:Kd(this,this.J);this.J=a;break;case 3:He(this,this.C);this.C=a;break;case 4:Ie(this,x(this));y(this,a);break;case 5:Ge(this,this.H);this.H=a;break;case 6:Kd(this,this.F);this.F=a;break;case 7:He(this,this.D),this.D=a}}, -function(){this.S|=1;this.fd[this.Y()].call(this,If,this.Ka)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=x(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= -2==this.nd?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.nd?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.hm},function(){Sf.call(this,this.K(),this.K());this.A-=this.B.km},function(){this.Wa("WAIT not implemented",1);this.A--},function(){z(this,Gb(this));this.A-=this.B.xc},function(){Id(this,this.Ka());this.A-=this.B.rc},function(){var a=this.G>>8;a&Pb?Ve(this):Qe(this);a&Ob?Le(this)||(this.W^=1):Le(this)&&(this.W^=1);a&Nb?We(this): -Re(this);a&Mb?Xe(this):Se(this);a&Lb?Ye(this):Te(this);this.A-=this.B.Nb},function(){this.G=this.G&255|(Gb(this)&pd)<<8;this.A-=this.B.Nb},function(){var a=this.G&-256,b;b=this.K();b=this.Ra(this.tb.Hc(b,0));this.G=a|b;this.A-=this.B.hk},function(){this.G=this.G&~this.la|Md(this,this.tb,this.K());this.A-=this.B.hk},function(){var a=this.K(),b=this.G;this.td(this.tb.jc(a,0),b);this.A-=this.B.ik},function(){var a=this.K(),b=this.G;this.Ma(this.tb.jc(a,1),b);this.A-=this.B.ik},function(){var a=1,b=0, -c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-1:1,e=this.Ra(this.tb.Hc(this.F,0));this.td(this.Ia.jc(this.D&this.ka,0),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-2:2,e=Md(this,this.tb,this.F);this.Ma(this.Ia.jc(this.D& -this.ka,1),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-1:1,e=$e(this,this.tb,this.F&this.ka),f=bf(this,this.Ia,this.D&this.ka);qf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da& -64)&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-2:2,e=af(this,this.tb,this.F&this.ka),f=cf(this,this.Ia,this.D&this.ka);yf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=256)}},function(){this.Q=this.W=this.ia=this.G&this.Y();this.V=256;this.A-=this.B.of}, -function(){this.Q=this.W=this.ia=this.G&this.K();this.V=65536;this.A-=this.B.of},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.Ma(this.Ia.jc(this.D& -this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.ma=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-=this.B.ck));a--&&(this.G=this.G&-256|this.Ra(this.tb.Hc(this.F&this.ka,0)),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka,this.A-=c,this.I-=b,a&&(this.ma=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-= -this.B.ck));a--&&(this.G=Md(this,this.tb,this.F&this.ka),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka,this.A-=c,this.I-=b,a&&(this.ma=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(qf.call(this,this.G&255,bf(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=256))},function(){var a= -1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(yf.call(this,this.G,cf(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.ma=this.Ob,this.S|=256))},function(){this.G=this.G&-256|this.Y();this.A-=this.B.Nb},function(){this.I=this.I&-256|this.Y();this.A-=this.B.Nb},function(){this.J=this.J&-256|this.Y();this.A-=this.B.Nb},function(){this.C=this.C&-256|this.Y(); -this.A-=this.B.Nb},function(){this.G=this.G&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.I=this.I&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.J=this.J&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.C=this.C&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.G=this.G&~this.la|this.K();this.A-=this.B.Nb},function(){this.I=this.I&~this.la|this.K();this.A-=this.B.Nb},function(){this.J=this.J&~this.la|this.K();this.A-=this.B.Nb},function(){this.C=this.C&~this.la|this.K();this.A-=this.B.Nb}, -function(){y(this,x(this)&~this.la|this.K());this.A-=this.B.Nb},function(){this.H=this.H&~this.la|this.K();this.A-=this.B.Nb},function(){this.F=this.F&~this.la|this.K();this.A-=this.B.Nb},function(){this.D=this.D&~this.la|this.K();this.A-=this.B.Nb},Cg,Dg,Cg,Dg,function(){this.Gb[this.Y()].call(this,bg)},function(){this.Gb[this.Y()].call(this,ag)},function(){this.S|=1;this.Ue[this.Y()].call(this,Jf,this.Y)},function(){this.S|=1;this.fd[this.Y()].call(this,Jf,this.K)},Eg,Fg,Eg,Fg,function(){ff.call(this, -3,null,this.B.Bm)},function(){var a=this.Y();ye(this,a)?ff.call(this,a,null,0):this.A--},function(){Pe(this)?ff.call(this,4,null,this.B.Cm):this.A-=this.B.Dm},function(){this.A-=this.B.zm;if(this.gc&1&&this.wa&16384){var a=this.ja(this.cb.va+0);Hd.call(this.ra,a,!1)}else{var a=this.ra.ab,b=this.Ka(),c=this.Ka(),d=this.Ka();null!=Jd(this,b,c,!1)&&(Id(this,d,a),this.Cg&&Ce(this,this.ma))}},function(){this.Ue[this.Y()].call(this,Nf,Af)},function(){this.fd[this.Y()].call(this,Of,Af)},function(){this.Ue[this.Y()].call(this, -Nf,Bf)},function(){this.fd[this.Y()].call(this,Of,Bf)},function(){var a=this.Y(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.V=256;this.Q=this.W=b;this.A-=this.B.em},function(){var a=this.Y();this.Q=this.W=this.G=(this.G>>8)*a+this.G&255;this.V=256;this.A-=this.B.dm},function(){this.G=this.G&-256|(Ke(this)?255:0);this.A-=2},function(){this.G=this.G&-256|$e(this,this.tb,this.C+(this.G&255)&65535);this.A-=this.B.cn},Gg,Gg,Gg,Gg,Gg,Gg,Gg,Gg,function(){var a=this.L();(this.I=this.I-1&this.ka)&&this.Q&this.V- -1?(F(this,w(this)+a),this.A-=this.B.Km):this.A-=this.B.ek},function(){var a=this.L();!(this.I=this.I-1&this.ka)||this.Q&this.V-1?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.L();(this.I=this.I-1&this.ka)?(F(this,w(this)+a),this.A-=this.B.Jm):this.A-=this.B.ek},function(){var a=this.L();this.I?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.Y();this.G=this.G&-256|cc(this.ha,a,this.ma-2);this.A-=this.B.Zj},function(){var a=this.Y();this.G= -cc(this.ha,a,this.ma-2);this.G|=cc(this.ha,a+1&65535,this.ma-2)<<8;this.A-=this.B.Zj},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.ma-2);this.A-=this.B.nk},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.ma-2);gc(this.ha,a+1&65535,this.G>>8,this.ma-2);this.A-=this.B.nk},function(){var a=this.K();z(this,w(this));F(this,w(this)+a);this.A-=this.B.im},function(){var a=this.K();F(this,w(this)+a);this.A-=this.B.$j},function(){Jd(this,this.K(),this.K());this.A-=this.B.Fm},function(){var a= -this.L();F(this,w(this)+a);this.A-=this.B.$j},function(){this.G=this.G&-256|cc(this.ha,this.J,this.ma-1);this.A-=this.B.Yj},function(){this.G=cc(this.ha,this.J,this.ma-1);this.G|=cc(this.ha,this.J+1&65535,this.ma-1)<<8;this.A-=this.B.Yj},function(){gc(this.ha,this.J,this.G&255,this.ma-1);this.A-=this.B.mk},function(){gc(this.ha,this.J,this.G&255,this.ma-1);gc(this.ha,this.J+1&65535,this.G>>8,this.ma-1);this.A-=this.B.mk},Hg,Hg,function(){this.S|=132;this.A-=this.B.Ie},function(){this.S|=68;this.A-= -this.B.Ie},function(){this.wb|=4;this.A-=2;this.Z&&df(this.Z)?(Je(this),this.lb()):this.wa&Jb||(this.Z&&Je(this),this.lb())},function(){Ke(this)?Qe(this):Ve(this);this.A-=2},function(){this.Pb=-1;this.Ue[this.Y()].call(this,Qf,Df);0<=this.Pb&&(this.G=this.Pb)},function(){this.Pb=-1;this.fd[this.Y()].call(this,Rf,Df);0<=this.Pb&&(this.G=this.Pb,this.J=this.ph)},function(){this.Q&=~this.V;this.A-=2},function(){this.Q|=this.V;this.A-=2},function(){this.wa&=~Jb;this.A-=this.B.gm},function(){this.wa|= -Jb;this.S|=4;this.A-=2},function(){this.wa&=~Ib;this.A-=2},function(){this.wa|=Ib;this.A-=2},function(){this.Ue[this.Y()].call(this,Rd,Df)},function(){this.fd[this.Y()].call(this,Sd,Df)}],le=[function(){var a=this.Y();16>(a&56)&&(this.S|=1);this.fd[a].call(this,this.dl,Df)},function(){var a=this.Y();a&16||(this.S|=1);this.fd[a].call(this,Ig,Df)},function(){this.Gb[this.Y()].call(this,eg)},function(){this.Gb[this.Y()].call(this,fg)},U,function(){this.ra.ab?wd.call(this,13,0,!0):(ig.call(this,this.ja(2054)), -this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),Ld(this.Ia,2102,this.ja(2084)),Ld(this.ra,2108,this.ja(2082)),Ld(this.xa,2114,this.ja(2080)),Ld(this.Xa,2120,this.ja(2078)),Id(this,this.ja(2072)),F(this,this.ja(2074)),y(this,this.ja(2092)),this.Dc=this.ja(2126)|this.Ra(2128)<<16,this.Ve=this.Dc+this.ja(2130),Ld(this.ad,2132,this.ja(2076)),this.Rc=this.ja(2138)|this.Ra(2140)<<16,this.We=this.Rc+this.ja(2142), -Ld(this.cb,2144,this.ja(2070)),this.A-=195)},function(){this.ra.ab?wd.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},U,U,U,U,Ud,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U, -U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],De=[function(){this.A-=2+(0>this.ca?0:1);return this.ad.ua},function(){this.A-=2+(0>this.ca?0:1);return this.cb.ua},function(a){this.S|=2;this.ad.load(a);this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.cb.load(a)!=u&&(this.Ma(this.cb.Od+4,this.cb.nb|=512),this.cb.type=768);this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a, -!0)!=u&&2048!=(this.Tb.nb&2560)&&(this.Tb.pc>=this.ra.ab&&this.Tb.pc>=(a&3)||7168==(this.Tb.nb&7168)))return Xe(this),a;Se(this);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a,!0)!=u&&512==(this.Tb.nb&2560)&&this.Tb.pc>=this.ra.ab&&this.Tb.pc>=(a&3))return Xe(this),a;Se(this);return a},Ff,Ff],Td=[ke,ke,ke,ke,ke,ke,Ff,Ff],Ig=[function(a){0>this.ca?Ud.call(this):(a=this.Ve-this.Dc,this.Ma(this.ca+2,this.Dc),this.Ma(this.ca+4,65280|this.Dc>>16),this.A-=11);return a},function(a){0> -this.ca?Ud.call(this):(a=this.We-this.Rc,this.Ma(this.ca+2,this.Rc),this.Ma(this.ca+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ca?Ud.call(this):(this.Dc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.Ve=this.Dc+a,this.S|=2,this.A-=11);return a},function(a){0>this.ca?Ud.call(this):(this.Rc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.We=this.Rc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ca?0:1);return this.gc},Ff,function(a){ig.call(this,a);this.A-=0>this.ca? -3:6;this.S|=2;return a},Ff]; -function Jg(a){p.call(this,"ChipSet",a,Jg,16384);this.za=(this.za=a.model)?parseInt(this.za,10):Kg;this.hc=0;var b=a.sw1;if(b)this.hc=Lg(b,Mg|Ng.Cn);else{this.le=[360,360];(b=a.floppies)&&b.length&&(this.le=b);if(b=this.le.length)this.hc|=Og.Li,b--,this.hc|=(b&3)<=Pg&&(this.Oh=this.Dg=2);this.Be=a.scaleTimers||!1;this.Bq=a.rtcDate; -this.Il=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.hj=new window.webkitAudioContext);this.reset(!0);ib(this)}Xa(p,Jg);var Kg=5150,Pg=5170,Qg={none:0,tv:1,color:2,mono:3,ega:0},Og={Li:1,ONE:0,rr:64,pr:128,Pq:192,og:192,pg:6},Mg=12,Ng={qr:16,Hq:32,Cn:48,og:48,pg:4};k=Jg.prototype; -k.Fb=function(a,b,c){switch(b){case "sw1":return this.qa[b]=c,Rg(this,b,c,this.hc,{0:this.za==Kg?"Bootable Floppy Drive":"Loop on POST",1:this.za==Kg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Kg)return this.qa[b]=c,Rg(this,b,c,this.Qe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.Ga=sb(a,"Keyboard");this.ui=c.U.Fd/1193181;bc(b,this,Sg);fc(b,this,Tg);this.zab;b++){var c=13>=b?$g(e,b):e.ea[b];a&&(a+="\n");a+="CMOS[0x"+m(b)+"]: 0x"+m(c)}e.Z.R(a)})}xe(c,26,this,this.ip)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0}; -k.reset=function(a){var b;this.ud=this.hc;this.xf=this.Qe;ah(this);this.mb=Array(this.Oh);for(b=0;b=Pg){this.ob=16;this.Qd=0;this.Pd=16;this.Fh=0;this.Xe=160;512<=eh(this)&&(this.Xe|=16);3==fh(this)&&(this.Xe|=64);this.Xi=3;this.xg=0;this.zh=Array(7);this.Ye=0;a&&(this.ea=Array(64));gh(this, -this.Bq);for(a=21;24>=a;a++)this.ea[a]=0;for(a=14;46>a;a++)void 0===this.ea[a]&&(this.ea[a]=0);this.ea[20]=this.ud&(Ng.og|2|Og.Li|Og.og);this.ea[16]=hh(this,0)<<4|hh(this,1);ih(this)}}; -function gh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.R("CMOS date invalid ("+b+"), using "+c)):b&&a.R("CMOS date: "+c);a.ea[0]=c.getSeconds();a.ea[1]=0;a.ea[2]=c.getMinutes();a.ea[3]=0;a.ea[4]=c.getHours();a.ea[5]=0;a.ea[6]=c.getDay()+1;a.ea[7]=c.getDate();a.ea[8]=c.getMonth()+1;c=c.getFullYear();a.ea[9]=c%100;c/=100;a.ea[50]=c%10|c/10<<4;a.ea[10]=38;a.ea[11]=2;a.ea[12]=0;a.ea[13]=128;a.kh=a.eg=0;a.dn=a.si=null} -function $g(a,b){var c=a.ea[b];if(10>b){var d=!1;4!=b&&5!=b||a.ea[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ea[11]&4||(d&&128c;c++)b+=a.ea[c];a.ea[47]=b&255;a.ea[46]=b>>8} -k.save=function(){var a=new Ee(this);a.set(0,[this.hc,this.Qe,this.ud,this.xf]);for(var b=[],c=0;c=Pg&&(a.set(5,[this.ob,this.Qd,this.Pd,this.Fh,this.Xe,this.Xi]),a.set(6,[this.xg,this.zh,this.Ye,this.ea,this.kh,this.eg]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.Qe=b[1];this.ud=b[2];this.xf=b[3];b=a[1];for(c=0;c>2)+1)*a.jp+32*((b?a.Qe:a.xf)&15)}function qh(a,b){var c=b?a.hc:a.ud;return a.za!=Kg||c&Og.Li?((c&Og.og)>>Og.pg)+1:0} -function hh(a,b){if(b>Ng.pg} -function Rg(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=cb(c,"pcjs-bitCell");c=null;for(g=0;gg.$a[0]&&(g.$a[0]=255,g.$a[1]--,0>g.$a[1]&&(g.$a[1]=255)));return h}function vh(a,b,c,d,e,f){var g=a.mb[b];a.oa(384)&&q(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.pb+"]",null,!0);a=g.Qb[c];a.$a[g.pb]=a.kc[g.pb]=e;g.pb^=1}function wh(a,b,c,d){var e=a.mb[b],f=e.te|1;e.te&=-16;a.oa(384)&&q(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function xh(a,b,c,d,e){var f=a.mb[b];a.oa(384)&&q(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.te=f.te&~(16<>2].Qb[b&3],c,d,e)} -function zh(a,b,c){b=a.mb[b>>2].Qb[b&3];b.Sh&&b.Aj&&b.vi?(c&&(b.Uh=c),b.$d||gf(a,b,!0)):c&&c(!0)}function gf(a,b,c){c&&(b.count=b.$a[1]<<8|b.$a[0],b.yn=b.mode&12,b.Kl=b.pd=!1);for(var d=!1;0<=b.count&&(c=b.Lh<<16|b.fb[1]<<8|b.fb[0],4==b.yn?(d=!0,function(c){b.Aj.call(b.Sh,b.vi,-1,function(f,g){0>f&&(b.Kl||(b.Kl=!0),f=255);b.$d||a.ha.td(c,f);(d=g)&&setTimeout(function(){Hh(b)||gf(a,b)},0)})}(c)):8==b.yn?(c=a.ha.Ra(c),0>b.Aj.call(b.Sh,b.vi,c)&&(b.pd=!0)):b.pd=!0),!d&&!Hh(b););} -function Hh(a){if(!a.pd&&0<=--a.count&&(a.mode&32?(a.fb[0]--,0>a.fb[0]&&(a.fb[0]=255,a.fb[1]--,0>a.fb[1]&&(a.fb[1]=255))):(a.fb[0]++,255>3];b=1<<(b&7);d.Sb&b||(d.Sb|=b,d.cg=c||0,Kh(a))} -function Oh(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Sb&d&&(c.Sb&=~d,Kh(a))}function Kh(a,b){var c,d=-1;1>=1),dd(a.N,c))),2==b&&jd(a))}k=Jg.prototype; +(this.ia=x(this))-1;y(this,a=this.ia&~this.ma|this.W&this.ma);this.Q=(a&this.ma)>>>16|a&65535|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.H)-1;this.H=this.W&65535;this.Q=this.H|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.F)-1;this.F=this.W&65535;this.Q=this.F|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){this.W=(this.ia=this.D)-1;this.D=this.W&65535;this.Q=this.D|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=2},function(){z(this, +this.G&this.ma);this.A-=this.B.xc},function(){z(this,this.I&this.ma);this.A-=this.B.xc},function(){z(this,this.J&this.ma);this.A-=this.B.xc},function(){z(this,this.C&this.ma);this.A-=this.B.xc},function(){z(this,x(this)-this.nd&this.ma);this.A-=this.B.xc},function(){z(this,this.H&this.ma);this.A-=this.B.xc},function(){z(this,this.F&this.ma);this.A-=this.B.xc},function(){z(this,this.D&this.ma);this.A-=this.B.xc},function(){this.G=this.G&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.I=this.I& +~this.ma|this.Ka();this.A-=this.B.rc},function(){this.J=this.J&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.C=this.C&~this.ma|this.Ka();this.A-=this.B.rc},function(){y(this,x(this)&~this.ma|this.Ka());this.A-=this.B.rc},function(){this.H=this.H&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.F=this.F&~this.ma|this.Ka();this.A-=this.B.rc},function(){this.D=this.D&~this.ma|this.Ka();this.A-=this.B.rc},eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg, +qg,rg,sg,tg,ug,function(){this.fd[this.Y()].call(this,Eg,this.K);this.A-=0>this.La?1:this.B.ri},ug,function(){this.fd[this.Y()].call(this,Eg,this.L);this.A-=0>this.La?1:this.B.ri},function(){this.vd[this.Y()].call(this,Qf)},function(){this.Oc[this.Y()].call(this,Rf)},function(){this.wd[this.Ih=this.Y()].call(this,Sf)},function(){this.Gb[this.Ih=this.Y()].call(this,Tf)},function(){this.S|=1;this.vd[this.Y()].call(this,Ef)},function(){this.S|=1;this.Oc[this.Y()].call(this,Ef)},function(){this.wd[this.Y()].call(this, +Ef)},function(){this.Gb[this.Y()].call(this,Ef)},function(){var a=this.Y();switch((a&56)>>3){case 0:this.Pb=this.Ia.va;break;case 1:this.Pb=this.pa.va;break;case 2:this.Pb=this.xa.va;break;case 3:this.Pb=this.Xa.va;break;default:U.call(this);return}this.S|=1;this.Oc[a].call(this,Ff)},function(){this.S|=1;this.tb=this.bd=this.un;this.Gb[this.Y()].call(this,Bf)},function(){var a,b=this.Y(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| +80386==this.za&&4!=c&&5!=c){Ud.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=x(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.Gb[b].call(this,Ef);switch(c){case 0:Ie(this,this.G);this.G=a;break;case 1:Ge(this,this.I);this.I=a;break;case 2:Kd(this,this.J);this.J=a;break;case 3:He(this,this.C);this.C=a;break;case 4:Ie(this,x(this));y(this,a);break;case 5:Ge(this,this.H);this.H=a;break;case 6:Kd(this,this.F);this.F=a;break;case 7:He(this,this.D),this.D=a}}, +function(){this.S|=1;this.fd[this.Y()].call(this,Fg,this.Ka)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=x(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= +2==this.nd?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.nd?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.hm},function(){tf.call(this,this.K(),this.K());this.A-=this.B.km},function(){this.Wa("WAIT not implemented",1);this.A--},function(){z(this,Gb(this));this.A-=this.B.xc},function(){Id(this,this.Ka());this.A-=this.B.rc},function(){var a=this.G>>8;a&Pb?Ve(this):Qe(this);a&Ob?Le(this)||(this.W^=1):Le(this)&&(this.W^=1);a&Nb?We(this): +Re(this);a&Mb?Xe(this):Se(this);a&Lb?Ye(this):Te(this);this.A-=this.B.Nb},function(){this.G=this.G&255|(Gb(this)&pd)<<8;this.A-=this.B.Nb},function(){var a=this.G&-256,b;b=this.K();b=this.Ra(this.tb.Hc(b,0));this.G=a|b;this.A-=this.B.hk},function(){this.G=this.G&~this.ma|Md(this,this.tb,this.K());this.A-=this.B.hk},function(){var a=this.K(),b=this.G;this.td(this.tb.jc(a,0),b);this.A-=this.B.ik},function(){var a=this.K(),b=this.G;this.Ma(this.tb.jc(a,1),b);this.A-=this.B.ik},function(){var a=1,b=0, +c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-1:1,e=this.Ra(this.tb.Hc(this.F,0));this.td(this.Ia.jc(this.D&this.ka,0),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.jk;this.Da&192&&(a=this.I,b=1,c=this.B.lk,this.Da&256||(this.A-=this.B.kk));if(a--){var d=this.wa&Ib?-2:2,e=Md(this,this.tb,this.F);this.Ma(this.Ia.jc(this.D& +this.ka,1),e);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-1:1,e=af(this,this.tb,this.F&this.ka),f=cf(this,this.Ia,this.D&this.ka);uf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da& +64)&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.Uj;this.Da&192&&(a=this.I,b=1,c=this.B.Wj,this.Da&256||(this.A-=this.B.Vj));if(a--){var d=this.wa&Ib?-2:2,e=bf(this,this.tb,this.F&this.ka),f=df(this,this.Ia,this.D&this.ka);vf.call(this,e,f);this.F=this.F&~this.ka|this.F+d&this.ka;this.D=this.D&~this.ka|this.D+d&this.ka;this.A-=c-this.B.Cb;this.I-=b;a&&Ne(this)==(this.Da&64)&&(this.la=this.Ob,this.S|=256)}},function(){this.Q=this.W=this.ia=this.G&this.Y();this.V=256;this.A-=this.B.of}, +function(){this.Q=this.W=this.ia=this.G&this.K();this.V=65536;this.A-=this.B.of},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.td(this.Ia.jc(this.D&this.ka,0),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.uk;this.Da&192&&(a=this.I,b=1,c=this.B.wk,this.Da&256||(this.A-=this.B.vk));if(a--){var d=this.G;this.Ma(this.Ia.jc(this.D& +this.ka,1),d);this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka;this.A-=c;this.I-=b;a&&(this.la=this.Ob,this.S|=256)}},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-=this.B.ck));a--&&(this.G=this.G&-256|this.Ra(this.tb.Hc(this.F&this.ka,0)),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-1:1)&this.ka,this.A-=c,this.I-=b,a&&(this.la=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.bk;this.Da&192&&(a=this.I,b=1,c=this.B.dk,this.Da&256||(this.A-= +this.B.ck));a--&&(this.G=Md(this,this.tb,this.F&this.ka),this.F=this.F&~this.ka|this.F+(this.wa&Ib?-2:2)&this.ka,this.A-=c,this.I-=b,a&&(this.la=this.Ob,this.S|=256))},function(){var a=1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(uf.call(this,this.G&255,cf(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-1:1)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.la=this.Ob,this.S|=256))},function(){var a= +1,b=0,c=this.B.ok;this.Da&192&&(a=this.I,b=1,c=this.B.qk,this.Da&256||(this.A-=this.B.pk));a--&&(vf.call(this,this.G,df(this,this.Ia,this.D&this.ka)),this.D=this.D&~this.ka|this.D+(this.wa&Ib?-2:2)&this.ka,this.A-=c-this.B.Cb,this.I-=b,a&&Ne(this)==(this.Da&64)&&(this.la=this.Ob,this.S|=256))},function(){this.G=this.G&-256|this.Y();this.A-=this.B.Nb},function(){this.I=this.I&-256|this.Y();this.A-=this.B.Nb},function(){this.J=this.J&-256|this.Y();this.A-=this.B.Nb},function(){this.C=this.C&-256|this.Y(); +this.A-=this.B.Nb},function(){this.G=this.G&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.I=this.I&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.J=this.J&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.C=this.C&255|this.Y()<<8;this.A-=this.B.Nb},function(){this.G=this.G&~this.ma|this.K();this.A-=this.B.Nb},function(){this.I=this.I&~this.ma|this.K();this.A-=this.B.Nb},function(){this.J=this.J&~this.ma|this.K();this.A-=this.B.Nb},function(){this.C=this.C&~this.ma|this.K();this.A-=this.B.Nb}, +function(){y(this,x(this)&~this.ma|this.K());this.A-=this.B.Nb},function(){this.H=this.H&~this.ma|this.K();this.A-=this.B.Nb},function(){this.F=this.F&~this.ma|this.K();this.A-=this.B.Nb},function(){this.D=this.D&~this.ma|this.K();this.A-=this.B.Nb},yg,zg,yg,zg,function(){this.Gb[this.Y()].call(this,Cf)},function(){this.Gb[this.Y()].call(this,Af)},function(){this.S|=1;this.Ue[this.Y()].call(this,Gg,this.Y)},function(){this.S|=1;this.fd[this.Y()].call(this,Gg,this.K)},Ag,Bg,Ag,Bg,function(){hf.call(this, +3,null,this.B.Bm)},function(){var a=this.Y();ye(this,a)?hf.call(this,a,null,0):this.A--},function(){Pe(this)?hf.call(this,4,null,this.B.Cm):this.A-=this.B.Dm},function(){this.A-=this.B.zm;if(this.gc&1&&this.wa&16384){var a=this.ja(this.cb.ta+0);Hd.call(this.pa,a,!1)}else{var a=this.pa.ab,b=this.Ka(),c=this.Ka(),d=this.Ka();null!=Jd(this,b,c,!1)&&(Id(this,d,a),this.Cg&&Ce(this,this.la))}},function(){this.Ue[this.Y()].call(this,wg,Xf)},function(){this.fd[this.Y()].call(this,xg,Xf)},function(){this.Ue[this.Y()].call(this, +wg,Yf)},function(){this.fd[this.Y()].call(this,xg,Yf)},function(){var a=this.Y(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.V=256;this.Q=this.W=b;this.A-=this.B.em},function(){var a=this.Y();this.Q=this.W=this.G=(this.G>>8)*a+this.G&255;this.V=256;this.A-=this.B.dm},function(){this.G=this.G&-256|(Ke(this)?255:0);this.A-=2},function(){this.G=this.G&-256|af(this,this.tb,this.C+(this.G&255)&65535);this.A-=this.B.cn},Cg,Cg,Cg,Cg,Cg,Cg,Cg,Cg,function(){var a=this.L();(this.I=this.I-1&this.ka)&&this.Q&this.V- +1?(F(this,w(this)+a),this.A-=this.B.Km):this.A-=this.B.ek},function(){var a=this.L();!(this.I=this.I-1&this.ka)||this.Q&this.V-1?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.L();(this.I=this.I-1&this.ka)?(F(this,w(this)+a),this.A-=this.B.Jm):this.A-=this.B.ek},function(){var a=this.L();this.I?this.A-=this.B.gk:(F(this,w(this)+a),this.A-=this.B.fk)},function(){var a=this.Y();this.G=this.G&-256|cc(this.ha,a,this.la-2);this.A-=this.B.Zj},function(){var a=this.Y();this.G= +cc(this.ha,a,this.la-2);this.G|=cc(this.ha,a+1&65535,this.la-2)<<8;this.A-=this.B.Zj},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.la-2);this.A-=this.B.nk},function(){var a=this.Y();gc(this.ha,a,this.G&255,this.la-2);gc(this.ha,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.nk},function(){var a=this.K();z(this,w(this));F(this,w(this)+a);this.A-=this.B.im},function(){var a=this.K();F(this,w(this)+a);this.A-=this.B.$j},function(){Jd(this,this.K(),this.K());this.A-=this.B.Fm},function(){var a= +this.L();F(this,w(this)+a);this.A-=this.B.$j},function(){this.G=this.G&-256|cc(this.ha,this.J,this.la-1);this.A-=this.B.Yj},function(){this.G=cc(this.ha,this.J,this.la-1);this.G|=cc(this.ha,this.J+1&65535,this.la-1)<<8;this.A-=this.B.Yj},function(){gc(this.ha,this.J,this.G&255,this.la-1);this.A-=this.B.mk},function(){gc(this.ha,this.J,this.G&255,this.la-1);gc(this.ha,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.mk},Dg,Dg,function(){this.S|=132;this.A-=this.B.Ie},function(){this.S|=68;this.A-= +this.B.Ie},function(){this.wb|=4;this.A-=2;this.Z&&ff(this.Z)?(Je(this),this.lb()):this.wa&Jb||(this.Z&&Je(this),this.lb())},function(){Ke(this)?Qe(this):Ve(this);this.A-=2},function(){this.Pb=-1;this.Ue[this.Y()].call(this,Hg,$f);0<=this.Pb&&(this.G=this.Pb)},function(){this.Pb=-1;this.fd[this.Y()].call(this,Ig,$f);0<=this.Pb&&(this.G=this.Pb,this.J=this.ph)},function(){this.Q&=~this.V;this.A-=2},function(){this.Q|=this.V;this.A-=2},function(){this.wa&=~Jb;this.A-=this.B.gm},function(){this.wa|= +Jb;this.S|=4;this.A-=2},function(){this.wa&=~Ib;this.A-=2},function(){this.wa|=Ib;this.A-=2},function(){this.Ue[this.Y()].call(this,Rd,$f)},function(){this.fd[this.Y()].call(this,Sd,$f)}],vg=[nf,Gf,lf,Jf,pf,Of,Uf,uf],Eg=[of,Hf,mf,Nf,qf,Pf,Vf,vf],Fg=[function(a,b){this.A-=0>this.La?this.B.rc:this.B.Vm;return b},ag,ag,ag,ag,ag,ag,ag],Gg=[function(a,b){this.A-=0>this.La?this.B.Nm:this.B.Lm;return b},bg,bg,bg,bg,bg,bg,bg],wg=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;Wf.call(this, +d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);Wf.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.gg)%9)?(d=a<>9-d,c=d&255):d=a|(this.Q&this.V?1:0)<<8;Wf.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.gg)%9,c=a>>c|(this.Q&this.V?1:0)<<8-c|a<<9-c,Wf.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255},bg,function(a,b){if(b){8>24>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|256:this.Q&-257;this.ia=a^this.Q;this.V=256;a=this.Q}return a&255}],xg=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;Wf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536); +Wf.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.gg)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Q&this.V?1:0)<<16;Wf.call(this,d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.gg)%17,c=a>>c|(this.Q&this.V?1:0)<<16-c|a<<17-c,Wf.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.Q=this.W=c>>1;this.Q=c& +1?this.Q|65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535},bg,function(a,b){if(b){16>16>>b-1;this.Q=this.W=c>>1;this.Q=c&1?this.Q|65536:this.Q&-65537;this.ia=a^this.Q;this.V=65536;a=this.Q}return a&65535}],Hg=[function(a,b){b=this.Y();this.Q=this.W=this.ia=a&b;this.V=256;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},bg,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^255},function(a,b){b=0;this.ia=a^b;this.V=256;this.A-=0>this.ca? +this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&255},function(a){this.G=this.Pb=(this.Q=(this.G&255)*a)&65535;this.ia=this.W=this.Q;this.V=256;this.G&65280?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.Rm:this.B.Qm;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Pb=b&65535;this.Q=this.ia=this.W=b;this.V=256;127b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.wm:this.B.vm;this.S|=2;return a},function(a){if(!a)return cg.call(this), +a;var b=this.G/a;if(255this.ca?this.B.om:this.B.nm;this.S|=2;return a},function(a){if(!a)return cg.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return cg.call(this),a;this.Pb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.ia=this.Q=b|256;this.V=256;this.A-=0>this.ca?this.B.sm:this.B.rm;this.S|=2;return a}],Ig=[function(a,b){b=this.K();this.Q=this.W= +this.ia=a&b;this.V=65536;this.A-=0>this.ca?this.B.yk:this.B.xk;this.S|=2;return a},bg,function(a){this.A-=0>this.ca?this.B.hh:this.B.gh;return a^65535},function(a,b){b=0;this.ia=a^b;this.V=65536;this.A-=0>this.ca?this.B.hh:this.B.gh;return(this.Q=this.W=b-a)&65535},function(a){this.Pb=this.G=(this.Q=this.G*a)&65535;this.ph=this.J=this.Q>>16&65535;this.ia=this.W=this.Q;this.V=65536;this.J?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.Tm:this.B.Sm;this.S|=2;return a},function(a){var b= +(this.G<<16>>16)*(a<<16>>16);this.G=this.Pb=b&65535;this.J=this.ph=b>>16&65535;this.Q=this.ia=this.W=b;this.V=65536;32767b?(Ve(this),Ze(this)):(Qe(this),Ue(this));this.A-=0>this.ca?this.B.ym:this.B.xm;this.S|=2;return a},function(a,b){if(!a)return cg.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return cg.call(this),a;this.Pb=this.G=c&65535;this.ph=this.J=b%a&65535;this.W=this.ia=this.Q=c|65536;this.V=65536;this.A-=0>this.ca?this.B.qm:this.B.pm;this.S|=2;return a}, +function(a,b){if(!a)return cg.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return cg.call(this),a;this.Pb=this.G=d&65535;this.ph=this.J=b%c&65535;this.W=this.ia=this.Q=d|65536;this.V=65536;this.A-=0>this.ca?this.B.um:this.B.tm;this.S|=2;return a}],Rd=[function(a){this.ia=a;a=(this.W=a+1)&255;this.Q=a|(this.Q&this.V?1:0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&255;this.Q=a|(this.Q&this.V?1: +0)<<8;this.V=256;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},bg,bg,bg,bg,bg,bg],Sd=[function(a){this.ia=a;a=(this.W=a+1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){this.ia=a;a=(this.W=a-1)&65535;this.Q=a|(this.Q&this.V?1:0)<<16;this.V=65536;this.A-=0>this.ca?this.B.fh:this.B.eh;return a},function(a){z(this,w(this));F(this,a);this.A-=0>this.ca?this.B.mm:this.B.lm;this.S|=2;return a},function(a){if(0>this.ca)return bg.call(this, +a);tf.call(this,a,this.ja(this.ca+2));this.A-=this.B.jm;this.S|=2;return a},function(a){F(this,a);this.A-=0>this.ca?this.B.Hm:this.B.Gm;this.S|=2;return a},function(a){if(0>this.ca)return bg.call(this,a);Jd(this,a,this.ja(this.ca+2));this.Cg&&Ce(this,this.la);this.A-=this.B.Em;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.ca?this.B.xc:this.B.Xm;this.S|=2;return a},ag],le=[function(){var a=this.Y();16>(a&56)&&(this.S|=1);this.fd[a].call(this, +this.dl,$f)},function(){var a=this.Y();a&16||(this.S|=1);this.fd[a].call(this,Jg,$f)},function(){this.Gb[this.Y()].call(this,zf)},function(){this.Gb[this.Y()].call(this,Df)},U,function(){this.pa.ab?wd.call(this,13,0,!0):($e(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),Ld(this.Ia,2102,this.ja(2084)),Ld(this.pa,2108,this.ja(2082)),Ld(this.xa,2114,this.ja(2080)),Ld(this.Xa,2120,this.ja(2078)), +Id(this,this.ja(2072)),F(this,this.ja(2074)),y(this,this.ja(2092)),this.Dc=this.ja(2126)|this.Ra(2128)<<16,this.Ve=this.Dc+this.ja(2130),Ld(this.ad,2132,this.ja(2076)),this.Rc=this.ja(2138)|this.Ra(2140)<<16,this.We=this.Rc+this.ja(2142),Ld(this.cb,2144,this.ja(2070)),this.A-=195)},function(){this.pa.ab?wd.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},U,U,U,U,Ud,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U, +U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],De=[function(){this.A-=2+(0>this.ca?0:1);return this.ad.va},function(){this.A-=2+(0>this.ca?0:1);return this.cb.va},function(a){this.S|=2;this.ad.load(a); +this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.cb.load(a)!=u&&(this.Ma(this.cb.Od+4,this.cb.nb|=512),this.cb.type=768);this.A-=17+(0>this.ca?0:2);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a,!0)!=u&&2048!=(this.Tb.nb&2560)&&(this.Tb.pc>=this.pa.ab&&this.Tb.pc>=(a&3)||7168==(this.Tb.nb&7168)))return Xe(this),a;Se(this);return a},function(a){this.S|=2;this.A-=14+(0>this.ca?0:2);if(this.Tb.load(a,!0)!=u&&512==(this.Tb.nb&2560)&&this.Tb.pc>=this.pa.ab&& +this.Tb.pc>=(a&3))return Xe(this),a;Se(this);return a},bg,bg],Td=[ke,ke,ke,ke,ke,ke,bg,bg],Jg=[function(a){0>this.ca?Ud.call(this):(a=this.Ve-this.Dc,this.Ma(this.ca+2,this.Dc),this.Ma(this.ca+4,65280|this.Dc>>16),this.A-=11);return a},function(a){0>this.ca?Ud.call(this):(a=this.We-this.Rc,this.Ma(this.ca+2,this.Rc),this.Ma(this.ca+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ca?Ud.call(this):(this.Dc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.Ve=this.Dc+a,this.S|=2,this.A-=11); +return a},function(a){0>this.ca?Ud.call(this):(this.Rc=this.ja(this.ca+2)|this.Ra(this.ca+4)<<16,this.We=this.Rc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ca?0:1);return this.gc},bg,function(a){$e(this,a);this.A-=0>this.ca?3:6;this.S|=2;return a},bg],A=[function(a){a=a.call(this,this.G&255,G(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this, +this.G&255,H(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,G(this,this.F));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.D));this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.ua},function(a){a=a.call(this,this.G&255,G(this,this.C)); +this.G=this.G&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D));this.I=this.I&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.I&255,G(this,this.F));this.I=this.I& +-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.D));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.I&255,G(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.ua},function(a){a=a.call(this,this.I&255,G(this,this.C));this.I=this.I&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.ba}, +function(a){a=a.call(this,this.J&255,H(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,G(this,this.F));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.D));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.J&255,G(this,this.K()));this.J=this.J&-256|a;this.A-=this.B.ua},function(a){a=a.call(this, +this.J&255,G(this,this.C));this.J=this.J&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255, +G(this,this.F));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.D));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.C&255,G(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.ua},function(a){a=a.call(this,this.C&255,G(this,this.C));this.C=this.C&-256|a;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D));this.G= +this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8,G(this,this.F));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G>>8,G(this,this.K()));this.G=this.G&255|a<<8;this.A-= +this.B.ua},function(a){a=a.call(this,this.G>>8,G(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D));this.I=this.I&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D));this.I=this.I&255|a<<8;this.A-=this.B.aa}, +function(a){a=a.call(this,this.I>>8,G(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.I>>8,G(this,this.K()));this.I=this.I&255|a<<8;this.A-=this.B.ua},function(a){a=a.call(this,this.I>>8,G(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, +this.J>>8,G(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,G(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.J>>8,G(this, +this.K()));this.J=this.J&255|a<<8;this.A-=this.B.ua},function(a){a=a.call(this,this.J>>8,G(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.ba},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D)); +this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,G(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.C>>8,G(this,this.K()));this.C=this.C&255|a<<8;this.A-=this.B.ua},function(a){a=a.call(this,this.C>>8,G(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.T},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.L()));this.G=this.G&-256| +a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.L())); +this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this, +this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this, +this.I&255,G(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O}, +function(a){a=a.call(this,this.J&255,G(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.L()));this.C=this.C&-256|a;this.A-= +this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.L()));this.C= +this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+ +this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>> +8,G(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O}, +function(a){a=a.call(this,this.I>>8,G(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.L()));this.J=this.J&255|a<<8;this.A-= +this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.L()));this.J= +this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+ +this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>> +8,G(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,G(this,this.C+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.G&255,H(this,this.H+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a= +a.call(this,this.G&255,G(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,H(this,this.H+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,G(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a= +a.call(this,this.I&255,G(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.I&255,H(this,this.H+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,G(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.D+this.K()));this.I=this.I&-256|a;this.A-= +this.B.M},function(a){a=a.call(this,this.I&255,H(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,G(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.F+this.K()));this.J= +this.J&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.J&255,H(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,G(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,H(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,G(this,this.C+this.K())); +this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,G(this,this.C+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.P},function(a){a=a.call(this,this.C&255,H(this,this.H+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C& +255,G(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,H(this,this.H+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,G(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this, +this.G>>8,G(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.G>>8,H(this,this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,G(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M}, +function(a){a=a.call(this,this.G>>8,H(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,G(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.F+this.K()));this.I=this.I& +255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,G(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,H(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,G(this,this.C+this.K())); +this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this, +this.J>>8,G(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,H(this,this.H+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,G(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a= +a.call(this,this.C>>8,G(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.P},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,G(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.D+this.K()));this.C=this.C&255|a<<8;this.A-= +this.B.M},function(a){a=a.call(this,this.C>>8,H(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,G(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a= +a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this, +this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255, +this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I&255); +this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G& +255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255| +a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255| +a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255| +a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255| +a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],se=[function(a){a=a.call(this,L(this,this.C+this.F),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G&255);S(this,a);this.A-=this.B.ba},function(a){a= +a.call(this,O(this,this.H+this.D),this.G&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.G&255);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.G&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I&255);S(this,a);this.A-=this.B.aa},function(a){a= +a.call(this,L(this,this.C+this.D),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I&255);S(this,a);this.A-=this.B.ua},function(a){a= +a.call(this,L(this,this.C),this.I&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.J&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J&255);S(this,a);this.A-=this.B.T}, +function(a){a=a.call(this,L(this,this.D),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J&255);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.J&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C&255);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C&255);S(this,a);this.A-= +this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C&255);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C&255);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.C&255);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.G>>8);S(this,a);this.A-= +this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.G>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.G>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.G>>8);S(this,a);this.A-= +this.B.ua},function(a){a=a.call(this,L(this,this.C),this.G>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.I>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.I>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.I>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.I>>8);S(this, +a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.I>>8);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.I>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.J>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.J>>8);S(this, +a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.J>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.J>>8);S(this,a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.J>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F),this.C>>8);S(this,a); +this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.C+this.D),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.F),this.C>>8);S(this,a);this.A-=this.B.ba},function(a){a=a.call(this,O(this,this.H+this.D),this.C>>8);S(this,a);this.A-=this.B.aa},function(a){a=a.call(this,L(this,this.F),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.D),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.K()),this.C>>8);S(this, +a);this.A-=this.B.ua},function(a){a=a.call(this,L(this,this.C),this.C>>8);S(this,a);this.A-=this.B.T},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a= +a.call(this,L(this,this.F+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I& +255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a= +a.call(this,L(this,this.C+this.L()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+ +this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C&255);S(this,a);this.A-= +this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this, +this.C+this.L()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.G>>8); +S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a= +a.call(this,O(this,this.H+this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.I>> +8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.J>>8);S(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,L(this,this.D+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+ +this.L()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.L()),this.C>>8);S(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, +L(this,this.D+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I& +255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I&255);S(this,a);this.A-=this.B.M},function(a){a= +a.call(this,L(this,this.C+this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+ +this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C&255);S(this,a); +this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C&255);S(this,a);this.A-=this.B.M},function(a){a=a.call(this, +L(this,this.C+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.G>> +8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.G>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.P},function(a){a= +a.call(this,O(this,this.H+this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.I>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.J>> +8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a= +a.call(this,O(this,this.H+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.J>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.C+this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.P},function(a){a=a.call(this,O(this,this.H+this.D+this.K()), +this.C>>8);S(this,a);this.A-=this.B.O},function(a){a=a.call(this,L(this,this.F+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.D+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},function(a){a=a.call(this,L(this,this.C+this.K()),this.C>>8);S(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249], +A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238],A[246],A[254],A[199],A[207],A[215],A[223],A[231],A[239],A[247],A[255]],te=[function(a,b){var c=a[0].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,L(this,this.C+this.D),b.call(this)); +S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua}, +function(a,b){var c=a[0].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a, +b){var c=a[1].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[1].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,L(this, +this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,L(this,this.K()),b.call(this)); +S(this,c);this.A-=this.B.ua},function(a,b){var c=a[2].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));S(this,c); +this.A-=this.B.aa},function(a,b){var c=a[3].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[3].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a, +b){var c=a[4].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this, +L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[4].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,O(this,this.H+ +this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[5].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.C+this.F),b.call(this));S(this,c); +this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T}, +function(a,b){var c=a[6].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[6].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.C+this.F),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.C+this.D),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this));S(this,c);this.A-=this.B.ba},function(a,b){var c= +a[7].call(this,O(this,this.H+this.D),b.call(this));S(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,L(this,this.F),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.D),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,L(this,this.K()),b.call(this));S(this,c);this.A-=this.B.ua},function(a,b){var c=a[7].call(this,L(this,this.C),b.call(this));S(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+ +this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this, +L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c= +a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a, +b){var c=a[1].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this, +c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.L()),b.call(this)); +S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+ +this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this, +O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c= +a[4].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-= +this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this, +c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.L()), +b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.C+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this, +this.H+this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this, +L(this,this.C+this.L()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a, +b){var c=a[0].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O}, +function(a,b){var c=a[1].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.D+this.K()),b.call(this));S(this, +c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.K()), +b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,L(this,this.C+ +this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c= +a[3].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a, +b){var c=a[4].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-= +this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.K()),b.call(this)); +S(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,L(this,this.C+this.K()),b.call(this)); +S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,L(this, +this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this, +L(this,this.C+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,L(this,this.F+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.D+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a, +b){var c=a[7].call(this,O(this,this.H+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,L(this,this.C+this.K()),b.call(this));S(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C= +this.C&-256|c},function(a,b){var c=a[0].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I& +-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<< +8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a, +b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c= +a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this, +this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G& +255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this)); +this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G= +this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J& +-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],D=[function(a){this.G=a.call(this,this.G,I(this,this.C+this.F));this.A-=this.B.aa}, +function(a){this.G=a.call(this,this.G,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,I(this,this.F));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.D));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.K()));this.A-=this.B.ua},function(a){this.G=a.call(this,this.G,I(this, +this.C));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,I(this,this.F));this.A-=this.B.T},function(a){this.I=a.call(this,this.I,I(this,this.D));this.A-=this.B.T},function(a){this.I= +a.call(this,this.I,I(this,this.K()));this.A-=this.B.ua},function(a){this.I=a.call(this,this.I,I(this,this.C));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,I(this,this.F)); +this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.D));this.A-=this.B.T},function(a){this.J=a.call(this,this.J,I(this,this.K()));this.A-=this.B.ua},function(a){this.J=a.call(this,this.J,I(this,this.C));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.C=a.call(this, +this.C,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,I(this,this.F));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.D));this.A-=this.B.T},function(a){this.C=a.call(this,this.C,I(this,this.K()));this.A-=this.B.ua},function(a){this.C=a.call(this,this.C,I(this,this.C));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D)));this.A-=this.B.ba}, +function(a){y(this,a.call(this,x(this),K(this,this.H+this.F)));this.A-=this.B.ba},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D)));this.A-=this.B.aa},function(a){y(this,a.call(this,x(this),I(this,this.F)));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.D)));this.A-=this.B.T},function(a){y(this,a.call(this,x(this),I(this,this.K())));this.A-=this.B.ua},function(a){y(this,a.call(this,x(this),I(this,this.C)));this.A-=this.B.T},function(a){this.H=a.call(this,this.H, +I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,I(this,this.F));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.D));this.A-=this.B.T},function(a){this.H=a.call(this,this.H,I(this,this.K()));this.A-=this.B.ua}, +function(a){this.H=a.call(this,this.H,I(this,this.C));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,I(this,this.F));this.A-=this.B.T},function(a){this.F=a.call(this,this.F, +I(this,this.D));this.A-=this.B.T},function(a){this.F=a.call(this,this.F,I(this,this.K()));this.A-=this.B.ua},function(a){this.F=a.call(this,this.F,I(this,this.C));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F));this.A-=this.B.aa},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F));this.A-=this.B.ba},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D));this.A-=this.B.aa}, +function(a){this.D=a.call(this,this.D,I(this,this.F));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.D));this.A-=this.B.T},function(a){this.D=a.call(this,this.D,I(this,this.K()));this.A-=this.B.ua},function(a){this.D=a.call(this,this.D,I(this,this.C));this.A-=this.B.T},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G, +K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this, +this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I, +K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this, +this.J,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C, +K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this), +I(this,this.C+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.F+this.L())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this, +a.call(this,x(this),K(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.H= +a.call(this,this.H,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this, +this.F,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D, +I(this,this.C+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.F+this.L()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this, +this.D,K(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.G=a.call(this,this.G,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.G= +a.call(this,this.G,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this, +this.I,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.I=a.call(this,this.I,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J, +I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.J=a.call(this,this.J,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this, +this.J,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.C=a.call(this,this.C,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.C= +a.call(this,this.C,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,I(this,this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.F+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.C+this.D+this.K())));this.A-=this.B.P},function(a){y(this, +a.call(this,x(this),K(this,this.H+this.F+this.K())));this.A-=this.B.P},function(a){y(this,a.call(this,x(this),K(this,this.H+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,x(this),I(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),K(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,x(this),I(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H= +a.call(this,this.H,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.H=a.call(this,this.H,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H= +a.call(this,this.H,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.F=a.call(this,this.F,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.F= +a.call(this,this.F,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.F+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.C+this.D+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this, +this.D,K(this,this.H+this.F+this.K()));this.A-=this.B.P},function(a){this.D=a.call(this,this.D,K(this,this.H+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,I(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,K(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,I(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G, +this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G=a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,x(this))},function(a){this.G=a.call(this,this.G,this.H)},function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this,this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this, +this.I,this.C)},function(a){this.I=a.call(this,this.I,x(this))},function(a){this.I=a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this,this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J=a.call(this,this.J,x(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J= +a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C=a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C=a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,x(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C=a.call(this,this.C,this.D)},function(a){y(this,a.call(this,x(this),this.G))}, +function(a){y(this,a.call(this,x(this),this.I))},function(a){y(this,a.call(this,x(this),this.J))},function(a){y(this,a.call(this,x(this),this.C))},function(a){y(this,a.call(this,x(this),x(this)))},function(a){y(this,a.call(this,x(this),this.H))},function(a){y(this,a.call(this,x(this),this.F))},function(a){y(this,a.call(this,x(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H,this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H= +a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,x(this))},function(a){this.H=a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F=a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this,this.F,x(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F= +a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D=a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D=a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,x(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D=a.call(this,this.D,this.D)}],ue=[function(a){a=a.call(this,P(this,this.C+this.F), +this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.G);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.G);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.G);T(this, +a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.G);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.I);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.I);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.I);T(this,a);this.A-= +this.B.T},function(a){a=a.call(this,P(this,this.D),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.I);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.I);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.J);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.J);T(this,a);this.A-=this.B.ba},function(a){a= +a.call(this,R(this,this.H+this.D),this.J);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.J);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.J);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.C);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+ +this.D),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.C);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.C);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.C);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.C);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.C);T(this, +a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),x(this));T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),x(this));T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),x(this));T(this,a); +this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),x(this));T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),x(this));T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.H);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.H);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.H);T(this,a);this.A-= +this.B.aa},function(a){a=a.call(this,P(this,this.F),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.H);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.H);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.F);T(this,a);this.A-=this.B.ba},function(a){a= +a.call(this,R(this,this.H+this.F),this.F);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.F);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.F);T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.F);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+ +this.F),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.C+this.D),this.D);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.F),this.D);T(this,a);this.A-=this.B.ba},function(a){a=a.call(this,R(this,this.H+this.D),this.D);T(this,a);this.A-=this.B.aa},function(a){a=a.call(this,P(this,this.F),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.D),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.K()),this.D); +T(this,a);this.A-=this.B.ua},function(a){a=a.call(this,P(this,this.C),this.D);T(this,a);this.A-=this.B.T},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this, +P(this,this.F+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.I);T(this,a);this.A-=this.B.P}, +function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.I); +T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this, +P(this,this.D+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.C);T(this,a);this.A-= +this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()), +x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a= +a.call(this,R(this,this.H+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.H); +T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+ +this.D+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a= +a.call(this,P(this,this.C+this.L()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.L()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.L()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.L()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.L()),this.D); +T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.L()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this, +this.H+this.F+this.K()),this.G);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.G);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.G);T(this,a);this.A-=this.B.M},function(a){a= +a.call(this,P(this,this.C+this.F+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.I);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.I);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.I); +T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.I);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.J);T(this,a);this.A-=this.B.P},function(a){a=a.call(this, +R(this,this.H+this.D+this.K()),this.J);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.J);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.C);T(this,a);this.A-=this.B.O}, +function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.C);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.C);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()), +this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.C);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),x(this));T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),x(this));T(this,a);this.A-=this.B.O},function(a){a= +a.call(this,P(this,this.F+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),x(this));T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.H);T(this,a); +this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.H);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.H);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+ +this.K()),this.H);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()),this.F);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.F);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.F);T(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,P(this,this.D+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.F);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.F+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.C+this.D+this.K()),this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.F+this.K()), +this.D);T(this,a);this.A-=this.B.P},function(a){a=a.call(this,R(this,this.H+this.D+this.K()),this.D);T(this,a);this.A-=this.B.O},function(a){a=a.call(this,P(this,this.F+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.D+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,R(this,this.H+this.K()),this.D);T(this,a);this.A-=this.B.M},function(a){a=a.call(this,P(this,this.C+this.K()),this.D);T(this,a);this.A-=this.B.M},D[192],D[200],D[208],D[216], +D[224],D[232],D[240],D[248],D[193],D[201],D[209],D[217],D[225],D[233],D[241],D[249],D[194],D[202],D[210],D[218],D[226],D[234],D[242],D[250],D[195],D[203],D[211],D[219],D[227],D[235],D[243],D[251],D[196],D[204],D[212],D[220],D[228],D[236],D[244],D[252],D[197],D[205],D[213],D[221],D[229],D[237],D[245],D[253],D[198],D[206],D[214],D[222],D[230],D[238],D[246],D[254],D[199],D[207],D[215],D[223],D[231],D[239],D[247],D[255]],ve=[function(a,b){var c=a[0].call(this,P(this,this.C+this.F),b.call(this));T(this, +c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T}, +function(a,b){var c=a[0].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[0].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c= +a[1].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[1].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[1].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.C+this.F), +b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.D),b.call(this));T(this, +c);this.A-=this.B.T},function(a,b){var c=a[2].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[2].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[3].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba}, +function(a,b){var c=a[3].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[3].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[3].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this, +P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[4].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.D), +b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[4].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[4].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.F),b.call(this));T(this, +c);this.A-=this.B.ba},function(a,b){var c=a[5].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[5].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[5].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a, +b){var c=a[6].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,R(this,this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[6].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c= +a[6].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[6].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[6].call(this,P(this,this.C),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.C+this.F),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.C+this.D),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this, +this.H+this.F),b.call(this));T(this,c);this.A-=this.B.ba},function(a,b){var c=a[7].call(this,R(this,this.H+this.D),b.call(this));T(this,c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,P(this,this.F),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.D),b.call(this));T(this,c);this.A-=this.B.T},function(a,b){var c=a[7].call(this,P(this,this.K()),b.call(this));T(this,c);this.A-=this.B.ua},function(a,b){var c=a[7].call(this,P(this,this.C),b.call(this)); +T(this,c);this.A-=this.B.T},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this, +this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this, +P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a, +b){var c=a[1].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-= +this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.L()),b.call(this));T(this, +c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+ +this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this, +this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c= +a[4].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P}, +function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-= +this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.L()), +b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+ +this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.D+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this, +R(this,this.H+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.L()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[0].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a, +b){var c=a[0].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M}, +function(a,b){var c=a[1].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[1].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,P(this,this.F+this.K()),b.call(this)); +T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.C+this.D+this.K()), +b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[2].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,R(this, +this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[3].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c= +a[3].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a, +b){var c=a[4].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[4].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,P(this,this.F+this.K()),b.call(this));T(this, +c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.C+this.D+this.K()),b.call(this)); +T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[5].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,R(this,this.H+this.K()), +b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[6].call(this, +R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this, +P(this,this.C+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.C+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.P},function(a,b){var c=a[7].call(this,R(this,this.H+this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,P(this,this.F+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a, +b){var c=a[7].call(this,P(this,this.D+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,R(this,this.H+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,P(this,this.C+this.K()),b.call(this));T(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this, +this.C,b.call(this))},function(a,b){y(this,a[0].call(this,x(this),b.call(this)))},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this, +a[1].call(this,x(this),b.call(this)))},function(a,b){this.H=a[1].call(this,this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,x(this),b.call(this)))}, +function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,x(this),b.call(this)))},function(a,b){this.H=a[3].call(this, +this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,x(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F= +a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,x(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))}, +function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,x(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this, +this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,x(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}]; +function Kg(a){p.call(this,"ChipSet",a,Kg,16384);this.za=(this.za=a.model)?parseInt(this.za,10):Lg;this.hc=0;var b=a.sw1;if(b)this.hc=Mg(b,Ng|Og.Cn);else{this.le=[360,360];(b=a.floppies)&&b.length&&(this.le=b);if(b=this.le.length)this.hc|=Pg.Li,b--,this.hc|=(b&3)<=Qg&&(this.Oh=this.Dg=2);this.Be=a.scaleTimers||!1;this.Bq=a.rtcDate; +this.Il=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.hj=new window.webkitAudioContext);this.reset(!0);ib(this)}Xa(p,Kg);var Lg=5150,Qg=5170,Rg={none:0,tv:1,color:2,mono:3,ega:0},Pg={Li:1,ONE:0,rr:64,pr:128,Pq:192,og:192,pg:6},Ng=12,Og={qr:16,Hq:32,Cn:48,og:48,pg:4};k=Kg.prototype; +k.Fb=function(a,b,c){switch(b){case "sw1":return this.ra[b]=c,Sg(this,b,c,this.hc,{0:this.za==Lg?"Bootable Floppy Drive":"Loop on POST",1:this.za==Lg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Lg)return this.ra[b]=c,Sg(this,b,c,this.Qe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[b]=c,!0}return!1}; +k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.Ga=sb(a,"Keyboard");this.ui=c.U.Fd/1193181;bc(b,this,Tg);fc(b,this,Ug);this.zab;b++){var c=13>=b?ah(e,b):e.ea[b];a&&(a+="\n");a+="CMOS[0x"+m(b)+"]: 0x"+m(c)}e.Z.R(a)})}xe(c,26,this,this.ip)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0}; +k.reset=function(a){var b;this.ud=this.hc;this.yf=this.Qe;bh(this);this.mb=Array(this.Oh);for(b=0;b=Qg){this.ob=16;this.Qd=0;this.Pd=16;this.Fh=0;this.Xe=160;512<=fh(this)&&(this.Xe|=16);3==gh(this)&&(this.Xe|=64);this.Xi=3;this.xg=0;this.zh=Array(7);this.Ye=0;a&&(this.ea=Array(64));hh(this, +this.Bq);for(a=21;24>=a;a++)this.ea[a]=0;for(a=14;46>a;a++)void 0===this.ea[a]&&(this.ea[a]=0);this.ea[20]=this.ud&(Og.og|2|Pg.Li|Pg.og);this.ea[16]=ih(this,0)<<4|ih(this,1);jh(this)}}; +function hh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.R("CMOS date invalid ("+b+"), using "+c)):b&&a.R("CMOS date: "+c);a.ea[0]=c.getSeconds();a.ea[1]=0;a.ea[2]=c.getMinutes();a.ea[3]=0;a.ea[4]=c.getHours();a.ea[5]=0;a.ea[6]=c.getDay()+1;a.ea[7]=c.getDate();a.ea[8]=c.getMonth()+1;c=c.getFullYear();a.ea[9]=c%100;c/=100;a.ea[50]=c%10|c/10<<4;a.ea[10]=38;a.ea[11]=2;a.ea[12]=0;a.ea[13]=128;a.kh=a.fg=0;a.dn=a.si=null} +function ah(a,b){var c=a.ea[b];if(10>b){var d=!1;4!=b&&5!=b||a.ea[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ea[11]&4||(d&&128c;c++)b+=a.ea[c];a.ea[47]=b&255;a.ea[46]=b>>8} +k.save=function(){var a=new Ee(this);a.set(0,[this.hc,this.Qe,this.ud,this.yf]);for(var b=[],c=0;c=Qg&&(a.set(5,[this.ob,this.Qd,this.Pd,this.Fh,this.Xe,this.Xi]),a.set(6,[this.xg,this.zh,this.Ye,this.ea,this.kh,this.fg]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.Qe=b[1];this.ud=b[2];this.yf=b[3];b=a[1];for(c=0;c>2)+1)*a.jp+32*((b?a.Qe:a.yf)&15)}function rh(a,b){var c=b?a.hc:a.ud;return a.za!=Lg||c&Pg.Li?((c&Pg.og)>>Pg.pg)+1:0} +function ih(a,b){if(b>Og.pg} +function Sg(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=cb(c,"pcjs-bitCell");c=null;for(g=0;gg.$a[0]&&(g.$a[0]=255,g.$a[1]--,0>g.$a[1]&&(g.$a[1]=255)));return h}function wh(a,b,c,d,e,f){var g=a.mb[b];a.oa(384)&&q(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.pb+"]",null,!0);a=g.Qb[c];a.$a[g.pb]=a.kc[g.pb]=e;g.pb^=1}function xh(a,b,c,d){var e=a.mb[b],f=e.te|1;e.te&=-16;a.oa(384)&&q(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} +function yh(a,b,c,d,e){var f=a.mb[b];a.oa(384)&&q(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.te=f.te&~(16<>2].Qb[b&3],c,d,e)} +function Ah(a,b,c){b=a.mb[b>>2].Qb[b&3];b.Sh&&b.Aj&&b.vi?(c&&(b.Uh=c),b.$d||jf(a,b,!0)):c&&c(!0)}function jf(a,b,c){c&&(b.count=b.$a[1]<<8|b.$a[0],b.yn=b.mode&12,b.Kl=b.pd=!1);for(var d=!1;0<=b.count&&(c=b.Lh<<16|b.fb[1]<<8|b.fb[0],4==b.yn?(d=!0,function(c){b.Aj.call(b.Sh,b.vi,-1,function(f,g){0>f&&(b.Kl||(b.Kl=!0),f=255);b.$d||a.ha.td(c,f);(d=g)&&setTimeout(function(){Ih(b)||jf(a,b)},0)})}(c)):8==b.yn?(c=a.ha.Ra(c),0>b.Aj.call(b.Sh,b.vi,c)&&(b.pd=!0)):b.pd=!0),!d&&!Ih(b););} +function Ih(a){if(!a.pd&&0<=--a.count&&(a.mode&32?(a.fb[0]--,0>a.fb[0]&&(a.fb[0]=255,a.fb[1]--,0>a.fb[1]&&(a.fb[1]=255))):(a.fb[0]++,255>3];b=1<<(b&7);d.Sb&b||(d.Sb|=b,d.dg=c||0,Lh(a))} +function Ph(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Sb&d&&(c.Sb&=~d,Lh(a))}function Lh(a,b){var c,d=-1;1>=1),dd(a.N,c))),2==b&&jd(a))}k=Kg.prototype; k.bp=function(a,b){q(this,a,null,b,"TIMER_CTRL",null,1024);return null}; -k.pq=function(a,b,c){this.bj=b;q(this,a,b,c,"TIMER_CTRL",null,1024);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Jb[a];e.Ci=b;e.mode=d;e.ol=c;e.kc=[0,0];e.$a=[0,0];e.ef=[0,0];e.Ed=!1;e.Og=!1;e.jf=!1;Qh(this,a);0==a&&Oh(this,0);2==a&&255==this.Vb[0].yd&&77==this.Fc&&(a=this.Jb[0],a.Ic[0]=a.kc[0],a.Ic[1]=a.kc[1],a.sd=Yc(this.N,this.Be))}else Zg(this,a),b=this.Jb[a],b.ef[0]=b.$a[0],b.ef[1]=b.$a[1],b.Og=!0,Qh(this,a)}}; -function Sh(a,b){var c=a.Jb[b],d=c.kc[1]<<8|c.kc[0];d||(d=1==c.Cd?256:65536);return d}function ld(a,b){var c=a.Jb[b],d=c.Ic[1]<<8|c.Ic[0];d||(d=1==c.Cd?256:65536);return d}function Qh(a,b){var c=a.Jb[b];c.ye=32==c.Ci?1:0;c.Cd=48==c.Ci?2:1} -function Zg(a,b,c){var d=a.Jb[b];if(d.jf&&(2!=b||a.Fc&1)){var e=Yc(a.N,a.Be),f=(e-d.sd)/a.ui|0;0>f&&(d.sd=e,f=0);var g=Sh(a,b),h=ld(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Ed=!0,d.jf=!1,b||Nh(a,0))):4==d.mode?(d.Ed=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Nh(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Ed=!d.Ed,h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Nh(a,0)));d.$a[0]=h&255;d.$a[1]=h>>8;c&&(a.sd=0)}return d} -function kd(a,b){for(var c=0;c=Pg){var c=a.N.U.Fd,d=Yc(a.N,a.Be);null==a.si&&(a.kh=Yc(a.N,a.Be),a.dn=1024,a.si=Math.floor(a.N.U.Fd/a.dn),jh(a));d>=a.eg&&(a.ea[12]|=64,a.ea[11]&64&&(a.ea[12]|=128,Nh(a,8)),a.eg=d+a.si);a.ea[0]==a.ea[1]&&a.ea[2]==a.ea[3]&&a.ea[4]==a.ea[5]&&(a.ea[12]|=32,a.ea[11]&32&&(a.ea[12]|=128,Nh(a,8)));var e=d-a.kh,f=Math.floor(e/c);if(f&&!(a.ea[11]&128)){for(;f--;)if(60<=++a.ea[0]&&(a.ea[0]=0,60<=++a.ea[2]&&(a.ea[2]=0,24<=++a.ea[4]))){a.ea[4]= -0;a.ea[6]=a.ea[6]%7+1;var g;g=a.ea[9];var h=sa[a.ea[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ea[7]>g&&(a.ea[7]=1,12<++a.ea[8]&&(a.ea[8]=1,a.ea[9]=(a.ea[9]+1)%100))}a.ea[12]|=16;a.ea[11]&16&&(a.ea[12]|=128,Nh(a,8))}a.kh=d-e%c}}k.Uo=function(a,b){var c=this.Kh;if(this.zg&16)if(this.Fc&128)c=this.ud;else if(this.Ga){var c=this.Ga,d=0;c.Wb.length&&(d=c.Wb[0]);c.oa()&&c.Wa("scan code 0x"+m(d)+" delivered");c=d}q(this,a,null,b,"PPI_A",c);return c}; -k.iq=function(a,b,c){q(this,a,b,c,"PPI_A");this.Kh=b};k.Vo=function(a,b){var c=this.Fc;q(this,a,null,b,"PPI_B",c);return c};k.jq=function(a,b,c){q(this,a,b,c,"PPI_B");Th(this,b);this.Ga&&Uh(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Th(a,b){var c=!!(b&2),d=!!(a.Fc&2);a.Fc=b;c!=d&&jd(a,c)}k.Wo=function(a,b){var c=0,c=this.za==Kg?this.Fc&4?c|this.xf&15:c|this.xf>>4&1:this.Fc&8?c|this.ud>>4:c|this.ud&15;this.Fc&1&&Zg(this,2).Ed&&(c=this.Fc&2?c|32:c|16);q(this,a,null,b,"PPI_C",c,16448);return c}; -k.kq=function(a,b,c){q(this,a,b,c,"PPI_C");this.$i=b};k.Xo=function(a,b){var c=this.zg;q(this,a,null,b,"PPI_CTRL",c);return c};k.lq=function(a,b,c){q(this,a,b,c,"PPI_CTRL");this.zg=b};k.ko=function(a,b){var c=this.Fh;q(this,a,null,b,"8042_OUTBUFF",c,8192);this.ob&=-258;this.Ga&&Vh(this.Ga);return c}; -k.Ap=function(a,b,c){q(this,a,b,c,"8042_INBUF.DATA",null,8192);if(this.ob&8)switch(this.Qd){case 96:Wh(this,b);break;case 209:Xh(this,b);break;default:if(Wh(this,this.Pd&-17),this.Ga){a=-1;switch(b){case 255:a=250,Yh(this.Ga)}Zh(this,a)}}this.Qd=b;this.ob&=-9};k.lo=function(a,b){var c=this.Fc&-209|(Yc(this.N)&64?16:0);q(this,a,null,b,"8042_RWREG",c,8192);return c};k.Bp=function(a,b,c){q(this,a,b,c,"8042_RWREG",null,8192);Th(this,b)}; +k.pq=function(a,b,c){this.bj=b;q(this,a,b,c,"TIMER_CTRL",null,1024);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Jb[a];e.Ci=b;e.mode=d;e.ol=c;e.kc=[0,0];e.$a=[0,0];e.ef=[0,0];e.Ed=!1;e.Og=!1;e.jf=!1;Rh(this,a);0==a&&Ph(this,0);2==a&&255==this.Vb[0].yd&&77==this.Fc&&(a=this.Jb[0],a.Ic[0]=a.kc[0],a.Ic[1]=a.kc[1],a.sd=Yc(this.N,this.Be))}else $g(this,a),b=this.Jb[a],b.ef[0]=b.$a[0],b.ef[1]=b.$a[1],b.Og=!0,Rh(this,a)}}; +function Th(a,b){var c=a.Jb[b],d=c.kc[1]<<8|c.kc[0];d||(d=1==c.Cd?256:65536);return d}function ld(a,b){var c=a.Jb[b],d=c.Ic[1]<<8|c.Ic[0];d||(d=1==c.Cd?256:65536);return d}function Rh(a,b){var c=a.Jb[b];c.ye=32==c.Ci?1:0;c.Cd=48==c.Ci?2:1} +function $g(a,b,c){var d=a.Jb[b];if(d.jf&&(2!=b||a.Fc&1)){var e=Yc(a.N,a.Be),f=(e-d.sd)/a.ui|0;0>f&&(d.sd=e,f=0);var g=Th(a,b),h=ld(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Ed=!0,d.jf=!1,b||Oh(a,0))):4==d.mode?(d.Ed=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Oh(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Ed=!d.Ed,h=g+h,0>=h&&(h=g),d.Ic[0]=h&255,d.Ic[1]=h>>8,d.sd=e,!b&&d.Ed&&Oh(a,0)));d.$a[0]=h&255;d.$a[1]=h>>8;c&&(a.sd=0)}return d} +function kd(a,b){for(var c=0;c=Qg){var c=a.N.U.Fd,d=Yc(a.N,a.Be);null==a.si&&(a.kh=Yc(a.N,a.Be),a.dn=1024,a.si=Math.floor(a.N.U.Fd/a.dn),kh(a));d>=a.fg&&(a.ea[12]|=64,a.ea[11]&64&&(a.ea[12]|=128,Oh(a,8)),a.fg=d+a.si);a.ea[0]==a.ea[1]&&a.ea[2]==a.ea[3]&&a.ea[4]==a.ea[5]&&(a.ea[12]|=32,a.ea[11]&32&&(a.ea[12]|=128,Oh(a,8)));var e=d-a.kh,f=Math.floor(e/c);if(f&&!(a.ea[11]&128)){for(;f--;)if(60<=++a.ea[0]&&(a.ea[0]=0,60<=++a.ea[2]&&(a.ea[2]=0,24<=++a.ea[4]))){a.ea[4]= +0;a.ea[6]=a.ea[6]%7+1;var g;g=a.ea[9];var h=sa[a.ea[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ea[7]>g&&(a.ea[7]=1,12<++a.ea[8]&&(a.ea[8]=1,a.ea[9]=(a.ea[9]+1)%100))}a.ea[12]|=16;a.ea[11]&16&&(a.ea[12]|=128,Oh(a,8))}a.kh=d-e%c}}k.Uo=function(a,b){var c=this.Kh;if(this.zg&16)if(this.Fc&128)c=this.ud;else if(this.Ga){var c=this.Ga,d=0;c.Wb.length&&(d=c.Wb[0]);c.oa()&&c.Wa("scan code 0x"+m(d)+" delivered");c=d}q(this,a,null,b,"PPI_A",c);return c}; +k.iq=function(a,b,c){q(this,a,b,c,"PPI_A");this.Kh=b};k.Vo=function(a,b){var c=this.Fc;q(this,a,null,b,"PPI_B",c);return c};k.jq=function(a,b,c){q(this,a,b,c,"PPI_B");Uh(this,b);this.Ga&&Vh(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Uh(a,b){var c=!!(b&2),d=!!(a.Fc&2);a.Fc=b;c!=d&&jd(a,c)}k.Wo=function(a,b){var c=0,c=this.za==Lg?this.Fc&4?c|this.yf&15:c|this.yf>>4&1:this.Fc&8?c|this.ud>>4:c|this.ud&15;this.Fc&1&&$g(this,2).Ed&&(c=this.Fc&2?c|32:c|16);q(this,a,null,b,"PPI_C",c,16448);return c}; +k.kq=function(a,b,c){q(this,a,b,c,"PPI_C");this.$i=b};k.Xo=function(a,b){var c=this.zg;q(this,a,null,b,"PPI_CTRL",c);return c};k.lq=function(a,b,c){q(this,a,b,c,"PPI_CTRL");this.zg=b};k.ko=function(a,b){var c=this.Fh;q(this,a,null,b,"8042_OUTBUFF",c,8192);this.ob&=-258;this.Ga&&Wh(this.Ga);return c}; +k.Ap=function(a,b,c){q(this,a,b,c,"8042_INBUF.DATA",null,8192);if(this.ob&8)switch(this.Qd){case 96:Xh(this,b);break;case 209:Yh(this,b);break;default:if(Xh(this,this.Pd&-17),this.Ga){a=-1;switch(b){case 255:a=250,Zh(this.Ga)}$h(this,a)}}this.Qd=b;this.ob&=-9};k.lo=function(a,b){var c=this.Fc&-209|(Yc(this.N)&64?16:0);q(this,a,null,b,"8042_RWREG",c,8192);return c};k.Bp=function(a,b,c){q(this,a,b,c,"8042_RWREG",null,8192);Uh(this,b)}; k.mo=function(a,b){q(this,a,null,b,"8042_STATUS",this.ob,8192);var c=this.ob&255;this.ob&256&&(this.ob|=1,this.ob&=-257);return c}; -k.zp=function(a,b,c){q(this,a,b,c,"8042_INBUFF.CMD",null,8192);this.Qd=b;this.ob|=8;a=0;240<=this.Qd&&(a=this.Qd^15,this.Qd=240);switch(this.Qd){case 192:Zh(this,this.Xe);break;case 173:Wh(this,this.Pd|16);break;case 174:Wh(this,this.Pd&-17);this.Ga&&Vh(this.Ga);break;case 170:this.Ga&&(a=this.Ga,a.Wb=[],a.oa()&&a.Wa("scan codes flushed"));Wh(this,this.Pd|16);Zh(this,85);Xh(this,3);break;case 224:Zh(this,this.Pd&16?0:1);break;case 240:a&1&&pe(this.N)}}; -function Wh(a,b){a.Pd=b;a.ob=a.ob&-5|b&4;a.Ga&&Uh(a.Ga,!!(b&8),!(b&16))}function Zh(a,b){0<=b&&(a.Fh=b,a.ob&=-2,a.ob|=256)}function Xh(a,b){a.Xi=b;Ub(a.ha,!!(b&2));b&1||pe(a.N)}function $h(a,b){a.za=c?$g(this,c):this.ea[c];this.oa(2176)&&q(this,a,null,b,"CMOS.DATA["+m(c)+"]",d,!0);null!=b&&12==c&&(this.ea[c]&=15,d&128&&Oh(this,8),d&64&&this.ea[11]&64&&jh(this));return d}; -k.Qp=function(a,b,c){var d=this.Ye&63;this.oa(2176)&&q(this,a,b,c,"CMOS.DATA["+m(d)+"]",null,!0);a=b^this.ea[d];if(13>=d){if(c=b,10>d){var e=!1;this.ea[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ea[d]=c;11==d&&a&64&&b&64&&jh(this)};k.So=function(a,b){q(this,a,null,b,"MFG_DATA",this.xg);return this.xg};k.fq=function(a,b,c){q(this,a,b,c,"MFG_DATA");this.xg=b}; +k.zp=function(a,b,c){q(this,a,b,c,"8042_INBUFF.CMD",null,8192);this.Qd=b;this.ob|=8;a=0;240<=this.Qd&&(a=this.Qd^15,this.Qd=240);switch(this.Qd){case 192:$h(this,this.Xe);break;case 173:Xh(this,this.Pd|16);break;case 174:Xh(this,this.Pd&-17);this.Ga&&Wh(this.Ga);break;case 170:this.Ga&&(a=this.Ga,a.Wb=[],a.oa()&&a.Wa("scan codes flushed"));Xh(this,this.Pd|16);$h(this,85);Yh(this,3);break;case 224:$h(this,this.Pd&16?0:1);break;case 240:a&1&&pe(this.N)}}; +function Xh(a,b){a.Pd=b;a.ob=a.ob&-5|b&4;a.Ga&&Vh(a.Ga,!!(b&8),!(b&16))}function $h(a,b){0<=b&&(a.Fh=b,a.ob&=-2,a.ob|=256)}function Yh(a,b){a.Xi=b;Ub(a.ha,!!(b&2));b&1||pe(a.N)}function ai(a,b){a.za=c?ah(this,c):this.ea[c];this.oa(2176)&&q(this,a,null,b,"CMOS.DATA["+m(c)+"]",d,!0);null!=b&&12==c&&(this.ea[c]&=15,d&128&&Ph(this,8),d&64&&this.ea[11]&64&&kh(this));return d}; +k.Qp=function(a,b,c){var d=this.Ye&63;this.oa(2176)&&q(this,a,b,c,"CMOS.DATA["+m(d)+"]",null,!0);a=b^this.ea[d];if(13>=d){if(c=b,10>d){var e=!1;this.ea[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ea[d]=c;11==d&&a&64&&b&64&&kh(this)};k.So=function(a,b){q(this,a,null,b,"MFG_DATA",this.xg);return this.xg};k.fq=function(a,b,c){q(this,a,b,c,"MFG_DATA");this.xg=b}; k.hq=function(a,b,c){q(this,a,b,c,"NMI");this.Jh=b};k.Rp=function(a,b,c){q(this,a,b,c,"COPROC.CLEAR")};k.Sp=function(a,b,c){q(this,a,b,c,"COPROC.RESET")}; -k.ip=function(a){if(this.oa(4096)&&ze(this.Z,26,a)){var b=this.N.G>>8;Ae(this.N,a,function(a,d){return function(e){d=Yc(a.N)-d;var f,g=a.N.J&255,h=a.N.J>>8,t=a.N.J&255,r=a.N.J>>8;if(2==b||3==b)f=" CH(hour)="+n(h)+" CL(min)="+m(g)+" DH(sec)="+m(r);else if(4==b||5==b)f=" CX(year)="+n(a.N.I)+" DH(month)="+m(r)+" DL(day)="+m(t);Be(a.Z,26,e,d,f)}}(this,Yc(this.N)))}return!0};function Lg(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Kb[c++]=f[b]>>16&255,this.Kb[c++]=f[b]>>24&255;else this.Kb=d;this.Ri=d.symbols;if(!this.Kb.length){wa("Empty ROM: "+a);return}if(1==this.Kb.length){wa(this.Kb[0]);return}}catch(g){this.Ca("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Kb=Array(a.length),d=0;d>>d.Ja].mg(e&d.Ea,a.Kb[c]&255)}return!0}return!1}Ja(function(){for(var a=cb(window.document,"pcjs","rom"),b=0;bthis.Ch?21:23,c=a.ea[b]|a.ea[b+1]<<8,c=c+(this.ee>>10);a.ea[b]=c&255;a.ea[b+1]=c>>8;ih(a)}}else wa("No RAM allocated")}; -function hi(){this.Gn=ji;this.Hn=ki}var ii=2160066560,ji=255,ki=0;function li(){return this.X.Hn}function mi(a,b){this.X.Gn=b}var ni=[li,li,li,mi,mi,mi];hi.prototype.Nl=function(){return[null,0]};hi.prototype.Cj=function(){return ni};Ja(function(){for(var a=cb(window.document,"pcjs","ram"),b=0;b>8;Ae(this.N,a,function(a,d){return function(e){d=Yc(a.N)-d;var f,g=a.N.J&255,h=a.N.J>>8,t=a.N.J&255,r=a.N.J>>8;if(2==b||3==b)f=" CH(hour)="+n(h)+" CL(min)="+m(g)+" DH(sec)="+m(r);else if(4==b||5==b)f=" CX(year)="+n(a.N.I)+" DH(month)="+m(r)+" DL(day)="+m(t);Be(a.Z,26,e,d,f)}}(this,Yc(this.N)))}return!0};function Mg(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Kb[c++]=f[b]>>16&255,this.Kb[c++]=f[b]>>24&255;else this.Kb=d;this.Ri=d.symbols;if(!this.Kb.length){wa("Empty ROM: "+a);return}if(1==this.Kb.length){wa(this.Kb[0]);return}}catch(g){this.Ca("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Kb=Array(a.length),d=0;d>>d.Ja].mg(e&d.Ea,a.Kb[c]&255)}return!0}return!1}Ja(function(){for(var a=cb(window.document,"pcjs","rom"),b=0;bthis.Ch?21:23,c=a.ea[b]|a.ea[b+1]<<8,c=c+(this.ee>>10);a.ea[b]=c&255;a.ea[b+1]=c>>8;jh(a)}}else wa("No RAM allocated")}; +function ii(){this.Gn=ki;this.Hn=li}var ji=2160066560,ki=255,li=0;function mi(){return this.X.Hn}function ni(a,b){this.X.Gn=b}var oi=[mi,mi,mi,ni,ni,ni];ii.prototype.Nl=function(){return[null,0]};ii.prototype.Cj=function(){return oi};Ja(function(){for(var a=cb(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Fq:65,Gq:66,Xk:67,An:68,E:69,Nq:70,Qq:71,Yk:72,Sq:73,Tq:74,Uq:75,Vq:76,Wq:77,Mi:78,Yq:79,Zq:80,ar:81,$k:82,er:83,or:84,sr:85,tr:86,ur:87,wr:88,xr:89,yr:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,zr:97,Ar:98,Cr:99,Jr:100,Kr:101,Lr:102,Nr:103,Pr:104,Qr:105,Rr:106,Sr:107, -Tr:108,Ur:109,Vr:110,Xr:111,Yr:112,Zr:113,$r:114,es:115,js:116,ks:117,ls:118,ms:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pi={};pi[186]=W[";"];pi[187]=W["="];pi[188]=W[","];pi[189]=W["-"];pi[190]=W["."];pi[191]=W["/"];pi[192]=W["`"];pi[219]=W["["];pi[220]=W["\\"];pi[221]=W["]"];pi[222]=W["'"];pi[173]=W["-"];var qi={};qi[W["1"]]=W["!"];qi[W["2"]]=W["@"];qi[W["3"]]=W["#"];qi[W["4"]]=W.$;qi[W["5"]]=W["%"];qi[W["6"]]=W["^"];qi[W["7"]]=W["&"];qi[W["8"]]=W["*"];qi[W["9"]]=W["("]; -qi[W["0"]]=W[")"];qi[186]=W[":"];qi[187]=W["+"];qi[188]=W["<"];qi[189]=W._;qi[190]=W[">"];qi[191]=W["?"];qi[192]=W["~"];qi[219]=W["{"];qi[220]=W["|"];qi[221]=W["}"];qi[222]=W['"'];qi[173]=W._;qi[61]=W["+"];qi[59]=W[":"]; -var ri={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},si={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ti={esc:1027,1:W["1"],2:W["2"],3:W["3"],4:W["4"],5:W["5"],6:W["6"],7:W["7"],8:W["8"],9:W["9"],0:W["0"],"-":W["-"],"=":W["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":W["["],"]":W["]"],enter:13, +Tr:108,Ur:109,Vr:110,Xr:111,Yr:112,Zr:113,$r:114,es:115,js:116,ks:117,ls:118,ms:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},qi={};qi[186]=W[";"];qi[187]=W["="];qi[188]=W[","];qi[189]=W["-"];qi[190]=W["."];qi[191]=W["/"];qi[192]=W["`"];qi[219]=W["["];qi[220]=W["\\"];qi[221]=W["]"];qi[222]=W["'"];qi[173]=W["-"];var ri={};ri[W["1"]]=W["!"];ri[W["2"]]=W["@"];ri[W["3"]]=W["#"];ri[W["4"]]=W.$;ri[W["5"]]=W["%"];ri[W["6"]]=W["^"];ri[W["7"]]=W["&"];ri[W["8"]]=W["*"];ri[W["9"]]=W["("]; +ri[W["0"]]=W[")"];ri[186]=W[":"];ri[187]=W["+"];ri[188]=W["<"];ri[189]=W._;ri[190]=W[">"];ri[191]=W["?"];ri[192]=W["~"];ri[219]=W["{"];ri[220]=W["|"];ri[221]=W["}"];ri[222]=W['"'];ri[173]=W._;ri[61]=W["+"];ri[59]=W[":"]; +var si={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},ti={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ui={esc:1027,1:W["1"],2:W["2"],3:W["3"],4:W["4"],5:W["5"],6:W["6"],7:W["7"],8:W["8"],9:W["9"],0:W["0"],"-":W["-"],"=":W["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":W["["],"]":W["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":W[";"],quote:W["'"],"`":W["`"],shift:1016,"\\":W["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":W[","],".":W["."],"/":W["/"],"right-shift":3016,prtsc:1044,alt:1018,space:W[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035, -"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},ui={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[W["1"]]=2;X[W["!"]]=10754;X[W["2"]]=3;X[W["@"]]=10755;X[W["3"]]=4;X[W["#"]]=10756;X[W["4"]]=5;X[W.$]=10757;X[W["5"]]=6;X[W["%"]]=10758;X[W["6"]]=7;X[W["^"]]=10759;X[W["7"]]=8;X[W["&"]]=10760;X[W["8"]]=9;X[W["*"]]=10761;X[W["9"]]=10;X[W["("]]=10762;X[W["0"]]=11;X[W[")"]]=10763;X[W["-"]]=12;X[W._]=10764;X[W["="]]=13;X[W["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; +"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},vi={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[W["1"]]=2;X[W["!"]]=10754;X[W["2"]]=3;X[W["@"]]=10755;X[W["3"]]=4;X[W["#"]]=10756;X[W["4"]]=5;X[W.$]=10757;X[W["5"]]=6;X[W["%"]]=10758;X[W["6"]]=7;X[W["^"]]=10759;X[W["7"]]=8;X[W["&"]]=10760;X[W["8"]]=9;X[W["*"]]=10761;X[W["9"]]=10;X[W["("]]=10762;X[W["0"]]=11;X[W[")"]]=10763;X[W["-"]]=12;X[W._]=10764;X[W["="]]=13;X[W["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; X[81]=10768;X[119]=17;X[87]=10769;X[101]=18;X[69]=10770;X[114]=19;X[82]=10771;X[116]=20;X[84]=10772;X[121]=21;X[89]=10773;X[117]=22;X[85]=10774;X[105]=23;X[73]=10775;X[111]=24;X[79]=10776;X[112]=25;X[80]=10777;X[W["["]]=26;X[W["{"]]=10778;X[W["]"]]=27;X[W["}"]]=10779;X[13]=28;X[1017]=29;X[97]=30;X[65]=10782;X[115]=31;X[83]=10783;X[100]=32;X[68]=10784;X[102]=33;X[70]=10785;X[103]=34;X[71]=10786;X[104]=35;X[72]=10787;X[106]=36;X[74]=10788;X[107]=37;X[75]=10789;X[108]=38;X[76]=10790;X[W[";"]]=39; X[W[":"]]=10791;X[W["'"]]=40;X[W['"']]=10792;X[W["`"]]=41;X[W["~"]]=10793;X[1016]=42;X[W["\\"]]=43;X[W["|"]]=10795;X[122]=44;X[90]=10796;X[120]=45;X[88]=10797;X[99]=46;X[67]=10798;X[118]=47;X[86]=10799;X[98]=48;X[66]=10800;X[110]=49;X[78]=10801;X[109]=50;X[77]=10802;X[W[","]]=51;X[W["<"]]=10803;X[W["."]]=52;X[W[">"]]=10804;X[W["/"]]=53;X[W["?"]]=10805;X[3016]=54;X[1044]=55;X[1018]=56;X[W[" "]]=57;X[1020]=58;X[1112]=59;X[1113]=60;X[1114]=61;X[1115]=62;X[1116]=63;X[1117]=64;X[1118]=65;X[1119]=66; -X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=oi.prototype; -k.Fb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.qa[e])switch(b){case "kbd":return this.qa[e]=c,c.onkeydown=function(a){return vi(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Al){var b=d.Rb.length?d.Rb[0].Pe:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.yj=!0,a=b)}(b=!X[a]||!!(d.Zb&128))||wi(d,a,!0);return b},c.onkeyup=function(a){return vi(d,a,!1)},!0;case "caps-lock":return this.qa[e]=c,c.onclick=function(){d.N&&d.N.Mc();wi(d, -1020,!0)},!0;case "num-lock":return this.qa[e]=c,c.onclick=function(){d.N&&d.N.Mc();wi(d,1144,!0)},!0;case "scroll-lock":return this.qa[e]=c,c.onclick=function(){d.N&&d.N.Mc();wi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==si[f]&&"button"==a)return this.qa[e]=c,c.onclick=function(a,b,c){return function(){a.N&&a.N.Mc();xi(a,c,!0);wi(a,c,!0)}}(this,f,si[f]),!0;if(void 0!==ti[b])return this.sl++,this.qa[e]=c,a=function(a,b,c){return function(){wi(a,c)}}(this,b,ti[b]),b= -function(a,b,c){return function(){yi(a,c)}}(this,b,ti[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function zi(a,b,c){if(a.sl){for(var d in qi)if(b==qi[d]){b=parseInt(d,10);(d=pi[d])&&(b=d);break}for(var e in ti)if((d=ti[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=ti[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} -k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet")};function Yh(a,b){a.Wa("keyboard reset",32896);a.Wb=[170];b&&a.fa&&$h(a.fa,a.Wb[0])}function Uh(a,b,c){a.rj!==c&&(a.rj=a.wj=c);a.Zh!==b&&(a.Zh=b)&&!a.wj&&ai(a,!0);a.Zh&&a.wj&&(Yh(a,!0),a.wj=!1)}function Vh(a){var b=0;a.Wb.length&&(b=a.Wb[0],a.fa&&$h(a.fa,b));a.oa()&&a.Wa("scan code 0x"+m(b)+" available")} -function ai(a,b){0=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.yj=!0,a=b)}(b=!X[a]||!!(d.Zb&128))||xi(d,a,!0);return b},c.onkeyup=function(a){return wi(d,a,!1)},!0;case "caps-lock":return this.ra[e]=c,c.onclick=function(){d.N&&d.N.Mc();xi(d, +1020,!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.N&&d.N.Mc();xi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.N&&d.N.Mc();xi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==ti[f]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.N&&a.N.Mc();yi(a,c,!0);xi(a,c,!0)}}(this,f,ti[f]),!0;if(void 0!==ui[b])return this.sl++,this.ra[e]=c,a=function(a,b,c){return function(){xi(a,c)}}(this,b,ui[b]),b= +function(a,b,c){return function(){zi(a,c)}}(this,b,ui[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function Ai(a,b,c){if(a.sl){for(var d in ri)if(b==ri[d]){b=parseInt(d,10);(d=qi[d])&&(b=d);break}for(var e in ui)if((d=ui[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=ui[e]==d),d){(a=a.ra["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} +k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet")};function Zh(a,b){a.Wa("keyboard reset",32896);a.Wb=[170];b&&a.fa&&ai(a.fa,a.Wb[0])}function Vh(a,b,c){a.rj!==c&&(a.rj=a.wj=c);a.Zh!==b&&(a.Zh=b)&&!a.wj&&bi(a,!0);a.Zh&&a.wj&&(Zh(a,!0),a.wj=!1)}function Wh(a){var b=0;a.Wb.length&&(b=a.Wb[0],a.fa&&ai(a.fa,b));a.oa()&&a.Wa("scan code 0x"+m(b)+" available")} +function bi(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.Ad:a.Zb)&b):d||b&255&&(b=255);if(c){a.Ad&=~b;d&&(a.Ad|=b);c=b;var f,g;for(g in ui)d="led-"+g,e=ui[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.Ad&e?"#00ff00":"#000000")}else a.Zb&=~b,d&&(a.Zb|=b);return!0}}return!1} -function wi(a,b,c){if(X[b]&&a.N&&a.N.da.jb){ri[b]&&a.Rb.length&&0e||(e==a.Rb.length&&(d={},d.Pe=b,d.Zb=a.Zb,zi(a,b,!0),e++),0b.Id){if(!b.Ng){yi(a,b.Pe);return}b.Ng=!1;c=a.lp}else c=1==b.Id++?a.mp:a.np;b.wn=setTimeout(function(a){return function(){Ai(a,b)}}(a),c)}}else yi(a,b.Pe,!0)}function Gi(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Zb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Zb&515)==c&&(d=b-32);else if(!!(a.Zb&3)==c){if(a=qi[b])d=a}else if(a=pi[b])d=a;return d}k.wi=function(a){this.$h=a;a||(this.Zb&=-256)}; -function vi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Gi(a,g,!0);a.sj&&h==W["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xi(a,h,!1,c)){if(20==g||144==g||145==g)a.$n||(c=e=!0);if(!(c||91!=g&&93!=g))for(var t=0;t=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Ad&3||a.Ad&512&&b||(g=h):29==h?a.Ad&12||(g=h):56==h?a.Ad&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Wb.length?(d.oa()&&d.Wa("scan code 0x"+m(f)+" buffered"),d.Wb.push(f),1==d.Wb.length&&d.fa&&$h(d.fa, -f)):(20==d.Wb.length&&d.Wb.push(255),d.Wa("scan code buffer overflow")))}}Ja(function(){for(var a=cb(window.document,"pcjs","keyboard"),b=0;b>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.Ad:a.Zb)&b):d||b&255&&(b=255);if(c){a.Ad&=~b;d&&(a.Ad|=b);c=b;var f,g;for(g in vi)d="led-"+g,e=vi[g],c&&c!=e||!(f=a.ra[d])||(f.style.backgroundColor=a.Ad&e?"#00ff00":"#000000")}else a.Zb&=~b,d&&(a.Zb|=b);return!0}}return!1} +function xi(a,b,c){if(X[b]&&a.N&&a.N.da.jb){si[b]&&a.Rb.length&&0e||(e==a.Rb.length&&(d={},d.Pe=b,d.Zb=a.Zb,Ai(a,b,!0),e++),0b.Id){if(!b.Ng){zi(a,b.Pe);return}b.Ng=!1;c=a.lp}else c=1==b.Id++?a.mp:a.np;b.wn=setTimeout(function(a){return function(){Fi(a,b)}}(a),c)}}else zi(a,b.Pe,!0)}function Hi(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Zb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Zb&515)==c&&(d=b-32);else if(!!(a.Zb&3)==c){if(a=ri[b])d=a}else if(a=qi[b])d=a;return d}k.wi=function(a){this.$h=a;a||(this.Zb&=-256)}; +function wi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hi(a,g,!0);a.sj&&h==W["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),yi(a,h,!1,c)){if(20==g||144==g||145==g)a.$n||(c=e=!0);if(!(c||91!=g&&93!=g))for(var t=0;t=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Ad&3||a.Ad&512&&b||(g=h):29==h?a.Ad&12||(g=h):56==h?a.Ad&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Wb.length?(d.oa()&&d.Wa("scan code 0x"+m(f)+" buffered"),d.Wb.push(f),1==d.Wb.length&&d.fa&&ai(d.fa, +f)):(20==d.Wb.length&&d.Wb.push(255),d.Wa("scan code buffer overflow")))}}Ja(function(){for(var a=cb(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(Vi)];this.Z=a.Z;this.type=e[0];this.port=e[1];this.De=b;this.Va=e[2];this.Ub=e[3];this.kd=d||e[4];65536<=this.kd&&720896<=this.Va&&(this.Ub=Math.min(this.kd>>2,32768));this.od=c[0];this.Lc=c[1];this.Jf=c[2];this.kg=c[3];this.vc=c[4]&255;this.ii=c[4]>>8&255;this.nc=c[5];this.Ij=Vi;this.Eh=Wi;if(5==b){this.Ij=Xi;this.Eh=Yi;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), -0,0,0,Array(9),0,[this.Va,this.Ub,this.kd],Array(this.kd>>2),771,0,-1,0,-1,0,-1,0,0,0]);this.Dd=b[0];this.Wd=b[1];this.je=b[2];this.Ui=Zi;this.Ji=b[3];this.Vg=b[4];this.fi=b[5];this.Yd=b[6];this.rg=b[7];this.Wi=$i;this.Dj=b[8];this.Ej=b[9];this.Xd=b[10];this.Te=b[11];this.Vi=aj;this.Hb=b[12];d=b[13];"number"==typeof d&&(d=[this.Va,this.Ub,d]);this.Va=d[0];this.Ub=d[1];d=this.kd>>2;if((this.xd=b[14])&&this.xd.length>8)} -function ej(a,b){this.Ib(a,b&255);this.Ib(a+1,b>>8&255);this.Ib(a+2,b>>16&255);this.Ib(a+3,b>>>24)}var fj=[,,function(a){a+=this.offset;return(this.X.Hb=this.na[a])>>this.X.Ck&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.na[b]>>8:this.na[b])&255}];fj[16]=function(a){a+=this.offset;a=this.na[a];for(var b=this.X.Kj&this.X.Lj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; -fj[512]=function(a,b){var c=a+this.offset,d;d=this.na[c]&~this.X.sb|(b|b<<8|b<<16|b<<24)&this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[1024]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -fj[1536]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d&=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[2560]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d|=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -fj[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d^=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.sb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.na[d]&~c;c=c&this.X.xb|this.X.Hb&~this.X.xb;this.na[d]!=c&&(this.na[d]=c,this.Qa=!0)}; -fj[4096]=function(a){a+=this.offset;var b=this.na[a]&~this.X.sb|this.X.Hb&this.X.sb;this.na[a]!=b&&(this.na[a]=b,this.Qa=!0)};fj[8192]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[24576]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d&this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -fj[40960]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d|this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};fj[57344]=function(a,b){var c=a+this.offset,d=Ri[b&15],d=d^this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; -function gj(a){var b=[];if(void 0!==a.De){b[0]=a.od;b[1]=a.Lc;b[2]=a.Jf;b[3]=a.kg;b[4]=a.vc|a.ii<<8;b[5]=a.nc;if(5==a.De){var c=[];c[0]=a.Dd;c[1]=a.Wd;c[2]=a.je;c[3]=a.Ji;c[4]=a.Vg;c[5]=a.fi;c[6]=a.Yd;c[7]=a.rg;c[8]=a.Dj;c[9]=a.Ej;c[10]=a.Xd;c[11]=a.Te;c[12]=a.Hb;c[13]=[a.Va,a.Ub,a.kd];var d;a:if(d=a.xd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=t;h=r}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=da(b.Va+a)+":",J=0;8>J&&ac.length)c=[!1,0,null,null,0,Array(Wi)];this.Z=a.Z;this.type=e[0];this.port=e[1];this.De=b;this.Va=e[2];this.Ub=e[3];this.kd=d||e[4];65536<=this.kd&&720896<=this.Va&&(this.Ub=Math.min(this.kd>>2,32768));this.od=c[0];this.Lc=c[1];this.Kf=c[2];this.kg=c[3];this.vc=c[4]&255;this.ii=c[4]>>8&255;this.nc=c[5];this.Ij=Wi;this.Eh=Xi;if(5==b){this.Ij=Yi;this.Eh=Zi;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), +0,0,0,Array(9),0,[this.Va,this.Ub,this.kd],Array(this.kd>>2),771,0,-1,0,-1,0,-1,0,0,0]);this.Dd=b[0];this.Wd=b[1];this.je=b[2];this.Ui=$i;this.Ji=b[3];this.Vg=b[4];this.fi=b[5];this.Yd=b[6];this.rg=b[7];this.Wi=aj;this.Dj=b[8];this.Ej=b[9];this.Xd=b[10];this.Te=b[11];this.Vi=bj;this.Hb=b[12];d=b[13];"number"==typeof d&&(d=[this.Va,this.Ub,d]);this.Va=d[0];this.Ub=d[1];d=this.kd>>2;if((this.xd=b[14])&&this.xd.length>8)} +function fj(a,b){this.Ib(a,b&255);this.Ib(a+1,b>>8&255);this.Ib(a+2,b>>16&255);this.Ib(a+3,b>>>24)}var gj=[,,function(a){a+=this.offset;return(this.X.Hb=this.na[a])>>this.X.Ck&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.na[b]>>8:this.na[b])&255}];gj[16]=function(a){a+=this.offset;a=this.na[a];for(var b=this.X.Kj&this.X.Lj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; +gj[512]=function(a,b){var c=a+this.offset,d;d=this.na[c]&~this.X.sb|(b|b<<8|b<<16|b<<24)&this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[1024]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +gj[1536]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d&=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[2560]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d|=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +gj[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.Gd|b<<8-this.X.Gd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.Ke|this.X.pf;d^=this.X.Hb;d=d&this.X.sb|this.na[c]&~this.X.sb;d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.sb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.na[d]&~c;c=c&this.X.xb|this.X.Hb&~this.X.xb;this.na[d]!=c&&(this.na[d]=c,this.Qa=!0)}; +gj[4096]=function(a){a+=this.offset;var b=this.na[a]&~this.X.sb|this.X.Hb&this.X.sb;this.na[a]!=b&&(this.na[a]=b,this.Qa=!0)};gj[8192]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[24576]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +gj[40960]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d|this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)};gj[57344]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d^this.X.Hb,d=d&this.X.sb|this.na[c]&~this.X.sb,d=d&this.X.xb|this.X.Hb&~this.X.xb;this.na[c]!=d&&(this.na[c]=d,this.Qa=!0)}; +function hj(a){var b=[];if(void 0!==a.De){b[0]=a.od;b[1]=a.Lc;b[2]=a.Kf;b[3]=a.kg;b[4]=a.vc|a.ii<<8;b[5]=a.nc;if(5==a.De){var c=[];c[0]=a.Dd;c[1]=a.Wd;c[2]=a.je;c[3]=a.Ji;c[4]=a.Vg;c[5]=a.fi;c[6]=a.Yd;c[7]=a.rg;c[8]=a.Dj;c[9]=a.Ej;c[10]=a.Xd;c[11]=a.Te;c[12]=a.Hb;c[13]=[a.Va,a.Ub,a.kd];var d;a:if(d=a.xd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=t;h=r}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=da(b.Va+a)+":",J=0;8>J&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Zb(this.ha,b,c|d<<8);ad(this,!0)}};function oj(a){a.ga.Vg&1?(a.jd=a.dj,a.Lb=a.ga):(a.jd=a.ga,a.Lb=a.Rh)}k.save=function(){var a=new Ee(this);a.set(0,gj(this.dj));a.set(1,gj(this.Rh));a.set(2,[this.He,this.Hd,this.ce]);a.set(3,gj(this.ga));return a.data()}; -k.restore=function(a){var b=a[2];this.He=b[0];this.Hd=b[1];this.ce=b[2];this.Fa=null;this.jd=this.dj=new Ti(this,1,a[0]);this.Lb=this.Rh=new Ti(this,3,a[1]);this.ga=new Ti(this,5,a[3],this.kd);this.ga.od&&oj(this);pj(this);if(!rj(this))return!1;sj(this);return!0}; -k.wp=function(a,b,c){if(c)this.Ca("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){wa("Empty font ROM image: "+a);return}if(1==d.length){wa(d[0]);return}if(8192==d.length)fi(this,d,[0,6144]);else{this.Ca("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ca("Font ROM data error: "+e.message);return}ib(this)}}; -function tj(a,b){if(1==b)return a.Nd[0]=Ni[0],a.Nd[1]=Ni[7],a.Nd;if(2==b){var c=a.Fa.Jf;if(a.Fa===a.ga){var d=a.ga.je[0],c=d&7;d&16&&(c|=8);18!=a.ga.je[1]&&(c|=32)}a.Nd[0]=Ni[c&15];c=c&32?Pi:Oi;for(d=0;dNa||!Q?Na:8,Oa=ed.createImageData(r.sc,r.tc),Y=0;256>Y;Y++){for(V=0;V< -Na;V++)for(var pa=r.qg&&E&1&&V>=Na-2,ta=Ta[V>(8<=ia&&176<=Y&&223>=Y?7:ia)?C:qb;wj(Oa,Hc,fd,gd);N&&wj(Oa,Hc+1,fd,gd)}ed.putImageData(Oa,(Y&15)*r.sc,(Y>>4)*r.tc)}r.Cf[E]="#"+m(C[0])+m(C[1])+m(C[2]);r.el[E]=C;r.Oi[E]=kc;r=!0}}a.me[b]=J;return r}function xj(a){0a.bf&&(a.bf=0):a.bf=-1} -function sj(a){if(a.ac){for(var b=10;15>=b;b++)if(null==a.Fa.nc[b])return;var c=a.Fa.nc[10],b=c&31,d=a.Fa.nc[11]&31,e=a.Fa.nc[9]&31,f=!1;a.Fa===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)yj(a);else{c=a.Fa.nc[15]+((a.Fa.nc[14]&63)<<8);a.Vc!=c&&(yj(a),a.Vc=c);d=d-b+1;if(a.zn!=b||a.xl!=d)a.zn=b,a.xl=d;a.ze=e+1;xj(a)}}} -function yj(a){if(0<=a.Vc){if(void 0!==a.oc){var b=a.oc[a.Vc];if(b&131072){var b=b&-131073,c=a.Vc%a.Mb,d=Math.floor(a.Vc/a.Mb);a.ac&&a.me[a.ac]&&(a.Kf&&zj(a,c,d,b,a.Kf),zj(a,c,d,b));a.oc[a.Vc]=b}}a.Vc=-1}} -function Aj(a){var b;a=a.Fa;var c=a.Te[5];if(null!=c){b=2;var d=512,e=a.Te[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Gd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Oe=function(a){var b=this.Fa;null!=a&&b&&a!=b.mi&&(b.Gi(a),this.ha.Gi(b.Va,b.Ub,b.Cj()))}; -function rj(a,b){var c,d=a.ce,e=a.Fa;if(e)if(1==e.De)d=Ii;else if(5==e.De){var d=null,f=e.kd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Aj(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||--d):(d=e.Lc&1?3:1,e.Lc&4&&--d)); -else a.ce=null,null==d&&(d=a.Hd);if(!qj(a,d,b))return!1;a.Oe(c);return!0} -function qj(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Jn=0;a.ce=b;b=a.Fa||(b==Ii?a.jd:a.Lb);if(b!=a.Fa||b.Va!=a.Va||b.Ub!=a.Ub){yj(a);if(a.Va){if(!Xb(a.ha,a.Va,a.Ub))return!1;a.Fa&&(a.Fa.od=!1)}a.Fa=b;b.od=!0;a.Va=b.Va;a.Ub=b.Ub;if(!Vb(a.ha,b.Va,b.Ub,3,b===a.ga?b:null))return!1}a.ac=0;a.Mb=a.oi;a.yc=a.Pj;a.Jj=Hi[Ii][2];b=0;var d=Hi[a.ce];d&&(a.Mb=d[0],a.yc=d[1],a.Jj=d[2],b=d[3]||0,a.ac=d[4],4==a.He&&a.Fa===a.ga&&3==a.ac&&(7==a.ga.nc[9]?a.yc=43:a.ac=5));a.$l=a.Mb*a.yc;a.ni=a.$l/a.Jj;a.ej=(a.ni<<1)+b;a.ul= -b?a.ej+b>>1:0;13<=a.ce&&(a.ni<<=1);a.me.length&&(a.Td=Math.floor(a.Sd/a.Mb),a.Ud=Math.floor(a.Ae/a.yc),a.ac?(b=a.me[a.ac],d=a.me[a.ac<<1],a.bo&&80==a.Mb?d&&a.Td>=3*d.sc>>2&&(a.ac<<=1,b=d):(d&&a.Td>=d.sc&&(a.ac<<=1,b=d),b&&(a.Td=b.sc,a.Ud=b.tc)),a.Kg=a.Lg=0,b&&(a.Kg=a.Mb*b.sc,a.Lg=a.yc*b.tc)):(a.Td=a.Ud=1,a.Kg=a.Mb,a.Lg=a.yc),a.ji=a.md.createImageData(a.Kg,a.Lg),a.Hf=window.document.createElement("canvas"),a.Hf.width=a.Kg,a.Hf.height=a.Lg,a.Kf=a.Hf.getContext("2d"),a.Vk=a.Wk=0,a.jj=a.Sd,a.kj=a.Ae, -b=a.Sd-a.Mb*a.Td,d=a.Ae-a.yc*a.Ud,0>1,a.jj-=b),0>1,a.kj-=d),b||d)&&(a.md.fillStyle=a.Fg.style.backgroundColor,a.md.fillRect(0,0,a.Sd,a.Ae));!1!==c?ad(a,!0):Bj(a,!0)}return!0}function wj(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 Bj(a,b){var c;if(b){if(c=a.ni,void 0===a.oc||a.oc.length!=c)a.oc=Array(c)}else{if(void 0===a.oc)return;c=a.oc.length}for(var d=0;d>8;d=g&15;var h=a.me[a.ac];h.qg&&(d=h.qg[d]);var t=g>>4&15;h.qg&&(t=h.qg[t]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.Cf[t],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.Td+a.Vk,c=c*a.Ud+a.Wk,a.md.fillStyle=h.Cf[t],a.md.fillRect(b,c,a.Td,a.Ud));g&256&&(t=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,h.sc,h.tc):a.md.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,a.Td,a.Ud));g&512&&(f=a.zn,g=a.xl,e?(a.ze&&a.ze!==h.tc&&(f=Math.floor(f*h.tc/a.ze),g=Math.floor(g*h.tc/a.ze)), -e.fillStyle=h.Cf[d],e.fillRect(b,c+f,h.sc,g)):(a.ze&&a.ze!==a.Ud&&(f=Math.floor(f*a.Ud/a.ze),g=Math.floor(g*a.Ud/a.ze)),a.md.fillStyle=h.Cf[d],a.md.fillRect(b,c+f,a.Td,g)))} -function ad(a,b){if(a.da.$b){var c=!1;a.Fa&&(a.Fa===a.ga?a.ga.Wd&32&&(c=!0):a.Fa.Lc&8&&(c=!0));if(c||b){if(b)Bj(a,!0);else if(void 0===a.oc)return;var d=!1;!(b||++a.Jn&15)&&0<=a.bf&&(a.bf++,d=!0);var e=0,f=a.$l,c=a.Fa.Va,g=c+a.Fa.Ub,h=(a.Fa.nc[12]<<8)+a.Fa.nc[13];a.ac&&(h<<=1);var c=c+h,t=a.ej;c+t>g&&(t=g-c,0>t&&(t=0));g=c+t;if(h=!b){for(var h=a.ha,r=!0,B=c>>>h.Ja;0a.Vc)return;e=a.Vc;f= -e+1}}if(a.ac){if(a.me[a.ac]){d=0;h=a.af=0;t=1048575;a.Fa.Lc&32&&(h=32768,t&=~h,a.bf&2||(t&=-65537));for(c+=e<<1;c>8|(J&255)<<8;C=h;var Na=16;B>=t))>>(Na-=t);wj(a.ji,B++,E,r[qb])}B>M&&(M=B);E=qa&&(qa=E+1)}e+=2;g++;if(B>=a.Mb){B=0;E+=2;if(E>a.yc)break;E==a.yc&&(E=1,e=c+a.ul)}}NQ;Q++)qa= -Si[M&-2139062144]||0,wj(a.ji,h++,t,g[qa]),M<<=1;h>B&&(B=h);t=N&&(N=t+1)}e++;if(h>=a.Mb&&(h=0,++t>a.yc))break}r>2),c=this.ga.Ji&-17|(this.Gh&1<>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Zb(this.ha,b,c|d<<8);ad(this,!0)}};function pj(a){a.ga.Vg&1?(a.jd=a.dj,a.Lb=a.ga):(a.jd=a.ga,a.Lb=a.Rh)}k.save=function(){var a=new Ee(this);a.set(0,hj(this.dj));a.set(1,hj(this.Rh));a.set(2,[this.He,this.Hd,this.ce]);a.set(3,hj(this.ga));return a.data()}; +k.restore=function(a){var b=a[2];this.He=b[0];this.Hd=b[1];this.ce=b[2];this.Fa=null;this.jd=this.dj=new Ui(this,1,a[0]);this.Lb=this.Rh=new Ui(this,3,a[1]);this.ga=new Ui(this,5,a[3],this.kd);this.ga.od&&pj(this);qj(this);if(!sj(this))return!1;tj(this);return!0}; +k.wp=function(a,b,c){if(c)this.Ca("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){wa("Empty font ROM image: "+a);return}if(1==d.length){wa(d[0]);return}if(8192==d.length)gi(this,d,[0,6144]);else{this.Ca("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ca("Font ROM data error: "+e.message);return}ib(this)}}; +function uj(a,b){if(1==b)return a.Nd[0]=Oi[0],a.Nd[1]=Oi[7],a.Nd;if(2==b){var c=a.Fa.Kf;if(a.Fa===a.ga){var d=a.ga.je[0],c=d&7;d&16&&(c|=8);18!=a.ga.je[1]&&(c|=32)}a.Nd[0]=Oi[c&15];c=c&32?Qi:Pi;for(d=0;dNa||!Q?Na:8,Oa=ed.createImageData(r.sc,r.tc),Y=0;256>Y;Y++){for(V=0;V< +Na;V++)for(var pa=r.qg&&E&1&&V>=Na-2,ta=Ta[V>(8<=ia&&176<=Y&&223>=Y?7:ia)?C:qb;xj(Oa,Hc,fd,gd);N&&xj(Oa,Hc+1,fd,gd)}ed.putImageData(Oa,(Y&15)*r.sc,(Y>>4)*r.tc)}r.Df[E]="#"+m(C[0])+m(C[1])+m(C[2]);r.el[E]=C;r.Oi[E]=kc;r=!0}}a.me[b]=J;return r}function yj(a){0a.bf&&(a.bf=0):a.bf=-1} +function tj(a){if(a.ac){for(var b=10;15>=b;b++)if(null==a.Fa.nc[b])return;var c=a.Fa.nc[10],b=c&31,d=a.Fa.nc[11]&31,e=a.Fa.nc[9]&31,f=!1;a.Fa===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)zj(a);else{c=a.Fa.nc[15]+((a.Fa.nc[14]&63)<<8);a.Vc!=c&&(zj(a),a.Vc=c);d=d-b+1;if(a.zn!=b||a.xl!=d)a.zn=b,a.xl=d;a.ze=e+1;yj(a)}}} +function zj(a){if(0<=a.Vc){if(void 0!==a.oc){var b=a.oc[a.Vc];if(b&131072){var b=b&-131073,c=a.Vc%a.Mb,d=Math.floor(a.Vc/a.Mb);a.ac&&a.me[a.ac]&&(a.Lf&&Aj(a,c,d,b,a.Lf),Aj(a,c,d,b));a.oc[a.Vc]=b}}a.Vc=-1}} +function Bj(a){var b;a=a.Fa;var c=a.Te[5];if(null!=c){b=2;var d=512,e=a.Te[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Gd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Oe=function(a){var b=this.Fa;null!=a&&b&&a!=b.mi&&(b.Gi(a),this.ha.Gi(b.Va,b.Ub,b.Cj()))}; +function sj(a,b){var c,d=a.ce,e=a.Fa;if(e)if(1==e.De)d=Ji;else if(5==e.De){var d=null,f=e.kd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Bj(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||--d):(d=e.Lc&1?3:1,e.Lc&4&&--d)); +else a.ce=null,null==d&&(d=a.Hd);if(!rj(a,d,b))return!1;a.Oe(c);return!0} +function rj(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Jn=0;a.ce=b;b=a.Fa||(b==Ji?a.jd:a.Lb);if(b!=a.Fa||b.Va!=a.Va||b.Ub!=a.Ub){zj(a);if(a.Va){if(!Xb(a.ha,a.Va,a.Ub))return!1;a.Fa&&(a.Fa.od=!1)}a.Fa=b;b.od=!0;a.Va=b.Va;a.Ub=b.Ub;if(!Vb(a.ha,b.Va,b.Ub,3,b===a.ga?b:null))return!1}a.ac=0;a.Mb=a.oi;a.yc=a.Pj;a.Jj=Ii[Ji][2];b=0;var d=Ii[a.ce];d&&(a.Mb=d[0],a.yc=d[1],a.Jj=d[2],b=d[3]||0,a.ac=d[4],4==a.He&&a.Fa===a.ga&&3==a.ac&&(7==a.ga.nc[9]?a.yc=43:a.ac=5));a.$l=a.Mb*a.yc;a.ni=a.$l/a.Jj;a.ej=(a.ni<<1)+b;a.ul= +b?a.ej+b>>1:0;13<=a.ce&&(a.ni<<=1);a.me.length&&(a.Td=Math.floor(a.Sd/a.Mb),a.Ud=Math.floor(a.Ae/a.yc),a.ac?(b=a.me[a.ac],d=a.me[a.ac<<1],a.bo&&80==a.Mb?d&&a.Td>=3*d.sc>>2&&(a.ac<<=1,b=d):(d&&a.Td>=d.sc&&(a.ac<<=1,b=d),b&&(a.Td=b.sc,a.Ud=b.tc)),a.Kg=a.Lg=0,b&&(a.Kg=a.Mb*b.sc,a.Lg=a.yc*b.tc)):(a.Td=a.Ud=1,a.Kg=a.Mb,a.Lg=a.yc),a.ji=a.md.createImageData(a.Kg,a.Lg),a.If=window.document.createElement("canvas"),a.If.width=a.Kg,a.If.height=a.Lg,a.Lf=a.If.getContext("2d"),a.Vk=a.Wk=0,a.jj=a.Sd,a.kj=a.Ae, +b=a.Sd-a.Mb*a.Td,d=a.Ae-a.yc*a.Ud,0>1,a.jj-=b),0>1,a.kj-=d),b||d)&&(a.md.fillStyle=a.Fg.style.backgroundColor,a.md.fillRect(0,0,a.Sd,a.Ae));!1!==c?ad(a,!0):Cj(a,!0)}return!0}function xj(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 Cj(a,b){var c;if(b){if(c=a.ni,void 0===a.oc||a.oc.length!=c)a.oc=Array(c)}else{if(void 0===a.oc)return;c=a.oc.length}for(var d=0;d>8;d=g&15;var h=a.me[a.ac];h.qg&&(d=h.qg[d]);var t=g>>4&15;h.qg&&(t=h.qg[t]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.Df[t],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.Td+a.Vk,c=c*a.Ud+a.Wk,a.md.fillStyle=h.Df[t],a.md.fillRect(b,c,a.Td,a.Ud));g&256&&(t=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,h.sc,h.tc):a.md.drawImage(h.Oi[d],t,f,h.sc,h.tc,b,c,a.Td,a.Ud));g&512&&(f=a.zn,g=a.xl,e?(a.ze&&a.ze!==h.tc&&(f=Math.floor(f*h.tc/a.ze),g=Math.floor(g*h.tc/a.ze)), +e.fillStyle=h.Df[d],e.fillRect(b,c+f,h.sc,g)):(a.ze&&a.ze!==a.Ud&&(f=Math.floor(f*a.Ud/a.ze),g=Math.floor(g*a.Ud/a.ze)),a.md.fillStyle=h.Df[d],a.md.fillRect(b,c+f,a.Td,g)))} +function ad(a,b){if(a.da.$b){var c=!1;a.Fa&&(a.Fa===a.ga?a.ga.Wd&32&&(c=!0):a.Fa.Lc&8&&(c=!0));if(c||b){if(b)Cj(a,!0);else if(void 0===a.oc)return;var d=!1;!(b||++a.Jn&15)&&0<=a.bf&&(a.bf++,d=!0);var e=0,f=a.$l,c=a.Fa.Va,g=c+a.Fa.Ub,h=(a.Fa.nc[12]<<8)+a.Fa.nc[13];a.ac&&(h<<=1);var c=c+h,t=a.ej;c+t>g&&(t=g-c,0>t&&(t=0));g=c+t;if(h=!b){for(var h=a.ha,r=!0,B=c>>>h.Ja;0a.Vc)return;e=a.Vc;f= +e+1}}if(a.ac){if(a.me[a.ac]){d=0;h=a.af=0;t=1048575;a.Fa.Lc&32&&(h=32768,t&=~h,a.bf&2||(t&=-65537));for(c+=e<<1;c>8|(J&255)<<8;C=h;var Na=16;B>=t))>>(Na-=t);xj(a.ji,B++,E,r[qb])}B>M&&(M=B);E=qa&&(qa=E+1)}e+=2;g++;if(B>=a.Mb){B=0;E+=2;if(E>a.yc)break;E==a.yc&&(E=1,e=c+a.ul)}}NQ;Q++)qa= +Ti[M&-2139062144]||0,xj(a.ji,h++,t,g[qa]),M<<=1;h>B&&(B=h);t=N&&(N=t+1)}e++;if(h>=a.Mb&&(h=0,++t>a.yc))break}r>2),c=this.ga.Ji&-17|(this.Gh&1<f&&(f=0);f%b.Mj>b.qp&&(d|=1);f%=b.cm;f>b.sp&&(d|=8);b.Tj=e-f;b===a.ga?(d|=b.kg&48^48,b.Dd=!1):d=(b.kg^=9)|240;b.kg=d;q(a,b.port+6,null,c,b===a.ga?"STATUS1":"STATUS",d);return d} -var ij={948:Z.prototype.Po,949:Z.prototype.Oo,952:Z.prototype.Qo,954:Z.prototype.Ro,980:Z.prototype.xo,981:Z.prototype.wo,984:Z.prototype.yo,985:Z.prototype.vo,986:Z.prototype.zo},jj={948:Z.prototype.dq,949:Z.prototype.cq,952:Z.prototype.eq,980:Z.prototype.Np,981:Z.prototype.Mp,984:Z.prototype.Op,985:Z.prototype.Lp},kj={960:Z.prototype.Ul,961:Z.prototype.Ul,962:Z.prototype.ap,964:Z.prototype.$o,965:Z.prototype.Zo,970:Z.prototype.Io,972:Z.prototype.Ho,974:Z.prototype.Go,975:Z.prototype.Fo},lj={954:Z.prototype.gn, +k.Wp=function(a,b,c){this.oa()&&q(this,975,b,c,"GRC."+this.ga.Vi[this.ga.Xd]);this.ga.Te[this.ga.Xd]=b;switch(this.ga.Xd){case 0:this.ga.ti=Si[b&15];this.ga.pf=this.ga.ti&~this.ga.Ke;break;case 1:this.ga.Ke=~Si[b&15];this.ga.pf=this.ga.ti&~this.ga.Ke;break;case 2:this.ga.Kj=Si[b&15]&-2139062144;break;case 3:case 5:this.Oe(Bj(this));break;case 4:this.ga.Ck=(b&3)<<3;break;case 6:sj(this,!1);break;case 7:this.ga.Lj=Si[b&15^15]&-2139062144;break;case 8:this.ga.xb=b|b<<8|b<<16|b<<24}}; +k.xo=function(a,b){return Dj(this,this.Lb,b)};k.Np=function(a,b,c){a=this.Lb;a.ii=a.vc;a.vc=b&31;q(this,a.port,b,c,"CRTC.INDX")};k.wo=function(a,b){return Ej(this,this.Lb,b)};k.Mp=function(a,b,c){Fj(this,this.Lb,b,c)};k.yo=function(a,b){return Gj(this,this.Lb,b)};k.Op=function(a,b,c){a=this.Lb;q(this,a.port+4,b,c,"MODE");a.Lc=b;sj(this,!1)};k.vo=function(a,b){var c=this.Lb.Kf;this.oa()&&q(this,this.Lb.port+5,null,b,this.Lb.type+".COLOR",c);return c}; +k.Lp=function(a,b,c){this.oa()&&q(this,this.Lb.port+5,b,c,this.Lb.type+".COLOR");this.Lb.Kf!==b&&(this.Lb.Kf=b,Cj(this,!1))};k.zo=function(a,b){return Hj(this,this.Lb,b)};function Dj(a,b,c){var d=b.vc;q(a,b.port,null,c,"CRTC.INDX",d);return d}function Ej(a,b,c){var d;b.vcf&&(f=0);f%b.Mj>b.qp&&(d|=1);f%=b.cm;f>b.sp&&(d|=8);b.Tj=e-f;b===a.ga?(d|=b.kg&48^48,b.Dd=!1):d=(b.kg^=9)|240;b.kg=d;q(a,b.port+6,null,c,b===a.ga?"STATUS1":"STATUS",d);return d} +var jj={948:Z.prototype.Po,949:Z.prototype.Oo,952:Z.prototype.Qo,954:Z.prototype.Ro,980:Z.prototype.xo,981:Z.prototype.wo,984:Z.prototype.yo,985:Z.prototype.vo,986:Z.prototype.zo},kj={948:Z.prototype.dq,949:Z.prototype.cq,952:Z.prototype.eq,980:Z.prototype.Np,981:Z.prototype.Mp,984:Z.prototype.Op,985:Z.prototype.Lp},lj={960:Z.prototype.Ul,961:Z.prototype.Ul,962:Z.prototype.ap,964:Z.prototype.$o,965:Z.prototype.Zo,970:Z.prototype.Io,972:Z.prototype.Ho,974:Z.prototype.Go,975:Z.prototype.Fo},mj={954:Z.prototype.gn, 960:Z.prototype.fn,961:Z.prototype.fn,962:Z.prototype.gq,964:Z.prototype.nq,965:Z.prototype.mq,970:Z.prototype.Zp,972:Z.prototype.Yp,974:Z.prototype.Xp,975:Z.prototype.Wp,986:Z.prototype.gn}; Ja(function(){for(var a=cb(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=window.document.createElement("textarea");Ca("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);bb(d,c)}}); -function Hj(a){this.Ql=a.adapter;switch(this.Ql){case 1:this.Hk=1016;this.dh=4;break;case 2:this.Hk=760;this.dh=3;break;default:wa("Unrecognized serial adapter #"+this.Ql);return}this.xe=null;p.call(this,"SerialPort",a,Hj,2097152);var b=a.binding,c;a=Ij;b&&(void 0===c&&(c="Panel"),(c=$a(c,this.id))&&(b=c.qa[b])&&this.Fb(null,a,b))}Xa(p,Hj);var Ij="buffer";k=Hj.prototype;k.hl=function(a,b){return a==this.Sg?(this.Ge=b,this):null}; -k.Fb=function(a,b,c){var d=this;switch(b){case Ij:return this.qa[b]=this.xe=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Jj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Jj(d,[a.which||a.keyCode])},!0}return!1};k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet");bc(b,this,Kj,this.Hk);fc(b,this,Lj,this.Hk);ib(this)};k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ee()};k.save=function(){var a=new Ee(this),b=0,c=[];c[b++]=this.aj;c[b++]=this.nl;c[b++]=this.yf;c[b++]=this.Hh;c[b++]=this.re;c[b++]=this.hd;c[b++]=this.zd;c[b++]=this.Sc;c[b++]=this.ll;c[b]=this.tg;a.set(0,c);return a.data()};k.restore=function(a){return this.Ee(a[0])}; -k.Ee=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.aj=a[b++];this.nl=a[b++];this.yf=a[b++];this.Hh=a[b++];this.re=a[b++];this.hd=a[b++];this.zd=a[b++];this.Sc=a[b++];this.ll=a[b++];this.tg=a[b];return!0};function Jj(a,b){a.tg=a.tg.concat(b);Mj(a)}function Mj(a){0>8:this.Hh;q(this,a,null,b,this.hd&128?"DLM":"IER",c);return c};k.Ko=function(a,b){var c=this.re;q(this,a,null,b,"IIR",c);return c};k.Lo=function(a,b){var c=this.hd;q(this,a,null,b,"LCR",c);return c};k.No=function(a,b){var c=this.zd;q(this,a,null,b,"MCR",c);return c}; -k.Mo=function(a,b){var c=this.Sc;q(this,a,null,b,"LSR",c);return c};k.To=function(a,b){var c=this.ll;q(this,a,null,b,"MSR",c);return c};k.oq=function(a,b,c){q(this,a,b,c,this.hd&128?"DLL":"THR");this.hd&128?this.yf=this.yf&-256|b:(this.nl=b,this.Sc&=-97,this.xe?(13!=b&&(8==b?this.xe.value=this.xe.value.slice(0,-1):(this.xe.value+=String.fromCharCode(b),this.xe.scrollTop=this.xe.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))}; -k.$p=function(a,b,c){q(this,a,b,c,this.hd&128?"DLM":"IER");this.hd&128?this.yf=this.yf&255|b<<8:this.Hh=b};k.aq=function(a,b,c){q(this,a,b,c,"LCR");this.hd=b}; -k.bq=function(a,b,c){var d=this.zd;q(this,a,b,c,"MCR");this.zd=b;this.Ge&&(d^b)&3&&(a=this.Ge,b=this.zd,(c=3==(b&3))?a.od||(d=!1,a.zd&2||(a.reset(),a.Wa("serial mouse reset"),d=!0),a.zd&1||(a.Wa("serial mouse ID requested"),d=!0),d&&(Jj(a.Hg,[77,77]),a.Wa("serial mouse ID sent")),Nj(a,a.Ha),a.setActive(c)):a.od&&(a.Wa("serial mouse inactive"),Oj(a.Ha),a.setActive(c)),a.zd=b)}; -var Kj={0:Hj.prototype.Yo,1:Hj.prototype.Jo,2:Hj.prototype.Ko,3:Hj.prototype.Lo,4:Hj.prototype.No,5:Hj.prototype.Mo,6:Hj.prototype.To},Lj={0:Hj.prototype.oq,1:Hj.prototype.$p,3:Hj.prototype.aq,4:Hj.prototype.bq};Ja(function(){for(var a=cb(window.document,"pcjs","serial"),b=0;bthis.he||0>this.ie)this.he=a.clientX,this.ie=a.clientY;this.ai?(this.zf=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Af=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.zf=a.clientX-this.he,this.Af=a.clientY-this.ie);(this.zf||this.Af)&&Qj(this,null,a.clientX,a.clientY);this.he=a.clientX;this.ie=a.clientY}}; -k.gj=function(a,b){if(this.od&&this.N&&this.N.da.jb){var c;!(c=!1!==this.ai)&&(c=this.video)&&(c=this.video,c=c.Xn?c.lf(!0):!1);c||(this.ai=null);switch(a){case 0:this.Xh!=b&&(this.Xh=b,Qj(this,"mouse button1 "+(b?"dn":"up")));break;case 2:this.Yh!=b&&(this.Yh=b,Qj(this,"mouse button2 "+(b?"dn":"up")))}}}; -function Qj(a,b,c,d){var e=64|(a.Xh?32:0)|(a.Yh?16:0)|(a.Af&192)>>4|(a.zf&192)>>6,f=a.zf&63,g=a.Af&63;a.oa(2097152)&&a.Wa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+m(e)+","+m(f)+","+m(g)+"]",0,!0);Jj(a.Hg,[e,f,g]);a.zf=a.Af=0}Ja(function(){for(var a=cb(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.eb=Array(g.yb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Vj(this,b),this.bi=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=va()+"/api/v1/dump?"+ -c+"="+encodeURIComponent(b)+(this.Sf?"":d)+"&format=json")),ua(f,!0,null,this,this.Sn,b)}; -k.Sn=function(a,b,c,d){var e=null;this.Tf=!1;var f=0>c&&this.Ba&&!this.Ba.da.$b;if(this.bi)c?this.X.Ca('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Vd=!0,e=this);else if(c)this.X.Ca('Unable to load disk "'+this.Jd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& +function Ij(a){this.Ql=a.adapter;switch(this.Ql){case 1:this.Hk=1016;this.dh=4;break;case 2:this.Hk=760;this.dh=3;break;default:wa("Unrecognized serial adapter #"+this.Ql);return}this.xe=null;p.call(this,"SerialPort",a,Ij,2097152);var b=a.binding,c;a=Jj;b&&(void 0===c&&(c="Panel"),(c=$a(c,this.id))&&(b=c.ra[b])&&this.Fb(null,a,b))}Xa(p,Ij);var Jj="buffer";k=Ij.prototype;k.hl=function(a,b){return a==this.Sg?(this.Ge=b,this):null}; +k.Fb=function(a,b,c){var d=this;switch(b){case Jj:return this.ra[b]=this.xe=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Kj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Kj(d,[a.which||a.keyCode])},!0}return!1};k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.fa=sb(a,"ChipSet");bc(b,this,Lj,this.Hk);fc(b,this,Mj,this.Hk);ib(this)};k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ee()};k.save=function(){var a=new Ee(this),b=0,c=[];c[b++]=this.aj;c[b++]=this.nl;c[b++]=this.zf;c[b++]=this.Hh;c[b++]=this.re;c[b++]=this.hd;c[b++]=this.zd;c[b++]=this.Sc;c[b++]=this.ll;c[b]=this.tg;a.set(0,c);return a.data()};k.restore=function(a){return this.Ee(a[0])}; +k.Ee=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.aj=a[b++];this.nl=a[b++];this.zf=a[b++];this.Hh=a[b++];this.re=a[b++];this.hd=a[b++];this.zd=a[b++];this.Sc=a[b++];this.ll=a[b++];this.tg=a[b];return!0};function Kj(a,b){a.tg=a.tg.concat(b);Nj(a)}function Nj(a){0>8:this.Hh;q(this,a,null,b,this.hd&128?"DLM":"IER",c);return c};k.Ko=function(a,b){var c=this.re;q(this,a,null,b,"IIR",c);return c};k.Lo=function(a,b){var c=this.hd;q(this,a,null,b,"LCR",c);return c};k.No=function(a,b){var c=this.zd;q(this,a,null,b,"MCR",c);return c}; +k.Mo=function(a,b){var c=this.Sc;q(this,a,null,b,"LSR",c);return c};k.To=function(a,b){var c=this.ll;q(this,a,null,b,"MSR",c);return c};k.oq=function(a,b,c){q(this,a,b,c,this.hd&128?"DLL":"THR");this.hd&128?this.zf=this.zf&-256|b:(this.nl=b,this.Sc&=-97,this.xe?(13!=b&&(8==b?this.xe.value=this.xe.value.slice(0,-1):(this.xe.value+=String.fromCharCode(b),this.xe.scrollTop=this.xe.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))}; +k.$p=function(a,b,c){q(this,a,b,c,this.hd&128?"DLM":"IER");this.hd&128?this.zf=this.zf&255|b<<8:this.Hh=b};k.aq=function(a,b,c){q(this,a,b,c,"LCR");this.hd=b}; +k.bq=function(a,b,c){var d=this.zd;q(this,a,b,c,"MCR");this.zd=b;this.Ge&&(d^b)&3&&(a=this.Ge,b=this.zd,(c=3==(b&3))?a.od||(d=!1,a.zd&2||(a.reset(),a.Wa("serial mouse reset"),d=!0),a.zd&1||(a.Wa("serial mouse ID requested"),d=!0),d&&(Kj(a.Hg,[77,77]),a.Wa("serial mouse ID sent")),Oj(a,a.Ha),a.setActive(c)):a.od&&(a.Wa("serial mouse inactive"),Pj(a.Ha),a.setActive(c)),a.zd=b)}; +var Lj={0:Ij.prototype.Yo,1:Ij.prototype.Jo,2:Ij.prototype.Ko,3:Ij.prototype.Lo,4:Ij.prototype.No,5:Ij.prototype.Mo,6:Ij.prototype.To},Mj={0:Ij.prototype.oq,1:Ij.prototype.$p,3:Ij.prototype.aq,4:Ij.prototype.bq};Ja(function(){for(var a=cb(window.document,"pcjs","serial"),b=0;bthis.he||0>this.ie)this.he=a.clientX,this.ie=a.clientY;this.ai?(this.Af=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Bf=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Af=a.clientX-this.he,this.Bf=a.clientY-this.ie);(this.Af||this.Bf)&&Rj(this,null,a.clientX,a.clientY);this.he=a.clientX;this.ie=a.clientY}}; +k.gj=function(a,b){if(this.od&&this.N&&this.N.da.jb){var c;!(c=!1!==this.ai)&&(c=this.video)&&(c=this.video,c=c.Xn?c.lf(!0):!1);c||(this.ai=null);switch(a){case 0:this.Xh!=b&&(this.Xh=b,Rj(this,"mouse button1 "+(b?"dn":"up")));break;case 2:this.Yh!=b&&(this.Yh=b,Rj(this,"mouse button2 "+(b?"dn":"up")))}}}; +function Rj(a,b,c,d){var e=64|(a.Xh?32:0)|(a.Yh?16:0)|(a.Bf&192)>>4|(a.Af&192)>>6,f=a.Af&63,g=a.Bf&63;a.oa(2097152)&&a.Wa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+m(e)+","+m(f)+","+m(g)+"]",0,!0);Kj(a.Hg,[e,f,g]);a.Af=a.Bf=0}Ja(function(){for(var a=cb(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.eb=Array(g.yb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Wj(this,b),this.bi=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=va()+"/api/v1/dump?"+ +c+"="+encodeURIComponent(b)+(this.Tf?"":d)+"&format=json")),ua(f,!0,null,this,this.Sn,b)}; +k.Sn=function(a,b,c,d){var e=null;this.Uf=!1;var f=0>c&&this.Ba&&!this.Ba.da.$b;if(this.bi)c?this.X.Ca('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Vd=!0,e=this);else if(c)this.X.Ca('Unable to load disk "'+this.Jd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& '["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)wa(h[0]);else{this.yb=h.length;this.zb=h[0].length;this.Db=h[0][0].length;var t=h[0][0][0];this.qb=t&&t.length||512;for(b=a=0;b>2,B=t.pattern;void 0===B&&(B=t.pattern=0);var J=t.data;if(void 0===J){var C=t.bytes;if(void 0!==C&&C.length){for(var f= -r<<2,E=C.length;Eb&&(b=0);2E3b&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function ak(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.Tf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Gc?f=a.qd+a.Gc&&(a.Gc+=f-(a.qd+a.Gc)+1):(a.qd=f,a.Gc=1);d[f]=d[f]&~(255<=this.eb.length||t>=this.eb[h].length||r>=this.eb[h][t].length){c="sector (CHS="+h+":"+t+":"+r+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.Tf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.eb[h][t][r]){for(t=h.data.length;tb&&-2!=b&&this.X.Ca("Unable to restore disk '"+this.Jd+": "+c);return b}; +k.seek=function(a,b,c,d,e){var f=null,g=this.Oa,h=this.eb[a];if(h){var t=h[b];if(!t&&g.Zi&&b>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function bk(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} +k.write=function(a,b,c){if(this.Uf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Gc?f=a.qd+a.Gc&&(a.Gc+=f-(a.qd+a.Gc)+1):(a.qd=f,a.Gc=1);d[f]=d[f]&~(255<=this.eb.length||t>=this.eb[h].length||r>=this.eb[h][t].length){c="sector (CHS="+h+":"+t+":"+r+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.Uf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.eb[h][t][r]){for(t=h.data.length;tb&&-2!=b&&this.X.Ca("Unable to restore disk '"+this.Jd+": "+c);return b}; k.toJSON=function(){var a=JSON.stringify(this.eb),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}; -function bk(a){p.call(this,"FDC",a,bk,262144);this.dmaRead=this.lj;this.dmaWrite=this.mj;this.dmaFormat=this.Pn;this.cf=null;if(a.autoMount&&(this.cf=a.autoMount,"string"==typeof this.cf))try{this.cf=eval("("+a.autoMount+")")}catch(b){wa("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.cf=null}this.Ac=[];this.Fl=!Ca("Mobi")&&window&&"FileReader"in window}Xa(p,bk);l={};aa={}; -var ck={3:{Rd:3,ve:0,name:aa.jr},4:{Rd:2,ve:1,name:aa.hr},5:{Rd:9,ve:7,name:aa.vr},6:{Rd:9,ve:7,name:aa.br},7:{Rd:2,ve:0,name:aa.dr},8:{Rd:1,ve:2,name:aa.ir},10:{Rd:2,ve:7,name:aa.cr},13:{Rd:6,ve:7,name:aa.Oq},15:{Rd:3,ve:0,name:aa.gr}};k=bk.prototype; -k.Fb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){wa("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&dk(d,a)}, -!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&ek(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Fl?(this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ek(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; -k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.fa=sb(a,"ChipSet");this.Zd();bc(b,this,fk);fc(b,this,gk);this.Fl&&hk(this,"Local Disk","?");hk(this,"Remote Disk","??");this.wg()||ib(this)}; -k.fc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ba.vj){this.Ac=[];for(var c=0;c'+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ra[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&ek(d,a)}, +!0;case "loadDrive":return this.ra[b]=c,c.onclick=function(){var a=d.ra.listDisks;a&&fk(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Fl?(this.ra[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;fk(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; +k.wc=function(a,b,c,d){this.ha=b;this.N=c;this.Z=d;this.Ba=a;this.fa=sb(a,"ChipSet");this.Zd();bc(b,this,gk);fc(b,this,hk);this.Fl&&ik(this,"Local Disk","?");ik(this,"Remote Disk","??");this.wg()||ib(this)}; +k.fc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ba.vj){this.Ac=[];for(var c=0;ca.sa.restore(g)&&(e=!1);e&&a.sa&&void 0!==a.Pa&&(a.Ta=a.sa.seek(a.vb,a.Na,a.Za));return e};k.Qk=function(){for(var a=0,b=[],c=0;ca.yb||f[1]>a.zb)&&(this.Ca('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.sa=b,a.qn=c,a.vf=d,lk(this,c,d,b),f=b.info(),this.Me|=128,this.Ca('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.hf||e),a.pi=f[0],a.ah=f[1],a.bh=f[2]):a.Qf=!1;a.hf&&(a.hf=!1,--this.$e||ib(this));dk(this,a.kb)}; -function hk(a,b,c){if(a=a.qa.listDisks){for(var d=0;d=this.ib&&(this.ya&=-81,this.Ab=this.ib=0);return c}; -k.Up=function(a,b,c){this.oa()&&q(this,a,b,c,"DATA["+this.ib+"]");this.ib=ck[a].Rd){b=!1;this.Ab=0;a=this.Sa();var d,e,f,g,h=a&31;switch(h){case 3:this.Sa(l.kr);this.Sa(l.Rq);this.Xb();break;case 4:c=this.Sa(l.ng);this.kb=c&3;d=this.Aa[this.kb];this.Xb();this.lc((d.bb&-16777216)>>>24,l.nr);break;case 5:case 6:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];d.Na=b;c=d.vb=this.Sa(l.Xk);e=this.Sa(l.Yk);f=d.Za= -this.Sa(l.$k);g=this.Sa(l.Mi);d.hb=128<>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=d.Za=1;g=0;d.bb=0;d.sa&&(d.Ta=d.sa.seek(d.vb,d.Na,d.Za))?g=d.Ta.length:d.bb=72;mk(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=1;g=this.Sa(l.Mi);d.hb=128<>2&1,c=this.Sa(l.Xq),d.vb+=c-d.qe,0>d.vb&&(d.vb=0),d.vb>=d.yb&&(d.vb=d.yb-1),d.qe=c,d.bb=32,d.vb||(d.bb|=268435456),this.Xb(),b=!0}0>>8,l.lr);a.lc((b.bb&16711680)>>>16,l.mr);var t=0;if(e!=b.vb||f!=b.Na)t=g=1;c&128&&(f^=t,d||(t=0));a.lc(e+t,l.Xk);a.lc(f,l.Yk);a.lc(g,l.$k);a.lc(h,l.Mi)}k.Sa=function(){var a=this.mc[this.Ab];this.Ab++;return a};k.Xb=function(){this.Ab=this.ib=0};k.lc=function(a){this.mc[this.ib++]=a};k.lj=function(a,b,c){void 0===b||0>b?this.Eb(a,c):c(-1,!1)}; -k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Pn=function(a,b){return void 0!==b&&0<=b?this.Sk(a,b):-1};k.Eb=function(a,b){var c=-1,d=null,e=0;if(!a.bb&&a.sa){do{if(a.Ta&&(e=a.Pa,0<=(c=ak(a.Ta,a.Pa++)))){d=a.Ta;break}a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=1088;break}a.Pa=0;this.vg(a)}while(1)}b(c,!1,d,e)}; -k.Ib=function(a,b){if(a.bb||!a.sa)return-1;do{if(a.Ta&&a.sa.write(a.Ta,a.Pa++,b))break;a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=8256;b=-1;break}a.Pa=0;this.vg(a)}while(1);return b};k.vg=function(a){a.Za++;a.Za>=a.bh+1&&(a.Za=1,a.Na++,a.Na>=a.ah&&(a.Na=0,a.vb++))};k.Sk=function(a,b){if(a.bb)return-1;a.Qc[a.If++]=b;if(a.If==a.Qc.length){a.vb=a.Qc[0];a.Na=a.Qc[1];a.Za=a.Qc[2];a.hb=128<this.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b}; -var fk={1012:bk.prototype.Eo,1013:bk.prototype.Co,1015:bk.prototype.Do},gk={1010:bk.prototype.Vp,1013:bk.prototype.Up,1015:bk.prototype.Tp};Ja(function(){for(var a=cb(window.document,"pcjs","fdc"),b=0;b=e&&(this.gg|=(f.type&3)<<(1-e<<1))}return d}; -k.Ok=function(){var a=0,b=[];this.gf?(b[a++]=this.Le,b[a++]=this.pn,b[a++]=this.Ne,b[a++]=this.Bi,b[a++]=this.zi,b[a++]=this.yi,b[a++]=this.hg,b[a++]=this.ya,b[a++]=this.Kk,b[a++]=this.Ai):(b[a++]=this.gg,b[a++]=this.ya,b[a++]=this.mc,b[a++]=this.Ab,b[a++]=this.ib,b[a++]=this.on,b[a++]=this.nn,b[a++]=this.mn,b[a++]=this.Wf);b[a]=this.Qk();return b}; -k.Gj=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.kb=a;b.errorCode=d[f++];b.vn=d[f++];b.Sf=d[f++];b.Ff=d[f++];b.Gf=d[f++];b.Na=d[f++];b.zb=d[f++];b.ge=d[f++];b.Za=d[f++];b.se=d[f++];b.hb=d[f++];b.Mh=this.gf?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Ce()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===ok[this.Rg][b.type])b.type=this.io;c=ok[this.Rg][b.type]; -b.Db=c[2]||17;b.qb=c[3]||512;if(e&&this.fa&&(e=this.fa,c=b.type,e.ea)){var h=e.ea[18],h=a?h&240|c:h&15|c<<4;e.ea&&(e.ea[18]=h,ih(e))}void 0===b.sa&&(b.sa=null,this.Ca("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));tk(this,b);b.Pa=d[f++];b.Ta=null;b.sa&&(a=d[f],void 0!==a&&0>b.sa.restore(a)&&(g=!1),g&&void 0!==b.Pa&&(b.Ta=b.sa.seek(b.ge,b.Na,b.Za+b.Mh)));return g};k.Qk=function(){for(var a=0,b=[],c=0;ca.sa.restore(g)&&(e=!1);e&&a.sa&&void 0!==a.Pa&&(a.Ta=a.sa.seek(a.vb,a.Na,a.Za));return e};k.Qk=function(){for(var a=0,b=[],c=0;ca.yb||f[1]>a.zb)&&(this.Ca('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.sa=b,a.qn=c,a.wf=d,mk(this,c,d,b),f=b.info(),this.Me|=128,this.Ca('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.hf||e),a.pi=f[0],a.ah=f[1],a.bh=f[2]):a.Rf=!1;a.hf&&(a.hf=!1,--this.$e||ib(this));ek(this,a.kb)}; +function ik(a,b,c){if(a=a.ra.listDisks){for(var d=0;d=this.ib&&(this.ya&=-81,this.Ab=this.ib=0);return c}; +k.Up=function(a,b,c){this.oa()&&q(this,a,b,c,"DATA["+this.ib+"]");this.ib=dk[a].Rd){b=!1;this.Ab=0;a=this.Sa();var d,e,f,g,h=a&31;switch(h){case 3:this.Sa(l.kr);this.Sa(l.Rq);this.Xb();break;case 4:c=this.Sa(l.ng);this.kb=c&3;d=this.Aa[this.kb];this.Xb();this.lc((d.bb&-16777216)>>>24,l.nr);break;case 5:case 6:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];d.Na=b;c=d.vb=this.Sa(l.Xk);e=this.Sa(l.Yk);f=d.Za= +this.Sa(l.$k);g=this.Sa(l.Mi);d.hb=128<>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=d.Za=1;g=0;d.bb=0;d.sa&&(d.Ta=d.sa.seek(d.vb,d.Na,d.Za))?g=d.Ta.length:d.bb=72;nk(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Sa(l.ng);b=c>>2&1;this.kb=c&3;d=this.Aa[this.kb];c=d.vb;e=d.Na=b;f=1;g=this.Sa(l.Mi);d.hb=128<>2&1,c=this.Sa(l.Xq),d.vb+=c-d.qe,0>d.vb&&(d.vb=0),d.vb>=d.yb&&(d.vb=d.yb-1),d.qe=c,d.bb=32,d.vb||(d.bb|=268435456),this.Xb(),b=!0}0>>8,l.lr);a.lc((b.bb&16711680)>>>16,l.mr);var t=0;if(e!=b.vb||f!=b.Na)t=g=1;c&128&&(f^=t,d||(t=0));a.lc(e+t,l.Xk);a.lc(f,l.Yk);a.lc(g,l.$k);a.lc(h,l.Mi)}k.Sa=function(){var a=this.mc[this.Ab];this.Ab++;return a};k.Xb=function(){this.Ab=this.ib=0};k.lc=function(a){this.mc[this.ib++]=a};k.lj=function(a,b,c){void 0===b||0>b?this.Eb(a,c):c(-1,!1)}; +k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Pn=function(a,b){return void 0!==b&&0<=b?this.Sk(a,b):-1};k.Eb=function(a,b){var c=-1,d=null,e=0;if(!a.bb&&a.sa){do{if(a.Ta&&(e=a.Pa,0<=(c=bk(a.Ta,a.Pa++)))){d=a.Ta;break}a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=1088;break}a.Pa=0;this.vg(a)}while(1)}b(c,!1,d,e)}; +k.Ib=function(a,b){if(a.bb||!a.sa)return-1;do{if(a.Ta&&a.sa.write(a.Ta,a.Pa++,b))break;a.Ta=a.sa.seek(a.vb,a.Na,a.Za);if(!a.Ta){a.bb=8256;b=-1;break}a.Pa=0;this.vg(a)}while(1);return b};k.vg=function(a){a.Za++;a.Za>=a.bh+1&&(a.Za=1,a.Na++,a.Na>=a.ah&&(a.Na=0,a.vb++))};k.Sk=function(a,b){if(a.bb)return-1;a.Qc[a.Jf++]=b;if(a.Jf==a.Qc.length){a.vb=a.Qc[0];a.Na=a.Qc[1];a.Za=a.Qc[2];a.hb=128<this.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b}; +var gk={1012:ck.prototype.Eo,1013:ck.prototype.Co,1015:ck.prototype.Do},hk={1010:ck.prototype.Vp,1013:ck.prototype.Up,1015:ck.prototype.Tp};Ja(function(){for(var a=cb(window.document,"pcjs","fdc"),b=0;b=e&&(this.hg|=(f.type&3)<<(1-e<<1))}return d}; +k.Ok=function(){var a=0,b=[];this.gf?(b[a++]=this.Le,b[a++]=this.pn,b[a++]=this.Ne,b[a++]=this.Bi,b[a++]=this.zi,b[a++]=this.yi,b[a++]=this.ig,b[a++]=this.ya,b[a++]=this.Kk,b[a++]=this.Ai):(b[a++]=this.hg,b[a++]=this.ya,b[a++]=this.mc,b[a++]=this.Ab,b[a++]=this.ib,b[a++]=this.on,b[a++]=this.nn,b[a++]=this.mn,b[a++]=this.Xf);b[a]=this.Qk();return b}; +k.Gj=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.kb=a;b.errorCode=d[f++];b.vn=d[f++];b.Tf=d[f++];b.Gf=d[f++];b.Hf=d[f++];b.Na=d[f++];b.zb=d[f++];b.ge=d[f++];b.Za=d[f++];b.se=d[f++];b.hb=d[f++];b.Mh=this.gf?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Ce()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===pk[this.Rg][b.type])b.type=this.io;c=pk[this.Rg][b.type]; +b.Db=c[2]||17;b.qb=c[3]||512;if(e&&this.fa&&(e=this.fa,c=b.type,e.ea)){var h=e.ea[18],h=a?h&240|c:h&15|c<<4;e.ea&&(e.ea[18]=h,jh(e))}void 0===b.sa&&(b.sa=null,this.Ca("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));uk(this,b);b.Pa=d[f++];b.Ta=null;b.sa&&(a=d[f],void 0!==a&&0>b.sa.restore(a)&&(g=!1),g&&void 0!==b.Pa&&(b.Ta=b.sa.seek(b.ge,b.Na,b.Za+b.Mh)));return g};k.Qk=function(){for(var a=0,b=[],c=0;c=this.ib&&(this.Ab=this.ib=0,this.ya&=-15);return c}; -k.qq=function(a,b,c){q(this,a,b,c,"DATA["+this.ib+"]");this.ib=a&&(this.ya|=2,this.ya&=-2,uk(this))};k.ep=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);this.Ab=this.ib&&(this.Ab=this.ib=0,this.ya&=-15);return c}; +k.qq=function(a,b,c){q(this,a,b,c,"DATA["+this.ib+"]");this.ib=a&&(this.ya|=2,this.ya&=-2,vk(this))};k.ep=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);this.Ab=this.Oa.qb?(d.ya=136,this.Eb(this.Oa,function(a){0<=a?(vk(d),d.ya=80):(d.ya=1,d.Le=16)},!1)):this.ya=80)}return c}; -k.Fp=function(a,b,c){this.Oa&&this.Oa.hb>=this.Oa.qb&&(0>this.Ib(this.Oa,b)?(this.ya=1,this.Le=16):1==this.Oa.Pa?this.oa(524416)&&q(this,a,b,c,"DATA["+this.Oa.Pa+"]"):this.Oa.Pa==this.Oa.qb&&(this.Oa.hb-=this.Oa.qb,this.Ne=this.Ne-1&255,vk(this),this.ya=80,this.Oa.hb>=this.Oa.qb&&(this.ya|=8)))};k.ro=function(a,b){var c=this.Le;q(this,a,null,b,"ERROR",c);return c};k.Kp=function(a,b,c){q(this,a,b,c,"WPREC");this.pn=b};k.so=function(a,b){var c=this.Ne;q(this,a,null,b,"SECCNT",c);return c}; -k.Ip=function(a,b,c){q(this,a,b,c,"SECCNT");this.Ne=b};k.to=function(a,b){var c=this.Bi;q(this,a,null,b,"SECNUM",c);return c};k.Jp=function(a,b,c){q(this,a,b,c,"SECNUM");this.Bi=b};k.oo=function(a,b){var c=this.zi;q(this,a,null,b,"CYLLO",c);return c};k.Ep=function(a,b,c){q(this,a,b,c,"CYLLO");this.zi=b};k.no=function(a,b){var c=this.yi;q(this,a,null,b,"CYLHI",c);return c};k.Dp=function(a,b,c){q(this,a,b,c,"CYLHI");this.yi=b};k.qo=function(a,b){var c=this.hg;q(this,a,null,b,"DRVHD",c);return c}; -k.Gp=function(a,b,c){q(this,a,b,c,"DRVHD");this.hg=b;this.ya=this.Aa[this.hg&16?1:0]?this.ya|64:this.ya&-65};k.uo=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);return c};k.Cp=function(a,b,c){q(this,a,b,c,"COMMAND");this.Kk=b;this.fa&&Oh(this.fa,14);wk(this)};k.Hp=function(a,b,c){q(this,a,b,c,"FDR");this.Ai&4&&!(b&4)&&(this.Le=1);this.Ai=b}; -function wk(a){var b=!1,c=a.Kk,d=a.hg&16?1:0,e=a.hg&15,f=a.zi|(a.yi&3)<<8,g=a.Bi,h=a.Ne||256;a.Oa=null;a.Le=0;a.ya=80;(d=a.Aa[d])?(d.ge=f,d.Na=e,d.Za=g,d.hb=h*d.qb,c=144<=c?c:c&240,d.Ta=null,d.Pa=0,d.errorCode=0,a.Oa=d):c=-1;switch(c&240){case 32:a.ya=136;a.Eb(d,function(b){0<=b&&a.fa?(vk(a),a.ya=80):(a.ya=1,a.Le=16)},!1);break;case 48:a.ya=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Le=1;b=!0;break;case 145:d.zb=e+1,d.Db=h,b=!0}b&&vk(a)} -function vk(a){!a.fa||a.Ai&2||Nh(a.fa,14,120)} -function uk(a){a.Ab=0;var b=a.Sa(),c=a.Sa(),d=c&32,e=d>>5,f=c&31,g=a.Sa(),h=a.Sa(),t=g<<2&768|h,r=g&63,B=a.Sa(),J=a.Sa(),C=a.Aa[e];C&&(C.ge=t,C.Na=f,C.Za=r,C.hb=B*C.qb);switch(b){case 3:a.Xb(C?C.errorCode:4);a.lc(c);a.lc(g);a.lc(h);a.lc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Sa());)C&&cb?this.Eb(a,c):c(-1,!1)}; -k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Qn=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Pa=this.Oa.qb?(d.ya=136,this.Eb(this.Oa,function(a){0<=a?(wk(d),d.ya=80):(d.ya=1,d.Le=16)},!1)):this.ya=80)}return c}; +k.Fp=function(a,b,c){this.Oa&&this.Oa.hb>=this.Oa.qb&&(0>this.Ib(this.Oa,b)?(this.ya=1,this.Le=16):1==this.Oa.Pa?this.oa(524416)&&q(this,a,b,c,"DATA["+this.Oa.Pa+"]"):this.Oa.Pa==this.Oa.qb&&(this.Oa.hb-=this.Oa.qb,this.Ne=this.Ne-1&255,wk(this),this.ya=80,this.Oa.hb>=this.Oa.qb&&(this.ya|=8)))};k.ro=function(a,b){var c=this.Le;q(this,a,null,b,"ERROR",c);return c};k.Kp=function(a,b,c){q(this,a,b,c,"WPREC");this.pn=b};k.so=function(a,b){var c=this.Ne;q(this,a,null,b,"SECCNT",c);return c}; +k.Ip=function(a,b,c){q(this,a,b,c,"SECCNT");this.Ne=b};k.to=function(a,b){var c=this.Bi;q(this,a,null,b,"SECNUM",c);return c};k.Jp=function(a,b,c){q(this,a,b,c,"SECNUM");this.Bi=b};k.oo=function(a,b){var c=this.zi;q(this,a,null,b,"CYLLO",c);return c};k.Ep=function(a,b,c){q(this,a,b,c,"CYLLO");this.zi=b};k.no=function(a,b){var c=this.yi;q(this,a,null,b,"CYLHI",c);return c};k.Dp=function(a,b,c){q(this,a,b,c,"CYLHI");this.yi=b};k.qo=function(a,b){var c=this.ig;q(this,a,null,b,"DRVHD",c);return c}; +k.Gp=function(a,b,c){q(this,a,b,c,"DRVHD");this.ig=b;this.ya=this.Aa[this.ig&16?1:0]?this.ya|64:this.ya&-65};k.uo=function(a,b){var c=this.ya;q(this,a,null,b,"STATUS",c);return c};k.Cp=function(a,b,c){q(this,a,b,c,"COMMAND");this.Kk=b;this.fa&&Ph(this.fa,14);xk(this)};k.Hp=function(a,b,c){q(this,a,b,c,"FDR");this.Ai&4&&!(b&4)&&(this.Le=1);this.Ai=b}; +function xk(a){var b=!1,c=a.Kk,d=a.ig&16?1:0,e=a.ig&15,f=a.zi|(a.yi&3)<<8,g=a.Bi,h=a.Ne||256;a.Oa=null;a.Le=0;a.ya=80;(d=a.Aa[d])?(d.ge=f,d.Na=e,d.Za=g,d.hb=h*d.qb,c=144<=c?c:c&240,d.Ta=null,d.Pa=0,d.errorCode=0,a.Oa=d):c=-1;switch(c&240){case 32:a.ya=136;a.Eb(d,function(b){0<=b&&a.fa?(wk(a),a.ya=80):(a.ya=1,a.Le=16)},!1);break;case 48:a.ya=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Le=1;b=!0;break;case 145:d.zb=e+1,d.Db=h,b=!0}b&&wk(a)} +function wk(a){!a.fa||a.Ai&2||Oh(a.fa,14,120)} +function vk(a){a.Ab=0;var b=a.Sa(),c=a.Sa(),d=c&32,e=d>>5,f=c&31,g=a.Sa(),h=a.Sa(),t=g<<2&768|h,r=g&63,B=a.Sa(),J=a.Sa(),C=a.Aa[e];C&&(C.ge=t,C.Na=f,C.Za=r,C.hb=B*C.qb);switch(b){case 3:a.Xb(C?C.errorCode:4);a.lc(c);a.lc(g);a.lc(h);a.lc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Sa());)C&&cb?this.Eb(a,c):c(-1,!1)}; +k.mj=function(a,b){return void 0!==b&&0<=b?this.Ib(a,b):-1};k.Qn=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Pa=a.Db+b&&(a.Za=b,a.Na++,a.Na>=a.zb&&(a.Na=0,a.ge++))}; -k.Sk=function(a,b){if(a.errorCode)return-1;a.Qc[a.If++]=b;if(a.If==a.Qc.length){a.ge=a.Qc[0];a.Na=a.Qc[1];a.Za=a.Qc[2];a.hb=128<this.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b};k.gp=function(){var a=this.N.J&255;!(this.N.G>>8)&&128>8||!this.fa)||(a=!(this.fa.Vb[0].yd&64));return a?!0:!1}; -var qk={800:nk.prototype.dp,801:nk.prototype.ep,802:nk.prototype.cp},pk={496:nk.prototype.po,497:nk.prototype.ro,498:nk.prototype.so,499:nk.prototype.to,500:nk.prototype.oo,501:nk.prototype.no,502:nk.prototype.qo,503:nk.prototype.uo},sk={800:nk.prototype.qq,801:nk.prototype.tq,802:nk.prototype.sq,803:nk.prototype.rq,807:nk.prototype.Ek,811:nk.prototype.Ek,815:nk.prototype.Ek},rk={496:nk.prototype.Fp,497:nk.prototype.Kp,498:nk.prototype.Ip,499:nk.prototype.Jp,500:nk.prototype.Ep,501:nk.prototype.Dp, -502:nk.prototype.Gp,503:nk.prototype.Cp,1014:nk.prototype.Hp};Ja(function(){for(var a=cb(window.document,"pcjs","hdc"),b=0;bthis.Ib(a,a.kl))return-1;a.Qh++}a.Qh>=a.se&&(b=-1);return b};k.gp=function(){var a=this.N.J&255;!(this.N.G>>8)&&128>8||!this.fa)||(a=!(this.fa.Vb[0].yd&64));return a?!0:!1}; +var rk={800:ok.prototype.dp,801:ok.prototype.ep,802:ok.prototype.cp},qk={496:ok.prototype.po,497:ok.prototype.ro,498:ok.prototype.so,499:ok.prototype.to,500:ok.prototype.oo,501:ok.prototype.no,502:ok.prototype.qo,503:ok.prototype.uo},tk={800:ok.prototype.qq,801:ok.prototype.tq,802:ok.prototype.sq,803:ok.prototype.rq,807:ok.prototype.Ek,811:ok.prototype.Ek,815:ok.prototype.Ek},sk={496:ok.prototype.Fp,497:ok.prototype.Kp,498:ok.prototype.Ip,499:ok.prototype.Jp,500:ok.prototype.Ep,501:ok.prototype.Dp, +502:ok.prototype.Gp,503:ok.prototype.Cp,1014:ok.prototype.Hp};Ja(function(){for(var a=cb(window.document,"pcjs","hdc"),b=0;b>2;this.Wl=b.Nh;this.sg=Ok;80186<=this.N.za&&(this.sg=Ok.slice(),this.sg[15]=Mk,80286<=this.N.za&&(this.sg[15]=Nk));Yg(this,4,function(a){if(a){var b=Sk(d,a);if(void 0===b)d.R("invalid selector: "+a);else{a=Tk(d,b);d.R("dumpDesc("+n(a.ua)+"): %"+da(a.Od,d.we));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+ -(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.R((b?"seg="+n(a.va&65535)+" off="+n(a.rb):"base="+da(a.va,d.we)+" limit="+da(a.rb,a.rb&-65536?8:4))+" dpl="+m(a.pc)+" type="+m(a.type>>8)+" ("+ -c+") ext="+n(a.Vh&-65296))}}else d.R("no selector")});Yg(this,8,function(a){a:{if(a){var b=Sk(d,a);if(void 0===b){d.R("invalid task selector: "+a);break a}a=Tk(d,b)}else a=d.N.cb;d.R("dumpTSS("+n(a.ua)+"): %"+da(a.va,d.we));var b="",c;for(c in Uk){var e=Uk[c],r=8>c.length?" ":"",B=Yb(d.ha,a.va+e);b&&(b+="\n");b+=n(e)+" "+c+": "+r+n(B)}d.R(b)}});Yg(this,67108864,function(a){if(a)for(d.R("dumpDOS("+a+")"),a=Sk(d,a);a;){var b=[0,a,void 0],c=d.Ra(b,1),e=d.ja(b,2),r=d.ja(b,5);if(77!=c&&90!=c)break;d.R(uc(d, -0,a)+": '"+String.fromCharCode(c)+"' PID="+n(e)+" LEN="+n(r)+' "'+Vk(d,b)+'"');a+=1+r}else d.R("no MCB")});ib(this);if(this.Nk){a=Wk(this,this.Nk);delete this.Nk;for(var e in a)Ek(this,a[e])}}; -Ak.prototype.Fb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ig=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Wk(d,b,!0),h;for(h in g)Ek(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Wce?String.fromCharCode(e):"."}return d} -function Dk(a,b){a.Z=a;a.Yb=a.In=536870912;a.Di=null;a.Ti=[];var c=Wk(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Lk)0<=c.indexOf(d)&&(a.Yb|=Lk[d],a.R(d+" messages enabled"))}function Yg(a,b,c){for(var d in Lk)if(b==Lk[d]){a.Ti[d]=c;break}} -function Xk(a,b){var c="??";if(0<=b){var d,e,f=a.N;switch(b){case 0:d=f.G;e=2;break;case 1:d=f.I;e=2;break;case 2:d=f.J;e=2;break;case 3:d=f.C;e=2;break;case 4:d=f.G>>8;e=2;break;case 5:d=f.I>>8;e=2;break;case 6:d=f.J>>8;e=2;break;case 7:d=f.C>>8;e=2;break;case 8:d=f.G;e=4;break;case 9:d=f.I;e=4;break;case 10:d=f.J;e=4;break;case 11:d=f.C;e=4;break;case 12:d=x(f);e=4;break;case 13:d=f.H;e=4;break;case 14:d=f.F;e=4;break;case 15:d=f.D;e=4;break;case 16:d=f.Ia.ua;e=4;break;case 17:d=Fb(f);e=4;break; -case 18:d=f.xa.ua;e=4;break;case 19:d=f.Xa.ua;e=4;break;case 20:d=f.fs.ua;e=4;break;case 21:d=f.gs.ua;e=4;break;case 22:d=w(f);e=a.Gg;break;case 23:d=Gb(f);e=a.Gg;break;case 24:d=f.G;e=8;break;case 25:d=f.I;e=8;break;case 26:d=f.J;e=8;break;case 27:d=f.C;e=8;break;case 28:d=x(f);e=8;break;case 29:d=f.H;e=8;break;case 30:d=f.F;e=8;break;case 31:d=f.D;e=8;break;case 32:d=f.gc;e=8;break;case 33:d=f.as;e=8;break;case 34:d=f.cs;e=8;break;case 35:d=f.ds,e=8}e&&(c=da(d,e))}return c}k=Ak.prototype; -k.message=function(a,b){b&&(a+=" @"+uc(this,w(this.N),Fb(this.N)));if(!this.Di||a!=this.Di)if(this.R(a),this.Di=a,this.N){this.Yb&1073741824&&this.N.lb();var c=this.N;c.U.bg=0;c.Xc-=c.A;c.A=0;Vc(c)}}; -function ze(a,b,c){var d,e=!1,f=Fk[b];f&&(d=a.N.G>>8,e=a.oa(f)?!0:262144==f&&a.oa(f=524288));if(e){var g=a.N.J&255;if(33==b&&11==d||262144==f&&128<=g||524288==f&&128>g)e=!1}if(e){if(f=(f=Rk[b])&&f[d]||""){for(var h=f,f=0;fa&&(b[0]=0,b[2]=null))}function cl(a,b){return null==b[1]?"%"+da(b[2]):uc(a,b[0],b[1])}function uc(a,b,c){return void 0!==c?n(c)+":"+da(b,8>a.we?4:8):da(b)}function df(a){return 1>>c.Ja;if(e>>f|c.pa[d+1&c.Tc].oh(0)<<32-f;void 0!==b&&bl(this,a,b)}return c};k.td=function(a,b,c){var d=el(this,a,!0,0);if(d!=u){var e=this.ha;e.pa[(d&e.gb)>>>e.Ja].mg(d&e.Ea,b&255);void 0!==c&&bl(this,a,c);Vc(this.N)}}; -k.Ma=function(a,b,c){var d=el(this,a,!0,1);d!=u&&(Zb(this.ha,d,b),void 0!==c&&bl(this,a,c),Vc(this.N))};function Bk(a){var b;a.zc=["exec"];if(void 0!==a.ke)for(b=1;b>>c.Ja],!1)}a.ke=["read"];if(void 0!==a.ed)for(b=1;b>>c.Ja],!0);a.ed=["write"]} -k.oe=function(a,b,c){if(!fl(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.ha,e=el(this,b);d.pa[e>>>d.Ja].oe(e&d.Ea,a==this.ed)}c||this.R("breakpoint enabled: "+cl(this,b)+" ("+a[0]+")");Ck(this);return!0}return!1}; -function fl(a,b,c,d){var e=!1;c=gl(a,el(a,c));for(var f=1;f>>d.Ja],b==a.ed));g[3]||a.R("breakpoint cleared: "+cl(a,g)+" ("+b[0]+")");Ck(a);break}a.R("breakpoint exists: "+cl(a,g)+" ("+b[0]+")");break}}return e}function hl(a,b){for(var c=1;c=b&&f>>g.Ja].oe(f&g.Ea,d==a.ed)}}}function al(a,b){if(void 0!==b)dl(a,b,a.zc,!0),a.uc=0;else for(var c=1;c=Hk.length&&(t=a.Ra(b,1),g=Qk[h-Hk.length][t>>3&7]);var h=Hk[g[0]],r=2,B="";(164<=f&&167>=f||170<=f&&175>=f)&&(r=0);for(var f=null,J=1;J<=r;J++){var C="",E=g[J];if(void 0!==E){null==f&&(f=E>>14);var N=E&15;if(0!=N&&15!=N){var M=E&240;if(128<=M)if(0>t&&(t=a.Ra(b,1)),160<=M)C=jl(a,t>>3&7,E,b);else{var C=a,M=E,E=b,Q="",N=t>>6,Q=t&7;3>N?(M=void 0,N||6!=Q?(E[5]&&(Q+=8),Q=Kk[Q], -1==N?(M=C.Ra(E,1),M&128?(M=M<<24>>24,Q+="-"+m(-M)):Q+="+"+m(M)):2==N&&(M=C.ja(E,2),Q+="+"+n(M))):(M=C.ja(E,2),Q=n(M)),Q="["+Q+"]"):Q=jl(C,Q,M,E);C=Q}else if(16==M)C="1";else if(0==M){C=a;N=E;E=b;M=" ";switch(N&15){case 1:N&12288&&(M=m(C.Ra(E,1)));break;case 2:M=n(C.Ra(E,1)<<24>>24);break;case 4:if(E[4]){M=da(C.Bj(E,4));break}case 3:M=n(C.ja(E,2));break;case 6:N=C;M=C.ja(E,2);C=C.ja(E,2);M=cl(N,[M,C,void 0]);break;default:M="imm("+n(N)+")"}C=M}else 32==M?C="["+n(a.ja(b,2))+"]":48==M?(1==N?(C=a.Ra(b, -1),C=C<<24>>24):C=a.ja(b,2),C=b[0]+C&65535,C=kl(a,[C,b[1],void 0])[0]||n(C)):96==M?C=jl(a,(E&3840)>>8,E,b):112==M?C=jl(a,(E&3840)>>8,176,b):64==M?C="DS:[SI]":80==M&&(C="ES:[DI]");if(!C||!C.length){B="INVALID";break}0a.N.za)return"??";b+=16}else if(208==e)b+=32;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d[4]))b+=16;return Jk[b]} -function ll(a,b){var c;switch(b){case "V":c=Pe(a.N);break;case "D":c=a.N.wa&Ib;break;case "I":c=a.N.wa&Jb;break;case "T":c=a.N.wa&Kb;break;case "S":c=Oe(a.N);break;case "Z":c=Ne(a.N);break;case "A":c=Me(a.N);break;case "P":c=Le(a.N);break;case "C":c=Ke(a.N);break;default:c=0}return b+(c?"1":"0")+" "}function ml(a,b){8<=b&&15>=b&&4>>4),d[0]=g,d[1]=h,void 0!==t.p&&(d[2]=t.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Sk(a,b),d=null):d=Sk(a,b):(e=Sk(a,b.substring(0,d)),c=Sk(a,b.substring(d+1)), -d=null)}return[c,e,d]}function Sk(a,b,c){var d;void 0!==b?(d=Jk.indexOf(b.toUpperCase()),0<=d&&(b=Xk(a,d)),d=ca(b),void 0===d&&a.R("invalid "+(c?c:"value")+": "+b)):a.R("missing "+(c||"value"));return d}function di(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.R("out of data at address "+cl(a,b)),B=!0):(a.td(b,c,1),r++)})})(a,g);a.R(r+" bytes read at "+c)}else a.R("sector "+e+" request out of range");else a.R("drive "+d+" not loaded");else a.R("invalid drive: "+d)}else a.R("disk controller not present")}}} -function Zk(a,b,c){if(b&&"?"==b[1])a.R("\nregister commands:"),a.R("\tr\t\tdisplay all registers"),a.R("\tr [target=#]\tmodify target register"),a.R("supported targets:"),a.R("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1>2;this.Wl=b.Nh;this.sg=Pk;80186<=this.N.za&&(this.sg=Pk.slice(),this.sg[15]=Nk,80286<=this.N.za&&(this.sg[15]=Ok));Zg(this,4,function(a){if(a){var b=Tk(d,a);if(void 0===b)d.R("invalid selector: "+a);else{a=Uk(d,b);d.R("dumpDesc("+n(a.va)+"): %"+da(a.Od,d.we));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+ +(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.R((b?"seg="+n(a.ta&65535)+" off="+n(a.rb):"base="+da(a.ta,d.we)+" limit="+da(a.rb,a.rb&-65536?8:4))+" dpl="+m(a.pc)+" type="+m(a.type>>8)+" ("+ +c+") ext="+n(a.Vh&-65296))}}else d.R("no selector")});Zg(this,8,function(a){a:{if(a){var b=Tk(d,a);if(void 0===b){d.R("invalid task selector: "+a);break a}a=Uk(d,b)}else a=d.N.cb;d.R("dumpTSS("+n(a.va)+"): %"+da(a.ta,d.we));var b="",c;for(c in Vk){var e=Vk[c],r=8>c.length?" ":"",B=Yb(d.ha,a.ta+e);b&&(b+="\n");b+=n(e)+" "+c+": "+r+n(B)}d.R(b)}});Zg(this,67108864,function(a){if(a)for(d.R("dumpDOS("+a+")"),a=Tk(d,a);a;){var b=[0,a,void 0],c=d.Ra(b,1),e=d.ja(b,2),r=d.ja(b,5);if(77!=c&&90!=c)break;d.R(uc(d, +0,a)+": '"+String.fromCharCode(c)+"' PID="+n(e)+" LEN="+n(r)+' "'+Wk(d,b)+'"');a+=1+r}else d.R("no MCB")});ib(this);if(this.Nk){a=Xk(this,this.Nk);delete this.Nk;for(var e in a)Fk(this,a[e])}}; +Bk.prototype.Fb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ig=this.ra[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Xk(d,b,!0),h;for(h in g)Fk(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Wce?String.fromCharCode(e):"."}return d} +function Ek(a,b){a.Z=a;a.Yb=a.In=536870912;a.Di=null;a.Ti=[];var c=Xk(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Mk)0<=c.indexOf(d)&&(a.Yb|=Mk[d],a.R(d+" messages enabled"))}function Zg(a,b,c){for(var d in Mk)if(b==Mk[d]){a.Ti[d]=c;break}} +function Yk(a,b){var c="??";if(0<=b){var d,e,f=a.N;switch(b){case 0:d=f.G;e=2;break;case 1:d=f.I;e=2;break;case 2:d=f.J;e=2;break;case 3:d=f.C;e=2;break;case 4:d=f.G>>8;e=2;break;case 5:d=f.I>>8;e=2;break;case 6:d=f.J>>8;e=2;break;case 7:d=f.C>>8;e=2;break;case 8:d=f.G;e=4;break;case 9:d=f.I;e=4;break;case 10:d=f.J;e=4;break;case 11:d=f.C;e=4;break;case 12:d=x(f);e=4;break;case 13:d=f.H;e=4;break;case 14:d=f.F;e=4;break;case 15:d=f.D;e=4;break;case 16:d=f.Ia.va;e=4;break;case 17:d=Fb(f);e=4;break; +case 18:d=f.xa.va;e=4;break;case 19:d=f.Xa.va;e=4;break;case 20:d=f.fs.va;e=4;break;case 21:d=f.gs.va;e=4;break;case 22:d=w(f);e=a.Gg;break;case 23:d=Gb(f);e=a.Gg;break;case 24:d=f.G;e=8;break;case 25:d=f.I;e=8;break;case 26:d=f.J;e=8;break;case 27:d=f.C;e=8;break;case 28:d=x(f);e=8;break;case 29:d=f.H;e=8;break;case 30:d=f.F;e=8;break;case 31:d=f.D;e=8;break;case 32:d=f.gc;e=8;break;case 33:d=f.as;e=8;break;case 34:d=f.cs;e=8;break;case 35:d=f.ds,e=8}e&&(c=da(d,e))}return c}k=Bk.prototype; +k.message=function(a,b){b&&(a+=" @"+uc(this,w(this.N),Fb(this.N)));if(!this.Di||a!=this.Di)if(this.R(a),this.Di=a,this.N){this.Yb&1073741824&&this.N.lb();var c=this.N;c.U.cg=0;c.Xc-=c.A;c.A=0;Vc(c)}}; +function ze(a,b,c){var d,e=!1,f=Gk[b];f&&(d=a.N.G>>8,e=a.oa(f)?!0:262144==f&&a.oa(f=524288));if(e){var g=a.N.J&255;if(33==b&&11==d||262144==f&&128<=g||524288==f&&128>g)e=!1}if(e){if(f=(f=Sk[b])&&f[d]||""){for(var h=f,f=0;fa&&(b[0]=0,b[2]=null))}function dl(a,b){return null==b[1]?"%"+da(b[2]):uc(a,b[0],b[1])}function uc(a,b,c){return void 0!==c?n(c)+":"+da(b,8>a.we?4:8):da(b)}function ff(a){return 1>>c.Ja;if(e>>f|c.qa[d+1&c.Tc].oh(0)<<32-f;void 0!==b&&cl(this,a,b)}return c};k.td=function(a,b,c){var d=fl(this,a,!0,0);if(d!=u){var e=this.ha;e.qa[(d&e.gb)>>>e.Ja].mg(d&e.Ea,b&255);void 0!==c&&cl(this,a,c);Vc(this.N)}}; +k.Ma=function(a,b,c){var d=fl(this,a,!0,1);d!=u&&(Zb(this.ha,d,b),void 0!==c&&cl(this,a,c),Vc(this.N))};function Ck(a){var b;a.zc=["exec"];if(void 0!==a.ke)for(b=1;b>>c.Ja],!1)}a.ke=["read"];if(void 0!==a.ed)for(b=1;b>>c.Ja],!0);a.ed=["write"]} +k.oe=function(a,b,c){if(!gl(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.ha,e=fl(this,b);d.qa[e>>>d.Ja].oe(e&d.Ea,a==this.ed)}c||this.R("breakpoint enabled: "+dl(this,b)+" ("+a[0]+")");Dk(this);return!0}return!1}; +function gl(a,b,c,d){var e=!1;c=hl(a,fl(a,c));for(var f=1;f>>d.Ja],b==a.ed));g[3]||a.R("breakpoint cleared: "+dl(a,g)+" ("+b[0]+")");Dk(a);break}a.R("breakpoint exists: "+dl(a,g)+" ("+b[0]+")");break}}return e}function il(a,b){for(var c=1;c=b&&f>>g.Ja].oe(f&g.Ea,d==a.ed)}}}function bl(a,b){if(void 0!==b)el(a,b,a.zc,!0),a.uc=0;else for(var c=1;c=Ik.length&&(t=a.Ra(b,1),g=Rk[h-Ik.length][t>>3&7]);var h=Ik[g[0]],r=2,B="";(164<=f&&167>=f||170<=f&&175>=f)&&(r=0);for(var f=null,J=1;J<=r;J++){var C="",E=g[J];if(void 0!==E){null==f&&(f=E>>14);var N=E&15;if(0!=N&&15!=N){var M=E&240;if(128<=M)if(0>t&&(t=a.Ra(b,1)),160<=M)C=kl(a,t>>3&7,E,b);else{var C=a,M=E,E=b,Q="",N=t>>6,Q=t&7;3>N?(M=void 0,N||6!=Q?(E[5]&&(Q+=8),Q=Lk[Q], +1==N?(M=C.Ra(E,1),M&128?(M=M<<24>>24,Q+="-"+m(-M)):Q+="+"+m(M)):2==N&&(M=C.ja(E,2),Q+="+"+n(M))):(M=C.ja(E,2),Q=n(M)),Q="["+Q+"]"):Q=kl(C,Q,M,E);C=Q}else if(16==M)C="1";else if(0==M){C=a;N=E;E=b;M=" ";switch(N&15){case 1:N&12288&&(M=m(C.Ra(E,1)));break;case 2:M=n(C.Ra(E,1)<<24>>24);break;case 4:if(E[4]){M=da(C.Bj(E,4));break}case 3:M=n(C.ja(E,2));break;case 6:N=C;M=C.ja(E,2);C=C.ja(E,2);M=dl(N,[M,C,void 0]);break;default:M="imm("+n(N)+")"}C=M}else 32==M?C="["+n(a.ja(b,2))+"]":48==M?(1==N?(C=a.Ra(b, +1),C=C<<24>>24):C=a.ja(b,2),C=b[0]+C&65535,C=ll(a,[C,b[1],void 0])[0]||n(C)):96==M?C=kl(a,(E&3840)>>8,E,b):112==M?C=kl(a,(E&3840)>>8,176,b):64==M?C="DS:[SI]":80==M&&(C="ES:[DI]");if(!C||!C.length){B="INVALID";break}0a.N.za)return"??";b+=16}else if(208==e)b+=32;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d[4]))b+=16;return Kk[b]} +function ml(a,b){var c;switch(b){case "V":c=Pe(a.N);break;case "D":c=a.N.wa&Ib;break;case "I":c=a.N.wa&Jb;break;case "T":c=a.N.wa&Kb;break;case "S":c=Oe(a.N);break;case "Z":c=Ne(a.N);break;case "A":c=Me(a.N);break;case "P":c=Le(a.N);break;case "C":c=Ke(a.N);break;default:c=0}return b+(c?"1":"0")+" "}function nl(a,b){8<=b&&15>=b&&4>>4),d[0]=g,d[1]=h,void 0!==t.p&&(d[2]=t.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Tk(a,b),d=null):d=Tk(a,b):(e=Tk(a,b.substring(0,d)),c=Tk(a,b.substring(d+1)), +d=null)}return[c,e,d]}function Tk(a,b,c){var d;void 0!==b?(d=Kk.indexOf(b.toUpperCase()),0<=d&&(b=Yk(a,d)),d=ca(b),void 0===d&&a.R("invalid "+(c?c:"value")+": "+b)):a.R("missing "+(c||"value"));return d}function ei(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.R("out of data at address "+dl(a,b)),B=!0):(a.td(b,c,1),r++)})})(a,g);a.R(r+" bytes read at "+c)}else a.R("sector "+e+" request out of range");else a.R("drive "+d+" not loaded");else a.R("invalid drive: "+d)}else a.R("disk controller not present")}}} +function $k(a,b,c){if(b&&"?"==b[1])a.R("\nregister commands:"),a.R("\tr\t\tdisplay all registers"),a.R("\tr [target=#]\tmodify target register"),a.R("supported targets:"),a.R("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1=a.Gg&&(c=null);switch(c){case "AL":a.N.G=a.N.G&-256|b&255;break;case "AH":a.N.G=a.N.G&-65281|b<<8&255;break;case "AX":a.N.G=a.N.G&-65536|b&65535;break;case "EAX":a.N.G=b;break;case "BL":a.N.C=a.N.C&-256|b&255;break;case "BH":a.N.C=a.N.C&-65281|b<<8&255;break;case "BX":a.N.C=a.N.C&-65536|b&65535;break;case "EBX":a.N.C=b;break;case "CL":a.N.I=a.N.I&-256|b&255;break;case "CH":a.N.I=a.N.I&-65281|b<<8&255;break;case "CX":a.N.I=a.N.I&-65536|b&65535;break;case "ECX":a.N.I=b;break;case "DL":a.N.J= a.N.J&-256|b&255;break;case "DH":a.N.J=a.N.J&-65281|b<<8&255;break;case "DX":a.N.J=a.N.J&-65536|b&65535;break;case "EDX":a.N.J=b;break;case "SP":y(a.N,x(a.N)&-65536|b&65535);break;case "ESP":y(a.N,b);break;case "BP":a.N.H=a.N.H&-65536|b&65535;break;case "EBP":a.N.H=b;break;case "SI":a.N.F=a.N.F&-65536|b&65535;break;case "ESI":a.N.F=b;break;case "DI":a.N.D=a.N.D&-65536|b&65535;break;case "EDI":a.N.D=b;break;case "DS":He(a.N,b);break;case "ES":Ie(a.N,b);break;case "SS":Kd(a.N,b);break;case "CS":Ge(a.N, b);a.Nc=[w(a.N),Fb(a.N),void 0];break;case "IP":F(a.N,b);a.Nc=[w(a.N),Fb(a.N),void 0];break;case "PC":case "PS":Id(a.N,b);break;case "C":b?Ve(a.N):Qe(a.N);break;case "P":b?(c=a.N,Le(c)||(c.W^=1)):(c=a.N,Le(c)&&(c.W^=1));break;case "A":b?We(a.N):Re(a.N);break;case "Z":b?Xe(a.N):Se(a.N);break;case "S":b?Ye(a.N):Te(a.N);break;case "I":b?(c=a.N,c.wa|=Jb):(c=a.N,c.wa&=~Jb);break;case "D":b?(c=a.N,c.wa|=Ib):(c=a.N,c.wa&=~Ib);break;case "V":b?Ze(a.N):Ue(a.N);break;default:f=!0;if(80286<=a.N.za)switch(f= -!1,c){case "MS":ig.call(a.N,b);break;case "TR":a.N.cb.load(b);break;default:f=!0}if(f){a.R("unknown register: "+e);return}}Vc(a.N);a.R("\nupdated registers:");c=!0}}void 0===d&&(d=!!(a.N.gc&1));e=ml(a,8)+ml(a,11)+ml(a,9)+ml(a,10)+(4a.N.za&&(b="\n"+b,e+=f,f=""),e+="\n"+nl(a,a.N.ra,d)+" ",e+=ol(a,"LD",a.N.ad.ua,a.N.ad.va, -a.N.ad.va+a.N.ad.rb)+" "+ol(a,"GD",null,a.N.Dc,a.N.Ve)+" "+ol(a,"ID",null,a.N.Rc,a.N.We)+" ",e=e+(b+" "+f)+ml(a,32));e+=ml(a,23)+ll(a,"V")+ll(a,"D")+ll(a,"I")+ll(a,"T")+ll(a,"S")+ll(a,"Z")+ll(a,"A")+ll(a,"P")+ll(a,"C");a.R((c?"":"\n")+e);a.Nc=[w(a.N),Fb(a.N),void 0];$k(a,cl(a,a.Nc))}}function ul(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Da(b,function(){return eb(a,!0)&&a.lg(e,d,!1)},function(){Vc(a.N);eb(a,!1)})} -function $k(a,b,c,d){b=pl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[a.kp,b[1],a.ha.Nh],e=256;if(void 0!==c){e=pl(a,c,1);if(null==e[0]||e[0]a.Wc&&a.Pc.length&&(a.Wc=0);if(0>a.Wc||b!=a.Pc[a.Wc])a.Pc.splice(0,0,b),a.Wc=0;a.Wc--}else b=a.Pc[a.Wc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a} -function Ek(a,b){var c=!0;try{if(b.length||(a.Of?(a.R("ended assemble @"+cl(a,a.Re)),a.Nc=a.Re,a.Of=!1):b="?"),b=b.toLowerCase(),jb(a)&&0d||"z">>4);var kc=Q[qa].l;kc&&(qa=kc);a.R(uc(a,Ta,qb)+" "+qa)}}}else{"ds"==C&&(C="d",E=r,r="desc");for(N in Lk)if(r==N){var ed=a.Ti[N];ed?ed(E):a.R("no dump registered for "+ -r);break a}var Y=pl(a,r,2);if(null!=Y[0]){var ia="",V=0,rb="dw"==C;void 0!==E&&("l"==E.charAt(0)&&(E=E.substr(1)),(V=parseInt(E,10))&&(V=rb?V+7>>3:V+15>>4));V||(V=8);for(g=0;gpa;pa++){var ta=a.Ra(Y,1);rb?pa&1&&(C+=n(E|ta<<8)+(7==pa?" - ":" ")):C+=m(ta)+(7==pa?"-":" ");Oa+=32<=ta&&128>ta?String.fromCharCode(ta):".";E=ta}ia&&(ia+="\n");ia+=r+" "+C+" "+Oa}ia&&a.R(ia);a.al=Y}}}break;case "e":var Gc=g[1];if(void 0===Gc)a.R("missing address");else{var Hc= -pl(a,Gc,2);if(null!=Hc[0])for(r=2;r -ub.length&&(a.R("note: only "+ub.length+" available"),fb=ub.length);pa-=fb;0>pa&&(null!=ub[ub.length-1][1]?pa+=ub.length:(fb=pa+fb,pa=0));for(void 0!==Oa&&a.R(fb+" instructions earlier:");Y&&pa!=a.Xf;){var Jc=ub[pa];if(null==Jc[1])break;Jc=[Jc[0],Jc[1],Jc[2]];a.R(il(a,Jc,"history",-fb));++pa==ub.length&&(pa=0);a.en=--fb;Y--}}10==Y&&(a.R("no "+r+"history available"),a.en=void 0)}break;case "i":var Kf=g[1];if(Kf&&"?"!=Kf){var Lf=Sk(a,Kf);if(void 0!==Lf){var Ll=cc(a.ha,Lf);a.R(n(Lf)+": "+m(Ll))}}else a.R("\ninput commands:"), -a.R("\ti [p]\tread port [p]"),a.R("warning: port accesses can affect hardware state");break;case "l":tl(a,g);break;case "m":a:{r=null;V=g[1];"?"==V&&(V=void 0);if(void 0!==V){Y=0;if("all"==V)Y=-1342177281,V=null;else if("on"==V)r=!0,V=null;else if("off"==V)r=!1,V=null;else{"keys"==V&&(V="key");"kbd"==V&&(V="keyboard");for(ia in Lk)if(V==ia){Y=Lk[ia];r=!!(a.Yb&Y);break}if(!Y){a.R("unknown message category: "+V);break a}}Y&&("on"==g[2]?(a.Yb|=Y,r=!0):"off"==g[2]&&(a.Yb&=~Y,r=!1))}Y=0;ta="";for(ia in Lk)if(!V|| -V==ia)if(rb=!!(a.Yb&Lk[ia]),null===r||r==rb)ta&&(ta+=","),++Y%10||(ta+="\n\t"),"key"==ia&&(ia="keys"),ta+=ia;void 0===V&&a.R("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.R((null!==r?r?"messages on: ":"messages off: ":"message categories:\n\t")+(ta||"none"))}break;case "o":var Mf=g[1],Ml=g[2];if(Mf&&"?"!=Mf){var Ci=Sk(a,Mf,"port #"),Di=Sk(a,Ml);void 0!==Ci&&void 0!==Di&&gc(a.ha,Ci,Di)}else a.R("\noutput commands:"),a.R("\to [p] [d]\twrite data [d] to port [p]"),a.R("warning: port accesses can affect hardware state"); -break;case "p":case "pr":var Ei="pr"==g[0]?1:0,r=1+Ei;if(a.uc)a.R("step in progress");else{var qe,Y=!1,gb=[w(a.N),Fb(a.N),void 0];do switch(qe=!1,a.Ra(gb)){case 38:case 46:case 54:case 62:case 240:bl(a,gb,1);qe=!0;break;case 204:case 206:a.uc=r;bl(a,gb,1);break;case 205:case 224:case 225:case 226:a.uc=r;bl(a,gb,2);break;case 232:a.uc=r;bl(a,gb,3);break;case 154:a.uc=r;bl(a,gb,5);break;case 255:a.uc=0<=il(a,gb).indexOf("CALL")?r:0;break;case 243:case 242:bl(a,gb,1);Y=qe=!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:Y&& -(a.uc=r,bl(a,gb,1))}while(qe);a.uc?(a.oe(a.zc,gb,!0),a.tf()||(a.N.Mc(),a.uc=0)):ul(a,Ei?"tr":"t")}break;case "r":Zk(a,g);break;case "t":case "tr":ul(a,g[0],g[1]);break;case "u":$k(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.R("\nexecution options:"),a.R("\tcs int #\tset checksum cycle interval to #"),a.R("\tcs start #\tset checksum cycle start count to #"),a.R("\tcs stop #\tset checksum cycle stop count to #"),a.R("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var md; -void 0!==g[3]&&(md=parseInt(g[3],10));switch(g[2]){case "int":a.N.U.Zf=md;break;case "start":a.N.U.Xg=md;break;case "stop":a.N.U.ag=md;break;default:a.R("unknown cs option");break a}void 0!==md&&Uc(a.N);a.R("checksums "+(a.N.da.Pf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&cd(a.N,parseInt(g[2],10));a.R("target speed: "+Db(a.N)+" ("+a.N.U.ae+"x)");break;default:a.R("unknown option: "+g[1])}break;case "?":var r="commands:",re;for(re in Gk)r+="\n"+re+" ".substr(0,7-re.length)+Gk[re]; -df(a)||(r+="\nnote: frequency/history disabled if no exec breakpoints");a.R(r);break;default:a.R("unknown command: "+b),c=!1}}}catch(Nl){a.R("debugger sad: "+Nl.message),c=!1}return c}Ja(function(){for(var a=cb(window.document,"pcjs","debugger"),b=0;ba.N.za&&(b="\n"+b,e+=f,f=""),e+="\n"+ol(a,a.N.pa,d)+" ",e+=pl(a,"LD",a.N.ad.va,a.N.ad.ta, +a.N.ad.ta+a.N.ad.rb)+" "+pl(a,"GD",null,a.N.Dc,a.N.Ve)+" "+pl(a,"ID",null,a.N.Rc,a.N.We)+" ",e=e+(b+" "+f)+nl(a,32));e+=nl(a,23)+ml(a,"V")+ml(a,"D")+ml(a,"I")+ml(a,"T")+ml(a,"S")+ml(a,"Z")+ml(a,"A")+ml(a,"P")+ml(a,"C");a.R((c?"":"\n")+e);a.Nc=[w(a.N),Fb(a.N),void 0];al(a,dl(a,a.Nc))}}function vl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Da(b,function(){return eb(a,!0)&&a.lg(e,d,!1)},function(){Vc(a.N);eb(a,!1)})} +function al(a,b,c,d){b=ql(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[a.kp,b[1],a.ha.Nh],e=256;if(void 0!==c){e=ql(a,c,1);if(null==e[0]||e[0]a.Wc&&a.Pc.length&&(a.Wc=0);if(0>a.Wc||b!=a.Pc[a.Wc])a.Pc.splice(0,0,b),a.Wc=0;a.Wc--}else b=a.Pc[a.Wc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a} +function Fk(a,b){var c=!0;try{if(b.length||(a.Pf?(a.R("ended assemble @"+dl(a,a.Re)),a.Nc=a.Re,a.Pf=!1):b="?"),b=b.toLowerCase(),jb(a)&&0d||"z">>4);var kc=Q[qa].l;kc&&(qa=kc);a.R(uc(a,Ta,qb)+" "+qa)}}}else{"ds"==C&&(C="d",E=r,r="desc");for(N in Mk)if(r==N){var ed=a.Ti[N];ed?ed(E):a.R("no dump registered for "+ +r);break a}var Y=ql(a,r,2);if(null!=Y[0]){var ia="",V=0,rb="dw"==C;void 0!==E&&("l"==E.charAt(0)&&(E=E.substr(1)),(V=parseInt(E,10))&&(V=rb?V+7>>3:V+15>>4));V||(V=8);for(g=0;gpa;pa++){var ta=a.Ra(Y,1);rb?pa&1&&(C+=n(E|ta<<8)+(7==pa?" - ":" ")):C+=m(ta)+(7==pa?"-":" ");Oa+=32<=ta&&128>ta?String.fromCharCode(ta):".";E=ta}ia&&(ia+="\n");ia+=r+" "+C+" "+Oa}ia&&a.R(ia);a.al=Y}}}break;case "e":var Gc=g[1];if(void 0===Gc)a.R("missing address");else{var Hc= +ql(a,Gc,2);if(null!=Hc[0])for(r=2;r +ub.length&&(a.R("note: only "+ub.length+" available"),fb=ub.length);pa-=fb;0>pa&&(null!=ub[ub.length-1][1]?pa+=ub.length:(fb=pa+fb,pa=0));for(void 0!==Oa&&a.R(fb+" instructions earlier:");Y&&pa!=a.Yf;){var Jc=ub[pa];if(null==Jc[1])break;Jc=[Jc[0],Jc[1],Jc[2]];a.R(jl(a,Jc,"history",-fb));++pa==ub.length&&(pa=0);a.en=--fb;Y--}}10==Y&&(a.R("no "+r+"history available"),a.en=void 0)}break;case "i":var Kf=g[1];if(Kf&&"?"!=Kf){var Lf=Tk(a,Kf);if(void 0!==Lf){var Ml=cc(a.ha,Lf);a.R(n(Lf)+": "+m(Ml))}}else a.R("\ninput commands:"), +a.R("\ti [p]\tread port [p]"),a.R("warning: port accesses can affect hardware state");break;case "l":ul(a,g);break;case "m":a:{r=null;V=g[1];"?"==V&&(V=void 0);if(void 0!==V){Y=0;if("all"==V)Y=-1342177281,V=null;else if("on"==V)r=!0,V=null;else if("off"==V)r=!1,V=null;else{"keys"==V&&(V="key");"kbd"==V&&(V="keyboard");for(ia in Mk)if(V==ia){Y=Mk[ia];r=!!(a.Yb&Y);break}if(!Y){a.R("unknown message category: "+V);break a}}Y&&("on"==g[2]?(a.Yb|=Y,r=!0):"off"==g[2]&&(a.Yb&=~Y,r=!1))}Y=0;ta="";for(ia in Mk)if(!V|| +V==ia)if(rb=!!(a.Yb&Mk[ia]),null===r||r==rb)ta&&(ta+=","),++Y%10||(ta+="\n\t"),"key"==ia&&(ia="keys"),ta+=ia;void 0===V&&a.R("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.R((null!==r?r?"messages on: ":"messages off: ":"message categories:\n\t")+(ta||"none"))}break;case "o":var Mf=g[1],Nl=g[2];if(Mf&&"?"!=Mf){var Ci=Tk(a,Mf,"port #"),Di=Tk(a,Nl);void 0!==Ci&&void 0!==Di&&gc(a.ha,Ci,Di)}else a.R("\noutput commands:"),a.R("\to [p] [d]\twrite data [d] to port [p]"),a.R("warning: port accesses can affect hardware state"); +break;case "p":case "pr":var Ei="pr"==g[0]?1:0,r=1+Ei;if(a.uc)a.R("step in progress");else{var qe,Y=!1,gb=[w(a.N),Fb(a.N),void 0];do switch(qe=!1,a.Ra(gb)){case 38:case 46:case 54:case 62:case 240:cl(a,gb,1);qe=!0;break;case 204:case 206:a.uc=r;cl(a,gb,1);break;case 205:case 224:case 225:case 226:a.uc=r;cl(a,gb,2);break;case 232:a.uc=r;cl(a,gb,3);break;case 154:a.uc=r;cl(a,gb,5);break;case 255:a.uc=0<=jl(a,gb).indexOf("CALL")?r:0;break;case 243:case 242:cl(a,gb,1);Y=qe=!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:Y&& +(a.uc=r,cl(a,gb,1))}while(qe);a.uc?(a.oe(a.zc,gb,!0),a.uf()||(a.N.Mc(),a.uc=0)):vl(a,Ei?"tr":"t")}break;case "r":$k(a,g);break;case "t":case "tr":vl(a,g[0],g[1]);break;case "u":al(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.R("\nexecution options:"),a.R("\tcs int #\tset checksum cycle interval to #"),a.R("\tcs start #\tset checksum cycle start count to #"),a.R("\tcs stop #\tset checksum cycle stop count to #"),a.R("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var md; +void 0!==g[3]&&(md=parseInt(g[3],10));switch(g[2]){case "int":a.N.U.$f=md;break;case "start":a.N.U.Xg=md;break;case "stop":a.N.U.bg=md;break;default:a.R("unknown cs option");break a}void 0!==md&&Uc(a.N);a.R("checksums "+(a.N.da.Qf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&cd(a.N,parseInt(g[2],10));a.R("target speed: "+Db(a.N)+" ("+a.N.U.ae+"x)");break;default:a.R("unknown option: "+g[1])}break;case "?":var r="commands:",re;for(re in Hk)r+="\n"+re+" ".substr(0,7-re.length)+Hk[re]; +ff(a)||(r+="\nnote: frequency/history disabled if no exec breakpoints");a.R(r);break;default:a.R("unknown command: "+b),c=!1}}}catch(Ol){a.R("debugger sad: "+Ol.message),c=!1}return c}Ja(function(){for(var a=cb(window.document,"pcjs","debugger"),b=0;bAl){if(d.load(this.sh)){this.wf=new Ee(this,"1.17.2","failsafe");this.wf.load()&&(El(this,d),a=2,xl(this.wf));this.wf.set("timestamp",ra());yl(this.wf);var e=this.Zc&&!this.di;if(1==a||xa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Ca("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.$c=null)):this.R(f+": "+g),xl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Dl(this,c?d:null)}else 2==a&&d.clear()}else Dl(this);delete this.sh;delete this.Ii}e=Ya(this.id);for(f=0;fa[1];a=a[2];this.da.$b=!0;this.El||(this.R("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.El=!0);this.N&&(Fl(this,this.N,b,c,a),Wc(this.N));this.Hl&&(El(this,b),b.clear());!c&&this.wf&&(this.wf.clear(),delete this.wf)}; -function El(a,b){if(xa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Ce(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ua("http://www.pcjs.org/api/v1/report",!0,e)}} -function vl(a,b,c){var d,e="none",f=new Ee(a,"1.17.2"),g=new Ee(a,"1.17.2","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.N&&a.N.ec&&(c&&a.N.lb(),d=a.N.ec(b,c),"object"===typeof d&&f.set(a.N.id,d),c&&(a.N.da.$b=!1,!1===d&&(e=null)));for(var h=Ya(a.id),t=0;tBl){if(d.load(this.sh)){this.xf=new Ee(this,"1.17.2","failsafe");this.xf.load()&&(Fl(this,d),a=2,yl(this.xf));this.xf.set("timestamp",ra());zl(this.xf);var e=this.Zc&&!this.di;if(1==a||xa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.Ca("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.$c=null)):this.R(f+": "+g),yl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&El(this,c?d:null)}else 2==a&&d.clear()}else El(this);delete this.sh;delete this.Ii}e=Ya(this.id);for(f=0;fa[1];a=a[2];this.da.$b=!0;this.El||(this.R("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.El=!0);this.N&&(Gl(this,this.N,b,c,a),Wc(this.N));this.Hl&&(Fl(this,b),b.clear());!c&&this.xf&&(this.xf.clear(),delete this.xf)}; +function Fl(a,b){if(xa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Ce(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ua("http://www.pcjs.org/api/v1/report",!0,e)}} +function wl(a,b,c){var d,e="none",f=new Ee(a,"1.17.2"),g=new Ee(a,"1.17.2","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.N&&a.N.ec&&(c&&a.N.lb(),d=a.N.ec(b,c),"object"===typeof d&&f.set(a.N.id,d),c&&(a.N.da.$b=!1,!1===d&&(e=null)));for(var h=Ya(a.id),t=0;th.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(J){h= -null,a=J.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ua(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var t=h[0],r,B=/( [a-z]+=)(['"])(.*?)\2/g;r=B.exec(f);)t=0>t.indexOf(r[1])?t.replace(">",r[0]+">"):t.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);h[0]!=t&&(g=g.replace(h[0],t))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Ol(a,b,c)}})}else c(a,null)} -function Pl(a,b,c,d){function e(a){if(void 0===h){var b=g&&cb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);t&&(--Il||La(!0));t=!1}var g,h,t=!0;Il++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var r=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Il||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&& -window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Il||La(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Jl(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Jl(b,a,d,!0,e,r):Kl(b,null,a,d,!1,e,r)}else f("missing machine element: "+ -a)}catch(B){f(B.message)}return t}window.embedPC=function(a,b,c,d){La(!1);return Pl(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})(); +k.Fb=function(a,b,c){var d=this;switch(b){case "save":return this.ra[b]=c,c.onclick=function(){var a=Cl(d,!0);if(a){var b=!(!d.Zc||d.Ei),c=wl(d,b);b?Hl(d,a,c):d.Ca("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[b]=c,c.onclick=function(){bd(d)},!0}return!1}; +function Cl(a,b){var c=a.$c;c||(c=Aa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Il(a,c))||a.Ca("Your user ID has not been approved."))):b&&a.Ca("Browser local storage is not available"));return c} +function Il(a,b){a.$c=null;var c=ua(va()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ba("user",c.data),a.$c=c.data)}catch(e){wa(e.message+" ("+d+")")}return a.$c} +function Hl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=xl(a,"1.17.2");d.data=c;b=ua(va()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(J){h= +null,a=J.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ua(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var t=h[0],r,B=/( [a-z]+=)(['"])(.*?)\2/g;r=B.exec(f);)t=0>t.indexOf(r[1])?t.replace(">",r[0]+">"):t.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);h[0]!=t&&(g=g.replace(h[0],t))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Pl(a,b,c)}})}else c(a,null)} +function Ql(a,b,c,d){function e(a){if(void 0===h){var b=g&&cb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);t&&(--Jl||La(!0));t=!1}var g,h,t=!0;Jl++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var r=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Jl||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Jl||La(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Kl(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Kl(b,a,d,!0,e,r):Ll(b,null,a,d,!1,e,r)}else f("missing machine element: "+ +a)}catch(B){f(B.message)}return t}window.embedPC=function(a,b,c,d){La(!1);return Ql(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})(); diff --git a/versions/pcjs/1.17.2/pc.js b/versions/pcjs/1.17.2/pc.js index 892f68b4b..2e2d86e0f 100644 --- a/versions/pcjs/1.17.2/pc.js +++ b/versions/pcjs/1.17.2/pc.js @@ -6,60 +6,60 @@ a,b);t.setRequestHeader("Content-type","application/x-www-form-urlencoded");t.se function ra(){if(null==qa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}qa=a}return qa}function sa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1} function ua(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var va={init:[],show:[],exit:[]},wa=!1,xa=!0;function ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function za(a){va.init.push(a)} function Aa(a){if(xa)try{for(var b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new $a(a.x,a.y,a.xc,a.Fc*b/c|0),a.y+=b.Fc,a.Fc-=b.Fc):(b=new $a(a.x,a.y,a.xc*b/c|0,a.Fc),a.x+=b.xc,a.xc-=b.xc);return b}k=Ya.prototype;k.Eb=function(a,b,c){return this.ya&&this.ya.Eb(a,b,c)||this.U&&this.U.Eb(a,b,c)||this.Ba&&this.Ba.Eb(a,b,c)?!0:this.parent.Eb.call(this,a,b,c)};k.yc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.Ba=bb(a,"Keyboard")};k.bc=function(a,b){b||cb();return!0};k.ac=function(){return!0}; -k.oi=function(a,b){a.button||(this.dg=b?0:-1,db(this,a,b))};k.al=function(a){db(this,a)}; -function db(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.dg||(a.dg=Math.abs(a.Hd-d)>Math.abs(a.Id-b)?1:2),1==a.dg?b=a.Id:2==a.dg&&(d=a.Hd));a.Hd=d;a.Id=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Pa&&a.Pa.bf)for(f=0;f>fb&gb))*a.ka.Hb-1;0Math.abs(a.Id-b)?1:2),1==a.eg?b=a.Id:2==a.eg&&(d=a.Hd));a.Hd=d;a.Id=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Pa&&a.Pa.bf)for(f=0;f>fb&gb))*a.ka.Hb-1;0d&&(f=d);c=f;break a}c=q}c!=q&&(c&=-16,c!=a.nk&&(hb(a,c,!0),a.nk=c))}} k.Gd=function(){if(this.canvas&&this.dh&&this.Qd&&this.Be){var a=this.Qd.width,b=this.Qd.height;this.Be.fillStyle="black";this.Be.fillRect(0,0,a,b);ib(this,18,this.Qd,this.Be,this.canvas.style.color);jb(this,3);u(this,"CPU");u(this,"Target");u(this,"Current");kb(this);u(this,this.U.za);u(this,this.U.S.Le.toFixed(2)+"Mhz");u(this,lb(this.U));kb(this,2);jb(this,8);this.uo=16;this.vo=4;u(this,"AX",this.U.G,2);u(this,"DS",this.U.eb.sa,0,1);u(this,"DX",this.U.J,2);u(this,"SI",this.U.F,0,1.5);u(this,"BX", -this.U.C,2);u(this,"ES",this.U.Na.sa,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.na.sa,2);u(this,"SS",this.U.ra.sa,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.nk); +this.U.C,2);u(this,"ES",this.U.Na.sa,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.ma.sa,2);u(this,"SS",this.U.ra.sa,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.nk); this.dh.drawImage(this.Qd,0,0,a,b,this.lr,this.or,this.Hq,this.Kq)}}; function hb(a,b,c){if(a.dh&&a.Qd&&a.Be){var d=a.Qd.width;a.Be.fillStyle="black";a.Be.fillRect(0,360,d,360);ib(a,378,a.Qd,a.Be,a.canvas.style.color);jb(a,24);if(null==b)u(a,"Mouse over memory to dump");else{u(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=yb(a.ka,b++);u(a,ea(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}u(a,f,null,0,1)}}c&&a.dh.drawImage(a.Qd,0,360,d,360,a.jr,a.mr,a.Fq,a.Iq)}} function ib(a,b,c,d,e){var f,g=a.Fp=10;a.Nc=g;a.Ze=b;a.uf=a.Uk=18;f||(f=a.Rk||a.Uk+"px Monaco, Lucida Console, Courier New");a.qh=a.Rk=f;c&&(a.Om=c);d&&(a.dd=d,a.Qm=e||"white")}function jb(a,b){a.ri=a.Om.width/b|0}function kb(a,b){a.Nc=a.Fp;a.Ze+=(a.uf+2)*(b||1)}function u(a,b,c,d,e){a.dd.font=a.qh;a.dd.fillStyle=a.Qm;a.dd.fillText(b,a.Nc,a.Ze);a.Nc+=a.ri;null!=c&&(b=c.toString(),16==a.uo&&(b="0x"+da(c,a.vo)),a.dd.fillText(b,a.Nc,a.Ze),a.Nc+=a.ri);d&&(a.Nc+=a.ri*d);e&&kb(a,e)} -function cb(){for(var a=!1,b=Ta(window.document,"pcjs","panel"),c=0;c=this.zf?12:24>=this.zf?14:15;this.Hb=1<>2;this.Ta=this.Hb-1;this.Rf=this.di/this.Hb|0;this.td=this.Rf-1;this.Ig=[];this.Jg=[];this.Qi();p(this)}La(n,zb); -var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Qi=function(){this.ta=Array(this.Rf);for(var a=0;a>>a.jb;0a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.V==e){if(b+c<=g.Lf)return g.Wh+=g.Lf-b,g.Lf=b,!0;if(b>=g.Lf+g.Wh){r=g.size-(b-h);r>c&&(r=c);g.Wh=b-g.Lf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.ta[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0=this.zf?12:24>=this.zf?14:15;this.Hb=1<>2;this.Ta=this.Hb-1;this.Sf=this.di/this.Hb|0;this.td=this.Sf-1;this.Ig=[];this.Jg=[];this.Qi();p(this)}La(n,zb); +var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Qi=function(){this.ta=Array(this.Sf);for(var a=0;a>>a.jb;0a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.V==e){if(b+c<=g.Mf)return g.Wh+=g.Mf-b,g.Mf=b,!0;if(b>=g.Mf+g.Wh){r=g.size-(b-h);r>c&&(r=c);g.Wh=b-g.Mf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.ta[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0>>this.jb;0>>a.jb;0>>this.jb].Cb(a&this.Ta)};function yb(a,b){return a.ta[(b&a.tb)>>>a.jb].Sj(b&a.Ta)} k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;return b!=this.Ta?this.ta[a].lm(b):this.ta[a++].Cb(b)|this.ta[a&this.td].Cb(0)<<8};function Fb(a,b){var c=b&a.Ta,d=(b&a.tb)>>>a.jb;return c!=a.Ta?a.ta[d].wp(c):a.ta[d++].Sj(c)|a.ta[d&a.td].Sj(0)<<8}k.Te=function(a,b){this.ta[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;c!=this.Ta?this.ta[d].Bm(c,b&65535):(this.ta[d++].Fb(c,b&255),this.ta[d&this.td].Fb(0,b>>8&255))}; -function Gb(a,b,c){var d=b&a.Ta;b=(b&a.tb)>>>a.jb;d!=a.Ta?a.ta[b].Ep(d,c&65535):(a.ta[b++].ak(d,c&255),a.ta[b&a.td].ak(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d>>a.jb;d!=a.Ta?a.ta[b].Ep(d,c&65535):(a.ta[b++].ak(d,c&255),a.ta[b&a.td].ak(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e>1]}function cc(a){return this.nf.getInt32(a,!0)}function dc(a){return a&3?this.Wb[a]|this.Wb[a+1]<<8|this.Wb[a+2]<<16|this.Wb[a+3]<<24:this.ia[a>>2]} function ec(a,b){this.Wb[a]=b;this.Ha=!0}function fc(a,b){this.Wb[a]=b;this.Ha=!0}function gc(a,b){this.nf.setUint16(a,b,!0);this.Ha=!0}function hc(a,b){a&1?(this.Wb[a]=b,this.Wb[a+1]=b>>8):this.qk[a>>1]=b;this.Ha=!0}function ic(a,b){this.nf.setInt32(a,b,!0);this.Ha=!0}function jc(a,b){a&3?(this.Wb[a]=b,this.Wb[a+1]=b>>8,this.Wb[a+2]=b>>16,this.Wb[a+3]=b>>24):this.ia[a>>2]=b;this.Ha=!0} var Ub=[function(a){return this.ia[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b]>>a;return 24>a?c&65535:c&255|(this.ia[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b];a&&(c=c>>>a|this.ia[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.ia[c]=this.ia[c]&~(255<>2,d=(a&3)<<3;24>d?this.ia[c]=this.ia[c]&~(65535<>8);this.Ha= !0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ia[c]=b;this.Ha=!0}];if(Xa)var Sb=[Zb,ac,cc,ec,gc,ic],Rb=[$b,bc,dc,fc,hc,jc]; Ab.prototype={constructor:Ab,parent:null,save:function(){var a,b;if(this.V)a=null;else if(Xa)for(a=Array(this.size>>2),b=0;b>>b.jb;d=d+e-1>>>b.jb;c.ni=0;for(c.Sf=0;f<=d;){e=b.ta[f];c.ni+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Zh[c.Sf++]=g}f++}a.Pa=c;a.km=a.Pa.Sf*a.ka.Hb/691200;e=0;a.Pa.ki=0;a.Pa.cf||(a.Pa.cf=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=eb;if(c!=d||f!= -h+1){if(h=b-g)d=a.Pa.cf[a.Pa.ki++]=g|h<>fb&gb,a.Pa.bf.push(ab(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>fb&gb;d=e=a.Pa.bf[b];g=a.Rm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Fc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc, -d.Fc);d=a;g=e;d.qh=d.Rk;d.uf=d.Uk;e=g.x+(g.xc>>1);var h=g.y+(g.Fc>>1),r=g.Fc;g.xc>1;d.Ze+=(d.uf>>1)-2;u(d,c);d.Pk&&(d.dd.restore(),d.Pk=!1)}}}else u(a,"This space intentionally left blank");a.dh.drawImage(a.Uf,0,0,a.Uf.width,a.Uf.height,a.kr, +function kc(a,b){n.call(this,"CPU",a,kc);var c=a.cycles||b,d=a.multiplier||1;this.S={};this.S.jd=c;this.S.be=d;this.S.vh=Math.round(this.S.jd/1E4)/100;this.S.Le=this.S.vh*this.S.be;this.ea.Ib=!1;this.ea.Ok=!1;this.ea.xi=a.autoStart;this.ea.Hk=!1;c=Ga.autostart;void 0!==c&&(this.ea.xi="true"==c?!0:"false"==c?!1:null);this.ea.ih=!1;this.S.zh=this.S.Af=0;this.S.Ah=a.csStart;this.S.fg=a.csInterval;this.S.gg=a.csStop;var e=this;this.zo=function(){lc(e)};p(this)}La(n,kc);k=kc.prototype; +k.yc=function(a,b,c,d){this.ka=b;this.Wa=d;this.ya=a;this.video=bb(a,"Video");this.ca=bb(a,"ChipSet");p(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();this.kc("No debugger detected")}pc(this);this.Gd();return!0};k.ac=function(a){return a&&this.save?this.save():!0};function qc(a){(!0===a.ea.xi||null===a.ea.xi&&void 0===a.na.run)&&lc(a)}k.Sk=function(){return 0}; +function nc(a){void 0===a.S.Ah&&(a.S.Ah=0);void 0===a.S.fg&&(a.S.fg=-1);void 0===a.S.gg&&(a.S.gg=-1);a.ea.ih=0<=a.S.Ah&&0>>b.jb;d=d+e-1>>>b.jb;c.ni=0;for(c.Tf=0;f<=d;){e=b.ta[f];c.ni+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Zh[c.Tf++]=g}f++}a.Pa=c;a.km=a.Pa.Tf*a.ka.Hb/691200;e=0;a.Pa.ki=0;a.Pa.cf||(a.Pa.cf=[]);d=-1;for(var g=0,h=-1,b=0;b>>28;f&=eb;if(c!=d||f!= +h+1){if(h=b-g)d=a.Pa.cf[a.Pa.ki++]=g|h<>fb&gb,a.Pa.bf.push(ab(c,d,f,0==b)),f-=d;for(b=0;b>28&7;f=f>>fb&gb;d=e=a.Pa.bf[b];g=a.Rm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Fc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc, +d.Fc);d=a;g=e;d.qh=d.Rk;d.uf=d.Uk;e=g.x+(g.xc>>1);var h=g.y+(g.Fc>>1),r=g.Fc;g.xc>1;d.Ze+=(d.uf>>1)-2;u(d,c);d.Pk&&(d.dd.restore(),d.Pk=!1)}}}else u(a,"This space intentionally left blank");a.dh.drawImage(a.Vf,0,0,a.Vf.width,a.Vf.height,a.kr, a.nr,a.Gq,a.Jq);a.fn=!1}}k.od=function(){this.video&&this.video.od()}; -k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ma[b]=c;c.onclick=function(){var a;if(a=d.ya)if(a=d.ya,a.ea.Zb)a=!0;else{var b=null,c,h=Ma(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.S.vh&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Pe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)} -function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Le&&(b=1);a.S.be=b;b=a.S.vh*a.S.be;if(a.S.Le!=b){a.S.Le=b;b=a.S.Le.toFixed(2)+"Mhz";var d=a.ma.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.yf=ka();a.S.Me=0;xc(a)} -function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.yf,yc(a));a.ea.Ib=!0;a.ea.Ok=!0;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Yi>=a.S.jd&&xc(a,!0);a.S.jg=0;a.S.xh=ka();a.S.Me&&(c=a.S.xh-a.S.Me,c>a.S.bl&&(a.S.yf+=c,a.S.yf>a.S.xh&&(a.S.yf=a.S.xh)));try{do{var d=a.ea.ih?1:a.S.so;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.He){var g=(yc(e.U,e.Xd)-f.Bd)/e.Hh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Hh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t= -a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Cf-yc(t.U,t.Xd);0B&&(c=B)}d=c}a.ym(d);var I=a.hd-a.A;a.fe+=I;a.S.jg+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.ih){var L=!1;c.S.zh=c.S.zh+c.Sk()|0;c.S.Af-=H;0>=c.S.Af&&(c.S.Af+=c.S.eg,L=!0);0<=c.S.fg&&c.S.fg<=yc(c)&&(c.S.eg=c.S.fg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.zh))}a.S.hg-=I;0>=a.S.hg&&(a.S.hg+=a.S.fl,pc(a));a.S.gg-=I;0>=a.S.gg&&(a.S.gg+=a.S.el,a.Gd());a.S.ig-=I;if(0>=a.S.ig){a.S.ig+=a.S.Xi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a); -a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.zo;a.S.Me=ka();f=a.S.bl;a.S.jg&&(f=Math.round(f*a.S.jg/a.S.Xi));f-=a.S.Me-a.S.xh;if(g=a.S.Me-a.S.yf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Pe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$dc&&(c=60);2>c&&(c=2);var d=1;b&&1a.S.vh&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Pe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)} +function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Le&&(b=1);a.S.be=b;b=a.S.vh*a.S.be;if(a.S.Le!=b){a.S.Le=b;b=a.S.Le.toFixed(2)+"Mhz";var d=a.na.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.yf=ka();a.S.Me=0;xc(a)} +function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.yf,yc(a));a.ea.Ib=!0;a.ea.Ok=!0;a.ca&&zc(a.ca);var c=a.na.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Yi>=a.S.jd&&xc(a,!0);a.S.kg=0;a.S.xh=ka();a.S.Me&&(c=a.S.xh-a.S.Me,c>a.S.bl&&(a.S.yf+=c,a.S.yf>a.S.xh&&(a.S.yf=a.S.xh)));try{do{var d=a.ea.ih?1:a.S.so;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.He){var g=(yc(e.U,e.Xd)-f.Bd)/e.Hh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Hh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t= +a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Cf-yc(t.U,t.Xd);0B&&(c=B)}d=c}a.ym(d);var I=a.hd-a.A;a.fe+=I;a.S.kg+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.ih){var L=!1;c.S.zh=c.S.zh+c.Sk()|0;c.S.Af-=H;0>=c.S.Af&&(c.S.Af+=c.S.fg,L=!0);0<=c.S.gg&&c.S.gg<=yc(c)&&(c.S.fg=c.S.gg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.zh))}a.S.ig-=I;0>=a.S.ig&&(a.S.ig+=a.S.fl,pc(a));a.S.hg-=I;0>=a.S.hg&&(a.S.hg+=a.S.el,a.Gd());a.S.jg-=I;if(0>=a.S.jg){a.S.jg+=a.S.Xi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a); +a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.zo;a.S.Me=ka();f=a.S.bl;a.S.kg&&(f=Math.round(f*a.S.kg/a.S.Xi));f-=a.S.Me-a.S.xh;if(g=a.S.Me-a.S.yf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Pe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$dthis.$b?this.ua+a:Rc.call(this,0,0,c)}function Rc(a,b,c){c||Lc.call(this.U,13,0);return q} function Tc(a,b,c){return a+b<=this.$b?this.ua+a:Uc.call(this,0,0,c)}function Vc(a,b,c){return a+b>this.$b?this.ua+a:Uc.call(this,0,0,c)}function Uc(a,b,c){c||Lc.call(this.U,13,0);return q} -function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.sa;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.sa);c.Ga(d+36,c.na.sa);c.Ga(d+38,c.ra.sa);c.Ga(d+ +function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.sa;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.sa);c.Ga(d+36,c.ma.sa);c.Ga(d+38,c.ra.sa);c.Ga(d+ 40,c.eb.sa);var d=38,h=26;Xc(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Na.load(c.ja(g+34));c.eb.load(c.ja(g+40));Yc(c,c.ja(g+14),c.ja(g+36));this.Va>13;if(6144<=h){U=c&3;if(U>a.Va){if(!1!==B&&!(ba==a.Va||g&1024&&ba<=a.Va)){r=q;break}H=e.Ea();Zc(e,e.Ea(),!0);y(e,H);a.oh=!0}H=!1}else if(1024==h)H=!0,L=-1,I=c,Uh||2048==(h&2560))){d||Lc.call(e,13,c,!!g);r=q;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d|| @@ -67,606 +67,605 @@ Lc.call(e,13,c,!0);r=q;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||Lc.call Fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.ua=a[1],this.$b=a[2],this.hb=a[3],this.id=a[4],this.Qh=a[5],this.Va=a[6],this.pc=a[7],this.Ld=a[8])}; function Hc(a,b){void 0===b&&(b=!!(a.U.lc&1));a.Di=!1;if(b){a.load=Jc;a.$k=Nc;a.Ec=Qc;a.hc=Tc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Rc);if(a.hb&2048||!(a.hb&512))a.hc=Uc;1024==(a.hb&3072)&&(a.Ec==Qc&&(a.Ec=Sc),a.hc==Tc&&(a.hc=Vc),a.Di=!0)}a.Va=a.sa&3;a.pc=(a.hb&24576)>>13;80386>a.U.za||!(a.wi&64)?(a.se=2,a.fa=65535):(a.se=4,a.fa=-1)}else a.load=Ic,a.$k=Mc,a.Ec=Oc,a.hc=Pc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.se=2,a.fa=65535;a.ed=a.se;a.ha=a.fa} function bd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}kc.call(this,a,b);this.gk=61442;this.Fg=Cc;this.Eg=4;this.Df=255;this.B=80286<=this.za?cd:dd;this.Oa=ed;this.jk=fd;this.kk=id;this.lk=jd;80186<=this.za&&(this.Oa=ed.slice(),this.jk=fd.slice(),this.kk=id.slice(),this.Df=31,this.Oa[15]=kd,this.Oa[96]=ld,this.Oa[97]=md,this.Oa[98]=nd,this.Oa[99]=kd,this.Oa[100]=kd,this.Oa[101]=kd,this.Oa[102]=kd,this.Oa[103]=kd,this.Oa[104]=od, -this.Oa[105]=pd,this.Oa[106]=qd,this.Oa[107]=rd,this.Oa[108]=sd,this.Oa[109]=td,this.Oa[110]=ud,this.Oa[111]=vd,this.Oa[192]=wd,this.Oa[193]=xd,this.Oa[200]=yd,this.Oa[201]=zd,this.Oa[241]=Ad,this.jk[7]=Bd,this.kk[7]=Bd,80286<=this.za&&(this.gk=2,this.Fg|=28672,this.Eg=0,this.Im=Cd,this.Oa[15]=Dd,this.Oa[99]=Ed,this.Oa[84]=Fd));this.Jm=[];this.Jm[2]={Qq:this.ja.bind(this),er:this.Ga.bind(this)};this.Hg=[];this.ik=[];this.hd=this.Zg=0;this.ea.$f=this.ea.bn=!1;this.yk=0;this.ta=[];this.tb=this.jb=this.Ta= +this.Oa[105]=pd,this.Oa[106]=qd,this.Oa[107]=rd,this.Oa[108]=sd,this.Oa[109]=td,this.Oa[110]=ud,this.Oa[111]=vd,this.Oa[192]=wd,this.Oa[193]=xd,this.Oa[200]=yd,this.Oa[201]=zd,this.Oa[241]=Ad,this.jk[7]=Bd,this.kk[7]=Bd,80286<=this.za&&(this.gk=2,this.Fg|=28672,this.Eg=0,this.Im=Cd,this.Oa[15]=Dd,this.Oa[99]=Ed,this.Oa[84]=Fd));this.Jm=[];this.Jm[2]={Qq:this.ja.bind(this),er:this.Ga.bind(this)};this.Hg=[];this.ik=[];this.hd=this.Zg=0;this.ea.ag=this.ea.bn=!1;this.yk=0;this.ta=[];this.tb=this.jb=this.Ta= this.td=0;Gd(this)}La(kc,bd); -var dd={Nj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Ne:4,hl:60,il:83,Rb:3,qb:9,ic:16,Eh:1,ml:19,ol:28,ql:16,pl:21,nl:37,kl:2,gj:9,ll:5,jl:33,ij:10,hj:8,pg:3,og:15,El:51,Fl:1,Gl:2,Hl:4,Dl:32,jj:15,Jl:15,Sb:16,Tb:4,Ll:11,Kl:18,Il:24,Ab:4,Ml:2,kj:16,Nl:17,pj:18,Ol:19,oj:5,qj:6,Tl:2,Sl:8,Ql:9,Rl:10,Pl:10,rj:10,sj:10,sl:80,ul:144,rl:86,tl:154,wl:101,yl:165,vl:107,xl:171,Vl:70,Xl:113,Ul:76,Wl:124,Al:80,Cl:128,zl:86,Bl:134,rg:3,qg:16,xj:10,wj:8,Yl:51,jc:8,Zl:17,$l:36,rc:11,am:16,sg:10,ee:2,dj:18,ej:7,fj:15,lj:12, -mj:7,nj:11,tj:18,uj:7,vj:15,yj:15,zj:7,Aj:13,Ej:11,Fj:7,Gj:8,bm:8,em:12,cm:18,dm:17,fm:15,Cj:8,Bj:20,Dj:2,Jj:3,tg:9,Ij:5,Hj:11,Lj:4,Kj:17,gm:11},cd={Nj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Ne:3,hl:14,il:16,Rb:2,qb:7,ic:7,Eh:0,ml:7,ol:13,ql:7,pl:11,nl:16,kl:3,gj:6,ll:2,jl:13,ij:5,hj:5,pg:2,og:7,El:23,Fl:0,Gl:1,Hl:3,Dl:17,jj:7,Jl:11,Sb:7,Tb:3,Ll:7,Kl:11,Il:15,Ab:2,Ml:3,kj:7,Nl:8,pj:8,Ol:8,oj:4,qj:4,Tl:2,Sl:3,Ql:5,Rl:2,Pl:3,rj:5,sj:3,sl:14,ul:22,rl:17,tl:25,wl:17,yl:25,vl:20,xl:28,Vl:13,Xl:21,Ul:16,Wl:24, -Al:13,Cl:21,zl:16,Bl:24,rg:2,qg:7,xj:5,wj:5,Yl:19,jc:5,Zl:5,$l:17,rc:3,am:5,sg:3,ee:0,dj:8,ej:5,fj:9,lj:5,mj:5,nj:4,tj:5,uj:5,vj:4,yj:7,zj:5,Aj:8,Ej:3,Fj:4,Gj:3,bm:11,em:11,cm:15,dm:15,fm:7,Cj:5,Bj:8,Dj:0,Jj:2,tg:6,Ij:3,Hj:6,Lj:3,Kj:5,gm:5};k=bd.prototype;k.Qi=function(a,b,c,d){this.ta=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Gd(this);mc(this);this.ea.fd=!1}; -function Gd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.zg=-1;a.Tg=0;a.lc=65520;a.Rc=0;a.gf=1023;a.Bf=0;a.Dh=-1;a.na=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.wm=new Fc(a,0,"NULL");a.fb=a.eb;a.Mc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;Yc(a,0,65535);a.se=a.na.se;a.fa=a.na.fa;a.$c=A;a.Zc=Hd;a.re=Id;a.sb=C;a.Ac=Jd;a.Pc=Kd;a.ed=a.na.ed;a.ha=a.na.ha;if(80286<=a.za){a.Qc=0;a.ff=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb= -new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=v(a);b=a.na;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.yg=b+a.na.$b}Xc(a,0);Ld(a)}k.Sk=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.na.sa+this.eb.sa+this.ra.sa+this.Na.sa+ob(this)|0};function Md(a,b,c,d){void 0!==d&&(void 0===a.Hg[b]&&(a.Hg[b]=[]),a.Hg[b].push([c,d]))}function Nd(a,b){var c=a.ik[b];null!=c&&(c(--a.Zg),delete a.ik[b])} -function Ld(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.lk=b?Od:jd;Hc(a.na,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)} -k.save=function(){var a=new Pd(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Bf]);a.set(1,[v(this),this.na.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Qc?[this.lc,this.Qc,this.ff,this.Rc,this.gf,this.ke.save(),this.gb.save(),this.Bf]:null,ob(this)]);a.set(2,[this.fb.Qh,this.Mc.Qh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Pe,this.S.be]);a.set(4,Hb(this.ka));return a.data()}; -k.restore=function(a){var b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Bf=b[8]||0;b=a[1];this.na.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Qc=d[1],this.ff=d[2],this.Rc=d[3],this.gf=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Bf=d[7],Ld(this));Xc(this,b[6]);Yc(this,b[0],this.na.sa);y(this,c);Zc(this,this.ra.sa);b=a[2];this.fb=null!=b[0]&&Qd(this,b[0])|| +var dd={Nj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Ne:4,hl:60,il:83,Rb:3,qb:9,ic:16,Eh:1,ml:19,ol:28,ql:16,pl:21,nl:37,kl:2,gj:9,ll:5,jl:33,ij:10,hj:8,qg:3,pg:15,El:51,Fl:1,Gl:2,Hl:4,Dl:32,jj:15,Jl:15,Sb:16,Tb:4,Ll:11,Kl:18,Il:24,Ab:4,Ml:2,kj:16,Nl:17,pj:18,Ol:19,oj:5,qj:6,Tl:2,Sl:8,Ql:9,Rl:10,Pl:10,rj:10,sj:10,sl:80,ul:144,rl:86,tl:154,wl:101,yl:165,vl:107,xl:171,Vl:70,Xl:113,Ul:76,Wl:124,Al:80,Cl:128,zl:86,Bl:134,sg:3,rg:16,xj:10,wj:8,Yl:51,jc:8,Zl:17,$l:36,rc:11,am:16,tg:10,ee:2,dj:18,ej:7,fj:15,lj:12, +mj:7,nj:11,tj:18,uj:7,vj:15,yj:15,zj:7,Aj:13,Ej:11,Fj:7,Gj:8,bm:8,em:12,cm:18,dm:17,fm:15,Cj:8,Bj:20,Dj:2,Jj:3,ug:9,Ij:5,Hj:11,Lj:4,Kj:17,gm:11},cd={Nj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Ne:3,hl:14,il:16,Rb:2,qb:7,ic:7,Eh:0,ml:7,ol:13,ql:7,pl:11,nl:16,kl:3,gj:6,ll:2,jl:13,ij:5,hj:5,qg:2,pg:7,El:23,Fl:0,Gl:1,Hl:3,Dl:17,jj:7,Jl:11,Sb:7,Tb:3,Ll:7,Kl:11,Il:15,Ab:2,Ml:3,kj:7,Nl:8,pj:8,Ol:8,oj:4,qj:4,Tl:2,Sl:3,Ql:5,Rl:2,Pl:3,rj:5,sj:3,sl:14,ul:22,rl:17,tl:25,wl:17,yl:25,vl:20,xl:28,Vl:13,Xl:21,Ul:16,Wl:24, +Al:13,Cl:21,zl:16,Bl:24,sg:2,rg:7,xj:5,wj:5,Yl:19,jc:5,Zl:5,$l:17,rc:3,am:5,tg:3,ee:0,dj:8,ej:5,fj:9,lj:5,mj:5,nj:4,tj:5,uj:5,vj:4,yj:7,zj:5,Aj:8,Ej:3,Fj:4,Gj:3,bm:11,em:11,cm:15,dm:15,fm:7,Cj:5,Bj:8,Dj:0,Jj:2,ug:6,Ij:3,Hj:6,Lj:3,Kj:5,gm:5};k=bd.prototype;k.Qi=function(a,b,c,d){this.ta=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Gd(this);mc(this);this.ea.fd=!1}; +function Gd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.zg=-1;a.Tg=0;a.lc=65520;a.Rc=0;a.gf=1023;a.Bf=0;a.Dh=-1;a.ma=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.wm=new Fc(a,0,"NULL");a.fb=a.eb;a.Mc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;Yc(a,0,65535);a.se=a.ma.se;a.fa=a.ma.fa;a.$c=A;a.Zc=Hd;a.re=Id;a.sb=C;a.Ac=Jd;a.Pc=Kd;a.ed=a.ma.ed;a.ha=a.ma.ha;if(80286<=a.za){a.Qc=0;a.ff=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb= +new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=v(a);b=a.ma;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.Ff=b+a.ma.$b}Xc(a,0);Ld(a)}k.Sk=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.ma.sa+this.eb.sa+this.ra.sa+this.Na.sa+ob(this)|0};function Md(a,b,c,d){void 0!==d&&(void 0===a.Hg[b]&&(a.Hg[b]=[]),a.Hg[b].push([c,d]))}function Nd(a,b){var c=a.ik[b];null!=c&&(c(--a.Zg),delete a.ik[b])} +function Ld(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.lk=b?Od:jd;Hc(a.ma,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)} +k.save=function(){var a=new Pd(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Bf]);a.set(1,[v(this),this.ma.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Qc?[this.lc,this.Qc,this.ff,this.Rc,this.gf,this.ke.save(),this.gb.save(),this.Bf]:null,ob(this)]);a.set(2,[this.fb.Qh,this.Mc.Qh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Pe,this.S.be]);a.set(4,Hb(this.ka));return a.data()}; +k.restore=function(a){var b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Bf=b[8]||0;b=a[1];this.ma.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Qc=d[1],this.ff=d[2],this.Rc=d[3],this.gf=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Bf=d[7],Ld(this));Xc(this,b[6]);Yc(this,b[0],this.ma.sa);y(this,c);Zc(this,this.ra.sa);b=a[2];this.fb=null!=b[0]&&Qd(this,b[0])|| this.eb;this.Mc=null!=b[1]&&Qd(this,b[1])||this.ra;this.Q=b[2];this.xa=b[3];this.kb=b[4];this.aa=b[5];this.Fa=b[6];b=a[3];this.Pe=b[1];uc(this,b[2]);a:{b=this.ka;a=a[4];for(c=0;c>((a^a>>4)&15)&1?0:wb}function Wd(a){return(a.W^a.da)&16?vb:0}function Xd(a){return a.P&a.T-1?0:ub}function Yd(a){return a.W&a.T>>1?tb:0} +function Qd(a,b){switch(b){case "CS":return a.ma;case "DS":return a.eb;case "SS":return a.ra;case "ES":return a.Na;case "NULL":return a.wm;default:return[0,b,0,0,""]}}function Rd(a,b){var c=v(a);a.la=a.ma.load(b)+c;a.Ff=a.ma.ua+a.ma.$b;a.Q|=a.Eg}function Sd(a,b){a.eb.load(b);a.Q|=a.Eg}function Zc(a,b,c){var d=w(a);a.Jc=a.ra.load(b)+d;a.ra.Di?(a.nm=a.ra.ua+a.ra.fa,a.om=a.ra.ua+a.ra.$b):(a.nm=a.ra.ua+a.ra.$b,a.om=a.ra.ua);c||(a.Q|=4)}function Td(a,b){a.Na.load(b);a.Q|=a.Eg} +function v(a){return a.la-a.ma.ua}function D(a,b){a.la=a.ma.ua+(b&65535)}function Yc(a,b,c,d){a.ma.zi=d;a.Uj=b;b=a.ma.load(c);return b!=q?(a.la=b+a.Uj,a.Ff=b+a.ma.$b,a.ma.oh):null}function w(a){return a.Jc-a.ra.ua}function y(a,b){a.Jc=a.ra.ua+b}function Ud(a){return a.P&a.T?xb:0}function Vd(a){a=a.W;return 27030>>((a^a>>4)&15)&1?0:wb}function Wd(a){return(a.W^a.da)&16?vb:0}function Xd(a){return a.P&a.T-1?0:ub}function Yd(a){return a.W&a.T>>1?tb:0} function Zd(a){return(a.W^a.da^a.W>>1)&a.T>>1?pb:0}function $d(a){a.P&=~a.T}function ae(a){a.da=a.W&16|a.da&-17}function be(a){a.P|=a.T-1}function ce(a){a.W&=~a.T;a.da=a.W&32896|a.da&-32897}function de(a){a.P|=a.T}function ee(a){a.da=~(a.W&16)&16|a.da&-17}function fe(a){a.P&=~(a.T-1)}function ge(a){Yd(a)||(a.W^=a.T>>1|a.T>>2,a.da^=32896)}function he(a){a.W|=a.T;a.da=a.W&32896|a.da&-32897}function ob(a){return a.Aa&~Dc|Ud(a)|Vd(a)|Wd(a)|Xd(a)|Yd(a)|Zd(a)} -function Xc(a,b,c){a.T=256;a.P=a.W=a.da=0;b&xb&&de(a);b&wb||(a.W|=1);b&vb&&(a.da|=16);b&ub||be(a);b&tb&&ge(a);b&pb&&he(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.na.Va);c?b=b&-12289|a.Aa&12288:a.Bf=(b&12288)>>12;c>a.Bf&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Fg|b&a.Fg|a.gk;a.Aa&sb&&(a.kb|=2,a.Q|=4)} -k.Eb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ma[b]=c;this.yk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)}; -k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;return b>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;c>8&255))};function ie(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)} -function E(a,b){return ie(a,a.fb,b&65535)}function F(a,b){return ie(a,a.Mc,b&65535)}function je(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return je(a,a.fb,b&65535)}function J(a,b){return je(a,a.Mc,b&65535)}function ke(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return ke(a,a.fb,b&65535)}function M(a,b){return ke(a,a.Mc,b&65535)}function le(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)} -function N(a,b){return le(a,a.fb,b&65535)}function O(a,b){return le(a,a.Mc,b&65535)}function P(a,b){a.Q&2||a.Te(a.Cg.hc(a.wg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Cg.hc(a.wg,1),b)}function ad(a,b,c){return a.ja(b.Ec(c,1))}k.X=function(){var a=this.qc(this.la);++this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.yg&&D(this,this.la-this.na.ua);return a&65535}; -k.K=function(){var a=this.ja(this.la);this.la+=this.se;this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.Ea=function(){var a=this.ja(this.Jc);this.Jc+=2;this.Jc>this.nm&&y(this,this.Jc-this.ra.ua);return a};function z(a,b){a.Jc-=2;a.Jcthis.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&255} -function se(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&255}function te(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function ue(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255} -function ve(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&255}function we(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&255}function xe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&255} -function ye(a,b){this.da=a^b;this.T=256;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function ze(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&65535}function Ae(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&65535} -function Be(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Ce(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function De(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&65535} -function Ee(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&65535}function Fe(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&65535}function Ge(a,b){this.da=a^b;this.T=65536;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function He(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?he(this):ce(this)} -function Ie(){this.A-=0>this.aa?2:this.B.fm;return 1}function Je(){var a=this.I&this.Df;this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<this.aa?this.B.Cj:this.B.Bj)+(a<this.Fa?this.B.jc:this.B.Zl;return b},Me,Me,Me,Me,Me,Me,Me],Qe=[function(a,b){this.A-=0>this.Fa?this.B.Rl:this.B.Pl;return b},R,R,R,R,R,R,R],Re=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%9)?(d=a<< -d|(this.P&this.T?1:0)<>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;He.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,He.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},R,function(a,b){if(b){8>24>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Se=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%17)?(d=a<>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;He.call(this,d,65536)}return c}, -function(a,b){var c=a;b&&(c=(b&this.Df)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,He.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},R,function(a,b){if(b){16>16>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537; -this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Ue=[function(a,b){b=this.X();this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.rg:this.B.qg;return(this.P=this.W=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.W=this.P;this.T=256;this.G&65280?(de(this),he(this)):($d(this),ce(this));this.A-= -0>this.aa?this.B.Vl:this.B.Ul;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.W=b;this.T=256;127b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Al:this.B.zl;this.Q|=2;return a},function(a){if(!a)return Te.call(this),a;var b=this.G/a;if(255this.aa?this.B.sl:this.B.rl;this.Q|=2;return a},function(a){if(!a)return Te.call(this), -a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Te.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.wl:this.B.vl;this.Q|=2;return a}],Ve=[function(a,b){b=this.K();this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.rg: -this.B.qg;return(this.P=this.W=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.zg=this.J=this.P>>16&65535;this.da=this.W=this.P;this.T=65536;this.J?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Xl:this.B.Wl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.zg=b>>16&65535;this.P=this.da=this.W=b;this.T=65536;32767b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Cl:this.B.Bl;this.Q|= -2;return a},function(a,b){if(!a)return Te.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Te.call(this),a;this.Db=this.G=c&65535;this.zg=this.J=b%a&65535;this.W=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.ul:this.B.tl;this.Q|=2;return a},function(a,b){if(!a)return Te.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Te.call(this),a;this.Db=this.G=d&65535;this.zg=this.J=b%c&65535;this.W=this.da=this.P= -d|65536;this.T=65536;this.A-=0>this.aa?this.B.yl:this.B.xl;this.Q|=2;return a}],fd=[function(a){this.da=a;a=(this.W=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){this.da=a;a=(this.W=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},R,R,R,R,R,R],id=[function(a){this.da=a;a=(this.W=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a}, -function(a){this.da=a;a=(this.W=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){z(this,v(this));D(this,a);this.A-=0>this.aa?this.B.ql:this.B.pl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);We.call(this,a,this.ja(this.aa+2));this.A-=this.B.nl;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Ll:this.B.Kl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Yc(this,a,this.ja(this.aa+ -2));this.Zg&&Nd(this,this.la);this.A-=this.B.Il;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc:this.B.am;this.Q|=2;return a},Me];function Xe(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Tl:this.B.Sl:this.B.Ql;return b}function Ye(){return Xe.call(this,0,this.Db)}function Ze(a,b){this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a} -function $e(a,b){this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a}function af(a,b){var c=(b<<16>>16)*(this.X()<<24>>24);this.P=this.da=this.W=c;this.T=256;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535} -function bf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.W=c;this.T=65536;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}function cf(a){return a}function df(a){if(0>this.aa)return S.call(this),a;this.A-=this.B.Ml;return this.aa}function ef(a,b){if(0>this.aa)return S.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.kj;return b} -function ff(a,b){if(0>this.aa)return S.call(this),a;Td(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}function gf(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.jl;if(bd)D(this,this.Bb-this.na.ua),ne.call(this,5,null,0);this.Q|=2;return a}function hf(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,fe(this),a;be(this);return a} -function jf(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(b&3))return fe(this),this.Jb.hb&65280;be(this);return a}function kf(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.na.Va)&&this.Jb.pc>=(b&3))return fe(this),this.Jb.$b;be(this);return a} -function lf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Lj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Kj;return b} -function mf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Lj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Kj;return b}function nf(a){a=a|this.lc&1|65520;this.lc=this.lc&-65536|a&65535;this.lc&1&&Ld(this,!0)}function We(a,b){var c=this.na.sa,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))} -function of(a){var b=this.Ea(),c=this.Ea();(a<<=this.ed>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.sa&65528&&this.eb.pcthis.Dh)D(this,this.Bb-this.na.ua),d=!0;else if(8!=this.Dh)b=0,a=8,d=!0;else{pf.call(this,-1,0,c);Gd(this);return}pf.call(this,a,b,c)&&(d=!1);d&&ne.call(this,this.Dh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.na.ua)} -function pf(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Sq(v(this),this.na.sa)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function kd(){Lc.call(this,6);rc(this)} -function S(){D(this,this.Bb-this.na.ua);Wa(this,"Undefined opcode 0x"+ea(yb(this.ka,this.la))+" at 0x"+da(this.la));rc(this)} -var A=[function(a){a=a.call(this,this.G&255,E(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.F));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a= -a.call(this,this.G&255,E(this,this.D));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.G&255,E(this,this.C));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this, -this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.F));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.D));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.I&255,E(this,this.C));this.I=this.I&-256| -a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&255,E(this,this.F));this.J=this.J&-256|a;this.A-=this.B.R}, -function(a){a=a.call(this,this.J&255,E(this,this.D));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.K()));this.J=this.J&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.J&255,E(this,this.C));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this, -this.C&255,F(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.F));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.D));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.C&255,E(this,this.C)); -this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.G>>8,E(this,this.F));this.G=this.G& -255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.K()));this.G=this.G&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.G>>8,E(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D));this.I=this.I&255|a<<8;this.A-=this.B.Z}, -function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.K()));this.I=this.I&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this, -this.I>>8,E(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F));this.J=this.J&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>> -8,E(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.K()));this.J=this.J&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.J>>8,E(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D));this.C= -this.C&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.K()));this.C=this.C&255|a<<8;this.A-= -this.B.oa},function(a){a=a.call(this,this.C>>8,E(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.C+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.L()));this.G= -this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.L())); -this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255, -E(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this, -this.J&255,F(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a= -a.call(this,this.J&255,E(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.L()));this.C=this.C&-256|a; -this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.L()));this.G=this.G& -255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+ -this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>> -8,F(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a= -a.call(this,this.I>>8,E(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.L()));this.J=this.J&255| -a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.L()));this.C= -this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this, -this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this, -this.G&255,F(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a= -a.call(this,this.G&255,E(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.K()));this.I=this.I&-256|a; -this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.K()));this.J=this.J& --256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+ -this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C& -255,F(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this, -this.C&255,E(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-= -this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.K()));this.I=this.I&255| -a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+ -this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>> -8,F(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a= -a.call(this,this.J>>8,E(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.K()));this.C=this.C&255| -a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}, -function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C>>8);this.G=this.G&-256|a},function(a){a= -a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a},function(a){a=a.call(this, -this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J& -255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I>> -8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G= -this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C&255);this.I= -this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J& -255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I&255);this.C=this.C&255| -a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],Hd=[function(a){a=a.call(this,K(this,this.C+this.F),this.G&255);P(this, -a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.G&255); -P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F), -this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.I&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+ -this.F),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.J&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ -this.F),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, -this.K()),this.C&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, -K(this,this.F),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.G>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this, -this.H+this.F),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.I>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ -this.F),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, -this.K()),this.J>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, -K(this,this.F),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.C>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a= -a.call(this,M(this,this.H+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G& -255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I&255);P(this,a);this.A-= -this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this, -this.H+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J&255);P(this,a); -this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,K(this,this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()), -this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,K(this,this.C+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()), -this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.O}, -function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()), -this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.M}, -function(a){a=a.call(this,M(this,this.H+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this, -this.H+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I&255);P(this,a); -this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,M(this,this.H+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+ -this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.N}, -function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this, -this.H+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.G>>8); -P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this, -K(this,this.C+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.I>>8); -P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.N}, -function(a){a=a.call(this,K(this,this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()), -this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a= -a.call(this,K(this,this.C+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249],A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238],A[246],A[254],A[199],A[207],A[215],A[223],A[231], -A[239],A[247],A[255]],Id=[function(a,b){var c=a[0].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.F),b.call(this));P(this,c);this.A-= -this.B.R},function(a,b){var c=a[0].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[0].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c= -a[1].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,K(this,this.C), -b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.F),b.call(this)); -P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[2].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z}, -function(a,b){var c=a[3].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this, -K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this,this.F), -b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.C+this.D),b.call(this));P(this,c); -this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a, -b){var c=a[5].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this, -K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.C+this.D),b.call(this)); -P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa}, -function(a,b){var c=a[7].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this, -c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.L()),b.call(this)); -P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+ -this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this, -M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c= -a[2].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-= -this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this, -c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.L()), -b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this, -this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a, -b){var c=a[6].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N}, -function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.L()),b.call(this));P(this, -c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.K()), -b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+ -this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c= -a[1].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a, -b){var c=a[2].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-= -this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.K()),b.call(this)); -P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.K()),b.call(this)); -P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this, -this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this, -K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a, -b){var c=a[5].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-= -this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.K()),b.call(this));P(this, -c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+ -this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I= -this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C& -255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<< -8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a, -b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c= -a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this, -this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>> -8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this)); -this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J= -this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G& --256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8}, -function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],C=[function(a){this.G=a.call(this,this.G,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.F));this.A-=this.B.R},function(a){this.G=a.call(this, -this.G,G(this,this.D));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.K()));this.A-=this.B.oa},function(a){this.G=a.call(this,this.G,G(this,this.C));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D));this.A-=this.B.Y}, -function(a){this.I=a.call(this,this.I,G(this,this.F));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.D));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.K()));this.A-=this.B.oa},function(a){this.I=a.call(this,this.I,G(this,this.C));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+ -this.F));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.F));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.D));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.K()));this.A-=this.B.oa},function(a){this.J=a.call(this,this.J,G(this,this.C));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.C=a.call(this, -this.C,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.C=a.call(this,this.C,G(this,this.F));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.D));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.K()));this.A-=this.B.oa},function(a){this.C=a.call(this,this.C,G(this,this.C));this.A-=this.B.R},function(a){y(this, -a.call(this,w(this),G(this,this.C+this.F)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D)));this.A-=this.B.Z},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F)));this.A-=this.B.Z},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.F)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.D)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.K()))); -this.A-=this.B.oa},function(a){y(this,a.call(this,w(this),G(this,this.C)));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this,this.F));this.A-=this.B.R},function(a){this.H=a.call(this, -this.H,G(this,this.D));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.K()));this.A-=this.B.oa},function(a){this.H=a.call(this,this.H,G(this,this.C));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D));this.A-=this.B.Y}, -function(a){this.F=a.call(this,this.F,G(this,this.F));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.D));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.K()));this.A-=this.B.oa},function(a){this.F=a.call(this,this.F,G(this,this.C));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+ -this.F));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.F));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.D));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.K()));this.A-=this.B.oa},function(a){this.D=a.call(this,this.D,G(this,this.C));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.G= -a.call(this,this.G,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G= -a.call(this,this.G,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I= -a.call(this,this.I,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.J= -a.call(this,this.J,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this, -this.C,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this, -this.C,G(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this, -a.call(this,w(this),G(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.H= -a.call(this,this.H,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this, -this.F,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this, -this.F,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D= -a.call(this,this.D,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.G= -a.call(this,this.G,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this, -this.I,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this, -this.I,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J= -a.call(this,this.J,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.C= -a.call(this,this.C,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.K())));this.A-=this.B.N},function(a){y(this, -a.call(this,w(this),G(this,this.C+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D+this.K())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this, -a.call(this,w(this),G(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H= -a.call(this,this.H,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.F= -a.call(this,this.F,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this, -this.D,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this, -this.D,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G=a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,w(this))},function(a){this.G=a.call(this,this.G,this.H)},function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this, -this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this,this.I,this.C)},function(a){this.I=a.call(this,this.I,w(this))},function(a){this.I=a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this,this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J= -a.call(this,this.J,w(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J=a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C=a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C=a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,w(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C= -a.call(this,this.C,this.D)},function(a){y(this,a.call(this,w(this),this.G))},function(a){y(this,a.call(this,w(this),this.I))},function(a){y(this,a.call(this,w(this),this.J))},function(a){y(this,a.call(this,w(this),this.C))},function(a){y(this,a.call(this,w(this),w(this)))},function(a){y(this,a.call(this,w(this),this.H))},function(a){y(this,a.call(this,w(this),this.F))},function(a){y(this,a.call(this,w(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H, -this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H=a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,w(this))},function(a){this.H=a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F=a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this, -this.F,w(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F=a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D=a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D=a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,w(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D= -a.call(this,this.D,this.D)}],Jd=[function(a){a=a.call(this,N(this,this.C+this.F),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.G);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.G);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.G);Q(this, -a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.G);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.I);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.I);Q(this,a);this.A-= -this.B.Y},function(a){a=a.call(this,N(this,this.F),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.I);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.J);Q(this,a);this.A-=this.B.Z},function(a){a= -a.call(this,O(this,this.H+this.F),this.J);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.J);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+ -this.F),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.C); -Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),w(this));Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),w(this));Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),w(this));Q(this, -a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),w(this));Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.H);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.H);Q(this,a);this.A-=this.B.Z}, -function(a){a=a.call(this,O(this,this.H+this.D),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.H);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this, -N(this,this.C+this.D),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.F);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C), -this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.D);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.D);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.D);Q(this, -a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.D);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+ -this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this, -N(this,this.C+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this, -this.F+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a= -a.call(this,O(this,this.H+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.C);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this, -this.D+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.O}, -function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.F); -Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, -O(this,this.H+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.D);Q(this,a);this.A-= -this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()), -this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, -N(this,this.C+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.I);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+ -this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, -N(this,this.C+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.C);Q(this,a);this.A-= -this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+ -this.D+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a= -a.call(this,N(this,this.C+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.H);Q(this, -a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this, -N(this,this.F+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.D);Q(this,a);this.A-=this.B.O}, -function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.D); -Q(this,a);this.A-=this.B.M},C[192],C[200],C[208],C[216],C[224],C[232],C[240],C[248],C[193],C[201],C[209],C[217],C[225],C[233],C[241],C[249],C[194],C[202],C[210],C[218],C[226],C[234],C[242],C[250],C[195],C[203],C[211],C[219],C[227],C[235],C[243],C[251],C[196],C[204],C[212],C[220],C[228],C[236],C[244],C[252],C[197],C[205],C[213],C[221],C[229],C[237],C[245],C[253],C[198],C[206],C[214],C[222],C[230],C[238],C[246],C[254],C[199],C[207],C[215],C[223],C[231],C[239],C[247],C[255]],Kd=[function(a,b){var c= -a[0].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[0].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[2].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[2].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[4].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[6].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this, -N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this)); -Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a, -b){var c=a[0].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.L()),b.call(this));Q(this, -c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+this.D+this.L()),b.call(this)); -Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()), -b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this, -O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this, -N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, -b){var c=a[3].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O}, -function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c); -this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()), -b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.F+ -this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this, -N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c= -a[7].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, -b){var c=a[7].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this, -c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.K()),b.call(this)); -Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+ -this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this, -O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c= -a[2].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-= -this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this, -c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.K()), -b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this, -this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this, -N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a, -b){var c=a[6].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N}, -function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.K()),b.call(this));Q(this, -c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){y(this,a[0].call(this,w(this),b.call(this)))}, -function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this,a[1].call(this,w(this),b.call(this)))},function(a,b){this.H=a[1].call(this, -this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,w(this),b.call(this)))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F= -a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,w(this),b.call(this)))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))}, -function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,w(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this, -this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,w(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G= -a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,w(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))}, -function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function Dd(){this.Im[this.X()].call(this)} -function Fd(){z(this,w(this)&this.ha);this.A-=this.B.rc}function ld(){var a=w(this)&this.ha;z(this,this.G&this.ha);z(this,this.I&this.ha);z(this,this.J&this.ha);z(this,this.C&this.ha);z(this,a);z(this,this.H&this.ha);z(this,this.F&this.ha);z(this,this.D&this.ha);this.A-=this.B.$l} -function md(){this.D=this.D&~this.ha|this.Ea();this.F=this.F&~this.ha|this.Ea();this.H=this.H&~this.ha|this.Ea();y(this,w(this)+this.ed);this.C=this.C&~this.ha|this.Ea();this.J=this.J&~this.ha|this.Ea();this.I=this.I&~this.ha|this.Ea();this.G=this.G&~this.ha|this.Ea();this.A-=this.B.Yl}function nd(){this.sb[this.X()].call(this,gf)}function Ed(){this.Ac[this.X()].call(this,hf)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.X()].call(this,bf)} -function qd(){z(this,this.X());this.A-=this.B.rc}function rd(){this.sb[this.X()].call(this,af)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}} +function ie(a,b){b=b|a.lc&1|65520;a.lc=a.lc&-65536|b&65535;a.lc&1&&Ld(a,!0)}function Xc(a,b,c){a.T=256;a.P=a.W=a.da=0;b&xb&&de(a);b&wb||(a.W|=1);b&vb&&(a.da|=16);b&ub||be(a);b&tb&&ge(a);b&pb&&he(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.ma.Va);c?b=b&-12289|a.Aa&12288:a.Bf=(b&12288)>>12;c>a.Bf&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Fg|b&a.Fg|a.gk;a.Aa&sb&&(a.kb|=2,a.Q|=4)} +k.Eb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.na[b]=c;this.yk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)}; +k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;return b>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;c>8&255))};function je(a,b,c){a.Cg=b;a.aa=b.Ec(a.xg=c,0);return a.Q&1?0:a.qc(a.aa)} +function E(a,b){return je(a,a.fb,b&65535)}function F(a,b){return je(a,a.Mc,b&65535)}function ke(a,b,c){a.Cg=b;a.aa=b.Ec(a.xg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return ke(a,a.fb,b&65535)}function J(a,b){return ke(a,a.Mc,b&65535)}function le(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.xg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return le(a,a.fb,b&65535)}function M(a,b){return le(a,a.Mc,b&65535)}function me(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.xg=c,1);return a.Q&1?0:a.ja(a.aa)} +function N(a,b){return me(a,a.fb,b&65535)}function O(a,b){return me(a,a.Mc,b&65535)}function P(a,b){a.Q&2||a.Te(a.Cg.hc(a.xg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Cg.hc(a.xg,1),b)}function ad(a,b,c){return a.ja(b.Ec(c,1))}k.X=function(){var a=this.qc(this.la);++this.la>this.Ff&&D(this,this.la-this.ma.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.Ff&&D(this,this.la-this.ma.ua);return a&65535};function ne(a){var b=a.ja(a.la);a.la+=2;a.la>a.Ff&&D(a,a.la-a.ma.ua);return b} +k.K=function(){var a=this.ja(this.la);this.la+=this.se;this.la>this.Ff&&D(this,this.la-this.ma.ua);return a};k.Ea=function(){var a=this.ja(this.Jc);this.Jc+=2;this.Jc>this.nm&&y(this,this.Jc-this.ra.ua);return a};function z(a,b){a.Jc-=2;a.Jcthis.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function ue(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function ve(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&255} +function we(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&65535}function xe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&255}function ye(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&65535}function ze(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,fe(this),a;be(this);return a} +function Ae(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.jl;if(bd)D(this,this.Bb-this.ma.ua),re.call(this,5,null,0);this.Q|=2;return a}function Be(a,b){var c=this.ma.sa,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))}function Ce(a,b){this.da=a^b;this.T=256;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a} +function De(a,b){this.da=a^b;this.T=65536;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function Ee(a){return a}function Fe(a,b){var c=(b<<16>>16)*(this.X()<<24>>24);this.P=this.da=this.W=c;this.T=256;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535} +function Ge(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.W=c;this.T=65536;32767c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}function re(a,b,c){this.A-=this.B.El+c;this.ma.zi=!0;c=ob(this);var d=this.ma.sa,e=v(this);a=this.ma.$k(a);a!=q&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.Dh=-1)} +function He(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.ma.Va&&this.Jb.pc>=(b&3))return fe(this),this.Jb.hb&65280;be(this);return a}function Ie(a,b){if(0>this.aa)return R.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}function Je(a){if(0>this.aa)return R.call(this),a;this.A-=this.B.Ml;return this.aa}function Ke(a,b){if(0>this.aa)return R.call(this),a;Td(this,this.ja(this.aa+2));this.A-=this.B.kj;return b} +function Le(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.ma.Va)&&this.Jb.pc>=(b&3))return fe(this),this.Jb.$b;be(this);return a}function Me(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Tl:this.B.Sl:this.B.Ql;return b}function Ne(){return Me.call(this,0,this.Db)}function Oe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&255} +function Pe(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&65535}function Qe(a){var b=this.Ea(),c=this.Ea();(a<<=this.ed>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.sa&65528&&this.eb.pcthis.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function Se(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Te(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&255} +function Ue(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&65535}function Ve(a,b){this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.ug:this.B.ug;this.Q|=2;return a}function We(a,b){this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.ug:this.B.ug;this.Q|=2;return a} +function Xe(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Lj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Kj;return b} +function Ye(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Lj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Kj;return b}function Ze(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&255} +function $e(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&65535}function af(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?he(this):ce(this)}function bf(){this.A-=0>this.aa?2:this.B.fm;return 1}function cf(){var a=this.I&this.Df;this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<this.aa?this.B.Cj:this.B.Bj)+(a<this.Dh)D(this,this.Bb-this.ma.ua),d=!0;else if(8!=this.Dh)b=0,a=8,d=!0;else{hf.call(this,-1,0,c);Gd(this);return}hf.call(this,a,b,c)&&(d=!1);d&&re.call(this,this.Dh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.ma.ua)} +function hf(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Sq(v(this),this.ma.sa)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function Dd(){this.Im[this.X()].call(this)}function Fd(){z(this,w(this)&this.ha);this.A-=this.B.rc} +function ld(){var a=w(this)&this.ha;z(this,this.G&this.ha);z(this,this.I&this.ha);z(this,this.J&this.ha);z(this,this.C&this.ha);z(this,a);z(this,this.H&this.ha);z(this,this.F&this.ha);z(this,this.D&this.ha);this.A-=this.B.$l} +function md(){this.D=this.D&~this.ha|this.Ea();this.F=this.F&~this.ha|this.Ea();this.H=this.H&~this.ha|this.Ea();y(this,w(this)+this.ed);this.C=this.C&~this.ha|this.Ea();this.J=this.J&~this.ha|this.Ea();this.I=this.I&~this.ha|this.Ea();this.G=this.G&~this.ha|this.Ea();this.A-=this.B.Yl}function nd(){this.sb[this.X()].call(this,Ae)}function Ed(){this.Ac[this.X()].call(this,ze)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.X()].call(this,Ge)} +function qd(){z(this,this.X());this.A-=this.B.rc}function rd(){this.sb[this.X()].call(this,Fe)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}} function td(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.la-b-1,e=Jb(this.ka,this.J,d),d=e|=Jb(this.ka,this.J,d)<<8;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}} function ud(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.qc(this.eb.Ec(this.F&this.fa,0));this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;Lb(this.ka,this.J,d,this.la-b-1);a&&(this.la=this.Bb,this.Q|=256)}} -function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.fa);this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function qf(){var a=this.L();Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function rf(){var a=this.L();Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} -function sf(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function tf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function uf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function vf(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function wf(){var a=this.L();Ud(this)||Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb} -function xf(){var a=this.L();Ud(this)||Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function yf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function zf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function Af(){var a=this.L();Vd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Bf(){var a=this.L();Vd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} -function Cf(){var a=this.L();!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Df(){var a=this.L();!Yd(this)==!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ef(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ff(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} -function Gf(){this.re[this.X()].call(this,Ne,this.X);this.A-=0>this.Fa?1:this.B.Eh}function wd(){this.re[this.X()].call(this,Re,Ke)}function xd(){this.Pc[this.X()].call(this,Se,Ke)}function Hf(){var a=this.K()<<(this.ed>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.em}function If(){D(this,this.Ea());this.A-=this.B.bm} -function yd(){var a=this.K(),b=this.X()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.fa;if(0>8,c,d=Wd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this, -ye)},function(){this.Ac[this.X()].call(this,Ge)},function(){this.$c[this.X()].call(this,ye)},function(){this.sb[this.X()].call(this,Ge)},function(){ye.call(this,this.G&255,this.X());this.A--},function(){Ge.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this); +function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.fa);this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function jf(){var a=this.L();Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function kf(){var a=this.L();Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} +function lf(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function mf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function nf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function of(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function pf(){var a=this.L();Ud(this)||Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb} +function qf(){var a=this.L();Ud(this)||Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function rf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function sf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function tf(){var a=this.L();Vd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function uf(){var a=this.L();Vd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} +function vf(){var a=this.L();!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function wf(){var a=this.L();!Yd(this)==!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function xf(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function yf(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)} +function zf(){this.re[this.X()].call(this,Af,this.X);this.A-=0>this.Fa?1:this.B.Eh}function wd(){this.re[this.X()].call(this,Bf,df)}function xd(){this.Pc[this.X()].call(this,Cf,df)}function Df(){var a=this.K()<<(this.ed>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.em}function Ef(){D(this,this.Ea());this.A-=this.B.bm} +function yd(){var a=this.K(),b=this.X()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.fa;if(0>8,c,d=Wd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this, +Ce)},function(){this.Ac[this.X()].call(this,De)},function(){this.$c[this.X()].call(this,Ce)},function(){this.sb[this.X()].call(this,De)},function(){Ce.call(this,this.G&255,this.X());this.A--},function(){De.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this); this.A-=this.B.Ne},function(){this.W=(this.da=this.G)+1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)+1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)+1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)+1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a; this.W=(this.da=w(this))+1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)+1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)+1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)+1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-= 2},function(){this.W=(this.da=this.G)-1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)-1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)-1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)-1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;this.W= (this.da=w(this))-1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)-1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)-1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)-1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){z(this, this.G&this.ha);this.A-=this.B.rc},function(){z(this,this.I&this.ha);this.A-=this.B.rc},function(){z(this,this.J&this.ha);this.A-=this.B.rc},function(){z(this,this.C&this.ha);this.A-=this.B.rc},function(){z(this,w(this)-this.ed&this.ha);this.A-=this.B.rc},function(){z(this,this.H&this.ha);this.A-=this.B.rc},function(){z(this,this.F&this.ha);this.A-=this.B.rc},function(){z(this,this.D&this.ha);this.A-=this.B.rc},function(){this.G=this.G&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.I=this.I& -~this.ha|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.ha|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.ha|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.ha|this.Ea();this.A-=this.B.jc},qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf, -Cf,Df,Ef,Ff,Gf,function(){this.Pc[this.X()].call(this,Oe,this.K);this.A-=0>this.Fa?1:this.B.Eh},Gf,function(){this.Pc[this.X()].call(this,Oe,this.L);this.A-=0>this.Fa?1:this.B.Eh},function(){this.Zc[this.X()].call(this,Ze)},function(){this.Ac[this.X()].call(this,$e)},function(){this.$c[this.Tg=this.X()].call(this,lf)},function(){this.sb[this.Tg=this.X()].call(this,mf)},function(){this.Q|=1;this.Zc[this.X()].call(this,Xe)},function(){this.Q|=1;this.Ac[this.X()].call(this,Xe)},function(){this.$c[this.X()].call(this, -Xe)},function(){this.sb[this.X()].call(this,Xe)},function(){var a=this.X();switch((a&56)>>3){case 0:this.Db=this.Na.sa;break;case 1:this.Db=this.na.sa;break;case 2:this.Db=this.ra.sa;break;case 3:this.Db=this.eb.sa;break;default:S.call(this);return}this.Q|=1;this.Ac[a].call(this,Ye)},function(){this.Q|=1;this.fb=this.Mc=this.wm;this.sb[this.X()].call(this,df)},function(){var a,b=this.X(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| -80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,Xe);switch(c){case 0:Td(this,this.G);this.G=a;break;case 1:Rd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Sd(this,this.C);this.C=a;break;case 4:Td(this,w(this));y(this,a);break;case 5:Rd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Sd(this,this.D),this.D=a}}, -function(){this.Q|=1;this.Pc[this.X()].call(this,Pe,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= -2==this.ed?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.ed?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ll},function(){We.call(this,this.K(),this.K());this.A-=this.B.ol},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?de(this):$d(this);a&wb?Vd(this)||(this.W^=1):Vd(this)&&(this.W^=1);a&vb?ee(this): +~this.ha|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.ha|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.ha|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.ha|this.Ea();this.A-=this.B.jc},jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf, +vf,wf,xf,yf,zf,function(){this.Pc[this.X()].call(this,Jf,this.K);this.A-=0>this.Fa?1:this.B.Eh},zf,function(){this.Pc[this.X()].call(this,Jf,this.L);this.A-=0>this.Fa?1:this.B.Eh},function(){this.Zc[this.X()].call(this,Ve)},function(){this.Ac[this.X()].call(this,We)},function(){this.$c[this.Tg=this.X()].call(this,Xe)},function(){this.sb[this.Tg=this.X()].call(this,Ye)},function(){this.Q|=1;this.Zc[this.X()].call(this,Me)},function(){this.Q|=1;this.Ac[this.X()].call(this,Me)},function(){this.$c[this.X()].call(this, +Me)},function(){this.sb[this.X()].call(this,Me)},function(){var a=this.X();switch((a&56)>>3){case 0:this.Db=this.Na.sa;break;case 1:this.Db=this.ma.sa;break;case 2:this.Db=this.ra.sa;break;case 3:this.Db=this.eb.sa;break;default:R.call(this);return}this.Q|=1;this.Ac[a].call(this,Ne)},function(){this.Q|=1;this.fb=this.Mc=this.wm;this.sb[this.X()].call(this,Je)},function(){var a,b=this.X(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za|| +80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,Me);switch(c){case 0:Td(this,this.G);this.G=a;break;case 1:Rd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Sd(this,this.C);this.C=a;break;case 4:Td(this,w(this));y(this,a);break;case 5:Rd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Sd(this,this.D),this.D=a}}, +function(){this.Q|=1;this.Pc[this.X()].call(this,Kf,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G= +2==this.ed?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.ed?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ll},function(){Be.call(this,this.K(),this.K());this.A-=this.B.ol},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?de(this):$d(this);a&wb?Vd(this)||(this.W^=1):Vd(this)&&(this.W^=1);a&vb?ee(this): ae(this);a&ub?fe(this):be(this);a&tb?ge(this):Yd(this)&&(this.W^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(ob(this)&Ec)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Ec(b,0));this.G=a|b;this.A-=this.B.rj},function(){this.G=this.G&~this.ha|ad(this,this.fb,this.K());this.A-=this.B.rj},function(){var a=this.K(),b=this.G;this.Te(this.fb.hc(a,0),b);this.A-=this.B.sj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1), b);this.A-=this.B.sj},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-1:1,e=this.qc(this.fb.Ec(this.F,0));this.Te(this.Na.hc(this.D&this.fa,0),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-2: -2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.fa,1),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-1:1,e=ie(this,this.fb,this.F&this.fa),f=ke(this,this.Na,this.D&this.fa);ye.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa; -this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-2:2,e=je(this,this.fb,this.F&this.fa),f=le(this,this.Na,this.D&this.fa);Ge.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.W= +2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.fa,1),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-1:1,e=je(this,this.fb,this.F&this.fa),f=le(this,this.Na,this.D&this.fa);Ce.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa; +this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-2:2,e=ke(this,this.fb,this.F&this.fa),f=me(this,this.Na,this.D&this.fa);De.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.W= this.da=this.G&this.X();this.T=256;this.A-=this.B.Ne},function(){this.P=this.W=this.da=this.G&this.K();this.T=65536;this.A-=this.B.Ne},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256||(this.A-=this.B.Fj));if(a--){var d=this.G;this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256|| (this.A-=this.B.Fj));if(a--){var d=this.G;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.lj;this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=this.G&-256|this.qc(this.fb.Ec(this.F&this.fa,0)),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.lj; -this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=ad(this,this.fb,this.F&this.fa),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(ye.call(this,this.G&255,ke(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa& -64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(Ge.call(this,this.G,le(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.X();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.X();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.X(); +this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=ad(this,this.fb,this.F&this.fa),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(Ce.call(this,this.G&255,le(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa& +64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(De.call(this,this.G,me(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.X();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.X();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.X(); this.A-=this.B.Ab},function(){this.C=this.C&-256|this.X();this.A-=this.B.Ab},function(){this.G=this.G&255|this.X()<<8;this.A-=this.B.Ab},function(){this.I=this.I&255|this.X()<<8;this.A-=this.B.Ab},function(){this.J=this.J&255|this.X()<<8;this.A-=this.B.Ab},function(){this.C=this.C&255|this.X()<<8;this.A-=this.B.Ab},function(){this.G=this.G&~this.ha|this.K();this.A-=this.B.Ab},function(){this.I=this.I&~this.ha|this.K();this.A-=this.B.Ab},function(){this.J=this.J&~this.ha|this.K();this.A-=this.B.Ab}, -function(){this.C=this.C&~this.ha|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.ha|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.ha|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.ha|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.ha|this.K();this.A-=this.B.Ab},Hf,If,Hf,If,function(){this.sb[this.X()].call(this,ff)},function(){this.sb[this.X()].call(this,ef)},function(){this.Q|=1;this.re[this.X()].call(this,Qe,this.X)},function(){this.Q|=1;this.Pc[this.X()].call(this, -Qe,this.K)},Jf,Kf,Jf,Kf,function(){ne.call(this,3,null,this.B.Fl)},function(){var a=this.X(),b;a:{b=this.Hg[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.T=256;this.A-=this.B.hl},function(){this.G=this.G&-256|(Ud(this)?255:0);this.A-=2},function(){this.G= -this.G&-256|ie(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.gm},Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,function(){var a=this.L();(this.I=this.I-1&this.fa)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Ol):this.A-=this.B.oj},function(){var a=this.L();!(this.I=this.I-1&this.fa)||this.P&this.T-1?this.A-=this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.L();(this.I=this.I-1&this.fa)?(D(this,v(this)+a),this.A-=this.B.Nl):this.A-=this.B.oj},function(){var a=this.L();this.I?this.A-= +function(){this.C=this.C&~this.ha|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.ha|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.ha|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.ha|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.ha|this.K();this.A-=this.B.Ab},Df,Ef,Df,Ef,function(){this.sb[this.X()].call(this,Ke)},function(){this.sb[this.X()].call(this,Ie)},function(){this.Q|=1;this.re[this.X()].call(this,Lf,this.X)},function(){this.Q|=1;this.Pc[this.X()].call(this, +Lf,this.K)},Ff,Gf,Ff,Gf,function(){re.call(this,3,null,this.B.Fl)},function(){var a=this.X(),b;a:{b=this.Hg[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.T=256;this.A-=this.B.hl},function(){this.G=this.G&-256|(Ud(this)?255:0);this.A-=2},function(){this.G= +this.G&-256|je(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.gm},Hf,Hf,Hf,Hf,Hf,Hf,Hf,Hf,function(){var a=this.L();(this.I=this.I-1&this.fa)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Ol):this.A-=this.B.oj},function(){var a=this.L();!(this.I=this.I-1&this.fa)||this.P&this.T-1?this.A-=this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.L();(this.I=this.I-1&this.fa)?(D(this,v(this)+a),this.A-=this.B.Nl):this.A-=this.B.oj},function(){var a=this.L();this.I?this.A-= this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.X();this.G=this.G&-256|Jb(this.ka,a,this.la-2);this.A-=this.B.ij},function(){var a=this.X();this.G=Jb(this.ka,a,this.la-2);this.G|=Jb(this.ka,a+1&65535,this.la-2)<<8;this.A-=this.B.ij},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);this.A-=this.B.xj},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);Lb(this.ka,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.xj},function(){var a=this.K();z(this,v(this));D(this, v(this)+a);this.A-=this.B.ml},function(){var a=this.K();D(this,v(this)+a);this.A-=this.B.jj},function(){Yc(this,this.K(),this.K());this.A-=this.B.Jl},function(){var a=this.L();D(this,v(this)+a);this.A-=this.B.jj},function(){this.G=this.G&-256|Jb(this.ka,this.J,this.la-1);this.A-=this.B.hj},function(){this.G=Jb(this.ka,this.J,this.la-1);this.G|=Jb(this.ka,this.J+1&65535,this.la-1)<<8;this.A-=this.B.hj},function(){Lb(this.ka,this.J,this.G&255,this.la-1);this.A-=this.B.wj},function(){Lb(this.ka,this.J, -this.G&255,this.la-1);Lb(this.ka,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.wj},Mf,Mf,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Ud(this)?$d(this):de(this);this.A-=2},function(){this.Db=-1;this.re[this.X()].call(this,Ue,Le);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Pc[this.X()].call(this,Ve,Le);0<=this.Db&&(this.G=this.Db,this.J=this.zg)},function(){this.P&=~this.T;this.A-= -2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.kl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.X()].call(this,fd,Le)},function(){this.Pc[this.X()].call(this,id,Le)}],Cd=[function(){var a=this.X();16>(a&56)&&(this.Q|=1);this.Pc[a].call(this,this.lk,Le)},function(){var a=this.X();a&16||(this.Q|=1);this.Pc[a].call(this,Nf,Le)},function(){this.sb[this.X()].call(this,jf)},function(){this.sb[this.X()].call(this, -kf)},S,function(){this.na.Va?Lc.call(this,13,0,!0):(nf.call(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na,2102,this.ja(2084)),$c(this.na,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Qc=this.ja(2126)|this.qc(2128)<<16,this.ff=this.Qc+this.ja(2130),$c(this.ke,2132, -this.ja(2076)),this.Rc=this.ja(2138)|this.qc(2140)<<16,this.gf=this.Rc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.na.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},S,S,S,S,kd,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S, -S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],Od=[function(){this.A-=2+(0>this.aa?0:1);return this.ke.sa},function(){this.A-=2+(0>this.aa?0:1);return this.gb.sa},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0> -this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return fe(this),a;be(this);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3))return fe(this),a;be(this);return a},R,R],jd=[Bd,Bd,Bd,Bd,Bd,Bd,R,R],Nf=[function(a){0>this.aa?kd.call(this):(a=this.ff-this.Qc,this.Ga(this.aa+ -2,this.Qc),this.Ga(this.aa+4,65280|this.Qc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.gf-this.Rc,this.Ga(this.aa+2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this):(this.Qc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Qc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.gf=this.Rc+a,this.Q|=2,this.A-=12);return a},function(){this.A-= -2+(0>this.aa?0:1);return this.lc},R,function(a){nf.call(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},R]; -function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Of;this.Ub=0;var b=a.sw1;if(b)this.Ub=Pf(b,Qf|Rf.Gm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Sf.Xh,b--,this.Ub|=(b&3)<=Tf&&(this.Yg=this.Tf=2);this.Xd=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Nk= -!1;a.sound&&window&&"webkitAudioContext"in window&&(this.pi=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Of=5150,Tf=5170,Uf={none:0,tv:1,color:2,mono:3,ega:0},Sf={Xh:1,ONE:0,sq:64,qq:128,Qp:192,Hf:192,If:6},Qf=12,Rf={rq:16,Ip:32,Gm:48,Hf:48,If:4};k=T.prototype; -k.Eb=function(a,b,c){switch(b){case "sw1":return this.ma[b]=c,Vf(this,b,c,this.Ub,{0:this.za==Of?"Bootable Floppy Drive":"Loop on POST",1:this.za==Of?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Of)return this.ma[b]=c,Vf(this,b,c,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ma[b]=c,!0}return!1}; -k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Hh=c.S.jd/1193181;Ib(b,this,Wf);Kb(b,this,Xf);this.za=Tf){this.ib=16;this.sd=0;this.rd=16;this.Pg=0;this.ue=160;512<=fg(this)&&(this.ue|=16);3==gg(this)&&(this.ue|=64);this.ei=3;this.Sg=0;this.Xb=Array(7);this.hf=0;a&&(this.ba=Array(64));hg(this, -this.Cp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Yc&(Rf.Hf|2|Sf.Xh|Sf.Hf);this.ba[16]=ig(this,0)<<4|ig(this,1);jg(this)}}; -function hg(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.ug=a.Cf=0;a.hm=a.Fh=null} -function kg(a){var b;void 0===b&&(b=a.Fh);a.Cf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function jg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8} -k.save=function(){var a=new Pd(this);a.set(0,[this.Ub,this.ne,this.Yc,this.Ve]);for(var b=[],c=0;c=Tf&&(a.set(5,[this.ib,this.sd,this.rd,this.Pg,this.ue,this.ei]),a.set(6,[this.Sg,this.Xb,this.hf,this.ba,this.ug,this.Cf]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Yc=b[2];this.Ve=b[3];b=a[1];for(c=0;c>2)+1)*a.mo+32*((b?a.ne:a.Ve)&15)}function rg(a,b){var c=b?a.Ub:a.Yc;return a.za!=Of||c&Sf.Xh?((c&Sf.Hf)>>Sf.If)+1:0} -function ig(a,b){if(b>Rf.If} -function Vf(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=Ta(c,"pcjs-bitCell");c=null;for(g=0;gd.Ua[0]&&(d.Ua[0]=255,d.Ua[1]--,0>d.Ua[1]&&(d.Ua[1]=255)));return e}function wg(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1} -function xg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function yg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<>2].vb[b&3],c,d,e)} -function Eg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.bh&&b.Ki&&b.Ih?(c&&(b.eh=c),b.Ad||oe(a,b,!0)):c&&c(!0)}function oe(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.Cm=b.mode&12,b.Qk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Wg<<16|b.Sa[1]<<8|b.Sa[0],4==b.Cm?(d=!0,function(c){b.Ki.call(b.bh,b.Ih,-1,function(f,g){0>f&&(b.Qk||(b.Qk=!0),f=255);b.Ad||a.ka.Te(c,f);(d=g)&&setTimeout(function(){Jg(b)||oe(a,b)},0)})}(c)):8==b.Cm?(c=a.ka.qc(c),0>b.Ki.call(b.bh,b.Ih,c)&&(b.fd=!0)):b.fd=!0),!d&&!Jg(b););} -function Jg(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.Sa[0]--,0>a.Sa[0]&&(a.Sa[0]=255,a.Sa[1]--,0>a.Sa[1]&&(a.Sa[1]=255))):(a.Sa[0]++,255>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.kg=c||0,Mg(a))}function Pg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Mg(a))} -function Mg(a,b){var c,d=-1;1>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.fo=function(){return null}; -k.qp=function(a,b){this.ji=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Ph=f;g.mode=e;g.wk=d;g.Yb=[0,0];g.Ua=[0,0];g.De=[0,0];g.gd=!1;g.bg=!1;g.He=!1;Rg(this,c);0==c&&Pg(this,0);2==c&&255==this.Vb[0].ad&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Sg(this,c),d=this.Lb[c],d.De[0]=d.Ua[0],d.De[1]=d.Ua[1],d.bg=!0,Rg(this,c)}};function Ug(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Ce?256:65536);return d} -function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Ce?256:65536);return d}function Rg(a,b){var c=a.Lb[b];c.Td=32==c.Ph?1:0;c.Ce=48==c.Ph?2:1} -function Sg(a,b,c){var d=a.Lb[b];if(d.He&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Hh|0;0>f&&(d.Bd=e,f=0);var g=Ug(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.He=!1,b||Og(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d} -function Ac(a,b){for(var c=0;c=Tf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Fh&&(a.ug=yc(a.U,a.Xd),a.hm=1024,a.Fh=Math.floor(a.U.S.jd/a.hm),kg(a));d>=a.Cf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Og(a,8)),a.Cf=d+a.Fh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Og(a,8)));var e=d-a.ug,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]= -0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Og(a,8))}a.ug=d-e%c}}k.Xn=function(){var a=this.Vg;if(this.Qf&16)if(this.uc&128)a=this.Yc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.jp=function(a,b){this.Vg=b};k.Yn=function(){return this.uc}; -k.kp=function(a,b){Vg(this,b);this.Ba&&Wg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Vg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Zn=function(){var a=0,a=this.za==Of?this.uc&4?a|this.Ve&15:a|this.Ve>>4&1:this.uc&8?a|this.Yc>>4:a|this.Yc&15;this.uc&1&&Sg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.lp=function(a,b){this.hi=b};k.$n=function(){return this.Qf};k.mp=function(a,b){this.Qf=b};k.nn=function(){var a=this.Pg;this.ib&=-258;this.Ba&&Xg(this.Ba);return a}; -k.Bo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Yg(this,b);break;case 209:Zg(this,b);break;default:if(Yg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,$g(this.Ba)}ah(this,c)}}this.sd=b;this.ib&=-9};k.on=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.Co=function(a,b){Vg(this,b)};k.pn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a}; -k.Ao=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:ah(this,this.ue);break;case 173:Yg(this,this.rd|16);break;case 174:Yg(this,this.rd&-17);this.Ba&&Xg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Yg(this,this.rd|16);ah(this,85);Zg(this,3);break;case 224:ah(this,this.rd&16?0:1);break;case 240:c&1&&Gd(this.U)}};function Yg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Wg(a.Ba,!!(b&8),!(b&16))} -function ah(a,b){0<=b&&(a.Pg=b,a.ib&=-2,a.ib|=256)}function Zg(a,b){a.ei=b;Bb(a.ka,!!(b&2));b&1||Gd(a.U)}function bh(a,b){a.za=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&kg(this)};k.Vn=function(){return this.Sg};k.gp=function(a,b){this.Sg=b};k.ip=function(a,b){this.Ug=b};k.So=function(){};k.To=function(){}; -function Pf(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ci=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d>>d.jb].ak(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;bthis.Ng?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;jg(a)}}else m("No RAM allocated")}; -function ih(){this.Km=kh;this.Lm=lh}var jh=2160066560,kh=255,lh=0;function mh(){return this.V.Lm}function nh(a,b){this.V.Km=b}var oh=[mh,mh,mh,nh,nh,nh];ih.prototype.Tk=function(){return[null,0]};ih.prototype.Li=function(){return oh};za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b>8,this.la-1);this.A-=this.B.wj},If,If,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Ud(this)?$d(this):de(this);this.A-=2},function(){this.Db=-1;this.re[this.X()].call(this,Mf,ef);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Pc[this.X()].call(this,Nf,ef);0<=this.Db&&(this.G=this.Db,this.J=this.zg)},function(){this.P&=~this.T;this.A-= +2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.kl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.X()].call(this,fd,ef)},function(){this.Pc[this.X()].call(this,id,ef)}],Af=[ve,Oe,te,Re,xe,Te,Ze,Ce],Jf=[we,Pe,ue,Se,ye,Ue,$e,De],Kf=[function(a,b){this.A-=0>this.Fa?this.B.jc:this.B.Zl;return b},ff,ff,ff,ff,ff,ff,ff],Lf=[function(a,b){this.A-=0>this.Fa?this.B.Rl:this.B.Pl;return b}, +S,S,S,S,S,S,S],Bf=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;af.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);af.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%9)?(d=a<>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;af.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,af.call(this,c,256),c&=255);return c}, +function(a,b){var c=a;b&&(c=8>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},S,function(a,b){if(b){8>24>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Cf=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;af.call(this,d, +65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);af.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%17)?(d=a<>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;af.call(this,d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,af.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},S,function(a,b){if(b){16>16>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Mf=[function(a,b){b=this.X();this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},S,function(a){this.A-= +0>this.aa?this.B.sg:this.B.rg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.sg:this.B.rg;return(this.P=this.W=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.W=this.P;this.T=256;this.G&65280?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Vl:this.B.Ul;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.W=b;this.T=256;127b?(de(this),he(this)):($d(this), +ce(this));this.A-=0>this.aa?this.B.Al:this.B.zl;this.Q|=2;return a},function(a){if(!a)return gf.call(this),a;var b=this.G/a;if(255this.aa?this.B.sl:this.B.rl;this.Q|=2;return a},function(a){if(!a)return gf.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return gf.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.da=this.P=b|256;this.T= +256;this.A-=0>this.aa?this.B.wl:this.B.vl;this.Q|=2;return a}],Nf=[function(a,b){b=this.K();this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},S,function(a){this.A-=0>this.aa?this.B.sg:this.B.rg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.sg:this.B.rg;return(this.P=this.W=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.zg=this.J=this.P>>16&65535;this.da=this.W=this.P;this.T=65536;this.J?(de(this), +he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Xl:this.B.Wl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.zg=b>>16&65535;this.P=this.da=this.W=b;this.T=65536;32767b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Cl:this.B.Bl;this.Q|=2;return a},function(a,b){if(!a)return gf.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return gf.call(this),a;this.Db=this.G=c&65535;this.zg=this.J=b%a& +65535;this.W=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.ul:this.B.tl;this.Q|=2;return a},function(a,b){if(!a)return gf.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return gf.call(this),a;this.Db=this.G=d&65535;this.zg=this.J=b%c&65535;this.W=this.da=this.P=d|65536;this.T=65536;this.A-=0>this.aa?this.B.yl:this.B.xl;this.Q|=2;return a}],fd=[function(a){this.da=a;a=(this.W=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-= +0>this.aa?this.B.qg:this.B.pg;return a},function(a){this.da=a;a=(this.W=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.qg:this.B.pg;return a},S,S,S,S,S,S],id=[function(a){this.da=a;a=(this.W=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.qg:this.B.pg;return a},function(a){this.da=a;a=(this.W=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.qg:this.B.pg;return a},function(a){z(this,v(this));D(this,a); +this.A-=0>this.aa?this.B.ql:this.B.pl;this.Q|=2;return a},function(a){if(0>this.aa)return S.call(this,a);Be.call(this,a,this.ja(this.aa+2));this.A-=this.B.nl;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Ll:this.B.Kl;this.Q|=2;return a},function(a){if(0>this.aa)return S.call(this,a);Yc(this,a,this.ja(this.aa+2));this.Zg&&Nd(this,this.la);this.A-=this.B.Il;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc: +this.B.am;this.Q|=2;return a},ff],Cd=[function(){var a=this.X();16>(a&56)&&(this.Q|=1);this.Pc[a].call(this,this.lk,ef)},function(){var a=this.X();a&16||(this.Q|=1);this.Pc[a].call(this,Of,ef)},function(){this.sb[this.X()].call(this,He)},function(){this.sb[this.X()].call(this,Le)},R,function(){this.ma.Va?Lc.call(this,13,0,!0):(ie(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na, +2102,this.ja(2084)),$c(this.ma,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Qc=this.ja(2126)|this.qc(2128)<<16,this.ff=this.Qc+this.ja(2130),$c(this.ke,2132,this.ja(2076)),this.Rc=this.ja(2138)|this.qc(2140)<<16,this.gf=this.Rc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.ma.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},R,R,R,R,kd,R,R,R,R,R,R,R,R,R,R,R,R,R, +R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R],Od=[function(){this.A-=2+(0>this.aa?0: +1);return this.ke.sa},function(){this.A-=2+(0>this.aa?0:1);return this.gb.sa},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.ma.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return fe(this),a;be(this);return a},function(a){this.Q|= +2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.ma.Va&&this.Jb.pc>=(a&3))return fe(this),a;be(this);return a},S,S],jd=[Bd,Bd,Bd,Bd,Bd,Bd,S,S],Of=[function(a){0>this.aa?kd.call(this):(a=this.ff-this.Qc,this.Ga(this.aa+2,this.Qc),this.Ga(this.aa+4,65280|this.Qc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.gf-this.Rc,this.Ga(this.aa+2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this): +(this.Qc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Qc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.gf=this.Rc+a,this.Q|=2,this.A-=12);return a},function(){this.A-=2+(0>this.aa?0:1);return this.lc},S,function(a){ie(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},S],A=[function(a){a=a.call(this,this.G&255,E(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this, +this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.F));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.D));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.K()));this.G=this.G& +-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.G&255,E(this,this.C));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D));this.I=this.I&-256|a;this.A-= +this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.F));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.D));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.K()));this.I=this.I&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.I&255,E(this,this.C));this.I=this.I&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this, +this.J&255,E(this,this.C+this.D));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F));this.J=this.J&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D));this.J=this.J&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&255,E(this,this.F));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.D));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&255,E(this,this.K())); +this.J=this.J&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.J&255,E(this,this.C));this.J=this.J&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D));this.C=this.C& +-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,E(this,this.F));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.D));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,E(this,this.K()));this.C=this.C&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.C&255,E(this,this.C));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a= +a.call(this,this.G>>8,E(this,this.C+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F));this.G=this.G&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D));this.G=this.G&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.G>>8,E(this,this.F));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8,E(this,this.D));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>> +8,E(this,this.K()));this.G=this.G&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.G>>8,E(this,this.C));this.G=this.G&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D));this.I=this.I&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F));this.I=this.I&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.I>>8,F(this,this.H+ +this.D));this.I=this.I&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.I>>8,E(this,this.F));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.D));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.I>>8,E(this,this.K()));this.I=this.I&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.I>>8,E(this,this.C));this.I=this.I&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F));this.J=this.J&255| +a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F));this.J=this.J&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D));this.J=this.J&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.J>>8,E(this,this.F));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.J>>8,E(this,this.D));this.J=this.J&255|a<<8;this.A-=this.B.R}, +function(a){a=a.call(this,this.J>>8,E(this,this.K()));this.J=this.J&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.J>>8,E(this,this.C));this.J=this.J&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D));this.C=this.C&255|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F));this.C=this.C&255|a<<8;this.A-=this.B.Z},function(a){a= +a.call(this,this.C>>8,F(this,this.H+this.D));this.C=this.C&255|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8,E(this,this.F));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.D));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8,E(this,this.K()));this.C=this.C&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.C>>8,E(this,this.C));this.C=this.C&255|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this, +this.C+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a= +a.call(this,this.G&255,E(this,this.D+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.L()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.O}, +function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.D+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.L()));this.I=this.I&-256|a; +this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.L()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+ +this.L()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.L()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+ +this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this, +this.C&255,E(this,this.D+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.L()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a= +a.call(this,this.G>>8,F(this,this.H+this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M}, +function(a){a=a.call(this,this.G>>8,E(this,this.C+this.L()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.L()));this.I= +this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.L()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.L())); +this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>> +8,E(this,this.D+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.L()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a= +a.call(this,this.C>>8,F(this,this.H+this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.D+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M}, +function(a){a=a.call(this,this.C>>8,E(this,this.C+this.L()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D+this.K()));this.G= +this.G&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.G&255,E(this,this.F+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.D+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,F(this,this.H+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,E(this,this.C+this.K()));this.G=this.G&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F+this.K())); +this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.I&255,F(this,this.H+this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.I&255,E(this,this.F+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255, +E(this,this.D+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,F(this,this.H+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.I&255,E(this,this.C+this.K()));this.I=this.I&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.C+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.C+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this, +this.J&255,F(this,this.H+this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.J&255,F(this,this.H+this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.J&255,E(this,this.F+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,E(this,this.D+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.J&255,F(this,this.H+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a= +a.call(this,this.J&255,E(this,this.C+this.K()));this.J=this.J&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.C+this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.O},function(a){a=a.call(this,this.C&255,F(this,this.H+this.D+this.K()));this.C=this.C&-256|a; +this.A-=this.B.N},function(a){a=a.call(this,this.C&255,E(this,this.F+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.D+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,F(this,this.H+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.C&255,E(this,this.C+this.K()));this.C=this.C&-256|a;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.F+this.K()));this.G=this.G& +255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.D+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.G>>8,E(this,this.F+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.D+ +this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,F(this,this.H+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G>>8,E(this,this.C+this.K()));this.G=this.G&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.C+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>> +8,F(this,this.H+this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.I>>8,E(this,this.F+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,E(this,this.D+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.I>>8,F(this,this.H+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a= +a.call(this,this.I>>8,E(this,this.C+this.K()));this.I=this.I&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.D+this.K()));this.J=this.J&255| +a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.J>>8,E(this,this.F+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.D+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,F(this,this.H+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.J>>8,E(this,this.C+this.K()));this.J=this.J&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.F+this.K()));this.C= +this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.O},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.N},function(a){a=a.call(this,this.C>>8,E(this,this.F+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this, +this.D+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,F(this,this.H+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.C>>8,E(this,this.C+this.K()));this.C=this.C&255|a<<8;this.A-=this.B.M},function(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a},function(a){a=a.call(this, +this.G&255,this.C&255);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.G&255,this.C>>8);this.G=this.G&-256|a},function(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255, +this.J&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C&255);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.I&255,this.C>>8);this.I=this.I&-256|a},function(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I&255); +this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a},function(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C& +-256|a},function(a){a=a.call(this,this.C&255,this.I&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.G>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.I>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a},function(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}, +function(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.C&255);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}, +function(a){a=a.call(this,this.G>>8,this.C>>8);this.G=this.G&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C&255);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}, +function(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.I>>8,this.C>>8);this.I=this.I&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}, +function(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8},function(a){a=a.call(this,this.C>>8,this.G&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}, +function(a){a=a.call(this,this.C>>8,this.G>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.I>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8},function(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}],Hd=[function(a){a=a.call(this,K(this,this.C+this.F),this.G&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+ +this.F),this.G&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.G&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ +this.F),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.I&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, +this.K()),this.I&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.J&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, +K(this,this.F),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.J&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this, +M(this,this.H+this.F),this.C&255);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C&255);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.C&255);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C&255);P(this,a);this.A-=this.B.R},function(a){a=a.call(this, +K(this,this.C+this.F),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.G>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.G>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this, +K(this,this.K()),this.G>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.G>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.I>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.I>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this, +K(this,this.F),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.I>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.I>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this, +this.H+this.F),this.J>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.J>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.K()),this.J>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.J>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+ +this.F),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.C+this.D),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.F),this.C>>8);P(this,a);this.A-=this.B.Z},function(a){a=a.call(this,M(this,this.H+this.D),this.C>>8);P(this,a);this.A-=this.B.Y},function(a){a=a.call(this,K(this,this.F),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.D),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this, +this.K()),this.C>>8);P(this,a);this.A-=this.B.oa},function(a){a=a.call(this,K(this,this.C),this.C>>8);P(this,a);this.A-=this.B.R},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G&255);P(this,a);this.A-= +this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+ +this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I&255);P(this,a); +this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a= +a.call(this,K(this,this.F+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C& +255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a= +a.call(this,K(this,this.C+this.L()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()), +this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a= +a.call(this,M(this,this.H+this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.I>> +8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.J>>8);P(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,K(this,this.D+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+ +this.L()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.L()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.L()),this.C>>8);P(this,a);this.A-=this.B.M}, +function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this, +K(this,this.D+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I& +255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I&255);P(this,a);this.A-=this.B.M},function(a){a= +a.call(this,K(this,this.C+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.J&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+ +this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C&255);P(this,a); +this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.C&255);P(this,a);this.A-=this.B.M},function(a){a=a.call(this, +K(this,this.C+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.G>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.G>> +8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.G>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.O},function(a){a= +a.call(this,M(this,this.H+this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.I>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.J>> +8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a= +a.call(this,M(this,this.H+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.J>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.C+this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.O},function(a){a=a.call(this,M(this,this.H+this.D+this.K()), +this.C>>8);P(this,a);this.A-=this.B.N},function(a){a=a.call(this,K(this,this.F+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.D+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,M(this,this.H+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},function(a){a=a.call(this,K(this,this.C+this.K()),this.C>>8);P(this,a);this.A-=this.B.M},A[192],A[200],A[208],A[216],A[224],A[232],A[240],A[248],A[193],A[201],A[209],A[217],A[225],A[233],A[241],A[249], +A[194],A[202],A[210],A[218],A[226],A[234],A[242],A[250],A[195],A[203],A[211],A[219],A[227],A[235],A[243],A[251],A[196],A[204],A[212],A[220],A[228],A[236],A[244],A[252],A[197],A[205],A[213],A[221],A[229],A[237],A[245],A[253],A[198],A[206],A[214],A[222],A[230],A[238],A[246],A[254],A[199],A[207],A[215],A[223],A[231],A[239],A[247],A[255]],Id=[function(a,b){var c=a[0].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.C+this.D),b.call(this)); +P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa}, +function(a,b){var c=a[0].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c= +a[1].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.C+this.D), +b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-= +this.B.oa},function(a,b){var c=a[2].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a, +b){var c=a[3].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this, +this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,K(this,this.K()),b.call(this)); +P(this,c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-= +this.B.Y},function(a,b){var c=a[5].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this, +K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,K(this,this.K()),b.call(this)); +P(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.C+this.F),b.call(this));P(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.C+this.D),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.F),b.call(this));P(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,M(this,this.H+this.D),b.call(this));P(this,c);this.A-= +this.B.Y},function(a,b){var c=a[7].call(this,K(this,this.F),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,K(this,this.K()),b.call(this));P(this,c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,K(this,this.C),b.call(this));P(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c= +a[0].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M}, +function(a,b){var c=a[0].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this, +c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.L()),b.call(this)); +P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this, +this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this, +K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a, +b){var c=a[3].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-= +this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.L()),b.call(this));P(this, +c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+ +this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this, +this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c= +a[6].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.O}, +function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.L()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.L()),b.call(this));P(this,c);this.A-= +this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,K(this,this.F+this.K()), +b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.C+ +this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this, +M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a, +b){var c=a[2].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M}, +function(a,b){var c=a[3].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,K(this,this.F+this.K()),b.call(this)); +P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.C+this.D+this.K()), +b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,M(this, +this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c= +a[5].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a, +b){var c=a[6].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.C+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,K(this,this.F+this.K()),b.call(this));P(this, +c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,M(this,this.H+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.C+this.D+this.K()),b.call(this)); +P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,M(this,this.H+this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,K(this,this.F+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.D+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,M(this,this.H+this.K()), +b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,K(this,this.C+this.K()),b.call(this));P(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this, +this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[0].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[1].call(this,this.J& +255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[1].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this)); +this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[2].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J& +255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[3].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<< +8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a, +b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c= +a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this, +this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>> +8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this)); +this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],C=[function(a){this.G=a.call(this,this.G,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D));this.A-= +this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.G=a.call(this,this.G,G(this,this.F));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.D));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.K()));this.A-=this.B.oa},function(a){this.G=a.call(this,this.G,G(this,this.C));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this, +this.C+this.F));this.A-=this.B.Y},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.I=a.call(this,this.I,G(this,this.F));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.D));this.A-=this.B.R},function(a){this.I=a.call(this,this.I,G(this,this.K()));this.A-=this.B.oa},function(a){this.I= +a.call(this,this.I,G(this,this.C));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.J=a.call(this,this.J,G(this,this.F));this.A-=this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.D));this.A-= +this.B.R},function(a){this.J=a.call(this,this.J,G(this,this.K()));this.A-=this.B.oa},function(a){this.J=a.call(this,this.J,G(this,this.C));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.C=a.call(this, +this.C,G(this,this.F));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.D));this.A-=this.B.R},function(a){this.C=a.call(this,this.C,G(this,this.K()));this.A-=this.B.oa},function(a){this.C=a.call(this,this.C,G(this,this.C));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D)));this.A-=this.B.Z},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F)));this.A-=this.B.Z}, +function(a){y(this,a.call(this,w(this),J(this,this.H+this.D)));this.A-=this.B.Y},function(a){y(this,a.call(this,w(this),G(this,this.F)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.D)));this.A-=this.B.R},function(a){y(this,a.call(this,w(this),G(this,this.K())));this.A-=this.B.oa},function(a){y(this,a.call(this,w(this),G(this,this.C)));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this, +this.C+this.D));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.H=a.call(this,this.H,G(this,this.F));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.D));this.A-=this.B.R},function(a){this.H=a.call(this,this.H,G(this,this.K()));this.A-=this.B.oa},function(a){this.H=a.call(this,this.H,G(this,this.C));this.A-=this.B.R},function(a){this.F= +a.call(this,this.F,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.F=a.call(this,this.F,G(this,this.F));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.D));this.A-=this.B.R},function(a){this.F=a.call(this,this.F,G(this,this.K()));this.A-= +this.B.oa},function(a){this.F=a.call(this,this.F,G(this,this.C));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F));this.A-=this.B.Z},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D));this.A-=this.B.Y},function(a){this.D=a.call(this,this.D,G(this,this.F));this.A-=this.B.R},function(a){this.D=a.call(this, +this.D,G(this,this.D));this.A-=this.B.R},function(a){this.D=a.call(this,this.D,G(this,this.K()));this.A-=this.B.oa},function(a){this.D=a.call(this,this.D,G(this,this.C));this.A-=this.B.R},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+ +this.D+this.L()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D+ +this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.L())); +this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.D+ +this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+ +this.D+this.L()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.L()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.C+ +this.D+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.L())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.D+this.L())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.D+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.L())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this), +G(this,this.C+this.L())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this, +this.H,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.F=a.call(this, +this.F,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D, +G(this,this.C+this.D+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.L()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.D+this.L()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.D+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.L()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D, +G(this,this.C+this.L()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.G=a.call(this,this.G,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.G=a.call(this,this.G,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this, +this.G,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this,this.I,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.I=a.call(this, +this.I,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.I=a.call(this,this.I,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.I=a.call(this,this.I,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J, +G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.J=a.call(this,this.J,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.J=a.call(this,this.J,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.J=a.call(this,this.J, +G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.C=a.call(this,this.C,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.C=a.call(this,this.C,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this, +this.C,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.C=a.call(this,this.C,G(this,this.C+this.K()));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.F+this.K())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.C+this.D+this.K())));this.A-=this.B.O},function(a){y(this,a.call(this,w(this),J(this,this.H+this.F+this.K())));this.A-=this.B.O},function(a){y(this, +a.call(this,w(this),J(this,this.H+this.D+this.K())));this.A-=this.B.N},function(a){y(this,a.call(this,w(this),G(this,this.F+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.D+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),J(this,this.H+this.K())));this.A-=this.B.M},function(a){y(this,a.call(this,w(this),G(this,this.C+this.K())));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.H= +a.call(this,this.H,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.H=a.call(this,this.H,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.H=a.call(this,this.H,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.H=a.call(this,this.H,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.H= +a.call(this,this.H,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.F=a.call(this,this.F,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.F=a.call(this,this.F,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.F= +a.call(this,this.F,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.F=a.call(this,this.F,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.F+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.C+this.D+this.K()));this.A-=this.B.O},function(a){this.D=a.call(this,this.D,J(this,this.H+this.F+this.K()));this.A-=this.B.O},function(a){this.D= +a.call(this,this.D,J(this,this.H+this.D+this.K()));this.A-=this.B.N},function(a){this.D=a.call(this,this.D,G(this,this.F+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.D+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,J(this,this.H+this.K()));this.A-=this.B.M},function(a){this.D=a.call(this,this.D,G(this,this.C+this.K()));this.A-=this.B.M},function(a){this.G=a.call(this,this.G,this.G)},function(a){this.G=a.call(this,this.G,this.I)},function(a){this.G= +a.call(this,this.G,this.J)},function(a){this.G=a.call(this,this.G,this.C)},function(a){this.G=a.call(this,this.G,w(this))},function(a){this.G=a.call(this,this.G,this.H)},function(a){this.G=a.call(this,this.G,this.F)},function(a){this.G=a.call(this,this.G,this.D)},function(a){this.I=a.call(this,this.I,this.G)},function(a){this.I=a.call(this,this.I,this.I)},function(a){this.I=a.call(this,this.I,this.J)},function(a){this.I=a.call(this,this.I,this.C)},function(a){this.I=a.call(this,this.I,w(this))},function(a){this.I= +a.call(this,this.I,this.H)},function(a){this.I=a.call(this,this.I,this.F)},function(a){this.I=a.call(this,this.I,this.D)},function(a){this.J=a.call(this,this.J,this.G)},function(a){this.J=a.call(this,this.J,this.I)},function(a){this.J=a.call(this,this.J,this.J)},function(a){this.J=a.call(this,this.J,this.C)},function(a){this.J=a.call(this,this.J,w(this))},function(a){this.J=a.call(this,this.J,this.H)},function(a){this.J=a.call(this,this.J,this.F)},function(a){this.J=a.call(this,this.J,this.D)},function(a){this.C= +a.call(this,this.C,this.G)},function(a){this.C=a.call(this,this.C,this.I)},function(a){this.C=a.call(this,this.C,this.J)},function(a){this.C=a.call(this,this.C,this.C)},function(a){this.C=a.call(this,this.C,w(this))},function(a){this.C=a.call(this,this.C,this.H)},function(a){this.C=a.call(this,this.C,this.F)},function(a){this.C=a.call(this,this.C,this.D)},function(a){y(this,a.call(this,w(this),this.G))},function(a){y(this,a.call(this,w(this),this.I))},function(a){y(this,a.call(this,w(this),this.J))}, +function(a){y(this,a.call(this,w(this),this.C))},function(a){y(this,a.call(this,w(this),w(this)))},function(a){y(this,a.call(this,w(this),this.H))},function(a){y(this,a.call(this,w(this),this.F))},function(a){y(this,a.call(this,w(this),this.D))},function(a){this.H=a.call(this,this.H,this.G)},function(a){this.H=a.call(this,this.H,this.I)},function(a){this.H=a.call(this,this.H,this.J)},function(a){this.H=a.call(this,this.H,this.C)},function(a){this.H=a.call(this,this.H,w(this))},function(a){this.H= +a.call(this,this.H,this.H)},function(a){this.H=a.call(this,this.H,this.F)},function(a){this.H=a.call(this,this.H,this.D)},function(a){this.F=a.call(this,this.F,this.G)},function(a){this.F=a.call(this,this.F,this.I)},function(a){this.F=a.call(this,this.F,this.J)},function(a){this.F=a.call(this,this.F,this.C)},function(a){this.F=a.call(this,this.F,w(this))},function(a){this.F=a.call(this,this.F,this.H)},function(a){this.F=a.call(this,this.F,this.F)},function(a){this.F=a.call(this,this.F,this.D)},function(a){this.D= +a.call(this,this.D,this.G)},function(a){this.D=a.call(this,this.D,this.I)},function(a){this.D=a.call(this,this.D,this.J)},function(a){this.D=a.call(this,this.D,this.C)},function(a){this.D=a.call(this,this.D,w(this))},function(a){this.D=a.call(this,this.D,this.H)},function(a){this.D=a.call(this,this.D,this.F)},function(a){this.D=a.call(this,this.D,this.D)}],Jd=[function(a){a=a.call(this,N(this,this.C+this.F),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.G); +Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.G);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.G);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.G);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.G);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.G);Q(this,a);this.A-=this.B.R}, +function(a){a=a.call(this,N(this,this.C+this.F),this.I);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.I);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.I);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.I);Q(this,a);this.A-=this.B.R},function(a){a= +a.call(this,N(this,this.K()),this.I);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.I);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.J);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.J);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.J);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this, +N(this,this.F),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.J);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.J);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F), +this.C);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.C);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.C);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.C);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),w(this));Q(this,a);this.A-= +this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),w(this));Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),w(this));Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),w(this));Q(this,a);this.A-=this.B.oa}, +function(a){a=a.call(this,N(this,this.C),w(this));Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.H);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.H);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.H);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.H);Q(this,a);this.A-=this.B.R},function(a){a= +a.call(this,N(this,this.D),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.H);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.H);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.F);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this, +this.H+this.D),this.F);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.F);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.F);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.C+this.F),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.C+this.D),this.D); +Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.F),this.D);Q(this,a);this.A-=this.B.Z},function(a){a=a.call(this,O(this,this.H+this.D),this.D);Q(this,a);this.A-=this.B.Y},function(a){a=a.call(this,N(this,this.F),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.D),this.D);Q(this,a);this.A-=this.B.R},function(a){a=a.call(this,N(this,this.K()),this.D);Q(this,a);this.A-=this.B.oa},function(a){a=a.call(this,N(this,this.C),this.D);Q(this,a);this.A-=this.B.R}, +function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()), +this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.I);Q(this,a);this.A-=this.B.O},function(a){a= +a.call(this,O(this,this.H+this.D+this.L()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.J);Q(this,a);this.A-= +this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+ +this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.C);Q(this,a);this.A-=this.B.N}, +function(a){a=a.call(this,N(this,this.F+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),w(this)); +Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this, +N(this,this.C+this.L()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.H);Q(this,a); +this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.L()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+ +this.F+this.L()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.F);Q(this,a);this.A-=this.B.M},function(a){a= +a.call(this,N(this,this.C+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.L()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.L()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.L()),this.D); +Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.L()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.G);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this, +O(this,this.H+this.D+this.K()),this.G);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.G);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.N}, +function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.I);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.I);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()), +this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.I);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.J);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.J);Q(this,a);this.A-=this.B.N},function(a){a= +a.call(this,N(this,this.F+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.J);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.C);Q(this,a);this.A-= +this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.C);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.C);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()), +this.C);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),w(this));Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),w(this));Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a= +a.call(this,N(this,this.D+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),w(this));Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.H);Q(this, +a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.H);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.H);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+ +this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.F);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.F);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a= +a.call(this,O(this,this.H+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.F);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.C+this.D+this.K()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.F+this.K()),this.D);Q(this,a);this.A-=this.B.O},function(a){a=a.call(this,O(this,this.H+this.D+this.K()),this.D); +Q(this,a);this.A-=this.B.N},function(a){a=a.call(this,N(this,this.F+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.D+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,O(this,this.H+this.K()),this.D);Q(this,a);this.A-=this.B.M},function(a){a=a.call(this,N(this,this.C+this.K()),this.D);Q(this,a);this.A-=this.B.M},C[192],C[200],C[208],C[216],C[224],C[232],C[240],C[248],C[193],C[201],C[209],C[217],C[225],C[233],C[241],C[249],C[194],C[202],C[210], +C[218],C[226],C[234],C[242],C[250],C[195],C[203],C[211],C[219],C[227],C[235],C[243],C[251],C[196],C[204],C[212],C[220],C[228],C[236],C[244],C[252],C[197],C[205],C[213],C[221],C[229],C[237],C[245],C[253],C[198],C[206],C[214],C[222],C[230],C[238],C[246],C[254],C[199],C[207],C[215],C[223],C[231],C[239],C[247],C[255]],Kd=[function(a,b){var c=a[0].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-= +this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c= +a[0].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this, +N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.C+this.D),b.call(this)); +Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa}, +function(a,b){var c=a[2].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c= +a[3].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.C+this.D), +b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-= +this.B.oa},function(a,b){var c=a[4].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a, +b){var c=a[5].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this, +this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,N(this,this.K()),b.call(this)); +Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.C+this.F),b.call(this));Q(this,c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.C+this.D),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.F),b.call(this));Q(this,c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,O(this,this.H+this.D),b.call(this));Q(this,c);this.A-= +this.B.Y},function(a,b){var c=a[7].call(this,N(this,this.F),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.D),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,N(this,this.K()),b.call(this));Q(this,c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,N(this,this.C),b.call(this));Q(this,c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c= +a[0].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M}, +function(a,b){var c=a[0].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this, +c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.L()),b.call(this)); +Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this, +this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this, +N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, +b){var c=a[3].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-= +this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.L()),b.call(this));Q(this, +c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+ +this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this, +this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c= +a[6].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.O}, +function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.L()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.L()),b.call(this));Q(this,c);this.A-= +this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[0].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[0].call(this,N(this,this.F+this.K()), +b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[0].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.C+ +this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[1].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[1].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this, +O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[1].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[2].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a, +b){var c=a[2].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[2].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[2].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M}, +function(a,b){var c=a[3].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[3].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[3].call(this,N(this,this.F+this.K()),b.call(this)); +Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[3].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.C+this.D+this.K()), +b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[4].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[4].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,O(this, +this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[4].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[5].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c= +a[5].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[5].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[5].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a, +b){var c=a[6].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.C+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[6].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[6].call(this,N(this,this.F+this.K()),b.call(this));Q(this, +c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,O(this,this.H+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[6].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.C+this.D+this.K()),b.call(this)); +Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.O},function(a,b){var c=a[7].call(this,O(this,this.H+this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.N},function(a,b){var c=a[7].call(this,N(this,this.F+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.D+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,O(this,this.H+this.K()), +b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){var c=a[7].call(this,N(this,this.C+this.K()),b.call(this));Q(this,c);this.A-=this.B.M},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){y(this,a[0].call(this,w(this),b.call(this)))},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a, +b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.D=a[0].call(this,this.D,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){y(this,a[1].call(this,w(this),b.call(this)))},function(a,b){this.H=a[1].call(this,this.H,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))}, +function(a,b){this.D=a[1].call(this,this.D,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){y(this,a[2].call(this,w(this),b.call(this)))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this, +this.D,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.J=a[3].call(this,this.J,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){y(this,a[3].call(this,w(this),b.call(this)))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G= +a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,w(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))}, +function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,w(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this, +this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,w(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J= +a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}]; +function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Pf;this.Ub=0;var b=a.sw1;if(b)this.Ub=Qf(b,Rf|Sf.Gm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Tf.Xh,b--,this.Ub|=(b&3)<=Uf&&(this.Yg=this.Uf=2);this.Xd=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Nk= +!1;a.sound&&window&&"webkitAudioContext"in window&&(this.pi=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Pf=5150,Uf=5170,Vf={none:0,tv:1,color:2,mono:3,ega:0},Tf={Xh:1,ONE:0,sq:64,qq:128,Qp:192,If:192,Jf:6},Rf=12,Sf={rq:16,Ip:32,Gm:48,If:48,Jf:4};k=T.prototype; +k.Eb=function(a,b,c){switch(b){case "sw1":return this.na[b]=c,Wf(this,b,c,this.Ub,{0:this.za==Pf?"Bootable Floppy Drive":"Loop on POST",1:this.za==Pf?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Pf)return this.na[b]=c,Wf(this,b,c,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.na[b]=c,!0}return!1}; +k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Hh=c.S.jd/1193181;Ib(b,this,Xf);Kb(b,this,Yf);this.za=Uf){this.ib=16;this.sd=0;this.rd=16;this.Pg=0;this.ue=160;512<=gg(this)&&(this.ue|=16);3==hg(this)&&(this.ue|=64);this.ei=3;this.Sg=0;this.Xb=Array(7);this.hf=0;a&&(this.ba=Array(64));ig(this, +this.Cp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Yc&(Sf.If|2|Tf.Xh|Tf.If);this.ba[16]=jg(this,0)<<4|jg(this,1);kg(this)}}; +function ig(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.vg=a.Cf=0;a.hm=a.Fh=null} +function lg(a){var b;void 0===b&&(b=a.Fh);a.Cf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function kg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8} +k.save=function(){var a=new Pd(this);a.set(0,[this.Ub,this.ne,this.Yc,this.Ve]);for(var b=[],c=0;c=Uf&&(a.set(5,[this.ib,this.sd,this.rd,this.Pg,this.ue,this.ei]),a.set(6,[this.Sg,this.Xb,this.hf,this.ba,this.vg,this.Cf]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Yc=b[2];this.Ve=b[3];b=a[1];for(c=0;c>2)+1)*a.mo+32*((b?a.ne:a.Ve)&15)}function sg(a,b){var c=b?a.Ub:a.Yc;return a.za!=Pf||c&Tf.Xh?((c&Tf.If)>>Tf.Jf)+1:0} +function jg(a,b){if(b>Sf.Jf} +function Wf(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=Ta(c,"pcjs-bitCell");c=null;for(g=0;gd.Ua[0]&&(d.Ua[0]=255,d.Ua[1]--,0>d.Ua[1]&&(d.Ua[1]=255)));return e}function xg(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1} +function yg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function Dg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<>2].vb[b&3],c,d,e)} +function Fg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.bh&&b.Ki&&b.Ih?(c&&(b.eh=c),b.Ad||se(a,b,!0)):c&&c(!0)}function se(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.Cm=b.mode&12,b.Qk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Wg<<16|b.Sa[1]<<8|b.Sa[0],4==b.Cm?(d=!0,function(c){b.Ki.call(b.bh,b.Ih,-1,function(f,g){0>f&&(b.Qk||(b.Qk=!0),f=255);b.Ad||a.ka.Te(c,f);(d=g)&&setTimeout(function(){Kg(b)||se(a,b)},0)})}(c)):8==b.Cm?(c=a.ka.qc(c),0>b.Ki.call(b.bh,b.Ih,c)&&(b.fd=!0)):b.fd=!0),!d&&!Kg(b););} +function Kg(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.Sa[0]--,0>a.Sa[0]&&(a.Sa[0]=255,a.Sa[1]--,0>a.Sa[1]&&(a.Sa[1]=255))):(a.Sa[0]++,255>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.lg=c||0,Ng(a))}function Qg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Ng(a))} +function Ng(a,b){var c,d=-1;1>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.fo=function(){return null}; +k.qp=function(a,b){this.ji=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Ph=f;g.mode=e;g.wk=d;g.Yb=[0,0];g.Ua=[0,0];g.De=[0,0];g.gd=!1;g.cg=!1;g.He=!1;Sg(this,c);0==c&&Qg(this,0);2==c&&255==this.Vb[0].ad&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Tg(this,c),d=this.Lb[c],d.De[0]=d.Ua[0],d.De[1]=d.Ua[1],d.cg=!0,Sg(this,c)}};function Vg(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Ce?256:65536);return d} +function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Ce?256:65536);return d}function Sg(a,b){var c=a.Lb[b];c.Td=32==c.Ph?1:0;c.Ce=48==c.Ph?2:1} +function Tg(a,b,c){var d=a.Lb[b];if(d.He&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Hh|0;0>f&&(d.Bd=e,f=0);var g=Vg(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.He=!1,b||Pg(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Pg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Pg(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d} +function Ac(a,b){for(var c=0;c=Uf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Fh&&(a.vg=yc(a.U,a.Xd),a.hm=1024,a.Fh=Math.floor(a.U.S.jd/a.hm),lg(a));d>=a.Cf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Pg(a,8)),a.Cf=d+a.Fh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Pg(a,8)));var e=d-a.vg,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]= +0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Pg(a,8))}a.vg=d-e%c}}k.Xn=function(){var a=this.Vg;if(this.Rf&16)if(this.uc&128)a=this.Yc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.jp=function(a,b){this.Vg=b};k.Yn=function(){return this.uc}; +k.kp=function(a,b){Wg(this,b);this.Ba&&Xg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Wg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Zn=function(){var a=0,a=this.za==Pf?this.uc&4?a|this.Ve&15:a|this.Ve>>4&1:this.uc&8?a|this.Yc>>4:a|this.Yc&15;this.uc&1&&Tg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.lp=function(a,b){this.hi=b};k.$n=function(){return this.Rf};k.mp=function(a,b){this.Rf=b};k.nn=function(){var a=this.Pg;this.ib&=-258;this.Ba&&Yg(this.Ba);return a}; +k.Bo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Zg(this,b);break;case 209:$g(this,b);break;default:if(Zg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,ah(this.Ba)}bh(this,c)}}this.sd=b;this.ib&=-9};k.on=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.Co=function(a,b){Wg(this,b)};k.pn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a}; +k.Ao=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:bh(this,this.ue);break;case 173:Zg(this,this.rd|16);break;case 174:Zg(this,this.rd&-17);this.Ba&&Yg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Zg(this,this.rd|16);bh(this,85);$g(this,3);break;case 224:bh(this,this.rd&16?0:1);break;case 240:c&1&&Gd(this.U)}};function Zg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Xg(a.Ba,!!(b&8),!(b&16))} +function bh(a,b){0<=b&&(a.Pg=b,a.ib&=-2,a.ib|=256)}function $g(a,b){a.ei=b;Bb(a.ka,!!(b&2));b&1||Gd(a.U)}function ch(a,b){a.za=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&lg(this)};k.Vn=function(){return this.Sg};k.gp=function(a,b){this.Sg=b};k.ip=function(a,b){this.Ug=b};k.So=function(){};k.To=function(){}; +function Qf(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ci=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d>>d.jb].ak(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;bthis.Ng?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;kg(a)}}else m("No RAM allocated")}; +function jh(){this.Km=lh;this.Lm=mh}var kh=2160066560,lh=255,mh=0;function nh(){return this.V.Lm}function oh(a,b){this.V.Km=b}var ph=[nh,nh,nh,oh,oh,oh];jh.prototype.Tk=function(){return[null,0]};jh.prototype.Li=function(){return ph};za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Gp:65,Hp:66,ek:67,Em:68,E:69,Op:70,Rp:71,fk:72,Tp:73,Up:74,Vp:75,Wp:76,Xp:77,Yh:78,Zp:79,$p:80,bq:81,hk:82,fq:83,pq:84,tq:85,uq:86,vq:87,xq:88,yq:89,zq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Aq:97,Cq:98,Eq:99,Lq:100,Mq:101,Nq:102,Pq:103,Rq:104,Tq:105,Uq:106,Vq:107, -Wq:108,Xq:109,Yq:110,$q:111,ar:112,br:113,cr:114,dr:115,fr:116,gr:117,hr:118,ir:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},qh={};qh[186]=V[";"];qh[187]=V["="];qh[188]=V[","];qh[189]=V["-"];qh[190]=V["."];qh[191]=V["/"];qh[192]=V["`"];qh[219]=V["["];qh[220]=V["\\"];qh[221]=V["]"];qh[222]=V["'"];qh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"]; +Wq:108,Xq:109,Yq:110,$q:111,ar:112,br:113,cr:114,dr:115,fr:116,gr:117,hr:118,ir:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},rh={};rh[186]=V[";"];rh[187]=V["="];rh[188]=V[","];rh[189]=V["-"];rh[190]=V["."];rh[191]=V["/"];rh[192]=V["`"];rh[219]=V["["];rh[220]=V["\\"];rh[221]=V["]"];rh[222]=V["'"];rh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"]; W[186]=V[":"];W[187]=V["+"];W[188]=V["<"];W[189]=V._;W[190]=V[">"];W[191]=V["?"];W[192]=V["~"];W[219]=V["{"];W[220]=V["|"];W[221]=V["}"];W[222]=V['"'];W[173]=V._;W[61]=V["+"];W[59]=V[":"]; -var rh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sh={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},th={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13, +var sh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},th={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},uh={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":V[";"],quote:V["'"],"`":V["`"],shift:1016,"\\":V["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":V[","],".":V["."],"/":V["/"],"right-shift":3016,prtsc:1044,alt:1018,space:V[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035, -"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},uh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; +"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},vh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16; X[81]=10768;X[119]=17;X[87]=10769;X[101]=18;X[69]=10770;X[114]=19;X[82]=10771;X[116]=20;X[84]=10772;X[121]=21;X[89]=10773;X[117]=22;X[85]=10774;X[105]=23;X[73]=10775;X[111]=24;X[79]=10776;X[112]=25;X[80]=10777;X[V["["]]=26;X[V["{"]]=10778;X[V["]"]]=27;X[V["}"]]=10779;X[13]=28;X[1017]=29;X[97]=30;X[65]=10782;X[115]=31;X[83]=10783;X[100]=32;X[68]=10784;X[102]=33;X[70]=10785;X[103]=34;X[71]=10786;X[104]=35;X[72]=10787;X[106]=36;X[74]=10788;X[107]=37;X[75]=10789;X[108]=38;X[76]=10790;X[V[";"]]=39; X[V[":"]]=10791;X[V["'"]]=40;X[V['"']]=10792;X[V["`"]]=41;X[V["~"]]=10793;X[1016]=42;X[V["\\"]]=43;X[V["|"]]=10795;X[122]=44;X[90]=10796;X[120]=45;X[88]=10797;X[99]=46;X[67]=10798;X[118]=47;X[86]=10799;X[98]=48;X[66]=10800;X[110]=49;X[78]=10801;X[109]=50;X[77]=10802;X[V[","]]=51;X[V["<"]]=10803;X[V["."]]=52;X[V[">"]]=10804;X[V["/"]]=53;X[V["?"]]=10805;X[3016]=54;X[1044]=55;X[1018]=56;X[V[" "]]=57;X[1020]=58;X[1112]=59;X[1113]=60;X[1114]=61;X[1115]=62;X[1116]=63;X[1117]=64;X[1118]=65;X[1119]=66; -X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=ph.prototype; -k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ma[e])switch(b){case "kbd":return this.ma[e]=c,c.onkeydown=function(a){return vh(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Fk){var b=d.Gb.length?d.Gb[0].me:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Hi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||wh(d,a,!0);return b},c.onkeyup=function(a){return vh(d,a,!1)},!0;case "caps-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d, -1020,!0)},!0;case "num-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1144,!0)},!0;case "scroll-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==sh[f]&&"button"==a)return this.ma[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();xh(a,c,!0);wh(a,c,!0)}}(this,f,sh[f]),!0;if(void 0!==th[b])return this.zk++,this.ma[e]=c,a=function(a,b,c){return function(){wh(a,c)}}(this,b,th[b]),b= -function(a,b,c){return function(){yh(a,c)}}(this,b,th[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function zh(a,b,c){if(a.zk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=qh[d])&&(b=d);break}for(var e in th)if((d=th[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=th[e]==d),d){(a=a.ma["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} -k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function $g(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&bh(a.ca,a.Mb[0])}function Wg(a,b,c){a.Bi!==c&&(a.Bi=a.Gi=c);a.jh!==b&&(a.jh=b)&&!a.Gi&&ch(a,!0);a.jh&&a.Gi&&($g(a,!0),a.Gi=!1)}function Xg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&bh(a.ca,b))}function ch(a,b){0=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Hi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||xh(d,a,!0);return b},c.onkeyup=function(a){return wh(d,a,!1)},!0;case "caps-lock":return this.na[e]=c,c.onclick=function(){d.U&&d.U.od();xh(d, +1020,!0)},!0;case "num-lock":return this.na[e]=c,c.onclick=function(){d.U&&d.U.od();xh(d,1144,!0)},!0;case "scroll-lock":return this.na[e]=c,c.onclick=function(){d.U&&d.U.od();xh(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==th[f]&&"button"==a)return this.na[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();yh(a,c,!0);xh(a,c,!0)}}(this,f,th[f]),!0;if(void 0!==uh[b])return this.zk++,this.na[e]=c,a=function(a,b,c){return function(){xh(a,c)}}(this,b,uh[b]),b= +function(a,b,c){return function(){zh(a,c)}}(this,b,uh[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function Ah(a,b,c){if(a.zk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=rh[d])&&(b=d);break}for(var e in uh)if((d=uh[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=uh[e]==d),d){(a=a.na["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}} +k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function ah(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&ch(a.ca,a.Mb[0])}function Xg(a,b,c){a.Bi!==c&&(a.Bi=a.Gi=c);a.jh!==b&&(a.jh=b)&&!a.Gi&&dh(a,!0);a.jh&&a.Gi&&(ah(a,!0),a.Gi=!1)}function Yg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&ch(a.ca,b))}function dh(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.cd:a.Pb)&b):d||b&255&&(b=255);if(c){a.cd&=~b;d&&(a.cd|=b);c=b;var f,g;for(g in uh)d="led-"+g,e=uh[g],c&&c!=e||!(f=a.ma[d])||(f.style.backgroundColor=a.cd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1} -function wh(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){rh[b]&&a.Gb.length&&0e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,zh(a,b,!0),e++),0b.md){if(!b.ag){yh(a,b.me);return}b.ag=!1;c=a.no}else c=1==b.md++?a.oo:a.po;b.zm=setTimeout(function(a){return function(){Ah(a,b)}}(a),c)}}else yh(a,b.me,!0)}function Ch(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=qh[b])d=a;return d}k.Jh=function(a){this.kh=a;a||(this.Pb&=-256)}; -function vh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Ch(a,g,!0);a.Ci&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xh(a,h,!1,c)){if(20==g||144==g||145==g)a.en||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.cd&3||a.cd&512&&b||(g=h):29==h?a.cd&12||(g=h):56==h?a.cd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&bh(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}} -za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;b>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.cd:a.Pb)&b):d||b&255&&(b=255);if(c){a.cd&=~b;d&&(a.cd|=b);c=b;var f,g;for(g in vh)d="led-"+g,e=vh[g],c&&c!=e||!(f=a.na[d])||(f.style.backgroundColor=a.cd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1} +function xh(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){sh[b]&&a.Gb.length&&0e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,Ah(a,b,!0),e++),0b.md){if(!b.bg){zh(a,b.me);return}b.bg=!1;c=a.no}else c=1==b.md++?a.oo:a.po;b.zm=setTimeout(function(a){return function(){Bh(a,b)}}(a),c)}}else zh(a,b.me,!0)}function Dh(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=rh[b])d=a;return d}k.Jh=function(a){this.kh=a;a||(this.Pb&=-256)}; +function wh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Dh(a,g,!0);a.Ci&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),yh(a,h,!1,c)){if(20==g||144==g||145==g)a.en||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.cd&3||a.cd&512&&b||(g=h):29==h?a.cd&12||(g=h):56==h?a.cd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&ch(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}} +za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(Rh)];this.sh=b;this.Ra=e[2];this.Kb=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.Ra&&(this.Kb=Math.min(this.Tc>>2,32768));this.Wc=c[0];this.zc=c[1];this.Wf=c[2];this.Dg=c[3];this.Hc=c[4]&255;this.rh=c[4]>>8&255;this.mc=c[5];this.Si=Rh;if(5==b){this.Si=Sh;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.Ra,this.Kb,this.Tc],Array(this.Tc>> +this.Ca.mozExitPointerLock||this.Ca.webkitExitPointerLock,this.Ca.Ke&&(b=function(){f.wg(document.pointerLockElement===f.Ca||document.mozPointerLockElement===f.Ca||document.webkitPointerLockElement===f.Ca)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1)));if(a=a.fontROM)"json"!= +ha(a)&&(a=oa()+"/api/v1/dump?file="+a+"&format=bytes"),na(a,!0,null,this,this.xo)}La(n,Y);var Gh={2:{bj:15700,aj:208,Pj:85,Qj:96},3:{bj:18432,aj:364,Pj:85,Qj:96},4:{bj:21850,aj:364,Pj:85,Qj:96}},Hh={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},Fh=7,Eh=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];Eh[Fh]=[80,25,1,0,1];Eh[13]=[320,200,16];Eh[14]=[640,200,16];Eh[15]=[640,350,16]; +Eh[16]=[640,350,16];Eh[0]=Eh[1];Eh[2]=Eh[3];Eh[5]=Eh[4];var Ih=Array(5);Ih[0]=[0,0,0,255];Ih[1]=[127,192,127,255];Ih[2]=[127,192,127,255];Ih[3]=[127,255,127,255];Ih[4]=[127,255,127,255];var Jh=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Kh=Array(16);Kh[0]=[0,0,0,255];Kh[1]=[0,0,170,255];Kh[2]=[0,170,0,255];Kh[3]=[0,170,170,255];Kh[4]=[170,0,0,255];Kh[5]=[170,0,170,255];Kh[6]=[170,85,0,255];Kh[7]=[170,170,170,255];Kh[8]=[85,85,85,255];Kh[9]=[85,85,255,255];Kh[10]=[85,255,85,255];Kh[11]=[85,255,255,255]; +Kh[12]=[255,85,85,255];Kh[13]=[255,85,255,255];Kh[14]=[255,255,85,255];Kh[15]=[255,255,255,255];var Lh=[2,4,6],Mh=[3,5,7],Nh=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Oh=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Ph=[0];Ph[128]=1;Ph[32768]=2;Ph[32896]=3;Ph[8388608]=4;Ph[8388736]=5;Ph[8421376]=6;Ph[8421504]=7;Ph[-2147483648]=8;Ph[-2147483520]=9;Ph[-2147450880]=10;Ph[-2147450752]=11;Ph[-2139095040]=12;Ph[-2139094912]=13; +Ph[-2139062272]=14;Ph[-2139062144]=15; +function Qh(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Rh[b],f=a.de||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Sh)];this.sh=b;this.Ra=e[2];this.Kb=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.Ra&&(this.Kb=Math.min(this.Tc>>2,32768));this.Wc=c[0];this.zc=c[1];this.Xf=c[2];this.Dg=c[3];this.Hc=c[4]&255;this.rh=c[4]>>8&255;this.mc=c[5];this.Si=Sh;if(5==b){this.Si=Th;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.Ra,this.Kb,this.Tc],Array(this.Tc>> 2),771,0,-1,0,-1,0,-1,0,0,0]);this.Wd=b[0];this.Je=b[1];this.pe=b[2];this.$j=b[3];this.wh=b[4];this.Ji=b[5];this.xf=b[6];this.Kg=b[7];this.Mi=b[8];this.Ni=b[9];this.wf=b[10];this.af=b[11];this.yb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Kb,d]);this.Ra=d[0];this.Kb=d[1];d=this.Tc>>2;if((this.te=b[14])&&this.te.length>8)} -function Wh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Xh=[,,function(a){a+=this.offset;return(this.V.yb=this.ia[a])>>this.V.Mj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Xh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.V.Ui&this.V.Vi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; -Xh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.V.bb|(b|b<<8|b<<16|b<<24)&this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[1024]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -Xh[1536]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d&=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[2560]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d|=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -Xh[3584]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d^=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.V.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.V.lb|this.V.yb&~this.V.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)}; -Xh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.V.bb|this.V.yb&this.V.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Xh[8192]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[24576]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -Xh[40960]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d|this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[57344]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d^this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; -function Yh(a){var b=[];if(void 0!==a.sh){b[0]=a.Wc;b[1]=a.zc;b[2]=a.Wf;b[3]=a.Dg;b[4]=a.Hc|a.rh<<8;b[5]=a.mc;if(5==a.sh){var c=[];c[0]=a.Wd;c[1]=a.Je;c[2]=a.pe;c[3]=a.$j;c[4]=a.wh;c[5]=a.Ji;c[6]=a.xf;c[7]=a.Kg;c[8]=a.Mi;c[9]=a.Ni;c[10]=a.wf;c[11]=a.af;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Tc];var d;a:if(d=a.te){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=r;h=t}if(f.length>8)} +function Xh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Yh=[,,function(a){a+=this.offset;return(this.V.yb=this.ia[a])>>this.V.Mj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Yh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.V.Ui&this.V.Vi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c}; +Yh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.V.bb|(b|b<<8|b<<16|b<<24)&this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[1024]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +Yh[1536]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d&=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[2560]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d|=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +Yh[3584]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d^=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.V.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.V.lb|this.V.yb&~this.V.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)}; +Yh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.V.bb|this.V.yb&this.V.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Yh[8192]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[24576]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d&this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +Yh[40960]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d|this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Yh[57344]=function(a,b){var c=a+this.offset,d=Oh[b&15],d=d^this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)}; +function Zh(a){var b=[];if(void 0!==a.sh){b[0]=a.Wc;b[1]=a.zc;b[2]=a.Xf;b[3]=a.Dg;b[4]=a.Hc|a.rh<<8;b[5]=a.mc;if(5==a.sh){var c=[];c[0]=a.Wd;c[1]=a.Je;c[2]=a.pe;c[3]=a.$j;c[4]=a.wh;c[5]=a.Ji;c[6]=a.xf;c[7]=a.Kg;c[8]=a.Mi;c[9]=a.Ni;c[10]=a.wf;c[11]=a.af;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Tc];var d;a:if(d=a.te){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=r;h=t}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function ei(a){a.ga.wh&1?(a.Sc=a.li,a.gc=a.ga):(a.Sc=a.ga,a.gc=a.ah)}k.save=function(){var a=new Pd(this);a.set(0,Yh(this.li));a.set(1,Yh(this.ah));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Yh(this.ga));return a.data()}; -k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Sc=this.li=new Ph(this,1,a[0]);this.gc=this.ah=new Ph(this,3,a[1]);this.ga=new Ph(this,5,a[3],this.Tc);this.ga.Wc&&ei(this);fi(this);if(!hi(this))return!1;ii(this);return!0}; -k.xo=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)gh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}}; -function ji(a,b){if(1==b)return a.qd[0]=Jh[0],a.qd[1]=Jh[7],a.qd;if(2==b){var c=a.Da.Wf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Jh[c&15];c=c&32?Lh:Kh;for(d=0;dPa||!fa?Pa:8,pe=zg.createImageData(t.nc,t.oc),Qa=0;256>Qa;Qa++){for(nb= -0;nb=Pa-2,mj=mb[nb>(8<=Tb&&176<=Qa&&223>=Qa?7:Tb)?H:oc;mi(pe,Ag,Bg,Cg);U&&mi(pe,Ag+1,Bg,Cg)}zg.putImageData(pe,(Qa&15)*t.nc,(Qa>>4)*t.oc)}t.$e[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.mk[L]=H;t.$h[L]=gd;t=!0}}a.Kd[b]=I;return t}function ni(a){0a.ze&&(a.ze=0):a.ze=-1} -function ii(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)oi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Ic!=c&&(oi(a),a.Ic=c);d=d-b+1;if(a.Dm!=b||a.Ck!=d)a.Dm=b,a.Ck=d;a.Ud=e+1;ni(a)}}} -function oi(a){if(0<=a.Ic){if(void 0!==a.fc){var b=a.fc[a.Ic];if(b&131072){var b=b&-131073,c=a.Ic%a.zb,d=Math.floor(a.Ic/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.lf&&pi(a,c,d,b,a.lf),pi(a,c,d,b));a.fc[a.Ic]=b}}a.Ic=-1}} -function qi(a){var b;a=a.Da;var c=a.af[5];if(null!=c){b=2;var d=512,e=a.af[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.kd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Ri&&(b.Th(a),this.ka.Th(b.Ra,b.Kb,b.Li()))}; -function hi(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.sh)d=Eh;else if(5==e.sh){var d=null,f=e.Tc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=qi(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d)); -else a.ce=null,null==d&&(d=a.ld);if(!gi(a,d,b))return!1;a.le(c);return!0} -function gi(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Nm=0;a.ce=b;b=a.Da||(b==Eh?a.Sc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){oi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Wc=!1)}a.Da=b;b.Wc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.Bh;a.sc=a.Zi;a.Ti=Dh[Eh][2];b=0;var d=Dh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ti=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.dl=a.zb*a.sc;a.yh=a.dl/a.Ti;a.mi=(a.yh<<1)+b;a.Ak= -b?a.mi+b>>1:0;13<=a.ce&&(a.yh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.gn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Yf=a.Zf=0,b&&(a.Yf=a.zb*b.nc,a.Zf=a.sc*b.oc)):(a.wd=a.xd=1,a.Yf=a.zb,a.Zf=a.sc),a.uh=a.Vc.createImageData(a.Yf,a.Zf),a.jf=window.document.createElement("canvas"),a.jf.width=a.Yf,a.jf.height=a.Zf,a.lf=a.jf.getContext("2d"),a.ck=a.dk=0,a.si=a.vd,a.ti=a.Vd, -b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0>1,a.si-=b),0>1,a.ti-=d),b||d)&&(a.Vc.fillStyle=a.Vf.style.backgroundColor,a.Vc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):ri(a,!0)}return!0}function mi(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 ri(a,b){var c;if(b){if(c=a.yh,void 0===a.fc||a.fc.length!=c)a.fc=Array(c)}else{if(void 0===a.fc)return;c=a.fc.length}for(var d=0;d>8;d=g&15;var h=a.Kd[a.Qb];h.Jf&&(d=h.Jf[d]);var r=g>>4&15;h.Jf&&(r=h.Jf[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.$e[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ck,c=c*a.xd+a.dk,a.Vc.fillStyle=h.$e[r],a.Vc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Vc.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.Dm,g=a.Ck,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)), +k.reset=function(){var a=!0,b=0;this.ca&&(b=hg(this.ca));var c=!1;if(this.za)switch(this.za){case "ega":var c=!0,d=Hh[this.Qg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.de!==b&&(this.de=b,a=!0);this.Da=null;this.Sc=this.li=new Qh(this,1);this.gc=this.ah=new Qh(this,3);c?(this.ga=new Qh(this,5,null,this.Tc),fi(this)):this.ga=new Qh;gi(this);this.ce=null;this.ld=3==b?Fh:3;this.ze=this.Ic=-1;this.ye=0;hi(this,this.ld);if(this.Da.Ra&&a){a=this.Da.Ra+this.mi;for(b=this.Da.Ra;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function fi(a){a.ga.wh&1?(a.Sc=a.li,a.gc=a.ga):(a.Sc=a.ga,a.gc=a.ah)}k.save=function(){var a=new Pd(this);a.set(0,Zh(this.li));a.set(1,Zh(this.ah));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Zh(this.ga));return a.data()}; +k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Sc=this.li=new Qh(this,1,a[0]);this.gc=this.ah=new Qh(this,3,a[1]);this.ga=new Qh(this,5,a[3],this.Tc);this.ga.Wc&&fi(this);gi(this);if(!ii(this))return!1;ji(this);return!0}; +k.xo=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)hh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}}; +function ki(a,b){if(1==b)return a.qd[0]=Kh[0],a.qd[1]=Kh[7],a.qd;if(2==b){var c=a.Da.Xf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Kh[c&15];c=c&32?Mh:Lh;for(d=0;dPa||!fa?Pa:8,pe=zg.createImageData(t.nc,t.oc),Qa=0;256>Qa;Qa++){for(nb= +0;nb=Pa-2,nj=mb[nb>(8<=Tb&&176<=Qa&&223>=Qa?7:Tb)?H:oc;ni(pe,Ag,Bg,Cg);U&&ni(pe,Ag+1,Bg,Cg)}zg.putImageData(pe,(Qa&15)*t.nc,(Qa>>4)*t.oc)}t.$e[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.mk[L]=H;t.$h[L]=gd;t=!0}}a.Kd[b]=I;return t}function oi(a){0a.ze&&(a.ze=0):a.ze=-1} +function ji(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)pi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Ic!=c&&(pi(a),a.Ic=c);d=d-b+1;if(a.Dm!=b||a.Ck!=d)a.Dm=b,a.Ck=d;a.Ud=e+1;oi(a)}}} +function pi(a){if(0<=a.Ic){if(void 0!==a.fc){var b=a.fc[a.Ic];if(b&131072){var b=b&-131073,c=a.Ic%a.zb,d=Math.floor(a.Ic/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.lf&&qi(a,c,d,b,a.lf),qi(a,c,d,b));a.fc[a.Ic]=b}}a.Ic=-1}} +function ri(a){var b;a=a.Da;var c=a.af[5];if(null!=c){b=2;var d=512,e=a.af[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.kd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Ri&&(b.Th(a),this.ka.Th(b.Ra,b.Kb,b.Li()))}; +function ii(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.sh)d=Fh;else if(5==e.sh){var d=null,f=e.Tc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=ri(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d)); +else a.ce=null,null==d&&(d=a.ld);if(!hi(a,d,b))return!1;a.le(c);return!0} +function hi(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Nm=0;a.ce=b;b=a.Da||(b==Fh?a.Sc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){pi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Wc=!1)}a.Da=b;b.Wc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.Bh;a.sc=a.Zi;a.Ti=Eh[Fh][2];b=0;var d=Eh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ti=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.dl=a.zb*a.sc;a.yh=a.dl/a.Ti;a.mi=(a.yh<<1)+b;a.Ak= +b?a.mi+b>>1:0;13<=a.ce&&(a.yh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.gn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Zf=a.$f=0,b&&(a.Zf=a.zb*b.nc,a.$f=a.sc*b.oc)):(a.wd=a.xd=1,a.Zf=a.zb,a.$f=a.sc),a.uh=a.Vc.createImageData(a.Zf,a.$f),a.jf=window.document.createElement("canvas"),a.jf.width=a.Zf,a.jf.height=a.$f,a.lf=a.jf.getContext("2d"),a.ck=a.dk=0,a.si=a.vd,a.ti=a.Vd, +b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0>1,a.si-=b),0>1,a.ti-=d),b||d)&&(a.Vc.fillStyle=a.Wf.style.backgroundColor,a.Vc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):si(a,!0)}return!0}function ni(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 si(a,b){var c;if(b){if(c=a.yh,void 0===a.fc||a.fc.length!=c)a.fc=Array(c)}else{if(void 0===a.fc)return;c=a.fc.length}for(var d=0;d>8;d=g&15;var h=a.Kd[a.Qb];h.Kf&&(d=h.Kf[d]);var r=g>>4&15;h.Kf&&(r=h.Kf[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.$e[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ck,c=c*a.xd+a.dk,a.Vc.fillStyle=h.$e[r],a.Vc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Vc.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.Dm,g=a.Ck,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)), e.fillStyle=h.$e[d],e.fillRect(b,c+f,h.nc,g)):(a.Ud&&a.Ud!==a.xd&&(f=Math.floor(f*a.xd/a.Ud),g=Math.floor(g*a.xd/a.Ud)),a.Vc.fillStyle=h.$e[d],a.Vc.fillRect(b,c+f,a.wd,g)))} -function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Je&32&&(c=!0):a.Da.zc&8&&(c=!0));if(c||b){if(b)ri(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Nm&15)&&0<=a.ze&&(a.ze++,d=!0);var e=0,f=a.dl,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.mi;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0a.Ic)return;e=a.Ic;f= -e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.ye=0;r=1048575;a.Da.zc&32&&(h=32768,r&=~h,a.ze&2||(r&=-65537));for(c+=e<<1;c>8|(I&255)<<8;H=h;var Pa=16;B>=r))>>(Pa-=r);mi(a.uh,B++,L,t[oc])}B>ba&&(ba=B);L=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.Ak)}}Ufa;fa++)Ca=Oh[ba&-2139062144]||0,mi(a.uh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t>2),a=this.ga.$j&-17|(this.Qg&1<e&&(e=0);e%b.Wi>b.ro&&(c|=1);e%=b.gl;e>b.to&&(c|=8);b.cj=d-e;b===a.ga?(c|=b.Dg&48^48,b.Wd=!1):c=(b.Dg^=9)|240;return b.Dg=c} -var Zh={948:Y.prototype.Sn,949:Y.prototype.Rn,952:Y.prototype.Tn,954:Y.prototype.Un,980:Y.prototype.An,981:Y.prototype.zn,984:Y.prototype.Bn,985:Y.prototype.yn,986:Y.prototype.Cn},$h={948:Y.prototype.ep,949:Y.prototype.dp,952:Y.prototype.fp,980:Y.prototype.Oo,981:Y.prototype.No,984:Y.prototype.Po,985:Y.prototype.Mo},ai={960:Y.prototype.Zk,961:Y.prototype.Zk,962:Y.prototype.eo,964:Y.prototype.co,965:Y.prototype.bo,970:Y.prototype.Ln,972:Y.prototype.Kn,974:Y.prototype.Jn,975:Y.prototype.In},bi={954:Y.prototype.jm, +function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Je&32&&(c=!0):a.Da.zc&8&&(c=!0));if(c||b){if(b)si(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Nm&15)&&0<=a.ze&&(a.ze++,d=!0);var e=0,f=a.dl,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.mi;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0a.Ic)return;e=a.Ic;f= +e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.ye=0;r=1048575;a.Da.zc&32&&(h=32768,r&=~h,a.ze&2||(r&=-65537));for(c+=e<<1;c>8|(I&255)<<8;H=h;var Pa=16;B>=r))>>(Pa-=r);ni(a.uh,B++,L,t[oc])}B>ba&&(ba=B);L=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.Ak)}}Ufa;fa++)Ca=Ph[ba&-2139062144]||0,ni(a.uh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t>2),a=this.ga.$j&-17|(this.Qg&1<e&&(e=0);e%b.Wi>b.ro&&(c|=1);e%=b.gl;e>b.to&&(c|=8);b.cj=d-e;b===a.ga?(c|=b.Dg&48^48,b.Wd=!1):c=(b.Dg^=9)|240;return b.Dg=c} +var $h={948:Y.prototype.Sn,949:Y.prototype.Rn,952:Y.prototype.Tn,954:Y.prototype.Un,980:Y.prototype.An,981:Y.prototype.zn,984:Y.prototype.Bn,985:Y.prototype.yn,986:Y.prototype.Cn},ai={948:Y.prototype.ep,949:Y.prototype.dp,952:Y.prototype.fp,980:Y.prototype.Oo,981:Y.prototype.No,984:Y.prototype.Po,985:Y.prototype.Mo},bi={960:Y.prototype.Zk,961:Y.prototype.Zk,962:Y.prototype.eo,964:Y.prototype.co,965:Y.prototype.bo,970:Y.prototype.Ln,972:Y.prototype.Kn,974:Y.prototype.Jn,975:Y.prototype.In},ci={954:Y.prototype.jm, 960:Y.prototype.im,961:Y.prototype.im,962:Y.prototype.hp,964:Y.prototype.op,965:Y.prototype.np,970:Y.prototype.$o,972:Y.prototype.Zo,974:Y.prototype.Yo,975:Y.prototype.Xo,986:Y.prototype.jm}; za(function(){for(var a=Ta(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=window.document.createElement("textarea");ua("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Y(d,e,g,f,c);Sa(d,c)}}); -function vi(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Rj=1016;this.ng=4;break;case 2:this.Rj=760;this.ng=3;break;default:m("Unrecognized serial adapter #"+this.Vk);return}this.Sd=null;n.call(this,"SerialPort",a,vi);var b=a.binding,c;a=wi;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.ma[b])&&this.Eb(null,a,b))}La(n,vi);var wi="buffer";k=vi.prototype;k.pk=function(a,b){return a==this.th?(this.ae=b,this):null}; -k.Eb=function(a,b,c){var d=this;switch(b){case wi:return this.ma[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),xi(d,[b]))},c.onkeypress=function(a){a=a||window.event;xi(d,[a.which||a.keyCode])},!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,yi,this.Rj);Kb(b,this,zi,this.Rj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this),b=0,c=[];c[b++]=this.ii;c[b++]=this.vk;c[b++]=this.We;c[b++]=this.Rg;c[b++]=this.Nd;c[b++]=this.we;c[b++]=this.bd;c[b++]=this.Dc;c[b++]=this.tk;c[b]=this.Kf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])}; -k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ii=a[b++];this.vk=a[b++];this.We=a[b++];this.Rg=a[b++];this.Nd=a[b++];this.we=a[b++];this.bd=a[b++];this.Dc=a[b++];this.tk=a[b++];this.Kf=a[b];return!0};function xi(a,b){a.Kf=a.Kf.concat(b);Ai(a)}function Ai(a){0>8:this.Rg};k.Nn=function(){return this.Nd};k.On=function(){return this.we};k.Qn=function(){return this.bd};k.Pn=function(){return this.Dc};k.Wn=function(){return this.tk}; +function wi(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Rj=1016;this.og=4;break;case 2:this.Rj=760;this.og=3;break;default:m("Unrecognized serial adapter #"+this.Vk);return}this.Sd=null;n.call(this,"SerialPort",a,wi);var b=a.binding,c;a=xi;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.na[b])&&this.Eb(null,a,b))}La(n,wi);var xi="buffer";k=wi.prototype;k.pk=function(a,b){return a==this.th?(this.ae=b,this):null}; +k.Eb=function(a,b,c){var d=this;switch(b){case xi:return this.na[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),yi(d,[b]))},c.onkeypress=function(a){a=a||window.event;yi(d,[a.which||a.keyCode])},!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,zi,this.Rj);Kb(b,this,Ai,this.Rj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this),b=0,c=[];c[b++]=this.ii;c[b++]=this.vk;c[b++]=this.We;c[b++]=this.Rg;c[b++]=this.Nd;c[b++]=this.we;c[b++]=this.bd;c[b++]=this.Dc;c[b++]=this.tk;c[b]=this.Lf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])}; +k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ii=a[b++];this.vk=a[b++];this.We=a[b++];this.Rg=a[b++];this.Nd=a[b++];this.we=a[b++];this.bd=a[b++];this.Dc=a[b++];this.tk=a[b++];this.Lf=a[b];return!0};function yi(a,b){a.Lf=a.Lf.concat(b);Bi(a)}function Bi(a){0>8:this.Rg};k.Nn=function(){return this.Nd};k.On=function(){return this.we};k.Qn=function(){return this.bd};k.Pn=function(){return this.Dc};k.Wn=function(){return this.tk}; k.pp=function(a,b){if(this.we&128)this.We=this.We&-256|b;else{this.vk=b;this.Dc&=-97;var c;this.Sd?(13!=b&&(8==b?this.Sd.value=this.Sd.value.slice(0,-1):(this.Sd.value+=String.fromCharCode(b),this.Sd.scrollTop=this.Sd.scrollHeight)),c=!0):c=!1;c&&(this.Dc|=96)}};k.ap=function(a,b){this.we&128?this.We=this.We&255|b<<8:this.Rg=b};k.bp=function(a,b){this.we=b}; -k.cp=function(a,b){var c=this.bd;this.bd=b;if(this.ae&&(c^b)&3){var c=this.ae,d=this.bd,e=3==(d&3);if(e){if(!c.Wc){var f=!1;c.bd&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.bd&1||(c.cc("serial mouse ID requested"),f=!0);f&&(xi(c.Xf,[77,77]),c.cc("serial mouse ID sent"));Bi(c,c.Ca);c.setActive(e)}}else c.Wc&&(c.cc("serial mouse inactive"),Ci(c.Ca),c.setActive(e));c.bd=d}}; -var yi={0:vi.prototype.ao,1:vi.prototype.Mn,2:vi.prototype.Nn,3:vi.prototype.On,4:vi.prototype.Qn,5:vi.prototype.Pn,6:vi.prototype.Wn},zi={0:vi.prototype.pp,1:vi.prototype.ap,3:vi.prototype.bp,4:vi.prototype.cp};za(function(){for(var a=Ta(window.document,"pcjs","serial"),b=0;bthis.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.lh?(this.Xe=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Ye=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Xe=a.clientX-this.Hd,this.Ye=a.clientY-this.Id);(this.Xe||this.Ye)&&Ei(this);this.Hd=a.clientX;this.Id=a.clientY}}; -k.oi=function(a,b){if(this.Wc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.lh)&&(c=this.video)&&(c=this.video,c=c.an?c.Ke(!0):!1);c||(this.lh=null);switch(a){case 0:this.gh!=b&&(this.gh=b,Ei(this));break;case 2:this.hh!=b&&(this.hh=b,Ei(this))}}};function Ei(a){xi(a.Xf,[64|(a.gh?32:0)|(a.hh?16:0)|(a.Ye&192)>>4|(a.Xe&192)>>6,a.Xe&63,a.Ye&63]);a.Xe=a.Ye=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ji(this,b),this.mh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c= +k.Zj=function(){var a=0,b=[];b[a++]=this.Wc;b[a++]=this.Hd;b[a++]=this.Id;b[a++]=this.Xe;b[a++]=this.Ye;b[a++]=this.gh;b[a++]=this.hh;b[a]=this.bd;return b};k.wg=function(a){this.lh=a};function Ci(a,b){b&&(a.Ai||(b.addEventListener("mousemove",function(b){a.al(b)},!1),b.addEventListener("mousedown",function(b){a.oi(b.button,!0)},!1),b.addEventListener("mouseup",function(b){a.oi(b.button,!1)},!1),a.Ai=!0),b.style.cursor="none")}function Di(a){a&&(a.style.cursor="auto")} +k.al=function(a){if(this.Wc&&this.U&&this.U.ea.Ib){if(0>this.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.lh?(this.Xe=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Ye=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Xe=a.clientX-this.Hd,this.Ye=a.clientY-this.Id);(this.Xe||this.Ye)&&Fi(this);this.Hd=a.clientX;this.Id=a.clientY}}; +k.oi=function(a,b){if(this.Wc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.lh)&&(c=this.video)&&(c=this.video,c=c.an?c.Ke(!0):!1);c||(this.lh=null);switch(a){case 0:this.gh!=b&&(this.gh=b,Fi(this));break;case 2:this.hh!=b&&(this.hh=b,Fi(this))}}};function Fi(a){yi(a.Yf,[64|(a.gh?32:0)|(a.hh?16:0)|(a.Ye&192)>>4|(a.Xe&192)>>6,a.Xe&63,a.Ye&63]);a.Xe=a.Ye=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ki(this,b),this.mh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c= "dir"),f=oa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.rf?"":d)+"&format=json")),na(f,!0,null,this,this.Wm,b)}; k.Wm=function(a,b,c,d){var e=null;this.sf=!1;var f=0>c&&this.ya&&!this.ya.ea.Zb;if(this.mh)c?this.V.va('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.yd=!0,e=this);else if(c)this.V.va('Unable to load disk "'+this.nd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& '["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)m(h[0]);else{this.nb=h.length;this.ob=h[0].length;this.rb=h[0][0].length;var r=h[0][0][0];this.ab=r&&r.length||512;for(b=a=0;b>2,B=r.pattern;void 0===B&&(B=r.pattern=0);var I=r.data;if(void 0===I){var H=r.bytes;if(void 0!==H&&H.length){for(var f= -t<<2,L=H.length;Lb&&(b=0);2E3b&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Oi(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.sf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.vc?f=a.Xc+a.vc&&(a.vc+=f-(a.Xc+a.vc)+1):(a.Xc=f,a.vc=1);d[f]=d[f]&~(255<>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Pi(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} +k.write=function(a,b,c){if(this.sf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.vc?f=a.Xc+a.vc&&(a.vc+=f-(a.Xc+a.vc)+1):(a.Xc=f,a.vc=1);d[f]=d[f]&~(255<=this.Qa.length||r>=this.Qa[h].length||t>=this.Qa[h][r].length){c="sector (CHS="+h+":"+r+":"+t+") out of range ("+ b+" changes applied)";b=-1;break}if(this.sf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.Qa[h][r][t]){for(r=h.data.length;rb&&-2!=b&&this.V.va("Unable to restore disk '"+this.nd+": "+c);return b}; k.toJSON=function(){var a=JSON.stringify(this.Qa),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}; -function Pi(a){n.call(this,"FDC",a,Pi);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaFormat=this.Tm;this.Ae=null;if(a.autoMount&&(this.Ae=a.autoMount,"string"==typeof this.Ae))try{this.Ae=eval("("+a.autoMount+")")}catch(b){m("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ae=null}this.tc=[];this.Jk=!ua("Mobi")&&window&&"FileReader"in window}La(n,Pi);l={};aa={}; -var Qi={3:{ud:3,Rd:0,name:aa.kq},4:{ud:2,Rd:1,name:aa.iq},5:{ud:9,Rd:7,name:aa.wq},6:{ud:9,Rd:7,name:aa.cq},7:{ud:2,Rd:0,name:aa.eq},8:{ud:1,Rd:2,name:aa.jq},10:{ud:2,Rd:7,name:aa.dq},13:{ud:6,Rd:7,name:aa.Pp},15:{ud:3,Rd:0,name:aa.hq}};k=Pi.prototype; -k.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ma[b]=c,c.onchange=function(){var a=d.ma.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){m("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;if(a){b||(b=16); -if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r|0)}a=g;null!=a&&Ri(d,a)},!0;case "loadDrive":return this.ma[b]=c,c.onclick=function(){var a=d.ma.listDisks;a&&Si(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Jk? -(this.ma[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Si(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Ti);Kb(b,this,Ui);this.Jk&&Vi(this,"Local Disk","?");Vi(this,"Remote Disk","??");this.Of()||p(this)}; -k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Fi){this.tc=[];for(var c=0;c'+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;if(a){b||(b=16); +if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r|0)}a=g;null!=a&&Si(d,a)},!0;case "loadDrive":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Ti(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Jk? +(this.na[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ti(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Ui);Kb(b,this,Vi);this.Jk&&Wi(this,"Local Disk","?");Wi(this,"Remote Disk","??");this.Pf()||p(this)}; +k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Fi){this.tc=[];for(var c=0;ca.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Yj=function(){for(var a=0,b=[],c=0;ca.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.tm=c,a.Se=d,Zi(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Ge||e),a.Ch=f[0],a.lg=f[1],a.mg=f[2]):a.pf=!1;a.Ge&&(a.Ge=!1,--this.xe||p(this));Ri(this,a.$a)}; -function Vi(a,b,c){if(a=a.ma.listDisks){for(var d=0;d=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a}; -k.Vo=function(a,b){this.cb=Qi[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.lq);this.Ia(l.Sp);this.Ob();break;case 4:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.oq);break;case 5:case 6:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ek);g=this.Ia(l.fk);h=e.Za=this.Ia(l.hk);r=this.Ia(l.Yh);e.mb=128<< -r;e.Od=this.Ia(l.Np);this.Ia(l.Fm);this.Ia(l.Mp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaRead",t),Eg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.sf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaWrite",t),Eg(this.ca,2)))));$i(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Hm);this.dc(e.pb,l.aq);this.$a= -this.$a+1&3;break;case 10:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;$i(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Yh);e.mb=128<>2&1,f=this.Ia(l.Yp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0>>8,l.mq);a.dc((b.Xa&16711680)>>>16,l.nq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ek);a.dc(f,l.fk);a.dc(g,l.hk);a.dc(h,l.Yh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1}; -k.Tm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Oi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Nf(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Nf(a)}while(1);return b}; -k.Nf=function(a){a.Za++;a.Za>=a.mg+1&&(a.Za=1,a.Ka++,a.Ka>=a.lg&&(a.Ka=0,a.pb++))};k.bk=function(a,b){if(a.Xa)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.pb=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};var Ti={1012:Pi.prototype.Hn,1013:Pi.prototype.Fn,1015:Pi.prototype.Gn},Ui={1010:Pi.prototype.Wo,1013:Pi.prototype.Vo,1015:Pi.prototype.Uo}; -za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b=e&&(this.xg|=(f.type&3)<<(1-e<<1))}return d}; -k.Wj=function(){var a=0,b=[];this.Fe?(b[a++]=this.he,b[a++]=this.sm,b[a++]=this.je,b[a++]=this.Oh,b[a++]=this.Mh,b[a++]=this.Lh,b[a++]=this.Ef,b[a++]=this.qa,b[a++]=this.Tj,b[a++]=this.Nh):(b[a++]=this.xg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.rm,b[a++]=this.qm,b[a++]=this.pm,b[a++]=this.vf);b[a]=this.Yj();return b}; -k.Pi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.xm=d[f++];b.rf=d[f++];b.df=d[f++];b.ef=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Xg=this.Fe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===aj[this.cg][b.type])b.type=this.ln;c=aj[this.cg][b.type]; -b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,jg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));fj(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Xg)));return g};k.Yj=function(){for(var a=0,b=[],c=0;ca.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Yj=function(){for(var a=0,b=[],c=0;ca.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.tm=c,a.Se=d,$i(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Ge||e),a.Ch=f[0],a.mg=f[1],a.ng=f[2]):a.pf=!1;a.Ge&&(a.Ge=!1,--this.xe||p(this));Si(this,a.$a)}; +function Wi(a,b,c){if(a=a.na.listDisks){for(var d=0;d=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a}; +k.Vo=function(a,b){this.cb=Ri[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.lq);this.Ia(l.Sp);this.Ob();break;case 4:f=this.Ia(l.Hf);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.oq);break;case 5:case 6:f=this.Ia(l.Hf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ek);g=this.Ia(l.fk);h=e.Za=this.Ia(l.hk);r=this.Ia(l.Yh);e.mb=128<< +r;e.Od=this.Ia(l.Np);this.Ia(l.Fm);this.Ia(l.Mp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Jg(this.ca,2,this,"dmaRead",t),Fg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.sf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Jg(this.ca,2,this,"dmaWrite",t),Fg(this.ca,2)))));aj(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Hf);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Hm);this.dc(e.pb,l.aq);this.$a= +this.$a+1&3;break;case 10:f=this.Ia(l.Hf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;aj(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Hf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Yh);e.mb=128<>2&1,f=this.Ia(l.Yp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0>>8,l.mq);a.dc((b.Xa&16711680)>>>16,l.nq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ek);a.dc(f,l.fk);a.dc(g,l.hk);a.dc(h,l.Yh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1}; +k.Tm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Pi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Of(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Of(a)}while(1);return b}; +k.Of=function(a){a.Za++;a.Za>=a.ng+1&&(a.Za=1,a.Ka++,a.Ka>=a.mg&&(a.Ka=0,a.pb++))};k.bk=function(a,b){if(a.Xa)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.pb=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};var Ui={1012:Qi.prototype.Hn,1013:Qi.prototype.Fn,1015:Qi.prototype.Gn},Vi={1010:Qi.prototype.Wo,1013:Qi.prototype.Vo,1015:Qi.prototype.Uo}; +za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b=e&&(this.yg|=(f.type&3)<<(1-e<<1))}return d}; +k.Wj=function(){var a=0,b=[];this.Fe?(b[a++]=this.he,b[a++]=this.sm,b[a++]=this.je,b[a++]=this.Oh,b[a++]=this.Mh,b[a++]=this.Lh,b[a++]=this.Ef,b[a++]=this.qa,b[a++]=this.Tj,b[a++]=this.Nh):(b[a++]=this.yg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.rm,b[a++]=this.qm,b[a++]=this.pm,b[a++]=this.vf);b[a]=this.Yj();return b}; +k.Pi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.xm=d[f++];b.rf=d[f++];b.df=d[f++];b.ef=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Xg=this.Fe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===bj[this.dg][b.type])b.type=this.ln;c=bj[this.dg][b.type]; +b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,kg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));gj(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Xg)));return g};k.Yj=function(){for(var a=0,b=[],c=0;c=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.rp=function(a,b){this.cb=c&&(this.qa|=2,this.qa&=-2,gj(this))}; -k.jo=function(){var a=this.qa;this.ub=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(hj(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a}; -k.Go=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,hj(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.un=function(){return this.he};k.Lo=function(a,b){this.sm=b};k.vn=function(){return this.je};k.Jo=function(a,b){this.je=b};k.wn=function(){return this.Oh};k.Ko=function(a,b){this.Oh=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.qn=function(){return this.Lh}; -k.Eo=function(a,b){this.Lh=b};k.tn=function(){return this.Ef};k.Ho=function(a,b){this.Ef=b;this.qa=this.wa[this.Ef&16?1:0]?this.qa|64:this.qa&-65};k.xn=function(){return this.qa};k.Do=function(a,b){this.Tj=b;this.ca&&Pg(this.ca,14);ij(this)};k.Io=function(a,b){this.Nh&4&&!(b&4)&&(this.he=1);this.Nh=b}; -function ij(a){var b=!1,c=a.Tj,d=a.Ef&16?1:0,e=a.Ef&15,f=a.Mh|(a.Lh&3)<<8,g=a.Oh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(hj(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&hj(a)} -function hj(a){!a.ca||a.Nh&2||Og(a.ca,14,120)} -function gj(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&cb?this.Cb(a,c):c(-1,!1)}; -k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Um=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))}; +function gj(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.df[2])?e=b.df[0]<<8|b.df[1]:c=b.type);null==c||d||(d=bj[a.dg][c][1],e=bj[a.dg][c][0]);d&&((c=bj[a.dg][b.type])&&e!=c[0]&&d!=c[1]&&a.va("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.nb=e,b.ob=d,null==b.pa&&(b.pa=new Gi(a,b,b.mode)))}} +k.Pf=function(a){a||(this.xe=0);for(var b=0;b=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.rp=function(a,b){this.cb=c&&(this.qa|=2,this.qa&=-2,hj(this))}; +k.jo=function(){var a=this.qa;this.ub=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(ij(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a}; +k.Go=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,ij(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.un=function(){return this.he};k.Lo=function(a,b){this.sm=b};k.vn=function(){return this.je};k.Jo=function(a,b){this.je=b};k.wn=function(){return this.Oh};k.Ko=function(a,b){this.Oh=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.qn=function(){return this.Lh}; +k.Eo=function(a,b){this.Lh=b};k.tn=function(){return this.Ef};k.Ho=function(a,b){this.Ef=b;this.qa=this.wa[this.Ef&16?1:0]?this.qa|64:this.qa&-65};k.xn=function(){return this.qa};k.Do=function(a,b){this.Tj=b;this.ca&&Qg(this.ca,14);jj(this)};k.Io=function(a,b){this.Nh&4&&!(b&4)&&(this.he=1);this.Nh=b}; +function jj(a){var b=!1,c=a.Tj,d=a.Ef&16?1:0,e=a.Ef&15,f=a.Mh|(a.Lh&3)<<8,g=a.Oh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(ij(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&ij(a)} +function ij(a){!a.ca||a.Nh&2||Pg(a.ca,14,120)} +function hj(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&cb?this.Cb(a,c):c(-1,!1)}; +k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Um=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))}; k.bk=function(a,b){if(a.errorCode)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.oe=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};k.ko=function(){var a=this.U.J&255;!(this.U.G>>8)&&128>8||!this.ca)||(a=!(this.ca.Vb[0].ad&64));return a?!0:!1}; -var cj={800:Z.prototype.io,801:Z.prototype.jo,802:Z.prototype.ho},bj={496:Z.prototype.sn,497:Z.prototype.un,498:Z.prototype.vn,499:Z.prototype.wn,500:Z.prototype.rn,501:Z.prototype.qn,502:Z.prototype.tn,503:Z.prototype.xn},ej={800:Z.prototype.rp,801:Z.prototype.up,802:Z.prototype.tp,803:Z.prototype.sp,807:Z.prototype.Oj,811:Z.prototype.Oj,815:Z.prototype.Oj},dj={496:Z.prototype.Go,497:Z.prototype.Lo,498:Z.prototype.Jo,499:Z.prototype.Ko,500:Z.prototype.Fo,501:Z.prototype.Eo,502:Z.prototype.Ho,503:Z.prototype.Do, -1014:Z.prototype.Io};za(function(){for(var a=Ta(window.document,"pcjs","hdc"),b=0;bsj){if(d.load(this.Bg)){this.Ue=new Pd(this,"1.17.2","failsafe");this.Ue.load()&&(wj(this,d),a=2,pj(this.Ue));this.Ue.set("timestamp",la());qj(this.Ue);var e=this.Kc&&!this.nh;if(1==a||pa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Lc=null)):this.kc(f+": "+g),pj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&vj(this,c?d:null)}else 2==a&&d.clear()}else vj(this);delete this.Bg;delete this.Vh}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.ea.Zb=!0;this.Ik||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.Ik=!0);this.U&&(xj(this,this.U,b,c,a),qc(this.U));this.Mk&&(wj(this,b),b.clear());!c&&this.Ue&&(this.Ue.clear(),delete this.Ue)}; -function wj(a,b){if(pa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}} -function yj(a,b,c){var d,e="none",f=new Pd(a,"1.17.2"),g=new Pd(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;rtj){if(d.load(this.Bg)){this.Ue=new Pd(this,"1.17.2","failsafe");this.Ue.load()&&(xj(this,d),a=2,qj(this.Ue));this.Ue.set("timestamp",la());rj(this.Ue);var e=this.Kc&&!this.nh;if(1==a||pa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Lc=null)):this.kc(f+": "+g),qj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&wj(this,c?d:null)}else 2==a&&d.clear()}else wj(this);delete this.Bg;delete this.Vh}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.ea.Zb=!0;this.Ik||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.Ik=!0);this.U&&(yj(this,this.U,b,c,a),qc(this.U));this.Mk&&(xj(this,b),b.clear());!c&&this.Ue&&(this.Ue.clear(),delete this.Ue)}; +function xj(a,b){if(pa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}} +function zj(a,b,c){var d,e="none",f=new Pd(a,"1.17.2"),g=new Pd(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;rh.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(I){h= -null,a=I.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Ej(a,b,c)}})}else c(a,null)} -function Fj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--Bj||Ba(!0));r=!1}var g,h,r=!0;Bj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Bj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&& -window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Bj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Cj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Cj(b,a,d,!0,e,t):Dj(b,null,a,d,!1,e,t)}else f("missing machine element: "+ -a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return Fj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})(); +k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.na[b]=c,c.onclick=function(){var a=uj(d,!0);if(a){var b=!(!d.Kc||d.Rh),c=zj(d,b);b?Aj(d,a,c):d.va("Resume disabled, machine state not saved")}},!0;case "reset":return this.na[b]=c,c.onclick=function(){tc(d)},!0}return!1}; +function uj(a,b){var c=a.Lc;c||(c=sa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Bj(a,c))||a.va("Your user ID has not been approved."))):b&&a.va("Browser local storage is not available"));return c} +function Bj(a,b){a.Lc=null;var c=na(oa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ta("user",c.data),a.Lc=c.data)}catch(e){m(e.message+" ("+d+")")}return a.Lc} +function Aj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=pj(a,"1.17.2");d.data=c;b=na(oa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(I){h= +null,a=I.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Fj(a,b,c)}})}else c(a,null)} +function Gj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--Cj||Ba(!0));r=!1}var g,h,r=!0;Cj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Cj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Cj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Dj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Dj(b,a,d,!0,e,t):Ej(b,null,a,d,!1,e,t)}else f("missing machine element: "+ +a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return Gj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})();