Debugger tweaks for FDC and HDC

This commit is contained in:
Jeff Parsons 2014-10-21 11:19:35 -05:00 committed by jeffpar
commit 3850850fd0
5 changed files with 279 additions and 294 deletions

View file

@ -942,16 +942,13 @@ ChipSet.prototype.initBus = function(cmp, bus, cpu, dbg)
if (dbg) {
var chipset = this;
dbg.messageInit(ChipSet);
dbg.messageDump(ChipSet.MESSAGE_PIC, function onDumpPIC()
{
dbg.messageDump(ChipSet.MESSAGE_PIC, function onDumpPIC() {
chipset.dumpPIC();
});
dbg.messageDump(ChipSet.MESSAGE_TIMER, function onDumpTimer()
{
dbg.messageDump(ChipSet.MESSAGE_TIMER, function onDumpTimer() {
chipset.dumpTimer();
});
dbg.messageDump(ChipSet.MESSAGE_CMOS, function onDumpCMOS()
{
dbg.messageDump(ChipSet.MESSAGE_CMOS, function onDumpCMOS() {
chipset.dumpCMOS();
});
}
@ -4252,15 +4249,11 @@ ChipSet.prototype.setSpeaker = function(fOn)
ChipSet.prototype.messageDebugger = function(sMessage, bitsMessage, nIRQ)
{
if (DEBUGGER && this.dbg) {
if (bitsMessage == null) {
bitsMessage = ChipSet.MESSAGE_CHIPSET;
}
if (bitsMessage == null) bitsMessage = ChipSet.MESSAGE_CHIPSET;
if (nIRQ !== undefined) {
bitsMessage |= (nIRQ == ChipSet.IRQ.TIMER0? ChipSet.MESSAGE_TIMER : (nIRQ == ChipSet.IRQ.KBD? ChipSet.MESSAGE_KBD : (nIRQ == ChipSet.IRQ.FDC? ChipSet.MESSAGE_FDC : 0)));
}
if (this.dbg.messageEnabled(bitsMessage)) {
this.dbg.message(sMessage);
}
if (this.dbg.messageEnabled(bitsMessage)) this.dbg.message(sMessage);
}
};
@ -4283,9 +4276,7 @@ ChipSet.prototype.messageDebugger = function(sMessage, bitsMessage, nIRQ)
ChipSet.prototype.messagePort = function(port, bOut, addrFrom, name, bitsMessage, bIn)
{
if (DEBUGGER && this.dbg) {
if (bitsMessage == null) {
bitsMessage = ChipSet.MESSAGE_CHIPSET;
}
if (bitsMessage == null) bitsMessage = ChipSet.MESSAGE_CHIPSET;
this.dbg.messagePort(this, port, bOut, addrFrom, name, bitsMessage, bIn);
}
};

View file

@ -553,7 +553,10 @@ FDC.prototype.initBus = function(cmp, bus, cpu, dbg)
bus.addPortInputTable(this, FDC.aPortInput);
bus.addPortOutputTable(this, FDC.aPortOutput);
if (DEBUGGER) cpu.addIntNotify(FDC.BIOS.INT_DISKETTE, this, this.intBIOSDiskette);
if (DEBUGGER) {
if (dbg) dbg.messageInit(FDC);
cpu.addIntNotify(FDC.BIOS.INT_DISKETTE, this, this.intBIOSDiskette);
}
if (!this.autoMount()) this.setReady();
};
@ -1810,7 +1813,7 @@ FDC.prototype.popCmd = function(name)
{
Component.assert((!this.regDataIndex || name !== undefined) && this.regDataIndex < this.regDataTotal);
var bCmd = this.regDataArray[this.regDataIndex];
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled((this.regDataIndex > 0? this.dbg.MESSAGE_PORT : 0) | this.dbg.MESSAGE_FDC)) {
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled((this.regDataIndex > 0? FDC.MESSAGE_PORT : 0) | FDC.MESSAGE_FDC)) {
var bCmdMasked = bCmd & FDC.REG_DATA.CMD.MASK;
if (!name && !this.regDataIndex && FDC.aCmdInfo[bCmdMasked]) name = FDC.aCmdInfo[bCmdMasked].name;
this.dbg.message("FDC.CMD[" + (name || this.regDataIndex) + "]: 0x" + str.toHexByte(bCmd));
@ -1864,7 +1867,7 @@ FDC.prototype.beginResult = function()
*/
FDC.prototype.pushResult = function(bResult, name)
{
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_PORT | this.dbg.MESSAGE_FDC)) this.dbg.message("FDC.RES[" + (name || this.regDataTotal) + "]: 0x" + str.toHexByte(bResult));
if (DEBUG) this.messageDebugger("FDC.RES[" + (name || this.regDataTotal) + "]: 0x" + str.toHexByte(bResult), FDC.MESSAGE_PORT | FDC.MESSAGE_FDC);
this.regDataArray[this.regDataTotal++] = bResult;
};
@ -2043,8 +2046,6 @@ FDC.prototype.doFormat = function(drive)
{
drive.resCode = FDC.REG_DATA.RES.NOT_READY | FDC.REG_DATA.RES.INCOMPLETE;
//if (DEBUG) this.messageDebugger("doFormat()");
if (drive.disk) {
drive.sector = null;
drive.resCode = FDC.REG_DATA.RES.NONE;
@ -2254,7 +2255,7 @@ FDC.prototype.intBIOSDiskette = function(addr)
{
if (DEBUGGER) {
var DL = this.cpu.regDX & 0xff;
if (this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_FDC) && DL < 0x80) {
if (this.dbg && (this.dbg.messageEnabled(FDC.MESSAGE_FDC) || this.dbg.messageEnabled(FDC.MESSAGE_INT)) && DL < 0x80) {
this.dbg.messageInt(FDC.BIOS.INT_DISKETTE, addr);
this.cpu.addIntReturn(addr, function(fdc, nCycles) {
return function onBIOSDisketteReturn(nLevel) {
@ -2267,19 +2268,19 @@ FDC.prototype.intBIOSDiskette = function(addr)
};
/**
* messageDebugger(sMessage)
* messageDebugger(sMessage, bitsMessage)
*
* This is a combination of the Debugger's messageEnabled(MESSAGE_FDC) and message() functions, for convenience.
*
* @this {FDC}
* @param {string} sMessage is any caller-defined message string
* @param {number} [bitsMessage] is one or more Debugger MESSAGE_* category flag(s)
*/
FDC.prototype.messageDebugger = function(sMessage)
FDC.prototype.messageDebugger = function(sMessage, bitsMessage)
{
if (DEBUGGER && this.dbg) {
if (this.dbg.messageEnabled(this.dbg.MESSAGE_FDC)) {
this.dbg.message(sMessage);
}
if (bitsMessage == null) bitsMessage = FDC.MESSAGE_FDC;
if (this.dbg.messageEnabled(bitsMessage)) this.dbg.message(sMessage);
}
};
@ -2297,9 +2298,7 @@ FDC.prototype.messageDebugger = function(sMessage)
*/
FDC.prototype.messagePort = function(port, bOut, addrFrom, name, bIn)
{
if (DEBUGGER && this.dbg) {
this.dbg.messagePort(this, port, bOut, addrFrom, name, this.dbg.MESSAGE_FDC, bIn);
}
if (DEBUGGER && this.dbg) this.dbg.messagePort(this, port, bOut, addrFrom, name, FDC.MESSAGE_FDC, bIn);
};
/*

View file

@ -527,6 +527,7 @@ HDC.prototype.initBus = function(cmp, bus, cpu, dbg)
bus.addPortOutputTable(this, this.fATC? HDC.aATCPortOutput : HDC.aXTCPortOutput);
if (DEBUGGER) {
if (dbg) dbg.messageInit(HDC);
cpu.addIntNotify(HDC.BIOS.INT_DISK, this, this.intBIOSDisk);
cpu.addIntNotify(HDC.BIOS.INT_DISKETTE, this, this.intBIOSDiskette);
}
@ -1747,9 +1748,7 @@ HDC.prototype.doATCommand = function()
this.drive = drive;
}
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_PORT | this.dbg.MESSAGE_HDC)) {
this.dbg.message("HDC.doATCommand(" + str.toHexByte(bCmd) + "): " + HDC.aATCCommands[bCmd]);
}
if (DEBUG) this.messageDebugger("HDC.doATCommand(" + str.toHexByte(bCmd) + "): " + HDC.aATCCommands[bCmd], HDC.MESSAGE_PORT | HDC.MESSAGE_HDC);
switch (bCmd & HDC.ATC.COMMAND.MASK) {
@ -1835,7 +1834,7 @@ HDC.prototype.doATCommand = function()
default:
if (DEBUG) this.messageDebugger("HDC.doATCommand(" + str.toHexByte(this.regCommand) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation"));
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_HDC) && bCmd >= 0) this.cpu.haltCPU();
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(HDC.MESSAGE_HDC) && bCmd >= 0) this.cpu.haltCPU();
break;
}
@ -1992,7 +1991,7 @@ HDC.prototype.doXTCommand = function()
default:
if (DEBUG) this.messageDebugger("HDC.doXTCommand(" + str.toHexByte(bCmdOrig) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation"));
this.beginResult(HDC.XTC.DATA.STATUS_ERROR | bDrive);
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_HDC) && bCmd >= 0) this.cpu.haltCPU();
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled(HDC.MESSAGE_HDC) && bCmd >= 0) this.cpu.haltCPU();
break;
}
}
@ -2010,9 +2009,7 @@ HDC.prototype.popCmd = function()
var bCmdIndex = this.regDataIndex;
if (bCmdIndex < this.regDataTotal) {
bCmd = this.regDataArray[this.regDataIndex++];
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled((bCmdIndex > 0? this.dbg.MESSAGE_PORT : 0) | this.dbg.MESSAGE_HDC)) {
this.dbg.message("HDC.CMD[" + bCmdIndex + "]: 0x" + str.toHexByte(bCmd) + (!bCmdIndex && HDC.aXTCCommands[bCmd]? (" (" + HDC.aXTCCommands[bCmd] + ")") : ""));
}
if (DEBUG) this.messageDebugger("HDC.CMD[" + bCmdIndex + "]: 0x" + str.toHexByte(bCmd) + (!bCmdIndex && HDC.aXTCCommands[bCmd]? (" (" + HDC.aXTCCommands[bCmd] + ")") : ""), (bCmdIndex > 0? HDC.MESSAGE_PORT : 0) | HDC.MESSAGE_HDC);
}
return bCmd;
};
@ -2048,7 +2045,7 @@ HDC.prototype.beginResult = function(bResult)
*/
HDC.prototype.pushResult = function(bResult)
{
if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled((this.regDataTotal > 0? this.dbg.MESSAGE_PORT : 0) | this.dbg.MESSAGE_HDC)) this.dbg.message("HDC.RES[" + this.regDataTotal + "]: 0x" + str.toHexByte(bResult));
if (DEBUG) this.messageDebugger("HDC.RES[" + this.regDataTotal + "]: 0x" + str.toHexByte(bResult), (this.regDataTotal > 0? HDC.MESSAGE_PORT : 0) | HDC.MESSAGE_HDC);
this.regDataArray[this.regDataTotal++] = bResult;
};
@ -2580,7 +2577,7 @@ HDC.prototype.intBIOSDisk = function(addr)
var DL = this.cpu.regDX & 0xff;
if (!AH && DL > 0x80) this.iDriveAllowFail = DL - 0x80;
if (DEBUGGER) {
if (this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_HDC) && DL >= 0x80) {
if (this.dbg && (this.dbg.messageEnabled(HDC.MESSAGE_HDC) || this.dbg.messageEnabled(HDC.MESSAGE_INT)) && DL >= 0x80) {
this.dbg.messageInt(HDC.BIOS.INT_DISK, addr);
this.cpu.addIntReturn(addr, function (hdc, nCycles) {
return function onBIOSDiskReturn(nLevel) {
@ -2632,19 +2629,19 @@ HDC.prototype.intBIOSDiskette = function(addr)
};
/**
* messageDebugger(sMessage)
* messageDebugger(sMessage, bitsMessage)
*
* This is a combination of the Debugger's messageEnabled(MESSAGE_HDC) and message() functions, for convenience.
*
* @this {HDC}
* @param {string} sMessage is any caller-defined message string
* @param {number} [bitsMessage] is one or more Debugger MESSAGE_* category flag(s)
*/
HDC.prototype.messageDebugger = function(sMessage)
HDC.prototype.messageDebugger = function(sMessage, bitsMessage)
{
if (DEBUGGER && this.dbg) {
if (this.dbg.messageEnabled(this.dbg.MESSAGE_HDC)) {
this.dbg.message(sMessage);
}
if (bitsMessage == null) bitsMessage = HDC.MESSAGE_HDC;
if (this.dbg.messageEnabled(bitsMessage)) this.dbg.message(sMessage);
}
};
@ -2662,9 +2659,7 @@ HDC.prototype.messageDebugger = function(sMessage)
*/
HDC.prototype.messagePort = function(port, bOut, addrFrom, name, bIn)
{
if (DEBUGGER && this.dbg) {
this.dbg.messagePort(this, port, bOut, addrFrom, name, this.dbg.MESSAGE_HDC, bIn);
}
if (DEBUGGER && this.dbg) this.dbg.messagePort(this, port, bOut, addrFrom, name, HDC.MESSAGE_HDC, bIn);
};
/*

View file

@ -910,11 +910,19 @@ X86CPU.prototype.addIntNotify = function(nInt, component, fn)
*/
X86CPU.prototype.checkIntNotify = function(nInt)
{
/*
* Enabling MESSAGE_INT messages is one of the criteria that's also included in fDebugCheck, so for maximum
* speed, check fDebugCheck first.
*/
if (DEBUGGER && this.fDebugCheck) {
var aNotify = this.aIntNotify[nInt];
if (aNotify !== undefined) {
for (var i = 0; i < aNotify.length; i++) {
if (!aNotify[i][1].call(aNotify[i][0], this.regEIP)) {
return false;
}
}
}
else if (DEBUGGER && this.fDebugCheck) {
/*
* Enabling MESSAGE_INT messages is one of the criteria that's also included in fDebugCheck, so for maximum
* speed, we check fDebugCheck first.
*/
if (this.dbg.messageEnabled(this.dbg.MESSAGE_INT)) {
this.dbg.messageInt(nInt, this.regEIP);
this.addIntReturn(this.regEIP, function(cpu, nCycles) {
@ -924,14 +932,6 @@ X86CPU.prototype.checkIntNotify = function(nInt)
}(this, this.getCycles()));
}
}
var aNotify = this.aIntNotify[nInt];
if (aNotify !== undefined) {
for (var i = 0; i < aNotify.length; i++) {
if (!aNotify[i][1].call(aNotify[i][0], this.regEIP)) {
return false;
}
}
}
return true;
};

View file

@ -1,102 +1,102 @@
(function(){var k,aa,l;function ba(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}function ca(a){var b,c;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 d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null===d&&(a=a.substr(0,a.length-1))}var e;ba(a,b)&&!isNaN(e=parseInt(a,b))&&(c=e)}return c}
function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return p(a,2)}function u(a){return p(a,4)}function da(a,b){return void 0!==b?u(b)+":"+u(a):p(a)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}
function fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ga={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ia(a,b){var c="",d;for(d in a)d=d.replace(/([\\\[\]\*\{}\(\)\.\+\?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function ma(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function na(a,b,c){c=ma(a,b,c);0>c&&a.splice(-(c+1),0,b)}function oa(){return Date.now()||+new Date}function pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function ka(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function na(a,b,c){c=ka(a,b,c);0>c&&a.splice(-(c+1),0,b)}function oa(){return Date.now()||+new Date}function pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
var qa=[31,28,31,30,31,30,31,31,30,31,30,31];
function ra(a,b,c,d,e,f){b=!!b;var g=0,h=null,m=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,h=n.responseText,200!=n.status&&(g=n.status||-1),d&&e&&e.call(d,m,h,g,f))});if(c){var q="",t;for(t in c)c.hasOwnProperty(t)&&(q&&(q+="&"),q+=t+"="+encodeURIComponent(c[t]));q=q.replace(/%20/g,"+");n.open("POST",a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");
n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(h=n.responseText,200!=n.status&&(g=n.status||-1),d&&e&&e.call(d,m,h,g,f),a=[g,h]);return a}function sa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window?window.alert(a):console.log(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}function ua(a){if(window)try{window.localStorage.setItem("user",a)}catch(b){}}
function va(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 wa(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function xa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var ya={init:[],show:[],exit:[]},za=!0;function Aa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ba(a){ya.init.push(a)}
function Ca(a){if(za)for(var b=0;b<a.length;b++)a[b]()}Aa("onload",function(){Ca(ya.init)});Aa("onpageshow",function(){Ca(ya.show)});Aa(va("Opera")||va("iOS")?"onunload":"onbeforeunload",function(){Ca(ya.exit)});
function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.vk=b.comment;this.gp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.th=this.id.substr(0,b),this.sh=this.id.substr(b+1)):this.sh=this.id;this[a]=c;this.Hi=null;this.jd=this.Nb=this.Kc=this.xi=this.nh=!1;this.sa={};this.X=null;this.th&&this.th.match(/\d+/);Da[Da.length]=this}var Ea=void 0,Fa={};
function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.vk=b.comment;this.gp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.uh=this.id.substr(0,b),this.th=this.id.substr(b+1)):this.th=this.id;this[a]=c;this.Ii=null;this.jd=this.Nb=this.Kc=this.yi=this.oh=!1;this.sa={};this.X=null;this.uh&&this.uh.match(/\d+/);Da[Da.length]=this}var Ea=void 0,Fa={};
if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ia=/\+/g,Ja=/([^&=]+)=?([^&]*)/g;Ga=Ja.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ia," "))]=decodeURIComponent(Ga[2].replace(Ia," "))}function Ka(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function y(a,b){b.prototype=Ka(a.prototype)}var Da=[];
function La(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Da.length;b++){var d=Da[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ma(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Da.length;c++)if(Da[c].id===a)return Da[c]}return null}
function Na(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Da.length;d++)if(c)c==Da[d]&&(c=null);else if(!(a!=Da[d].type||b&&Da[d].id.indexOf(b)))return Da[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){w(c.message+" ("+a+")")}return b}
function Oa(a,b){var c,d;d=B(b.parentNode,"pcjs-control");for(c=0;c<d.length;c++){var e,f;f=d[c].childNodes;for(e=0;e<f.length;e++){var g=f[e];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h){var m,n;n=h.split(" ");for(m=0;m<n.length;m++)switch(h=n[m],h){case "pcjs-input":case "pcjs-output":(n=z(g))&&n.binding&&a.xb(h,n.type,n.binding,g),n=[]}}}}}}
function B(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
x.prototype={toString:function(){return this.name?this.name:this.id||this.type},xb:function(a,b,c,d){switch(c){case "clear":return this.sa[c]||(this.sa[c]=d,d.onclick=function(a){return function(){a.sa.print&&(a.sa.print.value="")}}(this)),!0;case "print":return this.sa[c]||(this.Uf=this.sa[c]=d,d.value="",this.ca=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),this.Ga=
function(a,b,c){this.ca(a,"notice",c)}),!0;default:return!1}},log:function(){},ca:function(){},status:function(a){this.ca(this.sh+": "+a)},Ga:function(a,b){b||w(a)},Ta:function(a){!this.jd&&(this.nh=!1!==a)&&(this.name&&this.log("ready"),a=this.Hi,this.Hi=null,a&&a())},ac:function(){return this.Nb=!0},Wb:function(a,b){b&&(this.Nb=!1);return!0}};function Pa(a,b){if(a.xi)return a.Kc&&(a.Kc=!1),a.xi=!1;if(a.jd)return a.ca(a.toString()+" error"),!1;a.Kc=b;return a.Kc}
function Qa(a,b){a.Kc&&(b?a.xi=!0:void 0===b&&a.ca(a.toString()+" busy"));return a.Kc}function Ra(a,b){b&&(a.nh?b():a.Hi=b);return a.nh}function Sa(a,b){a.jd=!0;a.Ga("Fatal error: "+b)}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function Ta(a){x.call(this,"Panel",a,Ta)}y(x,Ta);Ta.prototype.xb=function(a,b,c,d){return this.Da&&this.Da.xb(a,b,c,d)||this.S&&this.S.xb(a,b,c,d)||this.bb&&this.bb.xb(a,b,c,d)||this.X&&this.X.xb(a,b,c,d)?!0:x.prototype.xb.call(this,a,b,c,d)};
function(a,b,c){this.ca(a,"notice",c)}),!0;default:return!1}},log:function(){},ca:function(){},status:function(a){this.ca(this.th+": "+a)},Ga:function(a,b){b||w(a)},Ta:function(a){!this.jd&&(this.oh=!1!==a)&&(this.name&&this.log("ready"),a=this.Ii,this.Ii=null,a&&a())},ac:function(){return this.Nb=!0},Wb:function(a,b){b&&(this.Nb=!1);return!0}};function Pa(a,b){if(a.yi)return a.Kc&&(a.Kc=!1),a.yi=!1;if(a.jd)return a.ca(a.toString()+" error"),!1;a.Kc=b;return a.Kc}
function Qa(a,b){a.Kc&&(b?a.yi=!0:void 0===b&&a.ca(a.toString()+" busy"));return a.Kc}function Ra(a,b){b&&(a.oh?b():a.Ii=b);return a.oh}function Sa(a,b){a.jd=!0;a.Ga("Fatal error: "+b)}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function Ta(a){x.call(this,"Panel",a,Ta)}y(x,Ta);Ta.prototype.xb=function(a,b,c,d){return this.Da&&this.Da.xb(a,b,c,d)||this.S&&this.S.xb(a,b,c,d)||this.bb&&this.bb.xb(a,b,c,d)||this.X&&this.X.xb(a,b,c,d)?!0:x.prototype.xb.call(this,a,b,c,d)};
Ta.prototype.pc=function(a,b,c,d){this.Da=a;this.S=c;this.X=d;this.bb=C(a,"Keyboard")};Ta.prototype.ac=function(a,b){b||Ua();return!0};Ta.prototype.Wb=function(){return!0};function Ua(){for(var a=!1,b=B(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Ma(e.id);f||(a=!0,f=new Ta(e));Oa(f,d);a&&f.Ta()}}Ba(Ua);
function Va(a,b,c){x.call(this,"Bus",a,Va);this.S=b;this.X=c;this.cg=a.buswidth||20;this.ue=this.Ib=(1<<this.cg)-1;this.rb=20>=this.cg?12:14;this.fc=1<<this.rb;this.rk=this.fc>>2;this.eb=this.fc-1;this.Zg=(this.ue+this.fc)/this.fc|0;this.ye=this.Zg-1;this.rd=[];this.sd=[];this.Zf=this.$f=!1;this.Ni();this.Ta()}y(x,Va);
Va.prototype.Ni=function(){this.Aa=Array(this.Zg);for(var a=0;a<this.Zg;a++){var b=a*this.fc;Wa(this.Aa[a]=new Xa(b),this.S,this.X,b,this.fc)}this.S.Ni(this.Aa,this.ue,this.rb,this.eb,this.ye);this.S.Ib=this.Ib};Va.prototype.reset=function(){Ya(this,!0)};function Za(a,b,c,d,e){if(!(b&a.eb||!c||c&a.eb)){for(var f=b>>a.rb;0<c&&f<a.Aa.length;){var g=a.Aa[f];if(void 0!==g&&g.size)return $a(1,b,c);b=f*a.fc;g=a.Aa[f++]=new Xa(b,a.fc,d,e);Wa(g,a.S,a.X,b,a.fc);c-=a.fc}return!0}return $a(2,b,c)}
function Ya(a,b){if(void 0!==b&&20<a.cg){var c=a.Ib&-1048577|(b?1048576:0);c!=a.Ib&&(a.Ib=c,a.S&&(a.S.Ib=c))}}Va.prototype.Qh=function(a,b,c){if(!(a&this.eb||!b||b&this.eb)){for(var d=a>>this.rb;0<b;){var e=this.Aa[d];if(!e.ia)return $a(5,a,b);e.Pe(c);b-=this.fc;d++}return!0}return $a(3,a,b)};function ab(a,b,c){if(!(b&a.eb||!c||c&a.eb)){for(var d=b>>a.rb;0<c;)b=d*a.fc,Wa(a.Aa[d++]=new Xa(b),a.S,a.X,b,a.fc),c-=a.fc;return!0}return $a(4,b,c)}function bb(a,b){return a.Aa[(b&a.Ib)>>a.rb].tg(b&a.eb)}
function cb(a,b){var c=b&a.eb,d=(b&a.Ib)>>a.rb;return c!=a.eb?a.Aa[d].Rj(c):a.Aa[d++].tg(c)|a.Aa[d&a.ye].tg(0)<<8}function db(a,b,c){a.Aa[(b&a.Ib)>>a.rb].Bg(b&a.eb,c&255)}function eb(a,b,c){var d=b&a.eb;b=(b&a.Ib)>>a.rb;d!=a.eb?a.Aa[b].$j(d,c&65535):(a.Aa[b++].Bg(d,c&255),a.Aa[b&a.ye].Bg(0,c>>8&255))}
function fb(a){for(var b=0,c=[],d=0;d<a.Zg;d++){var e=a.Aa[d];if(e.lb||e.zk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,m=0,n=[];h<e.length;){for(var q=e[h],t=h+1;t<e.length&&e[t]===q;)t++;n[m++]=t-h;n[m++]=q;h=t}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.ue==a.Ib;return c}function hb(a,b){if(void 0===b)return a.Zf=!a.Zf,a.Zf;void 0===a.rd[b]&&(a.rd[b]=[null,null,!1]);a.rd[b][2]=!a.rd[b][2];return a.rd[b][2]}
function Va(a,b,c){x.call(this,"Bus",a,Va);this.S=b;this.X=c;this.cg=a.buswidth||20;this.ue=this.Ib=(1<<this.cg)-1;this.rb=20>=this.cg?12:14;this.fc=1<<this.rb;this.rk=this.fc>>2;this.eb=this.fc-1;this.$g=(this.ue+this.fc)/this.fc|0;this.ye=this.$g-1;this.rd=[];this.sd=[];this.Zf=this.$f=!1;this.Oi();this.Ta()}y(x,Va);
Va.prototype.Oi=function(){this.Aa=Array(this.$g);for(var a=0;a<this.$g;a++){var b=a*this.fc;Wa(this.Aa[a]=new Xa(b),this.S,this.X,b,this.fc)}this.S.Oi(this.Aa,this.ue,this.rb,this.eb,this.ye);this.S.Ib=this.Ib};Va.prototype.reset=function(){Ya(this,!0)};function Za(a,b,c,d,e){if(!(b&a.eb||!c||c&a.eb)){for(var f=b>>a.rb;0<c&&f<a.Aa.length;){var g=a.Aa[f];if(void 0!==g&&g.size)return $a(1,b,c);b=f*a.fc;g=a.Aa[f++]=new Xa(b,a.fc,d,e);Wa(g,a.S,a.X,b,a.fc);c-=a.fc}return!0}return $a(2,b,c)}
function Ya(a,b){if(void 0!==b&&20<a.cg){var c=a.Ib&-1048577|(b?1048576:0);c!=a.Ib&&(a.Ib=c,a.S&&(a.S.Ib=c))}}Va.prototype.Rh=function(a,b,c){if(!(a&this.eb||!b||b&this.eb)){for(var d=a>>this.rb;0<b;){var e=this.Aa[d];if(!e.ia)return $a(5,a,b);e.Pe(c);b-=this.fc;d++}return!0}return $a(3,a,b)};function ab(a,b,c){if(!(b&a.eb||!c||c&a.eb)){for(var d=b>>a.rb;0<c;)b=d*a.fc,Wa(a.Aa[d++]=new Xa(b),a.S,a.X,b,a.fc),c-=a.fc;return!0}return $a(4,b,c)}function bb(a,b){return a.Aa[(b&a.Ib)>>a.rb].tg(b&a.eb)}
function cb(a,b){var c=b&a.eb,d=(b&a.Ib)>>a.rb;return c!=a.eb?a.Aa[d].Sj(c):a.Aa[d++].tg(c)|a.Aa[d&a.ye].tg(0)<<8}function db(a,b,c){a.Aa[(b&a.Ib)>>a.rb].Bg(b&a.eb,c&255)}function eb(a,b,c){var d=b&a.eb;b=(b&a.Ib)>>a.rb;d!=a.eb?a.Aa[b].ak(d,c&65535):(a.Aa[b++].Bg(d,c&255),a.Aa[b&a.ye].Bg(0,c>>8&255))}
function fb(a){for(var b=0,c=[],d=0;d<a.$g;d++){var e=a.Aa[d];if(e.lb||e.zk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,m=0,n=[];h<e.length;){for(var q=e[h],t=h+1;t<e.length&&e[t]===q;)t++;n[m++]=t-h;n[m++]=q;h=t}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.ue==a.Ib;return c}function hb(a,b){if(void 0===b)return a.Zf=!a.Zf,a.Zf;void 0===a.rd[b]&&(a.rd[b]=[null,null,!1]);a.rd[b][2]=!a.rd[b][2];return a.rd[b][2]}
function ib(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=g;n++)void 0!==f.rd[n]?w("Input port "+u(n)+" registered by "+f.rd[n][0].id+", ignoring "+h.id):f.rd[n]=[h,m,!1,!1]}}function jb(a,b,c){var d=255,e=a.rd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.X&&a.Zf!=e[2]&&kb(a.X,b,d)):a.X&&(a.X.ba(a,b,null,c),a.Zf&&kb(a.X,b,d));return d}
function lb(a,b){if(void 0===b)return a.$f=!a.$f,a.$f;void 0===a.sd[b]&&(a.sd[b]=[null,null,!1]);a.sd[b][2]=!a.sd[b][2];return a.sd[b][2]}function mb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=g;n++)void 0!==f.sd[n]?w("Output port "+u(n)+" registered by "+f.sd[n][0].id+", ignoring "+h.id):f.sd[n]=[h,m,!1,!1]}}
function nb(a,b,c,d){var e=a.sd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.X&&a.$f!=e[2]&&ob(a.X,b,c)):a.X&&(a.X.ba(a,b,c,d),a.$f&&ob(a.X,b,c))}function $a(a,b,c){w("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}function Xa(a,b,c,d){this.Cm=b;this.ra=null;this.offset=0;this.mh=c;this.ia=null;this.lb=this.zk=!1;if(b)if(d)this.ia=d,a=[d.ed,a-d.cb],this.ra=a[0],this.offset=a[1],this.Pe(d.Jf);else{this.ra=Array(b>>2);for(d=0;d<this.ra.length;d++)this.ra[d]=0;this.Pe(pb)}else this.Pe()}
Xa.prototype={Kh:function(a){E(this.X,this.X.Fg)&&!a&&this.X.message("attempt to read invalid block %"+p(this.Wd)+" from "+da(this.S.qa,this.S.ua.oa));return 0},xf:function(a,b){E(this.X,this.X.Fg)&&!a&&this.X.message("attempt to write 0x"+u(b)+" to invalid block %"+p(this.Wd)+" from "+da(this.S.qa,this.S.ua.oa))},ip:function(a){return this.ra[a>>2]>>>((a&3)<<3)&255},kp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ra[b]>>>a;return 24>a?c&65535:c&255|(this.ra[b+1]&255)<<8},sp:function(a,b){var c=a>>
2,d=(a&3)<<3;this.ra[c]=this.ra[c]&~(255<<d)|b<<d;this.lb=!0},up:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ra[c]=this.ra[c]&~(65535<<d)|b<<d:(this.ra[c]=this.ra[c]&16777215|b<<24,c++,this.ra[c]=this.ra[c]&4294967040|b>>8);this.lb=!0},jp:function(a){qb(this.X,this.Wd+a);return this.tg(a)},lp:function(a){qb(this.X,this.Wd+a)||qb(this.X,this.Wd+a+1);return this.Rj(a)},tp:function(a,b){rb(this.X,this.Wd+a);this.Bg(a,b)},vp:function(a,b){rb(this.X,this.Wd+a)||rb(this.X,this.Wd+a+1);this.$j(a,b)},save:function(){return this.ia?
null:this.ra},restore:function(a){return this.ia?null===a:this.Cm==a.length<<2?(this.ra=a,this.lb=!0):!1},Pe:function(a,b){a||(a=[]);void 0===b&&(b=!0);sb(this,a,b);tb(this,a,b)},Vd:function(a,b){b?0===this.tk++&&tb(this,ub):0===this.sk++&&sb(this,ub)}};function wb(a,b){b?0===--a.tk&&(a.Dc=a.mh?a.xf:a.Bg,a.lm=a.mh?a.xf:a.$j):0===--a.sk&&(a.sc=a.tg,a.Zl=a.Rj)}function Wa(a,b,c,d,e){a.S=b;a.X=c;a.Wd=d;a.sk=a.tk=0;a.X&&xb(a.X,d,e)}
function tb(a,b,c){a.Dc=b[2]&&!a.mh?b[2]:a.xf;a.lm=b[3]&&!a.mh?b[3]:a.xf;c&&(a.Bg=b[2]?b[2]:a.xf,a.$j=b[3]?b[3]:a.xf)}function sb(a,b,c){a.sc=b[0]?b[0]:a.Kh;a.Zl=b[1]?b[1]:a.Kh;c&&(a.tg=b[0]?b[0]:a.Kh,a.Rj=b[1]?b[1]:a.Kh)}var pb=[Xa.prototype.ip,Xa.prototype.kp,Xa.prototype.sp,Xa.prototype.up],ub=[Xa.prototype.jp,Xa.prototype.lp,Xa.prototype.tp,Xa.prototype.vp];
function yb(a,b){x.call(this,"CPU",a,yb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.wh=Math.round(this.Hd/1E4)/100;this.Ge=this.wh*this.Gd;this.Ob=this.Nb=!1;this.wi=a.autoStart;c=Fa.autostart;void 0!==c&&(this.wi="true"==c?!0:"false"==c?!1:null);this.cf=!1;this.dg=this.mf=0;this.fg=a.csStart;this.lf=a.csInterval;this.nf=a.csStop;var d=this;this.mo=function(){d.Ne()};this.Ta()}y(x,yb);k=yb.prototype;
k.pc=function(a,b,c,d){this.na=b;this.X=d;this.Da=a;var e=C(a,"Video");e&&(this.ri=function(){zb(e)},this.Md=function(){e.Md()});this.ka=C(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ac=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.X?this.X.On():this.ca("No debugger detected")}this.Nb=!0;!Cb(this)&&this.X&&Db(this.X);Eb(this);return!0};
k.Wb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Cb(a){return!0===a.wi||null===a.wi&&!a.X&&void 0===a.sa.run?(a.Ne(),!0):!1}k.Md=function(){};k.Gk=function(){return 0};function Bb(a){void 0===a.fg&&(a.fg=0);void 0===a.lf&&(a.lf=-1);void 0===a.nf&&(a.nf=-1);a.cf=0<=a.fg&&0<a.lf;a.cf&&(a.dg=0,a.mf=a.fg-a.Ke)}
function Fb(a,b){if(a.cf){var c=!1;a.dg=a.dg+a.Gk()|0;a.mf-=b;0>=a.mf&&(a.mf+=a.lf,c=!0);0<=a.nf&&a.nf<=F(a)&&(a.lf=a.nf=-1,Bb(a),a.Ab(),c=!0);c&&a.ca(F(a)+" cycles: checksum="+p(a.dg))}}function G(a,b,c,d){void 0!==a.sa[b]&&(void 0===d&&(d=4),void 0===c&&(Sa(a,"Register "+b+" is invalid"),a.Ab()),c=p(c,d),a.sa[b].innerHTML!=c&&(a.sa[b].innerHTML=c))}k.eh=function(){};k.ri=function(){};
function nb(a,b,c,d){var e=a.sd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.X&&a.$f!=e[2]&&ob(a.X,b,c)):a.X&&(a.X.ba(a,b,c,d),a.$f&&ob(a.X,b,c))}function $a(a,b,c){w("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}function Xa(a,b,c,d){this.Cm=b;this.ra=null;this.offset=0;this.nh=c;this.ia=null;this.lb=this.zk=!1;if(b)if(d)this.ia=d,a=[d.ed,a-d.cb],this.ra=a[0],this.offset=a[1],this.Pe(d.Jf);else{this.ra=Array(b>>2);for(d=0;d<this.ra.length;d++)this.ra[d]=0;this.Pe(pb)}else this.Pe()}
Xa.prototype={Lh:function(a){D(this.X,this.X.Gg)&&!a&&this.X.message("attempt to read invalid block %"+p(this.Wd)+" from "+da(this.S.qa,this.S.ua.oa));return 0},xf:function(a,b){D(this.X,this.X.Gg)&&!a&&this.X.message("attempt to write 0x"+u(b)+" to invalid block %"+p(this.Wd)+" from "+da(this.S.qa,this.S.ua.oa))},ip:function(a){return this.ra[a>>2]>>>((a&3)<<3)&255},kp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ra[b]>>>a;return 24>a?c&65535:c&255|(this.ra[b+1]&255)<<8},sp:function(a,b){var c=a>>
2,d=(a&3)<<3;this.ra[c]=this.ra[c]&~(255<<d)|b<<d;this.lb=!0},up:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ra[c]=this.ra[c]&~(65535<<d)|b<<d:(this.ra[c]=this.ra[c]&16777215|b<<24,c++,this.ra[c]=this.ra[c]&4294967040|b>>8);this.lb=!0},jp:function(a){qb(this.X,this.Wd+a);return this.tg(a)},lp:function(a){qb(this.X,this.Wd+a)||qb(this.X,this.Wd+a+1);return this.Sj(a)},tp:function(a,b){rb(this.X,this.Wd+a);this.Bg(a,b)},vp:function(a,b){rb(this.X,this.Wd+a)||rb(this.X,this.Wd+a+1);this.ak(a,b)},save:function(){return this.ia?
null:this.ra},restore:function(a){return this.ia?null===a:this.Cm==a.length<<2?(this.ra=a,this.lb=!0):!1},Pe:function(a,b){a||(a=[]);void 0===b&&(b=!0);sb(this,a,b);tb(this,a,b)},Vd:function(a,b){b?0===this.tk++&&tb(this,ub):0===this.sk++&&sb(this,ub)}};function wb(a,b){b?0===--a.tk&&(a.Dc=a.nh?a.xf:a.Bg,a.lm=a.nh?a.xf:a.ak):0===--a.sk&&(a.sc=a.tg,a.Zl=a.Sj)}function Wa(a,b,c,d,e){a.S=b;a.X=c;a.Wd=d;a.sk=a.tk=0;a.X&&xb(a.X,d,e)}
function tb(a,b,c){a.Dc=b[2]&&!a.nh?b[2]:a.xf;a.lm=b[3]&&!a.nh?b[3]:a.xf;c&&(a.Bg=b[2]?b[2]:a.xf,a.ak=b[3]?b[3]:a.xf)}function sb(a,b,c){a.sc=b[0]?b[0]:a.Lh;a.Zl=b[1]?b[1]:a.Lh;c&&(a.tg=b[0]?b[0]:a.Lh,a.Sj=b[1]?b[1]:a.Lh)}var pb=[Xa.prototype.ip,Xa.prototype.kp,Xa.prototype.sp,Xa.prototype.up],ub=[Xa.prototype.jp,Xa.prototype.lp,Xa.prototype.tp,Xa.prototype.vp];
function yb(a,b){x.call(this,"CPU",a,yb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.xh=Math.round(this.Hd/1E4)/100;this.Ge=this.xh*this.Gd;this.Ob=this.Nb=!1;this.xi=a.autoStart;c=Fa.autostart;void 0!==c&&(this.xi="true"==c?!0:"false"==c?!1:null);this.cf=!1;this.dg=this.mf=0;this.fg=a.csStart;this.lf=a.csInterval;this.nf=a.csStop;var d=this;this.mo=function(){d.Ne()};this.Ta()}y(x,yb);k=yb.prototype;
k.pc=function(a,b,c,d){this.na=b;this.X=d;this.Da=a;var e=C(a,"Video");e&&(this.si=function(){zb(e)},this.Md=function(){e.Md()});this.ka=C(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ac=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.X?this.X.On():this.ca("No debugger detected")}this.Nb=!0;!Cb(this)&&this.X&&Db(this.X);Eb(this);return!0};
k.Wb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Cb(a){return!0===a.xi||null===a.xi&&!a.X&&void 0===a.sa.run?(a.Ne(),!0):!1}k.Md=function(){};k.Gk=function(){return 0};function Bb(a){void 0===a.fg&&(a.fg=0);void 0===a.lf&&(a.lf=-1);void 0===a.nf&&(a.nf=-1);a.cf=0<=a.fg&&0<a.lf;a.cf&&(a.dg=0,a.mf=a.fg-a.Ke)}
function Fb(a,b){if(a.cf){var c=!1;a.dg=a.dg+a.Gk()|0;a.mf-=b;0>=a.mf&&(a.mf+=a.lf,c=!0);0<=a.nf&&a.nf<=F(a)&&(a.lf=a.nf=-1,Bb(a),a.Ab(),c=!0);c&&a.ca(F(a)+" cycles: checksum="+p(a.dg))}}function G(a,b,c,d){void 0!==a.sa[b]&&(void 0===d&&(d=4),void 0===c&&(Sa(a,"Register "+b+" is invalid"),a.Ab()),c=p(c,d),a.sa[b].innerHTML!=c&&(a.sa[b].innerHTML=c))}k.fh=function(){};k.si=function(){};
k.xb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.sa[c]=d;d.onclick=function(){e.Ob?e.Ab(!0):e.Ne(!0)};a=!0;break;case "reset":this.sa[c]=d;d.onclick=function(){e.Da&&Gb(e.Da)};a=!0;break;case "speed":this.sa[c]=d;a=!0;break;case "setSpeed":this.sa[c]=d,d.onclick=function(){Hb(e,e.Gd<<1,!0)},d.innerHTML=this.Ge.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.Ke+=b;c&&(a.Oc=a.A=0)}
function Jb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Gd&&a.ld&&(d=a.ld/a.wh);a.Nk=Math.round(1E3/30);a.co=Math.floor(a.Hd/c*d);a.Ui=Math.floor(a.Hd/30*d);a.Rk=Math.floor(a.Hd/60*d);a.Qk=Math.floor(a.Hd/2*d);b||(a.of=a.Ui,a.hg=a.Rk,a.gg=a.Qk);a.Kj=0}function F(a,b){var c=a.Ke+a.ke+a.Oc-a.A;b&&1<a.Gd&&a.ld>a.wh&&(c=Math.round(c/a.Gd));return c}function Ab(a){a.ld=0;a.zh=1;a.Ke=a.ke=a.Oc=a.A=0;Bb(a);Hb(a,1)}
function Hb(a,b,c){void 0!==b&&(0.8>a.ld/a.Ge&&(b=1),a.Gd=b,b=a.wh*a.Gd,a.Ge!=b&&(a.Ge=b,b=a.Ge.toFixed(2)+"Mhz",a.sa.setSpeed&&(a.sa.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Md());Ib(a,a.ke);a.ke=0;a.kf=oa();a.He=0;Jb(a)}
k.Ne=function(a){if(Pa(this,!0)){this.Ob||(Hb(this),this.Da&&this.Da.start(this.kf,F(this)),this.Ob=!0,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Halt"),a&&this.Md());this.Kj>=this.Hd&&Jb(this,!0);this.ig=0;this.xh=oa();this.He&&(a=this.xh-this.He,a>this.Nk&&(this.kf+=a,this.kf>this.xh&&(this.kf=this.xh)));try{do{this.wf(this.cf?1:Math.round(this.co/this.zh));var b=this.Oc-this.A;this.ke+=b;this.ig+=b;Ib(this,0,!0);Fb(this,b);this.hg-=b;0>=this.hg&&(this.hg+=this.Rk,this.ri());this.gg-=
b;0>=this.gg&&(this.gg+=this.Qk,this.eh());this.of-=b;if(0>=this.of){this.of+=this.Ui;break}}while(this.Ob)}catch(c){this.Ab();Eb(this);this.Da&&this.Da.stop(oa(),F(this));Pa(this,!1);Sa(this,c.message);return}b=setTimeout;a=this.mo;this.He=oa();var d=this.Nk;this.ig&&(d=Math.round(d*this.ig/this.Ui));var d=d-(this.He-this.xh),e=this.He-this.kf;e&&(this.ld=Math.round(this.ke/(10*e))/100,864E5<=e&&(this.Ke=0,this.ka&&Lb(this.ka,!0),Hb(this)));if(0>d||this.ld<this.Ge)d=0;this.Kj+=this.ig;this.He+=d;
b(a,d)}else Eb(this),this.Da&&this.Da.stop(oa(),F(this))};k.Ab=function(a){Qa(this,!0);this.Oc-=this.A;this.A=0;Ib(this,this.ke);this.ke=0;this.Ob&&(this.Ob=!1,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Run"));this.kh=a};k.wf=function(){return 0};function Eb(a){a.ri();a.eh()}
function Jb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Gd&&a.ld&&(d=a.ld/a.xh);a.Nk=Math.round(1E3/30);a.co=Math.floor(a.Hd/c*d);a.Vi=Math.floor(a.Hd/30*d);a.Rk=Math.floor(a.Hd/60*d);a.Qk=Math.floor(a.Hd/2*d);b||(a.of=a.Vi,a.hg=a.Rk,a.gg=a.Qk);a.Lj=0}function F(a,b){var c=a.Ke+a.ke+a.Oc-a.A;b&&1<a.Gd&&a.ld>a.xh&&(c=Math.round(c/a.Gd));return c}function Ab(a){a.ld=0;a.Ah=1;a.Ke=a.ke=a.Oc=a.A=0;Bb(a);Hb(a,1)}
function Hb(a,b,c){void 0!==b&&(0.8>a.ld/a.Ge&&(b=1),a.Gd=b,b=a.xh*a.Gd,a.Ge!=b&&(a.Ge=b,b=a.Ge.toFixed(2)+"Mhz",a.sa.setSpeed&&(a.sa.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Md());Ib(a,a.ke);a.ke=0;a.kf=oa();a.He=0;Jb(a)}
k.Ne=function(a){if(Pa(this,!0)){this.Ob||(Hb(this),this.Da&&this.Da.start(this.kf,F(this)),this.Ob=!0,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Halt"),a&&this.Md());this.Lj>=this.Hd&&Jb(this,!0);this.ig=0;this.yh=oa();this.He&&(a=this.yh-this.He,a>this.Nk&&(this.kf+=a,this.kf>this.yh&&(this.kf=this.yh)));try{do{this.wf(this.cf?1:Math.round(this.co/this.Ah));var b=this.Oc-this.A;this.ke+=b;this.ig+=b;Ib(this,0,!0);Fb(this,b);this.hg-=b;0>=this.hg&&(this.hg+=this.Rk,this.si());this.gg-=
b;0>=this.gg&&(this.gg+=this.Qk,this.fh());this.of-=b;if(0>=this.of){this.of+=this.Vi;break}}while(this.Ob)}catch(c){this.Ab();Eb(this);this.Da&&this.Da.stop(oa(),F(this));Pa(this,!1);Sa(this,c.message);return}b=setTimeout;a=this.mo;this.He=oa();var d=this.Nk;this.ig&&(d=Math.round(d*this.ig/this.Vi));var d=d-(this.He-this.yh),e=this.He-this.kf;e&&(this.ld=Math.round(this.ke/(10*e))/100,864E5<=e&&(this.Ke=0,this.ka&&Lb(this.ka,!0),Hb(this)));if(0>d||this.ld<this.Ge)d=0;this.Lj+=this.ig;this.He+=d;
b(a,d)}else Eb(this),this.Da&&this.Da.stop(oa(),F(this))};k.Ab=function(a){Qa(this,!0);this.Oc-=this.A;this.A=0;Ib(this,this.ke);this.ke=0;this.Ob&&(this.Ob=!1,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Run"));this.lh=a};k.wf=function(){return 0};function Eb(a){a.si();a.fh()}
var Mb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function Nb(a,b,c){this.S=a;this.Ua=this.oa=0;this.Nc=65535;this.Mc=this.ab=0;this.xg=b;Pb(this,c)}function Qb(a){this.oa=a;this.Nc=65535;return this.Ua=a<<4}
0,0,1,1,0,1,0,0,1];function Nb(a,b,c){this.S=a;this.Ua=this.oa=0;this.Nc=65535;this.Mc=this.ab=0;this.xg=b;Ob(this,c)}function Qb(a){this.oa=a;this.Nc=65535;return this.Ua=a<<4}
function Rb(a){var b,c;a&4?(b=this.S.Ld.Ua,c=this.S.Ld.Nc):(b=this.S.Sc,c=this.S.Ye);b+=a&65528;if(b+7<=c){this.Wc=Sb;this.Yb=Tb;this.S.A-=15;c=this.S.Ia(b+0);var d=this.S.Ia(b+4),e=this.S.Ia(b+2)|(d&255)<<16;this.S.Ia(b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.Yb=Ub);if(b&2048||!(b&512))this.Yb=Vb;this.oa=a;this.Nc=c;this.ab=d;this.Mc=(d&24576)>>13;return this.Ua=e}if(b&&768>=b)return this.oa=a,this.Nc=c,this.ab=d,this.Mc=(d&24576)>>13,this.Ua=e}return-1}function Wb(a){return this.Ua+a}
function Xb(a){return this.Ua+a}function Sb(a,b,c){return a+b<=this.Nc?this.Ua+a:Ub.call(this,0,0,c)}function Ub(a,b,c){c||Yb.call(this.S,13,0);return-1}function Tb(a,b,c){return a+b<=this.Nc?this.Ua+a:Vb.call(this,0,0,c)}function Vb(a,b,c){c||Yb.call(this.S,13,0);return-1}Nb.prototype.save=function(){return[this.oa,this.Ua,this.Nc,this.ab,this.Mc,this.xg]};Nb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.oa=a[0],this.Ua=a[1],this.Nc=a[2],this.ab=a[3],this.Mc=a[4],this.xg=a[5])};
function Pb(a,b){void 0===b&&(b=!!(a.S.ad&1));b?(a.load=Rb,a.Wc=Sb,a.Yb=Tb):(a.load=Qb,a.Wc=Wb,a.Yb=Xb)}
function Zb(a){this.Fa=a.model||8088;var b=0;switch(this.Fa){default:case 8088:b=4772727;break;case 80286:b=6E6}yb.call(this,a,b);this.gk=61442;this.Jg=4;this.pf=255;this.Lj=4;this.aa=5;this.ta=6;this.fa=7;this.ga=8;this.P=9;this.V=11;this.W=12;this.Ie=4;this.Tk=60;this.Uk=83;this.Tb=3;this.sb=9;this.hc=16;this.Eh=1;this.Yk=19;this.$k=28;this.bl=16;this.al=21;this.Zk=37;this.Wk=2;this.dj=9;this.Xk=5;this.Vk=33;this.fj=10;this.ej=8;this.mg=3;this.lg=15;this.pl=51;this.ql=1;this.rl=2;this.sl=4;this.ol=
32;this.ul=this.gj=15;this.Ub=16;this.Vb=4;this.wl=11;this.vl=18;this.tl=24;this.Cb=4;this.xl=2;this.hj=16;this.yl=17;this.mj=18;this.zl=19;this.lj=5;this.nj=6;this.El=2;this.Dl=8;this.Bl=9;this.pj=this.oj=this.Al=this.Cl=10;this.dl=80;this.fl=144;this.cl=86;this.el=154;this.hl=101;this.jl=165;this.gl=107;this.il=171;this.Gl=70;this.Il=113;this.Fl=76;this.Hl=124;this.ll=80;this.nl=128;this.kl=86;this.ml=134;this.og=3;this.ng=16;this.uj=10;this.tj=8;this.Jl=51;this.ic=8;this.Kl=17;this.Ll=36;this.qc=
11;this.Ml=16;this.pg=10;this.Pb=2;this.aj=18;this.bj=9-this.Pb;this.cj=17-this.Pb;this.ij=12;this.jj=9-this.Pb;this.kj=13-this.Pb;this.qj=18;this.rj=9-this.Pb;this.sj=17-this.Pb;this.vj=15;this.wj=9-this.Pb;this.xj=15-this.Pb;this.Bj=11;this.Cj=9-this.Pb;this.Dj=10-this.Pb;this.Nl=8;this.Ql=12;this.Ol=18;this.Pl=17;this.Rl=15;this.zj=8;this.yj=20;this.Aj=2;this.Gj=3;this.qg=9;this.Fj=5;this.Ej=11;this.Ij=4;this.Hj=17;this.Sl=11;this.Sa=$b.slice();80186<=this.Fa&&(this.pf=31,this.Sa[15]=ac,this.Sa[96]=
bc,this.Sa[97]=cc,this.Sa[98]=dc,this.Sa[99]=ac,this.Sa[100]=ac,this.Sa[101]=ac,this.Sa[102]=ac,this.Sa[103]=ac,this.Sa[104]=ec,this.Sa[105]=fc,this.Sa[106]=gc,this.Sa[107]=hc,this.Sa[108]=ic,this.Sa[109]=jc,this.Sa[110]=kc,this.Sa[111]=lc,this.Sa[192]=mc,this.Sa[193]=nc,this.Sa[200]=oc,this.Sa[201]=pc,this.Sa[241]=qc,rc[7]=sc,tc[7]=sc,80286<=this.Fa&&(this.gk=2,this.Jg=0,this.Sa[15]=uc,this.Sa[99]=vc,this.Sa[84]=wc,this.P=this.ga=this.fa=this.ta=this.aa=this.Lj=0,this.W=this.V=1,this.Ie=3,this.Tk=
14,this.Uk=16,this.Tb=2,this.hc=this.sb=7,this.Eh=0,this.Yk=7,this.$k=13,this.bl=7,this.al=11,this.Zk=16,this.Wk=3,this.dj=6,this.Xk=2,this.Vk=13,this.ej=this.fj=5,this.mg=2,this.lg=7,this.pl=23,this.ql=0,this.rl=1,this.sl=3,this.ol=17,this.gj=7,this.ul=11,this.Ub=7,this.Vb=3,this.wl=7,this.vl=11,this.tl=15,this.Cb=2,this.xl=3,this.hj=7,this.zl=this.mj=this.yl=8,this.nj=this.lj=4,this.El=2,this.Dl=3,this.Bl=5,this.Cl=2,this.Al=3,this.oj=5,this.pj=3,this.dl=14,this.fl=22,this.cl=17,this.el=25,this.hl=
17,this.jl=25,this.gl=20,this.il=28,this.Gl=13,this.Il=21,this.Fl=16,this.Hl=24,this.ll=13,this.nl=21,this.kl=16,this.ml=24,this.og=2,this.ng=7,this.tj=this.uj=5,this.Jl=19,this.Kl=this.ic=5,this.Ll=17,this.qc=3,this.Ml=5,this.pg=3,this.Pb=0,this.aj=8,this.bj=5,this.cj=9,this.jj=this.ij=5,this.kj=4,this.rj=this.qj=5,this.sj=4,this.vj=7,this.wj=5,this.xj=8,this.Bj=3,this.Cj=4,this.Dj=3,this.Ql=this.Nl=11,this.Pl=this.Ol=15,this.Rl=7,this.zj=5,this.yj=8,this.Aj=0,this.Gj=2,this.qg=6,this.Fj=3,this.Ej=
6,this.Ij=3,this.Sl=this.Hj=5));this.Lg=[];this.Mg=[];this.Oc=this.ah=0;this.kh=this.Ai=!1;this.Aa=[];this.ue=this.Ib=this.rb=this.eb=this.ye=0;this.T=this.Mm;this.U=this.Nm;this.N=this.Un;this.O=this.Vn;this.Q=this.qp;this.R=this.rp;xc(this)}y(yb,Zb);k=Zb.prototype;k.Ni=function(a,b,c,d,e){this.Aa=a;this.ue=this.Ib=b;this.rb=c;this.eb=d;this.ye=e};k.reset=function(){this.Ob&&this.Ab();xc(this);Ab(this);this.jd=!1};
function xc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.Y=0;a.H=0;a.F=0;a.D=0;a.ad=65520;a.dd=0;a.te=1023;a.Jc={Mj:0,oa:0,ab:0,vh:-1};a.ua=new Nb(a,"CS");a.Eb=new Nb(a,"DS");a.wb=new Nb(a,"SS");a.Za=new Nb(a,"ES");a.im=new Nb(a,"ZERO");yc(a,0,65535);80286<=a.Fa&&(a.Sc=a.Ye=0,a.Ld=new Nb(a,"LDT",!0),a.Ag=new Nb(a,"TSS",!0),a.Qb=new Nb(a,"VER",!0),yc(a,65520,61440),a.ua.Ua=16711680);zc(a,0);Ac(a);a.mb=0;a.Db=a.ug=-1;a.Ug=0;a.ha=a.Ka=-1;a.C=a.Eb;a.M=a.wb;a.$=a.wa=0}
k.Gk=function(){var a=this.G+this.B+this.I+this.J+this.Y+this.H+this.F+this.D|0;return a=a+this.qa+this.ua.oa+this.Eb.oa+this.wb.oa+this.Za.oa+Bc(this)|0};function Cc(a,b,c,d){void 0!==d&&(void 0===a.Lg[b]&&(a.Lg[b]=[]),a.Lg[b].push([c,d]))}function Dc(a,b){a.Ai&&E(a.X,a.X.ck)&&(Ec(a.X,b,a.Ba),Fc(a,a.Ba,function(a,c){return function(d){Gc(a.X,b,d,F(a)-c)}}(a,F(a))));var c=a.Lg[b];if(void 0!==c)for(var d=0;d<c.length;d++)if(!c[d][1].call(c[d][0],a.Ba))return!1;return!0}
function Fc(a,b,c){void 0!==c&&(null==a.Mg[b]&&a.ah++,a.Mg[b]=c)}function Hc(a,b){var c=a.Mg[b];null!=c&&(c(--a.ah),delete a.Mg[b])}function Ac(a,b){void 0===b&&(b=!!(a.ad&1));Ic=b?Jc:Kc;Pb(a.ua,b);Pb(a.Eb,b);Pb(a.wb,b);Pb(a.Za,b)}
k.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.Y,this.H,this.F,this.D]);a.set(1,[this.qa,this.ua.save(),this.Eb.save(),this.wb.save(),this.Za.save(),Bc(this),null!=this.Sc?[this.ad,this.Sc,this.Ye,this.dd,this.te,this.Ld.save(),this.Ag.save()]:null]);a.set(2,[this.C.xg,this.M.xg,this.$,this.wa,this.mb,this.ha,this.Ka]);a.set(3,[this.zh,this.Ke,this.Gd]);a.set(4,fb(this.na));return a.data()};
function Ob(a,b){void 0===b&&(b=!!(a.S.ad&1));b?(a.load=Rb,a.Wc=Sb,a.Yb=Tb):(a.load=Qb,a.Wc=Wb,a.Yb=Xb)}
function Zb(a){this.Fa=a.model||8088;var b=0;switch(this.Fa){default:case 8088:b=4772727;break;case 80286:b=6E6}yb.call(this,a,b);this.gk=61442;this.Kg=4;this.pf=255;this.Mj=4;this.aa=5;this.ta=6;this.fa=7;this.ga=8;this.P=9;this.V=11;this.W=12;this.Ie=4;this.Tk=60;this.Uk=83;this.Tb=3;this.sb=9;this.hc=16;this.Fh=1;this.Yk=19;this.$k=28;this.bl=16;this.al=21;this.Zk=37;this.Wk=2;this.ej=9;this.Xk=5;this.Vk=33;this.gj=10;this.fj=8;this.mg=3;this.lg=15;this.pl=51;this.ql=1;this.rl=2;this.sl=4;this.ol=
32;this.ul=this.hj=15;this.Ub=16;this.Vb=4;this.wl=11;this.vl=18;this.tl=24;this.Cb=4;this.xl=2;this.ij=16;this.yl=17;this.nj=18;this.zl=19;this.mj=5;this.oj=6;this.El=2;this.Dl=8;this.Bl=9;this.qj=this.pj=this.Al=this.Cl=10;this.dl=80;this.fl=144;this.cl=86;this.el=154;this.hl=101;this.jl=165;this.gl=107;this.il=171;this.Gl=70;this.Il=113;this.Fl=76;this.Hl=124;this.ll=80;this.nl=128;this.kl=86;this.ml=134;this.og=3;this.ng=16;this.vj=10;this.uj=8;this.Jl=51;this.ic=8;this.Kl=17;this.Ll=36;this.qc=
11;this.Ml=16;this.pg=10;this.Pb=2;this.bj=18;this.cj=9-this.Pb;this.dj=17-this.Pb;this.jj=12;this.kj=9-this.Pb;this.lj=13-this.Pb;this.rj=18;this.sj=9-this.Pb;this.tj=17-this.Pb;this.wj=15;this.xj=9-this.Pb;this.yj=15-this.Pb;this.Cj=11;this.Dj=9-this.Pb;this.Ej=10-this.Pb;this.Nl=8;this.Ql=12;this.Ol=18;this.Pl=17;this.Rl=15;this.Aj=8;this.zj=20;this.Bj=2;this.Hj=3;this.qg=9;this.Gj=5;this.Fj=11;this.Jj=4;this.Ij=17;this.Sl=11;this.Sa=$b.slice();80186<=this.Fa&&(this.pf=31,this.Sa[15]=ac,this.Sa[96]=
bc,this.Sa[97]=cc,this.Sa[98]=dc,this.Sa[99]=ac,this.Sa[100]=ac,this.Sa[101]=ac,this.Sa[102]=ac,this.Sa[103]=ac,this.Sa[104]=ec,this.Sa[105]=fc,this.Sa[106]=gc,this.Sa[107]=hc,this.Sa[108]=ic,this.Sa[109]=jc,this.Sa[110]=kc,this.Sa[111]=lc,this.Sa[192]=mc,this.Sa[193]=nc,this.Sa[200]=oc,this.Sa[201]=pc,this.Sa[241]=qc,rc[7]=sc,tc[7]=sc,80286<=this.Fa&&(this.gk=2,this.Kg=0,this.Sa[15]=uc,this.Sa[99]=vc,this.Sa[84]=wc,this.P=this.ga=this.fa=this.ta=this.aa=this.Mj=0,this.W=this.V=1,this.Ie=3,this.Tk=
14,this.Uk=16,this.Tb=2,this.hc=this.sb=7,this.Fh=0,this.Yk=7,this.$k=13,this.bl=7,this.al=11,this.Zk=16,this.Wk=3,this.ej=6,this.Xk=2,this.Vk=13,this.fj=this.gj=5,this.mg=2,this.lg=7,this.pl=23,this.ql=0,this.rl=1,this.sl=3,this.ol=17,this.hj=7,this.ul=11,this.Ub=7,this.Vb=3,this.wl=7,this.vl=11,this.tl=15,this.Cb=2,this.xl=3,this.ij=7,this.zl=this.nj=this.yl=8,this.oj=this.mj=4,this.El=2,this.Dl=3,this.Bl=5,this.Cl=2,this.Al=3,this.pj=5,this.qj=3,this.dl=14,this.fl=22,this.cl=17,this.el=25,this.hl=
17,this.jl=25,this.gl=20,this.il=28,this.Gl=13,this.Il=21,this.Fl=16,this.Hl=24,this.ll=13,this.nl=21,this.kl=16,this.ml=24,this.og=2,this.ng=7,this.uj=this.vj=5,this.Jl=19,this.Kl=this.ic=5,this.Ll=17,this.qc=3,this.Ml=5,this.pg=3,this.Pb=0,this.bj=8,this.cj=5,this.dj=9,this.kj=this.jj=5,this.lj=4,this.sj=this.rj=5,this.tj=4,this.wj=7,this.xj=5,this.yj=8,this.Cj=3,this.Dj=4,this.Ej=3,this.Ql=this.Nl=11,this.Pl=this.Ol=15,this.Rl=7,this.Aj=5,this.zj=8,this.Bj=0,this.Hj=2,this.qg=6,this.Gj=3,this.Fj=
6,this.Jj=3,this.Sl=this.Ij=5));this.Mg=[];this.Ng=[];this.Oc=this.bh=0;this.lh=this.Bi=!1;this.Aa=[];this.ue=this.Ib=this.rb=this.eb=this.ye=0;this.T=this.Mm;this.U=this.Nm;this.N=this.Un;this.O=this.Vn;this.Q=this.qp;this.R=this.rp;xc(this)}y(yb,Zb);k=Zb.prototype;k.Oi=function(a,b,c,d,e){this.Aa=a;this.ue=this.Ib=b;this.rb=c;this.eb=d;this.ye=e};k.reset=function(){this.Ob&&this.Ab();xc(this);Ab(this);this.jd=!1};
function xc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.Y=0;a.H=0;a.F=0;a.D=0;a.ad=65520;a.dd=0;a.te=1023;a.Jc={Nj:0,oa:0,ab:0,wh:-1};a.ua=new Nb(a,"CS");a.Eb=new Nb(a,"DS");a.wb=new Nb(a,"SS");a.Za=new Nb(a,"ES");a.im=new Nb(a,"ZERO");yc(a,0,65535);80286<=a.Fa&&(a.Sc=a.Ye=0,a.Ld=new Nb(a,"LDT",!0),a.Ag=new Nb(a,"TSS",!0),a.Qb=new Nb(a,"VER",!0),yc(a,65520,61440),a.ua.Ua=16711680);zc(a,0);Ac(a);a.mb=0;a.Db=a.ug=-1;a.Vg=0;a.ha=a.Ka=-1;a.C=a.Eb;a.M=a.wb;a.$=a.wa=0}
k.Gk=function(){var a=this.G+this.B+this.I+this.J+this.Y+this.H+this.F+this.D|0;return a=a+this.qa+this.ua.oa+this.Eb.oa+this.wb.oa+this.Za.oa+Bc(this)|0};function Cc(a,b,c,d){void 0!==d&&(void 0===a.Mg[b]&&(a.Mg[b]=[]),a.Mg[b].push([c,d]))}function Dc(a,b){var c=a.Mg[b];if(void 0!==c)for(var d=0;d<c.length;d++){if(!c[d][1].call(c[d][0],a.Ba))return!1}else a.Bi&&D(a.X,a.X.Fg)&&(Ec(a.X,b,a.Ba),Fc(a,a.Ba,function(a,c){return function(d){Gc(a.X,b,d,F(a)-c)}}(a,F(a))));return!0}
function Fc(a,b,c){void 0!==c&&(null==a.Ng[b]&&a.bh++,a.Ng[b]=c)}function Hc(a,b){var c=a.Ng[b];null!=c&&(c(--a.bh),delete a.Ng[b])}function Ac(a,b){void 0===b&&(b=!!(a.ad&1));Ic=b?Jc:Kc;Ob(a.ua,b);Ob(a.Eb,b);Ob(a.wb,b);Ob(a.Za,b)}
k.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.Y,this.H,this.F,this.D]);a.set(1,[this.qa,this.ua.save(),this.Eb.save(),this.wb.save(),this.Za.save(),Bc(this),null!=this.Sc?[this.ad,this.Sc,this.Ye,this.dd,this.te,this.Ld.save(),this.Ag.save()]:null]);a.set(2,[this.C.xg,this.M.xg,this.$,this.wa,this.mb,this.ha,this.Ka]);a.set(3,[this.Ah,this.Ke,this.Gd]);a.set(4,fb(this.na));return a.data()};
k.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.Y=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.ua.restore(b[1]);this.Eb.restore(b[2]);this.wb.restore(b[3]);this.Za.restore(b[4]);zc(this,b[5]);var c=b[6];c&&c.length&&(this.ad=c[0],this.Sc=c[1],this.Ye=c[2],this.dd=c[3],this.te=c[4],this.Ld.restore(c[5]),this.Ag.restore(c[6]),Ac(this));I(this,b[0]);b=a[2];this.C=Lc(this,b[0]);this.M=Lc(this,b[1]);this.$=b[2];this.wa=b[3];this.mb=b[4];this.ha=b[5];this.Ka=
b[6];b=a[3];this.zh=b[0];this.Ke=b[1];Hb(this,b[2]);a:{b=this.na;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.rk){for(var f=0,g=Array(b.rk),h=0;h<e.length-1;)for(var m=e[h++],n=e[h++];m--;)g[f++]=n;e=g}f=b.Aa[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ya(b,a[c]);b=!0}return b};
function Lc(a,b){switch(b){case "CS":return a.ua;case "DS":return a.Eb;case "SS":return a.wb;case "ES":return a.Za;case "ZERO":return a.im;default:return[0,b,0,0,""]}}function Mc(a,b){var c;if(a.ad&1){if(c=a.dd+(b<<3),c+7<=a.te){a.Jc.Mj=a.Ia(c);a.Jc.oa=a.Ia(c+2);a.Jc.ab=a.Ia(c+4);switch(a.Jc.ab&7936){case 1536:a.Jc.vh=-17153;break;case 1792:a.Jc.vh=-16641;break;default:return!1}return!0}}else if(c=a.dd+(b<<2),c+7<=a.te)return a.Jc.Mj=a.Ia(c),a.Jc.oa=a.Ia(c+2),a.Jc.vh=-769,!0;return!1}
function Nc(a,b){a.Ba=a.ua.load(b)+a.qa;a.$|=a.Jg}function Oc(a,b){a.Eb.load(b);a.$|=a.Jg}function Pc(a,b){a.wb.load(b);a.$|=4}function Tc(a,b){a.Za.load(b);a.$|=a.Jg}function I(a,b){a.Ba=a.ua.Ua+(a.qa=b&65535)}function yc(a,b,c){a.Ba=a.ua.load(c)+(a.qa=b)}function J(a,b){a.Ba=a.ua.Ua+(a.qa=a.qa+b&65535)}function Uc(a){return a.Z&a.da?1:0}function Vc(a){return Mb[a.ja&255]?4:0}function Wc(a){return(a.ja^a.ma)&16?16:0}function Xc(a){return a.Z&a.da-1?0:64}function Yc(a){return a.ja&a.da>>1?128:0}
b[6];b=a[3];this.Ah=b[0];this.Ke=b[1];Hb(this,b[2]);a:{b=this.na;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.rk){for(var f=0,g=Array(b.rk),h=0;h<e.length-1;)for(var m=e[h++],n=e[h++];m--;)g[f++]=n;e=g}f=b.Aa[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ya(b,a[c]);b=!0}return b};
function Lc(a,b){switch(b){case "CS":return a.ua;case "DS":return a.Eb;case "SS":return a.wb;case "ES":return a.Za;case "ZERO":return a.im;default:return[0,b,0,0,""]}}function Mc(a,b){var c;if(a.ad&1){if(c=a.dd+(b<<3),c+7<=a.te){a.Jc.Nj=a.Ia(c);a.Jc.oa=a.Ia(c+2);a.Jc.ab=a.Ia(c+4);switch(a.Jc.ab&7936){case 1536:a.Jc.wh=-17153;break;case 1792:a.Jc.wh=-16641;break;default:return!1}return!0}}else if(c=a.dd+(b<<2),c+7<=a.te)return a.Jc.Nj=a.Ia(c),a.Jc.oa=a.Ia(c+2),a.Jc.wh=-769,!0;return!1}
function Nc(a,b){a.Ba=a.ua.load(b)+a.qa;a.$|=a.Kg}function Oc(a,b){a.Eb.load(b);a.$|=a.Kg}function Pc(a,b){a.wb.load(b);a.$|=4}function Tc(a,b){a.Za.load(b);a.$|=a.Kg}function I(a,b){a.Ba=a.ua.Ua+(a.qa=b&65535)}function yc(a,b,c){a.Ba=a.ua.load(c)+(a.qa=b)}function J(a,b){a.Ba=a.ua.Ua+(a.qa=a.qa+b&65535)}function Uc(a){return a.Z&a.da?1:0}function Vc(a){return Mb[a.ja&255]?4:0}function Wc(a){return(a.ja^a.ma)&16?16:0}function Xc(a){return a.Z&a.da-1?0:64}function Yc(a){return a.ja&a.da>>1?128:0}
function Zc(a){return(a.ja^a.ma^a.ja>>1)&a.da>>1?2048:0}function $c(a){a.Z&=~a.da}function ad(a){a.ma=a.ja&16|a.ma&-17}function bd(a){a.Z|=a.da-1}function cd(a){Yc(a)&&(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function dd(a){a.ja&=~a.da;a.ma=a.ja&32896|a.ma&-32897}function ed(a){a.Z|=a.da}function fd(a){a.ma=~(a.ja&16)&16|a.ma&-17}function gd(a){a.Z&=~(a.da-1)}function hd(a){Yc(a)||(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function id(a){a.ja|=a.da;a.ma=a.ja&32896|a.ma&-32897}
function Bc(a){return a.xa&-2262|Uc(a)|Vc(a)|Wc(a)|Xc(a)|Yc(a)|Zc(a)}function zc(a,b){a.da=256;a.Z=a.ja=a.ma=0;b&1&&ed(a);b&4||(a.ja|=1);b&16&&(a.ma|=16);b&64||bd(a);b&128&&hd(a);b&2048&&id(a);a.xa=a.xa&-1793|b&1792|a.gk;a.xa&256&&(a.mb|=2,a.$|=4)}
k.xb=function(a,b,c,d){var e=!1;switch(c){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 "O":this.sa[c]=d;e=!0;break;default:e=yb.prototype.xb.call(this,a,b,c,d)}return e};k.ub=function(a){return this.Aa[(a&this.Ib)>>this.rb].sc(a&this.eb)};
k.Ia=function(a){var b=a&this.eb;a=(a&this.Ib)>>this.rb;this.A-=this.Lj;return b!=this.eb?this.Aa[a].Zl(b):this.Aa[a++].sc(b)|this.Aa[a&this.ye].sc(0)<<8};k.bd=function(a,b){this.Aa[(a&this.Ib)>>this.rb].Dc(a&this.eb,b&255)};k.Nd=function(a,b){var c=a&this.eb,d=(a&this.Ib)>>this.rb;this.A-=this.Lj;c!=this.eb?this.Aa[d].lm(c,b&65535):(this.Aa[d++].Dc(c,b&255),this.Aa[d&this.ye].Dc(0,b>>8&255))};k.Mm=function(a,b){this.zg=a;this.ha=a.Wc(this.rg=b,0);return this.$&1?0:this.ub(this.ha)};
k.Ia=function(a){var b=a&this.eb;a=(a&this.Ib)>>this.rb;this.A-=this.Mj;return b!=this.eb?this.Aa[a].Zl(b):this.Aa[a++].sc(b)|this.Aa[a&this.ye].sc(0)<<8};k.bd=function(a,b){this.Aa[(a&this.Ib)>>this.rb].Dc(a&this.eb,b&255)};k.Nd=function(a,b){var c=a&this.eb,d=(a&this.Ib)>>this.rb;this.A-=this.Mj;c!=this.eb?this.Aa[d].lm(c,b&65535):(this.Aa[d++].Dc(c,b&255),this.Aa[d&this.ye].Dc(0,b>>8&255))};k.Mm=function(a,b){this.zg=a;this.ha=a.Wc(this.rg=b,0);return this.$&1?0:this.ub(this.ha)};
k.Nm=function(a,b){this.zg=a;this.ha=a.Wc(this.rg=b,1);return this.$&1?0:this.Ia(this.ha)};k.Un=function(a,b){this.zg=a;this.Ka=this.ha=a.Wc(this.rg=b,0);return this.$&1?0:this.ub(this.ha)};k.Vn=function(a,b){this.zg=a;this.Ka=this.ha=a.Wc(this.rg=b,1);return this.$&1?0:this.Ia(this.ha)};k.qp=function(a){this.$&2||this.bd(this.zg.Yb(this.rg,1),a)};k.rp=function(a){this.$&2||this.Nd(this.zg.Yb(this.rg,2),a)};k.ea=function(){var a=this.ub(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a};
k.L=function(){var a=this.ub(this.Ba)<<24>>24;this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a&65535};k.K=function(){var a=this.Ia(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+2&65535);return a};k.Ja=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.Ia(this.wb.Wc(a,1))};function K(a,b){var c=a.Y=a.Y-2&65535;a.Nd(a.wb.Yb(c,1),b)}
k.eh=function(){G(this,"AX",this.G);G(this,"BX",this.B);G(this,"CX",this.I);G(this,"DX",this.J);G(this,"SP",this.Y);G(this,"BP",this.H);G(this,"SI",this.F);G(this,"DI",this.D);G(this,"CS",this.ua.oa);G(this,"DS",this.Eb.oa);G(this,"SS",this.wb.oa);G(this,"ES",this.Za.oa);G(this,"IP",this.qa);var a=Bc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024?
k.fh=function(){G(this,"AX",this.G);G(this,"BX",this.B);G(this,"CX",this.I);G(this,"DX",this.J);G(this,"SP",this.Y);G(this,"BP",this.H);G(this,"SI",this.F);G(this,"DI",this.D);G(this,"CS",this.ua.oa);G(this,"DS",this.Eb.oa);G(this,"SS",this.wb.oa);G(this,"ES",this.Za.oa);G(this,"IP",this.qa);var a=Bc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024?
1:0,1);G(this,"O",a&2048?1:0,1);this.sa.speed&&(this.sa.speed.innerHTML=this.Ob&&this.ld?this.ld.toFixed(2)+"Mhz":"Stopped")};
k.wf=function(a){this.kh=!0;this.Ai=a&&this.X&&jd(this.X);this.Oc=this.A=a;this.ka&&Lb(this.ka);a||!this.X||E(this.X,this.X.Te)||(this.$|=4);do{var b=this.$&240;if(b)this.wa|=b;else if(this.Hh=this.Ba,this.ha=this.Ka=-1,this.C=this.Eb,this.M=this.wb,this.wa=this.$&256,this.mb){a:{if(!(this.$&4))if(this.mb&1&&this.xa&512){if(b=kd(this.ka),-1<=b&&(this.mb&=-2,0<=b)){this.mb&=-5;ld.call(this,b,null,11);b=!0;break a}}else if(this.mb&2){this.mb&=-3;ld.call(this,1,null,11);b=!0;break a}if(b=this.mb&8){for(var b=
this.ka,c=!1,d=0;d<b.$a;d++)for(var e=b.$a[d],f=0;f<e.Gb.length;f++){var g=e.Gb[f];g.Fd||(md(b,g),g.Fd||(c=!0))}b=!c}b&&(this.mb&=-9);b=!1}if(b&&!a){this.$=0;break}if(this.mb&4){this.$=this.A=0;break}}if(this.Ai&&nd(this.X,this.Ba)){this.Ab();break}this.$=0;this.Sa[this.ea()].call(this)}while(0<this.A);return this.kh?this.Oc-this.A:void 0===this.kh?0:-1};k.Qa=function(a){this.X&&E(this.X,this.X.Fg)&&this.X.message(a)};
k.wf=function(a){this.lh=!0;this.Bi=a&&this.X&&jd(this.X);this.Oc=this.A=a;this.ka&&Lb(this.ka);a||!this.X||D(this.X,this.X.Te)||(this.$|=4);do{var b=this.$&240;if(b)this.wa|=b;else if(this.Ih=this.Ba,this.ha=this.Ka=-1,this.C=this.Eb,this.M=this.wb,this.wa=this.$&256,this.mb){a:{if(!(this.$&4))if(this.mb&1&&this.xa&512){if(b=kd(this.ka),-1<=b&&(this.mb&=-2,0<=b)){this.mb&=-5;ld.call(this,b,null,11);b=!0;break a}}else if(this.mb&2){this.mb&=-3;ld.call(this,1,null,11);b=!0;break a}if(b=this.mb&8){for(var b=
this.ka,c=!1,d=0;d<b.$a;d++)for(var e=b.$a[d],f=0;f<e.Gb.length;f++){var g=e.Gb[f];g.Fd||(md(b,g),g.Fd||(c=!0))}b=!c}b&&(this.mb&=-9);b=!1}if(b&&!a){this.$=0;break}if(this.mb&4){this.$=this.A=0;break}}if(this.Bi&&nd(this.X,this.Ba)){this.Ab();break}this.$=0;this.Sa[this.ea()].call(this)}while(0<this.A);return this.lh?this.Oc-this.A:void 0===this.lh?0:-1};k.Qa=function(a){this.X&&D(this.X,this.X.Gg)&&this.X.message(a)};
Ba(function(){for(var a=B(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Zb(d);Oa(d,c)}});function od(a,b){this.ma=a^b;this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=a+b)&255}function pd(a,b){this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a|b)&255}
function qd(a,b){this.ma=a^b;this.Z=this.ja=a+b+(this.Z&this.da?1:0);this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return this.Z&255}function rd(a,b){this.ma=a^b;this.Z=this.ja=a-b-(this.Z&this.da?1:0);this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return this.Z&255}function sd(a,b){this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a&b)&255}
function td(a,b){this.ma=a^b;this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=a-b)&255}function ud(a,b){this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a^b)&255}function vd(a,b){this.ma=a^b;this.da=256;this.Z=this.ja=a-b;this.A-=0>this.Ka?0>this.ha?this.Tb:this.dj:this.sb;this.$|=2;return a}
function td(a,b){this.ma=a^b;this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=a-b)&255}function ud(a,b){this.da=256;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a^b)&255}function vd(a,b){this.ma=a^b;this.da=256;this.Z=this.ja=a-b;this.A-=0>this.Ka?0>this.ha?this.Tb:this.ej:this.sb;this.$|=2;return a}
function wd(a,b){this.ma=a^b;this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=a+b)&65535}function xd(a,b){this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a|b)&65535}function yd(a,b){this.ma=a^b;this.Z=this.ja=a+b+(this.Z&this.da?1:0);this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return this.Z&65535}
function zd(a,b){this.ma=a^b;this.Z=this.ja=a-b-(this.Z&this.da?1:0);this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return this.Z&65535}function Ad(a,b){this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a&b)&65535}function Bd(a,b){this.ma=a^b;this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=a-b)&65535}
function Cd(a,b){this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a^b)&65535}function Dd(a,b){this.ma=a^b;this.da=65536;this.Z=this.ja=a-b;this.A-=0>this.Ka?0>this.ha?this.Tb:this.dj:this.sb;this.$|=2;return a}function Ed(a,b){this.Z=this.Z&this.da-1|(a&b?this.da:0);(a^a>>1)&b>>1?id(this):dd(this)}function Fd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;Ed.call(this,d,256)}return c}
function Cd(a,b){this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Tb:this.sb:this.hc;return(this.Z=this.ja=this.ma=a^b)&65535}function Dd(a,b){this.ma=a^b;this.da=65536;this.Z=this.ja=a-b;this.A-=0>this.Ka?0>this.ha?this.Tb:this.ej:this.sb;this.$|=2;return a}function Ed(a,b){this.Z=this.Z&this.da-1|(a&b?this.da:0);(a^a>>1)&b>>1?id(this):dd(this)}function Fd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;Ed.call(this,d,256)}return c}
function Gd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;Ed.call(this,d,65536)}return c}function Hd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);Ed.call(this,d,256)}return c}function Id(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);Ed.call(this,d,65536)}return c}
function Jd(a,b){var c=a;if(b){var d;(d=(b&this.pf)%9)?(d=a<<d|(this.Z&this.da?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.Z&this.da?1:0)<<8;Ed.call(this,d,256)}return c}function Kd(a,b){var c=a;if(b){var d;(d=(b&this.pf)%17)?(d=a<<d|(this.Z&this.da?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.Z&this.da?1:0)<<16;Ed.call(this,d,65536)}return c}function Ld(a,b){var c=a;b&&(c=(b&this.pf)%9,c=a>>c|(this.Z&this.da?1:0)<<8-c|a<<9-c,Ed.call(this,c,256),c&=255);return c}
function Md(a,b){var c=a;b&&(c=(b&this.pf)%17,c=a>>c|(this.Z&this.da?1:0)<<16-c|a<<17-c,Ed.call(this,c,65536),c&=65535);return c}function Nd(a,b){var c=a;b&&(c=8<b?this.Z=this.ja=0:(this.Z=this.ja=a<<b)&255,this.ma=0,this.da=256);return c}function Od(a,b){var c=a;b&&(c=16<b?this.Z=this.ja=0:(this.Z=this.ja=a<<b)&65535,this.ma=0,this.da=65536);return c}
function Pd(a,b){if(b){var c=8<b?0:a>>b-1;this.Z=this.ja=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.ma=a^this.Z;this.da=256;a=this.Z}return a&255}function Qd(a,b){if(b){var c=16<b?0:a>>b-1;this.Z=this.ja=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.ma=a^this.Z;this.da=65536;a=this.Z}return a&65535}function Rd(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.Z=this.ja=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.ma=a^this.Z;this.da=256;a=this.Z}return a&255}
function Sd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Z=this.ja=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.ma=a^this.Z;this.da=65536;a=this.Z}return a&65535}function Td(){this.A-=0>this.ha?2:this.Rl;return 1}function Ud(){var a=this.I&this.pf;this.A-=(0>this.ha?this.zj:this.yj)+(a<<this.Aj);return a}function Vd(){var a=this.ea();this.A-=(0>this.ha?this.zj:this.yj)+(a<<this.Aj);return a}function Wd(){return null}function $d(a){Yb.call(this,13,0);return a}
function Sd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Z=this.ja=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.ma=a^this.Z;this.da=65536;a=this.Z}return a&65535}function Td(){this.A-=0>this.ha?2:this.Rl;return 1}function Ud(){var a=this.I&this.pf;this.A-=(0>this.ha?this.Aj:this.zj)+(a<<this.Bj);return a}function Vd(){var a=this.ea();this.A-=(0>this.ha?this.Aj:this.zj)+(a<<this.Bj);return a}function Wd(){return null}function $d(a){Yb.call(this,13,0);return a}
function sc(a){ac.call(this);return a}function L(a){M.call(this);return a}
var ae=[od,pd,qd,rd,sd,td,ud,vd],be=[wd,xd,yd,zd,Ad,Bd,Cd,Dd],ce=[function(a,b){this.A-=0>this.Ka?this.ic:this.Kl;return b},$d,$d,$d,$d,$d,$d,$d],de=[function(a,b){this.A-=0>this.Ka?this.Cl:this.Al;return b},L,L,L,L,L,L,L],ee=[Fd,Hd,Jd,Ld,Nd,Pd,L,Rd],fe=[Gd,Id,Kd,Md,Od,Qd,L,Sd],he=[function(a,b){b=this.ea();this.Z=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.ha?this.Fj:this.Ej;this.$|=2;return a},L,function(a){this.A-=0>this.ha?this.og:this.ng;return a^255},function(a,b){b=0;this.ma=a^b;this.da=
var ae=[od,pd,qd,rd,sd,td,ud,vd],be=[wd,xd,yd,zd,Ad,Bd,Cd,Dd],ce=[function(a,b){this.A-=0>this.Ka?this.ic:this.Kl;return b},$d,$d,$d,$d,$d,$d,$d],de=[function(a,b){this.A-=0>this.Ka?this.Cl:this.Al;return b},L,L,L,L,L,L,L],ee=[Fd,Hd,Jd,Ld,Nd,Pd,L,Rd],fe=[Gd,Id,Kd,Md,Od,Qd,L,Sd],he=[function(a,b){b=this.ea();this.Z=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.ha?this.Gj:this.Fj;this.$|=2;return a},L,function(a){this.A-=0>this.ha?this.og:this.ng;return a^255},function(a,b){b=0;this.ma=a^b;this.da=
256;this.A-=0>this.ha?this.og:this.ng;return(this.Z=this.ja=b-a)&255},function(a){this.G=this.Db=(this.Z=(this.G&255)*a)&65535;this.ma=this.ja=this.Z;this.da=256;this.G&65280?(ed(this),id(this)):($c(this),dd(this));this.A-=0>this.ha?this.Gl:this.Fl;this.$|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.Z=this.ma=this.ja=b;this.da=256;127<b||-128>b?(ed(this),id(this)):($c(this),dd(this));this.A-=0>this.ha?this.ll:this.kl;this.$|=2;return a},function(a){if(!a)return ge.call(this),
a;var b=this.G/a;if(255<b)return ge.call(this),a;this.Db=this.G=b&255|(this.G%a&255)<<8;this.ja=this.ma=this.Z=b|256;this.da=256;this.A-=0>this.ha?this.dl:this.cl;this.$|=2;return a},function(a){if(!a)return ge.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return ge.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.ja=this.ma=this.Z=b|256;this.da=256;this.A-=0>this.ha?this.hl:this.gl;this.$|=2;return a}],ie=[function(a,b){b=this.K();this.Z=this.ja=
this.ma=a&b;this.da=65536;this.A-=0>this.ha?this.Fj:this.Ej;this.$|=2;return a},L,function(a){this.A-=0>this.ha?this.og:this.ng;return a^65535},function(a,b){b=0;this.ma=a^b;this.da=65536;this.A-=0>this.ha?this.og:this.ng;return(this.Z=this.ja=b-a)&65535},function(a){this.Db=this.G=(this.Z=this.G*a)&65535;this.ug=this.J=this.Z>>16&65535;this.ma=this.ja=this.Z;this.da=65536;this.J?(ed(this),id(this)):($c(this),dd(this));this.A-=0>this.ha?this.Il:this.Hl;this.$|=2;return a},function(a){var b=(this.G<<
this.ma=a&b;this.da=65536;this.A-=0>this.ha?this.Gj:this.Fj;this.$|=2;return a},L,function(a){this.A-=0>this.ha?this.og:this.ng;return a^65535},function(a,b){b=0;this.ma=a^b;this.da=65536;this.A-=0>this.ha?this.og:this.ng;return(this.Z=this.ja=b-a)&65535},function(a){this.Db=this.G=(this.Z=this.G*a)&65535;this.ug=this.J=this.Z>>16&65535;this.ma=this.ja=this.Z;this.da=65536;this.J?(ed(this),id(this)):($c(this),dd(this));this.A-=0>this.ha?this.Il:this.Hl;this.$|=2;return a},function(a){var b=(this.G<<
16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.ug=b>>16&65535;this.Z=this.ma=this.ja=b;this.da=65536;32767<b||-32768>b?(ed(this),id(this)):($c(this),dd(this));this.A-=0>this.ha?this.nl:this.ml;this.$|=2;return a},function(a,b){if(!a)return ge.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return ge.call(this),a;this.Db=this.G=c&65535;this.ug=this.J=b%a&65535;this.ja=this.ma=this.Z=c|65536;this.da=65536;this.A-=0>this.ha?this.fl:this.el;this.$|=2;return a},function(a,
b){if(!a)return ge.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 ge.call(this),a;this.Db=this.G=d&65535;this.ug=this.J=b%c&65535;this.ja=this.ma=this.Z=d|65536;this.da=65536;this.A-=0>this.ha?this.jl:this.il;this.$|=2;return a}],rc=[function(a){this.ma=a;a=(this.ja=a+1)&255;this.Z=a|(this.Z&this.da?1:0)<<8;this.da=256;this.A-=0>this.ha?this.mg:this.lg;return a},function(a){this.ma=a;a=(this.ja=a-1)&255;this.Z=a|(this.Z&this.da?1:0)<<8;this.da=
256;this.A-=0>this.ha?this.mg:this.lg;return a},L,L,L,L,L,L],tc=[function(a){this.ma=a;a=(this.ja=a+1)&65535;this.Z=a|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=0>this.ha?this.mg:this.lg;return a},function(a){this.ma=a;a=(this.ja=a-1)&65535;this.Z=a|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=0>this.ha?this.mg:this.lg;return a},function(a){K(this,this.qa);I(this,a);this.A-=0>this.ha?this.bl:this.al;this.$|=2;return a},function(a){if(0>this.ha)return L.call(this,a);K(this,this.ua.oa);K(this,
this.qa);yc(this,a,this.Ia(this.ha+2));this.A-=this.Zk;this.$|=2;return a},function(a){I(this,a);this.A-=0>this.ha?this.wl:this.vl;this.$|=2;return a},function(a){if(0>this.ha)return L.call(this,a);yc(this,a,this.Ia(this.ha+2));this.A-=this.tl;this.$|=2;return a},function(a){var b=a;this.$&512&&(a=a-2&65535,80286>this.Fa&&(b=a));K(this,b);this.A-=0>this.ha?this.qc:this.Ml;this.$|=2;return a},$d],je=[Fd,Hd,Jd,Ld,Nd,Pd,L,Rd],ke=[Gd,Id,Kd,Md,Od,Qd,L,Sd];
function le(a,b){this.A-=0>this.Ka?0>this.ha?this.El:this.Dl:this.Bl;return b}function me(){return le.call(this,0,this.Db)}function ne(a,b){this.Z=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.Ka?0>this.ha?this.Gj:this.qg:this.qg;this.$|=2;return a}function oe(a,b){this.Z=this.ja=this.ma=a&b;this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Gj:this.qg:this.qg;this.$|=2;return a}
function le(a,b){this.A-=0>this.Ka?0>this.ha?this.El:this.Dl:this.Bl;return b}function me(){return le.call(this,0,this.Db)}function ne(a,b){this.Z=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.Ka?0>this.ha?this.Hj:this.qg:this.qg;this.$|=2;return a}function oe(a,b){this.Z=this.ja=this.ma=a&b;this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Hj:this.qg:this.qg;this.$|=2;return a}
function pe(a,b){var c=(b<<16>>16)*(this.ea()<<24>>24);this.Z=this.ma=this.ja=c;this.da=256;32767<c||-32768>c?(ed(this),id(this)):($c(this),dd(this));this.A-=0>this.ha?21:24;return c&65535}function qe(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.Z=this.ma=this.ja=c;this.da=65536;32767<c||-32768>c?(ed(this),id(this)):($c(this),dd(this));this.A-=0>this.ha?21:24;return c&65535}function re(a){return a}function se(a){if(0>this.ha)return M.call(this),a;this.A-=this.xl;return this.ha}
function te(a,b){if(0>this.ha)return M.call(this),a;Oc(this,this.Ia(this.ha+2));this.A-=this.hj;return b}function ue(a,b){if(0>this.ha)return M.call(this),a;Tc(this,this.Ia(this.ha+2));this.A-=this.hj;return b}function ve(a){if(0>this.ha)return ac.call(this),a;var b=a<<16>>16,c=this.Ia(this.ha)<<16>>16,d=this.Ia(this.ha+2)<<16>>16;this.A-=this.Vk;if(b<c||b>d)I(this,this.Hh-this.ua.Ua),ld.call(this,5,null,0);this.$|=2;return a}
function te(a,b){if(0>this.ha)return M.call(this),a;Oc(this,this.Ia(this.ha+2));this.A-=this.ij;return b}function ue(a,b){if(0>this.ha)return M.call(this),a;Tc(this,this.Ia(this.ha+2));this.A-=this.ij;return b}function ve(a){if(0>this.ha)return ac.call(this),a;var b=a<<16>>16,c=this.Ia(this.ha)<<16>>16,d=this.Ia(this.ha+2)<<16>>16;this.A-=this.Vk;if(b<c||b>d)I(this,this.Ih-this.ua.Ua),ld.call(this,5,null,0);this.$|=2;return a}
function we(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,gd(this),a;bd(this);return a}function xe(a,b){this.A-=14+(0>this.ha?0:2);if(0<=this.Qb.load(b,!0)&&this.Qb.Mc>=(this.ua.oa&3)&&this.Qb.Mc>=(b&3))return gd(this),this.Qb.ab&65280;bd(this);return a}function ye(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&0<=this.Qb.load(b,!0)&&(3072==(this.Qb.ab&3072)||this.Qb.Mc>=(this.ua.oa&3))&&this.Qb.Mc>=(b&3))return gd(this),this.Qb.Nc;bd(this);return a}
function ze(a,b){if(0>this.ha){switch(this.Ug&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.B=this.B&-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.B=this.B&255|a<<8}this.A-=this.Ij}else this.Ka=this.ha,this.Q(a),this.A-=this.Hj;return b}
function Ae(a,b){if(0>this.ha){switch(this.Ug&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.Y=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.Ij}else this.Ka=this.ha,this.R(a),this.A-=this.Hj;return b}function ld(a,b,c){Mc(this,a)&&(K(this,Bc(this)),this.xa&=this.Jc.vh,K(this,this.ua.oa),K(this,this.qa),null!=b&&K(this,b),yc(this,this.Jc.Mj,this.Jc.oa),this.A-=this.pl+c)}
function ge(){I(this,this.Hh-this.ua.Ua);ld.call(this,0,null,2)}function Yb(a,b){this.X&&E(this.X,this.X.qm)&&this.X.message("Fault 0x"+r(a)+(null!=b?" (0x"+u(b)+")":"")+" on opcode 0x"+r(bb(this.na,this.Ba))+" at "+da(this.qa,this.ua.oa));80186<=this.Fa&&(I(this,this.Hh-this.ua.Ua),ld.call(this,a,b,0))}function ac(){Yb.call(this,6);this.Ab()}function M(){I(this,this.Hh-this.ua.Ua);Sa(this,"Undefined opcode 0x"+r(bb(this.na,this.Ba))+" at "+da(this.qa,this.ua.oa));this.Ab()}
function ze(a,b){if(0>this.ha){switch(this.Vg&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.B=this.B&-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.B=this.B&255|a<<8}this.A-=this.Jj}else this.Ka=this.ha,this.Q(a),this.A-=this.Ij;return b}
function Ae(a,b){if(0>this.ha){switch(this.Vg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.Y=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.Jj}else this.Ka=this.ha,this.R(a),this.A-=this.Ij;return b}function ld(a,b,c){Mc(this,a)&&(K(this,Bc(this)),this.xa&=this.Jc.wh,K(this,this.ua.oa),K(this,this.qa),null!=b&&K(this,b),yc(this,this.Jc.Nj,this.Jc.oa),this.A-=this.pl+c)}
function ge(){I(this,this.Ih-this.ua.Ua);ld.call(this,0,null,2)}function Yb(a,b){this.X&&D(this.X,this.X.qm)&&this.X.message("Fault 0x"+r(a)+(null!=b?" (0x"+u(b)+")":"")+" on opcode 0x"+r(bb(this.na,this.Ba))+" at "+da(this.qa,this.ua.oa));80186<=this.Fa&&(I(this,this.Ih-this.ua.Ua),ld.call(this,a,b,0))}function ac(){Yb.call(this,6);this.Ab()}function M(){I(this,this.Ih-this.ua.Ua);Sa(this,"Undefined opcode 0x"+r(bb(this.na,this.Ba))+" at "+da(this.qa,this.ua.oa));this.Ab()}
function Be(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function Ce(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a}function De(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a}function Ee(a){a=a.call(this,this.G&255,this.B&255);this.G=this.G&-256|a}function Fe(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a}function Ge(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a}
function He(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a}function Ie(a){a=a.call(this,this.G&255,this.B>>8);this.G=this.G&-256|a}function Je(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a}function Ke(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a}function Le(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a}function Me(a){a=a.call(this,this.I&255,this.B&255);this.I=this.I&-256|a}
function Ne(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a}function Oe(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a}function Pe(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a}function Qe(a){a=a.call(this,this.I&255,this.B>>8);this.I=this.I&-256|a}function Re(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a}function Se(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a}
@ -383,8 +383,8 @@ function lc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(
function gh(){var a=this.L();Uc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function hh(){var a=this.L();Uc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function ih(){var a=this.L();Xc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function jh(){var a=this.L();Xc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function kh(){var a=this.L();Uc(this)||Xc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}
function lh(){var a=this.L();Uc(this)||Xc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function mh(){var a=this.L();Yc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function nh(){var a=this.L();Yc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function oh(){var a=this.L();Vc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function ph(){var a=this.L();Vc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}
function qh(){var a=this.L();!Yc(this)!=!Zc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function rh(){var a=this.L();!Yc(this)==!Zc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function sh(){var a=this.L();Xc(this)||!Yc(this)!=!Zc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function th(){var a=this.L();Xc(this)||!Yc(this)!=!Zc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}
function uh(){ah[this.ea()].call(this,ae,this.ea);this.A-=0>this.Ka?1:this.Eh}function mc(){ah[this.ea()].call(this,je,Vd)}function nc(){bh[this.ea()].call(this,ke,Vd)}function vh(){var a=this.K();I(this,this.Ja());this.Y=this.Y+a&65535;this.A-=this.Ql}function wh(){I(this,this.Ja());this.A-=this.Nl}
function oc(){var a=this.K(),b=this.ea()&31;this.A-=11;K(this,this.H);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H-2&65535,K(this,this.Ia(this.wb.Wc(this.H,1)));K(this,c)}this.H=c;this.Y=this.Y-a&65535}function pc(){this.Y=this.H;this.H=this.Ja();this.A-=5}function xh(){var a=this.K();yc(this,this.Ja(),this.Ja());this.Y=this.Y+a&65535;this.ah&&Hc(this,this.Ba);this.A-=this.Pl}function yh(){yc(this,this.Ja(),this.Ja());this.A-=this.Ol}
function uh(){ah[this.ea()].call(this,ae,this.ea);this.A-=0>this.Ka?1:this.Fh}function mc(){ah[this.ea()].call(this,je,Vd)}function nc(){bh[this.ea()].call(this,ke,Vd)}function vh(){var a=this.K();I(this,this.Ja());this.Y=this.Y+a&65535;this.A-=this.Ql}function wh(){I(this,this.Ja());this.A-=this.Nl}
function oc(){var a=this.K(),b=this.ea()&31;this.A-=11;K(this,this.H);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H-2&65535,K(this,this.Ia(this.wb.Wc(this.H,1)));K(this,c)}this.H=c;this.Y=this.Y-a&65535}function pc(){this.Y=this.H;this.H=this.Ja();this.A-=5}function xh(){var a=this.K();yc(this,this.Ja(),this.Ja());this.Y=this.Y+a&65535;this.bh&&Hc(this,this.Ba);this.A-=this.Pl}function yh(){yc(this,this.Ja(),this.Ja());this.A-=this.Ol}
function zh(){N[this.ea()].call(this,re);this.A-=8}function Ah(){this.$|=36;this.A-=this.Pb}function qc(){M.call(this)}
var $b=[function(){var a=this.ea();Yg[a].call(this,od)},function(){Zg[this.ea()].call(this,wd)},function(){$g[this.ea()].call(this,od)},function(){N[this.ea()].call(this,wd)},function(){this.G=this.G&-256|od.call(this,this.G&255,this.ea());this.A--},function(){this.G=wd.call(this,this.G,this.K());this.A--},function(){K(this,this.Za.oa);this.A-=this.pg},function(){Tc(this,this.Ja());this.A-=this.ic},function(){Yg[this.ea()].call(this,pd)},function(){Zg[this.ea()].call(this,xd)},function(){$g[this.ea()].call(this,
pd)},function(){N[this.ea()].call(this,xd)},function(){this.G=this.G&-256|pd.call(this,this.G&255,this.ea());this.A--},function(){this.G=xd.call(this,this.G,this.K());this.A--},function(){K(this,this.ua.oa);this.A-=this.pg},function(){Nc(this,this.Ja());this.A-=this.ic},function(){Yg[this.ea()].call(this,qd)},function(){Zg[this.ea()].call(this,yd)},function(){$g[this.ea()].call(this,qd)},function(){N[this.ea()].call(this,yd)},function(){this.G=this.G&-256|qd.call(this,this.G&255,this.ea());this.A--},
@ -399,83 +399,83 @@ this.F+1)&65535;this.Z=this.F|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=2},
this.Z=this.J|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.B;this.B=(this.ja=this.B-1)&65535;this.Z=this.B|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.Y;this.Y=(this.ja=this.Y-1)&65535;this.Z=this.Y|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.H;this.H=(this.ja=this.H-1)&65535;this.Z=this.H|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.F;this.F=(this.ja=this.F-1)&65535;this.Z=this.F|
(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.D;this.D=(this.ja=this.D-1)&65535;this.Z=this.D|(this.Z&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){K(this,this.G);this.A-=this.qc},function(){K(this,this.I);this.A-=this.qc},function(){K(this,this.J);this.A-=this.qc},function(){K(this,this.B);this.A-=this.qc},function(){K(this,this.Y-2&65535);this.A-=this.qc},function(){K(this,this.H);this.A-=this.qc},function(){K(this,this.F);this.A-=this.qc},function(){K(this,this.D);
this.A-=this.qc},function(){this.G=this.Ja();this.A-=this.ic},function(){this.I=this.Ja();this.A-=this.ic},function(){this.J=this.Ja();this.A-=this.ic},function(){this.B=this.Ja();this.A-=this.ic},function(){this.Y=this.Ja();this.A-=this.ic},function(){this.H=this.Ja();this.A-=this.ic},function(){this.F=this.Ja();this.A-=this.ic},function(){this.D=this.Ja();this.A-=this.ic},eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,function(){bh[this.ea()].call(this,
be,this.K);this.A-=0>this.Ka?1:this.Eh},uh,function(){bh[this.ea()].call(this,be,this.L);this.A-=0>this.Ka?1:this.Eh},function(){Yg[this.ea()].call(this,ne)},function(){Zg[this.ea()].call(this,oe)},function(){$g[this.Ug=this.ea()].call(this,ze)},function(){N[this.Ug=this.ea()].call(this,Ae)},function(){this.$|=1;Yg[this.ea()].call(this,le)},function(){this.$|=1;Zg[this.ea()].call(this,le)},function(){$g[this.ea()].call(this,le)},function(){N[this.ea()].call(this,le)},function(){var a=this.ea();switch((a&
be,this.K);this.A-=0>this.Ka?1:this.Fh},uh,function(){bh[this.ea()].call(this,be,this.L);this.A-=0>this.Ka?1:this.Fh},function(){Yg[this.ea()].call(this,ne)},function(){Zg[this.ea()].call(this,oe)},function(){$g[this.Vg=this.ea()].call(this,ze)},function(){N[this.Vg=this.ea()].call(this,Ae)},function(){this.$|=1;Yg[this.ea()].call(this,le)},function(){this.$|=1;Zg[this.ea()].call(this,le)},function(){$g[this.ea()].call(this,le)},function(){N[this.ea()].call(this,le)},function(){var a=this.ea();switch((a&
56)>>3){case 0:this.Db=this.Za.oa;break;case 1:this.Db=this.ua.oa;break;case 2:this.Db=this.wb.oa;break;case 3:this.Db=this.Eb.oa;break;default:M.call(this);return}this.$|=1;Zg[a].call(this,me)},function(){this.$|=1;this.C=this.M=this.im;N[this.ea()].call(this,se)},function(){var a,b=this.ea(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.B;break;default:if(80286<=this.Fa){ac.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=this.Y;break;case 5:a=this.H;
break;case 6:a=this.F;break;case 7:a=this.D}}N[b].call(this,le);switch(c){case 0:Tc(this,this.G);this.G=a;break;case 1:Nc(this,this.I);this.I=a;break;case 2:Pc(this,this.J);this.J=a;break;case 3:Oc(this,this.B);this.B=a;break;case 4:Tc(this,this.Y);this.Y=a;break;case 5:Nc(this,this.H);this.H=a;break;case 6:Pc(this,this.F);this.F=a;break;case 7:Oc(this,this.D),this.D=a}},function(){this.$|=1;bh[this.ea()].call(this,ce,this.Ja)},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.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.Y;this.Y=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=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Xk},function(){var a=this.K(),b=this.K();
K(this,this.ua.oa);K(this,this.qa);yc(this,a,b);this.A-=this.$k},function(){M.call(this)},function(){K(this,Bc(this));this.A-=this.qc},function(){zc(this,this.Ja());this.A-=this.ic},function(){var a=this.G>>8;a&1?ed(this):$c(this);a&4?Vc(this)||(this.ja^=1):Vc(this)&&(this.ja^=1);a&16?fd(this):ad(this);a&64?gd(this):bd(this);a&128?hd(this):cd(this);this.A-=this.Cb},function(){this.G=this.G&255|(Bc(this)&213)<<8;this.A-=this.Cb},function(){this.G=this.G&-256|this.T(this.C,this.K());this.A-=this.oj},
function(){this.G=this.U(this.C,this.K());this.A-=this.oj},function(){var a=this.K(),b=this.G;this.bd(this.C.Yb(a,0),b);this.A-=this.pj},function(){var a=this.K(),b=this.G;this.Nd(this.C.Yb(a,1),b);this.A-=this.pj},function(){var a=1,b=0,c=this.qj;this.wa&192&&(a=this.I,b=1,c=this.sj,this.wa&256||(this.A-=this.rj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F);this.bd(this.Za.Yb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=
256)}},function(){var a=1,b=0,c=this.qj;this.wa&192&&(a=this.I,b=1,c=this.sj,this.wa&256||(this.A-=this.rj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F);this.Nd(this.Za.Yb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.aj;this.wa&192&&(a=this.I,b=1,c=this.cj,this.wa&256||(this.A-=this.bj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.Za,this.D);vd.call(this,
e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.aj;this.wa&192&&(a=this.I,b=1,c=this.cj,this.wa&256||(this.A-=this.bj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F),f=this.O(this.Za,this.D);Dd.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){this.Z=
this.ja=this.ma=this.G&255&this.ea();this.da=256;this.A-=this.Ie},function(){this.Z=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.Ie},function(){var a=1,b=0,c=this.Bj;this.wa&192&&(a=this.I,b=1,c=this.Dj,this.wa&256||(this.A-=this.Cj));if(a--){var d=this.G;this.bd(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.Bj;this.wa&192&&(a=this.I,b=1,c=this.Dj,this.wa&256||(this.A-=this.Cj));if(a--){var d=
this.G;this.Nd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.ij;this.wa&192&&(a=this.I,b=1,c=this.kj,this.wa&256||(this.A-=this.jj));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.xa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.ij;this.wa&192&&(a=this.I,b=1,c=this.kj,this.wa&256||(this.A-=this.jj));a--&&(this.G=this.U(this.C,
this.F),this.F=this.F+(this.xa&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.vj;this.wa&192&&(a=this.I,b=1,c=this.xj,this.wa&256||(this.A-=this.wj));a--&&(vd.call(this,this.G&255,this.N(this.Za,this.D)),this.D=this.D+(this.xa&1024?-1:1)&65535,this.A-=c-this.sb,this.I-=b,a&&Xc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){var a=1,b=0,c=this.vj;this.wa&192&&(a=this.I,b=1,c=this.xj,this.wa&256||(this.A-=this.wj));a--&&(Dd.call(this,
K(this,this.ua.oa);K(this,this.qa);yc(this,a,b);this.A-=this.$k},function(){M.call(this)},function(){K(this,Bc(this));this.A-=this.qc},function(){zc(this,this.Ja());this.A-=this.ic},function(){var a=this.G>>8;a&1?ed(this):$c(this);a&4?Vc(this)||(this.ja^=1):Vc(this)&&(this.ja^=1);a&16?fd(this):ad(this);a&64?gd(this):bd(this);a&128?hd(this):cd(this);this.A-=this.Cb},function(){this.G=this.G&255|(Bc(this)&213)<<8;this.A-=this.Cb},function(){this.G=this.G&-256|this.T(this.C,this.K());this.A-=this.pj},
function(){this.G=this.U(this.C,this.K());this.A-=this.pj},function(){var a=this.K(),b=this.G;this.bd(this.C.Yb(a,0),b);this.A-=this.qj},function(){var a=this.K(),b=this.G;this.Nd(this.C.Yb(a,1),b);this.A-=this.qj},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F);this.bd(this.Za.Yb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=
256)}},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F);this.Nd(this.Za.Yb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.Za,this.D);vd.call(this,
e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F),f=this.O(this.Za,this.D);Dd.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){this.Z=
this.ja=this.ma=this.G&255&this.ea();this.da=256;this.A-=this.Ie},function(){this.Z=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.Ie},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=this.G;this.bd(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=
this.G;this.Nd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.xa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.U(this.C,
this.F),this.F=this.F+(this.xa&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.wj;this.wa&192&&(a=this.I,b=1,c=this.yj,this.wa&256||(this.A-=this.xj));a--&&(vd.call(this,this.G&255,this.N(this.Za,this.D)),this.D=this.D+(this.xa&1024?-1:1)&65535,this.A-=c-this.sb,this.I-=b,a&&Xc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){var a=1,b=0,c=this.wj;this.wa&192&&(a=this.I,b=1,c=this.yj,this.wa&256||(this.A-=this.xj));a--&&(Dd.call(this,
this.G,this.O(this.Za,this.D)),this.D=this.D+(this.xa&1024?-2:2)&65535,this.A-=c-this.sb,this.I-=b,a&&Xc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){this.G=this.G&-256|this.ea();this.A-=this.Cb},function(){this.I=this.I&-256|this.ea();this.A-=this.Cb},function(){this.J=this.J&-256|this.ea();this.A-=this.Cb},function(){this.B=this.B&-256|this.ea();this.A-=this.Cb},function(){this.G=this.G&255|this.ea()<<8;this.A-=this.Cb},function(){this.I=this.I&255|this.ea()<<8;this.A-=this.Cb},function(){this.J=
this.J&255|this.ea()<<8;this.A-=this.Cb},function(){this.B=this.B&255|this.ea()<<8;this.A-=this.Cb},function(){this.G=this.K();this.A-=this.Cb},function(){this.I=this.K();this.A-=this.Cb},function(){this.J=this.K();this.A-=this.Cb},function(){this.B=this.K();this.A-=this.Cb},function(){this.Y=this.K();this.A-=this.Cb},function(){this.H=this.K();this.A-=this.Cb},function(){this.F=this.K();this.A-=this.Cb},function(){this.D=this.K();this.A-=this.Cb},vh,wh,vh,wh,function(){N[this.ea()].call(this,ue)},
function(){N[this.ea()].call(this,te)},function(){this.$|=1;ah[this.ea()].call(this,de,this.ea)},function(){this.$|=1;bh[this.ea()].call(this,de,this.K)},xh,yh,xh,yh,function(){ld.call(this,3,null,this.ql)},function(){var a=this.ea();Dc(this,a)?ld.call(this,a,null,0):this.A--},function(){Zc(this)?ld.call(this,4,null,this.rl):this.A-=this.sl},function(){yc(this,this.Ja(),this.Ja());zc(this,this.Ja());this.ah&&Hc(this,this.Ba);this.A-=this.ol},function(){ah[this.ea()].call(this,ee,Td)},function(){bh[this.ea()].call(this,
function(){N[this.ea()].call(this,te)},function(){this.$|=1;ah[this.ea()].call(this,de,this.ea)},function(){this.$|=1;bh[this.ea()].call(this,de,this.K)},xh,yh,xh,yh,function(){ld.call(this,3,null,this.ql)},function(){var a=this.ea();Dc(this,a)?ld.call(this,a,null,0):this.A--},function(){Zc(this)?ld.call(this,4,null,this.rl):this.A-=this.sl},function(){yc(this,this.Ja(),this.Ja());zc(this,this.Ja());this.bh&&Hc(this,this.Ba);this.A-=this.ol},function(){ah[this.ea()].call(this,ee,Td)},function(){bh[this.ea()].call(this,
fe,Td)},function(){ah[this.ea()].call(this,ee,Ud)},function(){bh[this.ea()].call(this,fe,Ud)},function(){var a=this.ea(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.da=256;this.Z=this.ja=b;this.A-=this.Uk},function(){var a=this.ea();this.Z=this.ja=this.G=(this.G>>8)*a+this.G&255;this.da=256;this.A-=this.Tk},function(){this.G=this.G&-256|(Uc(this)?255:0);this.A-=2},function(){this.G=this.G&-256|this.T(this.C,this.B+(this.G&255)&65535);this.A-=this.Sl},zh,zh,zh,zh,zh,zh,zh,zh,function(){var a=this.L();
(this.I=this.I-1&65535)&&this.Z&this.da-1?(I(this,this.qa+a),this.A-=this.zl):this.A-=this.lj},function(){var a=this.L();!(this.I=this.I-1&65535)||this.Z&this.da-1?this.A-=this.nj:(I(this,this.qa+a),this.A-=this.mj)},function(){var a=this.L();(this.I=this.I-1&65535)?(I(this,this.qa+a),this.A-=this.yl):this.A-=this.lj},function(){var a=this.L();this.I?this.A-=this.nj:(I(this,this.qa+a),this.A-=this.mj)},function(){var a=this.ea();this.G=this.G&-256|jb(this.na,a,this.Ba-2);this.A-=this.fj},function(){var a=
this.ea();this.G=jb(this.na,a,this.Ba-1)|jb(this.na,a+1&65535,this.Ba-2)<<8;this.A-=this.fj},function(){var a=this.ea();nb(this.na,a,this.G&255,this.Ba-2);this.A-=this.uj},function(){var a=this.ea();nb(this.na,a,this.G&255,this.Ba-2);nb(this.na,a+1&65535,this.G>>8,this.Ba-2);this.A-=this.uj},function(){var a=this.K();K(this,this.qa);I(this,this.qa+a);this.A-=this.Yk},function(){var a=this.K();I(this,this.qa+a);this.A-=this.gj},function(){yc(this,this.K(),this.K());this.A-=this.ul},function(){var a=
this.L();I(this,this.qa+a);this.A-=this.gj},function(){this.G=this.G&-256|jb(this.na,this.J,this.Ba-1);this.A-=this.ej},function(){this.G=jb(this.na,this.J,this.Ba-1)|jb(this.na,this.J+1&65535,this.Ba-1)<<8;this.A-=this.ej},function(){nb(this.na,this.J,this.G&255,this.Ba-1);this.A-=this.tj},function(){nb(this.na,this.J,this.G&255,this.Ba-1);nb(this.na,this.J+1&65535,this.G>>8,this.Ba-1);this.A-=this.tj},Ah,Ah,function(){this.$|=132;this.A-=this.Pb},function(){this.$|=68;this.A-=this.Pb},function(){this.mb|=
(this.I=this.I-1&65535)&&this.Z&this.da-1?(I(this,this.qa+a),this.A-=this.zl):this.A-=this.mj},function(){var a=this.L();!(this.I=this.I-1&65535)||this.Z&this.da-1?this.A-=this.oj:(I(this,this.qa+a),this.A-=this.nj)},function(){var a=this.L();(this.I=this.I-1&65535)?(I(this,this.qa+a),this.A-=this.yl):this.A-=this.mj},function(){var a=this.L();this.I?this.A-=this.oj:(I(this,this.qa+a),this.A-=this.nj)},function(){var a=this.ea();this.G=this.G&-256|jb(this.na,a,this.Ba-2);this.A-=this.gj},function(){var a=
this.ea();this.G=jb(this.na,a,this.Ba-1)|jb(this.na,a+1&65535,this.Ba-2)<<8;this.A-=this.gj},function(){var a=this.ea();nb(this.na,a,this.G&255,this.Ba-2);this.A-=this.vj},function(){var a=this.ea();nb(this.na,a,this.G&255,this.Ba-2);nb(this.na,a+1&65535,this.G>>8,this.Ba-2);this.A-=this.vj},function(){var a=this.K();K(this,this.qa);I(this,this.qa+a);this.A-=this.Yk},function(){var a=this.K();I(this,this.qa+a);this.A-=this.hj},function(){yc(this,this.K(),this.K());this.A-=this.ul},function(){var a=
this.L();I(this,this.qa+a);this.A-=this.hj},function(){this.G=this.G&-256|jb(this.na,this.J,this.Ba-1);this.A-=this.fj},function(){this.G=jb(this.na,this.J,this.Ba-1)|jb(this.na,this.J+1&65535,this.Ba-1)<<8;this.A-=this.fj},function(){nb(this.na,this.J,this.G&255,this.Ba-1);this.A-=this.uj},function(){nb(this.na,this.J,this.G&255,this.Ba-1);nb(this.na,this.J+1&65535,this.G>>8,this.Ba-1);this.A-=this.uj},Ah,Ah,function(){this.$|=132;this.A-=this.Pb},function(){this.$|=68;this.A-=this.Pb},function(){this.mb|=
4;this.A-=2;this.X&&jd(this.X)?(J(this,-1),this.Ab()):this.xa&512||(this.X&&J(this,-1),this.Ab())},function(){Uc(this)?$c(this):ed(this);this.A-=2},function(){this.Db=-1;ah[this.ea()].call(this,he,Wd);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;bh[this.ea()].call(this,ie,Wd);0<=this.Db&&(this.G=this.Db,this.J=this.ug)},function(){this.Z&=~this.da;this.A-=2},function(){this.Z|=this.da;this.A-=2},function(){this.xa&=-513;this.A-=this.Wk},function(){this.xa|=512;this.$|=4;this.A-=2},function(){this.xa&=
-1025;this.A-=2},function(){this.xa|=1024;this.A-=2},function(){ah[this.ea()].call(this,rc,Wd)},function(){bh[this.ea()].call(this,tc,Wd)}];
function O(a){x.call(this,"ChipSet",a,O);this.Fa=a.model;this.Fa=void 0!==this.Fa?parseInt(this.Fa,10):Bh;this.Xb=0;var b=a.sw1;if(b)this.Xb=Ch(b,Dh|Eh.ym);else if(b=a.fdrives||2,this.Xb|=Fh.Wh,b--,this.Xb|=(b&3)<<Fh.Df,b=a.monitor||(this.Fa<Gh?"mono":"ega"),void 0!==Hh[b])this.Xb|=Hh[b]<<Eh.Df;this.pe=Ch(a.sw2||"11110000",0);this.Tn=this.Fa==Bh?16:64;this.Pf=this.Qf=1;this.Fa>=Gh&&(this.Pf=this.Qf=2);this.oh=a.scaleTimers||!1;this.pp=a.rtcDate;this.Dk=!1;a.sound&&window&&"webkitAudioContext"in window&&
(this.oi=new webkitAudioContext);this.reset();this.Ta()}y(x,O);var Bh=5150,Gh=5170,Hh={none:0,tv:1,color:2,mono:3,ega:0},Fh={Wh:1,ONE:0,Up:64,Sp:128,Bp:192,Bf:192,Df:6},Dh=12,Eh={Tp:16,wp:32,ym:48,Bf:48,Df:4};k=O.prototype;
function O(a){x.call(this,"ChipSet",a,O);this.Fa=a.model;this.Fa=void 0!==this.Fa?parseInt(this.Fa,10):Bh;this.Xb=0;var b=a.sw1;if(b)this.Xb=Ch(b,Dh|Eh.ym);else if(b=a.fdrives||2,this.Xb|=Fh.Xh,b--,this.Xb|=(b&3)<<Fh.Df,b=a.monitor||(this.Fa<Gh?"mono":"ega"),void 0!==Hh[b])this.Xb|=Hh[b]<<Eh.Df;this.pe=Ch(a.sw2||"11110000",0);this.Tn=this.Fa==Bh?16:64;this.Pf=this.Qf=1;this.Fa>=Gh&&(this.Pf=this.Qf=2);this.ph=a.scaleTimers||!1;this.pp=a.rtcDate;this.Dk=!1;a.sound&&window&&"webkitAudioContext"in window&&
(this.pi=new webkitAudioContext);this.reset();this.Ta()}y(x,O);var Bh=5150,Gh=5170,Hh={none:0,tv:1,color:2,mono:3,ega:0},Fh={Xh:1,ONE:0,Up:64,Sp:128,Bp:192,Bf:192,Df:6},Dh=12,Eh={Tp:16,wp:32,ym:48,Bf:48,Df:4};k=O.prototype;
k.xb=function(a,b,c,d){switch(c){case "sw1":return this.sa[c]=d,Ih(this,c,d,this.Xb,{0:this.Fa==Bh?"Bootable Floppy Drive":"Loop on POST",1:this.Fa==Bh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Fa==Bh)return this.sa[c]=d,Ih(this,c,d,this.pe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.sa[c]=d,!0}return!1};
k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.bb=C(a,"Keyboard");this.Tl=Math.round(c.Hd/1193181);ib(b,this,Jh);mb(b,this,Kh);this.Fa<Gh?(ib(b,this,Lh),mb(b,this,Mh)):(ib(b,this,Nh),mb(b,this,Oh));if(d){var e=this;Ph(d,O);Qh(d,O.Te,function(){for(var a=0;a<e.tb.length;a++){for(var b=e.tb[a],c="PIC"+a+":",d=0;d<b.pd.length;d++)c+=" IC"+(d+1)+"="+r(b.pd[d]);c+=" IMR="+r(b.vd)+" IRR="+r(b.Jb)+" ISR="+r(b.Fc);e.X.message(c)}});Qh(d,O.Ue,function(){for(var a=0;a<e.Hb.length;a++){Rh(e,
a);var b=e.Hb[a],c="TIMER"+a+":",d=0;if(void 0!==b.gd)for(var n=0;n<=b.gd;n++)d|=b.Zb[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.gd+" COUNT="+u(d);e.X.message(c)}});Qh(d,O.Cf,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Sh(e,b):e.pa[b];a&&(a+="\n");a+="CMOS[0x"+r(b)+"]: 0x"+r(c)}e.X.message(a)})}Cc(c,26,this,this.Qn)};k.ac=function(a,b){if(!b)if(!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.cd=this.Xb;this.Qe=this.pe;Th(this);this.$a=Array(this.Pf);for(b=0;b<this.Pf;b++)Uh(this,b);this.tb=Array(this.Qf);Vh(this,0,32);1<this.Qf&&Vh(this,1,160);this.li=void 0;this.Hb=Array(3);for(b=0;b<this.Hb.length;b++)Wh(this,b);this.Of=this.ji=this.Ac=this.Wg=void 0;this.Vg=0;if(this.Fa>=Gh){this.jb=16;this.ud=0;this.Xd=16;this.Rg=0;this.ve=160;512<=Xh(this)&&(this.ve|=16);3==Yh(this)&&(this.ve|=64);this.hi=3;this.Mf=0;this.Ng=Array(7);this.we=0;a||(this.pa=Array(64));
Zh(this,this.pp);for(a=14;46>a;a++)void 0===this.pa[a]&&(this.pa[a]=0);this.pa[20]=this.cd&(Eh.Bf|2|Fh.Wh|Fh.Bf);this.pa[16]=$h(this,0)<<4|$h(this,1);ai(this)}};
k.reset=function(a){var b;this.cd=this.Xb;this.Qe=this.pe;Th(this);this.$a=Array(this.Pf);for(b=0;b<this.Pf;b++)Uh(this,b);this.tb=Array(this.Qf);Vh(this,0,32);1<this.Qf&&Vh(this,1,160);this.mi=void 0;this.Hb=Array(3);for(b=0;b<this.Hb.length;b++)Wh(this,b);this.Of=this.ki=this.Ac=this.Xg=void 0;this.Wg=0;if(this.Fa>=Gh){this.jb=16;this.ud=0;this.Xd=16;this.Sg=0;this.ve=160;512<=Xh(this)&&(this.ve|=16);3==Yh(this)&&(this.ve|=64);this.ii=3;this.Mf=0;this.Og=Array(7);this.we=0;a||(this.pa=Array(64));
Zh(this,this.pp);for(a=14;46>a;a++)void 0===this.pa[a]&&(this.pa[a]=0);this.pa[20]=this.cd&(Eh.Bf|2|Fh.Xh|Fh.Bf);this.pa[16]=$h(this,0)<<4|$h(this,1);ai(this)}};
function Zh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ca("CMOS date invalid ("+b+"), using "+c)):b&&a.ca("CMOS date: "+c);a.pa[0]=c.getSeconds();a.pa[1]=0;a.pa[2]=c.getMinutes();a.pa[3]=0;a.pa[4]=c.getHours();a.pa[5]=0;a.pa[6]=c.getDay()+1;a.pa[7]=c.getDate();a.pa[8]=c.getMonth()+1;c=c.getFullYear();a.pa[9]=c%100;c/=100;a.pa[50]=c%10|c/10<<4;a.eg=-1;a.pa[10]=38;a.pa[11]=2;a.pa[12]=0;a.pa[13]=128}
function Sh(a,b){var c=a.pa[b];if(10>b){var d=!1;4!=b&&5!=b||a.pa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.pa[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.pa[b]^=128);return c}function ai(a){for(var b=0,c=16;46>c;c++)b+=a.pa[c];a.pa[47]=b&255;a.pa[46]=b>>8}
k.save=function(){var a=new H(this);a.set(0,[this.Xb,this.pe,this.cd,this.Qe]);for(var b=[],c=0;c<this.$a;c++){var d=[],e=this.$a[c];d[0]=e.ae;d[1]=e.ii;d[2]=e.ok;d[3]=e.qb;for(var f=[],g=0;g<e.Gb.length;g++){var h=[],m=e.Gb[g];h[0]=m.Fd;h[1]=m.jk;h[2]=m.Ic;h[3]=m.Rb;h[4]=m.Zb;h[5]=m.mode;h[6]=m.Xg;h[8]=m.mp;h[9]=m.np;f[g]=h}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.tb.length;c++)d=[],e=this.tb[c],d[0]=e.jg,d[1]=e.pd,d[2]=e.Id,d[3]=e.vd,d[4]=e.Jb,d[5]=e.Fc,d[6]=e.xe,d[7]=e.Nf,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Hb.length;c++)d=[],e=this.Hb[c],d[0]=e.Ic,d[1]=e.Yc,d[2]=e.Zb,d[3]=e.Vf,d[4]=e.qk,d[5]=e.mode,d[6]=e.vg,d[7]=e.de,d[8]=e.gd,d[9]=e.kd,d[10]=e.Yf,d[11]=e.df,d[12]=e.me,b[c]=d;a.set(3,[this.li,b]);a.set(4,[this.Wg,this.Ac,this.ji,this.Of,this.Vg]);this.Fa>=Gh&&(a.set(5,[this.jb,this.ud,this.Xd,this.Rg,this.ve,this.hi]),a.set(6,[this.Mf,this.Ng,this.we,this.pa,this.eg]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Xb=b[0];this.pe=b[1];this.cd=b[2];this.Qe=b[3];b=a[1];this.$a=Array(this.Pf);for(c=0;c<this.Pf;c++)Uh(this,c,1==b.length?b[0][c]:b);b=a[2];this.tb=Array(this.Qf);for(c=0;c<this.Qf;c++)Vh(this,c,0===c?32:160,b[0][c]);b=a[3];this.li=b[0];this.Hb=Array(3);for(c=0;c<this.Hb.length;c++)Wh(this,c,b[1][c]);b=a[4];this.Wg=b[0];this.Ac=b[1];this.ji=b[2];this.Of=b[3];this.Vg=b[4];if(b=a[5])this.jb=b[0],this.ud=b[1],this.Xd=b[2],this.Rg=b[3],this.ve=b[4],this.hi=b[5];
if(b=a[6])this.Mf=b[0],this.Ng=b[1],this.we=b[2],this.pa=b[3],this.eg=b[4],Zh(this);return!0};function Uh(a,b,c){a=a.$a[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.ae=c[0];a.ii=c[1];a.ok=c[2];a.qb=c[3];a.ao=b<<2;a.Gb=Array(4);for(b=0;b<a.Gb.length;b++)bi(a,b,c[4][b])}function bi(a,b,c){var d=a.Gb[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ia=a;d.Jk=b;d.Fd=c[0];d.jk=c[1];d.Ic=c[2];d.Rb=c[3];d.Zb=c[4];d.mode=c[5];d.Xg=c[6];ci(d,c[8],c[9])}
function ci(a,b,c,d){"string"==typeof b&&(b=Ma(b));b&&(a.fh=null,a.mp=b.id,a.np=c,a.dh=b,a.Ii=b[c],a.Gh=d)}function Vh(a,b,c,d){a=a.tb[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.Xp=b<<3;a.jg=d[0];a.pd=d[1];a.Id=d[2];a.vd=d[3];a.Jb=d[4];a.Fc=d[5];a.xe=d[6];a.Nf=d[7]}
function Wh(a,b,c){a=a.Hb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.Ic=c[0];a.Yc=c[1];a.Zb=c[2];a.Vf=c[3];a.qk=c[4];a.mode=c[5];a.vg=c[6];a.de=c[7];a.gd=c[8];a.kd=c[9];a.Yf=c[10];a.df=c[11];a.me=c[12]}function Xh(a,b){return((((b?a.Xb:a.cd)&12)>>2)+1)*a.Tn+32*((b?a.pe:a.Qe)&15)}function di(a,b){var c=b?a.Xb:a.cd;return a.Fa!=Bh||c&Fh.Wh?((c&Fh.Bf)>>Fh.Df)+1:0}function $h(a,b){return b<di(a)?a.Fa<Gh?1:2:0}function Yh(a,b){return((b?a.Xb:a.cd)&Eh.Bf)>>Eh.Df}
k.save=function(){var a=new H(this);a.set(0,[this.Xb,this.pe,this.cd,this.Qe]);for(var b=[],c=0;c<this.$a;c++){var d=[],e=this.$a[c];d[0]=e.ae;d[1]=e.ji;d[2]=e.ok;d[3]=e.qb;for(var f=[],g=0;g<e.Gb.length;g++){var h=[],m=e.Gb[g];h[0]=m.Fd;h[1]=m.jk;h[2]=m.Ic;h[3]=m.Rb;h[4]=m.Zb;h[5]=m.mode;h[6]=m.Yg;h[8]=m.mp;h[9]=m.np;f[g]=h}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.tb.length;c++)d=[],e=this.tb[c],d[0]=e.jg,d[1]=e.pd,d[2]=e.Id,d[3]=e.vd,d[4]=e.Jb,d[5]=e.Fc,d[6]=e.xe,d[7]=e.Nf,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Hb.length;c++)d=[],e=this.Hb[c],d[0]=e.Ic,d[1]=e.Yc,d[2]=e.Zb,d[3]=e.Vf,d[4]=e.qk,d[5]=e.mode,d[6]=e.vg,d[7]=e.de,d[8]=e.gd,d[9]=e.kd,d[10]=e.Yf,d[11]=e.df,d[12]=e.me,b[c]=d;a.set(3,[this.mi,b]);a.set(4,[this.Xg,this.Ac,this.ki,this.Of,this.Wg]);this.Fa>=Gh&&(a.set(5,[this.jb,this.ud,this.Xd,this.Sg,this.ve,this.ii]),a.set(6,[this.Mf,this.Og,this.we,this.pa,this.eg]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Xb=b[0];this.pe=b[1];this.cd=b[2];this.Qe=b[3];b=a[1];this.$a=Array(this.Pf);for(c=0;c<this.Pf;c++)Uh(this,c,1==b.length?b[0][c]:b);b=a[2];this.tb=Array(this.Qf);for(c=0;c<this.Qf;c++)Vh(this,c,0===c?32:160,b[0][c]);b=a[3];this.mi=b[0];this.Hb=Array(3);for(c=0;c<this.Hb.length;c++)Wh(this,c,b[1][c]);b=a[4];this.Xg=b[0];this.Ac=b[1];this.ki=b[2];this.Of=b[3];this.Wg=b[4];if(b=a[5])this.jb=b[0],this.ud=b[1],this.Xd=b[2],this.Sg=b[3],this.ve=b[4],this.ii=b[5];
if(b=a[6])this.Mf=b[0],this.Og=b[1],this.we=b[2],this.pa=b[3],this.eg=b[4],Zh(this);return!0};function Uh(a,b,c){a=a.$a[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.ae=c[0];a.ji=c[1];a.ok=c[2];a.qb=c[3];a.ao=b<<2;a.Gb=Array(4);for(b=0;b<a.Gb.length;b++)bi(a,b,c[4][b])}function bi(a,b,c){var d=a.Gb[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ia=a;d.Jk=b;d.Fd=c[0];d.jk=c[1];d.Ic=c[2];d.Rb=c[3];d.Zb=c[4];d.mode=c[5];d.Yg=c[6];ci(d,c[8],c[9])}
function ci(a,b,c,d){"string"==typeof b&&(b=Ma(b));b&&(a.gh=null,a.mp=b.id,a.np=c,a.eh=b,a.Ji=b[c],a.Hh=d)}function Vh(a,b,c,d){a=a.tb[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.Xp=b<<3;a.jg=d[0];a.pd=d[1];a.Id=d[2];a.vd=d[3];a.Jb=d[4];a.Fc=d[5];a.xe=d[6];a.Nf=d[7]}
function Wh(a,b,c){a=a.Hb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.Ic=c[0];a.Yc=c[1];a.Zb=c[2];a.Vf=c[3];a.qk=c[4];a.mode=c[5];a.vg=c[6];a.de=c[7];a.gd=c[8];a.kd=c[9];a.Yf=c[10];a.df=c[11];a.me=c[12]}function Xh(a,b){return((((b?a.Xb:a.cd)&12)>>2)+1)*a.Tn+32*((b?a.pe:a.Qe)&15)}function di(a,b){var c=b?a.Xb:a.cd;return a.Fa!=Bh||c&Fh.Xh?((c&Fh.Bf)>>Fh.Df)+1:0}function $h(a,b){return b<di(a)?a.Fa<Gh?1:2:0}function Yh(a,b){return((b?a.Xb:a.cd)&Eh.Bf)>>Eh.Df}
function Ih(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=B(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)void 0!==e&&void 0!==e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),ei(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");ei(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Xb=
a.Xb&~e|(c?0:e);break;case "sw2":a.pe=a.pe&~e|(c?0:e)}Th(a)}}(a,b[g])}function ei(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Th(a){var b=a.sa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(void 0!==b){var d;d=""+(Xh(a,!0)+"Kb");d+=", "+c[Yh(a,!0)]+" Monitor";d+=", "+di(a,!0)+" Floppy Drives";if(void 0!==a.cd&&a.cd!=a.Xb||void 0!==a.Qe&&a.Qe!=a.pe)d+=" (Reset required)";b.innerHTML=d}}
function fi(a,b,c,d,e){var f=a.$a[b],g=f.Gb[c].Rb[f.qb];f.qb^=1;a.ba(d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.qb+"]",O.Fb,g);return g}function gi(a,b,c,d,e,f){var g=a.$a[b];a.ba(d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.qb+"]",O.Fb);a=g.Gb[c];a.Rb[g.qb]=a.jk[g.qb]=e;g.qb^=1}function hi(a,b,c,d,e){var f=a.$a[b],g=f.Gb[c].Zb[f.qb];f.qb^=1;a.ba(d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.qb+"]",O.Fb,g);return g}
function ii(a,b,c,d,e,f){var g=a.$a[b];a.ba(d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.qb+"]",O.Fb);a=g.Gb[c];a.Zb[g.qb]=a.Ic[g.qb]=e;g.qb^=1}function ji(a,b,c,d){var e=a.$a[b],f=e.ae|1;e.ae&=-16;a.ba(c,null,d,"DMA"+b+".STATUS",O.Fb,f);return f}function ki(a,b,c,d,e){var f=a.$a[b];a.ba(c,d,e,"DMA"+b+".REQ",O.Fb);a=d&3;f.ae=f.ae&~(16<<a)|(d&4)<<a+2;f.ok=d}function li(a,b,c,d,e){var f=a.$a[b];a.ba(c,d,e,"DMA"+b+".MASK",O.Fb);b=d&3;c=f.Gb[b];c.Fd=d&4?!0:!1;c.Fd||mi(a,f.ao+b)}
function ni(a,b,c,d,e){a.ba(c,d,e,"DMA"+b+".CLEAR",O.Fb);a=a.$a[b];for(b=0;b<a.Gb.length;b++)bi(a,b)}function oi(a,b,c,d,e){var f=a.$a[b].Gb[c].Xg;a.ba(d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",O.Fb,f);return f}function pi(a,b,c,d,e,f){a.ba(d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",O.Fb);a.$a[b].Gb[c].Xg=e}function qi(a,b,c,d){var e=a.Ng[b];a.ba(c,null,d,"DMA.SPARE"+b+".PAGE",O.Fb,e);return e}function ri(a,b,c,d,e){a.ba(c,d,e,"DMA.SPARE"+b+".PAGE",O.Fb);a.Ng[b]=d}
function si(a,b,c,d,e){ci(a.$a[b>>2].Gb[b&3],c,d,e)}function mi(a,b,c){b=a.$a[b>>2].Gb[b&3];b.dh&&b.Ii&&b.Gh?(c&&(b.fh=c),b.Fd||md(a,b,!0)):c&&c(!0)}
function md(a,b,c){c&&(b.count=b.Zb[1]<<8|b.Zb[0],b.mm=b.mode&12,b.Ek=b.jd=!1);for(var d=!1;0<=b.count&&(c=b.Xg<<16|b.Rb[1]<<8|b.Rb[0],4==b.mm?(d=!0,function(c){b.Ii.call(b.dh,b.Gh,-1,function(f,g){0>f&&(b.Ek||(b.Ek=!0),f=255);b.Fd||db(a.na,c,f);(d=g)&&setTimeout(function(){ti(b)||md(a,b)},0)})}(c)):8==b.mm?(c=bb(a.na,c),0>b.Ii.call(b.dh,b.Gh,c)&&(b.jd=!0)):b.jd=!0),!d&&!ti(b););}
function ti(a){if(!a.jd&&0<=--a.count&&(a.mode&32?(a.Rb[0]--,0>a.Rb[0]&&(a.Rb[0]=255,a.Rb[1]--,0>a.Rb[1]&&(a.Rb[1]=255))):(a.Rb[0]++,255<a.Rb[0]&&(a.Rb[0]=0,a.Rb[1]++,255<a.Rb[1]&&(a.Rb[1]=0))),!a.Fd))return!1;var b=a.ia;b.ae=b.ae&~(16<<a.Jk)|1<<a.Jk;a.mode&16||(a.Fd=!0,a.dh=a.Gh=null);a.fh&&(a.fh(!a.jd),a.fh=null);return!0}function ui(a,b,c){var d=0,e=a.tb[b];if(void 0!==e.Nf)switch(e.Nf&3){case 2:d=e.Jb;break;case 3:d=e.Fc}a.ba(e.port,null,c,"PIC"+b,O.Te,d);return d}
function ni(a,b,c,d,e){a.ba(c,d,e,"DMA"+b+".CLEAR",O.Fb);a=a.$a[b];for(b=0;b<a.Gb.length;b++)bi(a,b)}function oi(a,b,c,d,e){var f=a.$a[b].Gb[c].Yg;a.ba(d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",O.Fb,f);return f}function pi(a,b,c,d,e,f){a.ba(d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",O.Fb);a.$a[b].Gb[c].Yg=e}function qi(a,b,c,d){var e=a.Og[b];a.ba(c,null,d,"DMA.SPARE"+b+".PAGE",O.Fb,e);return e}function ri(a,b,c,d,e){a.ba(c,d,e,"DMA.SPARE"+b+".PAGE",O.Fb);a.Og[b]=d}
function si(a,b,c,d,e){ci(a.$a[b>>2].Gb[b&3],c,d,e)}function mi(a,b,c){b=a.$a[b>>2].Gb[b&3];b.eh&&b.Ji&&b.Hh?(c&&(b.gh=c),b.Fd||md(a,b,!0)):c&&c(!0)}
function md(a,b,c){c&&(b.count=b.Zb[1]<<8|b.Zb[0],b.mm=b.mode&12,b.Ek=b.jd=!1);for(var d=!1;0<=b.count&&(c=b.Yg<<16|b.Rb[1]<<8|b.Rb[0],4==b.mm?(d=!0,function(c){b.Ji.call(b.eh,b.Hh,-1,function(f,g){0>f&&(b.Ek||(b.Ek=!0),f=255);b.Fd||db(a.na,c,f);(d=g)&&setTimeout(function(){ti(b)||md(a,b)},0)})}(c)):8==b.mm?(c=bb(a.na,c),0>b.Ji.call(b.eh,b.Hh,c)&&(b.jd=!0)):b.jd=!0),!d&&!ti(b););}
function ti(a){if(!a.jd&&0<=--a.count&&(a.mode&32?(a.Rb[0]--,0>a.Rb[0]&&(a.Rb[0]=255,a.Rb[1]--,0>a.Rb[1]&&(a.Rb[1]=255))):(a.Rb[0]++,255<a.Rb[0]&&(a.Rb[0]=0,a.Rb[1]++,255<a.Rb[1]&&(a.Rb[1]=0))),!a.Fd))return!1;var b=a.ia;b.ae=b.ae&~(16<<a.Jk)|1<<a.Jk;a.mode&16||(a.Fd=!0,a.eh=a.Hh=null);a.gh&&(a.gh(!a.jd),a.gh=null);return!0}function ui(a,b,c){var d=0,e=a.tb[b];if(void 0!==e.Nf)switch(e.Nf&3){case 2:d=e.Jb;break;case 3:d=e.Fc}a.ba(e.port,null,c,"PIC"+b,O.Te,d);return d}
function vi(a,b,c,d){var e=a.tb[b];a.ba(e.port,c,d,"PIC"+b,O.Te);if(c&16)e.Id=0,e.pd[e.Id++]=c,e.vd=0,e.xe=7,e.Jb=e.Fc=0,e.Nf=10;else if(c&8)e.Nf=c;else{var f=c&224;if(f&32){d=0;if(96==(f&96))d=1<<(c&7);else for(c=e.xe+1;;){c&=7;f=1<<c;if(e.Fc&f){d=f;break}if(c++==e.xe)break}e.Fc&d&&(e.Fc&=~d,wi(a,b))}else 192==f&&(e.xe=c&7)}}function xi(a,b,c){var d=a.tb[b],e=d.vd;a.ba(d.port+1,null,c,"PIC"+b,O.Te,e);return e}
function yi(a,b,c,d){var e=a.tb[b];a.ba(e.port+1,c,d,"PIC"+b,O.Te);e.Id<e.pd.length?(e.pd[e.Id++]=c,2==e.Id&&e.pd[0]&2&&e.Id++,3!=e.Id||e.pd[0]&1||e.Id++):(e.vd=c,d=a.S,d.$|=4,wi(a,b,b||253!=c?0:6))}function wi(a,b,c){b=a.tb[b];var d=((b.Fc|b.vd)^255)&b.Jb;a=a.S;a.ka&&(a.mb=d?a.mb|1:a.mb&-2);d&&c&&(b.jg=c)}function zi(a,b,c){var d=b>>3,e=a.tb[d];e.Jb|=1<<(b&7);e.jg=c||0;1==d&&(a.tb[0].Jb|=4);wi(a,d)}
function Ai(a,b){var c=b>>3,d=a.tb[c],e=1<<(b&7);d.Jb&e&&(d.Jb&=~e,1!=c||d.Jb||(a.tb[0].Jb&=-5),wi(a,c))}function kd(a,b){void 0===b&&(b=0);var c=-1,d=a.tb[b];if(d.jg)c=-2,d.jg--;else for(var e=d.Jb&((d.Fc|d.vd)^255),f=d.xe+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.pd[1]+f:kd(a,1);0<=c&&(d.Fc|=g,d.Jb&=~g);break}if(f++==d.xe)break}return c}function Bi(a,b,c){var d;d=a.Hb[b];d.de==d.gd&&Ci(a,b);if(d.Yf)return d.Vf[d.de++];Rh(a,b);d=d.Zb[d.de++];a.ba(64+b,null,c,"TIMER"+b,O.Ue,d);return d}
function Di(a,b,c,d){a.ba(64+b,c,d,"TIMER"+b,O.Ue);d=a.Hb[b];d.de==d.gd&&Ci(a,b);d.Ic[d.de++]=c;if(d.de==d.gd){d.df&&0!=d.mode&&8!=d.mode||(d.Yf=!1,d.Zb[0]=d.Yc[0]=d.Ic[0],d.Zb[1]=d.Yc[1]=d.Ic[1],d.me=F(a.S,a.oh),d.df=!0,d.kd=0!=d.mode,0==b&&Ai(a,0));2==b&&Kb(a);if(0==b){var e=Ei(a,0);2048<=e&&(a.S.zh=Math.round(65536/e))}0==b&&0==d.mode&&16==d.vg&&(b=a.S,b.Ob&&(a=b.A-c*a.Tl,b.A-=a,b.Oc-=a))}}k.Kn=function(a,b){this.ba(a,null,b,"TIMER_CTRL",O.Ue);return null};
k.bp=function(a,b,c){this.ba(a,b,c,"TIMER_CTRL",O.Ue);this.li=b;a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Hb[a];e.vg=b;e.mode=d;e.qk=c;e.Ic=[0,0];e.Zb=[0,0];e.Vf=[0,0];e.kd=!1;e.Yf=!1;e.df=!1;Ci(this,a);0==a&&Ai(this,0);2==a&&255==this.tb[0].vd&&77==this.Ac&&(a=this.Hb[0],a.Yc[0]=a.Ic[0],a.Yc[1]=a.Ic[1],a.me=F(this.S,this.oh))}else Rh(this,a),b=this.Hb[a],b.Vf[0]=b.Zb[0],b.Vf[1]=b.Zb[1],b.Yf=!0,Ci(this,a)}};
function Di(a,b,c,d){a.ba(64+b,c,d,"TIMER"+b,O.Ue);d=a.Hb[b];d.de==d.gd&&Ci(a,b);d.Ic[d.de++]=c;if(d.de==d.gd){d.df&&0!=d.mode&&8!=d.mode||(d.Yf=!1,d.Zb[0]=d.Yc[0]=d.Ic[0],d.Zb[1]=d.Yc[1]=d.Ic[1],d.me=F(a.S,a.ph),d.df=!0,d.kd=0!=d.mode,0==b&&Ai(a,0));2==b&&Kb(a);if(0==b){var e=Ei(a,0);2048<=e&&(a.S.Ah=Math.round(65536/e))}0==b&&0==d.mode&&16==d.vg&&(b=a.S,b.Ob&&(a=b.A-c*a.Tl,b.A-=a,b.Oc-=a))}}k.Kn=function(a,b){this.ba(a,null,b,"TIMER_CTRL",O.Ue);return null};
k.bp=function(a,b,c){this.ba(a,b,c,"TIMER_CTRL",O.Ue);this.mi=b;a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Hb[a];e.vg=b;e.mode=d;e.qk=c;e.Ic=[0,0];e.Zb=[0,0];e.Vf=[0,0];e.kd=!1;e.Yf=!1;e.df=!1;Ci(this,a);0==a&&Ai(this,0);2==a&&255==this.tb[0].vd&&77==this.Ac&&(a=this.Hb[0],a.Yc[0]=a.Ic[0],a.Yc[1]=a.Ic[1],a.me=F(this.S,this.ph))}else Rh(this,a),b=this.Hb[a],b.Vf[0]=b.Zb[0],b.Vf[1]=b.Zb[1],b.Yf=!0,Ci(this,a)}};
function Ei(a,b){var c=a.Hb[b],d=c.Ic[1]<<8|c.Ic[0];d||(d=1==c.gd?256:65536);return d}function Ci(a,b){var c=a.Hb[b];c.de=32==c.vg?1:0;c.gd=48==c.vg?2:1}
function Rh(a,b,c){var d=a.Hb[b];if(d.df&&(2!=b||a.Ac&1)){var e=F(a.S,a.oh),f=(e-d.me)/a.Tl|0;0>f&&(d.me=e,f=0);var g=Ei(a,b),h=a.Hb[b],m=h.Yc[1]<<8|h.Yc[0];m||(m=1==h.gd?256:65536);h=m-f;0==d.mode?(0>=h&&(h=0),h||(d.kd=!0,d.df=!1,b||zi(a,0))):4==d.mode?(d.kd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.me=e,!b&&d.kd&&zi(a,0))):6==d.mode&&(h-=f,0>=h&&(d.kd=!d.kd,h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.me=e,!b&&d.kd&&zi(a,0)));d.Zb[0]=h&255;d.Zb[1]=h>>8;c&&(a.me=0)}return d}
function Lb(a,b){for(var c=0;c<a.Hb.length;c++)Rh(a,c,b);if(a.Fa>=Gh){var c=0,d=a.S.Hd,e=F(a.S,a.oh);if(0<=a.eg&&(c=e-a.eg,Math.floor(c/d)&&60<=++a.pa[0]&&(a.pa[0]=0,60<=++a.pa[2]&&(a.pa[2]=0,24<=++a.pa[4])))){a.pa[4]=0;a.pa[6]=a.pa[6]%7+1;var f=a.pa[9],g=qa[a.pa[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.pa[7]>g&&(a.pa[7]=1,12<++a.pa[8]&&(a.pa[8]=1,a.pa[9]=(a.pa[9]+1)%100))}a.eg=e-c%d}}
k.Cn=function(a,b){var c=this.Wg;this.Of&16&&(this.Ac&128?c=this.cd:this.bb&&(c=Fi(this.bb)));this.ba(a,null,b,"PPI_A",O.uc,c);return c};k.Vo=function(a,b,c){this.ba(a,b,c,"PPI_A",O.uc);this.Wg=b};k.Dn=function(a,b){var c=this.Ac;this.ba(a,null,b,"PPI_B",O.uc,c);return c};k.Wo=function(a,b,c){this.ba(a,b,c,"PPI_B",O.uc);Gi(this,b);this.bb&&Hi(this.bb,b&128?!1:!0,b&64?!0:!1)};function Gi(a,b){var c=!!(b&2),d=!!(a.Ac&2);a.Ac=b;c!=d&&Kb(a,c)}
k.En=function(a,b){var c=0,c=this.Fa==Bh?this.Ac&4?c|this.Qe&15:c|this.Qe>>4&1:this.Ac&8?c|this.cd>>4:c|this.cd&15;this.Ac&1&&Rh(this,2).kd&&(c=this.Ac&2?c|32:c|16);this.ba(a,null,b,"PPI_C",O.uc|O.Fg,c);return c};k.Xo=function(a,b,c){this.ba(a,b,c,"PPI_C",O.uc);this.ji=b};k.Fn=function(a,b){var c=this.Of;this.ba(a,null,b,"PPI_CTRL",O.uc,c);return c};k.Yo=function(a,b,c){this.ba(a,b,c,"PPI_CTRL",O.uc);this.Of=b};
k.Sm=function(a,b){var c=this.Rg;this.ba(a,null,b,"8042_OUTBUFF",O.Se,c);this.jb&=-258;var d=this.bb&&Fi(this.bb,!0);d&&Ii(this,d);return c};k.po=function(a,b,c){this.ba(a,b,c,"8042_INBUF.DATA",O.Se);if(this.jb&8)switch(this.ud){case 96:Ji(this,b);break;case 209:Ki(this,b);break;default:if(Ji(this,this.Xd&-17),this.bb){a=-1;switch(b){case 255:a=250,Li(this.bb)}Ii(this,a)}}this.ud=b;this.jb&=-9};k.Tm=function(a,b){var c=this.Ac&-209|(F(this.S)&64?16:0);this.ba(a,null,b,"8042_RWREG",O.Se|O.um,c);return c};
function Rh(a,b,c){var d=a.Hb[b];if(d.df&&(2!=b||a.Ac&1)){var e=F(a.S,a.ph),f=(e-d.me)/a.Tl|0;0>f&&(d.me=e,f=0);var g=Ei(a,b),h=a.Hb[b],m=h.Yc[1]<<8|h.Yc[0];m||(m=1==h.gd?256:65536);h=m-f;0==d.mode?(0>=h&&(h=0),h||(d.kd=!0,d.df=!1,b||zi(a,0))):4==d.mode?(d.kd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.me=e,!b&&d.kd&&zi(a,0))):6==d.mode&&(h-=f,0>=h&&(d.kd=!d.kd,h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.me=e,!b&&d.kd&&zi(a,0)));d.Zb[0]=h&255;d.Zb[1]=h>>8;c&&(a.me=0)}return d}
function Lb(a,b){for(var c=0;c<a.Hb.length;c++)Rh(a,c,b);if(a.Fa>=Gh){var c=0,d=a.S.Hd,e=F(a.S,a.ph);if(0<=a.eg&&(c=e-a.eg,Math.floor(c/d)&&60<=++a.pa[0]&&(a.pa[0]=0,60<=++a.pa[2]&&(a.pa[2]=0,24<=++a.pa[4])))){a.pa[4]=0;a.pa[6]=a.pa[6]%7+1;var f=a.pa[9],g=qa[a.pa[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.pa[7]>g&&(a.pa[7]=1,12<++a.pa[8]&&(a.pa[8]=1,a.pa[9]=(a.pa[9]+1)%100))}a.eg=e-c%d}}
k.Cn=function(a,b){var c=this.Xg;this.Of&16&&(this.Ac&128?c=this.cd:this.bb&&(c=Fi(this.bb)));this.ba(a,null,b,"PPI_A",O.uc,c);return c};k.Vo=function(a,b,c){this.ba(a,b,c,"PPI_A",O.uc);this.Xg=b};k.Dn=function(a,b){var c=this.Ac;this.ba(a,null,b,"PPI_B",O.uc,c);return c};k.Wo=function(a,b,c){this.ba(a,b,c,"PPI_B",O.uc);Gi(this,b);this.bb&&Hi(this.bb,b&128?!1:!0,b&64?!0:!1)};function Gi(a,b){var c=!!(b&2),d=!!(a.Ac&2);a.Ac=b;c!=d&&Kb(a,c)}
k.En=function(a,b){var c=0,c=this.Fa==Bh?this.Ac&4?c|this.Qe&15:c|this.Qe>>4&1:this.Ac&8?c|this.cd>>4:c|this.cd&15;this.Ac&1&&Rh(this,2).kd&&(c=this.Ac&2?c|32:c|16);this.ba(a,null,b,"PPI_C",O.uc|O.Gg,c);return c};k.Xo=function(a,b,c){this.ba(a,b,c,"PPI_C",O.uc);this.ki=b};k.Fn=function(a,b){var c=this.Of;this.ba(a,null,b,"PPI_CTRL",O.uc,c);return c};k.Yo=function(a,b,c){this.ba(a,b,c,"PPI_CTRL",O.uc);this.Of=b};
k.Sm=function(a,b){var c=this.Sg;this.ba(a,null,b,"8042_OUTBUFF",O.Se,c);this.jb&=-258;var d=this.bb&&Fi(this.bb,!0);d&&Ii(this,d);return c};k.po=function(a,b,c){this.ba(a,b,c,"8042_INBUF.DATA",O.Se);if(this.jb&8)switch(this.ud){case 96:Ji(this,b);break;case 209:Ki(this,b);break;default:if(Ji(this,this.Xd&-17),this.bb){a=-1;switch(b){case 255:a=250,Li(this.bb)}Ii(this,a)}}this.ud=b;this.jb&=-9};k.Tm=function(a,b){var c=this.Ac&-209|(F(this.S)&64?16:0);this.ba(a,null,b,"8042_RWREG",O.Se|O.um,c);return c};
k.qo=function(a,b,c){this.ba(a,b,c,"8042_RWREG",O.Se);Gi(this,b)};k.Um=function(a,b){this.ba(a,null,b,"8042_STATUS",O.Se,this.jb);var c=this.jb&255;this.jb&256&&(this.jb|=1,this.jb&=-257);return c};
k.oo=function(a,b,c){this.ba(a,b,c,"8042_INBUFF.CMD",O.Se);this.ud=b;this.jb|=8;a=0;240<=this.ud&&(a=this.ud^15,this.ud=240);switch(this.ud){case 192:Ii(this,this.ve);break;case 173:Ji(this,this.Xd|16);break;case 174:Ji(this,this.Xd&-17);break;case 170:this.bb&&Mi(this.bb,!0);Ji(this,this.Xd|16);Ii(this,85);Ki(this,3);break;case 224:Ii(this,this.Xd&16?0:1);break;case 240:a&1&&xc(this.S)}};function Ji(a,b){a.Xd=b;a.jb=a.jb&-5|b&4;a.bb&&Hi(a.bb,!!(b&8),!(b&16))&&Ii(a,Fi(a.bb,!0))}
function Ii(a,b){0<=b&&(a.Rg=b,a.jb&=-2,a.jb|=256)}function Ki(a,b){a.hi=b;Ya(a.na,!!(b&2));b&1||xc(a.S)}k.hn=function(a,b){this.ba(a,null,b,"CMOS_ADDR",O.Cf,this.we);return this.we};k.Do=function(a,b,c){this.ba(a,b,c,"CMOS_ADDR",O.Cf);this.we=b;this.Vg=b&128?0:128};k.jn=function(a,b){var c=this.we&63,d=13>=c?Sh(this,c):this.pa[c];this.ba(a,null,b,"CMOS_DATA["+r(c)+"]",O.Cf,d);return d};
k.Eo=function(a,b,c){var d=this.we&63;this.ba(a,b,c,"CMOS_DATA["+r(d)+"]",O.Cf);a=this.pa;13>=d&&10>d&&(c=!1,this.pa[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12<b&&(b+=48),this.pa[11]&2||(12>=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.An=function(a,b){this.ba(a,null,b,"MFG_DATA",O.uc,this.Mf);return this.Mf};k.So=function(a,b,c){this.ba(a,b,c,"MFG_DATA",O.uc);this.Mf=b};k.Uo=function(a,b,c){this.ba(a,b,c,"NMI",O.uc);this.Vg=b};
k.Qn=function(a){var b=this.S.G>>8;this.X&&E(this.X,O.wm)&&(Ec(this.X,26,a),Fc(this.S,a,function(a,d){return function(e){d=F(a.S)-d;var f,g=a.S.J&255,h=a.S.J>>8,m=a.S.J&255,n=a.S.J>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+r(g)+" DH(sec)="+r(n);else if(4==b||5==b)f=" CX(year)="+u(a.S.I)+" DH(month)="+r(n)+" DL(day)="+r(m);Gc(a.X,26,e,d,f)}}(this,F(this.S))));return!0};function Ch(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function Kb(a,b){if(a.oi){void 0!==b?a.Dk=b:b=a.Dk&&a.S&&a.S.Ob;var c=Math.round(1193181/Ei(a,2));if(20>c||2E4<c)b=!1;b?a.od?(a.od.frequency.value=c,a.Qa("speaker set to "+c+"hz",O.Gg)):(a.od=a.oi.createOscillator(),a.od.type=1,a.od.connect(a.oi.destination),a.od.frequency.value=c,a.Qa("speaker on at "+c+"hz",O.Gg),a.od.noteOn(0)):a.od&&(a.od.noteOff(0),a.od.disconnect(),delete a.od,a.Qa("speaker off at "+c+"hz",O.Gg))}else b&&a.Qa("BEEP",O.Gg)}
k.Qa=function(a,b,c){this.X&&(null==b&&(b=O.uc),void 0!==c&&(b|=0==c?O.Ue:1==c?O.dk:6==c?O.Eg:0),E(this.X,b)&&this.X.message(a))};k.ba=function(a,b,c,d,e,f){this.X&&(null==e&&(e=O.uc),this.X.ba(this,a,b,c,d,e,f))};
function Ii(a,b){0<=b&&(a.Sg=b,a.jb&=-2,a.jb|=256)}function Ki(a,b){a.ii=b;Ya(a.na,!!(b&2));b&1||xc(a.S)}k.hn=function(a,b){this.ba(a,null,b,"CMOS_ADDR",O.Cf,this.we);return this.we};k.Do=function(a,b,c){this.ba(a,b,c,"CMOS_ADDR",O.Cf);this.we=b;this.Wg=b&128?0:128};k.jn=function(a,b){var c=this.we&63,d=13>=c?Sh(this,c):this.pa[c];this.ba(a,null,b,"CMOS_DATA["+r(c)+"]",O.Cf,d);return d};
k.Eo=function(a,b,c){var d=this.we&63;this.ba(a,b,c,"CMOS_DATA["+r(d)+"]",O.Cf);a=this.pa;13>=d&&10>d&&(c=!1,this.pa[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12<b&&(b+=48),this.pa[11]&2||(12>=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.An=function(a,b){this.ba(a,null,b,"MFG_DATA",O.uc,this.Mf);return this.Mf};k.So=function(a,b,c){this.ba(a,b,c,"MFG_DATA",O.uc);this.Mf=b};k.Uo=function(a,b,c){this.ba(a,b,c,"NMI",O.uc);this.Wg=b};
k.Qn=function(a){var b=this.S.G>>8;this.X&&D(this.X,O.wm)&&(Ec(this.X,26,a),Fc(this.S,a,function(a,d){return function(e){d=F(a.S)-d;var f,g=a.S.J&255,h=a.S.J>>8,m=a.S.J&255,n=a.S.J>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+r(g)+" DH(sec)="+r(n);else if(4==b||5==b)f=" CX(year)="+u(a.S.I)+" DH(month)="+r(n)+" DL(day)="+r(m);Gc(a.X,26,e,d,f)}}(this,F(this.S))));return!0};function Ch(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function Kb(a,b){if(a.pi){void 0!==b?a.Dk=b:b=a.Dk&&a.S&&a.S.Ob;var c=Math.round(1193181/Ei(a,2));if(20>c||2E4<c)b=!1;b?a.od?(a.od.frequency.value=c,a.Qa("speaker set to "+c+"hz",O.Hg)):(a.od=a.pi.createOscillator(),a.od.type=1,a.od.connect(a.pi.destination),a.od.frequency.value=c,a.Qa("speaker on at "+c+"hz",O.Hg),a.od.noteOn(0)):a.od&&(a.od.noteOff(0),a.od.disconnect(),delete a.od,a.Qa("speaker off at "+c+"hz",O.Hg))}else b&&a.Qa("BEEP",O.Hg)}
k.Qa=function(a,b,c){this.X&&(null==b&&(b=O.uc),void 0!==c&&(b|=0==c?O.Ue:1==c?O.dk:6==c?O.Eg:0),D(this.X,b)&&this.X.message(a))};k.ba=function(a,b,c,d,e,f){this.X&&(null==e&&(e=O.uc),this.X.ba(this,a,b,c,d,e,f))};
var Jh={0:function(a,b){return fi(this,0,0,a,b)},1:function(a,b){return hi(this,0,0,a,b)},2:function(a,b){return fi(this,0,1,a,b)},3:function(a,b){return hi(this,0,1,a,b)},4:function(a,b){return fi(this,0,2,a,b)},5:function(a,b){return hi(this,0,2,a,b)},6:function(a,b){return fi(this,0,3,a,b)},7:function(a,b){return hi(this,0,3,a,b)},8:function(a,b){return ji(this,0,a,b)},32:function(a,b){return ui(this,0,b)},33:function(a,b){return xi(this,0,b)},64:function(a,b){return Bi(this,0,b)},65:function(a,
b){return Bi(this,1,b)},66:function(a,b){return Bi(this,2,b)},67:O.prototype.Kn,129:function(a,b){return oi(this,0,2,a,b)},130:function(a,b){return oi(this,0,3,a,b)},131:function(a,b){return oi(this,0,1,a,b)},135:function(a,b){return oi(this,0,0,a,b)}},Lh={96:O.prototype.Cn,97:O.prototype.Dn,98:O.prototype.En,99:O.prototype.Fn},Nh={96:O.prototype.Sm,97:O.prototype.Tm,100:O.prototype.Um,112:O.prototype.hn,113:O.prototype.jn,128:O.prototype.An,132:function(a,b){return qi(this,0,a,b)},133:function(a,
b){return qi(this,1,a,b)},134:function(a,b){return qi(this,2,a,b)},136:function(a,b){return qi(this,3,a,b)},137:function(a,b){return oi(this,1,2,a,b)},138:function(a,b){return oi(this,1,3,a,b)},139:function(a,b){return oi(this,1,1,a,b)},140:function(a,b){return qi(this,4,a,b)},141:function(a,b){return qi(this,5,a,b)},142:function(a,b){return qi(this,6,a,b)},143:function(a,b){return oi(this,1,0,a,b)},160:function(a,b){return ui(this,1,b)},161:function(a,b){return xi(this,1,b)},192:function(a,b){return fi(this,
1,0,a,b)},194:function(a,b){return hi(this,1,0,a,b)},196:function(a,b){return fi(this,1,1,a,b)},198:function(a,b){return hi(this,1,1,a,b)},200:function(a,b){return fi(this,1,2,a,b)},202:function(a,b){return hi(this,1,2,a,b)},204:function(a,b){return fi(this,1,3,a,b)},206:function(a,b){return hi(this,1,3,a,b)},208:function(a,b){return ji(this,1,a,b)}},Kh={0:function(a,b,c){gi(this,0,0,a,b,c)},1:function(a,b,c){ii(this,0,0,a,b,c)},2:function(a,b,c){gi(this,0,1,a,b,c)},3:function(a,b,c){ii(this,0,1,
a,b,c)},4:function(a,b,c){gi(this,0,2,a,b,c)},5:function(a,b,c){ii(this,0,2,a,b,c)},6:function(a,b,c){gi(this,0,3,a,b,c)},7:function(a,b,c){ii(this,0,3,a,b,c)},8:function(a,b,c){this.ba(a,b,c,"DMA0.CMD",O.Fb);this.$a[0].ii=b},9:function(a,b,c){ki(this,0,a,b,c)},10:function(a,b,c){li(this,0,a,b,c)},11:function(a,b,c){this.ba(a,b,c,"DMA0.MODE",O.Fb);this.$a[0].Gb[b&3].mode=b},12:function(a,b,c){this.ba(a,b,c,"DMA0.INDEX",O.Fb);this.$a[0].qb=0},13:function(a,b,c){ni(this,0,a,b,c)},32:function(a,b,c){vi(this,
a,b,c)},4:function(a,b,c){gi(this,0,2,a,b,c)},5:function(a,b,c){ii(this,0,2,a,b,c)},6:function(a,b,c){gi(this,0,3,a,b,c)},7:function(a,b,c){ii(this,0,3,a,b,c)},8:function(a,b,c){this.ba(a,b,c,"DMA0.CMD",O.Fb);this.$a[0].ji=b},9:function(a,b,c){ki(this,0,a,b,c)},10:function(a,b,c){li(this,0,a,b,c)},11:function(a,b,c){this.ba(a,b,c,"DMA0.MODE",O.Fb);this.$a[0].Gb[b&3].mode=b},12:function(a,b,c){this.ba(a,b,c,"DMA0.INDEX",O.Fb);this.$a[0].qb=0},13:function(a,b,c){ni(this,0,a,b,c)},32:function(a,b,c){vi(this,
0,b,c)},33:function(a,b,c){yi(this,0,b,c)},64:function(a,b,c){Di(this,0,b,c)},65:function(a,b,c){Di(this,1,b,c)},66:function(a,b,c){Di(this,2,b,c)},67:O.prototype.bp,129:function(a,b,c){pi(this,0,2,a,b,c)},130:function(a,b,c){pi(this,0,3,a,b,c)},131:function(a,b,c){pi(this,0,1,a,b,c)},135:function(a,b,c){pi(this,0,0,a,b,c)}},Mh={96:O.prototype.Vo,97:O.prototype.Wo,98:O.prototype.Xo,99:O.prototype.Yo,160:O.prototype.Uo},Oh={96:O.prototype.po,97:O.prototype.qo,100:O.prototype.oo,112:O.prototype.Do,
113:O.prototype.Eo,128:O.prototype.So,132:function(a,b,c){ri(this,0,a,b,c)},133:function(a,b,c){ri(this,1,a,b,c)},134:function(a,b,c){ri(this,2,a,b,c)},136:function(a,b,c){ri(this,3,a,b,c)},137:function(a,b,c){pi(this,1,2,a,b,c)},138:function(a,b,c){pi(this,1,3,a,b,c)},139:function(a,b,c){pi(this,1,1,a,b,c)},140:function(a,b,c){ri(this,4,a,b,c)},141:function(a,b,c){ri(this,5,a,b,c)},142:function(a,b,c){ri(this,6,a,b,c)},143:function(a,b,c){pi(this,1,0,a,b,c)},160:function(a,b,c){vi(this,1,b,c)},161:function(a,
b,c){yi(this,1,b,c)},192:function(a,b,c){gi(this,1,0,a,b,c)},194:function(a,b,c){ii(this,1,0,a,b,c)},196:function(a,b,c){gi(this,1,1,a,b,c)},198:function(a,b,c){ii(this,1,1,a,b,c)},200:function(a,b,c){gi(this,1,2,a,b,c)},202:function(a,b,c){ii(this,1,2,a,b,c)},204:function(a,b,c){gi(this,1,3,a,b,c)},206:function(a,b,c){ii(this,1,3,a,b,c)},208:function(a,b,c){this.ba(a,b,c,"DMA1.CMD",O.Fb);this.$a[1].ii=b},210:function(a,b,c){ki(this,1,a,b,c)},212:function(a,b,c){li(this,1,a,b,c)},214:function(a,b,
b,c){yi(this,1,b,c)},192:function(a,b,c){gi(this,1,0,a,b,c)},194:function(a,b,c){ii(this,1,0,a,b,c)},196:function(a,b,c){gi(this,1,1,a,b,c)},198:function(a,b,c){ii(this,1,1,a,b,c)},200:function(a,b,c){gi(this,1,2,a,b,c)},202:function(a,b,c){ii(this,1,2,a,b,c)},204:function(a,b,c){gi(this,1,3,a,b,c)},206:function(a,b,c){ii(this,1,3,a,b,c)},208:function(a,b,c){this.ba(a,b,c,"DMA1.CMD",O.Fb);this.$a[1].ji=b},210:function(a,b,c){ki(this,1,a,b,c)},212:function(a,b,c){li(this,1,a,b,c)},214:function(a,b,
c){this.ba(a,b,c,"DMA1.MODE",O.Fb);this.$a[1].Gb[b&3].mode=b},216:function(a,b,c){this.ba(a,b,c,"DMA1.INDEX",O.Fb);this.$a[1].qb=0},218:function(a,b,c){ni(this,1,a,b,c)}};Ba(function(){for(var a=B(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new O(d);Oa(d,c);Th(d)}});
function Ni(a){x.call(this,"ROM",a,Ni);this.yb=null;this.kk=a.addr;this.Rh=a.size;this.zm=a.alias;this.wg=a.file;this.Kk=a.notify;if(this.wg){a=this.wg;var b=fa(this.wg);"json"!=b&&"hex"!=b&&(a=sa()+"/api/v1/dump?file="+this.wg+"&format=bytes&decimal=true");ra(a,!0,null,this,Ni.prototype.jo)}}y(x,Ni);Ni.prototype.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;Oi(this)};Ni.prototype.ac=function(){this.ci&&(this.X&&Pi(this.X,this.kk,this.Rh,this.ci),delete this.ci);return!0};Ni.prototype.Wb=function(){return!0};
Ni.prototype.jo=function(a,b,c){if(c)this.Ga("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.yb=e;else if(f)for(this.yb=Array(4*f.length),c=b=0;b<f.length;b++)this.yb[c++]=f[b]&255,this.yb[c++]=f[b]>>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.ci=d.symbols;if(!this.yb.length){w("Empty ROM: "+a);return}if(1==this.yb.length){w(this.yb[0]);return}}catch(g){this.Ga("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;d<a.length;d++)this.yb[d]=parseInt(a[d],16);Oi(this)}};function Oi(a){if(!Ra(a))if(!a.wg)a.Ta();else if(a.yb&&a.na){if(a.yb.length!=a.Rh)Sa(a,"ROM size (0x"+p(a.yb.length)+") does not match specified size (0x"+p(a.Rh)+")");else if(Qi(a,a.kk)&&Qi(a,a.zm)){if(a.Kk){var b=Ma(a.Kk,a.id);b&&("ega"==b.Fa&&Ri(b,a.yb,[8752,12640],8),b.Ta())}delete a.yb}a.Ta()}}
function Qi(a,b){if(null==b)return!0;if(Za(a.na,b,a.Rh,!0)){for(var c=0;c<a.yb.length;c++)db(a.na,b+c,a.yb[c]);return!0}return!1}Ba(function(){for(var a=B(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ni(d);Oa(d,c)}});function Si(a){x.call(this,"RAM",a,Si);this.Pg=a.addr;this.Od=a.size;this.Jm=a.test;this.Hm=!!this.Od;this.hh=!1}y(x,Si);Si.prototype.pc=function(a,b,c){this.na=b;this.S=c;this.Da=a;this.ka=C(a,"ChipSet");this.Ta()};
function Ni(a){x.call(this,"ROM",a,Ni);this.yb=null;this.kk=a.addr;this.Sh=a.size;this.zm=a.alias;this.wg=a.file;this.Kk=a.notify;if(this.wg){a=this.wg;var b=fa(this.wg);"json"!=b&&"hex"!=b&&(a=sa()+"/api/v1/dump?file="+this.wg+"&format=bytes&decimal=true");ra(a,!0,null,this,Ni.prototype.jo)}}y(x,Ni);Ni.prototype.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;Oi(this)};Ni.prototype.ac=function(){this.di&&(this.X&&Pi(this.X,this.kk,this.Sh,this.di),delete this.di);return!0};Ni.prototype.Wb=function(){return!0};
Ni.prototype.jo=function(a,b,c){if(c)this.Ga("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.yb=e;else if(f)for(this.yb=Array(4*f.length),c=b=0;b<f.length;b++)this.yb[c++]=f[b]&255,this.yb[c++]=f[b]>>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.di=d.symbols;if(!this.yb.length){w("Empty ROM: "+a);return}if(1==this.yb.length){w(this.yb[0]);return}}catch(g){this.Ga("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;d<a.length;d++)this.yb[d]=parseInt(a[d],16);Oi(this)}};function Oi(a){if(!Ra(a))if(!a.wg)a.Ta();else if(a.yb&&a.na){if(a.yb.length!=a.Sh)Sa(a,"ROM size (0x"+p(a.yb.length)+") does not match specified size (0x"+p(a.Sh)+")");else if(Qi(a,a.kk)&&Qi(a,a.zm)){if(a.Kk){var b=Ma(a.Kk,a.id);b&&("ega"==b.Fa&&Ri(b,a.yb,[8752,12640],8),b.Ta())}delete a.yb}a.Ta()}}
function Qi(a,b){if(null==b)return!0;if(Za(a.na,b,a.Sh,!0)){for(var c=0;c<a.yb.length;c++)db(a.na,b+c,a.yb[c]);return!0}return!1}Ba(function(){for(var a=B(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ni(d);Oa(d,c)}});function Si(a){x.call(this,"RAM",a,Si);this.Qg=a.addr;this.Od=a.size;this.Jm=a.test;this.Hm=!!this.Od;this.ih=!1}y(x,Si);Si.prototype.pc=function(a,b,c){this.na=b;this.S=c;this.Da=a;this.ka=C(a,"ChipSet");this.Ta()};
Si.prototype.ac=function(a,b){b||this.reset();return!0};Si.prototype.Wb=function(){return!0};
Si.prototype.reset=function(){if(!this.Pg&&!this.Hm&&this.ka){var a=1024*Xh(this.ka);this.Od&&a!=this.Od&&(ab(this.na,this.Pg,this.Od),this.hh=!1);this.Od=a}!this.hh&&this.Od&&Za(this.na,this.Pg,this.Od)&&(this.hh=!0,this.status(Math.floor(this.Od/1024)+"Kb"));if(this.hh){if(this.Jm||eb(this.na,1138,4660),this.ka&&(a=this.ka,a.pa)){var b=1048576>this.Pg?21:23,c=a.pa[b]|a.pa[b+1]<<8,c=c+(this.Od>>10);a.pa[b]=c&255;a.pa[b+1]=c>>8;ai(a)}}else w("No RAM allocated")};
Ba(function(){for(var a=B(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Si(d);Oa(d,c)}});function Xi(a){x.call(this,"Keyboard",a,Xi);this.bi={};this.Yn=250;this.Zn=100;this.Ta()}y(x,Xi);
Si.prototype.reset=function(){if(!this.Qg&&!this.Hm&&this.ka){var a=1024*Xh(this.ka);this.Od&&a!=this.Od&&(ab(this.na,this.Qg,this.Od),this.ih=!1);this.Od=a}!this.ih&&this.Od&&Za(this.na,this.Qg,this.Od)&&(this.ih=!0,this.status(Math.floor(this.Od/1024)+"Kb"));if(this.ih){if(this.Jm||eb(this.na,1138,4660),this.ka&&(a=this.ka,a.pa)){var b=1048576>this.Qg?21:23,c=a.pa[b]|a.pa[b+1]<<8,c=c+(this.Od>>10);a.pa[b]=c&255;a.pa[b+1]=c>>8;ai(a)}}else w("No RAM allocated")};
Ba(function(){for(var a=B(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Si(d);Oa(d,c)}});function Xi(a){x.call(this,"Keyboard",a,Xi);this.ci={};this.Yn=250;this.Zn=100;this.Ta()}y(x,Xi);
var Yi={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,backspace:14,tab:15,q:16,w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,squote:40,bquote:41,lshift:42,bslash:43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,rshift:54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,home:71,"up-arrow":72,"page-up":73,"num-minus":74,
"left-arrow":75,center:76,"right-arrow":77,"num-plus":78,end:79,"down-arrow":80,"page-down":81,ins:82,del:83},Zi={tab:9,esc:27,rshift:224,lshift:240,ctrl:241,alt:242,"caps-lock":244,f1:336,f2:337,f3:338,f4:339,f5:340,f6:341,f7:342,f8:343,f9:344,f10:345,"left-arrow":261,"up-arrow":262,"right-arrow":263,"down-arrow":264,"ctrl-c":3,"ctrl-break":254,"ctrl-alt-del":255},P=[];P[32]=57;P[49]=2;P[33]=61442;P[50]=3;P[64]=61443;P[51]=4;P[35]=61444;P[52]=5;P[36]=61445;P[53]=6;P[37]=61446;P[54]=7;P[94]=61447;
P[55]=8;P[38]=61448;P[56]=9;P[42]=61449;P[57]=10;P[40]=61450;P[48]=11;P[41]=61451;P[45]=12;P[95]=61452;P[61]=13;P[43]=61453;P[113]=16;P[81]=61456;P[119]=17;P[87]=61457;P[101]=18;P[69]=61458;P[114]=19;P[82]=61459;P[116]=20;P[84]=61460;P[121]=21;P[89]=61461;P[117]=22;P[85]=61462;P[105]=23;P[73]=61463;P[111]=24;P[79]=61464;P[112]=25;P[80]=61465;P[91]=26;P[123]=61466;P[93]=27;P[125]=61467;P[97]=30;P[65]=61470;P[115]=31;P[83]=61471;P[100]=32;P[68]=61472;P[102]=33;P[70]=61473;P[103]=34;P[71]=61474;
@ -483,165 +483,165 @@ P[104]=35;P[72]=61475;P[106]=36;P[74]=61476;P[107]=37;P[75]=61477;P[108]=38;P[76
P[339]=62;P[340]=63;P[341]=64;P[342]=65;P[343]=66;P[344]=67;P[345]=68;P[261]=75;P[262]=72;P[263]=77;P[264]=80;P[254]=61766;P[255]=15921491;k=Xi.prototype;
k.xb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.sa[a])switch(c){case "kbd":return this.sa[a]=d,d.onkeydown=function(a){return $i(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Ea&32?e.Ea&=-33:b=e.Ea&12?!1:!aj(e,a);return b},d.onkeyup=function(a){return $i(e,a,!1)},!0;default:if(void 0!==Zi[c]&&"button"==b)return this.sa[a]=d,d.onclick=function(a,b,c){return function(){a.S&&a.S.Md();return!aj(a,c)}}(this,c,Zi[c]),!0;if(void 0!==Yi[c])return this.sa[a]=
d,b=function(a,b,c){return function(){bj(a,c)}}(this,c,Yi[c]),c=function(a,b,c){return function(){bj(a,c)}}(this,c,Yi[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.ka=C(a,"ChipSet")};k.Ta=function(){this.Bk=(this.Rm=va("iOS"))||va("Android");this.Qa("mobile keyboard support: "+(this.Bk?"true":"false"));return x.prototype.Ta.call(this)};
function Li(a){a.Qa("keyboard reset",!0);a.zc=[170];a.ka&&zi(a.ka,1,4)}function Hi(a,b,c){var d=!1;a.zi!==c&&(a.zi=a.Fi=c);a.lh!==b&&(a.lh=b)&&!a.Fi&&Mi(a);a.lh&&a.Fi&&(Li(a),a.Fi=!1,d=!0);return d}function Fi(a,b){var c=0;a.zc.length&&(c=a.zc[0],a.Qa("scan code "+r(c)+" delivered"),b&&Mi(a));return c}function Mi(a,b){0<a.zc.length&&(b?a.zc=[]:(a.zc.shift(),0<a.zc.length&&a.ka&&zi(a.ka,1)))}k.ac=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie();this.Ea=0;this.zc=[];if(this.qd)for(var a in this.qd)ba(a)||this.qd[a]&&clearTimeout(this.qd[a]);this.qd=[];this.Yl=this.Me=0};k.save=function(){var a=new H(this);a.set(0,this.Yj());return a.data()};k.restore=function(a){return this.ie(a[0])};k.ie=function(a){var b=0;void 0===a&&(a=[]);this.zi=a[b++];this.lh=a[b];return!0};k.Yj=function(){var a=0,b=[];b[a++]=this.zi;b[a]=this.lh;return b};
function bj(a,b){var c=b&127,d=c==b;if(a.zc)if(20>a.zc.length){if(!(!d&&!a.bi[c]||d&&a.bi[c])){a.bi[c]=d;a.Qa("scan code "+r(b)+" buffered");a.zc.push(b);1==a.zc.length&&a.ka&&zi(a.ka,1);for(var e in Yi)if(Yi[e]==c){(c=a.sa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.zc.length&&a.zc.push(255),a.Qa("scan code buffer overflow")}function cj(a,b){var c=b?a.Zn:a.Yn;a.S&&a.S.ld&&(c/=a.S.ld);return c}
function Li(a){a.Qa("keyboard reset",!0);a.zc=[170];a.ka&&zi(a.ka,1,4)}function Hi(a,b,c){var d=!1;a.Ai!==c&&(a.Ai=a.Gi=c);a.mh!==b&&(a.mh=b)&&!a.Gi&&Mi(a);a.mh&&a.Gi&&(Li(a),a.Gi=!1,d=!0);return d}function Fi(a,b){var c=0;a.zc.length&&(c=a.zc[0],a.Qa("scan code "+r(c)+" delivered"),b&&Mi(a));return c}function Mi(a,b){0<a.zc.length&&(b?a.zc=[]:(a.zc.shift(),0<a.zc.length&&a.ka&&zi(a.ka,1)))}k.ac=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie();this.Ea=0;this.zc=[];if(this.qd)for(var a in this.qd)ba(a)||this.qd[a]&&clearTimeout(this.qd[a]);this.qd=[];this.Yl=this.Me=0};k.save=function(){var a=new H(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ie(a[0])};k.ie=function(a){var b=0;void 0===a&&(a=[]);this.Ai=a[b++];this.mh=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.Ai;b[a]=this.mh;return b};
function bj(a,b){var c=b&127,d=c==b;if(a.zc)if(20>a.zc.length){if(!(!d&&!a.ci[c]||d&&a.ci[c])){a.ci[c]=d;a.Qa("scan code "+r(b)+" buffered");a.zc.push(b);1==a.zc.length&&a.ka&&zi(a.ka,1);for(var e in Yi)if(Yi[e]==c){(c=a.sa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.zc.length&&a.zc.push(255),a.Qa("scan code buffer overflow")}function cj(a,b){var c=b?a.Zn:a.Yn;a.S&&a.S.ld&&(c/=a.S.ld);return c}
function dj(a,b){!a.Me||void 0!==b&&b==a.Me||(clearTimeout(a.qd[a.Me]),ej(a,a.Me,!1))}
function $i(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Yl=f);240==f+224?(a.Ea&=-2,c&&(a.Ea|=1),f+=224,e=!1):241==f+224?(a.Ea&=-5,c&&(a.Ea|=4),f+=224,e=!1):242==f+224?(a.Ea&=-9,c&&(a.Ea|=8),f+=224,e=!1):244==f+224?(a.Ea&=-17,c&&(a.Ea|=16),f+=224,d=aj(a,f)):91==f?(a.Ea&=-33,c&&(a.Ea|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.Ea&12)&&(f=254),d=c?!aj(a,f):!1):void 0!==P[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.Ea&=-33,a.Bk||f!=a.Yl||dj(a));void 0===d&&(d=!ej(a,f,c));return d}
function aj(a,b,c){var d=!1;dj(a,b);ej(a,b,!0)&&(c?ej(a,b,!1):(c=!1,a.qd[b]&&(clearTimeout(a.qd[b]),c=!0),c=cj(a,c),a.qd[a.Me=b]=setTimeout(function(a){return function(){ej(a,b,!1)}}(a),c)),d=!0);return d}
function ej(a,b,c){var d=!1;c||(a.qd[b]=null,a.Me==b&&(a.Me=0));var e=P[b];void 0===e&&1<=b&&26>=b&&(e=P[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Ea&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Ea&17||(d=42):224==f?a.Ea&18||(d=54):241==f?a.Ea&4||(d=29):242==f&&(a.Ea&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;c<b.length;c++)bj(a,b[c]);d=!0}return d}k.Qa=function(a,b){this.X&&E(this.X,this.X.dk|(b?this.X.ek:0))&&this.X.message(a)};
function ej(a,b,c){var d=!1;c||(a.qd[b]=null,a.Me==b&&(a.Me=0));var e=P[b];void 0===e&&1<=b&&26>=b&&(e=P[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Ea&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Ea&17||(d=42):224==f?a.Ea&18||(d=54):241==f?a.Ea&4||(d=29):242==f&&(a.Ea&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;c<b.length;c++)bj(a,b[c]);d=!0}return d}k.Qa=function(a,b){this.X&&D(this.X,this.X.dk|(b?this.X.ek:0))&&this.X.message(a)};
Ba(function(){for(var a=B(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Xi(d);Oa(d,c)}});
function Q(a,b,c,d){x.call(this,"Video",a,Q);this.Fa=a.model;this.Vc=0;"ega"==this.Fa&&(this.fm=a.switches,this.Vc=a.memory||0);this.nd=a.mode;if(void 0===this.nd||void 0===R[this.nd])this.nd=fj;this.Bh=a.charCols;this.Vi=a.charRows;if(void 0===this.Bh||void 0===this.Vi)this.Bh=R[this.nd][0],this.Vi=R[this.nd][1];this.xd=a.screenWidth;this.fe=a.screenHeight;this.Im=a.scale;this.Gm=12<=Math.round(this.xd/this.Bh);this.Km=a.touchScreen;this.Lb=b;this.Xc=c;this.km=d;this.cb=this.tc=0;this.Td=[];this.td=
Array(16);this.Bi=!1;var e=this;this.Lb&&(this.Lb.onfocus=function(){e.Bi=!0},this.Lb.onblur=function(){e.Bi=!1});if(a=a.fontROM)"json"!=fa(a)&&(a=sa()+"/api/v1/dump?file="+a+"&format=bytes"),ra(a,!0,null,this,this.ko)}y(x,Q);
var gj={2:{Zi:15700,Yi:208,Oj:85,Pj:96},3:{Zi:18432,Yi:364,Oj:85,Pj:96},4:{Zi:21850,Yi:364,Oj:85,Pj:96}},hj={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]},fj=7,R=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];R[fj]=[80,25,1,0,1];R[13]=[320,200,16];R[14]=[640,200,16];R[15]=[640,350,16];R[16]=[640,350,16];R[0]=R[1];R[2]=R[3];R[5]=R[4];var ij=Array(5);ij[0]=[0,0,0,255];ij[1]=[127,192,127,255];
function Q(a,b,c,d){x.call(this,"Video",a,Q);this.Fa=a.model;this.Vc=0;"ega"==this.Fa&&(this.fm=a.switches,this.Vc=a.memory||0);this.nd=a.mode;if(void 0===this.nd||void 0===R[this.nd])this.nd=fj;this.Ch=a.charCols;this.Wi=a.charRows;if(void 0===this.Ch||void 0===this.Wi)this.Ch=R[this.nd][0],this.Wi=R[this.nd][1];this.xd=a.screenWidth;this.fe=a.screenHeight;this.Im=a.scale;this.Gm=12<=Math.round(this.xd/this.Ch);this.Km=a.touchScreen;this.Lb=b;this.Xc=c;this.km=d;this.cb=this.tc=0;this.Td=[];this.td=
Array(16);this.Ci=!1;var e=this;this.Lb&&(this.Lb.onfocus=function(){e.Ci=!0},this.Lb.onblur=function(){e.Ci=!1});if(a=a.fontROM)"json"!=fa(a)&&(a=sa()+"/api/v1/dump?file="+a+"&format=bytes"),ra(a,!0,null,this,this.ko)}y(x,Q);
var gj={2:{$i:15700,Zi:208,Pj:85,Qj:96},3:{$i:18432,Zi:364,Pj:85,Qj:96},4:{$i:21850,Zi:364,Pj:85,Qj:96}},hj={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]},fj=7,R=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];R[fj]=[80,25,1,0,1];R[13]=[320,200,16];R[14]=[640,200,16];R[15]=[640,350,16];R[16]=[640,350,16];R[0]=R[1];R[2]=R[3];R[5]=R[4];var ij=Array(5);ij[0]=[0,0,0,255];ij[1]=[127,192,127,255];
ij[2]=[127,192,127,255];ij[3]=[127,255,127,255];ij[4]=[127,255,127,255];var jj=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],S=Array(16);S[0]=[0,0,0,255];S[1]=[0,0,170,255];S[2]=[0,170,0,255];S[3]=[0,170,170,255];S[4]=[170,0,0,255];S[5]=[170,0,170,255];S[6]=[170,85,0,255];S[7]=[170,170,170,255];S[8]=[85,85,85,255];S[9]=[85,85,255,255];S[10]=[85,255,85,255];S[11]=[85,255,255,255];S[12]=[255,85,85,255];S[13]=[255,85,255,255];S[14]=[255,255,85,255];S[15]=[255,255,255,255];
var kj=[2,4,6],lj=[3,5,7],mj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],nj=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],T=[0];T[128]=1;T[32768]=2;T[32896]=3;T[8388608]=4;T[8388736]=5;T[8421376]=6;T[8421504]=7;T[2147483648]=8;T[2147483776]=9;T[2147516416]=10;T[2147516544]=11;T[2155872256]=12;T[2155872384]=13;T[2155905024]=14;T[2155905152]=15;
function oj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=pj[b],f=a.je||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(qj)];this.X=a.X;this.type=e[0];this.port=e[1];this.he=b;this.cb=e[2];this.tc=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.cb&&(this.tc=Math.min(this.Vc>>2,32768));this.mc=c[0];this.Bc=c[1];this.$e=c[2];this.vf=c[3];this.oc=c[4]&255;this.rh=c[4]>>8&255;this.cc=c[5];this.Pi=qj;this.Qg=rj;if(5==b){this.Pi=sj;this.Qg=tj;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
0,0,0,Array(9),0,this.Vc,Array(this.Vc>>2),771,0,4294967295,0,4294967295,0,4294967295,0]);this.hd=b[0];this.Bd=b[1];this.Rd=b[2];this.ei=uj;this.Th=b[3];this.bg=b[4];this.qh=b[5];this.Dd=b[6];this.Ff=b[7];this.gi=vj;this.Ji=b[8];this.Ki=b[9];this.Cd=b[10];this.se=b[11];this.fi=wj;this.vb=b[12];d=this.Vc>>2;if((this.ed=b[14])&&this.ed.length<d){for(var e=this.ed,g=0,h=Array(d),m=0;m<e.length-1;){for(var n=e[m++],q=e[m++];n--;)h[g]=q,g+=2;g==d&&(g=1)}this.ed=h}this.Qh(b[15]);this.Jj=b[16];this.gb=b[17];
this.md=b[18];this.nb=b[19];this.Fh=b[20];this.le=b[21];this.Je=b[22];this.Ri=b[23];this.Si=b[24]}f=gj[f]||gj[3];this.Ti=a.S.Hd/f.Zi|0;this.bo=this.Ti*f.Oj/100|0;this.Sk=this.Ti*f.Yi;this.fo=this.Sk*f.Pj/100|0;this.$i=null==c[7]?0:c[7]}}
function oj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=pj[b],f=a.je||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(qj)];this.X=a.X;this.type=e[0];this.port=e[1];this.he=b;this.cb=e[2];this.tc=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.cb&&(this.tc=Math.min(this.Vc>>2,32768));this.mc=c[0];this.Bc=c[1];this.$e=c[2];this.vf=c[3];this.oc=c[4]&255;this.sh=c[4]>>8&255;this.cc=c[5];this.Qi=qj;this.Rg=rj;if(5==b){this.Qi=sj;this.Rg=tj;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
0,0,0,Array(9),0,this.Vc,Array(this.Vc>>2),771,0,4294967295,0,4294967295,0,4294967295,0]);this.hd=b[0];this.Bd=b[1];this.Rd=b[2];this.fi=uj;this.Uh=b[3];this.bg=b[4];this.rh=b[5];this.Dd=b[6];this.Ff=b[7];this.hi=vj;this.Ki=b[8];this.Li=b[9];this.Cd=b[10];this.se=b[11];this.gi=wj;this.vb=b[12];d=this.Vc>>2;if((this.ed=b[14])&&this.ed.length<d){for(var e=this.ed,g=0,h=Array(d),m=0;m<e.length-1;){for(var n=e[m++],q=e[m++];n--;)h[g]=q,g+=2;g==d&&(g=1)}this.ed=h}this.Rh(b[15]);this.Kj=b[16];this.gb=b[17];
this.md=b[18];this.nb=b[19];this.Gh=b[20];this.le=b[21];this.Je=b[22];this.Si=b[23];this.Ti=b[24]}f=gj[f]||gj[3];this.Ui=a.S.Hd/f.$i|0;this.bo=this.Ui*f.Pj/100|0;this.Sk=this.Ui*f.Zi;this.fo=this.Sk*f.Qj/100|0;this.aj=null==c[7]?0:c[7]}}
var qj=18,sj=25,rj="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),tj="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
uj="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),vj=["RESET","CLK","MAPMASK","CHARMAP","MODE"],wj="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function xj(a){return this.sc(a)|this.sc(a+1)<<8}function yj(a,b){this.Dc(a,b&255);this.Dc(a+1,b>>8&255)}
var U=[,,function(a){a+=this.offset;return(this.ia.vb=this.ra[a])>>this.ia.Jj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ra[b]>>8:this.ra[b])&255}];U[16]=function(a){a+=this.offset;a=this.ra[a];for(var b=this.ia.Ri&this.ia.Si,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};U[512]=function(a,b){var c=a+this.offset,d;d=this.ra[c]&~this.ia.gb|(b|b<<8|b<<16|b<<24)&this.ia.gb;d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};
var U=[,,function(a){a+=this.offset;return(this.ia.vb=this.ra[a])>>this.ia.Kj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ra[b]>>8:this.ra[b])&255}];U[16]=function(a){a+=this.offset;a=this.ra[a];for(var b=this.ia.Si&this.ia.Ti,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};U[512]=function(a,b){var c=a+this.offset,d;d=this.ra[c]&~this.ia.gb|(b|b<<8|b<<16|b<<24)&this.ia.gb;d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};
U[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.le|this.ia.Je;d=d&this.ia.gb|this.ra[c]&~this.ia.gb;d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};
U[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.le|this.ia.Je;d&=this.ia.vb;d=d&this.ia.gb|this.ra[c]&~this.ia.gb;d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};
U[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.le|this.ia.Je;d|=this.ia.vb;d=d&this.ia.gb|this.ra[c]&~this.ia.gb;d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};
U[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.le|this.ia.Je;d^=this.ia.vb;d=d&this.ia.gb|this.ra[c]&~this.ia.gb;d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};U[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.gb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ra[d]&~c;c=c&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[d]!=c&&(this.ra[d]=c,this.lb=!0)};
U[4096]=function(a){a+=this.offset;var b=this.ra[a]&~this.ia.gb|this.ia.vb&this.ia.gb;this.ra[a]!=b&&(this.ra[a]=b,this.lb=!0)};U[8192]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d&this.ia.gb|this.ra[c]&~this.ia.gb,d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};U[24576]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d&this.ia.vb,d=d&this.ia.gb|this.ra[c]&~this.ia.gb,d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};
U[40960]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d|this.ia.vb,d=d&this.ia.gb|this.ra[c]&~this.ia.gb,d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};U[57344]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d^this.ia.vb,d=d&this.ia.gb|this.ra[c]&~this.ia.gb,d=d&this.ia.nb|this.ia.vb&~this.ia.nb;this.ra[c]!=d&&(this.ra[c]=d,this.lb=!0)};
function zj(a){var b=[];if(void 0!==a.he){b[0]=a.mc;b[1]=a.Bc;b[2]=a.$e;b[3]=a.vf;b[4]=a.oc|a.rh<<8;b[5]=a.cc;if(5==a.he){var c=[];c[0]=a.hd;c[1]=a.Bd;c[2]=a.Rd;c[3]=a.Th;c[4]=a.bg;c[5]=a.qh;c[6]=a.Dd;c[7]=a.Ff;c[8]=a.Ji;c[9]=a.Ki;c[10]=a.Cd;c[11]=a.se;c[12]=a.vb;c[13]=a.Vc;var d;a:if(d=a.ed){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var m=d[h],n=h+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-h>>1;f[e++]=m;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=a.yh;c[16]=
a.Jj;c[17]=a.gb;c[18]=a.md;c[19]=a.nb;c[20]=a.Fh;c[21]=a.le;c[22]=a.Je;c[23]=a.Ri;c[24]=a.Si;b[6]=c}b[7]=a.$i}return b}function Aj(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var m=e[g],f=f+(b+"["+r(g)+"]: "+(m+" ".substr(0,h-m.length))+r(d[g])+(g===c?"*":""))}a.X.message(f)}else a.X.message(b+": "+r(c))}
oj.prototype.Qh=function(a){if(null!=a&&a!=this.yh){var b=a&255,c=U[b];c||b&1&&(c=U[1]);var b=a&65280,d=U[b];d||b&256&&(d=U[256]);this.Jf||(this.Jf=[null,xj,null,yj]);this.Jf[0]=c;this.Jf[2]=d;this.yh=a}};var pj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Q.prototype;
k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;ib(b,this,Bj);mb(b,this,Cj);"ega"==this.Fa&&(ib(b,this,Dj),mb(b,this,Ej));if(d){var e=this;Cc(this.S,16,this,this.Rn);Qh(d,d.Hg,function(a){if(e.Ca)if(a){var b=e.Ca;if(b.ed){a=ca(a);a=void 0!==a?a-b.cb:b.hp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.cb+a)+":",q=0;8>q&&a<b.ed.length;q++)var t=b.ed[a++],n=n+(" "+p(t));c&&(c+="\n");c+=n}c&&b.X.message(c);b.hp=a}else b.X.message("no buffer")}else{e.X.message("BIOSMODE: "+r(e.Jd));b=e.Ca;Aj(b,
"CRTC",b.oc,b.cc,b.Qg);if(1==b.he||3==b.he)Aj(b," MODEREG",b.Bc),Aj(b," STATUS1",b.vf);3==b.he&&Aj(b," COLOR",b.$e);5==b.he&&(b.X.message(" ATCDATA: "+b.hd),Aj(b," ATC",b.Bd,b.Rd,b.ei),Aj(b," GRC",b.Cd,b.se,b.fi),Aj(b," SEQ",b.Dd,b.Ff,b.gi),Aj(b," FEAT",b.qh),Aj(b," MISC",b.bg),Aj(b," STATUS0",b.Th),Aj(b," LATCHES",b.vb),b.X.message(" ACCESS: "+u(b.yh)),b.X.message("Use 'dump video buffer' to dump video memory"))}else e.X.message("no active video card")})}(this.bb=C(a,"Keyboard"))&&this.Lb&&
this.bb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Lb);this.Sg=9;(this.ka=C(a,"ChipSet"))&&this.fm&&(this.Sg=Ch(this.fm,this.Sg));this.bb&&this.Km&&Fj(this)};k.Rn=function(a){this.X&&E(this.X,this.X.Hg)&&(Ec(this.X,16,a),Fc(this.S,a,function(a,c){return function(d){Gc(a.X,16,d,F(a.S)-c)}}(this,F(this.S))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.sa[c]=d,d.onclick=function(){zb(e,!0)},!0}return!1};k.Md=function(){this.Lb&&this.Lb.focus()};
function Fj(a){var b=a.Lb;b&&!a.yi&&(b.addEventListener("touchstart",function(b){Gj(a,b)},!1),b.addEventListener("touchmove",function(b){Gj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.yi=!0)}
function Gj(a,b){a.Bi&&b.preventDefault();var c=0,d=0,e=a.Lb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.xd/a.Lb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.xd/3)|0;d=a.fe/a.Lb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.fe/3)|0;1!=d?d?aj(a.bb,264,!0):aj(a.bb,262,!0):1!=c&&(c?aj(a.bb,263,!0):aj(a.bb,261,!0))}k.ac=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
function zj(a){var b=[];if(void 0!==a.he){b[0]=a.mc;b[1]=a.Bc;b[2]=a.$e;b[3]=a.vf;b[4]=a.oc|a.sh<<8;b[5]=a.cc;if(5==a.he){var c=[];c[0]=a.hd;c[1]=a.Bd;c[2]=a.Rd;c[3]=a.Uh;c[4]=a.bg;c[5]=a.rh;c[6]=a.Dd;c[7]=a.Ff;c[8]=a.Ki;c[9]=a.Li;c[10]=a.Cd;c[11]=a.se;c[12]=a.vb;c[13]=a.Vc;var d;a:if(d=a.ed){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var m=d[h],n=h+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-h>>1;f[e++]=m;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=a.zh;c[16]=
a.Kj;c[17]=a.gb;c[18]=a.md;c[19]=a.nb;c[20]=a.Gh;c[21]=a.le;c[22]=a.Je;c[23]=a.Si;c[24]=a.Ti;b[6]=c}b[7]=a.aj}return b}function Aj(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var m=e[g],f=f+(b+"["+r(g)+"]: "+(m+" ".substr(0,h-m.length))+r(d[g])+(g===c?"*":""))}a.X.message(f)}else a.X.message(b+": "+r(c))}
oj.prototype.Rh=function(a){if(null!=a&&a!=this.zh){var b=a&255,c=U[b];c||b&1&&(c=U[1]);var b=a&65280,d=U[b];d||b&256&&(d=U[256]);this.Jf||(this.Jf=[null,xj,null,yj]);this.Jf[0]=c;this.Jf[2]=d;this.zh=a}};var pj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Q.prototype;
k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;ib(b,this,Bj);mb(b,this,Cj);"ega"==this.Fa&&(ib(b,this,Dj),mb(b,this,Ej));if(d){var e=this;Cc(this.S,16,this,this.Rn);Qh(d,d.Ig,function(a){if(e.Ca)if(a){var b=e.Ca;if(b.ed){a=ca(a);a=void 0!==a?a-b.cb:b.hp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.cb+a)+":",q=0;8>q&&a<b.ed.length;q++)var t=b.ed[a++],n=n+(" "+p(t));c&&(c+="\n");c+=n}c&&b.X.message(c);b.hp=a}else b.X.message("no buffer")}else{e.X.message("BIOSMODE: "+r(e.Jd));b=e.Ca;Aj(b,
"CRTC",b.oc,b.cc,b.Rg);if(1==b.he||3==b.he)Aj(b," MODEREG",b.Bc),Aj(b," STATUS1",b.vf);3==b.he&&Aj(b," COLOR",b.$e);5==b.he&&(b.X.message(" ATCDATA: "+b.hd),Aj(b," ATC",b.Bd,b.Rd,b.fi),Aj(b," GRC",b.Cd,b.se,b.gi),Aj(b," SEQ",b.Dd,b.Ff,b.hi),Aj(b," FEAT",b.rh),Aj(b," MISC",b.bg),Aj(b," STATUS0",b.Uh),Aj(b," LATCHES",b.vb),b.X.message(" ACCESS: "+u(b.zh)),b.X.message("Use 'dump video buffer' to dump video memory"))}else e.X.message("no active video card")})}(this.bb=C(a,"Keyboard"))&&this.Lb&&
this.bb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Lb);this.Tg=9;(this.ka=C(a,"ChipSet"))&&this.fm&&(this.Tg=Ch(this.fm,this.Tg));this.bb&&this.Km&&Fj(this)};k.Rn=function(a){this.X&&D(this.X,this.X.Ig)&&(Ec(this.X,16,a),Fc(this.S,a,function(a,c){return function(d){Gc(a.X,16,d,F(a.S)-c)}}(this,F(this.S))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.sa[c]=d,d.onclick=function(){zb(e,!0)},!0}return!1};k.Md=function(){this.Lb&&this.Lb.focus()};
function Fj(a){var b=a.Lb;b&&!a.zi&&(b.addEventListener("touchstart",function(b){Gj(a,b)},!1),b.addEventListener("touchmove",function(b){Gj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.zi=!0)}
function Gj(a,b){a.Ci&&b.preventDefault();var c=0,d=0,e=a.Lb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.xd/a.Lb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.xd/3)|0;d=a.fe/a.Lb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.fe/3)|0;1!=d?d?aj(a.bb,264,!0):aj(a.bb,262,!0):1!=c&&(c?aj(a.bb,263,!0):aj(a.bb,261,!0))}k.ac=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Wb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ka&&(b=Yh(this.ka));var c=!1;if(this.Fa)switch(this.Fa){case "ega":var c=!0,d=hj[this.Sg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.je!==b&&(this.je=b,a=!0);this.Ca=null;this.Uc=this.mi=new oj(this,1);this.zb=this.bh=new oj(this,3);c?(this.la=new oj(this,5,null,this.Vc),Hj(this)):this.la=new oj;Ij(this);this.Jd=null;this.nd=3==b?fj:3;this.Be=this.Lc=-1;this.Ae=0;Jj(this,this.nd);if(this.Ca.cb&&a){a=this.Ca.cb+this.ni;for(b=this.Ca.cb;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.je?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),eb(this.na,b,c|d<<8);zb(this,!0)}};function Hj(a){a.la.bg&1?(a.Uc=a.mi,a.zb=a.la):(a.Uc=a.la,a.zb=a.bh)}k.save=function(){var a=new H(this);a.set(0,zj(this.mi));a.set(1,zj(this.bh));a.set(2,[this.je,this.nd,this.Jd]);a.set(3,zj(this.la));return a.data()};
k.restore=function(a){var b=a[2];this.je=b[0];this.nd=b[1];this.Jd=b[2];this.Ca=null;this.Uc=this.mi=new oj(this,1,a[0]);this.zb=this.bh=new oj(this,3,a[1]);this.la=new oj(this,5,a[3],this.Vc);this.la.mc&&Hj(this);Ij(this);if(!Kj(this))return!1;Lj(this);return!0};
k.reset=function(){var a=!0,b=0;this.ka&&(b=Yh(this.ka));var c=!1;if(this.Fa)switch(this.Fa){case "ega":var c=!0,d=hj[this.Tg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.je!==b&&(this.je=b,a=!0);this.Ca=null;this.Uc=this.ni=new oj(this,1);this.zb=this.dh=new oj(this,3);c?(this.la=new oj(this,5,null,this.Vc),Hj(this)):this.la=new oj;Ij(this);this.Jd=null;this.nd=3==b?fj:3;this.Be=this.Lc=-1;this.Ae=0;Jj(this,this.nd);if(this.Ca.cb&&a){a=this.Ca.cb+this.oi;for(b=this.Ca.cb;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.je?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),eb(this.na,b,c|d<<8);zb(this,!0)}};function Hj(a){a.la.bg&1?(a.Uc=a.ni,a.zb=a.la):(a.Uc=a.la,a.zb=a.dh)}k.save=function(){var a=new H(this);a.set(0,zj(this.ni));a.set(1,zj(this.dh));a.set(2,[this.je,this.nd,this.Jd]);a.set(3,zj(this.la));return a.data()};
k.restore=function(a){var b=a[2];this.je=b[0];this.nd=b[1];this.Jd=b[2];this.Ca=null;this.Uc=this.ni=new oj(this,1,a[0]);this.zb=this.dh=new oj(this,3,a[1]);this.la=new oj(this,5,a[3],this.Vc);this.la.mc&&Hj(this);Ij(this);if(!Kj(this))return!1;Lj(this);return!0};
k.ko=function(a,b,c){if(c)this.Ga("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)Ri(this,d,[0,6144]);else{this.Ga("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ga("Font ROM data error: "+e.message);return}this.Ta()}};
function Mj(a,b){if(1==b)return a.td[0]=S[0],a.td[1]=S[7],a.td;if(2==b){var c=a.Ca.$e;if(a.Ca===a.la){var d=a.la.Rd[0],c=d&7;d&16&&(c|=8);18!=a.la.Rd[1]&&(c|=32)}a.td[0]=S[c&15];c=c&32?lj:kj;for(d=0;d<c.length;d++)a.td[d+1]=S[c[d]];return a.td}if(a.zb===a.bh)return S;c=null!=a.la.Rd[15]?a.la.Rd:mj;for(d=0;d<a.td.length;d++){var e=c[d]||0;a.td[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.td}function Ri(a,b,c,d){a.Og=b;a.ai=c;a.De=d}
function Ij(a){var b=!1;if(window&&a.Og){var c=a.De?0:2048,d=a.De?a.De:9;Nj(a,1,a.ai[0],c,d,14,a.Og,ij,jj)&&(b=!0);c=Mj(a);d=a.De?a.De:8;Nj(a,3,a.ai[1],0,d,8,a.Og,c)&&(b=!0);a.De&&Nj(a,5,a.ai[0],0,a.De,14,a.Og,c)&&(b=!0)}return b}function Nj(a,b,c,d,e,f,g,h,m){var n=!1;Oj(a,b,c,d,e,f,g,h,m)&&(n=!0);a.Gm&&Oj(a,b<<1,c,d,e,f,g,h,m)&&(n=!0);return n}
function Oj(a,b,c,d,e,f,g,h,m){var n=!1,q=b&1?0:1,t=a.Td[b];t||(t={kc:e<<q,lc:f<<q,Ve:Array(h.length),ik:h.slice(),Ef:m,Zh:Array(h.length)});for(m=0;m<h.length;m++){var s=h[m],v=t.Ve[m]?t.ik[m]:[];if(s[0]!==v[0]||s[1]!==v[1]||s[2]!==v[2]){var n=t,v=m,A=q,D=c,ka=d,la=e,vb=f,Qc=g,Xd=[0,0,0,0],Rc=window.document.createElement("canvas");Rc.width=n.kc<<4;Rc.height=n.lc<<4;for(var Ti=Rc.getContext("2d"),Ha=void 0,Ob=void 0,gb=void 0,Sc=8>vb||!ka?vb:8,Yd=Ti.createImageData(n.kc,n.lc),Ha=0;256>Ha;Ha++){for(gb=
0;gb<vb;gb++)for(var ql=n.Ef&&v&1&&gb>=vb-2,rl=Qc[gb<Sc?D+Ha*Sc+gb:ka+Ha*Sc+gb-Sc],Zd=0;Zd<=A;Zd++)for(Ob=0;Ob<la;Ob++){var Ui=Ob<<A,Vi=(gb<<A)+Zd,Wi=ql||rl&128>>(8<=Ob&&176<=Ha&&223>=Ha?7:Ob)?s:Xd;Pj(Yd,Ui,Vi,Wi);A&&Pj(Yd,Ui+1,Vi,Wi)}Ti.putImageData(Yd,(Ha&15)*n.kc,(Ha>>4)*n.lc)}n.Ve[v]="#"+r(s[0])+r(s[1])+r(s[2]);n.ik[v]=s;n.Zh[v]=Rc;n=!0}}a.Td[b]=t;return n}function Qj(a){0<a.Ae||0<=a.Lc?0>a.Be&&(a.Be=0):a.Be=-1}
function Mj(a,b){if(1==b)return a.td[0]=S[0],a.td[1]=S[7],a.td;if(2==b){var c=a.Ca.$e;if(a.Ca===a.la){var d=a.la.Rd[0],c=d&7;d&16&&(c|=8);18!=a.la.Rd[1]&&(c|=32)}a.td[0]=S[c&15];c=c&32?lj:kj;for(d=0;d<c.length;d++)a.td[d+1]=S[c[d]];return a.td}if(a.zb===a.dh)return S;c=null!=a.la.Rd[15]?a.la.Rd:mj;for(d=0;d<a.td.length;d++){var e=c[d]||0;a.td[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.td}function Ri(a,b,c,d){a.Pg=b;a.bi=c;a.De=d}
function Ij(a){var b=!1;if(window&&a.Pg){var c=a.De?0:2048,d=a.De?a.De:9;Nj(a,1,a.bi[0],c,d,14,a.Pg,ij,jj)&&(b=!0);c=Mj(a);d=a.De?a.De:8;Nj(a,3,a.bi[1],0,d,8,a.Pg,c)&&(b=!0);a.De&&Nj(a,5,a.bi[0],0,a.De,14,a.Pg,c)&&(b=!0)}return b}function Nj(a,b,c,d,e,f,g,h,m){var n=!1;Oj(a,b,c,d,e,f,g,h,m)&&(n=!0);a.Gm&&Oj(a,b<<1,c,d,e,f,g,h,m)&&(n=!0);return n}
function Oj(a,b,c,d,e,f,g,h,m){var n=!1,q=b&1?0:1,t=a.Td[b];t||(t={kc:e<<q,lc:f<<q,Ve:Array(h.length),ik:h.slice(),Ef:m,$h:Array(h.length)});for(m=0;m<h.length;m++){var s=h[m],v=t.Ve[m]?t.ik[m]:[];if(s[0]!==v[0]||s[1]!==v[1]||s[2]!==v[2]){var n=t,v=m,A=q,E=c,la=d,ma=e,vb=f,Qc=g,Xd=[0,0,0,0],Rc=window.document.createElement("canvas");Rc.width=n.kc<<4;Rc.height=n.lc<<4;for(var Ti=Rc.getContext("2d"),Ha=void 0,Pb=void 0,gb=void 0,Sc=8>vb||!la?vb:8,Yd=Ti.createImageData(n.kc,n.lc),Ha=0;256>Ha;Ha++){for(gb=
0;gb<vb;gb++)for(var ql=n.Ef&&v&1&&gb>=vb-2,rl=Qc[gb<Sc?E+Ha*Sc+gb:la+Ha*Sc+gb-Sc],Zd=0;Zd<=A;Zd++)for(Pb=0;Pb<ma;Pb++){var Ui=Pb<<A,Vi=(gb<<A)+Zd,Wi=ql||rl&128>>(8<=Pb&&176<=Ha&&223>=Ha?7:Pb)?s:Xd;Pj(Yd,Ui,Vi,Wi);A&&Pj(Yd,Ui+1,Vi,Wi)}Ti.putImageData(Yd,(Ha&15)*n.kc,(Ha>>4)*n.lc)}n.Ve[v]="#"+r(s[0])+r(s[1])+r(s[2]);n.ik[v]=s;n.$h[v]=Rc;n=!0}}a.Td[b]=t;return n}function Qj(a){0<a.Ae||0<=a.Lc?0>a.Be&&(a.Be=0):a.Be=-1}
function Lj(a){if(a.Sb){for(var b=10;15>=b;b++)if(null==a.Ca.cc[b])return;var c=a.Ca.cc[10],b=c&31,d=a.Ca.cc[11]&31,e=a.Ca.cc[9]&31,f=!1;a.Ca===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Rj(a);else{c=a.Ca.cc[15]+((a.Ca.cc[14]&63)<<8);a.Lc!=c&&(Rj(a),a.Lc=c);d=d-b+1;if(a.nm!=b||a.xk!=d)a.nm=b,a.xk=d;a.ee=e+1;Qj(a)}}}
function Rj(a){if(0<=a.Lc){if(void 0!==a.dc){var b=a.dc[a.Lc];if(b&131072){var b=b&-131073,c=a.Lc%a.Bb,d=Math.floor(a.Lc/a.Bb);a.Sb&&a.Td[a.Sb]&&(a.af&&Sj(a,c,d,b,a.af),Sj(a,c,d,b));a.dc[a.Lc]=b}}a.Lc=-1}}
function Tj(a){var b;a=a.Ca;var c=a.se[5];if(null!=c){b=2;var d=512,e=a.se[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.md=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.Pe=function(a){var b=this.Ca;null!=a&&b&&a!=b.yh&&(b.Qh(a),this.na.Qh(b.cb,b.tc,b.Jf))};
function Tj(a){var b;a=a.Ca;var c=a.se[5];if(null!=c){b=2;var d=512,e=a.se[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.md=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.Pe=function(a){var b=this.Ca;null!=a&&b&&a!=b.zh&&(b.Rh(a),this.na.Rh(b.cb,b.tc,b.Jf))};
function Kj(a,b){var c,d=a.Jd,e=a.Ca;if(e)if(1==e.he)d=fj;else if(5==e.he){var d=null,f=e.Vc>>2,g=32768<f?32768:f,h=e.se[6];if(null!=h){switch(h&12){case 0:e.cb=655360;e.tc=f;d=255;break;case 4:e.cb=655360;e.tc=f;d=3==a.je?15:16;break;case 8:e.cb=720896;e.tc=g;d=fj;break;case 12:e.cb=753664,e.tc=g,d=3==a.je?2:3}c=e.Ff[1]&8;f=e.cc[6]|(e.cc[7]&1)<<8;255!=d&&(h&1?753664==e.cb?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=Tj(a)}}else e.Bc&8&&(e.Bc&2?(d=e.Bc&16?6:5,e.Bc&4||(d-=1)):(d=e.Bc&1?3:1,e.Bc&4&&(d-=
1)));else a.Jd=null,null==d&&(d=a.nd);if(!Jj(a,d,b))return!1;a.Pe(c);return!0}
function Jj(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.Bm=0;a.Jd=b;b=a.Ca||(b==fj?a.Uc:a.zb);if(b!=a.Ca||b.cb!=a.cb||b.tc!=a.tc){Rj(a);if(a.cb){if(!ab(a.na,a.cb,a.tc))return!1;a.Ca&&(a.Ca.mc=!1)}a.Ca=b;b.mc=!0;a.cb=b.cb;a.tc=b.tc;if(!Za(a.na,b.cb,b.tc,!1,b===a.la?b:null))return!1}a.Sb=0;a.Bb=a.Bh;a.rc=a.Vi;a.Qi=R[fj][2];b=0;var d=R[a.Jd];d&&(a.Bb=d[0],a.rc=d[1],a.Qi=d[2],b=d[3]||0,a.Sb=d[4],4==a.je&&a.Ca===a.la&&3==a.Sb&&(7==a.la.cc[9]?a.rc=43:a.Sb=5));a.Pk=a.Bb*a.rc;a.Ah=a.Pk/a.Qi;a.ni=(a.Ah<<1)+b;a.uk=
b?a.ni+b>>1:0;13<=a.Jd&&(a.Ah<<=1);a.Td.length&&(a.yd=Math.floor(a.xd/a.Bb),a.zd=Math.floor(a.fe/a.rc),a.Sb?(b=a.Td[a.Sb],d=a.Td[a.Sb<<1],a.Im&&80==a.Bb?d&&a.yd>=3*d.kc>>2&&(a.Sb<<=1,b=d):(d&&a.yd>=d.kc&&(a.Sb<<=1,b=d),b&&(a.yd=b.kc,a.zd=b.lc)),a.Wf=a.Xf=0,b&&(a.Wf=a.Bb*b.kc,a.Xf=a.rc*b.lc)):(a.yd=a.zd=1,a.Wf=a.Bb,a.Xf=a.rc),a.uh=a.Xc.createImageData(a.Wf,a.Xf),a.Ze=window.document.createElement("canvas"),a.Ze.width=a.Wf,a.Ze.height=a.Xf,a.af=a.Ze.getContext("2d"),a.ak=a.bk=0,a.pi=a.xd,a.qi=a.fe,
b=a.xd-a.Bb*a.yd,d=a.fe-a.rc*a.zd,0<b&&(a.ak=b>>1,a.pi-=b),0<d&&(a.bk=d>>1,a.qi-=d),b||d)&&(a.Xc.fillStyle=a.Lb.style.backgroundColor,a.Xc.fillRect(0,0,a.xd,a.fe));!1!==c?zb(a,!0):Uj(a,!0)}return!0}function Pj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Uj(a,b){var c;if(b){if(c=a.Ah,void 0===a.dc||a.dc.length!=c)a.dc=Array(c)}else{if(void 0===a.dc)return;c=a.dc.length}for(var d=0;d<c;d++)a.dc[d]=-1;a.Ae=-1}
function Sj(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Td[a.Sb];h.Ef&&(d=h.Ef[d]);var m=g>>4&15;h.Ef&&(m=h.Ef[m]);e?(b*=h.kc,c*=h.lc,e.fillStyle=h.Ve[m],e.fillRect(b,c,h.kc,h.lc)):(b=b*a.yd+a.ak,c=c*a.zd+a.bk,a.Xc.fillStyle=h.Ve[m],a.Xc.fillRect(b,c,a.yd,a.zd));g&256&&(m=(f&15)*h.kc,f=(f>>4)*h.lc,e?e.drawImage(h.Zh[d],m,f,h.kc,h.lc,b,c,h.kc,h.lc):a.Xc.drawImage(h.Zh[d],m,f,h.kc,h.lc,b,c,a.yd,a.zd));g&512&&(f=a.nm,g=a.xk,e?(a.ee&&a.ee!==h.lc&&(f=Math.floor(f*h.lc/a.ee),g=Math.floor(g*h.lc/a.ee)),
function Jj(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.Bm=0;a.Jd=b;b=a.Ca||(b==fj?a.Uc:a.zb);if(b!=a.Ca||b.cb!=a.cb||b.tc!=a.tc){Rj(a);if(a.cb){if(!ab(a.na,a.cb,a.tc))return!1;a.Ca&&(a.Ca.mc=!1)}a.Ca=b;b.mc=!0;a.cb=b.cb;a.tc=b.tc;if(!Za(a.na,b.cb,b.tc,!1,b===a.la?b:null))return!1}a.Sb=0;a.Bb=a.Ch;a.rc=a.Wi;a.Ri=R[fj][2];b=0;var d=R[a.Jd];d&&(a.Bb=d[0],a.rc=d[1],a.Ri=d[2],b=d[3]||0,a.Sb=d[4],4==a.je&&a.Ca===a.la&&3==a.Sb&&(7==a.la.cc[9]?a.rc=43:a.Sb=5));a.Pk=a.Bb*a.rc;a.Bh=a.Pk/a.Ri;a.oi=(a.Bh<<1)+b;a.uk=
b?a.oi+b>>1:0;13<=a.Jd&&(a.Bh<<=1);a.Td.length&&(a.yd=Math.floor(a.xd/a.Bb),a.zd=Math.floor(a.fe/a.rc),a.Sb?(b=a.Td[a.Sb],d=a.Td[a.Sb<<1],a.Im&&80==a.Bb?d&&a.yd>=3*d.kc>>2&&(a.Sb<<=1,b=d):(d&&a.yd>=d.kc&&(a.Sb<<=1,b=d),b&&(a.yd=b.kc,a.zd=b.lc)),a.Wf=a.Xf=0,b&&(a.Wf=a.Bb*b.kc,a.Xf=a.rc*b.lc)):(a.yd=a.zd=1,a.Wf=a.Bb,a.Xf=a.rc),a.vh=a.Xc.createImageData(a.Wf,a.Xf),a.Ze=window.document.createElement("canvas"),a.Ze.width=a.Wf,a.Ze.height=a.Xf,a.af=a.Ze.getContext("2d"),a.bk=a.ck=0,a.qi=a.xd,a.ri=a.fe,
b=a.xd-a.Bb*a.yd,d=a.fe-a.rc*a.zd,0<b&&(a.bk=b>>1,a.qi-=b),0<d&&(a.ck=d>>1,a.ri-=d),b||d)&&(a.Xc.fillStyle=a.Lb.style.backgroundColor,a.Xc.fillRect(0,0,a.xd,a.fe));!1!==c?zb(a,!0):Uj(a,!0)}return!0}function Pj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Uj(a,b){var c;if(b){if(c=a.Bh,void 0===a.dc||a.dc.length!=c)a.dc=Array(c)}else{if(void 0===a.dc)return;c=a.dc.length}for(var d=0;d<c;d++)a.dc[d]=-1;a.Ae=-1}
function Sj(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Td[a.Sb];h.Ef&&(d=h.Ef[d]);var m=g>>4&15;h.Ef&&(m=h.Ef[m]);e?(b*=h.kc,c*=h.lc,e.fillStyle=h.Ve[m],e.fillRect(b,c,h.kc,h.lc)):(b=b*a.yd+a.bk,c=c*a.zd+a.ck,a.Xc.fillStyle=h.Ve[m],a.Xc.fillRect(b,c,a.yd,a.zd));g&256&&(m=(f&15)*h.kc,f=(f>>4)*h.lc,e?e.drawImage(h.$h[d],m,f,h.kc,h.lc,b,c,h.kc,h.lc):a.Xc.drawImage(h.$h[d],m,f,h.kc,h.lc,b,c,a.yd,a.zd));g&512&&(f=a.nm,g=a.xk,e?(a.ee&&a.ee!==h.lc&&(f=Math.floor(f*h.lc/a.ee),g=Math.floor(g*h.lc/a.ee)),
e.fillStyle=h.Ve[d],e.fillRect(b,c+f,h.kc,g)):(a.ee&&a.ee!==a.zd&&(f=Math.floor(f*a.zd/a.ee),g=Math.floor(g*a.zd/a.ee)),a.Xc.fillStyle=h.Ve[d],a.Xc.fillRect(b,c+f,a.yd,g)))}
function zb(a,b){if(a.Nb){var c=!1;a.Ca&&(a.Ca===a.la?a.la.Bd&32&&(c=!0):a.Ca.Bc&8&&(c=!0));if(c||b){if(b)Uj(a,!0);else if(void 0===a.dc)return;var d=!1;!(b||++a.Bm&15)&&0<=a.Be&&(a.Be++,d=!0);var e=0,f=a.Pk,c=a.Ca.cb,g=c+a.Ca.tc,h=(a.Ca.cc[12]<<8)+a.Ca.cc[13];a.Sb&&(h<<=1);var c=c+h,m=a.ni;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.na,n=!0,q=c>>h.rb;0<m&&q<h.Aa.length;)h.Aa[q].lb&&(h.Aa[q].lb=n=!1,h.Aa[q].zk=!0),m-=h.fc,q++;h=n}if(h){if(!d)return;if(!a.Ae){if(0>a.Lc)return;e=a.Lc;f=e+1}}if(a.Sb){if(a.Td[a.Sb]){d=
0;h=a.Ae=0;m=1048575;a.Ca.Bc&32&&(h=32768,m&=~h,a.Be&2||(m&=-65537));for(c+=e<<1;c<g&&e<f;)n=cb(a.na,c),n|=65536,n&h&&(a.Ae++,n&=m),e==a.Lc&&(n|=a.Be&1?131072:0),q=a.dc[e],q!=n&&(Sj(a,e%a.Bb,Math.floor(e/a.Bb),n,a.af),a.dc[e]=n,d++),c+=2,e++;d&&a.af&&a.Xc.drawImage(a.Ze,0,0,a.Wf,a.Xf,a.ak,a.bk,a.pi,a.qi);Qj(a)}}else if(a.uk){for(var f=g,t,s,e=c,g=a.Ae=0,d=a.Qi,h=16==d?65536:196608,m=16==d?1:2,n=Mj(a,m),v=q=0,A=a.Bb,D=0,ka=a.rc,la=0;e<f;){t=cb(a.na,e);s=a.dc[g];if(s===t)q+=d;else{a.dc[g]=t;t=t>>8|
(t&255)<<8;s=h;var vb=16;q<A&&(A=q);for(var Qc=0;Qc<d;Qc++){var Xd=(t&(s>>=m))>>(vb-=m);Pj(a.uh,q++,v,n[Xd])}q>D&&(D=q);v<ka&&(ka=v);v>=la&&(la=v+1)}e+=2;g++;if(q>=a.Bb){q=0;v+=2;if(v>a.rc)break;v==a.rc&&(v=1,e=c+a.uk)}}A<a.Bb&&(a.af.putImageData(a.uh,0,0,A,ka,D-A,la-ka),a.Xc.drawImage(a.Ze,0,0,a.Bb,a.rc,0,0,a.xd,a.fe))}else{f=g;e=a.Ae=0;g=Mj(a);d=a.Ca.ed;m=h=0;n=a.Bb;q=0;v=a.rc;for(A=0;c<f;){D=c++-a.cb;D=d[D];ka=a.dc[e];if(ka===D)h+=8;else{a.dc[e]=D;h<n&&(n=h);for(ka=0;8>ka;ka++)la=D&2155905152,
0>la&&(la=-la),la=T[la]||0,Pj(a.uh,h++,m,g[la]),D<<=1;h>q&&(q=h);m<v&&(v=m);m>=A&&(A=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.rc))break}n<a.Bb&&(a.af.putImageData(a.uh,0,0,n,v,q-n,A-v),a.Xc.drawImage(a.Ze,0,0,a.Bb,a.rc,0,0,a.xd,a.fe))}}}}k.xn=function(a,b){return Vj(this,this.Uc,b)};k.Qo=function(a,b,c){a=this.Uc;a.rh=a.oc;a.oc=b&31;this.ba(a.port,b,c,"CRTC.INDX")};k.wn=function(a,b){return Wj(this,this.Uc,b)};k.Po=function(a,b,c){Xj(this,this.Uc,b,c)};k.yn=function(a,b){return Yj(this,this.Uc,b)};
k.Ro=function(a,b,c){a=this.Uc;this.ba(a.port+4,b,c,"MODE");a.Bc=b;Kj(this,!1)};k.zn=function(a,b){return Zj(this,this.Uc,b)};k.Wl=function(a,b,c){this.la.qh=this.la.qh&-4|b&3;this.ba(a,b,c,"FEAT")};k.Lk=function(a,b){var c=this.la.hd?this.la.Rd[this.la.Bd&31]:this.la.Bd;this.ba(960,null,b,"ATC."+(this.la.hd?this.la.ei[this.la.Bd&31]:"INDX"),c);this.la.hd=!this.la.hd;return c};
k.Vl=function(a,b,c){var d=this.la.Bd&32;if(this.la.hd){var e=this.la.Bd&31;if(16<=e||!d)this.ba(a,b,c,"ATC."+this.la.ei[e]),this.la.Rd[e]=b;this.la.hd=!1}else this.la.Bd=b,this.ba(a,b,c,"ATC.INDX"),this.la.hd=!0,b&32&&!d&&Ij(this)&&zb(this,!0)};k.Jn=function(a,b){var c=3-((this.la.bg&12)>>2),c=this.la.Th&-17|(this.Sg&1<<c)<<4-c;this.la.Th=c;this.ba(962,null,b,"STATUS0",c);return c};k.To=function(a,b,c){this.la.bg=b;Hj(this);this.ba(962,b,c,"MISC")};
k.In=function(a,b){var c=this.la.Dd;this.ba(964,null,b,"SEQ.INDX",c);return c};k.$o=function(a,b,c){this.la.Dd=b;this.ba(964,b,c,"SEQ.INDX")};k.Hn=function(a,b){var c=this.la.Ff[this.la.Dd];this.ba(965,null,b,"SEQ"+this.la.gi[this.la.Dd],c);return c};k.Zo=function(a,b,c){this.ba(965,b,c,"SEQ."+this.la.gi[this.la.Dd]);this.la.Ff[this.la.Dd]=b;2==this.la.Dd&&(this.la.gb=nj[b&15])};k.pn=function(a,b){var c=this.la.Ji;this.ba(972,null,b,"GRC1",c);return c};
k.Ko=function(a,b,c){this.la.Ji=b;this.ba(972,b,c,"GRC1")};k.qn=function(a,b){var c=this.la.Ki;this.ba(970,null,b,"GRC2",c);return c};k.Lo=function(a,b,c){this.la.Ki=b;this.ba(970,b,c,"GRC2")};k.on=function(a,b){var c=this.la.Cd;this.ba(974,null,b,"GRC.INDX",c);return c};k.Jo=function(a,b,c){this.la.Cd=b;this.ba(974,b,c,"GRC.INDX")};k.nn=function(a,b){var c=this.la.se[this.la.Cd];this.ba(975,null,b,"GRC."+this.la.fi[this.la.Cd],c);return c};
k.Io=function(a,b,c){this.ba(975,b,c,"GRC."+this.la.fi[this.la.Cd]);this.la.se[this.la.Cd]=b;switch(this.la.Cd){case 0:this.la.Fh=nj[b&15];this.la.Je=this.la.Fh&~this.la.le;break;case 1:this.la.le=~nj[b&15];this.la.Je=this.la.Fh&~this.la.le;break;case 2:this.la.Ri=nj[b&15]&2155905152;break;case 3:case 5:this.Pe(Tj(this));break;case 4:this.la.Jj=(b&3)<<3;break;case 6:Kj(this,!1);break;case 7:this.la.Si=nj[b&15^15]&2155905152;break;case 8:this.la.nb=b|b<<8|b<<16|b<<24}};
k.en=function(a,b){return Vj(this,this.zb,b)};k.Bo=function(a,b,c){a=this.zb;a.rh=a.oc;a.oc=b&31;this.ba(a.port,b,c,"CRTC.INDX")};k.dn=function(a,b){return Wj(this,this.zb,b)};k.Ao=function(a,b,c){Xj(this,this.zb,b,c)};k.fn=function(a,b){return Yj(this,this.zb,b)};k.Co=function(a,b,c){a=this.zb;this.ba(a.port+4,b,c,"MODE");a.Bc=b;Kj(this,!1)};k.cn=function(a,b){var c=this.zb.$e;this.ba(this.zb.port+5,null,b,this.zb.type+".COLOR",c);return c};
k.zo=function(a,b,c){this.ba(this.zb.port+5,b,c,this.zb.type+".COLOR");this.zb.$e!==b&&(this.zb.$e=b,Uj(this,!1))};k.gn=function(a,b){return Zj(this,this.zb,b)};function Vj(a,b,c){var d=b.oc;a.ba(b.port,null,c,"CRTC.INDX",d);return d}function Wj(a,b,c){var d;b.oc<b.Pi&&(d=b.cc[b.oc]);a.ba(b.port+1,null,c,"CRTC."+b.Qg[b.oc],d);return d}function Xj(a,b,c,d){b.oc<b.Pi&&(a.ba(b.port+1,c,d,"CRTC."+b.Qg[b.oc]),b.cc[b.oc]=c,9==b.oc&&8!=b.rh&&Kj(a,!0),Lj(a))}
function Yj(a,b,c){var d=b.Bc;a.ba(b.port+4,null,c,"MODE",d);return d}function Zj(a,b,c){var d=0,e=F(a.S),f=e-b.$i;0>f&&(f=0);f%b.Ti>b.bo&&(d|=1);f%=b.Sk;f>b.fo&&(d|=8);b.$i=e-f;b===a.la?(d|=b.vf&48^48,b.hd=!1):d=(b.vf^=9)|240;b.vf=d;a.ba(b.port+6,null,c,b===a.la?"STATUS1":"STATUS",d);return d}k.Qa=function(a,b){this.X&&(b||E(this.X,this.X.Hg))&&this.X.message(a)};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,this.X.Hg,e)};
function zb(a,b){if(a.Nb){var c=!1;a.Ca&&(a.Ca===a.la?a.la.Bd&32&&(c=!0):a.Ca.Bc&8&&(c=!0));if(c||b){if(b)Uj(a,!0);else if(void 0===a.dc)return;var d=!1;!(b||++a.Bm&15)&&0<=a.Be&&(a.Be++,d=!0);var e=0,f=a.Pk,c=a.Ca.cb,g=c+a.Ca.tc,h=(a.Ca.cc[12]<<8)+a.Ca.cc[13];a.Sb&&(h<<=1);var c=c+h,m=a.oi;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.na,n=!0,q=c>>h.rb;0<m&&q<h.Aa.length;)h.Aa[q].lb&&(h.Aa[q].lb=n=!1,h.Aa[q].zk=!0),m-=h.fc,q++;h=n}if(h){if(!d)return;if(!a.Ae){if(0>a.Lc)return;e=a.Lc;f=e+1}}if(a.Sb){if(a.Td[a.Sb]){d=
0;h=a.Ae=0;m=1048575;a.Ca.Bc&32&&(h=32768,m&=~h,a.Be&2||(m&=-65537));for(c+=e<<1;c<g&&e<f;)n=cb(a.na,c),n|=65536,n&h&&(a.Ae++,n&=m),e==a.Lc&&(n|=a.Be&1?131072:0),q=a.dc[e],q!=n&&(Sj(a,e%a.Bb,Math.floor(e/a.Bb),n,a.af),a.dc[e]=n,d++),c+=2,e++;d&&a.af&&a.Xc.drawImage(a.Ze,0,0,a.Wf,a.Xf,a.bk,a.ck,a.qi,a.ri);Qj(a)}}else if(a.uk){for(var f=g,t,s,e=c,g=a.Ae=0,d=a.Ri,h=16==d?65536:196608,m=16==d?1:2,n=Mj(a,m),v=q=0,A=a.Bb,E=0,la=a.rc,ma=0;e<f;){t=cb(a.na,e);s=a.dc[g];if(s===t)q+=d;else{a.dc[g]=t;t=t>>8|
(t&255)<<8;s=h;var vb=16;q<A&&(A=q);for(var Qc=0;Qc<d;Qc++){var Xd=(t&(s>>=m))>>(vb-=m);Pj(a.vh,q++,v,n[Xd])}q>E&&(E=q);v<la&&(la=v);v>=ma&&(ma=v+1)}e+=2;g++;if(q>=a.Bb){q=0;v+=2;if(v>a.rc)break;v==a.rc&&(v=1,e=c+a.uk)}}A<a.Bb&&(a.af.putImageData(a.vh,0,0,A,la,E-A,ma-la),a.Xc.drawImage(a.Ze,0,0,a.Bb,a.rc,0,0,a.xd,a.fe))}else{f=g;e=a.Ae=0;g=Mj(a);d=a.Ca.ed;m=h=0;n=a.Bb;q=0;v=a.rc;for(A=0;c<f;){E=c++-a.cb;E=d[E];la=a.dc[e];if(la===E)h+=8;else{a.dc[e]=E;h<n&&(n=h);for(la=0;8>la;la++)ma=E&2155905152,
0>ma&&(ma=-ma),ma=T[ma]||0,Pj(a.vh,h++,m,g[ma]),E<<=1;h>q&&(q=h);m<v&&(v=m);m>=A&&(A=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.rc))break}n<a.Bb&&(a.af.putImageData(a.vh,0,0,n,v,q-n,A-v),a.Xc.drawImage(a.Ze,0,0,a.Bb,a.rc,0,0,a.xd,a.fe))}}}}k.xn=function(a,b){return Vj(this,this.Uc,b)};k.Qo=function(a,b,c){a=this.Uc;a.sh=a.oc;a.oc=b&31;this.ba(a.port,b,c,"CRTC.INDX")};k.wn=function(a,b){return Wj(this,this.Uc,b)};k.Po=function(a,b,c){Xj(this,this.Uc,b,c)};k.yn=function(a,b){return Yj(this,this.Uc,b)};
k.Ro=function(a,b,c){a=this.Uc;this.ba(a.port+4,b,c,"MODE");a.Bc=b;Kj(this,!1)};k.zn=function(a,b){return Zj(this,this.Uc,b)};k.Wl=function(a,b,c){this.la.rh=this.la.rh&-4|b&3;this.ba(a,b,c,"FEAT")};k.Lk=function(a,b){var c=this.la.hd?this.la.Rd[this.la.Bd&31]:this.la.Bd;this.ba(960,null,b,"ATC."+(this.la.hd?this.la.fi[this.la.Bd&31]:"INDX"),c);this.la.hd=!this.la.hd;return c};
k.Vl=function(a,b,c){var d=this.la.Bd&32;if(this.la.hd){var e=this.la.Bd&31;if(16<=e||!d)this.ba(a,b,c,"ATC."+this.la.fi[e]),this.la.Rd[e]=b;this.la.hd=!1}else this.la.Bd=b,this.ba(a,b,c,"ATC.INDX"),this.la.hd=!0,b&32&&!d&&Ij(this)&&zb(this,!0)};k.Jn=function(a,b){var c=3-((this.la.bg&12)>>2),c=this.la.Uh&-17|(this.Tg&1<<c)<<4-c;this.la.Uh=c;this.ba(962,null,b,"STATUS0",c);return c};k.To=function(a,b,c){this.la.bg=b;Hj(this);this.ba(962,b,c,"MISC")};
k.In=function(a,b){var c=this.la.Dd;this.ba(964,null,b,"SEQ.INDX",c);return c};k.$o=function(a,b,c){this.la.Dd=b;this.ba(964,b,c,"SEQ.INDX")};k.Hn=function(a,b){var c=this.la.Ff[this.la.Dd];this.ba(965,null,b,"SEQ"+this.la.hi[this.la.Dd],c);return c};k.Zo=function(a,b,c){this.ba(965,b,c,"SEQ."+this.la.hi[this.la.Dd]);this.la.Ff[this.la.Dd]=b;2==this.la.Dd&&(this.la.gb=nj[b&15])};k.pn=function(a,b){var c=this.la.Ki;this.ba(972,null,b,"GRC1",c);return c};
k.Ko=function(a,b,c){this.la.Ki=b;this.ba(972,b,c,"GRC1")};k.qn=function(a,b){var c=this.la.Li;this.ba(970,null,b,"GRC2",c);return c};k.Lo=function(a,b,c){this.la.Li=b;this.ba(970,b,c,"GRC2")};k.on=function(a,b){var c=this.la.Cd;this.ba(974,null,b,"GRC.INDX",c);return c};k.Jo=function(a,b,c){this.la.Cd=b;this.ba(974,b,c,"GRC.INDX")};k.nn=function(a,b){var c=this.la.se[this.la.Cd];this.ba(975,null,b,"GRC."+this.la.gi[this.la.Cd],c);return c};
k.Io=function(a,b,c){this.ba(975,b,c,"GRC."+this.la.gi[this.la.Cd]);this.la.se[this.la.Cd]=b;switch(this.la.Cd){case 0:this.la.Gh=nj[b&15];this.la.Je=this.la.Gh&~this.la.le;break;case 1:this.la.le=~nj[b&15];this.la.Je=this.la.Gh&~this.la.le;break;case 2:this.la.Si=nj[b&15]&2155905152;break;case 3:case 5:this.Pe(Tj(this));break;case 4:this.la.Kj=(b&3)<<3;break;case 6:Kj(this,!1);break;case 7:this.la.Ti=nj[b&15^15]&2155905152;break;case 8:this.la.nb=b|b<<8|b<<16|b<<24}};
k.en=function(a,b){return Vj(this,this.zb,b)};k.Bo=function(a,b,c){a=this.zb;a.sh=a.oc;a.oc=b&31;this.ba(a.port,b,c,"CRTC.INDX")};k.dn=function(a,b){return Wj(this,this.zb,b)};k.Ao=function(a,b,c){Xj(this,this.zb,b,c)};k.fn=function(a,b){return Yj(this,this.zb,b)};k.Co=function(a,b,c){a=this.zb;this.ba(a.port+4,b,c,"MODE");a.Bc=b;Kj(this,!1)};k.cn=function(a,b){var c=this.zb.$e;this.ba(this.zb.port+5,null,b,this.zb.type+".COLOR",c);return c};
k.zo=function(a,b,c){this.ba(this.zb.port+5,b,c,this.zb.type+".COLOR");this.zb.$e!==b&&(this.zb.$e=b,Uj(this,!1))};k.gn=function(a,b){return Zj(this,this.zb,b)};function Vj(a,b,c){var d=b.oc;a.ba(b.port,null,c,"CRTC.INDX",d);return d}function Wj(a,b,c){var d;b.oc<b.Qi&&(d=b.cc[b.oc]);a.ba(b.port+1,null,c,"CRTC."+b.Rg[b.oc],d);return d}function Xj(a,b,c,d){b.oc<b.Qi&&(a.ba(b.port+1,c,d,"CRTC."+b.Rg[b.oc]),b.cc[b.oc]=c,9==b.oc&&8!=b.sh&&Kj(a,!0),Lj(a))}
function Yj(a,b,c){var d=b.Bc;a.ba(b.port+4,null,c,"MODE",d);return d}function Zj(a,b,c){var d=0,e=F(a.S),f=e-b.aj;0>f&&(f=0);f%b.Ui>b.bo&&(d|=1);f%=b.Sk;f>b.fo&&(d|=8);b.aj=e-f;b===a.la?(d|=b.vf&48^48,b.hd=!1):d=(b.vf^=9)|240;b.vf=d;a.ba(b.port+6,null,c,b===a.la?"STATUS1":"STATUS",d);return d}k.Qa=function(a,b){this.X&&(b||D(this.X,this.X.Ig))&&this.X.message(a)};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,this.X.Ig,e)};
var Bj={948:Q.prototype.xn,949:Q.prototype.wn,952:Q.prototype.yn,954:Q.prototype.zn,980:Q.prototype.en,981:Q.prototype.dn,984:Q.prototype.fn,985:Q.prototype.cn,986:Q.prototype.gn},Cj={948:Q.prototype.Qo,949:Q.prototype.Po,952:Q.prototype.Ro,980:Q.prototype.Bo,981:Q.prototype.Ao,984:Q.prototype.Co,985:Q.prototype.zo},Dj={960:Q.prototype.Lk,961:Q.prototype.Lk,962:Q.prototype.Jn,964:Q.prototype.In,965:Q.prototype.Hn,970:Q.prototype.qn,972:Q.prototype.pn,974:Q.prototype.on,975:Q.prototype.nn},Ej={954:Q.prototype.Wl,
960:Q.prototype.Vl,961:Q.prototype.Vl,962:Q.prototype.To,964:Q.prototype.$o,965:Q.prototype.Zo,970:Q.prototype.Lo,972:Q.prototype.Ko,974:Q.prototype.Jo,975:Q.prototype.Io,986:Q.prototype.Wl};
Ba(function(){for(var a=B(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new Q(d,e,f);Oa(d,c)}});
function V(a){this.Ik=a.adapter;switch(this.Ik){case 1:this.Qj=1016;this.kg=4;break;case 2:this.Qj=760;this.kg=3;break;default:w("Unrecognized serial adapter #"+this.Ik);return}this.ce=null;x.call(this,"SerialPort",a,V);var b=a.binding,c;a=ak;b&&(void 0===c&&(c="Panel"),(c=Na(c,this.id))&&(b=c.sa[b])&&this.xb(null,null,a,b))}y(x,V);var ak="buffer";k=V.prototype;k.lk=function(a,b){return a==this.sh?(this.Mk=b,this):null};
k.xb=function(a,b,c,d){var e=this;switch(c){case ak:return this.sa[c]=this.ce=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),bk(e,[b]))},d.onkeypress=function(a){a=a||window.event;bk(e,[a.which||a.keyCode])},!0}return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.ka=C(a,"ChipSet");d&&Ph(d,V);ib(b,this,ck,this.Qj);mb(b,this,dk,this.Qj);this.Ta()};
k.ac=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie()};k.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.ki;c[b++]=this.pk;c[b++]=this.Re;c[b++]=this.Tg;c[b++]=this.Zd;c[b++]=this.Tc;c[b++]=this.fd;c[b++]=this.Gc;c[b++]=this.nk;c[b]=this.Hf;a.set(0,c);return a.data()};k.restore=function(a){return this.ie(a[0])};
k.ie=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ki=a[b++];this.pk=a[b++];this.Re=a[b++];this.Tg=a[b++];this.Zd=a[b++];this.Tc=a[b++];this.fd=a[b++];this.Gc=a[b++];this.nk=a[b++];this.Hf=a[b];return!0};function bk(a,b){a.Hf=a.Hf.concat(b);ek(a)}function ek(a){0<a.Hf.length&&!(a.Gc&1)&&(a.ki=a.Hf.shift(),a.Gc|=1);var b=-1;a.Gc&1&&a.Tg&1&&(b=4);0<=b?(a.Zd&=-8,a.Zd|=b,a.ka&&a.kg&&zi(a.ka,a.kg)):(a.Zd|=1,a.ka&&a.kg&&Ai(a.ka,a.kg))}
k.Gn=function(a,b){var c=this.Tc&128?this.Re&255:this.ki;this.ba(a,null,b,this.Tc&128?"DLL":"RBR",c);this.Gc&=-2;ek(this);return c};k.rn=function(a,b){var c=this.Tc&128?this.Re>>8:this.Tg;this.ba(a,null,b,this.Tc&128?"DLM":"IER",c);return c};k.sn=function(a,b){var c=this.Zd;this.ba(a,null,b,"IIR",c);return c};k.tn=function(a,b){var c=this.Tc;this.ba(a,null,b,"LCR",c);return c};k.vn=function(a,b){var c=this.fd;this.ba(a,null,b,"MCR",c);return c};
function V(a){this.Ik=a.adapter;switch(this.Ik){case 1:this.Rj=1016;this.kg=4;break;case 2:this.Rj=760;this.kg=3;break;default:w("Unrecognized serial adapter #"+this.Ik);return}this.ce=null;x.call(this,"SerialPort",a,V);var b=a.binding,c;a=ak;b&&(void 0===c&&(c="Panel"),(c=Na(c,this.id))&&(b=c.sa[b])&&this.xb(null,null,a,b))}y(x,V);var ak="buffer";k=V.prototype;k.lk=function(a,b){return a==this.th?(this.Mk=b,this):null};
k.xb=function(a,b,c,d){var e=this;switch(c){case ak:return this.sa[c]=this.ce=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),bk(e,[b]))},d.onkeypress=function(a){a=a||window.event;bk(e,[a.which||a.keyCode])},!0}return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.ka=C(a,"ChipSet");d&&Ph(d,V);ib(b,this,ck,this.Rj);mb(b,this,dk,this.Rj);this.Ta()};
k.ac=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie()};k.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.li;c[b++]=this.pk;c[b++]=this.Re;c[b++]=this.Ug;c[b++]=this.Zd;c[b++]=this.Tc;c[b++]=this.fd;c[b++]=this.Gc;c[b++]=this.nk;c[b]=this.Hf;a.set(0,c);return a.data()};k.restore=function(a){return this.ie(a[0])};
k.ie=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.li=a[b++];this.pk=a[b++];this.Re=a[b++];this.Ug=a[b++];this.Zd=a[b++];this.Tc=a[b++];this.fd=a[b++];this.Gc=a[b++];this.nk=a[b++];this.Hf=a[b];return!0};function bk(a,b){a.Hf=a.Hf.concat(b);ek(a)}function ek(a){0<a.Hf.length&&!(a.Gc&1)&&(a.li=a.Hf.shift(),a.Gc|=1);var b=-1;a.Gc&1&&a.Ug&1&&(b=4);0<=b?(a.Zd&=-8,a.Zd|=b,a.ka&&a.kg&&zi(a.ka,a.kg)):(a.Zd|=1,a.ka&&a.kg&&Ai(a.ka,a.kg))}
k.Gn=function(a,b){var c=this.Tc&128?this.Re&255:this.li;this.ba(a,null,b,this.Tc&128?"DLL":"RBR",c);this.Gc&=-2;ek(this);return c};k.rn=function(a,b){var c=this.Tc&128?this.Re>>8:this.Ug;this.ba(a,null,b,this.Tc&128?"DLM":"IER",c);return c};k.sn=function(a,b){var c=this.Zd;this.ba(a,null,b,"IIR",c);return c};k.tn=function(a,b){var c=this.Tc;this.ba(a,null,b,"LCR",c);return c};k.vn=function(a,b){var c=this.fd;this.ba(a,null,b,"MCR",c);return c};
k.un=function(a,b){var c=this.Gc;this.ba(a,null,b,"LSR",c);return c};k.Bn=function(a,b){var c=this.nk;this.ba(a,null,b,"MSR",c);return c};k.ap=function(a,b,c){this.ba(a,b,c,this.Tc&128?"DLL":"THR");this.Tc&128?this.Re=this.Re&-256|b:(this.pk=b,this.Gc&=-97,this.ce?(13!=b&&(8==b?this.ce.value=this.ce.value.slice(0,-1):(this.ce.value+=String.fromCharCode(b),this.ce.scrollTop=this.ce.scrollHeight)),a=!0):a=!1,a&&(this.Gc|=96))};
k.Mo=function(a,b,c){this.ba(a,b,c,this.Tc&128?"DLM":"IER");this.Tc&128?this.Re=this.Re&255|b<<8:this.Tg=b};k.No=function(a,b,c){this.ba(a,b,c,"LCR");this.Tc=b};
k.Oo=function(a,b,c){var d=this.fd;this.ba(a,b,c,"MCR");this.fd=b;this.Mk&&(d^b)&3&&(a=this.Mk,b=this.fd,(c=3==(b&3))?a.mc||(d=!1,a.fd&2||(a.reset(),a.Qa("serial mouse reset"),d=!0),a.fd&1||(a.Qa("serial mouse ID requested"),d=!0),d&&(bk(a.Sf,[77]),a.Qa("serial mouse ID sent")),fk(a,a.Lb),a.mc=c):a.mc&&(a.Qa("serial mouse inactive"),gk(a.Lb),a.mc=c),a.fd=b)};k.Qa=function(a){this.X&&E(this.X,this.X.fk)&&this.X.message(a)};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,this.X.fk,e)};
var ck={0:V.prototype.Gn,1:V.prototype.rn,2:V.prototype.sn,3:V.prototype.tn,4:V.prototype.vn,5:V.prototype.un,6:V.prototype.Bn},dk={0:V.prototype.ap,1:V.prototype.Mo,3:V.prototype.No,4:V.prototype.Oo};Ba(function(){for(var a=B(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new V(d);Oa(d,c)}});function hk(a){x.call(this,"Mouse",a,hk);if(this.Li=a.serial)this.Tj="SerialPort";this.mc=!1;this.Ta()}y(x,hk);k=hk.prototype;
k.pc=function(a,b,c,d){this.Da=a;this.na=b;this.S=c;(this.X=d)&&Ph(d,hk)};k.ac=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Tj&&!this.Sf){for(var c=null;(c=C(this.Da,this.Tj,c))&&(!c.lk||!(this.Sf=c.lk(this.Li,this))););if(this.Sf){if(c=C(this.Da,"Video"))this.Lb=c.Lb}else w(this.id+": "+this.Tj+" "+this.Li+" unavailable")}this.mc?fk(this,this.Lb):gk(this.Lb)}return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie()};
k.save=function(){var a=new H(this);a.set(0,this.Yj());return a.data()};k.restore=function(a){return this.ie(a[0])};k.ie=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.mc=a[b++];this.Cg=a[b++];this.Dg=a[b++];this.yf=a[b++];this.zf=a[b++];this.ih=a[b++];this.jh=a[b++];this.fd=a[b];return!0};k.Yj=function(){var a=0,b=[];b[a++]=this.mc;b[a++]=this.Cg;b[a++]=this.Dg;b[a++]=this.yf;b[a++]=this.zf;b[a++]=this.ih;b[a++]=this.jh;b[a]=this.fd;return b};
function fk(a,b){b&&(a.yi||(b.addEventListener("mousemove",function(b){if(a.mc&&a.S&&a.S.Ob){if(0>a.Cg||0>a.Dg)a.Cg=b.clientX,a.Dg=b.clientY;a.yf=b.clientX-a.Cg;a.zf=b.clientY-a.Dg;(a.yf||a.zf)&&ik(a,null,b.clientX,b.clientY);a.Cg=b.clientX;a.Dg=b.clientY}},!1),b.addEventListener("mousedown",function(b){jk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){jk(a,b.button,!1)},!1),a.yi=!0),b.style.cursor="none")}function gk(a){a&&(a.style.cursor="auto")}
function jk(a,b,c){if(a.mc&&a.S&&a.S.Ob)switch(b){case 0:a.ih!=c&&(a.ih=c,ik(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.jh!=c&&(a.jh=c,ik(a,"mouse button2 "+(c?"dn":"up")))}}function ik(a,b,c,d){var e=64|(a.ih?32:0)|(a.jh?16:0)|(a.zf&192)>>4|(a.yf&192)>>6,f=a.yf&63,g=a.zf&63;a.Qa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(g)+"]");bk(a.Sf,[e,f,g]);a.yf=a.zf=0}k.Qa=function(a){this.X&&E(this.X,this.X.vm)&&this.X.message(a)};
Ba(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new hk(d);Oa(d,c)}});function kk(a,b,c){x.call(this,"Disk",{id:a.th+".disk"+lk++},kk);this.ia=a;this.Da=a.Da;this.X=a.X;this.Pa=b;this.mode=c;this.Kd=b.name;this.gc=b.gc;this.$b=b.$b;this.jc=b.jc;this.Mb=b.Mb;this.ef=b.ef;this.Di=this.Ad=!1;this.create();this.re=[];this.Kg=[];this.Pd=null;this.Ok=0;this.Gi=!1;this.Ta()}var lk=0;y(x,kk);k=kk.prototype;k.pc=function(a,b,c,d){this.X=d};
k.ac=function(a,b){b||this.Di&&!this.Ad&&this.load(this.Kd,this.tf);return!0};k.Wb=function(a,b){if(this.Ad){var c,d=0;if(this.Gi&&!ta("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=mk(this,!1);)if(d=c[0]){this.Ga('Unable to save "'+this.Kd+'" (error '+d+")");break}b&&this.Ad&&(c="action=close&volume="+this.tf,c+="&machine="+this.ia.gf(),c+="&user="+this.ia.ge(),ra(sa()+"/api/v1/disk?"+c,!0),this.Ad=!1);d||this.Ga(this.Kd+" saved")}return!0};
k.create=function(){this.pb=[];if("preload"!=this.mode){for(var a=Array(this.gc),b=0;b<a.length;b++){for(var c=Array(this.$b),d=0;d<c.length;d++){for(var e=Array(this.jc),f=1;f<=e.length;f++)e[f-1]=nk(null,b,d,f,this.Mb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.pb=a}this.gh=0};
k.load=function(a,b,c){var d=b;this.Kd=a;this.tf=b;this.Fk=c;0>b.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.gc+":"+this.$b+":"+this.jc+":"+this.Mb,a+="&machine="+this.ia.gf(),a+="&user="+this.ia.ge(),d=sa()+"/api/v1/disk?"+a,this.Di=!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"):
k.Mo=function(a,b,c){this.ba(a,b,c,this.Tc&128?"DLM":"IER");this.Tc&128?this.Re=this.Re&255|b<<8:this.Ug=b};k.No=function(a,b,c){this.ba(a,b,c,"LCR");this.Tc=b};
k.Oo=function(a,b,c){var d=this.fd;this.ba(a,b,c,"MCR");this.fd=b;this.Mk&&(d^b)&3&&(a=this.Mk,b=this.fd,(c=3==(b&3))?a.mc||(d=!1,a.fd&2||(a.reset(),a.Qa("serial mouse reset"),d=!0),a.fd&1||(a.Qa("serial mouse ID requested"),d=!0),d&&(bk(a.Sf,[77]),a.Qa("serial mouse ID sent")),fk(a,a.Lb),a.mc=c):a.mc&&(a.Qa("serial mouse inactive"),gk(a.Lb),a.mc=c),a.fd=b)};k.Qa=function(a){this.X&&D(this.X,this.X.fk)&&this.X.message(a)};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,this.X.fk,e)};
var ck={0:V.prototype.Gn,1:V.prototype.rn,2:V.prototype.sn,3:V.prototype.tn,4:V.prototype.vn,5:V.prototype.un,6:V.prototype.Bn},dk={0:V.prototype.ap,1:V.prototype.Mo,3:V.prototype.No,4:V.prototype.Oo};Ba(function(){for(var a=B(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new V(d);Oa(d,c)}});function hk(a){x.call(this,"Mouse",a,hk);if(this.Mi=a.serial)this.Uj="SerialPort";this.mc=!1;this.Ta()}y(x,hk);k=hk.prototype;
k.pc=function(a,b,c,d){this.Da=a;this.na=b;this.S=c;(this.X=d)&&Ph(d,hk)};k.ac=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Uj&&!this.Sf){for(var c=null;(c=C(this.Da,this.Uj,c))&&(!c.lk||!(this.Sf=c.lk(this.Mi,this))););if(this.Sf){if(c=C(this.Da,"Video"))this.Lb=c.Lb}else w(this.id+": "+this.Uj+" "+this.Mi+" unavailable")}this.mc?fk(this,this.Lb):gk(this.Lb)}return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie()};
k.save=function(){var a=new H(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ie(a[0])};k.ie=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.mc=a[b++];this.Cg=a[b++];this.Dg=a[b++];this.yf=a[b++];this.zf=a[b++];this.jh=a[b++];this.kh=a[b++];this.fd=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.mc;b[a++]=this.Cg;b[a++]=this.Dg;b[a++]=this.yf;b[a++]=this.zf;b[a++]=this.jh;b[a++]=this.kh;b[a]=this.fd;return b};
function fk(a,b){b&&(a.zi||(b.addEventListener("mousemove",function(b){if(a.mc&&a.S&&a.S.Ob){if(0>a.Cg||0>a.Dg)a.Cg=b.clientX,a.Dg=b.clientY;a.yf=b.clientX-a.Cg;a.zf=b.clientY-a.Dg;(a.yf||a.zf)&&ik(a,null,b.clientX,b.clientY);a.Cg=b.clientX;a.Dg=b.clientY}},!1),b.addEventListener("mousedown",function(b){jk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){jk(a,b.button,!1)},!1),a.zi=!0),b.style.cursor="none")}function gk(a){a&&(a.style.cursor="auto")}
function jk(a,b,c){if(a.mc&&a.S&&a.S.Ob)switch(b){case 0:a.jh!=c&&(a.jh=c,ik(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.kh!=c&&(a.kh=c,ik(a,"mouse button2 "+(c?"dn":"up")))}}function ik(a,b,c,d){var e=64|(a.jh?32:0)|(a.kh?16:0)|(a.zf&192)>>4|(a.yf&192)>>6,f=a.yf&63,g=a.zf&63;a.Qa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(g)+"]");bk(a.Sf,[e,f,g]);a.yf=a.zf=0}k.Qa=function(a){this.X&&D(this.X,this.X.vm)&&this.X.message(a)};
Ba(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new hk(d);Oa(d,c)}});function kk(a,b,c){x.call(this,"Disk",{id:a.uh+".disk"+lk++},kk);this.ia=a;this.Da=a.Da;this.X=a.X;this.Pa=b;this.mode=c;this.Kd=b.name;this.gc=b.gc;this.$b=b.$b;this.jc=b.jc;this.Mb=b.Mb;this.ef=b.ef;this.Ei=this.Ad=!1;this.create();this.re=[];this.Lg=[];this.Pd=null;this.Ok=0;this.Hi=!1;this.Ta()}var lk=0;y(x,kk);k=kk.prototype;k.pc=function(a,b,c,d){this.X=d};
k.ac=function(a,b){b||this.Ei&&!this.Ad&&this.load(this.Kd,this.tf);return!0};k.Wb=function(a,b){if(this.Ad){var c,d=0;if(this.Hi&&!ta("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=mk(this,!1);)if(d=c[0]){this.Ga('Unable to save "'+this.Kd+'" (error '+d+")");break}b&&this.Ad&&(c="action=close&volume="+this.tf,c+="&machine="+this.ia.gf(),c+="&user="+this.ia.ge(),ra(sa()+"/api/v1/disk?"+c,!0),this.Ad=!1);d||this.Ga(this.Kd+" saved")}return!0};
k.create=function(){this.pb=[];if("preload"!=this.mode){for(var a=Array(this.gc),b=0;b<a.length;b++){for(var c=Array(this.$b),d=0;d<c.length;d++){for(var e=Array(this.jc),f=1;f<=e.length;f++)e[f-1]=nk(null,b,d,f,this.Mb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.pb=a}this.hh=0};
k.load=function(a,b,c){var d=b;this.Kd=a;this.tf=b;this.Fk=c;0>b.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.gc+":"+this.$b+":"+this.jc+":"+this.Mb,a+="&machine="+this.ia.gf(),a+="&user="+this.ia.ge(),d=sa()+"/api/v1/disk?"+a,this.Ei=!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"),d=sa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.ef?"":d)+"&format=json"));ra(d,!0,null,this,this.ho,b)};
k.ho=function(a,b,c,d){var e=null;this.ff=!1;var f=0>c&&this.Da&&!this.Da.Nb;if(this.Di)c?this.Ga('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.Ga('Unable to load disk "'+this.Kd+'" (error '+c+")",f);else try{if(0<ea(a,!0).toLowerCase().indexOf("-readonly"))this.ff=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.ff=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.Kd]:0>b.indexOf("0x")&&'["'!=
k.ho=function(a,b,c,d){var e=null;this.ff=!1;var f=0>c&&this.Da&&!this.Da.Nb;if(this.Ei)c?this.Ga('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.Ga('Unable to load disk "'+this.Kd+'" (error '+c+")",f);else try{if(0<ea(a,!0).toLowerCase().indexOf("-readonly"))this.ff=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.ff=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.Kd]:0>b.indexOf("0x")&&'["'!=
b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{for(b=a=0;b<h.length;b++)for(c=0;c<h[b].length;c++)for(d=0;d<h[b][c].length;d++){var m=h[b][c][d],n=m.length;void 0===n&&(n=m.length=512);var n=n>>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var t=m.data;if(void 0===t){var s=m.bytes;if(void 0!==s&&s.length){for(var f=n<<2,v=s.length;v<f;v++)s[v]=q;this.fill(m,s,0)}else t=[],q=m.pattern=q|q<<8|q<<16|q<<24,m.data=
t;delete m.bytes}nk(m,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}this.pb=h;this.gh=a;e=this}else w("Empty disk image: "+this.Kd)}catch(A){w("Disk image error: "+A.message)}this.Fk&&this.Fk.call(this.ia,this.Pa,e,this.Kd,this.tf)};function nk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Om=b;a.Qm=c;a.Zc=a.Hc=0;a.lb=!1;return a}
t;delete m.bytes}nk(m,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}this.pb=h;this.hh=a;e=this}else w("Empty disk image: "+this.Kd)}catch(A){w("Disk image error: "+A.message)}this.Fk&&this.Fk.call(this.ia,this.Pa,e,this.Kd,this.tf)};function nk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Om=b;a.Qm=c;a.Zc=a.Hc=0;a.lb=!1;return a}
k.io=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var m=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,m);m+=n.length;g++}}(d=d[5])&&d(c,a)};function ok(a,b,c,d,e,f){if(a.Ad){var g;g="action=read&volume="+a.tf;g+="&chs="+a.gc+":"+a.$b+":"+a.jc+":"+a.Mb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ia.gf());g+="&user="+a.ia.ge();ra(sa()+"/api/v1/disk?"+g,!0,null,a,a.io,[b,c,d,e,!0,f])}else f&&f(-1,!1)}
function pk(a,b,c){b.lb=!0;var d=a.re.indexOf(b);0<=d&&(a.re.splice(d,1),a.Kg.splice(d,1));a.re.push(b);a.Kg.push(oa());c&&qk(a)}function qk(a){if(a.re.length){var b=a.Kg[0]+2E3;a.Pd&&a.Ok<b&&(clearTimeout(a.Pd),a.Pd=null);if(!a.Pd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Pd=setTimeout(function(){mk(a,!0)},b);a.Ok=c+b}}else a.Pd&&(clearTimeout(a.Pd),a.Pd=null)}
function mk(a,b){b&&(a.Pd=null);var c=a.re[0];if(c){for(var d=c.Om,e=c.Qm,c=c.sector,f=0,g=[],h=c-1;h<a.pb[d][e].length;h++){var m=a.pb[d][e][h];if(!m.lb)break;var n=a.re.indexOf(m);a.re.splice(n,1);a.Kg.splice(n,1);g=g.concat(rk(m));m.lb=!1;f++}a.Ad?(h={},a.Gi=!0,h.action="write",h.volume=a.tf,h.chs=a.gc+":"+a.$b+":"+a.jc+":"+a.Mb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ia.gf(),h.user=a.ia.ge(),h.data=JSON.stringify(g),d=ra(sa()+"/api/v1/disk",b,h,a,a.no,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.no=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Gi=!1;if(0<=a&&a<this.pb.length&&0<=b&&b<this.pb[a].length)for(e-=1;0<f--&&0<=e&&e<this.pb[a][b].length;e++){var g=this.pb[a][b][e];c?pk(this,g,!1):g.lb||(g.Zc=g.Hc=0)}d&&qk(this)};k.info=function(){return this.pb.length?[this.pb.length,this.pb[0].length,this.pb[0][0].length,this.pb[0][0][0].length]:[0,0,0,0]};
function pk(a,b,c){b.lb=!0;var d=a.re.indexOf(b);0<=d&&(a.re.splice(d,1),a.Lg.splice(d,1));a.re.push(b);a.Lg.push(oa());c&&qk(a)}function qk(a){if(a.re.length){var b=a.Lg[0]+2E3;a.Pd&&a.Ok<b&&(clearTimeout(a.Pd),a.Pd=null);if(!a.Pd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Pd=setTimeout(function(){mk(a,!0)},b);a.Ok=c+b}}else a.Pd&&(clearTimeout(a.Pd),a.Pd=null)}
function mk(a,b){b&&(a.Pd=null);var c=a.re[0];if(c){for(var d=c.Om,e=c.Qm,c=c.sector,f=0,g=[],h=c-1;h<a.pb[d][e].length;h++){var m=a.pb[d][e][h];if(!m.lb)break;var n=a.re.indexOf(m);a.re.splice(n,1);a.Lg.splice(n,1);g=g.concat(rk(m));m.lb=!1;f++}a.Ad?(h={},a.Hi=!0,h.action="write",h.volume=a.tf,h.chs=a.gc+":"+a.$b+":"+a.jc+":"+a.Mb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ia.gf(),h.user=a.ia.ge(),h.data=JSON.stringify(g),d=ra(sa()+"/api/v1/disk",b,h,a,a.no,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.no=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Hi=!1;if(0<=a&&a<this.pb.length&&0<=b&&b<this.pb[a].length)for(e-=1;0<f--&&0<=e&&e<this.pb[a][b].length;e++){var g=this.pb[a][b][e];c?pk(this,g,!1):g.lb||(g.Zc=g.Hc=0)}d&&qk(this)};k.info=function(){return this.pb.length?[this.pb.length,this.pb[0].length,this.pb[0][0].length,this.pb[0][0][0].length]:[0,0,0,0]};
function sk(a){a=JSON.stringify(a.pb);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":')}
k.seek=function(a,b,c,d,e){var f=null,g=this.Pa,h=this.pb[a];if(h){var m=h[b];if(!m&&g.Lf&&b<g.$b)for(m=h[b]=Array(g.$d),h=0;h<m.length;h++)m[h]=nk(null,a,b,h+1,g.Wa,0);if(m){for(h=0;h<m.length;h++)if(m[h].sector==c){f=m[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<m.length;)null===m[h].pattern&&d++;ok(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.Lf&&9==g.Na&&(f=m[h]=nk(null,a,b,g.Na,g.Wa,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function rk(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function tk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.ff)return!1;if(b<a.length){if(c!=tk(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f<a.Zc?(a.Hc+=a.Zc-f,a.Zc=f):f>=a.Zc+a.Hc&&(a.Hc+=f-(a.Zc+a.Hc)+1):(a.Zc=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Ad&&pk(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.tf,this.gh];if(!this.Ad&&!this.ff)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g.Hc){for(var h=[],m=0,n=g.Zc,q=g.Zc+g.Hc;n<q;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Zc,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(this.pb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.gh&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.gh+")",b=-1);for(;d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],m=g[f++],n=g[f++];if(h>=this.pb.length||m>=this.pb[h].length||n>=this.pb[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=
g[f++];f=g[f++];g=e+f.length;h=this.pb[h][m][n];for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Zc=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[m++];b++}}0>b&&this.Ga("unable to restore disk '"+this.Kd+": "+c);return b};k.Qa=function(a){this.X&&E(this.X,this.X.rm)&&this.X.message(a)};
function uk(a){x.call(this,"FDC",a,uk);this.dmaRead=this.si;this.dmaWrite=this.ti;this.dmaFormat=this.Dm;this.Le=null;if(a.autoMount&&(this.Le=a.autoMount,"string"==typeof this.Le))try{this.Le=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Le=null}this.wc=[]}y(x,uk);l={};aa={};
k.save=function(){var a=0,b=[];b[a++]=[this.tf,this.hh];if(!this.Ad&&!this.ff)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g.Hc){for(var h=[],m=0,n=g.Zc,q=g.Zc+g.Hc;n<q;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Zc,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(this.pb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.hh&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.hh+")",b=-1);for(;d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],m=g[f++],n=g[f++];if(h>=this.pb.length||m>=this.pb[h].length||n>=this.pb[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=
g[f++];f=g[f++];g=e+f.length;h=this.pb[h][m][n];for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Zc=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[m++];b++}}0>b&&this.Ga("unable to restore disk '"+this.Kd+": "+c);return b};k.Qa=function(a){this.X&&D(this.X,this.X.rm)&&this.X.message(a)};
function uk(a){x.call(this,"FDC",a,uk);this.dmaRead=this.ti;this.dmaWrite=this.ui;this.dmaFormat=this.Dm;this.Le=null;if(a.autoMount&&(this.Le=a.autoMount,"string"==typeof this.Le))try{this.Le=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Le=null}this.wc=[]}y(x,uk);l={};aa={};
var vk={3:{wd:3,be:0,name:aa.Mp},4:{wd:2,be:1,name:aa.Kp},5:{wd:9,be:7,name:aa.Vp},6:{wd:9,be:7,name:aa.Fp},7:{wd:2,be:0,name:aa.Hp},8:{wd:1,be:2,name:aa.Lp},10:{wd:2,be:7,name:aa.Gp},13:{wd:6,be:7,name:aa.Ap},15:{wd:3,be:0,name:aa.Jp}};k=uk.prototype;
k.xb=function(a,b,c,d){switch(c){case "listDisks":return this.sa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.sa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){w("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d='<a href="'+m+'" target="_blank">'+d+"</a>");c.innerHTML=
d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.sa[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||wk(a,c)}}(this,d),!0;case "loadDrive":return this.sa[c]=d,d.onclick=function(a){return function(){var b,c=a.sa.listDisks,d=a.sa.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&b<a.za.length)if(d=c.value){c=c.options[c.selectedIndex].text;if("?"==d){d=window.prompt("Enter the URL of a disk image to load.","");if(!d)return;c=ea(d);a.ca("Attempting to load "+
d+' as "'+c+'"')}for(;xk(a,b,c,d,!1)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var m=a,n=d,q=void 0,q=0;q<m.wc.length;q++)if(m.wc[q][1]==n){m.wc.splice(q,1);break}yk(a,b,!1,!0)}}else yk(a,b);else a.Ga("Nothing to load")}}(this),!0}return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.ka=C(a,"ChipSet");this.Ed();ib(b,this,zk);mb(b,this,Ak);Cc(c,19,this,this.Oi);this.Kf()||this.Ta()};
k.ac=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Da.Ei){this.wc=[];for(var c=0;c<this.za.length;c++)yk(this,c,!0);this.Kf(!0)}}else if(!this.restore(a))return!1;if(c=this.sa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.Xi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Xi&&(c.value="0",wk(this,0))}}return!0};
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ed()};k.save=function(){var a=new H(this);a.set(0,this.Vj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.fb=a[b++];b++;this.ya=a[b++];this.bc=a[b++];this.ob=a[b++];this.Xa=a[b++];this.sf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.wc=c);void 0===this.za&&(this.Xi=4,this.ka&&(this.Xi=di(this.ka)),this.za=Array(4));for(c=0;c<this.za.length;c++){var f=this.za[c];void 0===f&&(f=this.za[c]={},f.Am=$h(this.ka,c),f.gc=40,f.jc=9,2==f.Am&&(f.gc=80,f.jc=18));this.Mi(f,c,e[c])||(d=!1)}this.oe=a[b++]||0;this.$l=a[b]||0;return d};
k.Vj=function(){var a=0,b=[];b[a++]=this.fb;b[a++]=0;b[a++]=this.ya;b[a++]=this.bc;b[a++]=this.ob;b[a++]=this.Xa;b[a++]=this.sf;b[a++]=this.Xj();for(var c=a++,d=0;d<this.za.length;d++){var e=this.za[d];e.va&&Bk(this,e.Oe,e.va)}b[c]=this.wc;b[a++]=this.oe;b[a]=this.$l;return b};
k.Mi=function(a,b,c){var d=0,e=!0;a.fb=b;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.gc||40,a.$b||c[3],a.jc||9,a.Mb||512,c[1]]);a.Ya=c[d++];a.name=c[d][0];a.gc=c[d][1];a.$b=c[d][2];a.jc=c[d][3];a.Mb=c[d][4];a.ef=c[d][5];(a.Wi=c[d][6])?(a.Ch=c[d][7],a.Dh=c[d][8]):(a.Wi=a.gc,a.Ch=a.$b,a.Dh=a.jc);d++;a.Ha=c[d++];a.Yd=c[d++];a.kb=c[d++];a.Yd=100<=a.Yd?a.Yd-100:a.Yd-a.kb;a.Na=c[d++];a.$d=c[d++];a.Wa=c[d++];a.Va=c[d++];a.Ra=null;a.va||(a.Oe="");var f=c[d++];f===Ck?(f=
c[d++],c=c[d],xk(this,b,f,c,!0)?a.va&&Dk(this,f,c,a.va):this.Ta(!1)):void 0!==f&&a.va&&0>a.va.restore(f)&&(e=!1);e&&a.va&&void 0!==a.Va&&(a.Ra=a.va.seek(a.kb,a.Ha,a.Na));return e};k.Xj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.Wj(this.za[c]);return b};k.Wj=function(a){var b=0,c=[];c[b++]=a.Ya;c[b++]=[a.name,a.gc,a.$b,a.jc,a.Mb,a.ef,a.Wi,a.Ch,a.Dh];c[b++]=a.Ha;c[b++]=a.Yd+100;c[b++]=a.kb;c[b++]=a.Na;c[b++]=a.$d;c[b++]=a.Wa;c[b++]=a.Va;c[b++]=Ck;c[b++]=a.em;c[b]=a.Oe;return c};
d+' as "'+c+'"')}for(;xk(a,b,c,d,!1)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var m=a,n=d,q=void 0,q=0;q<m.wc.length;q++)if(m.wc[q][1]==n){m.wc.splice(q,1);break}yk(a,b,!1,!0)}}else yk(a,b);else a.Ga("Nothing to load")}}(this),!0}return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.ka=C(a,"ChipSet");this.Ed();ib(b,this,zk);mb(b,this,Ak);d&&Ph(d,uk);Cc(c,19,this,this.Pi);this.Kf()||this.Ta()};
k.ac=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Da.Fi){this.wc=[];for(var c=0;c<this.za.length;c++)yk(this,c,!0);this.Kf(!0)}}else if(!this.restore(a))return!1;if(c=this.sa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.Yi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Yi&&(c.value="0",wk(this,0))}}return!0};
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ed()};k.save=function(){var a=new H(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.fb=a[b++];b++;this.ya=a[b++];this.bc=a[b++];this.ob=a[b++];this.Xa=a[b++];this.sf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.wc=c);void 0===this.za&&(this.Yi=4,this.ka&&(this.Yi=di(this.ka)),this.za=Array(4));for(c=0;c<this.za.length;c++){var f=this.za[c];void 0===f&&(f=this.za[c]={},f.Am=$h(this.ka,c),f.gc=40,f.jc=9,2==f.Am&&(f.gc=80,f.jc=18));this.Ni(f,c,e[c])||(d=!1)}this.oe=a[b++]||0;this.$l=a[b]||0;return d};
k.Wj=function(){var a=0,b=[];b[a++]=this.fb;b[a++]=0;b[a++]=this.ya;b[a++]=this.bc;b[a++]=this.ob;b[a++]=this.Xa;b[a++]=this.sf;b[a++]=this.Yj();for(var c=a++,d=0;d<this.za.length;d++){var e=this.za[d];e.va&&Bk(this,e.Oe,e.va)}b[c]=this.wc;b[a++]=this.oe;b[a]=this.$l;return b};
k.Ni=function(a,b,c){var d=0,e=!0;a.fb=b;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.gc||40,a.$b||c[3],a.jc||9,a.Mb||512,c[1]]);a.Ya=c[d++];a.name=c[d][0];a.gc=c[d][1];a.$b=c[d][2];a.jc=c[d][3];a.Mb=c[d][4];a.ef=c[d][5];(a.Xi=c[d][6])?(a.Dh=c[d][7],a.Eh=c[d][8]):(a.Xi=a.gc,a.Dh=a.$b,a.Eh=a.jc);d++;a.Ha=c[d++];a.Yd=c[d++];a.kb=c[d++];a.Yd=100<=a.Yd?a.Yd-100:a.Yd-a.kb;a.Na=c[d++];a.$d=c[d++];a.Wa=c[d++];a.Va=c[d++];a.Ra=null;a.va||(a.Oe="");var f=c[d++];f===Ck?(f=
c[d++],c=c[d],xk(this,b,f,c,!0)?a.va&&Dk(this,f,c,a.va):this.Ta(!1)):void 0!==f&&a.va&&0>a.va.restore(f)&&(e=!1);e&&a.va&&void 0!==a.Va&&(a.Ra=a.va.seek(a.kb,a.Ha,a.Na));return e};k.Yj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.Xj(this.za[c]);return b};k.Xj=function(a){var b=0,c=[];c[b++]=a.Ya;c[b++]=[a.name,a.gc,a.$b,a.jc,a.Mb,a.ef,a.Xi,a.Dh,a.Eh];c[b++]=a.Ha;c[b++]=a.Yd+100;c[b++]=a.kb;c[b++]=a.Na;c[b++]=a.$d;c[b++]=a.Wa;c[b++]=a.Va;c[b++]=Ck;c[b++]=a.em;c[b]=a.Oe;return c};
k.wk=function(a){var b;a=this.za[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.hm=function(a,b,c){if(a.va){var d=a.va.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.kb=Math.floor(b/f),b%=f,a.Ha=Math.floor(b/e),a.Na=b%e+1,a.Wa=c*d[3],a.Ya=0,!0}return!1};
k.Kf=function(a){a||(this.ze=0);if(this.Le)for(var b in this.Le){var c=this.Le[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.za.length){!xk(this,d,c.name,c.path,!0)&&a&&this.Ta(!1);continue}}this.Ga("Unrecognized auto-mount specification for drive "+b)}return!!this.ze};
function xk(a,b,c,d,e){var f=a.za[b];if(d&&f.Oe!=d){yk(a,b,e,!0);if(f.Kc)return a.Ga("Drive "+b+" busy"),!0;f.Kc=!0;e&&(f.Fe=!0,a.ze++,a.Qa("loading diskette '"+c+"'"));(new kk(a,f,"preload")).load(c,d,a.Xn);return!1}return!0}
k.Xn=function(a,b,c,d){var e;a.Kc=!1;b&&(e=b.info(),b&&e[0]>a.gc||e[1]>a.$b||e[2]>a.jc)&&(this.Ga('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.fb)),b=null);b&&(a.va=b,a.em=c,a.Oe=d,Dk(this,c,d,b),this.oe|=128,this.Ga('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.fb),a.Fe),a.Wi=e[0],a.Ch=e[1],a.Dh=e[2]);a.Fe&&(a.Fe=!1,--this.ze||this.Ta());wk(this,a.fb)};
k.Xn=function(a,b,c,d){var e;a.Kc=!1;b&&(e=b.info(),b&&e[0]>a.gc||e[1]>a.$b||e[2]>a.jc)&&(this.Ga('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.fb)),b=null);b&&(a.va=b,a.em=c,a.Oe=d,Dk(this,c,d,b),this.oe|=128,this.Ga('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.fb),a.Fe),a.Xi=e[0],a.Dh=e[1],a.Eh=e[2]);a.Fe&&(a.Fe=!1,--this.ze||this.Ta());wk(this,a.fb)};
function wk(a,b){if(0<=b&&b<a.za.length){var c=a.za[b],d=a.sa.listDisks,e=a.sa.listDrives;if(d&&e&&(e=parseInt(e.value,10),!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c.Oe){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function yk(a,b,c,d){var e=a.za[b];e.va&&(Bk(a,e.Oe,e.va),e.em="",e.Oe="",e.va=null,a.oe|=128,d||a.Ga("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||wk(a,b))}
function Dk(a,b,c,d){var e;for(e=0;e<a.wc.length;e++)if(a.wc[e][1]==c){d.restore(a.wc[e][2]);return}a.wc[e]=[b,c,[]]}function Bk(a,b,c){var d;for(d=0;d<a.wc.length;d++)if(a.wc[d][1]==b){a.wc[d][2]=c.save();break}}k.Ho=function(a,b,c){this.ba(a,b,c,"OUTPUT");b&4?this.sf&4||this.sf&8&&this.ka&&zi(this.ka,6):this.Ed();this.sf=b};k.mn=function(a,b){this.ba(a,null,b,"STATUS",this.ya);return this.ya};
k.kn=function(a,b){var c=0;this.ob<this.Xa&&(c=this.bc[this.ob]);this.sf&8&&this.ka&&Ai(this.ka,6);this.ba(a,null,b,"DATA["+this.ob+"]",c);++this.ob>=this.Xa&&(this.ya&=-81,this.ob=this.Xa=0);return c};
k.Go=function(a,b,c){this.ba(a,b,c,"DATA["+this.Xa+"]");this.Xa<this.bc.length&&(this.bc[this.Xa++]=b);a=this.bc[0]&31;if(void 0!==vk[a]&&this.Xa>=vk[a].wd){b=!1;this.ob=0;var d;a=this.Oa()&31;switch(a){case 3:this.Oa(l.Np);this.Oa(l.Cp);this.Kb();break;case 4:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];this.Kb();this.hb((d.Ya&4278190080)>>>24,l.Rp);break;case 5:case 6:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.Ha=c>>2&1;d.kb=this.Oa(l.Uh);this.Oa(l.Vh);d.Na=this.Oa(l.Yh);b=this.Oa(l.Ig);
d.Wa=128<<b;d.$d=this.Oa(l.zp);this.Oa(l.om);this.Oa(l.yp);6==a?this.ui(d):this.vi(d);this.Kb();Ek(this,d);Fk(this,d);Gk(this,d);this.hb(d.kb,l.Uh);this.hb(d.Ha,l.Vh);this.hb(d.Na,l.Yh);this.hb(b,l.Ig);b=!0;break;case 7:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.kb=d.Yd=0;d.Ya=268435488;this.Kb();b=!0;break;case 8:d=this.za[this.fb];d.Ha=0;this.Kb();Ek(this,d);this.hb(d.kb,l.Ep);this.fb=this.fb+1&3;break;case 10:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.Ha=c>>2&1;d.Na=1;b=0;d.Ya=0;d.va&&
(d.Ra=d.va.seek(d.kb,d.Ha,d.Na))?b=d.Ra.length:d.Ya=1088;Ek(this,d);Fk(this,d);Gk(this,d);this.hb(d.kb,l.Uh);this.hb(d.Ha,l.Vh);this.hb(d.Na,l.Yh);this.hb(b,l.Ig);b=!0;break;case 13:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.Ha=c>>2&1;b=this.Oa(l.Ig);d.Wa=128<<b;d.$d=this.Oa(l.Ip);this.Oa(l.om);d.mk=this.Oa(l.xp);this.yk(d);this.Kb();Ek(this,d);Fk(this,d);Gk(this,d);this.hb(d.kb,l.Uh);this.hb(d.Ha,l.Vh);this.hb(d.Na,l.Yh);this.hb(b,l.Ig);b=!0;break;case 15:c=this.Oa(l.Af),this.fb=c&3,d=this.za[this.fb],
k.Go=function(a,b,c){this.ba(a,b,c,"DATA["+this.Xa+"]");this.Xa<this.bc.length&&(this.bc[this.Xa++]=b);a=this.bc[0]&31;if(void 0!==vk[a]&&this.Xa>=vk[a].wd){b=!1;this.ob=0;var d;a=this.Oa()&31;switch(a){case 3:this.Oa(l.Np);this.Oa(l.Cp);this.Kb();break;case 4:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];this.Kb();this.hb((d.Ya&4278190080)>>>24,l.Rp);break;case 5:case 6:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.Ha=c>>2&1;d.kb=this.Oa(l.Vh);this.Oa(l.Wh);d.Na=this.Oa(l.Zh);b=this.Oa(l.Jg);
d.Wa=128<<b;d.$d=this.Oa(l.zp);this.Oa(l.om);this.Oa(l.yp);6==a?this.vi(d):this.wi(d);this.Kb();Ek(this,d);Fk(this,d);Gk(this,d);this.hb(d.kb,l.Vh);this.hb(d.Ha,l.Wh);this.hb(d.Na,l.Zh);this.hb(b,l.Jg);b=!0;break;case 7:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.kb=d.Yd=0;d.Ya=268435488;this.Kb();b=!0;break;case 8:d=this.za[this.fb];d.Ha=0;this.Kb();Ek(this,d);this.hb(d.kb,l.Ep);this.fb=this.fb+1&3;break;case 10:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.Ha=c>>2&1;d.Na=1;b=0;d.Ya=0;d.va&&
(d.Ra=d.va.seek(d.kb,d.Ha,d.Na))?b=d.Ra.length:d.Ya=1088;Ek(this,d);Fk(this,d);Gk(this,d);this.hb(d.kb,l.Vh);this.hb(d.Ha,l.Wh);this.hb(d.Na,l.Zh);this.hb(b,l.Jg);b=!0;break;case 13:c=this.Oa(l.Af);this.fb=c&3;d=this.za[this.fb];d.Ha=c>>2&1;b=this.Oa(l.Jg);d.Wa=128<<b;d.$d=this.Oa(l.Ip);this.Oa(l.om);d.mk=this.Oa(l.xp);this.yk(d);this.Kb();Ek(this,d);Fk(this,d);Gk(this,d);this.hb(d.kb,l.Vh);this.hb(d.Ha,l.Wh);this.hb(d.Na,l.Zh);this.hb(b,l.Jg);b=!0;break;case 15:c=this.Oa(l.Af),this.fb=c&3,d=this.za[this.fb],
d.Ha=c>>2&1,a=this.Oa(l.Dp),d.kb+=a-d.Yd,0>d.kb&&(d.kb=0),d.kb>=d.gc&&(d.kb=d.gc-1),d.Yd=a,d.Ya=32,0==d.kb&&(d.Ya|=268435456),this.Kb(),b=!0}0<this.Xa&&(this.ya|=80);this.sf&8&&(!d||d.Ya&8||!b||this.ka&&zi(this.ka,6))}};k.ln=function(a,b){var c=this.oe;this.oe&=-129;this.ba(a,null,b,"INPUT",c);return c};k.Fo=function(a,b,c){this.ba(a,b,c,"CONTROL");this.$l=b};k.Oa=function(){var a=this.bc[this.ob];this.ob++;return a};k.Kb=function(){this.ob=this.Xa=0};k.hb=function(a){this.bc[this.Xa++]=a};
function Ek(a,b){a.hb(b.fb|b.Ha<<2|b.Ya&255,l.Op)}function Fk(a,b){a.hb((b.Ya&65280)>>>8,l.Pp)}function Gk(a,b){a.hb((b.Ya&16711680)>>>16,l.Qp)}k.si=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};k.ti=function(a,b){return void 0!==b&&0<=b?this.Dc(a,b):-1};k.Dm=function(a,b){return void 0!==b&&0<=b?this.Zj(a,b):-1};k.ui=function(a){a.Ya=72;a.va&&(a.Ra=null,a.Ya=0,this.ka&&(si(this.ka,2,this,"dmaRead",a),mi(this.ka,2)))};
k.vi=function(a){a.Ya=72;a.va&&(a.va.ff?a.Ya=576:(a.Ra=null,a.Ya=0,this.ka&&(si(this.ka,2,this,"dmaWrite",a),mi(this.ka,2))))};k.yk=function(a){a.Ya=72;a.va&&(a.Ra=null,a.Ya=0,this.ka&&(a.Ce=0,a.yc=Array(4),a.Lf=!0,a.Rf=0,si(this.ka,2,this,"dmaFormat",a),mi(this.ka,2),a.Lf=!1))};k.sc=function(a,b){var c=-1;if(!a.Ya&&a.va){do{if(a.Ra&&0<=(c=tk(a.Ra,a.Va++)))break;a.Ra=a.va.seek(a.kb,a.Ha,a.Na);if(!a.Ra){a.Ya=1088;break}a.Va=0;this.If(a)}while(1)}b(c,!1)};
k.Dc=function(a,b){if(a.Ya||!a.va)return-1;do{if(a.Ra&&a.va.write(a.Ra,a.Va++,b))break;a.Ra=a.va.seek(a.kb,a.Ha,a.Na);if(!a.Ra){a.Ya=8256;b=-1;break}a.Va=0;this.If(a)}while(1);return b};k.If=function(a){a.Na++;a.Na>=a.Dh+1&&(a.Na=1,a.Ha++,a.Ha>=a.Ch&&(a.Ha=0,a.kb++))};k.Zj=function(a,b){if(a.Ya)return-1;a.yc[a.Ce++]=b;if(a.Ce==a.yc.length){a.kb=a.yc[0];a.Ha=a.yc[1];a.Na=a.yc[2];a.Wa=128<<a.yc[3];for(var c=a.Ce=0;c<a.Wa;c++)if(0>this.Dc(a,a.mk))return-1;a.Rf++}a.Rf>=a.$d&&(b=-1);return b};
k.Oi=function(a){var b=this.S.J&255;this.X&&E(this.X,this.X.Eg)&&128>b&&(Ec(this.X,19,a),Fc(this.S,a,function(a,b){return function(e){Gc(a.X,19,e,F(a.S)-b)}}(this,F(this.S))));return!0};k.Qa=function(a){this.X&&E(this.X,this.X.Eg)&&this.X.message(a)};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,this.X.Eg,e)};var zk={1012:uk.prototype.mn,1013:uk.prototype.kn,1015:uk.prototype.ln},Ak={1010:uk.prototype.Ho,1013:uk.prototype.Go,1015:uk.prototype.Fo};
Ba(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new uk(d);Oa(d,c)}});function W(a){x.call(this,"HDC",a,W);this.dmaRead=this.si;this.dmaWrite=this.ti;this.dmaWriteBuffer=this.Em;this.dmaWriteFormat=this.Fm;this.$h=[];if(a.drives)try{this.$h=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.ag=(this.Ee="at"==a.type)?1:0;this.Pm=this.Ee?2:3}y(x,W);
var Hk=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.xb=function(){return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.ka=C(a,"ChipSet");ib(b,this,this.Ee?Ik:Jk);mb(b,this,this.Ee?Kk:Lk);Cc(c,19,this,this.Pn);Cc(c,64,this,this.Oi);this.reset();this.Kf()||this.Ta()};
k.ac=function(a,b){if(!b)if(!a||!this.restore)this.Ed(),this.Da.Ei&&this.Kf(!0);else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.gf=function(){return this.Da?this.Da.gf():""};k.ge=function(){return this.Da?this.Da.ge():""};k.reset=function(){this.Ed(null,!0)};k.save=function(){var a=new H(this);a.set(0,this.Vj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a,b){var c=0,d=!0;if(this.Ee)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.ne=a[c++],this.dm=a[c++],this.Nh=a[c++],this.Oh=a[c++],this.Mh=a[c++],this.Lh=a[c++],this.rf=a[c++],this.ya=a[c++],this.Sj=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.qf=a[c++];this.ya=a[c++];this.bc=a[c++];this.ob=a[c++];this.Xa=a[c++];this.cm=a[c++];this.bm=a[c++];this.am=a[c++];var e=a[c++];void 0!==e?this.hf=e:void 0===this.hf&&(this.hf=-1)}void 0===this.za&&(this.za=Array(this.$h.length));c=a[c];void 0===
c&&(c=[]);for(e=0;e<this.za.length;e++){void 0===this.za[e]&&(this.za[e]={});var f=this.za[e];this.Mi(e,f,this.$h[e],c[e],b)||(d=!1);null!=this.qf&&1>=e&&(this.qf|=(f.type&3)<<(1-e<<1))}return d};
k.Vj=function(){var a=0,b=[];this.Ee?(b[a++]=this.ne,b[a++]=this.dm,b[a++]=this.Nh,b[a++]=this.Oh,b[a++]=this.Mh,b[a++]=this.Lh,b[a++]=this.rf,b[a++]=this.ya,b[a++]=this.Sj):(b[a++]=this.qf,b[a++]=this.ya,b[a++]=this.bc,b[a++]=this.ob,b[a++]=this.Xa,b[a++]=this.cm,b[a++]=this.bm,b[a++]=this.am,b[a++]=this.hf);b[a]=this.Xj();return b};
k.Mi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.fb=a;b.errorCode=d[f++];b.jm=d[f++];b.ef=d[f++];b.We=d[f++];b.Xe=d[f++];b.Ha=d[f++];b.$b=d[f++];b.Qd=d[f++];b.Na=d[f++];b.$d=d[f++];b.Wa=d[f++];b.Yg=this.Ee?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.ge()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Hk[this.ag][b.type])b.type=this.Pm;c=Hk[this.ag][b.type];
b.jc=c[2]||17;b.Mb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.pa)){var h=e.pa[18],h=a?h&240|c:h&15|c<<4;e.pa&&(e.pa[18]=h,ai(e))}void 0===b.va&&(b.va=null,this.Ga("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Mk(this,b);b.Va=d[f++];b.Ra=null;b.va&&(a=d[f],void 0!==a&&0>b.va.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Ra=b.va.seek(b.Qd,b.Ha,b.Na+b.Yg)));return g};k.Xj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.Wj(this.za[c]);return b};
k.Wj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.jm;c[b++]=a.ef;c[b++]=a.We;c[b++]=a.Xe;c[b++]=a.Ha;c[b++]=a.$b;c[b++]=a.Qd;c[b++]=a.Na;c[b++]=a.$d;c[b++]=a.Wa;c[b++]=a.Va;c[b]=a.va?a.va.save():null;return c};k.wk=function(a){var b;a=this.za[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function Ek(a,b){a.hb(b.fb|b.Ha<<2|b.Ya&255,l.Op)}function Fk(a,b){a.hb((b.Ya&65280)>>>8,l.Pp)}function Gk(a,b){a.hb((b.Ya&16711680)>>>16,l.Qp)}k.ti=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};k.ui=function(a,b){return void 0!==b&&0<=b?this.Dc(a,b):-1};k.Dm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.vi=function(a){a.Ya=72;a.va&&(a.Ra=null,a.Ya=0,this.ka&&(si(this.ka,2,this,"dmaRead",a),mi(this.ka,2)))};
k.wi=function(a){a.Ya=72;a.va&&(a.va.ff?a.Ya=576:(a.Ra=null,a.Ya=0,this.ka&&(si(this.ka,2,this,"dmaWrite",a),mi(this.ka,2))))};k.yk=function(a){a.Ya=72;a.va&&(a.Ra=null,a.Ya=0,this.ka&&(a.Ce=0,a.yc=Array(4),a.Lf=!0,a.Rf=0,si(this.ka,2,this,"dmaFormat",a),mi(this.ka,2),a.Lf=!1))};k.sc=function(a,b){var c=-1;if(!a.Ya&&a.va){do{if(a.Ra&&0<=(c=tk(a.Ra,a.Va++)))break;a.Ra=a.va.seek(a.kb,a.Ha,a.Na);if(!a.Ra){a.Ya=1088;break}a.Va=0;this.If(a)}while(1)}b(c,!1)};
k.Dc=function(a,b){if(a.Ya||!a.va)return-1;do{if(a.Ra&&a.va.write(a.Ra,a.Va++,b))break;a.Ra=a.va.seek(a.kb,a.Ha,a.Na);if(!a.Ra){a.Ya=8256;b=-1;break}a.Va=0;this.If(a)}while(1);return b};k.If=function(a){a.Na++;a.Na>=a.Eh+1&&(a.Na=1,a.Ha++,a.Ha>=a.Dh&&(a.Ha=0,a.kb++))};k.$j=function(a,b){if(a.Ya)return-1;a.yc[a.Ce++]=b;if(a.Ce==a.yc.length){a.kb=a.yc[0];a.Ha=a.yc[1];a.Na=a.yc[2];a.Wa=128<<a.yc[3];for(var c=a.Ce=0;c<a.Wa;c++)if(0>this.Dc(a,a.mk))return-1;a.Rf++}a.Rf>=a.$d&&(b=-1);return b};
k.Pi=function(a){var b=this.S.J&255;this.X&&(D(this.X,uk.Eg)||D(this.X,uk.Fg))&&128>b&&(Ec(this.X,19,a),Fc(this.S,a,function(a,b){return function(e){Gc(a.X,19,e,F(a.S)-b)}}(this,F(this.S))));return!0};k.Qa=function(a,b){this.X&&(null==b&&(b=uk.Eg),D(this.X,b)&&this.X.message(a))};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,uk.Eg,e)};var zk={1012:uk.prototype.mn,1013:uk.prototype.kn,1015:uk.prototype.ln},Ak={1010:uk.prototype.Ho,1013:uk.prototype.Go,1015:uk.prototype.Fo};
Ba(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new uk(d);Oa(d,c)}});function W(a){x.call(this,"HDC",a,W);this.dmaRead=this.ti;this.dmaWrite=this.ui;this.dmaWriteBuffer=this.Em;this.dmaWriteFormat=this.Fm;this.ai=[];if(a.drives)try{this.ai=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.ag=(this.Ee="at"==a.type)?1:0;this.Pm=this.Ee?2:3}y(x,W);
var Hk=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.xb=function(){return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.ka=C(a,"ChipSet");ib(b,this,this.Ee?Ik:Jk);mb(b,this,this.Ee?Kk:Lk);d&&Ph(d,W);Cc(c,19,this,this.Pn);Cc(c,64,this,this.Pi);this.reset();this.Kf()||this.Ta()};
k.ac=function(a,b){if(!b)if(!a||!this.restore)this.Ed(),this.Da.Fi&&this.Kf(!0);else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.gf=function(){return this.Da?this.Da.gf():""};k.ge=function(){return this.Da?this.Da.ge():""};k.reset=function(){this.Ed(null,!0)};k.save=function(){var a=new H(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a,b){var c=0,d=!0;if(this.Ee)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.ne=a[c++],this.dm=a[c++],this.Oh=a[c++],this.Ph=a[c++],this.Nh=a[c++],this.Mh=a[c++],this.rf=a[c++],this.ya=a[c++],this.Tj=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.qf=a[c++];this.ya=a[c++];this.bc=a[c++];this.ob=a[c++];this.Xa=a[c++];this.cm=a[c++];this.bm=a[c++];this.am=a[c++];var e=a[c++];void 0!==e?this.hf=e:void 0===this.hf&&(this.hf=-1)}void 0===this.za&&(this.za=Array(this.ai.length));c=a[c];void 0===
c&&(c=[]);for(e=0;e<this.za.length;e++){void 0===this.za[e]&&(this.za[e]={});var f=this.za[e];this.Ni(e,f,this.ai[e],c[e],b)||(d=!1);null!=this.qf&&1>=e&&(this.qf|=(f.type&3)<<(1-e<<1))}return d};
k.Wj=function(){var a=0,b=[];this.Ee?(b[a++]=this.ne,b[a++]=this.dm,b[a++]=this.Oh,b[a++]=this.Ph,b[a++]=this.Nh,b[a++]=this.Mh,b[a++]=this.rf,b[a++]=this.ya,b[a++]=this.Tj):(b[a++]=this.qf,b[a++]=this.ya,b[a++]=this.bc,b[a++]=this.ob,b[a++]=this.Xa,b[a++]=this.cm,b[a++]=this.bm,b[a++]=this.am,b[a++]=this.hf);b[a]=this.Yj();return b};
k.Ni=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.fb=a;b.errorCode=d[f++];b.jm=d[f++];b.ef=d[f++];b.We=d[f++];b.Xe=d[f++];b.Ha=d[f++];b.$b=d[f++];b.Qd=d[f++];b.Na=d[f++];b.$d=d[f++];b.Wa=d[f++];b.Zg=this.Ee?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.ge()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Hk[this.ag][b.type])b.type=this.Pm;c=Hk[this.ag][b.type];
b.jc=c[2]||17;b.Mb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.pa)){var h=e.pa[18],h=a?h&240|c:h&15|c<<4;e.pa&&(e.pa[18]=h,ai(e))}void 0===b.va&&(b.va=null,this.Ga("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Mk(this,b);b.Va=d[f++];b.Ra=null;b.va&&(a=d[f],void 0!==a&&0>b.va.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Ra=b.va.seek(b.Qd,b.Ha,b.Na+b.Zg)));return g};k.Yj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.Xj(this.za[c]);return b};
k.Xj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.jm;c[b++]=a.ef;c[b++]=a.We;c[b++]=a.Xe;c[b++]=a.Ha;c[b++]=a.$b;c[b++]=a.Qd;c[b++]=a.Na;c[b++]=a.$d;c[b++]=a.Wa;c[b++]=a.Va;c[b]=a.va?a.va.save():null;return c};k.wk=function(a){var b;a=this.za[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function Mk(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.We[2])?e=b.We[0]<<8|b.We[1]:c=b.type);null==c||d||(d=Hk[a.ag][c][1],e=Hk[a.ag][c][0]);d&&((c=Hk[a.ag][b.type])&&e!=c[0]&&d!=c[1]&&a.Ga("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.gc=e,b.$b=d,null==b.va&&(b.va=new kk(a,b,b.mode)))}}
k.hm=function(a,b,c){if(a.va){var d=a.va.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Qd=Math.floor(b/g),b%=g,a.Ha=Math.floor(b/f),a.Na=b%f,a.Wa=c*d[3],a.errorCode=0,!0}}return!1};
k.Kf=function(a){a||(this.ze=0);for(var b=0;b<this.za.length;b++){var c=this.za[b];if(c.name&&c.path){var d;d=c.name;var c=c.path,e=this.za[b];e.Kc?(this.Ga("Drive "+b+" busy"),d=!0):(e.Kc=!0,e.Fe=!0,this.ze++,this.Qa("loading "+d),(e.va||new kk(this,e,e.mode)).load(d,c,this.Wn),d=!1);!d&&a&&this.Ta(!1)}else a&&void 0!==c.type&&(c.va=null,Mk(this,c,c.type))}return!!this.ze};
k.Wn=function(a,b,c){a.Kc=!1;(a.va=b)&&this.Ga('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.fb),a.Fe);a.Fe&&(a.Fe=!1,--this.ze||this.Ta())};k.Mn=function(a,b){var c=0;this.ob<this.Xa&&(c=this.bc[this.ob]);this.ka&&Ai(this.ka,5);this.ya&=-33;this.ba(a,null,b,"DATA["+this.ob+"]",c);++this.ob>=this.Xa&&(this.ob=this.Xa=0,this.ya&=-15);return c};
k.cp=function(a,b,c){this.ba(a,b,c,"DATA["+this.Xa+"]");this.Xa<this.bc.length&&(this.bc[this.Xa++]=b);a=12!=this.bc[0]?6:this.bc.length;6==this.Xa&&(this.ya&=-2);this.Xa>=a&&(this.ya|=2,this.ya&=-2,Nk(this))};k.Nn=function(a,b){var c=this.ya;this.ba(a,null,b,"STATUS",c);this.ob<this.Xa&&(this.ya|=1);return c};k.fp=function(a,b,c){this.ba(a,b,c,"RESET");this.cm=b;this.ka&&Ai(this.ka,5);this.Ed()};k.Ln=function(a,b){this.ba(a,null,b,"CONFIG",this.qf);return this.qf};
k.ep=function(a,b,c){this.ba(a,b,c,"PULSE");this.bm=b;this.ya=13};k.dp=function(a,b,c){this.ba(a,b,c,"PATTERN");this.am=b};k.Nj=function(a,b,c){this.ba(a,b,c,"NOISE")};k.Xm=function(a,b){var c=-1,d=!1;if(this.Pa&&(d=0<this.Pa.Va,c=this.sc(this.Pa),this.Pa.Va==this.Pa.Mb))if(this.Pa.Wa-=this.Pa.Mb,this.Pa.Wa>=this.Pa.Mb){var e=this;this.sc(this.Pa,function(a){0<=a?e.ka&&zi(e.ka,14):(e.ya=1,e.ne=16)},!1)}else this.ya=80;d||this.ba(a,null,b,"DATA",c);return c};
k.uo=function(a,b,c){this.Pa&&0!=this.Pa.Va||this.ba(a,b,c,"DATA");this.Pa&&this.Pa.Wa>=this.Pa.Mb&&(0>this.Dc(this.Pa,b)?(this.ya=1,this.ne=16):this.Pa.Va==this.Pa.Mb&&(this.Pa.Wa-=this.Pa.Mb,this.ka&&zi(this.ka,14),this.Pa.Wa>=this.Pa.Mb||(this.ya=80)))};k.Zm=function(a,b){var c=this.ne;this.ba(a,null,b,"ERROR",c);return c};k.yo=function(a,b,c){this.ba(a,b,c,"WPREC");this.dm=b};k.$m=function(a,b){var c=this.Nh;this.ba(a,null,b,"SECCNT",c);return c};
k.wo=function(a,b,c){this.ba(a,b,c,"SECCNT");this.Nh=b};k.an=function(a,b){var c=this.Oh;this.ba(a,null,b,"SECNUM",c);return c};k.xo=function(a,b,c){this.ba(a,b,c,"SECNUM");this.Oh=b};k.Wm=function(a,b){var c=this.Mh;this.ba(a,null,b,"CYLLO",c);return c};k.to=function(a,b,c){this.ba(a,b,c,"CYLLO");this.Mh=b};k.Vm=function(a,b){var c=this.Lh;this.ba(a,null,b,"CYLHI",c);return c};k.so=function(a,b,c){this.ba(a,b,c,"CYLHI");this.Lh=b};k.Ym=function(a,b){var c=this.rf;this.ba(a,null,b,"DRVHD",c);return c};
k.vo=function(a,b,c){this.ba(a,b,c,"DRVHD");this.rf=b;this.ya=this.za[this.rf&16?1:0]?this.ya|64:this.ya&-65};k.bn=function(a,b){var c=this.ya;this.ba(a,null,b,"STATUS",c);return c};k.ro=function(a,b,c){this.ba(a,b,c,"COMMAND");this.Sj=b;this.ka&&Ai(this.ka,14);Ok(this)};
function Ok(a){var b=!1,c=a.Sj,d=a.rf&16?1:0,e=a.rf&15,f=a.Mh|(a.Lh&3)<<8,g=a.Oh,h=a.Nh;a.Pa=null;a.ne=0;a.ya=80;(d=a.za[d])?(d.Qd=f,d.Ha=e,d.Na=g,d.Wa=h*d.Mb,c=144<=c?c:c&240,d.Ra=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.sc(d,function(b){0<=b&&a.ka?(zi(a.ka,14),a.ya=136):(a.ya=1,a.ne=16)},!1);break;case 48:a.ka?(zi(a.ka,14),a.ya=136):(a.ya=1,a.ne=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ne=1;b=!0;break;case 145:d.$b=e+1,d.jc=h,b=!0}b&&a.ka&&zi(a.ka,14)}
k.ep=function(a,b,c){this.ba(a,b,c,"PULSE");this.bm=b;this.ya=13};k.dp=function(a,b,c){this.ba(a,b,c,"PATTERN");this.am=b};k.Oj=function(a,b,c){this.ba(a,b,c,"NOISE")};k.Xm=function(a,b){var c=-1,d=!1;if(this.Pa&&(d=0<this.Pa.Va,c=this.sc(this.Pa),this.Pa.Va==this.Pa.Mb))if(this.Pa.Wa-=this.Pa.Mb,this.Pa.Wa>=this.Pa.Mb){var e=this;this.sc(this.Pa,function(a){0<=a?e.ka&&zi(e.ka,14):(e.ya=1,e.ne=16)},!1)}else this.ya=80;d||this.ba(a,null,b,"DATA",c);return c};
k.uo=function(a,b,c){this.Pa&&0!=this.Pa.Va||this.ba(a,b,c,"DATA");this.Pa&&this.Pa.Wa>=this.Pa.Mb&&(0>this.Dc(this.Pa,b)?(this.ya=1,this.ne=16):this.Pa.Va==this.Pa.Mb&&(this.Pa.Wa-=this.Pa.Mb,this.ka&&zi(this.ka,14),this.Pa.Wa>=this.Pa.Mb||(this.ya=80)))};k.Zm=function(a,b){var c=this.ne;this.ba(a,null,b,"ERROR",c);return c};k.yo=function(a,b,c){this.ba(a,b,c,"WPREC");this.dm=b};k.$m=function(a,b){var c=this.Oh;this.ba(a,null,b,"SECCNT",c);return c};
k.wo=function(a,b,c){this.ba(a,b,c,"SECCNT");this.Oh=b};k.an=function(a,b){var c=this.Ph;this.ba(a,null,b,"SECNUM",c);return c};k.xo=function(a,b,c){this.ba(a,b,c,"SECNUM");this.Ph=b};k.Wm=function(a,b){var c=this.Nh;this.ba(a,null,b,"CYLLO",c);return c};k.to=function(a,b,c){this.ba(a,b,c,"CYLLO");this.Nh=b};k.Vm=function(a,b){var c=this.Mh;this.ba(a,null,b,"CYLHI",c);return c};k.so=function(a,b,c){this.ba(a,b,c,"CYLHI");this.Mh=b};k.Ym=function(a,b){var c=this.rf;this.ba(a,null,b,"DRVHD",c);return c};
k.vo=function(a,b,c){this.ba(a,b,c,"DRVHD");this.rf=b;this.ya=this.za[this.rf&16?1:0]?this.ya|64:this.ya&-65};k.bn=function(a,b){var c=this.ya;this.ba(a,null,b,"STATUS",c);return c};k.ro=function(a,b,c){this.ba(a,b,c,"COMMAND");this.Tj=b;this.ka&&Ai(this.ka,14);Ok(this)};
function Ok(a){var b=!1,c=a.Tj,d=a.rf&16?1:0,e=a.rf&15,f=a.Nh|(a.Mh&3)<<8,g=a.Ph,h=a.Oh;a.Pa=null;a.ne=0;a.ya=80;(d=a.za[d])?(d.Qd=f,d.Ha=e,d.Na=g,d.Wa=h*d.Mb,c=144<=c?c:c&240,d.Ra=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.sc(d,function(b){0<=b&&a.ka?(zi(a.ka,14),a.ya=136):(a.ya=1,a.ne=16)},!1);break;case 48:a.ka?(zi(a.ka,14),a.ya=136):(a.ya=1,a.ne=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ne=1;b=!0;break;case 145:d.$b=e+1,d.jc=h,b=!0}b&&a.ka&&zi(a.ka,14)}
function Nk(a){a.ob=0;var b=a.Oa(),c=a.Oa(),d=c&32,e=d>>5,f=c&31,g=a.Oa(),h=a.Oa(),m=g<<2&768|h,n=g&63,q=a.Oa(),t=a.Oa(),s=a.za[e];s&&(s.Qd=m,s.Ha=f,s.Na=n,s.Wa=q*s.Mb);switch(b){case 3:a.Kb(s?s.errorCode:4);a.hb(c);a.hb(g);a.hb(h);a.hb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Oa());)s&&c<s.We.length&&(s.We[c++]=b);s&&Mk(a,s);b=0;s||a.hf!=e||(a.hf=-1,b=2);a.Kb(b|d);b=-1;break;case 224:case 228:a.Kb(0|d),b=-1}if(0<=b)switch(void 0===s?b=-1:(s.errorCode=0,s.jm=0),b){case 0:a.Kb(0|d);break;case 1:s.Wp=
t;a.Kb(0|d);break;case 5:a.Kb(0|d);break;case 8:a.ui(s,function(b){a.Kb(b|d)});break;case 10:a.vi(s,function(b){a.Kb(b|d)});break;case 15:Pk(a,s,function(b){a.Kb(b|d)});break;default:a.Kb(2|d)}}k.Oa=function(){var a=-1;this.ob<this.Xa&&(a=this.bc[this.ob++]);return a};k.Kb=function(a){this.ob=this.Xa=0;void 0!==a&&this.hb(a);this.ka&&zi(this.ka,5);this.ya|=32};k.hb=function(a){this.bc[this.Xa++]=a};k.si=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};
k.ti=function(a,b){return void 0!==b&&0<=b?this.Dc(a,b):-1};k.Em=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va<a.Xe.length?a.Xe[a.Va++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Fm=function(a,b){return void 0!==b&&0<=b?this.Zj(a,b):-1};k.ui=function(a,b){a.errorCode=4;if(a.va&&(a.Ra=null,this.ka)){a.errorCode=0;si(this.ka,3,this,"dmaRead",a);mi(this.ka,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.vi=function(a,b){a.errorCode=4;if(a.va&&(a.Ra=null,this.ka)){a.errorCode=0;si(this.ka,3,this,"dmaWrite",a);mi(this.ka,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function Pk(a,b,c){b.errorCode=4;b.Xe&&b.Xe.length==b.Wa||(b.Xe=Array(b.Wa));b.Va=0;a.ka?(b.errorCode=0,si(a.ka,3,a,"dmaWriteBuffer",b),mi(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
t;a.Kb(0|d);break;case 5:a.Kb(0|d);break;case 8:a.vi(s,function(b){a.Kb(b|d)});break;case 10:a.wi(s,function(b){a.Kb(b|d)});break;case 15:Pk(a,s,function(b){a.Kb(b|d)});break;default:a.Kb(2|d)}}k.Oa=function(){var a=-1;this.ob<this.Xa&&(a=this.bc[this.ob++]);return a};k.Kb=function(a){this.ob=this.Xa=0;void 0!==a&&this.hb(a);this.ka&&zi(this.ka,5);this.ya|=32};k.hb=function(a){this.bc[this.Xa++]=a};k.ti=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};
k.ui=function(a,b){return void 0!==b&&0<=b?this.Dc(a,b):-1};k.Em=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va<a.Xe.length?a.Xe[a.Va++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Fm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.vi=function(a,b){a.errorCode=4;if(a.va&&(a.Ra=null,this.ka)){a.errorCode=0;si(this.ka,3,this,"dmaRead",a);mi(this.ka,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.wi=function(a,b){a.errorCode=4;if(a.va&&(a.Ra=null,this.ka)){a.errorCode=0;si(this.ka,3,this,"dmaWrite",a);mi(this.ka,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function Pk(a,b,c){b.errorCode=4;b.Xe&&b.Xe.length==b.Wa||(b.Xe=Array(b.Wa));b.Va=0;a.ka?(b.errorCode=0,si(a.ka,3,a,"dmaWriteBuffer",b),mi(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.yk=function(a,b){a.errorCode=4;if(a.va&&(a.Ra=null,this.ka)){a.Ce=0;a.yc=Array(4);a.Lf=!0;a.Rf=0;a.errorCode=0;si(this.ka,3,this,"dmaWriteFormat",a);mi(this.ka,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Lf=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.sc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ra&&(d=tk(a.Ra,a.Va),a.Va+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;a.va.seek(a.Qd,a.Ha,a.Na+a.Yg,!1,function(c,d){var m=-1;(a.Ra=c)?(a.Va=0,f.If(a),m=tk(a.Ra,a.Va),a.Va+=e):a.errorCode=20;b(m,d)})}return d};
k.Dc=function(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.va.write(a.Ra,a.Va++,b))break;a.va.seek(a.Qd,a.Ha,a.Na+a.Yg,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=20;b=-1;break}a.Va=0;this.If(a)}while(1);return b};k.If=function(a){a.Na++;var b=1-a.Yg;a.Na>=a.jc+b&&(a.Na=b,a.Ha++,a.Ha>=a.$b&&(a.Ha=0,a.Qd++))};
k.Zj=function(a,b){if(a.errorCode)return-1;a.yc[a.Ce++]=b;if(a.Ce==a.yc.length){a.Qd=a.yc[0];a.Ha=a.yc[1];a.Na=a.yc[2];a.Wa=128<<a.yc[3];for(var c=a.Ce=0;c<a.Wa;c++)if(0>this.Dc(a,a.mk))return-1;a.Rf++}a.Rf>=a.$d&&(b=-1);return b};k.Pn=function(a){var b=this.S.J&255;!(this.S.G>>8)&&128<b&&(this.hf=b-128);this.X&&E(this.X,this.X.Xh)&&128<=b&&(Ec(this.X,19,a),Fc(this.S,a,function(a,b){return function(e){Gc(a.X,19,e,F(a.S)-b)}}(this,F(this.S))));return!0};
k.Oi=function(){var a;(a=this.S.G>>8)||(a=!this.ka)||(a=!(this.ka.tb[0].vd&64));return a?!0:!1};k.Qa=function(a){this.X&&E(this.X,this.X.Xh)&&this.X.message(a)};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,this.X.Xh,e)};
var Jk={800:W.prototype.Mn,801:W.prototype.Nn,802:W.prototype.Ln},Ik={496:W.prototype.Xm,497:W.prototype.Zm,498:W.prototype.$m,499:W.prototype.an,500:W.prototype.Wm,501:W.prototype.Vm,502:W.prototype.Ym,503:W.prototype.bn},Lk={800:W.prototype.cp,801:W.prototype.fp,802:W.prototype.ep,803:W.prototype.dp,807:W.prototype.Nj,811:W.prototype.Nj,815:W.prototype.Nj},Kk={496:W.prototype.uo,497:W.prototype.yo,498:W.prototype.wo,499:W.prototype.xo,500:W.prototype.to,501:W.prototype.so,502:W.prototype.vo,503:W.prototype.ro};
Ba(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);Oa(d,c)}});function Qk(a){x.call(this,"Debugger",a,Qk);this.$g=this.$c=-1;this.Ec=[0,0];this.hk=[0,0];this.Jh=null;this.bf=!1;this.qe=[0,0];this.xc=[];Rk(this);Sk(this);Ph(this,this,a.messages,!0);this.ib={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Uj=a.commands}y(x,Qk);
k.sc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ra&&(d=tk(a.Ra,a.Va),a.Va+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;a.va.seek(a.Qd,a.Ha,a.Na+a.Zg,!1,function(c,d){var m=-1;(a.Ra=c)?(a.Va=0,f.If(a),m=tk(a.Ra,a.Va),a.Va+=e):a.errorCode=20;b(m,d)})}return d};
k.Dc=function(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.va.write(a.Ra,a.Va++,b))break;a.va.seek(a.Qd,a.Ha,a.Na+a.Zg,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=20;b=-1;break}a.Va=0;this.If(a)}while(1);return b};k.If=function(a){a.Na++;var b=1-a.Zg;a.Na>=a.jc+b&&(a.Na=b,a.Ha++,a.Ha>=a.$b&&(a.Ha=0,a.Qd++))};
k.$j=function(a,b){if(a.errorCode)return-1;a.yc[a.Ce++]=b;if(a.Ce==a.yc.length){a.Qd=a.yc[0];a.Ha=a.yc[1];a.Na=a.yc[2];a.Wa=128<<a.yc[3];for(var c=a.Ce=0;c<a.Wa;c++)if(0>this.Dc(a,a.mk))return-1;a.Rf++}a.Rf>=a.$d&&(b=-1);return b};k.Pn=function(a){var b=this.S.J&255;!(this.S.G>>8)&&128<b&&(this.hf=b-128);this.X&&(D(this.X,W.Yh)||D(this.X,W.Fg))&&128<=b&&(Ec(this.X,19,a),Fc(this.S,a,function(a,b){return function(e){Gc(a.X,19,e,F(a.S)-b)}}(this,F(this.S))));return!0};
k.Pi=function(){var a;(a=this.S.G>>8)||(a=!this.ka)||(a=!(this.ka.tb[0].vd&64));return a?!0:!1};k.Qa=function(a,b){this.X&&(null==b&&(b=W.Yh),D(this.X,b)&&this.X.message(a))};k.ba=function(a,b,c,d,e){this.X&&this.X.ba(this,a,b,c,d,W.Yh,e)};
var Jk={800:W.prototype.Mn,801:W.prototype.Nn,802:W.prototype.Ln},Ik={496:W.prototype.Xm,497:W.prototype.Zm,498:W.prototype.$m,499:W.prototype.an,500:W.prototype.Wm,501:W.prototype.Vm,502:W.prototype.Ym,503:W.prototype.bn},Lk={800:W.prototype.cp,801:W.prototype.fp,802:W.prototype.ep,803:W.prototype.dp,807:W.prototype.Oj,811:W.prototype.Oj,815:W.prototype.Oj},Kk={496:W.prototype.uo,497:W.prototype.yo,498:W.prototype.wo,499:W.prototype.xo,500:W.prototype.to,501:W.prototype.so,502:W.prototype.vo,503:W.prototype.ro};
Ba(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);Oa(d,c)}});function Qk(a){x.call(this,"Debugger",a,Qk);this.ah=this.$c=-1;this.Ec=[0,0];this.hk=[0,0];this.Kh=null;this.bf=!1;this.qe=[0,0];this.xc=[];Rk(this);Sk(this);Ph(this,this,a.messages,!0);this.ib={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Vj=a.commands}y(x,Qk);
var Tk={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear window","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options"},Uk="DB AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
X="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),Vk="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),Y={Fg:{La:1,Ma:"mem"},ek:{La:2,Ma:"port"},Fb:{La:4,Ma:"dma"},Te:{La:8,Ma:"pic"},Ue:{La:16,Ma:"timer"},Cf:{La:32,Ma:"cmos"},wm:{La:64,Ma:"rtc"},Se:{La:128,Ma:"8042"},uc:{La:256,Ma:"chipset"},dk:{La:512,Ma:"keyboard"},Hg:{La:1024,Ma:"video"},Eg:{La:2048,Ma:"fdc"},Xh:{La:4096,Ma:"hdc"},rm:{La:8192,Ma:"disk"},fk:{La:16384,Ma:"serial"},Gg:{La:32768,Ma:"speaker"},xm:{La:65536,
Ma:"state"},vm:{La:131072,Ma:"mouse"},pm:{La:262144,Ma:"computer"},qm:{La:524288,Ma:"cpu"},sm:{La:1048576,Ma:"dos"},ck:{La:2097152,Ma:"int"},um:{La:16777216,Ma:"log"},tm:{La:268435456,Ma:"halt"}},Z=[0,0],Wk=[204,12291],Xk=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],[6,12385,4097],[6,14435,4100],[136,4211],[133,8307],[129,12417,4257],[129,12420,4260],[129,12449,4225],[129,12452,4228],[129,12385,4097],[129,14435,4100],[136,4467],[133,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],
X="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),Vk="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),Y={Gg:{La:1,Ma:"mem"},ek:{La:2,Ma:"port"},Fb:{La:4,Ma:"dma"},Te:{La:8,Ma:"pic"},Ue:{La:16,Ma:"timer"},Cf:{La:32,Ma:"cmos"},wm:{La:64,Ma:"rtc"},Se:{La:128,Ma:"8042"},uc:{La:256,Ma:"chipset"},dk:{La:512,Ma:"keyboard"},Ig:{La:1024,Ma:"video"},Eg:{La:2048,Ma:"fdc"},Yh:{La:4096,Ma:"hdc"},rm:{La:8192,Ma:"disk"},fk:{La:16384,Ma:"serial"},Hg:{La:32768,Ma:"speaker"},xm:{La:65536,
Ma:"state"},vm:{La:131072,Ma:"mouse"},pm:{La:262144,Ma:"computer"},qm:{La:524288,Ma:"cpu"},sm:{La:1048576,Ma:"dos"},Fg:{La:2097152,Ma:"int"},um:{La:16777216,Ma:"log"},tm:{La:268435456,Ma:"halt"}},Z=[0,0],Wk=[204,12291],Xk=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],[6,12385,4097],[6,14435,4100],[136,4211],[133,8307],[129,12417,4257],[129,12420,4260],[129,12449,4225],[129,12452,4228],[129,12385,4097],[129,14435,4100],[136,4467],[133,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],
[5,12452,4228],[5,12385,4097],[5,14435,4100],[136,4723],[133,8819],[149,12417,4257],[149,12420,4260],[149,12449,4225],[149,12452,4228],[149,12385,4097],[149,14435,4100],[136,4979],[133,9075],[7,12417,4257],[7,12420,4260],[7,12449,4225],[7,12452,4228],[7,12385,4097],[7,14435,4100],[35,15],[29],[183,12417,4257],[183,12420,4260],[183,12449,4225],[183,12452,4228],[183,12385,4097],[183,14435,4100],[27,15],[30],[190,12417,4257],[190,12420,4260],[190,12449,4225],[190,12452,4228],[190,12385,4097],[190,14435,
4100],[176,15],[1],[24,4225,4257],[24,4228,4260],[24,4257,4225],[24,4260,4228],[24,4193,4097],[24,6243,4100],[33,15],[4],[75,14435],[75,14691],[75,14947],[75,15203],[75,15459],[75,15715],[75,15971],[75,16227],[31,14435],[31,14691],[31,14947],[31,15203],[31,15459],[31,15715],[31,15971],[31,16227],[136,6243],[136,6499],[136,6755],[136,7011],[136,7267],[136,7523],[136,7779],[136,8035],[133,10339],[133,10595],[133,10851],[133,11107],[133,11363],[133,11619],[133,11875],[133,12131],[137,32768],[134,32768],
[10,37028,4247],[8,8323,4259],[64,49152],[70,49152],[130,49152],[9,49152],[136,36868],[73,45219,4234],[136,36866],[73,45219,4233],[76,41041,6755],[76,41044,6755],[132,39523,4161],[132,39523,4164],[95,4145],[91,4145],[82,4145],[90,4145],[98,4145],[94,4145],[81,4145],[89,4145],[97,4145],[93,4145],[96,4145],[92,4145],[86,4145],[85,4145],[87,4145],[84,4145],[191,12417,4097],[192,12420,4100],[191,12417,4097],[193,12420,4097],[184,4225,4257],[184,4228,4260],[188,12449,12417],[188,12452,12420],[120,8321,
@ -660,33 +660,33 @@ Ma:"state"},vm:{La:131072,Ma:"mouse"},pm:{La:262144,Ma:"computer"},qm:{La:524288
62:"close file BX",63:"read CX bytes from file BX into buffer DS:DX",64:"write CX bytes to file BX from buffer DS:DX",65:"delete file DS:DX",66:"set position CX:DX of file BX relative to AL",67:"get(0)/set(1) attributes CX of file DS:DX (AL)",68:"get device information (IOCTL)",69:"duplicate file handle BX",70:"force file handle CX to duplicate file handle BX",71:"get current directory (ds:si) for drive DL",72:"allocate memory segment with BX paragraphs",73:"free memory segment ES",74:"resize memory segment ES to BX paragraphs",
75:"load program DS:DX using parameter block ES:BX",76:"terminate with return code AL",77:"get return code (al)",78:"find first matching file DS:DX with attributes CX",79:"find next matching file",80:"set current psp BX",81:"get current psp (bx)",82:"get system variables (es:bx)",83:"translate bpb DS:SI to dpb (es:bp)",84:"get verify flag (al)",85:"create child psp at segment DX",86:"rename file DS:DX to name ES:DI",87:"get(0)/set(1) file date DX and time CX (AL)",88:"get(0)/set(1) memory allocation strategy (AL)",
89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};k=Qk.prototype;
k.pc=function(a,b,c){this.na=b;this.S=c;this.Da=a;this.Lm=C(a,"FDC");this.Hk=C(a,"HDC");this.Gf=Xk;80186<=this.S.Fa&&(this.Gf=Xk.slice(),this.Gf[15]=Z,80286<=this.S.Fa&&(this.Gf[15]=Wk));Cc(this.S,33,this,this.Sn);this.Ta();if(this.Uj){a=al(this,this.Uj);delete this.Uj;for(var d in a)bl(this,a[d])}};
k.pc=function(a,b,c){this.na=b;this.S=c;this.Da=a;this.Lm=C(a,"FDC");this.Hk=C(a,"HDC");this.Gf=Xk;80186<=this.S.Fa&&(this.Gf=Xk.slice(),this.Gf[15]=Z,80286<=this.S.Fa&&(this.Gf[15]=Wk));Cc(this.S,33,this,this.Sn);this.Ta();if(this.Vj){a=al(this,this.Vj);delete this.Vj;for(var d in a)bl(this,a[d])}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Tf=this.sa[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=al(e,b,!0);for(b in c)bl(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.sa[c]=d,xa(d,function(){if(e.Tf){var a=e.Tf.value;e.Tf.value="";var b=al(e,a,!0);for(a in b)bl(e,b[a]);return!0}return!1}),!0;case "step":return this.sa[c]=d,xa(d,function(a){var b=!1;Qa(e,!0)||(Pa(e,!0),b=e.wf(a?1:0),Pa(e,!1));return b}),
!0}return!1};k.Md=function(){this.Tf&&this.Tf.focus()};function Ph(a,b,c,d){d&&(a.di=[]);d=0;c=al(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.ca(Y[e].Ma+" messages enabled"));void 0===a.ec&&(a.ec=0);a.ec|=d}function Qh(a,b,c){for(var d in Y)if(b==Y[d].La){a.di[d]=c;break}}function E(a,b){return(a.ec&b)===b}
!0}return!1};k.Md=function(){this.Tf&&this.Tf.focus()};function Ph(a,b,c,d){d&&(a.ei=[]);d=0;c=al(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.ca(Y[e].Ma+" messages enabled"));void 0===a.ec&&(a.ec=0);a.ec|=d}function Qh(a,b,c){for(var d in Y)if(b==Y[d].La){a.ei[d]=c;break}}function D(a,b){return(a.ec&b)===b}
function Ec(a,b,c){if(32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.S.G>>8,e=$k[b];if(e=e&&e[d]||""){var f=a.S;a.ib[X[0]]=r(f.G&255);a.ib[X[1]]=r(f.I&255);a.ib[X[2]]=r(f.J&255);a.ib[X[3]]=r(f.B&255);a.ib[X[4]]=r(f.G>>8);a.ib[X[5]]=r(f.I>>8);a.ib[X[6]]=r(f.J>>8);a.ib[X[7]]=r(f.B>>8);a.ib[X[8]]=u(f.G);a.ib[X[9]]=u(f.I);a.ib[X[10]]=u(f.J);a.ib[X[11]]=u(f.B);a.ib[X[12]]=u(f.Y);a.ib[X[13]]=u(f.H);a.ib[X[14]]=u(f.F);a.ib[X[15]]=u(f.D);a.ib[X[16]]=u(f.Za.oa);a.ib[X[17]]=u(f.ua.oa);a.ib[X[18]]=u(f.wb.oa);
a.ib[X[19]]=u(f.Eb.oa);a.ib[X[20]]=u(f.qa);e=" "+ia(a.ib,e)}a.message("INT 0x"+r(b)+": AH="+r(d)+" at "+da(c-a.S.ua.Ua,a.S.ua.oa)+e)}}function Gc(a,b,c,d,e){32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b&&a.message("INT 0x"+r(b)+"("+c+"): C="+(Uc(a.S)?1:0)+(e||"")+" (cycles="+d+")")}
k.ba=function(a,b,c,d,e,f,g){f||(f=0);f|=Y.ek.La;if(null==d||(this.ec&f)==f)f=null,null!=d&&(f=this.S.ua.oa,d-=this.S.ua.Ua),this.message(a.sh+"."+(null!=c?"outPort":"inPort")+"(0x"+u(b)+","+(e?e:"unknown")+(null!=c?",0x"+r(c):"")+")"+(null!=g?": 0x"+r(g):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.ca(a);this.S&&(this.ec&Y.tm.La&&this.S.Ab(),a=this.S,a.of=0,a.Oc-=a.A,a.A=0,a.eh())};k.Sn=function(a){E(this,this.sm)&&Ec(this,33,a);return!0};k.On=function(){this.ca("Type ? for list of debugger commands")};
k.ba=function(a,b,c,d,e,f,g){f||(f=0);f|=Y.ek.La;if(null==d||(this.ec&f)==f)f=null,null!=d&&(f=this.S.ua.oa,d-=this.S.ua.Ua),this.message(a.th+"."+(null!=c?"outPort":"inPort")+"(0x"+u(b)+","+(e?e:"unknown")+(null!=c?",0x"+r(c):"")+")"+(null!=g?": 0x"+r(g):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.ca(a);this.S&&(this.ec&Y.tm.La&&this.S.Ab(),a=this.S,a.of=0,a.Oc-=a.A,a.A=0,a.fh())};k.Sn=function(a){D(this,this.sm)&&Ec(this,33,a);return!0};k.On=function(){this.ca("Type ? for list of debugger commands")};
function Sk(a){var b;if(jd(a)){if(!a.Ud||!a.Ud.length){a.Ud=Array(1E4);for(b=0;b<a.Ud.length;b++)a.Ud[b]=[0,null,0];a.jf=0}if(!a.Rc||!a.Rc.length)for(a.Rc=Array(256),b=0;b<a.Rc.length;b++)a.Rc[b]=[b,0]}else a.jf=0,a.Ud=[],a.Rc=[]}k.Ne=function(a){if(!cl(this))return!1;this.S.Ne(a);return!0};
k.wf=function(a,b,c){if(!cl(this))return!1;this.$c=0;do{a||jd(this)&&nd(this,this.S.Ba,!0);try{var d=this.S.wf(a);0<d&&(this.$c+=d,Ib(this.S,d,!0),Fb(this.S,d),this.$g++)}catch(e){this.$c=0,Sa(this.S,e.message||e)}}while(this.S.$&240);!1!==c&&Eb(this.S);Db(this,b||!1,!1);return 0<this.$c};k.Ab=function(){this.S.Ab()};function Db(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Ec=[a.S.qa,a.S.ua.oa,void 0];b&&1!=a.nc?dl(a,null,c):el(a)}
function cl(a){a.S&&Ra(a.S)&&a.S.Nb&&!Qa(a.S)?(a=a.S,a.jd?(a.ca(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ac=function(a,b){return!b&&(this.reset(!0),this.ca(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Wb=function(a,b){b&&this.ca(a?"suspending":"shutting down");return a&&this.save?this.save():!0};k.reset=function(a){Sk(this);this.$c=this.$g=0;this.Ec=[this.S.qa,this.S.ua.oa,void 0];void 0===this.Ob||a||this.ca("reset");this.Ob=!1;fl(this);a||Db(this)};
k.save=function(){var a=new H(this);a.set(0,this.Ec);a.set(1,this.qe);a.set(2,[this.Jh,this.bf,this.ec]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Ec=a[b++],this.qe=a[b++],this.Jh=a[b][0],this.bf=a[b][1],this.ec||(this.ec=a[b][2]));return!0};k.start=function(a,b){this.nc||this.ca("running");this.Ob=!0;this.$n=a;this.eo=b};
k.stop=function(a,b){if(this.Ob){this.Ob=!1;this.$c=b-this.eo;if(!this.nc){var c="stopped";if(this.$c){var d=a-this.$n,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";jd(this)&&(c+=this.$g+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.ca(c)}Db(this,!0,2!=this.nc);this.Md();fl(this,this.S.Ba)}};function jd(a){return 1<a.vc.length||E(a,a.ck)}
function nd(a,b,c){if(!c&&gl(a,b,a.vc))return!0;a.Rc.length&&(a.$g++,c=bb(a.na,b),a.Rc[c][1]++,c=a.Ud[a.jf],c[0]=a.S.qa,c[1]=a.S.ua.oa,c[2]=b,++a.jf==a.Ud.length&&(a.jf=0));return!1}function qb(a,b){return gl(a,b,a.Sd)?(a.S.Ab(!0),!0):!1}function rb(a,b){return gl(a,b,a.Qc)?(a.S.Ab(!0),!0):!1}function kb(a,b,c){a.ca("break on input from port "+u(b)+": "+r(c));a.S.Ab(!0)}function ob(a,b,c){a.ca("break on output to port "+u(b)+": "+r(c));a.S.Ab(!0)}
k.wf=function(a,b,c){if(!cl(this))return!1;this.$c=0;do{a||jd(this)&&nd(this,this.S.Ba,!0);try{var d=this.S.wf(a);0<d&&(this.$c+=d,Ib(this.S,d,!0),Fb(this.S,d),this.ah++)}catch(e){this.$c=0,Sa(this.S,e.message||e)}}while(this.S.$&240);!1!==c&&Eb(this.S);Db(this,b||!1,!1);return 0<this.$c};k.Ab=function(){this.S.Ab()};function Db(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Ec=[a.S.qa,a.S.ua.oa,void 0];b&&1!=a.nc?dl(a,null,c):el(a)}
function cl(a){a.S&&Ra(a.S)&&a.S.Nb&&!Qa(a.S)?(a=a.S,a.jd?(a.ca(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ac=function(a,b){return!b&&(this.reset(!0),this.ca(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Wb=function(a,b){b&&this.ca(a?"suspending":"shutting down");return a&&this.save?this.save():!0};k.reset=function(a){Sk(this);this.$c=this.ah=0;this.Ec=[this.S.qa,this.S.ua.oa,void 0];void 0===this.Ob||a||this.ca("reset");this.Ob=!1;fl(this);a||Db(this)};
k.save=function(){var a=new H(this);a.set(0,this.Ec);a.set(1,this.qe);a.set(2,[this.Kh,this.bf,this.ec]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Ec=a[b++],this.qe=a[b++],this.Kh=a[b][0],this.bf=a[b][1],this.ec||(this.ec=a[b][2]));return!0};k.start=function(a,b){this.nc||this.ca("running");this.Ob=!0;this.$n=a;this.eo=b};
k.stop=function(a,b){if(this.Ob){this.Ob=!1;this.$c=b-this.eo;if(!this.nc){var c="stopped";if(this.$c){var d=a-this.$n,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";jd(this)&&(c+=this.ah+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.ca(c)}Db(this,!0,2!=this.nc);this.Md();fl(this,this.S.Ba)}};function jd(a){return 1<a.vc.length||D(a,a.Fg)}
function nd(a,b,c){if(!c&&gl(a,b,a.vc))return!0;a.Rc.length&&(a.ah++,c=bb(a.na,b),a.Rc[c][1]++,c=a.Ud[a.jf],c[0]=a.S.qa,c[1]=a.S.ua.oa,c[2]=b,++a.jf==a.Ud.length&&(a.jf=0));return!1}function qb(a,b){return gl(a,b,a.Sd)?(a.S.Ab(!0),!0):!1}function rb(a,b){return gl(a,b,a.Qc)?(a.S.Ab(!0),!0):!1}function kb(a,b,c){a.ca("break on input from port "+u(b)+": "+r(c));a.S.Ab(!0)}function ob(a,b,c){a.ca("break on output to port "+u(b)+": "+r(c));a.S.Ab(!0)}
function hl(a,b){if(b==a.S.ua.oa)return a.S.ua;if(b==a.S.Eb.oa)return a.S.Eb;if(b==a.S.Za.oa)return a.S.Za;if(b==a.S.wb.oa)return a.S.wb;var c=new Nb(a.S);c.load(b,!0);return c}function il(a,b,c,d){var e=b[2];null==e&&(a=hl(a,b[1]),e=c?a.Yb(b[0],d||0,!0):a.Wc(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.ub=function(a,b){var c=255,d=il(this,a,!1,0);0<=d&&(c=bb(this.na,d),void 0!==b&&jl(a,b));return c};
k.Ia=function(a,b){var c=65535,d=il(this,a,!1,1);0<=d&&(c=cb(this.na,d),void 0!==b&&jl(a,b));return c};k.bd=function(a,b,c){var d=il(this,a,!0,0);0<=d&&(db(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};k.Nd=function(a,b,c){var d=il(this,a,!0,1);0<=d&&(eb(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};function $(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])}function jl(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function Rk(a){var b;a.vc=["exec"];if(void 0!==a.Sd)for(b=1;b<a.Sd.length;b++){var c=a.na,d=il(a,a.Sd[b]);wb(c.Aa[d>>c.rb],!1)}a.Sd=["read"];if(void 0!==a.Qc)for(b=1;b<a.Qc.length;b++)c=a.na,d=il(a,a.Qc[b]),wb(c.Aa[d>>c.rb],!0);a.Qc=["write"]}k.Vd=function(a,b,c){if(!kl(this,a,b)){b[2]=il(this,b);b[3]=c;a.push(b);if(a!=this.vc){var d=this.na,e=il(this,b);d.Aa[e>>d.rb].Vd(e&d.eb,a==this.Qc)}c||this.ca("breakpoint enabled: "+$(b)+" ("+a[0]+")");Sk(this);return!0}return!1};
function kl(a,b,c,d){var e=!1;c=il(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==il(a,g)){e=!0;if(d){b.splice(f,1);b!=a.vc&&(d=a.na,wb(d.Aa[c>>d.rb],b==a.Qc));g[3]||a.ca("breakpoint cleared: "+$(g)+" ("+b[0]+")");Sk(a);break}a.ca("breakpoint exists: "+$(g)+" ("+b[0]+")");break}}return e}function ll(a,b){for(var c=1;c<b.length;c++)a.ca("breakpoint enabled: "+$(b[c])+" ("+b[0]+")");return b.length-1}
function xb(a,b,c,d){if(void 0===d)xb(a,b,c,a.Sd),xb(a,b,c,a.Qc);else for(var e=1;e<d.length;e++){var f=il(a,d[e]);if(f>=b&&f<b+c){var g=a.na;g.Aa[f>>g.rb].Vd(f&g.eb,d==a.Qc)}}}function fl(a,b){if(void 0!==b)gl(a,b,a.vc,!0),a.nc=0;else for(var c=1;c<a.vc.length;c++){var d=a.vc[c];if(d[3]){if(!kl(a,a.vc,d,!0))break;c=0}}}
function gl(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var g=c[f];if(b==il(a,g)){g[3]?kl(a,c,g,!0):d||a.ca("breakpoint hit: "+$(g)+" ("+c[0]+")");e=!0;break}}return e}
function ml(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.ub(b,1),g=a.Gf[f],h=g[0],m=-1;204==h&&(h=a.ub(b,1),g=Yk[h]||Z,f|=h<<8,h=g[0]);h>=Uk.length&&(m=a.ub(b,1),g=Zk[h-Uk.length][m>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",t=g[f];if(void 0!==t){var s=t&15;if(0!=s&&15!=s){var v=t&240;if(128<=v)if(0>m&&(m=a.ub(b,1)),160<=v)q=m>>3&7,176==(t&240)?q+=16:3<=(t&15)&&(q+=8),q=X[q];else{if(128<=v){var q=a,A=t,s=b,D="",v=m>>6,D=m&7;3>v?(A=void 0,v||6!=D?(D=Vk[D],1==v?(A=q.ub(s,
1),A&128?(A=A<<24>>24,D+="-"+r(-A)):D+="+"+r(A)):2==v&&(A=q.Ia(s,2),D+="+"+u(A))):(A=q.Ia(s,2),D=u(A)),D="["+D+"]"):D=X[D+(1==(A&15)?0:8)];q=D}}else if(16==v)q="1";else if(0==v){q=a;v=t;s=b;A=" ";switch(v&15){case 1:v&12288&&(A=r(q.ub(s,1)));break;case 2:A=u(q.ub(s,1)<<24>>24);break;case 3:case 4:A=u(q.Ia(s,2));break;case 6:v=q.Ia(s,2);q=q.Ia(s,2);A=$([v,q,void 0]);break;default:A="imm("+u(v)+")"}q=A}else 32==v?q="["+u(a.Ia(b,2))+"]":48==v?(1==s?(q=a.ub(b,1),q=q<<24>>24):q=a.Ia(b,2),q=b[0]+q&65535,
function ml(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.ub(b,1),g=a.Gf[f],h=g[0],m=-1;204==h&&(h=a.ub(b,1),g=Yk[h]||Z,f|=h<<8,h=g[0]);h>=Uk.length&&(m=a.ub(b,1),g=Zk[h-Uk.length][m>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",t=g[f];if(void 0!==t){var s=t&15;if(0!=s&&15!=s){var v=t&240;if(128<=v)if(0>m&&(m=a.ub(b,1)),160<=v)q=m>>3&7,176==(t&240)?q+=16:3<=(t&15)&&(q+=8),q=X[q];else{if(128<=v){var q=a,A=t,s=b,E="",v=m>>6,E=m&7;3>v?(A=void 0,v||6!=E?(E=Vk[E],1==v?(A=q.ub(s,
1),A&128?(A=A<<24>>24,E+="-"+r(-A)):E+="+"+r(A)):2==v&&(A=q.Ia(s,2),E+="+"+u(A))):(A=q.Ia(s,2),E=u(A)),E="["+E+"]"):E=X[E+(1==(A&15)?0:8)];q=E}}else if(16==v)q="1";else if(0==v){q=a;v=t;s=b;A=" ";switch(v&15){case 1:v&12288&&(A=r(q.ub(s,1)));break;case 2:A=u(q.ub(s,1)<<24>>24);break;case 3:case 4:A=u(q.Ia(s,2));break;case 6:v=q.Ia(s,2);q=q.Ia(s,2);A=$([v,q,void 0]);break;default:A="imm("+u(v)+")"}q=A}else 32==v?q="["+u(a.Ia(b,2))+"]":48==v?(1==s?(q=a.ub(b,1),q=q<<24>>24):q=a.Ia(b,2),q=b[0]+q&65535,
q=nl(a,[q,b[1],void 0])[0]||u(q)):96==v?q=X[(t&3840)>>8]:112==v?q=X[((t&3840)>>8)+16]:64==v?q="DS:[SI]":80==v&&(q="ES:[DI]");q.length||(q="type("+u(t)+")");0<h.length&&(h+=",");h+=q}}}m=$(e)+" ";n="";do n+=r(a.ub(e,1));while(e[0]!=b[0]);m+=(n+" ").substr(0,14);m+=(Uk[g[0]]+" ").substr(0,8);h&&(m+=" "+h);c&&(m=(m+" ").substr(0,50),m+=";",m=a.S.cf?m+("cycles="+F(a.S).toString()+" cs="+p(a.S.dg)):m+(c+(null!=d?"="+d.toString():"")));return m}
function ol(a,b){var c;switch(b){case "V":c=Zc(a.S);break;case "D":c=a.S.xa&1024;break;case "I":c=a.S.xa&512;break;case "T":c=a.S.xa&256;break;case "S":c=Yc(a.S);break;case "Z":c=Xc(a.S);break;case "A":c=Wc(a.S);break;case "P":c=Vc(a.S);break;case "C":c=Uc(a.S);break;default:c=0}return" "+b+(c?"1":"0")}function pl(a,b){return a.xg+"="+u(a.oa)+(b?"["+p(a.Ua,6)+","+u(a.Nc)+"]":"")}function sl(a,b,c,d){return a+"="+(null!=b?u(b):"")+"["+p(c,6)+","+u(d-c)+"]"}
function tl(a,b,c){var d=2==c?a.hk:a.Ec;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],g=f.toUpperCase(),h=0;h<a.xc.length;h++){var f=a.xc[h][0],m=a.xc[h][2][g];if(void 0!==m){g=m.o;void 0!==g&&(h=m.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==m.p&&(d[2]=m.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=ul(a,b),d=null):d=ul(a,b):(e=ul(a,b.substring(0,d)),c=ul(a,b.substring(d+1)),d=
null)}return[c,e,d]}
function ul(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.S.G;break;case "BX":d=a.S.B;break;case "CX":d=a.S.I;break;case "DX":d=a.S.J;break;case "SI":d=a.S.F;break;case "DI":d=a.S.D;break;case "BP":d=a.S.H;break;case "SP":d=a.S.Y;break;case "CS":d=a.S.ua.oa;break;case "DS":d=a.S.Eb.oa;break;case "ES":d=a.S.Za.oa;break;case "SS":d=a.S.wb.oa;break;case "IP":d=a.S.qa;break;default:d=ca(b),void 0===d&&a.ca("invalid "+(c?c:"value")+": "+b)}else a.ca("missing "+(c?c:"value"));return d}
function Pi(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var m=d[h];"number"==typeof m&&(d[h]=m={o:m});var n=m.o,q=m.s,t=m.a;void 0!==n&&(void 0!==q&&(f[0]=n,f[1]=q,m.p=il(a,f)),na(g,[n,h],e));t&&(m.a=t.replace(/''/g,'"'))}a.xc.push([b,c,d,g])}
function nl(a,b,c){for(var d=[],e=il(a,b),f=0;f<a.xc.length;f++){var g=a.xc[f][0],h=a.xc[f][1];if(e>=g&&e<g+h){b=ma(a.xc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?vl(a,f,b,d):c&&(b=~b,vl(a,f,b-1,d),vl(a,f,b,d));break}}return d}function vl(a,b,c,d){var e={},f=a.xc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.xc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function nl(a,b,c){for(var d=[],e=il(a,b),f=0;f<a.xc.length;f++){var g=a.xc[f][0],h=a.xc[f][1];if(e>=g&&e<g+h){b=ka(a.xc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?vl(a,f,b,d):c&&(b=~b,vl(a,f,b-1,d),vl(a,f,b,d));break}}return d}function vl(a,b,c,d){var e={},f=a.xc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.xc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function wl(a,b){if("?"==b)a.ca("\nfrequency commands:"),a.ca("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Rc)if("clear"==b){for(c=0;c<a.Rc.length;c++)a.Rc[c]=[c,0];a.ca("frequency data cleared");d++}else if(void 0!==b)a.ca("unknown frequency command: "+b),d++;else{var e=a.Rc.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.ca((Uk[a.Gf[f][0]]+" ").substr(0,5)+" ("+r(f)+"): "+g+" times"),d++)}}d||a.ca("no frequency data available")}}
function xl(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.ca("\nlist/load commands:"),a.ca("\tl [address] [drive #] [sector #] [# sectors]"),a.ca("\tln [address] lists symbol(s) nearest to address");else{var c=[],d,e=0,f=0,g=!1;if("json"==b[1])g=!0;else if(d="ln"==b[0],c=tl(a,b[1],d?1:2),d){c=nl(a,c,!0);c.length?(c[0]&&a.ca(u(c[1])+": "+c[0]),4<c.length&&c[4]&&a.ca(u(c[5])+": "+c[4])):a.ca("no symbols");return}d=ul(a,b[2],"drive #");if(void 0!==d){if(!g){e=ul(a,b[3],"sector #");if(void 0===e)return;
f=ul(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Lm;2<=d&&a.Hk&&(d-=2,h=a.Hk);if(h){var m=h.wk(d);if(m)if(m.va)if(g)a.ca(sk(m.va));else if(h.hm(m,e,f)){for(var n=0,q=!1,e=$(c);!q&&0<m.Wa--;)(function(a,b){h.sc(m,function(c){0>c?(a.ca("out of data at address "+$(b)),q=!0):(a.bd(b,c,1),n++)})})(a,c);a.ca(n+" bytes read at "+e)}else a.ca("sector "+e+" request out of range");else a.ca("drive "+d+" not loaded");else a.ca("invalid drive: "+d)}else a.ca("disk controller not present")}}}
@ -696,12 +696,12 @@ break;case "BP":a.S.H=b&65535;break;case "SI":a.S.F=b&65535;break;case "DI":a.S.
(f=a.S,f.xa|=512):(f=a.S,f.xa&=-513);break;case "D":b?(f=a.S,f.xa|=1024):(f=a.S,f.xa&=-1025);break;case "V":b?id(a.S):dd(a.S);break;default:a.ca("unknown register: "+f);return}Eb(a.S);a.ca("updated registers:")}}f=e;void 0===f&&(f=!!(a.S.ad&1));e="AX="+u(a.S.G)+" BX="+u(a.S.B)+" CX="+u(a.S.I)+" DX="+u(a.S.J)+" SP="+u(a.S.Y)+" BP="+u(a.S.H)+" SI="+u(a.S.F)+" DI="+u(a.S.D)+"\n";e+=pl(a.S.Eb,f)+" "+pl(a.S.Za,f)+" "+pl(a.S.wb,f);e=e+(f?"\n":" ")+(pl(a.S.ua,f)+" IP="+u(a.S.qa)+ol(a,"V")+ol(a,"D")+ol(a,
"I")+ol(a,"T")+ol(a,"S")+ol(a,"Z")+ol(a,"A")+ol(a,"P")+ol(a,"C"));f&&(f=a.na,e+=" MS="+u(a.S.ad)+"\n"+sl("LD",a.S.Ld.oa,a.S.Ld.Ua,a.S.Ld.Nc)+" "+sl("GD",null,a.S.Sc,a.S.Ye)+" "+sl("ID",null,a.S.dd,a.S.te)+" TR="+u(a.S.Ag.oa)+" A20="+(f.ue==f.Ib?"ON":"OFF"));a.ca((c?"":"\n")+e);d&&(a.Ec=[a.S.qa,a.S.ua.oa,void 0],el(a,$(a.Ec)))}}function yl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;wa(b,function(){return Pa(a,!0)&&a.wf(e,d,!1)},function(){Eb(a.S);Pa(a,!1)})}
function el(a,b,c,d){b=tl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.na.ue];if(void 0!==c){e=tl(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.ca("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Ec[0];d--&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){var f=a.ub(b),g=Qa(a,!1)||a.nc?a.$c:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=nl(a,b);if(h[0]){var m=h[0]+":";c=!1;h[2]&&(m+=" "+h[2]);a.ca(m)}c&&a.ca();h[3]&&(f=h[3],
g=null);c=ml(a,b,f,g);a.ca(c);a.Ec=b;c=!1}}}function al(a,b,c){c&&(b?a.Jh=b:b=a.Jh);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a}
g=null);c=ml(a,b,f,g);a.ca(c);a.Ec=b;c=!1}}}function al(a,b,c){c&&(b?a.Kh=b:b=a.Kh);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a}
function bl(a,b){!b.length&&a.bf&&(a.ca("ended assemble @"+$(a.qe)),a.Ec=a.qe,a.bf=!1);b=b.toLowerCase();if(Ra(a)&&!Qa(a,!0)&&0<b.length){if(a.bf)b="a "+$(a.qe)+" "+b;else{var c,d,e;switch(b){case "reset":a.Da&&a.Da.reset();return;default:for(d=b.charAt(0),e=1;e<b.length;e++){c=b.charAt(e);if(" "==c)break;if("r"==d||"a">c||"z"<c){b=b.substring(0,e)+" "+b.substring(e);break}}}}c=b.split(" ");switch(c[0].charAt(0)){case "a":var f=tl(a,c[1],1);if(null!=f[0])if(a.qe=f,void 0===c[2])a.ca("begin assemble @"+
$(f)),a.bf=!0,Eb(a.S);else if(a.ca("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.bd(f,c[g],1);a.ca(ml(a,a.qe))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+ll(a,a.vc),f+=ll(a,a.Sd),(f+=ll(a,a.Qc))||a.ca("no breakpoints");else if(void 0===f)a.ca("missing breakpoint address");else{g=[];if("*"!=f&&(g=tl(a,f,1),null==g[0]))break a;f=null==g[0]?f:u(g[0]);"c"==c?null==g[0]?(Rk(a),a.ca("all breakpoints cleared")):kl(a,a.vc,g,!0)||kl(a,a.Sd,g,!0)||kl(a,a.Qc,g,!0)||
a.ca("breakpoint missing: "+$(g)):"i"==c?a.ca("breakpoint "+(hb(a.na,g[0])?"enabled":"cleared")+": port "+f+" (input)"):"o"==c?a.ca("breakpoint "+(lb(a.na,g[0])?"enabled":"cleared")+": port "+f+" (output)"):null!=g[0]&&("p"==c?a.Vd(a.vc,g):"r"==c?a.Vd(a.Sd,g):"w"==c?a.Vd(a.Qc,g):a.ca("unknown breakpoint command: "+c))}else a.ca("\nbreakpoint commands:"),a.ca("\tbi [p]\ttoggle break on input port [p]"),a.ca("\tbo [p]\ttoggle break on output port [p]"),a.ca("\tbp [a]\tset exec breakpoint at addr [a]"),
a.ca("\tbr [a]\tset read breakpoint at addr [a]"),a.ca("\tbw [a]\tset write breakpoint at addr [a]"),a.ca("\tbc [a]\tclear breakpoint at addr [a]"),a.ca("\tbl\tlist all breakpoints");break;case "c":a.Uf&&(a.Uf.value="");break;case "d":a:{var h=c[0],g=c[1],m=c[2],n;if("?"==g){f="symbols";for(n in Y)a.di[n]&&(f.length&&(f+=","),f+=Y[n].Ma);f+=",state";a.ca("\ndump commands:");a.ca("\tdb [a] [#] dump bytes at address a");a.ca("\tdw [a] [#] dump words at address a");a.ca("\tds [s] dump descriptor for selector s");
f.length&&a.ca("dumps are also available for: "+f)}else if("state"==g)a.ca(zl(a.Da,!0));else if("symbols"==g)for(c=0;c<a.xc.length;c++)for(f in g=a.xc[c][0],h=a.xc[c][2],h)"."!=f.charAt(0)&&(m=h[f],n=m.o,void 0!==n&&(m=m.s,void 0===m&&(m=g>>>4),(d=h[f].l)&&(f=d),a.ca(da(n,m)+" "+f)));else{for(n in Y)if(g==Y[n].Ma){(f=a.di[n])?f(m):a.ca("no dump registered for "+g);break a}f=tl(a,g,2);if(null!=f[0])if("ds"==h)if(c=hl(a,f[0]),null!=c.oa){f="selector="+u(f[0])+" limit="+u(c.Nc)+" base="+p(c.Ua);if(c.ab){f+=
a.ca("\tbr [a]\tset read breakpoint at addr [a]"),a.ca("\tbw [a]\tset write breakpoint at addr [a]"),a.ca("\tbc [a]\tclear breakpoint at addr [a]"),a.ca("\tbl\tlist all breakpoints");break;case "c":a.Uf&&(a.Uf.value="");break;case "d":a:{var h=c[0],g=c[1],m=c[2],n;if("?"==g){f="symbols";for(n in Y)a.ei[n]&&(f.length&&(f+=","),f+=Y[n].Ma);f+=",state";a.ca("\ndump commands:");a.ca("\tdb [a] [#] dump bytes at address a");a.ca("\tdw [a] [#] dump words at address a");a.ca("\tds [s] dump descriptor for selector s");
f.length&&a.ca("dumps are also available for: "+f)}else if("state"==g)a.ca(zl(a.Da,!0));else if("symbols"==g)for(c=0;c<a.xc.length;c++)for(f in g=a.xc[c][0],h=a.xc[c][2],h)"."!=f.charAt(0)&&(m=h[f],n=m.o,void 0!==n&&(m=m.s,void 0===m&&(m=g>>>4),(d=h[f].l)&&(f=d),a.ca(da(n,m)+" "+f)));else{for(n in Y)if(g==Y[n].Ma){(f=a.ei[n])?f(m):a.ca("no dump registered for "+g);break a}f=tl(a,g,2);if(null!=f[0])if("ds"==h)if(c=hl(a,f[0]),null!=c.oa){f="selector="+u(f[0])+" limit="+u(c.Nc)+" base="+p(c.Ua);if(c.ab){f+=
" access="+u(c.ab);if(c.ab&4096)c.ab&2048?(f=f+"code:"+(c.ab&512?"readable,":"execonly,"),f+=c.ab&1024?"conforming,":"nonconforming,"):(f+="data:",f+=c.ab&512?"writeable,":"readonly,",f+=c.ab&1024?"expand down,":"expand up,"),f+=c.ab&256?"accessed":"not accessed";else switch(f+="type:",c.ab&7936){case 256:f+="tss";break;case 512:f+="ldt";break;case 768:f+="tss(busy)";break;case 1024:f+="call";break;case 1280:f+="task";break;case 1536:f+="int";break;case 1792:f+="trap";break;default:f+="unknown"}f+=
",dpl"+(c.ab>>13&24576);f+=c.ab&32768?",present":",not present"}a.ca(f)}else a.ca("invalid selector: "+u(f[0]));else{c=0;void 0!==m&&("l"==m.charAt(0)&&(m=m.substr(1)),c=parseInt(m,10));n="";c||(c=8);for(m=0;m<c;m++){e=d="";for(var g=$(f),q=0,t=0;16>t;t++){var s=a.ub(f,1);"dw"==h?t&1&&(d+=u(q|s<<8)+(7==t?" - ":" ")):d+=r(s)+(7==t?"-":" ");e+=32<=s&&128>s?String.fromCharCode(s):".";q=s}n&&(n+="\n");n+=g+" "+d+" "+e}n&&a.ca(n);a.hk=f}}}break;case "e":f=c[1];if(void 0===f)a.ca("missing address");else if(f=
tl(a,f,2),null!=f[0])for(g=2;g<c.length;g++)h=parseInt(c[g],16),a.ca("setting "+$(f)+" to "+r(h)),a.bd(f,h,1);break;case "f":wl(a,c[1]);break;case "g":a:{f=c[1];if(void 0!==f){f=tl(a,f,1);if(null==f[0])break a;a.Vd(a.vc,f,!0)}a.Ne(!0)||a.ca('cpu not available, "g" command ignored')}break;case "h":m=c[1];if(a.Ob&&void 0===m)a.Ab();else{f="";c=10;g=a.jf;h=a.Ud;if(h.length)for(n=void 0===m?a.Ul:parseInt(m,10),isNaN(n)?n=c:f="more ",n>h.length&&(a.ca("note: only "+h.length+" available"),n=h.length),g-=
@ -712,28 +712,28 @@ a.ca((null!==f?f?"messages on: ":"messages off: ":"message categories:\n\t")+(n
c[1]);break;case "u":el(a,c[1],c[2],8);break;case "x":a:if(void 0===c[1]||"?"==c[1])a.ca("\nexecution options:"),a.ca("\tcs int #\tset checksum cycle interval to #"),a.ca("\tcs start #\tset checksum cycle start count to #"),a.ca("\tcs stop #\tset checksum cycle stop count to #"),a.ca("\tsp #\t\tset speed multiplier to #");else switch(c[1]){case "cs":void 0!==c[3]&&(m=parseInt(c[3],10));switch(c[2]){case "int":a.S.lf=m;break;case "start":a.S.fg=m;break;case "stop":a.S.nf=m;break;default:a.ca("unknown cs option");
break a}void 0!==m&&Bb(a.S);a.ca("checksums "+(a.S.cf?"enabled":"disabled"));break;case "sp":void 0!==c[2]&&Hb(a.S,parseInt(c[2],10));a.ca("target speed: "+(a.S.Ge.toFixed(2)+"Mhz")+" ("+a.S.Gd+"x)");break;default:a.ca("unknown option: "+c[1])}break;case "?":f="commands:";for(h in Tk)f+="\n"+h+" ".substr(0,7-h.length)+Tk[h];jd(a)||(f+="\nnote: frequency/history disabled if no exec breakpoints");a.ca(f);break;default:a.ca("unknown command: "+b)}}}
Ba(function(){for(var a=B(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Qk(d);Oa(d,c)}});function H(a,b,c){this.id=a.id;this.key=Al(a,b,c);this.X=a.X;Bl(this,a.gp)}function Al(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}function Cl(){try{return"undefined"!==typeof window.localStorage}catch(a){return!1}}
H.prototype={set:function(a,b){this[this.id][a]=b},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Ci=!0):this.Ci?!0:Cl()&&(a=window.localStorage.getItem(this.key))?(this[this.id]=a,this.Ci=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){w(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){Bl(this);if(Cl())for(var b=0;b<window.localStorage.length;){var c=window.localStorage.key(b++);c&&(a||c.substr(0,this.key.length)==this.key)&&(window.localStorage.removeItem(c),b=0)}},Qa:function(a){this.X&&E(this.X,this.X.xm)&&this.X.message(a)}};function Bl(a,b){a[a.id]={};b&&a.set("parms",b);a.Ci=!1}
H.prototype={set:function(a,b){this[this.id][a]=b},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Di=!0):this.Di?!0:Cl()&&(a=window.localStorage.getItem(this.key))?(this[this.id]=a,this.Di=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){w(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){Bl(this);if(Cl())for(var b=0;b<window.localStorage.length;){var c=window.localStorage.key(b++);c&&(a||c.substr(0,this.key.length)==this.key)&&(window.localStorage.removeItem(c),b=0)}},Qa:function(a){this.X&&D(this.X,this.X.xm)&&this.X.message(a)}};function Bl(a,b){a[a.id]={};b&&a.set("parms",b);a.Di=!1}
function Dl(a){var b=!0;if(Cl()){var c=JSON.stringify(a[a.id]);try{window.localStorage.setItem(a.key,c)}catch(d){w("Unable to store "+c.length+" bytes in browser local storage"),b=!1}}return b}
function El(a,b,c){x.call(this,"Computer",a,El);this.Nb=!1;this.cg=a.buswidth;this.Cc=Fl;this.yg=null;this.ph=!1;this.url=b?b.url:null;this.op=(Math.random()+0.1).toString(36).substr(2,12);this.Pc=Gl(this);if(this.S=Na("CPU",this.id)){this.X=Na("Debugger",this.id);this.na=new Va({id:this.th+".bus",buswidth:this.cg},this.S,this.X);var d,e=La(this.id);if((this.sg=Na("Panel",this.id))&&this.sg.Uf)for(b=0;b<e.length;b++)d=e[b],d.Ga=this.sg.Ga,d.ca=this.sg.ca,d.Uf=this.sg.Uf;this.ca("PREFETCH: false, TYPEDARRAYS: false");
for(b=0;b<e.length;b++)d=e[b],d.pc&&d.pc(this,this.na,this.S,this.X);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Ph=d:this.Cc=parseInt(d,10));var f;if(a=Fa&&Fa.state||(f=!0,a.state))b=this.gm=a,f||(this.ph=!0,this.Cc=Fl),this.Cc&&(this.Sh=new H(this,"1.15.5"),this.Sh.load()?b=null:delete this.Sh);!b&&this.Cc&&(f=null,this.Pc&&(f=sa()+"/api/v1/user?req=load&user="+this.Pc+"&state="+Al(this,"1.15.5")),b=f)&&(this.ph=!0);b?ra(b,!0,null,this,this.lo):this.Ta();c||Hl(this,this.Ih)}else w("Unable to find CPU component")}
y(x,El);var Ck=102,Fl=0;k=El.prototype;k.gf=function(){return this.op};k.ge=function(){return this.Pc?this.Pc:""};k.lo=function(a,b,c){c?(this.Ph=null,this.ph=!1,this.Ga("Unable to load machine state from server (error "+c+(b?": "+ja(b):"")+")")):this.yg=b;this.Ta()};function Hl(a,b,c){for(var d=La(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ra(f)){Ra(f,function(){Hl(a,b,c)});return}}b.call(a,c)}
function El(a,b,c){x.call(this,"Computer",a,El);this.Nb=!1;this.cg=a.buswidth;this.Cc=Fl;this.yg=null;this.qh=!1;this.url=b?b.url:null;this.op=(Math.random()+0.1).toString(36).substr(2,12);this.Pc=Gl(this);if(this.S=Na("CPU",this.id)){this.X=Na("Debugger",this.id);this.na=new Va({id:this.uh+".bus",buswidth:this.cg},this.S,this.X);var d,e=La(this.id);if((this.sg=Na("Panel",this.id))&&this.sg.Uf)for(b=0;b<e.length;b++)d=e[b],d.Ga=this.sg.Ga,d.ca=this.sg.ca,d.Uf=this.sg.Uf;this.ca("PREFETCH: false, TYPEDARRAYS: false");
for(b=0;b<e.length;b++)d=e[b],d.pc&&d.pc(this,this.na,this.S,this.X);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Qh=d:this.Cc=parseInt(d,10));var f;if(a=Fa&&Fa.state||(f=!0,a.state))b=this.gm=a,f||(this.qh=!0,this.Cc=Fl),this.Cc&&(this.Th=new H(this,"1.15.5"),this.Th.load()?b=null:delete this.Th);!b&&this.Cc&&(f=null,this.Pc&&(f=sa()+"/api/v1/user?req=load&user="+this.Pc+"&state="+Al(this,"1.15.5")),b=f)&&(this.qh=!0);b?ra(b,!0,null,this,this.lo):this.Ta();c||Hl(this,this.Jh)}else w("Unable to find CPU component")}
y(x,El);var Ck=102,Fl=0;k=El.prototype;k.gf=function(){return this.op};k.ge=function(){return this.Pc?this.Pc:""};k.lo=function(a,b,c){c?(this.Qh=null,this.qh=!1,this.Ga("Unable to load machine state from server (error "+c+(b?": "+ja(b):"")+")")):this.yg=b;this.Ta()};function Hl(a,b,c){for(var d=La(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ra(f)){Ra(f,function(){Hl(a,b,c)});return}}b.call(a,c)}
function Il(a,b){var c=new H(a,"1.15.5","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ga("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Ih=function(a){void 0===a&&(a=this.yg?1:this.Cc);var b=!1,c=!1;this.Ck=!1;var d=this.Sh||new H(this,"1.15.5");if(-1==a)b=!0;else if(a>Fl){if(d.load(this.yg)){this.uf=new H(this,"1.15.5","failsafe");this.uf.load()&&(Jl(this,d),a=2);this.uf.set("timestamp",pa());Dl(this.uf);var e=this.Cc&&!this.ph;if(1==a||ta("Click OK to restore previous PCjs machine state.")){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.Ga("Error: "+g),"unable to verify user"==
g&&(ua(""),this.Pc=null)):this.ca(f+": "+g),Bl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Il(this,c?d:null)}else 2==a&&d.clear()}else Il(this);delete this.yg;delete this.Sh}e=La(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.S&&(c=Kl(this,g,d,b,c));b=[d,a,c];-1!=a?Hl(this,this.Xl,b):this.Xl(b)};
k.Jh=function(a){void 0===a&&(a=this.yg?1:this.Cc);var b=!1,c=!1;this.Ck=!1;var d=this.Th||new H(this,"1.15.5");if(-1==a)b=!0;else if(a>Fl){if(d.load(this.yg)){this.uf=new H(this,"1.15.5","failsafe");this.uf.load()&&(Jl(this,d),a=2);this.uf.set("timestamp",pa());Dl(this.uf);var e=this.Cc&&!this.qh;if(1==a||ta("Click OK to restore previous PCjs machine state.")){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.Ga("Error: "+g),"unable to verify user"==
g&&(ua(""),this.Pc=null)):this.ca(f+": "+g),Bl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Il(this,c?d:null)}else 2==a&&d.clear()}else Il(this);delete this.yg;delete this.Th}e=La(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.S&&(c=Kl(this,g,d,b,c));b=[d,a,c];-1!=a?Hl(this,this.Xl,b):this.Xl(b)};
function Kl(a,b,c,d,e){if(!b.Nb){b.Nb=!0;if(b.ac){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ac(f,d)&&f&&(w("Unable to restore state for "+b.type),a.gm&&!a.yg?(c.clear(),a.Cc=Fl,window&&window.location.reload()):a.Ck=!0,b.ac(null),e=!1)}if(!d&&b.vk)for(a=b.vk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Xl=function(a){var b=a[0],c=0>a[1];a=a[2];this.Nb=!0;this.Ak||(this.ca("PCjs v1.15.5\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ak=!0);this.S&&Kl(this,this.S,b,c,a);this.Ck&&(Jl(this,b),b.clear());!c&&this.uf&&(this.uf.clear(),delete this.uf)};
function Jl(a,b){if(ta("There may be a problem with PCjs.\nClick OK to send your PCjs machine state to http://www.pcjs.org.")){var c=a.ge(),d=b.toString(),e={app:"PCjs",ver:"1.15.5"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ra("http://www.pcjs.org/api/v1/report",!0,e)}}
function zl(a,b,c){var d,e="none",f=new H(a,"1.15.5"),g=new H(a,"1.15.5","validate"),h=pa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.15.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.S&&a.S.Wb&&(c&&a.S.Ab(),d=a.S.Wb(b,c),"object"===typeof d&&f.set(a.S.id,d),c&&(a.S.Nb=!1,!1===d&&(e=null)));for(var h=La(a.id),m=0;m<h.length;m++){var n=h[m];n.Nb&&(n.Wb&&(d=n.Wb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.Nb=!1,!1===d&&
(e=null)))}e&&(c?(h=d=!1,b?(a.Pc&&Ll(a,a.Pc,f.toString()),Dl(g)&&Dl(f)||(e=null,d=h=!0)):a.Cc&&(d=!0,h=3==a.Cc),d&&f.clear(h)):e=f.toString());c&&(a.Nb=!1);return e}k.reset=function(){this.na&&this.na.reset&&(this.Qa("Resetting "+this.na.type,!0),this.na.reset());for(var a=La(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.na&&c.reset&&(this.Qa("Resetting "+c.type,!0),c.reset())}};
k.start=function(a,b){for(var c=La(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=La(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "save":return this.sa[c]=d,d.onclick=function(){var a=Gl(e,!0);if(a){var b=!(!e.Cc||e.Ph),c=zl(e,b);b?Ll(e,a,c):e.Ga("Resume disabled, machine state not saved")}},!0;case "reset":return this.sa[c]=d,d.onclick=function(){Gb(e)},!0}return!1};
k.xb=function(a,b,c,d){var e=this;switch(c){case "save":return this.sa[c]=d,d.onclick=function(){var a=Gl(e,!0);if(a){var b=!(!e.Cc||e.Qh),c=zl(e,b);b?Ll(e,a,c):e.Ga("Resume disabled, machine state not saved")}},!0;case "reset":return this.sa[c]=d,d.onclick=function(){Gb(e)},!0}return!1};
function Gl(a,b){var c=a.Pc;if(!c){var d;if(window)try{d=window.localStorage.getItem("user")}catch(e){}c=d;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 Jeff@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Ml(a,c))||a.Ga("Your user ID has not been approved."))):b&&a.Ga("Browser local storage is not available")}return c}
function Ml(a,b){a.Pc=null;var c=ra(sa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ua(c.data),a.Pc=c.data)}catch(e){w(e.message+" ("+d+")")}return a.Pc}
function Ll(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Al(a,"1.15.5");d.data=c;b=ra(sa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ga("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ga(c),ua(""),a.Pc=null)}}
function Gb(a){if(a.Cc&&!a.Ph){var b=1==a.Cc||!ta("Click OK to reset the PCjs machine state.\n(WARNING: All disk changes will be discarded)");zl(a,b,!0);!b&&a.gm?window&&window.location.reload():(b||(a.Ei=!0),a.Ih(Fl),a.Ei=!1)}else a.reset(),a.S&&Cb(a.S)}function C(a,b,c){a=La(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}k.Qa=function(a,b){this.X&&(b||E(this.X,this.X.pm))&&this.X.message(a)};
Ba(function(){for(var a=B(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new El(g,d,!0);Oa(g,f);Hl(g,g.Ih)}});ya.show.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Na("Computer",c.id))&&c.Ak&&!c.Nb&&c.Ih(-1)}});
ya.exit.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Na("Computer",c.id))&&c.Nb&&zl(c,!(!c.Cc||c.Ph),!0)}});function Nl(a,b,c,d){var e=ra(a);if(e[0])throw Error(e[1]);return Ol(e[1],a,b,c,d)}
function Gb(a){if(a.Cc&&!a.Qh){var b=1==a.Cc||!ta("Click OK to reset the PCjs machine state.\n(WARNING: All disk changes will be discarded)");zl(a,b,!0);!b&&a.gm?window&&window.location.reload():(b||(a.Fi=!0),a.Jh(Fl),a.Fi=!1)}else a.reset(),a.S&&Cb(a.S)}function C(a,b,c){a=La(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}k.Qa=function(a,b){this.X&&(b||D(this.X,this.X.pm))&&this.X.message(a)};
Ba(function(){for(var a=B(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new El(g,d,!0);Oa(g,f);Hl(g,g.Jh)}});ya.show.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Na("Computer",c.id))&&c.Ak&&!c.Nb&&c.Jh(-1)}});
ya.exit.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Na("Computer",c.id))&&c.Nb&&zl(c,!(!c.Cc||c.Qh),!0)}});function Nl(a,b,c,d){var e=ra(a);if(e[0])throw Error(e[1]);return Ol(e[1],a,b,c,d)}
function Ol(a,b,c,d,e){var f=null;if(a){if(e)for(var g=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g;f=g.exec(a);){var h=f[2],m=ra(h),n=m[1];if(m[0]||!n)throw c="unable to resolve XML reference: "+f[0]+" ("+m[0]+")",Error(c);if(m=f[3]){var q=n.match(new RegExp("<"+f[1]+"[^>]*>"));if(q){for(var h=q[0],t,s=/( [a-z]+=)(['"])(.*?)\2/g;t=s.exec(m);)h=0>h.indexOf(t[1])?h.replace(">",t[0]+">"):h.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);q[0]!=h&&(n=n.replace(q[0],h))}else throw c="missing <"+f[1]+"> in "+h,
Error(c);}n=n.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(f[0],n);g.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*\]>\s*/g,"")),f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml");else throw Error("unrecognized XML: "+
(255<a.length?a.substr(0,255)+"...":a));}return[a,f]}