Converted PC8080 to ES6

This commit is contained in:
Jeff Parsons 2016-12-28 10:03:58 -08:00 committed by Jeff Parsons
commit 0f680839f7
27 changed files with 11054 additions and 10896 deletions

View file

@ -33,339 +33,339 @@
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016
*/
var h;function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}
for(var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da<ca.length-1;da++){var ea=ca[da];ea in ba||(ba[ea]={});ba=ba[ea]}var fa=ca[ca.length-1],ha=ba[fa],ia=ha?ha:function(a){return Math.log(a)/Math.LN2};
ia!=ha&&null!=ia&&aa(ba,fa,{configurable:!0,writable:!0,value:ia});
var ja={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ka={ng:0,sd:1,pg:2,qg:3,rg:4,sg:5,tg:6,ug:7,Kc:8,vg:9,td:10,wg:11,xg:12,ud:13,yg:14,zg:15,Ag:16,Bg:17,Cg:18,Dg:19,Eg:20,Fg:21,Gg:22,Hg:23,Ig:24,Jg:25,Kg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Hc:65,mg:66,og:67,Lg:68,E:69,Mg:70,Ng:71,Og:72,Pg:73,Qg:74,Rg:75,Sg:76,Tg:77,Ug:78,Vg:79,Wg:80,Q:81,Xg:82,Yg:83,Zg:84,$g:85,ah:86,bh:87,dh:88,eh:89,Ed:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,fh:97,gh:98,hh:99,d:100,e:101,jh:102,kh:103,lh:104,mh:105,ph:106,k:107,qh:108,rh:109,n:110,sh:111,p:112,q:113,r:114,th:115,t:116,vh:117,wh:118,xh:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,vd:127};
for(var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da<ca.length-1;da++){var ea=ca[da];ea in ba||(ba[ea]={});ba=ba[ea]}var ga=ca[ca.length-1],ha=ba[ga],ia=ha?ha:function(a){return Math.log(a)/Math.LN2};
ia!=ha&&null!=ia&&aa(ba,ga,{configurable:!0,writable:!0,value:ia});
var ja={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ka={pg:0,ud:1,rg:2,sg:3,tg:4,ug:5,vg:6,wg:7,Lc:8,xg:9,vd:10,yg:11,zg:12,wd:13,Ag:14,Bg:15,Cg:16,Dg:17,Eg:18,Fg:19,Gg:20,Hg:21,Ig:22,Jg:23,Kg:24,Lg:25,Mg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ic:65,og:66,qg:67,Ng:68,E:69,Og:70,Pg:71,Qg:72,Rg:73,Sg:74,Tg:75,Ug:76,Vg:77,Wg:78,Xg:79,Yg:80,Q:81,Zg:82,$g:83,ah:84,bh:85,dh:86,eh:87,fh:88,gh:89,Gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,hh:97,ih:98,jh:99,d:100,e:101,lh:102,mh:103,nh:104,oh:105,rh:106,k:107,sh:108,th:109,n:110,uh:111,p:112,q:113,r:114,vh:115,t:116,xh:117,yh:118,zh:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,xd:127};
function la(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ma(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function q(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function na(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function v(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function w(a){return v(a,4,!0)}
function x(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function oa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function pa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function qa(a){return a.replace(/[&<>"']/g,function(a){return sa[a]})}function ta(a,b){return(a+" ").slice(0,b)}
function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},va={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function x(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function oa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function pa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function ra(a){return a.replace(/[&<>"']/g,function(a){return sa[a]})}function ta(a,b){return(a+" ").slice(0,b)}
function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},wa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function xa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function ya(){return Date.now()||+new Date}function za(){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 Aa(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Ba(a,b){var c,d={ba:null,da:null,La:null,Ka:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.La=g.load;d.Ka=g.exec;if(e=g.bytes)d.ba=e;else if(e=g.words)for(d.ba=Array(2*e.length),f=c=0;c<e.length;c++)d.ba[f++]=e[c]&255,d.ba[f++]=e[c]>>8&255;else if(e=g.data)for(d.ba=Array(4*e.length),f=c=0;c<e.length;c++)d.ba[f++]=
e[c]&255,d.ba[f++]=e[c]>>8&255,d.ba[f++]=e[c]>>16&255,d.ba[f++]=e[c]>>24&255;else d.ba=g;d.da=g.symbols;d.ba.length?1==d.ba.length&&(y(d.ba[0]),d=null):(y("Empty resource: "+a),d=null)}catch(k){y("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){y("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ba=e)}return d}
function Ca(){return"http://"+(window?window.location.host:"www.pcjs.org")}function y(a){window&&window.alert(a)}function Da(a){var b=!1;window&&(b=window.confirm(a));return b}function Ea(){if(null==Fa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Fa=a}return Fa}
function Ba(a,b){var c,d={ba:null,ea:null,La:null,Ka:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.La=g.load;d.Ka=g.exec;if(e=g.bytes)d.ba=e;else if(e=g.words)for(d.ba=Array(2*e.length),f=c=0;c<e.length;c++)d.ba[f++]=e[c]&255,d.ba[f++]=e[c]>>8&255;else if(e=g.data)for(d.ba=Array(4*e.length),f=c=0;c<e.length;c++)d.ba[f++]=
e[c]&255,d.ba[f++]=e[c]>>8&255,d.ba[f++]=e[c]>>16&255,d.ba[f++]=e[c]>>24&255;else d.ba=g;d.ea=g.symbols;d.ba.length?1==d.ba.length&&(y(d.ba[0]),d=null):(y("Empty resource: "+a),d=null)}catch(k){y("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){y("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ba=e)}return d}
function Ca(){return"http://"+(window?window.location.host:"www.pcjs.org")}function y(a){window&&window.alert(a)}function Da(a){var b=!1;window&&(b=window.confirm(a));return b}function Ea(){if(null==Ja){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ja=a}return Ja}
function Ka(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function La(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ma(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)}return!1}
function Na(a){if(!Oa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Oa=c}return Oa[a]}
function Pa(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function Qa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ra(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}}function Sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ta(a){Xa.init.push(a)}
function Ya(a){if(Za)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){y(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function $a(a){!Za&&a?(Za=!0,ab&&bb("init"),cb&&bb("show")):Za=a}function bb(a){Xa[a]&&Ya(Xa[a])}var Oa=null,Xa={init:[],show:[],exit:[]},ab=!1,cb=!1,Za=!0,Fa=null;Sa("onload",function(){ab=!0;Ya(Xa.init)});Sa("onpageshow",function(){cb=!0;Ya(Xa.show)});Sa(Ma("Opera")||Ma("iOS")?"onunload":"onbeforeunload",function(){Ya(Xa.exit)});
function A(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Qc=b.comment;this.Dd=b;this.exports={};a=this.id.indexOf(".");0>a?this.jb=this.id:(this.kb=this.id.substr(0,a),this.jb=this.id.substr(a+1));this.A={ready:!1,bb:!1,yc:!1,ea:!1,error:!1};this.bc=null;this.A.error=!1;this.B={};this.fa=d||0;this.F=this.f=this.D=this.I=this.Oa=null;db.push(this)}function eb(a,b,c){gb[a]&&b&&(gb[a][b]=c)}
function Ra(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}}function Sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Wa(a){Xa.init.push(a)}
function Ya(a){if(Za)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){y(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function $a(a){!Za&&a?(Za=!0,ab&&bb("init"),cb&&bb("show")):Za=a}function bb(a){Xa[a]&&Ya(Xa[a])}var Oa=null,Xa={init:[],show:[],exit:[]},ab=!1,cb=!1,Za=!0,Ja=null;Sa("onload",function(){ab=!0;Ya(Xa.init)});Sa("onpageshow",function(){cb=!0;Ya(Xa.show)});Sa(Ma("Opera")||Ma("iOS")?"onunload":"onbeforeunload",function(){Ya(Xa.exit)});
function A(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Rc=b.comment;this.Fd=b;this.exports={};a=this.id.indexOf(".");0>a?this.kb=this.id:(this.lb=this.id.substr(0,a),this.kb=this.id.substr(a+1));this.A={ready:!1,cb:!1,zc:!1,fa:!1,error:!1};this.bc=null;this.A.error=!1;this.B={};this.ga=d||0;this.F=this.f=this.D=this.I=this.Oa=null;db.push(this)}function fb(a,b,c){lb[a]&&b&&(lb[a][b]=c)}
function mb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<db.length;b++){var d=db[b];a&&d.id.indexOf(a)||c.push(d)}return c}function nb(a){if(void 0!==a){var b;for(b=0;b<db.length;b++)if(db[b].id===a)return db[b]}return null}function ob(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<db.length;d++)if(c)c==db[d]&&(c=null);else if(!(a!=db[d].type||b&&db[d].id.indexOf(b)))return db[d]}return null}
function pb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){y(c.message+" ("+a+")")}return b}function qb(a,b){var c=B;b=D(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=pb(g))&&k.binding&&a.na(k.type,k.binding,g,k.value),m=l.length}}}}
function D(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}h=A.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.na=function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.Oa=this.B[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.N=function(a){this.u(a,this.jb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.status=function(a){this.u(this.jb+": "+a)};h.N=function(a,b,c){c=c||this.type;b||y((c?c+": ":"")+a)};function rb(a,b){a.A.error=!0;a.N(b)}function sb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function tb(a,b){b&&(a.A.ready?b():a.bc=b);return a.A.ready}function G(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.bc,a.bc=null,b&&b()))}function ub(a,b){a.A.bb&&(b?a.A.yc=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.bb}
function vb(a,b){if(a.A.yc)return a.A.bb=!1,a.A.yc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.bb=b;return a.A.bb}h.qa=function(){return this.A.ea=!0};h.za=function(a,b){b&&(this.A.ea=!1);return!0};function H(a,b){if(a.F){a===a.F?b|=0:b=b||a.fa;var c=a.F.fa&b;return!!b&&c===b||!!(c&a.F.ya)}return!1}function I(a,b,c,d){a.F&&(!0===c||H(a,c|0))&&a.F.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var gb=window?window.PCjs.Machines:{},db=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){y(c.message+" ("+a+")")}return b}function pb(a,b){var c=D;b=G(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=B(g))&&k.binding&&a.oa(k.type,k.binding,g,k.value),m=l.length}}}}
function G(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}h=A.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.oa=function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.Oa=this.B[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.N=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.status=function(a){this.u(this.kb+": "+a)};h.N=function(a,b,c){c=c||this.type;b||y((c?c+": ":"")+a)};function qb(a,b){a.A.error=!0;a.N(b)}function rb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function sb(a,b){b&&(a.A.ready?b():a.bc=b);return a.A.ready}function H(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.bc,a.bc=null,b&&b()))}function tb(a,b){a.A.cb&&(b?a.A.zc=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.cb}
function ub(a,b){if(a.A.zc)return a.A.cb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.cb=b;return a.A.cb}h.ra=function(){return this.A.fa=!0};h.Aa=function(a,b){b&&(this.A.fa=!1);return!0};function I(a,b){if(a.F){a===a.F?b|=0:b=b||a.ga;var c=a.F.ga&b;return!!b&&c===b||!!(c&a.F.cd)}return!1}function J(a,b,c,d){a.F&&(!0===c||I(a,c|0))&&a.F.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var lb=window?window.PCjs.Machines:{},db=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var wb="undefined"!==typeof ArrayBuffer,B="pdp11",xb="PDPjs",yb=!1,zb=wb,Ab=!0,Bb=!0,Cb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Db={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},B="pdp11",xb="PDPjs",yb=!1,zb=wb,Bb=Ab=!0,Eb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
var vb="undefined"!==typeof ArrayBuffer,D="pdp11",wb="PDPjs",xb=!1,yb=vb,zb=!0,Ab=!0,Bb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Cb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},D="pdp11",wb="PDPjs",xb=!1,yb=vb,Ab=zb=!0,Db={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Fb(a){A.call(this,"Panel",a,0,512);this.ra=this.i=this.Ua=this.sb=this.j=this.v=0;this.C=this.G=this.w=!1;this.H=Mb;this.g={};this.b={START:[1,1,!0,!1,this.Vd],STEP:[1,1,!1,!1,this.Wd],ENABLE:[1,1,!1,!1,this.Rd],CONT:[1,1,!0,!1,this.Pd],DEP:[0,0,!0,!1,this.Qd],EXAM:[1,1,!0,!1,this.Sd],LOAD:[1,1,!0,!1,this.Ud],TEST:[0,0,!0,!1,this.Td]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Xd,a];this.F=this.f=this.D=this.I=null}p(Fb,A);h=Fb.prototype;h.reset=function(){this.stop()};
h.na=function(a,b,c,d){if(this.I&&this.I.na(a,b,c,d)||this.f&&this.f.na(a,b,c,d)||this.F&&this.F.na(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.B[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.B[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.B[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Nb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ob(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Nb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Ob(a,b)}}(this,b),!0):A.prototype.na.call(this,a,b,c,d)}};h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;Pb(b,this,Qb);Rb(b,this.reset.bind(this));Sb(this);Tb(this)};h.qa=function(a,b){b||(Ub(),this.reset());return!0};h.za=function(){return!0};
function Vb(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Sb(a,b){for(var c in a.g)Vb(a,c,null!=b?b:a.g[c])}function Wb(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Tb(a){for(var b in a.b)Wb(a,b,a.b[b][1])}function Xb(a,b,c,d){a.B[b]&&(void 0===c&&(rb(a,"Value for "+b+" is invalid"),J(a.f)),c=8==(a.F&&a.F.ua||8)?q(c,d):v(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
function Nb(a,b){var c=a.b[b];Wb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=Yb&&(a.C=b==Zb,a.G=b==$b)}function Ob(a,b){var c=a.b[b];c[2]&&c[3]&&(Wb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Vd=function(a){a||this.f.A.U||(a=this.f,a.D.reset(),ac(a),this.b[bc]&&this.b[bc][1]&&cc(this.f))};h.Wd=function(){};h.Rd=function(a){a||J(this.f)};
h.Pd=function(a){if(!a&&!this.f.A.U)if(this.b[bc]&&this.b[bc][1])cc(this.f);else{if((a=this.F)&&!ub(a,!0))vb(a,!0),dc(a,0,null),vb(a,!1);else try{var b=this.f.$b(1);0<b&&(ec(this.f,b),fc(this.f,b,!0),gc(this.f,b))}catch(c){"number"!=typeof c&&rb(this.f,c.stack||c.message)}this.stop();this.I&&L(this.I)}};h.Qd=function(a){if(a&&!this.f.A.U)if(this.C&&hc(this),a=ic(this,this.Ua),this.H==Mb)jc(this.D,this.ra,a);else{var b=this.f,c=this.ra;b.la++;b.D.Kb(kc(b,c,4),a);b.la--}};
h.Sd=function(a){a||this.f.A.U||(this.G&&hc(this),a=this.H==Mb?lc(this.D,this.ra):mc(this.f,this.ra),ic(this,a))};h.Ud=function(a){a||this.f.A.U||nc(this,this.Ua)};h.Td=function(a){a?(this.w=!0,Sb(this,!0)):(this.w=!1,Sb(this),oc(this,0))};h.Xd=function(a,b){this.Ua=a?this.Ua|1<<b:this.Ua&~(1<<b)};function hc(a){var b=1145>a.f.xa?8:16,c=65472<=a.ra&&a.ra<65472+b,b=c?1:2,c=c?15:a.D.J;a.b[Yb]&&a.b[Yb][1]||(b=-b);nc(a,a.ra&~c|a.ra+b&c)}
function nc(a,b){a.ra=b&a.D.J;b=a.ra;for(var c=0;22>c;c++)pc(a,"A"+c,b&1<<c)}function ic(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)pc(a,"D"+c,b&1<<c);return a.i}function pc(a,b,c){a.g[b]=c;a.w||Vb(a,b,c)}function qc(a){return void 0!==a.B[rc]}function oc(a,b){if(qc(a)){a.Ua=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;Tb(a)}}h.stop=function(){nc(this,this.f.g[7])};h.Ec=function(a){this.ra=a};h.setData=function(a,b){b?this.sb=a:this.i=a};h.be=function(a,b){return(b?this.sb:this.Ua)&65535};
h.lf=function(a){this.sb=a};function Ub(){for(var a=!1,b=D(document,B,"panel"),c=0;c<b.length;c++){var d=b[c],e=pb(d),f=nb(e.id);f||(a=!0,f=new Fb(e));qb(f,d);a&&G(f)}}var Mb=7,rc="S0",Zb="DEP",bc="ENABLE",$b="EXAM",Yb="STEP",Dc={},Qb=(Dc[65400]=[null,null,Fb.prototype.be,Fb.prototype.lf,"CNSW"],Dc);Ta(Ub);
function Ec(a,b,c){A.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=a.busWidth||16;this.M=1<<this.V;this.J=this.M-1;this.j=Fc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.T=this.H-1;this.Ja=[];this.ha=0;this.G=!1;this.O=[];this.Fd=[Gc,Hc,Ic,Jc];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new M(this);Kc(a,this.F);this.b=Array(this.H);this.v=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.v[b]=a;this.C=this.M-Fc;Lc(this,this.C,Fc,Mc,this);this.R=
this.P=(this.C&this.J)>>>this.g;this.L=0;this.w=this.J;G(this)}p(Ec,A);function Nc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.v[c]=a.b[c];a.L=0;a.w=a.J;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Fc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Ec.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Nc(this,16)};h.qa=function(a,b){b||this.reset();return!0};
function Lc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Gb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Gb){n=l.size-(f-m);n>g&&(n=g);l.Gb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Oc(Pc,f,g)}f=new M(a,f,n,a.j,d,e);Kc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Qc[d]+" at "+q(b)),!0):Oc(Rc,b,c)}h.Ic=function(a){return this.v[(a&this.w)>>>this.g].rb(a&this.i,a)};
h.Zb=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Bb||b!=this.i?this.v[c].ia(b,a):this.v[c++].rb(b,a)|this.v[c&this.T].rb(0,a+1)<<8};h.Jc=function(a,b){this.v[(a&this.w)>>>this.g].tb(a&this.i,b,a)};h.Kb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Bb||c!=this.i?this.v[d].ub(c,b,a):(this.v[d++].tb(c,b&255,a),this.v[d&this.T].tb(0,b>>8&255,a+1))};function Sc(a,b){return a.b[(b&a.J)>>>a.g]}
function lc(a,b){var c;a.G=!1;a.ha++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?c=e.C(d,b):c=e.j(d,b)|Sc(a,b+1).j(0,b+1)<<8;a.ha--;return c}function Tc(a,b,c){a.G=!1;a.ha++;Sc(a,b).D(b&a.i,c&255,b);a.ha--}function jc(a,b,c){a.G=!1;a.ha++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),Sc(a,b+1).D(0,c>>8&255,b+1));a.ha--}
function Uc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Sa||e.Ld){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function Vc(a){for(var b=Wc,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Gb)}return c}
function Xc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&Yc;if(void 0!==a.Ja[n])return y("I/O address already registered: "+v(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ja[n]=[d,e,f,g,r,k||16,!1]}return!0}
function Pb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.xa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!Xc(a,f,f,k,l,m,n,g[7]||b.fa,r||b.jb))return!1}}return!0}
function Rb(a,b){a.O.push(b)}h.Ia=function(a,b,c){this.G=!0;this.ha||(this.F&&H(this.F,4)&&I(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.ja(4,0,a))};function Zc(a){var b=a.G;a.G=!1;return b}function Oc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Fc=8192,Yc=Fc-1,Pc=1,Rc=2;
function Gc(a,b){var c=-1,d=this.controller,e=d.Ja[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ja[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&H(this.f,16|e[5])&&I(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ha),c;d.Ia(b,16,3);c=255;this.f&&H(this.f,16)&&I(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ha);return c}
function Hc(a,b,c){var d=!1,e=this.controller,f=e.Ja[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ja[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&H(this.f,16|f[5])&&I(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ha):(e.Ia(c,16,5),this.f&&H(this.f,16)&&I(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.ha))}function Ic(a,b){var c=-1,d=this.controller;a=d.Ja[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&H(this.f,16|a[5])&&I(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ha),c;d.Ia(b,16,2);c=65535;this.f&&H(this.f,16)&&I(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ha);return c}
function Jc(a,b,c){var d=!1,e=this.controller;a=e.Ja[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&H(this.f,16|a[5])&&I(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ha):(e.Ia(c,16,4),this.f&&H(this.f,16)&&I(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ha))}function P(a){A.call(this,"Device",a,0,256);this.b={ih:0,Fc:-1}}p(P,A);h=P.prototype;
h.pa=function(a,b,c,d){this.D=b;this.I=a;this.f=c;this.F=d;var e=this;this.b.Fc=$c(c,function(){e.b.Db|=128;e.b.Db&64&&ad(e.f,e.b.cb);e.I&&L(e.I,1);bd(e.f,e.b.Fc,1E3/60)});this.b.cb=cd(c,64,6,524288);Pb(b,this,dd);Rb(b,this.reset.bind(this));d&&ed(d,64,function(a){var b=e.f;fd(e,"KIPDR",b.C[0],0,a[0]);fd(e,"KDPDR",b.C[0],8,a[0]);fd(e,"KIPAR",b.M[0],0,a[0]);fd(e,"KDPAR",b.M[0],8,a[0],!0);fd(e,"SIPDR",b.C[1],0,a[0]);fd(e,"SDPDR",b.C[1],8,a[0]);fd(e,"SIPAR",b.M[1],0,a[0]);fd(e,"SDPAR",b.M[1],8,a[0],
!0);fd(e,"UIPDR",b.C[3],0,a[0]);fd(e,"UDPDR",b.C[3],8,a[0]);fd(e,"UIPAR",b.M[3],0,a[0]);fd(e,"UDPAR",b.M[3],8,a[0],!0);b.T&32&&fd(e,"UNIMAP",b.Fa,-1,a[0])});G(this)};function fd(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+na(n)+"]":"")+":"),g+=" "+O(a,c[d+n],l);a.u(g+(f?"\n":""))}}h.reset=function(){this.b.Db=128;bd(this.f,this.b.Fc,1E3/60,!0)};h.ie=function(){return this.b.Db};
h.tf=function(a){this.b.Db=a&192;this.b.Db&64||gd(this.f,this.b.cb)};h.ke=function(){return hd(this.f)};h.vf=function(a){id(this.f,a&-129|this.f.S&128)};h.le=function(){return jd(this.f)};h.me=function(){return kd(this.f)};h.ne=function(){return this.f.T};h.wf=function(a){ld(this.f,a)};h.Ve=function(a){a=a>>1&63;var b=this.f.Fa[a>>1];return a&1?b>>16:b&65535};h.dg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Fa[c]=b&1?this.f.Fa[c]&65535|(a&63)<<16:this.f.Fa[c]&-65536|a&65534};
h.Oe=function(a){return this.f.C[1][a>>1&7]};h.Xf=function(a,b){this.f.C[1][b>>1&7]=a&65295};h.Me=function(a){return this.f.C[1][(a>>1&7)+8]};h.Vf=function(a,b){this.f.C[1][(b>>1&7)+8]=a&65295};h.Ne=function(a){return this.f.M[1][a>>1&7]};h.Wf=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.Le=function(a){return this.f.M[1][(a>>1&7)+8]};h.Uf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.he=function(a){return this.f.C[0][a>>1&7]};
h.sf=function(a,b){this.f.C[0][b>>1&7]=a&65295};h.fe=function(a){return this.f.C[0][(a>>1&7)+8]};h.qf=function(a,b){this.f.C[0][(b>>1&7)+8]=a&65295};h.ge=function(a){return this.f.M[0][a>>1&7]};h.rf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.C[0][b]&=65295};h.ee=function(a){return this.f.M[0][(a>>1&7)+8]};h.pf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.C[0][b]&=65295};h.Ue=function(a){return this.f.C[3][a>>1&7]};h.cg=function(a,b){this.f.C[3][b>>1&7]=a&65295};
h.Se=function(a){return this.f.C[3][(a>>1&7)+8]};h.ag=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Te=function(a){return this.f.M[3][a>>1&7]};h.bg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Re=function(a){return this.f.M[3][(a>>1&7)+8]};h.$f=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Eb=function(a){a&=7;return this.f.w&2048?this.f.oa[a]:this.f.g[a]};h.Ib=function(a,b){b&=7;this.f.w&2048?this.f.oa[b]=a:this.f.g[b]=a};
h.se=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Bf=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.ve=function(){return this.f.g[7]};h.Ef=function(a){this.f.g[7]=a};h.Fb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.oa[a]};h.Jb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.oa[b]=a};h.te=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Cf=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};
h.ue=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Df=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.de=function(a){return this.f.Yb[a-65504>>1]};h.nf=function(a,b){this.f.Yb[b-65504>>1]=a};h.ld=function(a){return 65520==a?(Vc(this.D)>>6)-1:0};h.qd=function(){};h.Qe=function(){return 1};h.Zf=function(){};h.ce=function(){return this.f.R};h.mf=function(){this.f.R=0};h.je=function(){return this.f.mc};h.uf=function(a,b){b&1||(a&=255);this.f.mc=a};
h.oe=function(a,b){return b?0:this.f.ab};h.xf=function(a){md(this.f,a)};h.Pe=function(a,b){return b?0:this.f.ya&65280};h.Yf=function(a){this.f.ya=a|255};h.re=function(){return nd(this.f)};h.Af=function(a){od(this.f,a)};h.pd=function(a,b){H(this)&&I(this,"writeIgnored("+q(b)+"): "+q(a),!0,!0)};
var Q={},dd=(Q[61568]=[null,null,P.prototype.Ve,P.prototype.dg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Oe,P.prototype.Xf,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Me,P.prototype.Vf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Ne,P.prototype.Wf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Le,P.prototype.Uf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.he,P.prototype.sf,"KIPDR",8,1145,64],Q[62672]=[null,null,P.prototype.fe,P.prototype.qf,"KDPDR",8,1145,64],Q[62688]=
[null,null,P.prototype.ge,P.prototype.rf,"KIPAR",8,1145,64],Q[62704]=[null,null,P.prototype.ee,P.prototype.pf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.ne,P.prototype.wf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ie,P.prototype.tf,"LKS"],Q[65402]=[null,null,P.prototype.ke,P.prototype.vf,"MMR0",1,1145,64],Q[65404]=[null,null,P.prototype.le,P.prototype.pd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.me,P.prototype.pd,"MMR2",1,1145,64],Q[65408]=[null,null,P.prototype.Ue,P.prototype.cg,
"UIPDR",8,1145,64],Q[65424]=[null,null,P.prototype.Se,P.prototype.ag,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Te,P.prototype.bg,"UIPAR",8,1145,64],Q[65456]=[null,null,P.prototype.Re,P.prototype.$f,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Eb,P.prototype.Ib,"R0SET0"],Q[65473]=[null,null,P.prototype.Eb,P.prototype.Ib,"R1SET0"],Q[65474]=[null,null,P.prototype.Eb,P.prototype.Ib,"R2SET0"],Q[65475]=[null,null,P.prototype.Eb,P.prototype.Ib,"R3SET0"],Q[65476]=[null,null,P.prototype.Eb,
P.prototype.Ib,"R4SET0"],Q[65477]=[null,null,P.prototype.Eb,P.prototype.Ib,"R5SET0"],Q[65478]=[null,null,P.prototype.se,P.prototype.Bf,"R6KERNEL"],Q[65479]=[null,null,P.prototype.ve,P.prototype.Ef,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Fb,P.prototype.Jb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Fb,P.prototype.Jb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Fb,P.prototype.Jb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Fb,P.prototype.Jb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Fb,
P.prototype.Jb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Fb,P.prototype.Jb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.te,P.prototype.Cf,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.ue,P.prototype.Df,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.de,P.prototype.nf,"CTRL",8,1170],Q[65520]=[null,null,P.prototype.ld,P.prototype.qd,"LSIZE",1,1170],Q[65522]=[null,null,P.prototype.ld,P.prototype.qd,"HSIZE",1,1170],Q[65524]=[null,null,P.prototype.Qe,P.prototype.Zf,"SYSID",1,1170],Q[65526]=
[null,null,P.prototype.ce,P.prototype.mf,"ERR",1,1170],Q[65528]=[null,null,P.prototype.je,P.prototype.uf,"MBR",1,1170],Q[65530]=[null,null,P.prototype.oe,P.prototype.xf,"PIR"],Q[65532]=[null,null,P.prototype.Pe,P.prototype.Yf,"SLR"],Q[65534]=[null,null,P.prototype.re,P.prototype.Af,"PSW"],Q);
Ta(function(){for(var a=D(document,B,"device"),b=0;b<a.length;b++){var c,d=a[b];c=pb(d);switch(c.type){case "default":c=new P(c);qb(c,d);break;case "pc11":c=new pd(c);qb(c,d);break;case "rl11":c=new qd(c);qb(c,d);break;case "rk11":c=new R(c),qb(c,d)}}});
function M(a,b,c,d,e,f){this.B=a;this.id=rd+=2;this.b=null;this.K=b;this.Gb=c;this.size=d||0;this.type=e||sd;this.I=e==td;this.f=this.controller=null;this.rb=this.j=this.Bc;this.ia=this.C=this.Cc;this.tb=this.D=this.Hb;this.ub=this.G=this.jc;this.F=this.i=0;Kc(this);this.Sa=this.Ld=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ud(this,f.Fd);else if(wb)this.v=new ArrayBuffer(this.size),this.w=new DataView(this.v,0,this.size),this.g=new Uint8Array(this.v,0,this.size),this.H=new Uint16Array(this.v,
0,this.size>>1),this.b=new Int32Array(this.v,0,this.size>>2),ud(this,vd?Ed:Fd);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;ud(this,Gd)}else ud(this)}h=M.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(wb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(wb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Sa=!0}return!1};function ud(a,b){b||(b=Hd);Id(a,b,void 0);Jd(a,b,void 0)}function Id(a,b,c){c&&a.F||(a.rb=b[0]||a.Bc,a.ia=b[2]||a.Cc);if(c||void 0===c)a.j=b[0]||a.Bc,a.C=b[2]||a.Cc}function Jd(a,b,c){c&&a.i||(a.tb=!a.I&&b[1]||a.Hb,a.ub=!a.I&&b[3]||a.jc);if(c||void 0===c)a.D=b[1]||a.Hb,a.G=b[3]||a.jc}
h.nb=function(a,b){b?this.i++||Jd(this,Kd,!1):this.F++||Id(this,Kd,!1)};function Ld(a,b){b?--a.i||(a.tb=a.I?a.Hb:a.D,a.ub=a.I?a.jc:a.G):--a.F||(a.rb=a.j,a.ia=a.C)}function Kc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Id(a,Kd,!1),(a.i=c.i)&&Jd(a,Kd,!1))}h.Bc=function(a,b){this.f&&H(this.f,32)&&I(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.Ia(b,32,2);return 255};
h.Hb=function(a,b,c){this.f&&H(this.f,32)&&I(this.f,"attempt to write "+O(this.f,b)+" to invalid addresses "+O(this.f,c),!0);this.B.Ia(c,32,4)};h.Cc=function(a,b){return this.rb(a++,b++)|this.rb(a,b)<<8};h.jc=function(a,b,c){this.tb(a++,b&255,c++);this.tb(a,b>>8,c)};h.ae=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.af=function(a,b){Ab&&a&1&&this.B.Ia(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.kf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Sa=!0};h.hg=function(a,b,c){Ab&&a&1&&this.B.Ia(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Sa=!0};h.Zd=function(a,b){this.f&&null!=this.K&&Md(this.f,this.K+a);return this.j(a,b)};h.Xe=function(a,b){this.f&&null!=this.K&&Md(this.f,this.K+a,2);return this.C(a,b)};
h.hf=function(a,b,c){this.f&&null!=this.K&&Nd(this.f,this.K+a);this.I?this.Hb(0,b,c):this.D(a,b,c)};h.fg=function(a,b,c){this.f&&null!=this.K&&Nd(this.f,this.K+a,2);this.I?this.Hb(0,b,c):this.G(a,b,c)};h.Yd=function(a){return this.g[a]};h.$d=function(a,b){a=this.g[a];this.f&&H(this.f,32)&&I(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.We=function(a,b){Ab&&a&1&&this.B.Ia(b,64,2);return this.w.getUint16(a,!0)};
h.$e=function(a,b){Ab&&a&1&&this.B.Ia(b,64,2);a=!Bb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&H(this.f,32)&&I(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.gf=function(a,b){this.g[a]=b;this.Sa=!0};h.jf=function(a,b,c){this.g[a]=b;this.Sa=!0;this.f&&H(this.f,32)&&I(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.eg=function(a,b,c){Ab&&a&1&&this.B.Ia(c,64,4);this.w.setUint16(a,b,!0);this.Sa=!0};
h.gg=function(a,b,c){Ab&&a&1&&this.B.Ia(c,64,4);!Bb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Sa=!0;this.f&&H(this.f,32)&&I(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var sd=0,Wc=1,td=2,Mc=4,Qc=["NONE","RAM","ROM","VID","H/W"],rd=0,Hd=[],Gd=[M.prototype.ae,M.prototype.kf,M.prototype.af,M.prototype.hg],Kd=[M.prototype.Zd,M.prototype.hf,M.prototype.Xe,M.prototype.fg];
if(wb)var Fd=[M.prototype.Yd,M.prototype.gf,M.prototype.We,M.prototype.eg],Ed=[M.prototype.$d,M.prototype.jf,M.prototype.$e,M.prototype.gg];var Od;if(wb){var Pd=new ArrayBuffer(2);(new DataView(Pd)).setUint16(0,256,!0);Od=256===(new Uint16Array(Pd))[0]}else Od=!1;var vd=Od;
function Qd(a,b){A.call(this,"CPU",a,0,1);b=a.cycles||b;var c=a.multiplier||1;this.nc=0;this.ic=b;this.Ya=c;this.uc=Math.round(this.ic/1E4)/100;this.gb=this.uc*this.Ya;this.vc=this.Rb=this.mb=this.kc=0;this.A.U=!1;this.A.fc=!1;this.A.Ra=a.autoStart;this.A.xb=!1;this.Pb=this.Ab=0;this.Qb=a.csStart;this.zb=a.csInterval;this.Bb=a.csStop;this.Aa=[];this.Sc=this.ef.bind(this);this.Za=this.Ea=this.Xa=this.b=this.aa=this.Da=this.Ob=this.Wa=this.Cb=this.wc=this.lb=0;this.sa=null;G(this)}p(Qd,A);h=Qd.prototype;
h.pa=function(a,b,c,d){this.I=a;this.D=b;this.F=d;this.sa=a.i;for(a=0;a<Rd.length;a++)(b=this.B[Rd[a]])&&this.I.na(null,Rd[a],b);G(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.qa=function(a,b){var c=Sd(this.I,"autoStart");null!=c?this.A.Ra="true"==c?!0:"false"==c?!1:!!c:null==this.A.Ra&&(this.A.Ra=!this.F&&void 0===this.B.run);if(!b){if(a&&this.restore){Td(this);if(!this.restore(a))return!1;Ud(this)}else this.reset();this.F?(a=this.F,b=this.A.Ra,a.Ba=!0,a.u("Type ? for help with PDPjs Debugger commands"),Vd(a),b||Wd(a),a.ta&&(b=a.ta,a.ta=null,Xd(a,b))):this.u("No debugger detected");this.A.Ra||this.u("CPU will not be auto-started, click Run to start")}return!0};
h.za=function(a){return a?this.save():!0};h.Ra=function(){return this.A.U?!0:this.A.Ra?(cc(this),!0):!1};h.ed=function(){return 0};function Ud(a){void 0===a.Qb&&(a.Qb=0);void 0===a.zb&&(a.zb=-1);void 0===a.Bb&&(a.Bb=-1);a.A.xb=0<=a.Qb&&0<a.zb;a.A.xb&&(a.Pb=0,a.Ab=a.Qb-a.Za)}function gc(a,b){if(a.A.xb){var c=!1;a.Pb=a.Pb+a.ed()|0;a.Ab-=b;0>=a.Ab&&(a.Ab+=a.zb,c=!0);0<=a.Bb&&a.Bb<=Yd(a)&&(a.zb=a.Bb=-1,Ud(a),J(a),c=!0);c&&a.u(Yd(a)+" cycles: checksum="+v(a.Pb))}}
h.na=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.B[b]=c,!0;case "run":return this.B[b]=c,c.onclick=function(){var a;if(a=d.I)if(a=d.I,a.A.ea)a=!0;else{var b=null,c,k=mb(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.ea);c++);c==k.length&&(b=a);y("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?J(d):cc(d))},!0;
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){Zd(d,d.Ya<<1,!0)},c.textContent=this.gb.toFixed(2)+"Mhz",!0}return!1};function fc(a,b,c){a.Za+=b;c&&(a.Xa=a.b=a.aa=0)}function $d(a,b){var c=1;b&&1<a.Ya&&a.lb&&(c=a.lb/a.uc);a.vc=Math.round(1E3/ae);a.Rb=Math.floor(a.ic/ae*c);b||(a.mb=a.Rb);a.kc=0}function Yd(a){return a.Za+a.Ea+a.Xa-a.b}function Td(a){a.lb=0;a.wc=0;a.Za=a.Ea=a.Xa=a.b=a.aa=0;Ud(a);Zd(a,1)}
function Zd(a,b,c){var d=!1;if(void 0!==b){.8>a.lb/a.gb?b=1:d=!0;a.Ya=b;b=a.uc*a.Ya;if(a.gb!=b){a.gb=b;b=a.gb.toFixed(2)+"Mhz";var e=a.B.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.I&&be(a.I)}fc(a,a.Ea);a.Ea=0;a.Da=ya();a.Wa=0;$d(a);return d}function $c(a,b){var c=a.Aa.length;a.Aa.push([-1,b]);return c}function bd(a,b,c,d){0<=b&&b<a.Aa.length&&(d||0>a.Aa[b][0])&&(c=a.ic*a.Ya/1E3*c|0,a.A.U&&(c+=ce(a)),a.Aa[b][0]=c)}
function de(a,b){for(var c=a.Aa.length-1;0<=c;c--){var d=a.Aa[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ec(a,b){for(var c=a.Aa.length-1;0<=c;c--){var d=a.Aa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ce(a,b){var c=a.Xa-=a.b;a.b=a.aa=0;b&&(a.Xa=0);return c}
h.ef=function(){if(this.A.U){this.kc>=this.ic&&$d(this,!0);this.Cb=0;this.Ob=ya();if(this.Wa){var a=this.Ob-this.Wa;a>this.vc&&(this.Da+=a,this.Da>this.Ob&&(this.Da=this.Ob))}try{do{var b=de(this,this.A.xb?1:this.Rb);try{this.$b(b)}catch(e){if("number"!=typeof e)throw e;}b=ce(this,!0);this.Cb+=b;this.Ea+=b;gc(this,b);ec(this,b);this.mb-=b;if(0>=this.mb){this.mb+=this.Rb;++this.wc>=ee&&(this.I&&L(this.I,void 0),this.wc=0);break}}while(this.A.U)}catch(e){J(this);this.I&&this.I.stop(ya(),Yd(this));rb(this,
e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Sc;this.Wa=ya();var c=this.vc;this.Cb&&(c=Math.round(c*this.Cb/this.Rb));var c=c-(this.Wa-this.Ob),d=this.Wa-this.Da;d&&(this.lb=Math.round(this.Ea/(10*d))/100,864E5<=d&&(this.Za=0,Zd(this)));if(0>c||this.lb<this.gb)-1E3>c&&(this.Da-=c),c=0;this.kc+=this.Cb;this.Wa+=c;a(b,c)}}};
function cc(a,b){if(!sb(a))if(a.A.U)a.u(a.toString()+" busy");else{Zd(a);a.A.U=!0;a.A.fc=!0;var c=a.B.run;c&&(c.textContent="Halt");a.I&&(b&&be(a.I,!0),a.I.start(a.Da,Yd(a)));a.F||a.status("Started");setTimeout(a.Sc,0)}}h.$b=function(){return 0};function J(a,b){var c=!1;if(a.A.U){ce(a);fc(a,a.Ea);a.Ea=0;a.A.U=!1;if(c=a.B.run)c.textContent="Run";a.I&&a.I.stop(ya(),Yd(a));c=!0;a.F||a.status("Stopped")}a.A.complete=b;return c}var ae=30,ee=15,Rd=["power","reset"];
function fe(a){var b=+a.model||1170;Qd.call(this,a,6666667);this.xa=b;this.Pc=a.addrReset||0;this.w=this.G=this.H=this.L=this.J=0;this.g=this.oa=this.X=[];this.O=0;this.tc=[];this.C=this.M=this.Fa=this.Yb=[];this.lc=this.ib=this.P=this.Oc=this.Va=this.wb=this.yb=this.Ca=this.R=this.ab=this.ya=this.S=this.Vb=this.Wb=this.T=this.$a=this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.Rc=255;1120>=this.xa?(this.Nc=ge.bind(this),this.vb=this.Jd,this.lc=8,this.Rc=-1,this.Wc=255,this.Vc=0):(this.Nc=
he.bind(this),this.vb=this.Kd,this.Wc=~(1792|(1145>this.xa?2048:0))&65535,this.Vc=1145<=this.xa?2048:0);this.la=0;this.ka=null;this.sc=[];this.A.complete=!1;this.Lb=this.oc=this.dd;this.Mb=this.pc=this.jd;this.gc=this.qc=this.nd;this.Nb=this.rc=this.od;this.Ba=this.hb=this.Tb=this.Ub=0;this.ta=this.hd;this.ia=this.Dc;this.ub=this.Gc;this.Yc=this.Xc=0}p(fe,Qd);h=fe.prototype;
h.pa=function(a,b,c,d){Qd.prototype.pa.call(this,a,b,c,d);this.oc=b.Ic.bind(b);this.pc=b.Zb.bind(b);this.qc=b.Jc.bind(b);this.rc=b.Kb.bind(b)};h.qa=function(a,b){for(var c=192,d=0;d<this.sc.length;d++){var e=this.sc[d];0>e.Xb&&(e.Xb=c,c+=4)}return Qd.prototype.qa.call(this,a,b)};
h.reset=function(){this.status("Model "+this.xa);this.A.U&&J(this);this.G=65536;this.H=32768;this.L=65535;this.J=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Pc,-1,-2,-3,-4,-5,-6,-7,-8];this.oa=[0,0,0,0,0,0];this.X=[0,0,0,0];this.O=0;this.tc=[4,2,0,1];this.C=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Fa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Yb=[0,0,0,0,0,0,0,0];this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.$a=-1;ac(this);Td(this);this.A.error=!1;Qd.prototype.reset.call(this)};function ac(a){a.S=0;a.Vb=0;a.Wb=0;a.T=0;a.R=0;a.ab=0;a.ya=255;a.Va=0;a.wb=0;a.yb=0;a.Ca=262143;a.ib=a.g[7];a.P=0;a.ka=null;a.D&&(ie(a),a.Oc=Vc(a.D))}
function ie(a){a.Lb=a.oc;a.Mb=a.pc;a.gc=a.qc;a.Nb=a.rc;a.Tb&&(a.Lb=a.dd,a.Mb=a.jd);a.Ub&&(a.gc=a.nd,a.Nb=a.od);a.Va?(a.Ba=65536,a.hb=a.T&16?4186112:253952,a.ta=a.hd,a.ia=a.Tb?a.Ze:a.Dc,a.ub=a.Ub?a.jg:a.Gc,Nc(a.D,a.T&16?22:18)):(a.Ba=0,a.hb=57344,a.ta=a.Md,a.ia=a.Tb?a.Ye:a.md,a.ub=a.Ub?a.ig:a.rd,Nc(a.D,16))}function hd(a){var b=a.S;b&57344||(b=b&-3199|a.wb<<5|a.yb<<1);return b}
function id(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Vb=a.P>>16&65535,a.Wb=a.P&65535);a.S=b;a.wb=(b&96)>>5;a.yb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Va!=c&&(a.Va=c,ie(a))}}function jd(a){a.S&57344||(a.Vb=a.P>>16&65535);a=a.Vb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function kd(a){a.S&57344||(a.Wb=a.P&65535);return a.Wb}function ld(a,b){1170>a.xa&&(b&=-49);a.T!=b&&(a.T=b,a.Ca=b&16?4194303:262143,ie(a))}
function je(a,b,c){a.Pc=b;a.D.reset();ac(a);ke(a,b);od(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||cc(a)}else a.F?J(a)||Vd(a.F):!1===c&&J(a);!a.A.U&&a.sa&&a.sa.stop()}h.ed=function(){return 0};h.save=function(){var a=new le(this);a.set(0,[this.g,this.oa,this.X,this.Fa,this.Yb,this.R,this.mc,this.ab,this.ya,nd(this),this.$a,this.O,this.i,this.S,this.Vb,this.Wb,this.T,this.wb,this.yb,this.C,this.M,this.Va,this.Ca,this.ib,this.P]);a.set(1,[this.Za,this.Ya]);a.set(2,Uc(this.D));return a.data()};
h.restore=function(a){var b=a[1];this.Za=b[1];Zd(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.S){for(var f=0,g=Array(b.S),k=0;k<e.length-1;)for(var l=e[k++],m=e[k++];l--;)g[f++]=m;e=g}f=b.b[d];if(!f||!f.restore(e)){y("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function me(a){return a.G&65536?1:0}function ne(a){return a.H&32768?2:0}function oe(a){return a.L&65535?0:4}function pe(a){return a.J&32768?8:0}
function qe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(ke(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function ke(a,b){a.g[7]=b&65535}function cd(a,b,c,d){c={Xb:b,eb:c,message:d||0,next:null};c.name=Db[b];a.sc.push(c);return c}function re(a,b){var c=a.ka;if(c==b)a.ka=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.ka&&(a.i|=1)}
function ad(a,b){if(b){if(b!=a.ka){var c=a.ka;if(!c||c.eb<=b.eb)b.next=c,a.ka=b;else{do{var d=c.next;if(!d||d.eb<=b.eb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&H(a,b.message|8)&&I(a,"setIRQ(vector="+q(b.Xb)+",priority="+b.eb+")",!0,!0)}}function gd(a,b){b&&(re(a,b),b.message&&H(a,b.message|8)&&I(a,"clearIRQ(vector="+q(b.Xb)+",priority="+b.eb+")",!0,!0))}function se(a){return a.i&64?(a.ja(168,64,-6),!0):a.i&32?(a.ja(4,32,-5),!0):a.i&16?(a.ja(12,16,-7),!0):!1}
function nd(a){return a.w=a.w&63728|pe(a)|oe(a)|ne(a)|me(a)}function od(a,b){b&=a.Wc;a.J=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Vc)for(var c=a.oa.length;0<=--c;){var d=a.g[c];a.g[c]=a.oa[c];a.oa[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.O]);a.w=b;a.i&=-3;a.i|=a.ka?2:1}function md(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.ab=b}h.wa=function(a){this.J=this.L=a;this.H=0};h.fb=function(a,b){this.J=this.L=this.G=a;this.H=b||0};
function te(a,b){a.J=a.L=a.G=b;a.H=a.J^a.G>>1}function ue(a,b,c,d){a.J=a.L=a.G=b;a.H=(c^d)&(d^b)}
h.ja=function(a,b,c){if(!this.la){0>this.$a?this.$a=nd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.ia(a|this.Ba),e=this.ia(a+2&65535|this.Ba);od(this,e&-12289|this.$a>>2&12288);ve(this,this.$a);ve(this,this.g[7]);ke(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.$a=-1;this.Yc=a;this.Xc=c;-1==c&&J(this);if(-4<=c)throw a;}};
function we(a){var b=xe(a),c=xe(a);a.w&49152&&(c=c&-225|a.w&63712);ke(a,b);od(a,c);a.i&=-17}function ye(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Fa[c]+(b&8191)&4194303:b&-3932161);return b}
function ze(a,b,c){var d=[];if(c){c=ye(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Fa[e]),d.push(b&8191))}else if(a.Va){var e=a.O<<1,f=b>>13;7<f&&(e|=1);a.T&a.tc[a.O]||(f&=7);b&=8191;var g=a.M[a.O][f]<<6;c=g+b&a.Ca;3932160<=c&&(c=ye(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.Ca)}else c=b&65535,57344<=c&&(c|=a.hb),d.push(c);return d}
function kc(a,b,c){var d,e,f;if(!(c&a.Va))return f=b&65535,57344<=f&&(f|=a.hb),f;d=b>>13;a.T&a.tc[a.O]||(d&=7);e=a.C[a.O][d];f=(a.M[a.O][d]<<6)+(b&8191)&a.Ca;3932160<=f&&(f=ye(a,f));if(a.la)return f;f>=a.Oc&&f<a.hb?(a.R|=32,a.ja(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ja(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.C[a.O][d]=e;if(f!=(4194170&a.Ca)||a.O)a.wb=a.O,a.yb=d;g&&(g&57344&&(0<=a.$a&&(g|=128),a.S&57344||(g|=a.S&4096|a.wb<<5|a.yb<<1,id(a,a.S&-61695|g&61694)),a.ja(168,64,-2)),a.S&61440||!(f<(4191360&a.Ca)||f>(4194239&a.Ca))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function xe(a){var b=a.ia(a.g[6]|a.Ba);a.g[6]=a.g[6]+2&65535;return b}function ve(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.vb(4,-2,c);a.ub(c,b)}
function Ae(a,b,c,d){var e,f,g=d&8?0:a.Ba;switch(b){case 0:return a.ja(4,0,-3),0;case 1:return 6==c&&a.vb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.vb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ia(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.vb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ia(e)|g;a.b-=8;break;case 6:return e=a.ia(qe(a,2)),e=e+a.g[c]&65535,6==c&&a.vb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ia(qe(a,2)),e=e+a.g[c]&65535,e=a.ia(e|a.Ba),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Jd=function(a,b,c){!this.O&&0>=b&&c<=this.ya&&(this.i|=32)};h.Kd=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.ya&&(c<=this.ya-32?this.ja(4,0,-4):(this.R|=8,this.i|=32)))};h.dd=function(a){this.F&&Md(this.F,a,1);return this.oc(a)};h.jd=function(a){this.F&&Md(this.F,a,2);return this.pc(a)};
h.nd=function(a,b){this.F&&Nd(this.F,a,1);this.qc(a,b)};h.od=function(a,b){this.F&&Nd(this.F,a,2);this.rc(a,b)};function mc(a,b){a.la++;b=a.D.Zb(kc(a,b,2));a.la--;return b}function Be(a,b){(b?--a.Ub:--a.Tb)||ie(a)}h.Md=function(a,b,c){return Ae(this,a,b,c)};h.hd=function(a,b,c){return kc(this,Ae(this,a,b,c),c)};h.md=function(a){return this.D.Zb(this.ib=a)};h.Ye=function(a){this.F&&Md(this.F,a,2);return this.md(a)};h.Dc=function(a){return this.D.Zb(this.ib=kc(this,a,2))};
h.Ze=function(a){this.F&&Md(this.F,a,2);return this.Dc(a)};h.rd=function(a,b){this.D.Kb(this.ib=a,b)};h.ig=function(a,b){this.F&&Nd(this.F,a,2);this.rd(a,b)};h.Gc=function(a,b){this.D.Kb(this.ib=kc(this,a,4),b)};h.jg=function(a,b){this.F&&Nd(this.F,a,2);this.Gc(a,b)};function Ce(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Ae(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ia(d|c&a.Ba),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
function De(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Ae(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=kc(a,e|c&65536,4),a.O=a.w>>14&3,a.Nb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ee(a,b){b>>=6;var c=a.Y=b&7;return(b=a.V=(b&56)>>3)?a.Lb(a.ta(b,c,3)):a.g[c+a.lc]&a.Rc}function Fe(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.V=(b&56)>>3)?c=a.Mb(a.ta(b,d,2)):c=a.g[d+a.lc];return c}function Ge(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Ae(a,b,c,8)}
function He(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Lb(a.ta(b,c,3)):a.g[c]&255}function Ie(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Mb(a.ta(b,d,2)):c=a.g[d];return c}function Je(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.hc=a.ta(b,e,7),c=0>c?a.g[-c-1]&255:c,a.gc(e,d.call(a,c,a.Lb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ta(b,e,6),a.Nb(e,d.call(a,0>c?a.g[-c-1]:c,a.Mb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function Ke(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.ta(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.gc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function Le(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ta(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Nb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.$b=function(a){this.A.complete=!0;var b=this.F?gf(this.F)?1:this.A.fc?-1:0:0,c=a?this.A.fc?0:1:-1;this.A.fc=!1;this.Xa=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(hf(this.F,this.g[7],c)){J(this);break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ab&224)>>5,f=this.ka&&this.ka.eb>e?this.ka:null;f&&(d=f.Xb,e=f.eb);e>(this.w&224)>>5?(this.i&8&&(qe(this,2),this.i&=-9),this.ja(d,0,-10),e=!0):e=!1;e&&(f&&re(this,f),a=!0);this.ka||this.ab||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&hf(this.F,this.g[7],c)){J(this);break}if(0>c)break}if(this.i&112&&se(this)){if(this.i&4&&hf(this.F,this.g[7],c)){J(this);break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ia(a);this.g[7]=a+2&65535;this.Nc(f)}while(0<this.b);return this.A.complete?this.Xa-this.b:void 0===this.A.complete?0:-1};Ta(function(){for(var a=D(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new fe(d);qb(d,c)}});
function jf(a,b){var c=b+a;this.J=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function kf(a,b){var c=b+a,d=c<<8;this.J=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function lf(a,b){a=b<<1;te(this,a);return a&65535}function mf(a,b){a=b<<1;te(this,a<<8);return a&255}function nf(a,b){a=b&32768|b>>1|b<<16;te(this,a);return a&65535}function of(a,b){a=b&128|b>>1|b<<8;te(this,a<<8);return a&255}function pf(a,b){a=b&~a;this.wa(a);return a}function qf(a,b){a=b&~a;this.wa(a<<8);return a}
function rf(a,b){a|=b;this.wa(a);return a}function sf(a,b){a|=b;this.wa(a<<8);return a}function tf(a,b){a=~b|65536;this.fb(a);return a&65535}function uf(a,b){a=~b|256;this.fb(a<<8);return a&255}function vf(a,b){this.J=this.L=a=b-a;this.H=b&(b^a);return a&65535}function wf(a,b){a=b-a;var c=a<<8;b<<=8;this.J=this.L=c;this.H=b&(b^c);return a&255}function xf(a,b){this.J=this.L=a=b+a;this.H=a&(b^a);return a&65535}function yf(a,b){a=b+a;var c=a<<8;this.J=this.L=c;this.H=c&(b<<8^c);return a&255}
function zf(a,b){a=-b;this.fb(a,a&b&32768);return a&65535}function Af(a,b){a=-b;this.fb(a<<8,(a&b&128)<<8);return a&255}function Bf(a,b){a=b<<1|this.G>>16&1;te(this,a);return a&65535}function Cf(a,b){a=b<<1|this.G>>16&1;te(this,a<<8);return a&255}function Df(a,b){a=(this.G&65536|b)>>1|b<<16;te(this,a);return a&65535}function Ef(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;te(this,a<<8);return a&255}function Ff(a,b){var c=b-a;ue(this,c,a,b);return c&65535}
function Gf(a,b){var c=b-a;ue(this,c<<8,a<<8,b<<8);return c&255}function Hf(a,b){this.J=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function If(a,b){a^=b;this.wa(a);return a&65535}function Jf(a){T(this,a,Fe(this,a),jf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
function Kf(a){var b=Ie(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.G=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.G=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.G=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.J=this.L=c;this.b-=(this.v?6:7)+b}
function Lf(a){var b=Ie(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.G=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.G=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.J=d>>16;this.L=d>>16|d;this.b-=(this.v?6:7)+b}function Mf(a){S(this,a,!me(this))}function Nf(a){S(this,a,me(this))}
function Of(a){T(this,a,Fe(this,a),pf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Pf(a){Je(this,a,Ee(this,a),qf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Qf(a){T(this,a,Fe(this,a),rf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Rf(a){Je(this,a,Ee(this,a),sf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
function Sf(a){var b=Fe(this,a);a=Ie(this,a);this.wa((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Tf(a){var b=Ee(this,a);a=He(this,a);this.wa(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Uf(a){S(this,a,oe(this))}function Vf(a){S(this,a,!pe(this)==!ne(this))}function Wf(a){S(this,a,!oe(this)&&!pe(this)==!ne(this))}function Xf(a){S(this,a,!me(this)&&!oe(this))}
function Yf(a){S(this,a,oe(this)||!pe(this)!=!ne(this))}function Zf(a){S(this,a,me(this)||oe(this))}function $f(a){S(this,a,!pe(this)!=!ne(this))}function ag(a){S(this,a,pe(this))}function bg(a){S(this,a,!oe(this))}function cg(a){S(this,a,!pe(this))}function dg(){this.ja(12,0,-9)}function eg(a){S(this,a,!0)}function fg(a){S(this,a,!ne(this))}function gg(a){S(this,a,ne(this))}function hg(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.J=0);this.b-=5}
function ig(a){var b=Fe(this,a);a=Ie(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;ue(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function jg(a){var b=Ee(this,a);a=He(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);ue(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}
function kg(a){var b=Ie(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.J=d>>16):(this.H=32768,this.L=d>>15|d,this.J=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.J=0,this.H=32768,this.G=65536,this.b-=7}function lg(){this.ja(24,0,-9);this.b-=20}
function mg(){this.w&49152?(this.R|=128,this.ja(4,0,-8)):(this.sa&&1120==this.xa&&this.sa.setData(this.g[0],!0),this.F?ng(this.F):J(this));this.b-=7}function og(){this.ja(16,0,-9);this.b-=20}var pg=[0,7,7,10,7,11,9,13];function qg(a){this.aa=this.b;ke(this,Ge(this,a));this.b=this.aa-pg[this.v]}var rg=[0,14,14,17,14,18,16,20];function sg(a){this.aa=this.b;var b=Ge(this,a);a=a>>6&7;ve(this,this.g[a]);this.g[a]=this.g[7];ke(this,b);this.b=this.aa-rg[this.v]}
var tg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function ug(a){var b=Fe(this,a);this.aa=this.b;Le(this,a,b,this.wa);this.b=this.aa-tg[(this.V?8:0)+this.v]+(7!=this.j||this.v?0:2)}function vg(a){var b=Ee(this,a);Ke(this,a,b,65535,this.wa);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}var wg=[7,13,13,17,14,18,17,21];
function xg(a){var b=Ie(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.J=b>>16;this.L=this.J|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function yg(){this.b-=5}function zg(){this.w&49152||(this.D.reset(),ac(this),this.sa&&this.sa.setData(this.g[0],!0));this.b-=667}function Ag(a){if(a&8)U.call(this,a);else{var b=xe(this);a&=7;7==a?ke(this,b):(ke(this,this.g[a]),this.g[a]=b);this.b-=9}}
function Bg(){we(this);this.b-=13}function Cg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.J=32768);this.b-=5}function Dg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)ke(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Eg(a){T(this,a,Fe(this,a),Ff);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Fg(a){T(this,a,0,Hf);this.b-=this.v?9:3+(7==this.j?2:0)}function Gg(){this.ja(28,0,-9)}
function Hg(){this.sa&&(this.sa.Ec(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;qe(this,-2);this.b-=3}function Ig(a){T(this,a,this.g[(a>>6&7)+this.lc],If);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,H(b,1)?(I(b,"undefined opcode "+O(b,a),!0,!0),b=ng(b)):b=!1;b||this.ja(8,0,-9)}function ge(a){Jg[a>>12].call(this,a)}function Kg(a){Lg[a>>6&3].call(this,a)}function Mg(a){Ng[a>>6&3].call(this,a)}function Og(a){Pg[a>>6&3].call(this,a)}
function Qg(a){Rg[a&15].call(this,a)}function Sg(a){Tg[a&15].call(this,a)}function Ug(a){Vg[a>>6&3].call(this,a)}function Wg(a){Xg[a>>6&3].call(this,a)}function Yg(a){Zg[a>>6&3].call(this,a)}
var Jg=[function(a){$g[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,U,function(a){ah[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],$g=[function(a){bh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,U,U,U],Lg=[function(a){Le(this,a,0,this.fb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,tf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,xf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,vf);this.b-=this.v?9:3+(7==this.j?2:0)}],Ng=[function(a){T(this,a,0,zf);
this.b-=this.v?11:6},function(a){T(this,a,me(this)?1:0,jf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,me(this)?1:0,Ff);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=Ie(this,a);this.fb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Pg=[function(a){T(this,a,0,Df);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Bf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,nf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,lf);this.b-=this.v?9:3+(7==this.j?2:0)}],bh=
[function(a){ch[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,U,Qg,Sg,Fg,Fg,Fg,Fg],ch=[mg,Hg,Bg,dg,og,zg,U,U,U,U,U,U,U,U,U,U],Rg=[yg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},hg,function(){this.L=1;this.b-=5},hg,hg,hg,function(){this.J=0;this.b-=5},hg,hg,hg,hg,hg,hg,hg],Tg=[yg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},Cg,function(){this.L=0;this.b-=5},Cg,Cg,Cg,function(){this.J=32768;this.b-=5},Cg,Cg,Cg,Cg,Cg,Cg,Cg],ah=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,
Yg,U,U,U],Vg=[function(a){Ke(this,a,0,255,this.fb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,0,uf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,1,yf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,1,wf);this.b-=this.v?9:3+(7==this.j?2:0)}],Xg=[function(a){Je(this,a,0,Af);this.b-=this.v?11:6},function(a){Je(this,a,me(this)?1:0,kf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,me(this)?1:0,Gf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=He(this,
a);this.fb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],Zg=[function(a){Je(this,a,0,Ef);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Je(this,a,0,Cf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,0,of);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Je(this,a,0,mf);this.b-=this.v?9:3+(7==this.j?2:0)}];function he(a){dh[a>>12].call(this,a)}
var dh=[function(a){eh[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,function(a){fh[a>>8&15].call(this,a)},function(a){gh[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],eh=[function(a){hh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,function(a){ih[a>>6&3].call(this,a)},U,U],ih=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ia(a|this.Ba);ke(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Ce(this,a,0);this.wa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);
this.aa=this.b;this.wa(b);De(this,a,0,b);this.b=this.aa-wg[this.v]},function(a){Le(this,a,pe(this)?65535:0,this.wa);this.b-=this.v?9:3+(7==this.j?2:0)}],hh=[function(a){jh[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,function(a){a&8?(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5):U.call(this,a)},Qg,Sg,Fg,Fg,Fg,Fg],jh=[mg,Hg,function(){we(this);this.i|=this.w&16;this.b-=13},dg,og,zg,Bg,function(){this.ja(8,0,-9)},U,U,U,U,U,U,U,U],fh=[xg,xg,kg,kg,Kf,Kf,Lf,Lf,Ig,Ig,U,U,U,U,Dg,
Dg],gh=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,Yg,function(a){kh[a>>6&3].call(this,a)},U,U],kh=[U,function(a){a=Ce(this,a,65536);this.wa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);this.aa=this.b;this.wa(b);De(this,a,65536,b);this.b=this.aa-wg[this.v]},U];
function lh(a){A.call(this,"ROM",a,0,128);this.da=this.g=null;this.v=a.addr;this.b=a.size;this.w=!1;this.j=a.alias;this.i=a.file;this.C=x(this.i);if(this.i){a=this.i;var b=oa(this.C);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.i=null):(eb(c.kb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.da=a.da):c.i=null);mh(c)})}}p(lh,A);h=lh.prototype;
h.pa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;mh(this)};h.qa=function(){this.da&&(this.F&&nh(this.F,this.id,this.v,this.b,this.da),delete this.da);return!0};h.za=function(){return!0};
function mh(a){if(!tb(a)){if(a.i){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)rb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.v;a.status(a.b+"-byte ROM at "+q(b));if(57344<=b&&b<57344+Fc){var c={};b=(c[b]=[lh.prototype.Ke,lh.prototype.Tf,null,null,null,a.b>>1],c);if(Pb(a.D,a,b)){b=a.w=!0;break a}}else if(Lc(a.D,b,a.b,td)){for(c=0;c<a.g.length;c++)Tc(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.j?b.push(a.j):
null!=a.j&&a.j.length&&(b=a.j);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.v>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}G(a)}}h.Ke=function(a){return this.g[a-this.v]};h.Tf=function(){};Ta(function(){for(var a=D(document,B,"rom"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new lh(d);qb(d,c)}});
function oh(a){A.call(this,"RAM",a);this.da=this.g=null;this.i=a.addr;this.j=a.size;this.La=a.load;this.Ka=a.exec;this.v=!1;this.b=a.file;this.w=x(this.b);if(this.b){a=this.b;var b=oa(this.w);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.N("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(eb(c.kb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.da=a.da,null==c.La&&(c.La=a.La),null==c.Ka&&(c.Ka=a.Ka)):c.b=null);ph(c)})}}
p(oh,A);oh.prototype.pa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;ph(this)};oh.prototype.qa=function(){this.da&&(this.F&&nh(this.F,this.id,this.i,this.j,this.da),delete this.da);return!0};oh.prototype.za=function(){return!0};function ph(a){if(a.D&&(!a.v&&a.j&&(Lc(a.D,a.i,a.j,Wc)?a.v=!0:a.j=0),!tb(a))){if(!a.v)y("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;qh(a,a.g,a.La,a.Ka,a.i)}G(a)}}
oh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(wb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&qh(this,this.g,this.La,this.Ka,this.i,!0)}};
function qh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){I(a,"invalid signature ("+w(m)+") at offset "+w(n),4096);break}if(l+6>=b.length){I(a,"invalid block at offset "+w(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){I(a,"insufficient data for block at offset "+w(n),4096);break}m+=
b[l++]&255;if(m&255){I(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+w(n),4096);break}if(E)for(I(a,"loading "+w(E)+" bytes at "+w(u)+"-"+w(u+E),4096);E--;)Tc(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&I(a,"starting address: "+w(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)Tc(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)J(a.f),f=!1;null!=d&&je(a.f,d,f)}return k}
Ta(function(){for(var a=D(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new oh(d);qb(d,c)}});function rh(a){A.call(this,"Keyboard",a,0,1024);G(this)}p(rh,A);rh.prototype.na=function(){return!1};rh.prototype.pa=function(a,b,c,d){this.I=a;this.f=c;this.F=d};Ta(function(){for(var a=D(document,B,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new rh(d);qb(d,c)}});
function sh(a){A.call(this,"SerialPort",a,0,262144);this.J=a.adapter;this.S=a.baudReceive||9600;this.aa=a.baudTransmit||9600;this.Y=a.upperCase;this.i=this.w=null;this.V=a.tabSize;this.T=a.charBOL;this.C=0;this.H=!0;this.P=this.L=null;this.R=this.X=-1;this.G=this.b=this.g=0;this.j=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=th;b&&(void 0===c&&(c="Panel"),(c=ob(c,this.id))&&(b=c.B[b])&&this.na(null,a,b))}this.v=this.M=this.O=null;this.exports={connect:this.kd,receiveData:this.cc,receiveStatus:this.df}}
p(sh,A);h=sh.prototype;
h.na=function(a,b,c){var d=this;switch(b){case th:return this.B[b]=this.i=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ka.Kc:ka.vd:46==c?b=ka.Kc:a.ctrlKey&&c>=ka.Hc&&c<=ka.Ed&&(b=c-(ka.Hc-ka.sd));b&&(a.preventDefault&&a.preventDefault(),d.cc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ka.ud&&(b=ka.td);d.cc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
function Eb(a){A.call(this,"Panel",a,0,512);this.sa=this.i=this.Va=this.tb=this.j=this.v=0;this.C=this.G=this.w=!1;this.H=Lb;this.g={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.F=this.f=this.D=this.I=null}p(Eb,A);h=Eb.prototype;h.reset=function(){this.stop()};
h.oa=function(a,b,c,d){if(this.I&&this.I.oa(a,b,c,d)||this.f&&this.f.oa(a,b,c,d)||this.F&&this.F.oa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.B[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.B[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.B[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Mb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Nb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Mb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Nb(a,b)}}(this,b),!0):A.prototype.oa.call(this,a,b,c,d)}};h.qa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;Ob(b,this,Pb);Qb(b,this.reset.bind(this));Rb(this);Sb(this)};h.ra=function(a,b){b||(Tb(),this.reset());return!0};h.Aa=function(){return!0};
function Ub(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Rb(a,b){for(var c in a.g)Ub(a,c,null!=b?b:a.g[c])}function Vb(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Sb(a){for(var b in a.b)Vb(a,b,a.b[b][1])}function Wb(a,b,c,d){a.B[b]&&(void 0===c&&(qb(a,"Value for "+b+" is invalid"),a.f.Y()),c=8==(a.F&&a.F.va||8)?q(c,d):v(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
function Mb(a,b){var c=a.b[b];Vb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=Xb&&(a.C=b==Yb,a.G=b==Zb)}function Nb(a,b){var c=a.b[b];c[2]&&c[3]&&(Vb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Xd=function(a){a||this.f.A.U||(a=this.f,a.D.reset(),$b(a),this.b[ac]&&this.b[ac][1]&&bc(this.f))};h.Yd=function(){};h.Td=function(a){a||this.f.Y()};
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[ac]&&this.b[ac][1])bc(this.f);else{if((a=this.F)&&!tb(a,!0))ub(a,!0),cc(a,0,null),ub(a,!1);else try{var b=this.f.$b(1);0<b&&(dc(this.f,b),ec(this.f,b,!0),fc(this.f,b))}catch(c){"number"!=typeof c&&qb(this.f,c.stack||c.message)}this.stop();this.I&&L(this.I)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.C&&gc(this),a=hc(this,this.Va),this.H==Lb)ic(this.D,this.sa,a);else{var b=this.f,c=this.sa;b.ma++;b.D.Lb(jc(b,c,4),a);b.ma--}};
h.Ud=function(a){a||this.f.A.U||(this.G&&gc(this),a=this.H==Lb?kc(this.D,this.sa):lc(this.f,this.sa),hc(this,a))};h.Wd=function(a){a||this.f.A.U||mc(this,this.Va)};h.Vd=function(a){a?(this.w=!0,Rb(this,!0)):(this.w=!1,Rb(this),nc(this,0))};h.Zd=function(a,b){this.Va=a?this.Va|1<<b:this.Va&~(1<<b)};function gc(a){var b=1145>a.f.ya?8:16,c=65472<=a.sa&&a.sa<65472+b,b=c?1:2,c=c?15:a.D.J;a.b[Xb]&&a.b[Xb][1]||(b=-b);mc(a,a.sa&~c|a.sa+b&c)}
function mc(a,b){a.sa=b&a.D.J;b=a.sa;for(var c=0;22>c;c++)oc(a,"A"+c,b&1<<c)}function hc(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)oc(a,"D"+c,b&1<<c);return a.i}function oc(a,b,c){a.g[b]=c;a.w||Ub(a,b,c)}function pc(a){return void 0!==a.B[Bc]}function nc(a,b){if(pc(a)){a.Va=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;Sb(a)}}h.stop=function(){mc(this,this.f.g[7])};h.Fc=function(a){this.sa=a};h.setData=function(a,b){b?this.tb=a:this.i=a};h.de=function(a,b){return(b?this.tb:this.Va)&65535};
h.nf=function(a){this.tb=a};function Tb(){for(var a=!1,b=G(document,D,"panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=nb(e.id);f||(a=!0,f=new Eb(e));pb(f,d);a&&H(f)}}var Lb=7,Bc="S0",Yb="DEP",ac="ENABLE",Zb="EXAM",Xb="STEP",Cc={},Pb=(Cc[65400]=[null,null,Eb.prototype.de,Eb.prototype.nf,"CNSW"],Cc);Wa(Tb);
function Dc(a,b,c){A.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=a.busWidth||16;this.M=1<<this.V;this.J=this.M-1;this.j=Ec;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.T=this.H-1;this.Ja=[];this.ia=0;this.G=!1;this.O=[];this.Hd=[Fc,Gc,Hc,Ic];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new M(this);Jc(a,this.F);this.b=Array(this.H);this.v=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.v[b]=a;this.C=this.M-Ec;Kc(this,this.C,Ec,Lc,this);this.R=
this.P=(this.C&this.J)>>>this.g;this.L=0;this.w=this.J;H(this)}p(Dc,A);function Mc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.v[c]=a.b[c];a.L=0;a.w=a.J;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Ec,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Dc.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Mc(this,16)};h.ra=function(a,b){b||this.reset();return!0};
function Kc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Hb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Hb){n=l.size-(f-m);n>g&&(n=g);l.Hb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Nc(Oc,f,g)}f=new M(a,f,n,a.j,d,e);Jc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Pc[d]+" at "+q(b)),!0):Nc(Qc,b,c)}h.Jc=function(a){return this.v[(a&this.w)>>>this.g].sb(a&this.i,a)};
h.Zb=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Ab||b!=this.i?this.v[c].ja(b,a):this.v[c++].sb(b,a)|this.v[c&this.T].sb(0,a+1)<<8};h.Kc=function(a,b){this.v[(a&this.w)>>>this.g].ub(a&this.i,b,a)};h.Lb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Ab||c!=this.i?this.v[d].vb(c,b,a):(this.v[d++].ub(c,b&255,a),this.v[d&this.T].ub(0,b>>8&255,a+1))};function Rc(a,b){return a.b[(b&a.J)>>>a.g]}
function kc(a,b){var c;a.G=!1;a.ia++;var d=b&a.i,e=Rc(a,b);Ab||d!=a.i?c=e.C(d,b):c=e.j(d,b)|Rc(a,b+1).j(0,b+1)<<8;a.ia--;return c}function Sc(a,b,c){a.G=!1;a.ia++;Rc(a,b).D(b&a.i,c&255,b);a.ia--}function ic(a,b,c){a.G=!1;a.ia++;var d=b&a.i,e=Rc(a,b);Ab||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),Rc(a,b+1).D(0,c>>8&255,b+1));a.ia--}
function Tc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Ta||e.Nd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function Uc(a){for(var b=Vc,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Hb)}return c}
function Wc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&Xc;if(void 0!==a.Ja[n])return y("I/O address already registered: "+v(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ja[n]=[d,e,f,g,r,k||16,!1]}return!0}
function Ob(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ya)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!Wc(a,f,f,k,l,m,n,g[7]||b.ga,r||b.kb))return!1}}return!0}
function Qb(a,b){a.O.push(b)}h.Ia=function(a,b,c){this.G=!0;this.ia||(this.F&&I(this.F,4)&&J(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.ka(4,0,a))};function Yc(a){var b=a.G;a.G=!1;return b}function Nc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Ec=8192,Xc=Ec-1,Oc=1,Qc=2;
function Fc(a,b){var c=-1,d=this.controller,e=d.Ja[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ja[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&I(this.f,16|e[5])&&J(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ia),c;d.Ia(b,16,3);c=255;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ia);return c}
function Gc(a,b,c){var d=!1,e=this.controller,f=e.Ja[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ja[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&I(this.f,16|f[5])&&J(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ia):(e.Ia(c,16,5),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.ia))}function Hc(a,b){var c=-1,d=this.controller;a=d.Ja[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ia),c;d.Ia(b,16,2);c=65535;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ia);return c}
function Ic(a,b,c){var d=!1,e=this.controller;a=e.Ja[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ia):(e.Ia(c,16,4),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ia))}function P(a){A.call(this,"Device",a,0,256);this.b={kh:0,Gc:-1}}p(P,A);h=P.prototype;
h.qa=function(a,b,c,d){this.D=b;this.I=a;this.f=c;this.F=d;var e=this;this.b.Gc=Zc(c,function(){e.b.Eb|=128;e.b.Eb&64&&$c(e.f,e.b.eb);e.I&&L(e.I,1);ad(e.f,e.b.Gc,1E3/60)});this.b.eb=bd(c,64,6,524288);Ob(b,this,cd);Qb(b,this.reset.bind(this));d&&dd(d,64,function(a){var b=e.f;ed(e,"KIPDR",b.C[0],0,a[0]);ed(e,"KDPDR",b.C[0],8,a[0]);ed(e,"KIPAR",b.M[0],0,a[0]);ed(e,"KDPAR",b.M[0],8,a[0],!0);ed(e,"SIPDR",b.C[1],0,a[0]);ed(e,"SDPDR",b.C[1],8,a[0]);ed(e,"SIPAR",b.M[1],0,a[0]);ed(e,"SDPAR",b.M[1],8,a[0],
!0);ed(e,"UIPDR",b.C[3],0,a[0]);ed(e,"UDPDR",b.C[3],8,a[0]);ed(e,"UIPAR",b.M[3],0,a[0]);ed(e,"UDPAR",b.M[3],8,a[0],!0);b.T&32&&ed(e,"UNIMAP",b.Ra,-1,a[0])});H(this)};function ed(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+na(n)+"]":"")+":"),g+=" "+O(a,c[d+n],l);a.u(g+(f?"\n":""))}}h.reset=function(){this.b.Eb=128;ad(this.f,this.b.Gc,1E3/60,!0)};h.ke=function(){return this.b.Eb};
h.vf=function(a){this.b.Eb=a&192;this.b.Eb&64||fd(this.f,this.b.eb)};h.me=function(){return gd(this.f)};h.xf=function(a){hd(this.f,a&-129|this.f.S&128)};h.ne=function(){return id(this.f)};h.oe=function(){return jd(this.f)};h.pe=function(){return this.f.T};h.yf=function(a){kd(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Ra[a>>1];return a&1?b>>16:b&65535};h.fg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ra[c]=b&1?this.f.Ra[c]&65535|(a&63)<<16:this.f.Ra[c]&-65536|a&65534};
h.Qe=function(a){return this.f.C[1][a>>1&7]};h.Zf=function(a,b){this.f.C[1][b>>1&7]=a&65295};h.Oe=function(a){return this.f.C[1][(a>>1&7)+8]};h.Xf=function(a,b){this.f.C[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.M[1][a>>1&7]};h.Yf=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.Ne=function(a){return this.f.M[1][(a>>1&7)+8]};h.Wf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.je=function(a){return this.f.C[0][a>>1&7]};
h.uf=function(a,b){this.f.C[0][b>>1&7]=a&65295};h.he=function(a){return this.f.C[0][(a>>1&7)+8]};h.sf=function(a,b){this.f.C[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.M[0][a>>1&7]};h.tf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.C[0][b]&=65295};h.ge=function(a){return this.f.M[0][(a>>1&7)+8]};h.rf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.C[0][b]&=65295};h.We=function(a){return this.f.C[3][a>>1&7]};h.eg=function(a,b){this.f.C[3][b>>1&7]=a&65295};
h.Ue=function(a){return this.f.C[3][(a>>1&7)+8]};h.cg=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.dg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};h.bg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Fb=function(a){a&=7;return this.f.w&2048?this.f.pa[a]:this.f.g[a]};h.Jb=function(a,b){b&=7;this.f.w&2048?this.f.pa[b]=a:this.f.g[b]=a};
h.ue=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Df=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Gf=function(a){this.f.g[7]=a};h.Gb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.pa[a]};h.Kb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.pa[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Ef=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};
h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Ff=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.fe=function(a){return this.f.nc[a-65504>>1]};h.qf=function(a,b){this.f.nc[b-65504>>1]=a};h.nd=function(a){return 65520==a?(Uc(this.D)>>6)-1:0};h.sd=function(){};h.Se=function(){return 1};h.ag=function(){};h.ee=function(){return this.f.R};h.pf=function(){this.f.R=0};h.le=function(){return this.f.mc};h.wf=function(a,b){b&1||(a&=255);this.f.mc=a};
h.qe=function(a,b){return b?0:this.f.bb};h.zf=function(a){ld(this.f,a)};h.Re=function(a,b){return b?0:this.f.za&65280};h.$f=function(a){this.f.za=a|255};h.te=function(){return md(this.f)};h.Cf=function(a){nd(this.f,a)};h.rd=function(a,b){I(this)&&J(this,"writeIgnored("+q(b)+"): "+q(a),!0,!0)};
var Q={},cd=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.fg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.Zf,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Xf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.Yf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Wf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.uf,"KIPDR",8,1145,64],Q[62672]=[null,null,P.prototype.he,P.prototype.sf,"KDPDR",8,1145,64],Q[62688]=
[null,null,P.prototype.ie,P.prototype.tf,"KIPAR",8,1145,64],Q[62704]=[null,null,P.prototype.ge,P.prototype.rf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.pe,P.prototype.yf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ke,P.prototype.vf,"LKS"],Q[65402]=[null,null,P.prototype.me,P.prototype.xf,"MMR0",1,1145,64],Q[65404]=[null,null,P.prototype.ne,P.prototype.rd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.oe,P.prototype.rd,"MMR2",1,1145,64],Q[65408]=[null,null,P.prototype.We,P.prototype.eg,
"UIPDR",8,1145,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.cg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.dg,"UIPAR",8,1145,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.bg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Fb,P.prototype.Jb,"R0SET0"],Q[65473]=[null,null,P.prototype.Fb,P.prototype.Jb,"R1SET0"],Q[65474]=[null,null,P.prototype.Fb,P.prototype.Jb,"R2SET0"],Q[65475]=[null,null,P.prototype.Fb,P.prototype.Jb,"R3SET0"],Q[65476]=[null,null,P.prototype.Fb,
P.prototype.Jb,"R4SET0"],Q[65477]=[null,null,P.prototype.Fb,P.prototype.Jb,"R5SET0"],Q[65478]=[null,null,P.prototype.ue,P.prototype.Df,"R6KERNEL"],Q[65479]=[null,null,P.prototype.xe,P.prototype.Gf,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Gb,P.prototype.Kb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Gb,P.prototype.Kb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Gb,P.prototype.Kb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Gb,P.prototype.Kb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Gb,
P.prototype.Kb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Gb,P.prototype.Kb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.ve,P.prototype.Ef,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.we,P.prototype.Ff,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.fe,P.prototype.qf,"CTRL",8,1170],Q[65520]=[null,null,P.prototype.nd,P.prototype.sd,"LSIZE",1,1170],Q[65522]=[null,null,P.prototype.nd,P.prototype.sd,"HSIZE",1,1170],Q[65524]=[null,null,P.prototype.Se,P.prototype.ag,"SYSID",1,1170],Q[65526]=
[null,null,P.prototype.ee,P.prototype.pf,"ERR",1,1170],Q[65528]=[null,null,P.prototype.le,P.prototype.wf,"MBR",1,1170],Q[65530]=[null,null,P.prototype.qe,P.prototype.zf,"PIR"],Q[65532]=[null,null,P.prototype.Re,P.prototype.$f,"SLR"],Q[65534]=[null,null,P.prototype.te,P.prototype.Cf,"PSW"],Q);
Wa(function(){for(var a=G(document,D,"device"),b=0;b<a.length;b++){var c,d=a[b];c=B(d);switch(c.type){case "default":c=new P(c);pb(c,d);break;case "pc11":c=new od(c);pb(c,d);break;case "rl11":c=new pd(c);pb(c,d);break;case "rk11":c=new R(c),pb(c,d)}}});
function M(a,b,c,d,e,f){this.B=a;this.id=qd+=2;this.b=null;this.K=b;this.Hb=c;this.size=d||0;this.type=e||rd;this.I=e==sd;this.f=this.controller=null;this.sb=this.j=this.Cc;this.ja=this.C=this.Dc;this.ub=this.D=this.Ib;this.vb=this.G=this.kc;this.F=this.i=0;Jc(this);this.Ta=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],td(this,f.Hd);else if(vb)this.v=new ArrayBuffer(this.size),this.w=new DataView(this.v,0,this.size),this.g=new Uint8Array(this.v,0,this.size),this.H=new Uint16Array(this.v,
0,this.size>>1),this.b=new Int32Array(this.v,0,this.size>>2),td(this,Cd?Dd:Ed);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;td(this,Fd)}else td(this)}h=M.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(vb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ta=!0}return!1};function td(a,b){b||(b=Gd);Hd(a,b,void 0);Id(a,b,void 0)}function Hd(a,b,c){c&&a.F||(a.sb=b[0]||a.Cc,a.ja=b[2]||a.Dc);if(c||void 0===c)a.j=b[0]||a.Cc,a.C=b[2]||a.Dc}function Id(a,b,c){c&&a.i||(a.ub=!a.I&&b[1]||a.Ib,a.vb=!a.I&&b[3]||a.kc);if(c||void 0===c)a.D=b[1]||a.Ib,a.G=b[3]||a.kc}
h.ob=function(a,b){b?this.i++||Id(this,Jd,!1):this.F++||Hd(this,Jd,!1)};function Kd(a,b){b?--a.i||(a.ub=a.I?a.Ib:a.D,a.vb=a.I?a.kc:a.G):--a.F||(a.sb=a.j,a.ja=a.C)}function Jc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Hd(a,Jd,!1),(a.i=c.i)&&Id(a,Jd,!1))}h.Cc=function(a,b){this.f&&I(this.f,32)&&J(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.Ia(b,32,2);return 255};
h.Ib=function(a,b,c){this.f&&I(this.f,32)&&J(this.f,"attempt to write "+O(this.f,b)+" to invalid addresses "+O(this.f,c),!0);this.B.Ia(c,32,4)};h.Dc=function(a,b){return this.sb(a++,b++)|this.sb(a,b)<<8};h.kc=function(a,b,c){this.ub(a++,b&255,c++);this.ub(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){zb&&a&1&&this.B.Ia(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.mf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Ta=!0};h.jg=function(a,b,c){zb&&a&1&&this.B.Ia(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ta=!0};h.ae=function(a,b){this.f&&null!=this.K&&Ld(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Ld(this.f,this.K+a,2);return this.C(a,b)};
h.kf=function(a,b,c){this.f&&null!=this.K&&Md(this.f,this.K+a);this.I?this.Ib(0,b,c):this.D(a,b,c)};h.hg=function(a,b,c){this.f&&null!=this.K&&Md(this.f,this.K+a,2);this.I?this.Ib(0,b,c):this.G(a,b,c)};h.$d=function(a){return this.g[a]};h.be=function(a,b){a=this.g[a];this.f&&I(this.f,32)&&J(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.Ye=function(a,b){zb&&a&1&&this.B.Ia(b,64,2);return this.w.getUint16(a,!0)};
h.bf=function(a,b){zb&&a&1&&this.B.Ia(b,64,2);a=!Ab&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&I(this.f,32)&&J(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.jf=function(a,b){this.g[a]=b;this.Ta=!0};h.lf=function(a,b,c){this.g[a]=b;this.Ta=!0;this.f&&I(this.f,32)&&J(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.gg=function(a,b,c){zb&&a&1&&this.B.Ia(c,64,4);this.w.setUint16(a,b,!0);this.Ta=!0};
h.ig=function(a,b,c){zb&&a&1&&this.B.Ia(c,64,4);!Ab&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Ta=!0;this.f&&I(this.f,32)&&J(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var rd=0,Vc=1,sd=2,Lc=4,Pc=["NONE","RAM","ROM","VID","H/W"],qd=0,Gd=[],Fd=[M.prototype.ce,M.prototype.mf,M.prototype.cf,M.prototype.jg],Jd=[M.prototype.ae,M.prototype.kf,M.prototype.Ze,M.prototype.hg];
if(vb)var Ed=[M.prototype.$d,M.prototype.jf,M.prototype.Ye,M.prototype.gg],Dd=[M.prototype.be,M.prototype.lf,M.prototype.bf,M.prototype.ig];var Nd;if(vb){var Od=new ArrayBuffer(2);(new DataView(Od)).setUint16(0,256,!0);Nd=256===(new Uint16Array(Od))[0]}else Nd=!1;var Cd=Nd;
function Pd(a,b){A.call(this,"CPU",a,0,1);b=a.cycles||b;var c=a.multiplier||1;this.oc=0;this.ic=b;this.Za=c;this.vc=Math.round(this.ic/1E4)/100;this.nb=this.vc*this.Za;this.wc=this.Sb=this.hb=this.jc=0;this.A.U=!1;this.A.fc=!1;this.A.Sa=a.autoStart;this.A.zb=!1;this.Qb=this.Bb=0;this.Rb=a.csStart;this.Ab=a.csInterval;this.Cb=a.csStop;this.Ba=[];this.Tc=this.gf.bind(this);this.$a=this.Fa=this.Ya=this.b=this.da=this.Ea=this.Pb=this.Xa=this.Db=this.xc=this.mb=0;this.ta=null;H(this)}p(Pd,A);h=Pd.prototype;
h.qa=function(a,b,c,d){this.I=a;this.D=b;this.F=d;this.ta=a.i;for(a=0;a<Qd.length;a++)(b=this.B[Qd[a]])&&this.I.oa(null,Qd[a],b);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ra=function(a,b){var c=Rd(this.I,"autoStart");null!=c?this.A.Sa="true"==c?!0:"false"==c?!1:!!c:null==this.A.Sa&&(this.A.Sa=!this.F&&void 0===this.B.run);if(!b){if(a&&this.restore){Sd(this);if(!this.restore(a))return!1;Td(this)}else this.reset();this.F?(a=this.F,b=this.A.Sa,a.Ba=!0,a.u("Type ? for help with PDPjs Debugger commands"),Ud(a),b||Vd(a),a.ua&&(b=a.ua,a.ua=null,Wd(a,b))):this.u("No debugger detected");this.A.Sa||this.u("CPU will not be auto-started, click Run to start")}return!0};
h.Aa=function(a){return a?this.save():!0};h.Sa=function(){return this.A.U?!0:this.A.Sa?(bc(this),!0):!1};h.gd=function(){return 0};function Td(a){void 0===a.Rb&&(a.Rb=0);void 0===a.Ab&&(a.Ab=-1);void 0===a.Cb&&(a.Cb=-1);a.A.zb=0<=a.Rb&&0<a.Ab;a.A.zb&&(a.Qb=0,a.Bb=a.Rb-a.$a)}function fc(a,b){if(a.A.zb){var c=!1;a.Qb=a.Qb+a.gd()|0;a.Bb-=b;0>=a.Bb&&(a.Bb+=a.Ab,c=!0);0<=a.Cb&&a.Cb<=Xd(a)&&(a.Ab=a.Cb=-1,Td(a),a.Y(),c=!0);c&&a.u(Xd(a)+" cycles: checksum="+v(a.Qb))}}
h.oa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.B[b]=c,!0;case "run":return this.B[b]=c,c.onclick=function(){var a;if(a=d.I)if(a=d.I,a.A.fa)a=!0;else{var b=null,c,k=mb(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);y("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Y():bc(d))},!0;
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){Yd(d,d.Za<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};function ec(a,b,c){a.$a+=b;c&&(a.Ya=a.b=a.da=0)}function Zd(a,b){var c=1;b&&1<a.Za&&a.mb&&(c=a.mb/a.vc);a.wc=Math.round(1E3/$d);a.Sb=Math.floor(a.ic/$d*c);b||(a.hb=a.Sb);a.jc=0}function Xd(a){return a.$a+a.Fa+a.Ya-a.b}function Sd(a){a.mb=0;a.xc=0;a.$a=a.Fa=a.Ya=a.b=a.da=0;Td(a);Yd(a,1)}
function Yd(a,b,c){var d=!1;if(void 0!==b){.8>a.mb/a.nb?b=1:d=!0;a.Za=b;b=a.vc*a.Za;if(a.nb!=b){a.nb=b;b=a.nb.toFixed(2)+"Mhz";var e=a.B.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.I&&ae(a.I)}ec(a,a.Fa);a.Fa=0;a.Ea=ya();a.Xa=0;Zd(a);return d}function Zc(a,b){var c=a.Ba.length;a.Ba.push([-1,b]);return c}function ad(a,b,c,d){0<=b&&b<a.Ba.length&&(d||0>a.Ba[b][0])&&(c=a.ic*a.Za/1E3*c|0,a.A.U&&(c+=be(a)),a.Ba[b][0]=c)}
function ce(a,b){for(var c=a.Ba.length-1;0<=c;c--){var d=a.Ba[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function dc(a,b){for(var c=a.Ba.length-1;0<=c;c--){var d=a.Ba[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function be(a,b){var c=a.Ya-=a.b;a.b=a.da=0;b&&(a.Ya=0);return c}
h.gf=function(){if(this.A.U){this.jc>=this.ic&&Zd(this,!0);this.Db=0;this.Pb=ya();if(this.Xa){var a=this.Pb-this.Xa;a>this.wc&&(this.Ea+=a,this.Ea>this.Pb&&(this.Ea=this.Pb))}try{do{var b=ce(this,this.A.zb?1:this.Sb);try{this.$b(b)}catch(e){if("number"!=typeof e)throw e;}b=be(this,!0);this.Db+=b;this.Fa+=b;fc(this,b);dc(this,b);this.hb-=b;if(0>=this.hb){this.hb+=this.Sb;++this.xc>=de&&(this.I&&L(this.I,void 0),this.xc=0);break}}while(this.A.U)}catch(e){this.Y();this.I&&this.I.stop(ya(),Xd(this));
qb(this,e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Tc;this.Xa=ya();var c=this.wc;this.Db&&(c=Math.round(c*this.Db/this.Sb));var c=c-(this.Xa-this.Pb),d=this.Xa-this.Ea;d&&(this.mb=Math.round(this.Fa/(10*d))/100,864E5<=d&&(this.$a=0,Yd(this)));if(0>c||this.mb<this.nb)-1E3>c&&(this.Ea-=c),c=0;this.jc+=this.Db;this.Xa+=c;a(b,c)}}};
function bc(a,b){if(!rb(a))if(a.A.U)a.u(a.toString()+" busy");else{Yd(a);a.A.U=!0;a.A.fc=!0;var c=a.B.run;c&&(c.textContent="Halt");a.I&&(b&&ae(a.I,!0),a.I.start(a.Ea,Xd(a)));a.F||a.status("Started");setTimeout(a.Tc,0)}}h.$b=function(){return 0};h.Y=function(a){var b=!1;if(this.A.U){be(this);ec(this,this.Fa);this.Fa=0;this.A.U=!1;if(b=this.B.run)b.textContent="Run";this.I&&this.I.stop(ya(),Xd(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var $d=30,de=15,Qd=["power","reset"];
function ee(a){var b=+a.model||1170;Pd.call(this,a,6666667);this.ya=b;this.Qc=a.addrReset||0;this.w=this.G=this.H=this.L=this.J=0;this.g=this.pa=this.X=[];this.O=0;this.uc=[];this.C=this.M=this.Ra=this.nc=[];this.lc=this.jb=this.P=this.Pc=this.Wa=this.xb=this.yb=this.Da=this.R=this.bb=this.za=this.S=this.Wb=this.Xb=this.T=this.ab=this.v=this.j=this.hc=this.V=this.Z=this.i=this.mc=0;this.Sc=255;1120>=this.ya?(this.Oc=fe.bind(this),this.wb=this.Ld,this.lc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
ge.bind(this),this.wb=this.Md,this.Xc=~(1792|(1145>this.ya?2048:0))&65535,this.Uc=1145<=this.ya?2048:0);this.ma=0;this.la=null;this.tc=[];this.A.complete=!1;this.Mb=this.pc=this.fd;this.Nb=this.qc=this.ld;this.gc=this.rc=this.pd;this.Ob=this.sc=this.qd;this.Ca=this.ib=this.Tb=this.Vb=0;this.ua=this.kd;this.ja=this.Ec;this.vb=this.Hc;this.Zc=this.Yc=0}p(ee,Pd);h=ee.prototype;
h.qa=function(a,b,c,d){Pd.prototype.qa.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.Zb.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Lb.bind(b)};h.ra=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.Yb&&(e.Yb=c,c+=4)}return Pd.prototype.ra.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ya);this.A.U&&this.Y();this.G=65536;this.H=32768;this.L=65535;this.J=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.pa=[0,0,0,0,0,0];this.X=[0,0,0,0];this.O=0;this.uc=[4,2,0,1];this.C=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ra=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.nc=[0,0,0,0,0,0,0,0];this.v=this.j=this.hc=this.V=this.Z=this.i=this.mc=0;this.ab=-1;$b(this);Sd(this);this.A.error=!1;Pd.prototype.reset.call(this)};function $b(a){a.S=0;a.Wb=0;a.Xb=0;a.T=0;a.R=0;a.bb=0;a.za=255;a.Wa=0;a.xb=0;a.yb=0;a.Da=262143;a.jb=a.g[7];a.P=0;a.la=null;a.D&&(he(a),a.Pc=Uc(a.D))}
function he(a){a.Mb=a.pc;a.Nb=a.qc;a.gc=a.rc;a.Ob=a.sc;a.Tb&&(a.Mb=a.fd,a.Nb=a.ld);a.Vb&&(a.gc=a.pd,a.Ob=a.qd);a.Wa?(a.Ca=65536,a.ib=a.T&16?4186112:253952,a.ua=a.kd,a.ja=a.Tb?a.af:a.Ec,a.vb=a.Vb?a.lg:a.Hc,Mc(a.D,a.T&16?22:18)):(a.Ca=0,a.ib=57344,a.ua=a.Od,a.ja=a.Tb?a.$e:a.od,a.vb=a.Vb?a.kg:a.td,Mc(a.D,16))}function gd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.yb<<1);return b}
function hd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Wb=a.P>>16&65535,a.Xb=a.P&65535);a.S=b;a.xb=(b&96)>>5;a.yb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Wa!=c&&(a.Wa=c,he(a))}}function id(a){a.S&57344||(a.Wb=a.P>>16&65535);a=a.Wb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function jd(a){a.S&57344||(a.Xb=a.P&65535);return a.Xb}function kd(a,b){1170>a.ya&&(b&=-49);a.T!=b&&(a.T=b,a.Da=b&16?4194303:262143,he(a))}
function ie(a,b,c){a.Qc=b;a.D.reset();$b(a);je(a,b);nd(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||bc(a)}else a.F?a.Y()||Ud(a.F):!1===c&&a.Y();!a.A.U&&a.ta&&a.ta.stop()}h.gd=function(){return 0};h.save=function(){var a=new ke(this);a.set(0,[this.g,this.pa,this.X,this.Ra,this.nc,this.R,this.mc,this.bb,this.za,md(this),this.ab,this.O,this.i,this.S,this.Wb,this.Xb,this.T,this.xb,this.yb,this.C,this.M,this.Wa,this.Da,this.jb,this.P]);a.set(1,[this.$a,this.Za]);a.set(2,Tc(this.D));return a.data()};
h.restore=function(a){var b=a[1];this.$a=b[1];Yd(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.S){for(var f=0,g=Array(b.S),k=0;k<e.length-1;)for(var l=e[k++],m=e[k++];l--;)g[f++]=m;e=g}f=b.b[d];if(!f||!f.restore(e)){y("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function le(a){return a.G&65536?1:0}function me(a){return a.H&32768?2:0}function ne(a){return a.L&65535?0:4}function oe(a){return a.J&32768?8:0}
function pe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(je(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function je(a,b){a.g[7]=b&65535}function bd(a,b,c,d){c={Yb:b,fb:c,message:d||0,next:null};c.name=Cb[b];a.tc.push(c);return c}function qe(a,b){var c=a.la;if(c==b)a.la=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.la&&(a.i|=1)}
function $c(a,b){if(b){if(b!=a.la){var c=a.la;if(!c||c.fb<=b.fb)b.next=c,a.la=b;else{do{var d=c.next;if(!d||d.fb<=b.fb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&I(a,b.message|8)&&J(a,"setIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0)}}function fd(a,b){b&&(qe(a,b),b.message&&I(a,b.message|8)&&J(a,"clearIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0))}function re(a){return a.i&64?(a.ka(168,64,-6),!0):a.i&32?(a.ka(4,32,-5),!0):a.i&16?(a.ka(12,16,-7),!0):!1}
function md(a){return a.w=a.w&63728|oe(a)|ne(a)|me(a)|le(a)}function nd(a,b){b&=a.Xc;a.J=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.pa.length;0<=--c;){var d=a.g[c];a.g[c]=a.pa[c];a.pa[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.O]);a.w=b;a.i&=-3;a.i|=a.la?2:1}function ld(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.bb=b}h.xa=function(a){this.J=this.L=a;this.H=0};h.gb=function(a,b){this.J=this.L=this.G=a;this.H=b||0};
function se(a,b){a.J=a.L=a.G=b;a.H=a.J^a.G>>1}function te(a,b,c,d){a.J=a.L=a.G=b;a.H=(c^d)&(d^b)}
h.ka=function(a,b,c){if(!this.ma){0>this.ab?this.ab=md(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.ja(a|this.Ca),e=this.ja(a+2&65535|this.Ca);nd(this,e&-12289|this.ab>>2&12288);ue(this,this.ab);ue(this,this.g[7]);je(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.ab=-1;this.Zc=a;this.Yc=c;-1==c&&this.Y();if(-4<=c)throw a;}};
function ve(a){var b=we(a),c=we(a);a.w&49152&&(c=c&-225|a.w&63712);je(a,b);nd(a,c);a.i&=-17}function xe(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Ra[c]+(b&8191)&4194303:b&-3932161);return b}
function ye(a,b,c){var d=[];if(c){c=xe(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Ra[e]),d.push(b&8191))}else if(a.Wa){var e=a.O<<1,f=b>>13;7<f&&(e|=1);a.T&a.uc[a.O]||(f&=7);b&=8191;var g=a.M[a.O][f]<<6;c=g+b&a.Da;3932160<=c&&(c=xe(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.Da)}else c=b&65535,57344<=c&&(c|=a.ib),d.push(c);return d}
function jc(a,b,c){var d,e,f;if(!(c&a.Wa))return f=b&65535,57344<=f&&(f|=a.ib),f;d=b>>13;a.T&a.uc[a.O]||(d&=7);e=a.C[a.O][d];f=(a.M[a.O][d]<<6)+(b&8191)&a.Da;3932160<=f&&(f=xe(a,f));if(a.ma)return f;f>=a.Pc&&f<a.ib?(a.R|=32,a.ka(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ka(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.C[a.O][d]=e;if(f!=(4194170&a.Da)||a.O)a.xb=a.O,a.yb=d;g&&(g&57344&&(0<=a.ab&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.yb<<1,hd(a,a.S&-61695|g&61694)),a.ka(168,64,-2)),a.S&61440||!(f<(4191360&a.Da)||f>(4194239&a.Da))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function we(a){var b=a.ja(a.g[6]|a.Ca);a.g[6]=a.g[6]+2&65535;return b}function ue(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.wb(4,-2,c);a.vb(c,b)}
function ze(a,b,c,d){var e,f,g=d&8?0:a.Ca;switch(b){case 0:return a.ka(4,0,-3),0;case 1:return 6==c&&a.wb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.wb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ja(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.wb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ja(e)|g;a.b-=8;break;case 6:return e=a.ja(pe(a,2)),e=e+a.g[c]&65535,6==c&&a.wb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ja(pe(a,2)),e=e+a.g[c]&65535,e=a.ja(e|a.Ca),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.O&&0>=b&&c<=this.za&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.za&&(c<=this.za-32?this.ka(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Ld(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Ld(this.F,a,2);return this.qc(a)};
h.pd=function(a,b){this.F&&Md(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Md(this.F,a,2);this.sc(a,b)};function lc(a,b){a.ma++;b=a.D.Zb(jc(a,b,2));a.ma--;return b}function Ae(a,b){(b?--a.Vb:--a.Tb)||he(a)}h.Od=function(a,b,c){return ze(this,a,b,c)};h.kd=function(a,b,c){return jc(this,ze(this,a,b,c),c)};h.od=function(a){return this.D.Zb(this.jb=a)};h.$e=function(a){this.F&&Ld(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.Zb(this.jb=jc(this,a,2))};
h.af=function(a){this.F&&Ld(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Lb(this.jb=a,b)};h.kg=function(a,b){this.F&&Md(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Lb(this.jb=jc(this,a,4),b)};h.lg=function(a,b){this.F&&Md(this.F,a,2);this.Hc(a,b)};function Be(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=ze(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ja(d|c&a.Ca),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
function Ce(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=ze(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=jc(a,e|c&65536,4),a.O=a.w>>14&3,a.Ob(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function De(a,b){b>>=6;var c=a.Z=b&7;return(b=a.V=(b&56)>>3)?a.Mb(a.ua(b,c,3)):a.g[c+a.lc]&a.Sc}function Ee(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.V=(b&56)>>3)?c=a.Nb(a.ua(b,d,2)):c=a.g[d+a.lc];return c}function Fe(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return ze(a,b,c,8)}
function Ge(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Mb(a.ua(b,c,3)):a.g[c]&255}function He(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Nb(a.ua(b,d,2)):c=a.g[d];return c}function Ie(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.hc=a.ua(b,e,7),c=0>c?a.g[-c-1]&255:c,a.gc(e,d.call(a,c,a.Mb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ua(b,e,6),a.Ob(e,d.call(a,0>c?a.g[-c-1]:c,a.Nb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function Je(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.ua(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.gc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function ef(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ua(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Ob(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.$b=function(a){this.A.complete=!0;var b=this.F?ff(this.F)?1:this.A.fc?-1:0:0,c=a?this.A.fc?0:1:-1;this.A.fc=!1;this.Ya=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(gf(this.F,this.g[7],c)){this.Y();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.bb&224)>>5,f=this.la&&this.la.fb>e?this.la:null;f&&(d=f.Yb,e=f.fb);e>(this.w&224)>>5?(this.i&8&&(pe(this,2),this.i&=-9),this.ka(d,0,-10),e=!0):e=!1;e&&(f&&qe(this,f),a=!0);this.la||this.bb||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&gf(this.F,this.g[7],c)){this.Y();break}if(0>c)break}if(this.i&112&&re(this)){if(this.i&4&&gf(this.F,this.g[7],c)){this.Y();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ja(a);this.g[7]=a+2&65535;this.Oc(f)}while(0<this.b);return this.A.complete?this.Ya-this.b:void 0===this.A.complete?0:-1};Wa(function(){for(var a=G(document,D,"cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ee(d);pb(d,c)}});
function hf(a,b){var c=b+a;this.J=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function jf(a,b){var c=b+a,d=c<<8;this.J=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function kf(a,b){a=b<<1;se(this,a);return a&65535}function lf(a,b){a=b<<1;se(this,a<<8);return a&255}function mf(a,b){a=b&32768|b>>1|b<<16;se(this,a);return a&65535}function nf(a,b){a=b&128|b>>1|b<<8;se(this,a<<8);return a&255}function of(a,b){a=b&~a;this.xa(a);return a}function pf(a,b){a=b&~a;this.xa(a<<8);return a}
function qf(a,b){a|=b;this.xa(a);return a}function rf(a,b){a|=b;this.xa(a<<8);return a}function sf(a,b){a=~b|65536;this.gb(a);return a&65535}function tf(a,b){a=~b|256;this.gb(a<<8);return a&255}function uf(a,b){this.J=this.L=a=b-a;this.H=b&(b^a);return a&65535}function vf(a,b){a=b-a;var c=a<<8;b<<=8;this.J=this.L=c;this.H=b&(b^c);return a&255}function wf(a,b){this.J=this.L=a=b+a;this.H=a&(b^a);return a&65535}function xf(a,b){a=b+a;var c=a<<8;this.J=this.L=c;this.H=c&(b<<8^c);return a&255}
function yf(a,b){a=-b;this.gb(a,a&b&32768);return a&65535}function zf(a,b){a=-b;this.gb(a<<8,(a&b&128)<<8);return a&255}function Af(a,b){a=b<<1|this.G>>16&1;se(this,a);return a&65535}function Bf(a,b){a=b<<1|this.G>>16&1;se(this,a<<8);return a&255}function Cf(a,b){a=(this.G&65536|b)>>1|b<<16;se(this,a);return a&65535}function Df(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;se(this,a<<8);return a&255}function Ef(a,b){var c=b-a;te(this,c,a,b);return c&65535}
function Ff(a,b){var c=b-a;te(this,c<<8,a<<8,b<<8);return c&255}function Gf(a,b){this.J=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function Hf(a,b){a^=b;this.xa(a);return a&65535}function If(a){T(this,a,Ee(this,a),hf);this.b-=this.v?9+(this.Z&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
function Jf(a){var b=He(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.G=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.G=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.G=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.J=this.L=c;this.b-=(this.v?6:7)+b}
function Kf(a){var b=He(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.G=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.G=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.J=d>>16;this.L=d>>16|d;this.b-=(this.v?6:7)+b}function Lf(a){S(this,a,!le(this))}function Mf(a){S(this,a,le(this))}
function Nf(a){T(this,a,Ee(this,a),of);this.b-=this.v?9+(this.Z&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Of(a){Ie(this,a,De(this,a),pf);this.b-=this.v?9+(this.Z&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Pf(a){T(this,a,Ee(this,a),qf);this.b-=this.v?9+(this.Z&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Qf(a){Ie(this,a,De(this,a),rf);this.b-=this.v?9+(this.Z&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
function Rf(a){var b=Ee(this,a);a=He(this,a);this.xa((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Z&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Sf(a){var b=De(this,a);a=Ge(this,a);this.xa(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Z&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Tf(a){S(this,a,ne(this))}function Uf(a){S(this,a,!oe(this)==!me(this))}function Vf(a){S(this,a,!ne(this)&&!oe(this)==!me(this))}function Wf(a){S(this,a,!le(this)&&!ne(this))}
function Xf(a){S(this,a,ne(this)||!oe(this)!=!me(this))}function Yf(a){S(this,a,le(this)||ne(this))}function Zf(a){S(this,a,!oe(this)!=!me(this))}function $f(a){S(this,a,oe(this))}function ag(a){S(this,a,!ne(this))}function bg(a){S(this,a,!oe(this))}function cg(){this.ka(12,0,-9)}function dg(a){S(this,a,!0)}function eg(a){S(this,a,!me(this))}function fg(a){S(this,a,me(this))}function gg(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.J=0);this.b-=5}
function hg(a){var b=Ee(this,a);a=He(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;te(this,c,a,b);this.b-=this.v?4+(this.Z&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function ig(a){var b=De(this,a);a=Ge(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);te(this,c,a,b);this.b-=this.v?4+(this.Z&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}
function jg(a){var b=He(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.J=d>>16):(this.H=32768,this.L=d>>15|d,this.J=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.J=0,this.H=32768,this.G=65536,this.b-=7}function kg(){this.ka(24,0,-9);this.b-=20}
function lg(){this.w&49152?(this.R|=128,this.ka(4,0,-8)):(this.ta&&1120==this.ya&&this.ta.setData(this.g[0],!0),this.F?mg(this.F):this.Y());this.b-=7}function ng(){this.ka(16,0,-9);this.b-=20}var og=[0,7,7,10,7,11,9,13];function pg(a){this.da=this.b;je(this,Fe(this,a));this.b=this.da-og[this.v]}var qg=[0,14,14,17,14,18,16,20];function rg(a){this.da=this.b;var b=Fe(this,a);a=a>>6&7;ue(this,this.g[a]);this.g[a]=this.g[7];je(this,b);this.b=this.da-qg[this.v]}
var sg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function tg(a){var b=Ee(this,a);this.da=this.b;ef(this,a,b,this.xa);this.b=this.da-sg[(this.V?8:0)+this.v]+(7!=this.j||this.v?0:2)}function ug(a){var b=De(this,a);Je(this,a,b,65535,this.xa);this.b-=this.v?9+(this.Z&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}var vg=[7,13,13,17,14,18,17,21];
function wg(a){var b=He(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.J=b>>16;this.L=this.J|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function xg(){this.b-=5}function yg(){this.w&49152||(this.D.reset(),$b(this),this.ta&&this.ta.setData(this.g[0],!0));this.b-=667}function zg(a){if(a&8)U.call(this,a);else{var b=we(this);a&=7;7==a?je(this,b):(je(this,this.g[a]),this.g[a]=b);this.b-=9}}
function Ag(){ve(this);this.b-=13}function Bg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.J=32768);this.b-=5}function Cg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)je(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Dg(a){T(this,a,Ee(this,a),Ef);this.b-=this.v?9+(this.Z&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Eg(a){T(this,a,0,Gf);this.b-=this.v?9:3+(7==this.j?2:0)}function Fg(){this.ka(28,0,-9)}
function Gg(){this.ta&&(this.ta.Fc(this.g[7],!0),this.ta.setData(this.g[0],!0));this.i|=8;pe(this,-2);this.b-=3}function Hg(a){T(this,a,this.g[(a>>6&7)+this.lc],Hf);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,I(b,1)?(J(b,"undefined opcode "+O(b,a),!0,!0),b=mg(b)):b=!1;b||this.ka(8,0,-9)}function fe(a){Ig[a>>12].call(this,a)}function Jg(a){Kg[a>>6&3].call(this,a)}function Lg(a){Mg[a>>6&3].call(this,a)}function Ng(a){Og[a>>6&3].call(this,a)}
function Pg(a){Qg[a&15].call(this,a)}function Rg(a){Sg[a&15].call(this,a)}function Tg(a){Ug[a>>6&3].call(this,a)}function Vg(a){Wg[a>>6&3].call(this,a)}function Xg(a){Yg[a>>6&3].call(this,a)}
var Ig=[function(a){Zg[a>>8&15].call(this,a)},tg,hg,Rf,Nf,Pf,If,U,function(a){$g[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Dg,U],Zg=[function(a){ah[a>>4&15].call(this,a)},dg,ag,Tf,Uf,Zf,Vf,Xf,rg,rg,Jg,Lg,Ng,U,U,U],Kg=[function(a){ef(this,a,0,this.gb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,sf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,wf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,uf);this.b-=this.v?9:3+(7==this.j?2:0)}],Mg=[function(a){T(this,a,0,yf);
this.b-=this.v?11:6},function(a){T(this,a,le(this)?1:0,hf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,le(this)?1:0,Ef);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=He(this,a);this.gb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Og=[function(a){T(this,a,0,Cf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Af);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,mf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,kf);this.b-=this.v?9:3+(7==this.j?2:0)}],ah=
[function(a){bh[a&15].call(this,a)},U,U,U,pg,pg,pg,pg,zg,U,Pg,Rg,Eg,Eg,Eg,Eg],bh=[lg,Gg,Ag,cg,ng,yg,U,U,U,U,U,U,U,U,U,U],Qg=[xg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},gg,function(){this.L=1;this.b-=5},gg,gg,gg,function(){this.J=0;this.b-=5},gg,gg,gg,gg,gg,gg,gg],Sg=[xg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},Bg,function(){this.L=0;this.b-=5},Bg,Bg,Bg,function(){this.J=32768;this.b-=5},Bg,Bg,Bg,Bg,Bg,Bg,Bg],$g=[bg,$f,Wf,Yf,eg,fg,Lf,Mf,kg,Fg,Tg,Vg,
Xg,U,U,U],Ug=[function(a){Je(this,a,0,255,this.gb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ie(this,a,0,tf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ie(this,a,1,xf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ie(this,a,1,vf);this.b-=this.v?9:3+(7==this.j?2:0)}],Wg=[function(a){Ie(this,a,0,zf);this.b-=this.v?11:6},function(a){Ie(this,a,le(this)?1:0,jf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ie(this,a,le(this)?1:0,Ff);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=Ge(this,
a);this.gb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],Yg=[function(a){Ie(this,a,0,Df);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Ie(this,a,0,Bf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ie(this,a,0,nf);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Ie(this,a,0,lf);this.b-=this.v?9:3+(7==this.j?2:0)}];function ge(a){ch[a>>12].call(this,a)}
var ch=[function(a){dh[a>>8&15].call(this,a)},tg,hg,Rf,Nf,Pf,If,function(a){eh[a>>8&15].call(this,a)},function(a){fh[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Dg,U],dh=[function(a){gh[a>>4&15].call(this,a)},dg,ag,Tf,Uf,Zf,Vf,Xf,rg,rg,Jg,Lg,Ng,function(a){hh[a>>6&3].call(this,a)},U,U],hh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ja(a|this.Ca);je(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Be(this,a,0);this.xa(a);ue(this,a);this.b-=11},function(a){var b=we(this);
this.da=this.b;this.xa(b);Ce(this,a,0,b);this.b=this.da-vg[this.v]},function(a){ef(this,a,oe(this)?65535:0,this.xa);this.b-=this.v?9:3+(7==this.j?2:0)}],gh=[function(a){ih[a&15].call(this,a)},U,U,U,pg,pg,pg,pg,zg,function(a){a&8?(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5):U.call(this,a)},Pg,Rg,Eg,Eg,Eg,Eg],ih=[lg,Gg,function(){ve(this);this.i|=this.w&16;this.b-=13},cg,ng,yg,Ag,function(){this.ka(8,0,-9)},U,U,U,U,U,U,U,U],eh=[wg,wg,jg,jg,Jf,Jf,Kf,Kf,Hg,Hg,U,U,U,U,Cg,
Cg],fh=[bg,$f,Wf,Yf,eg,fg,Lf,Mf,kg,Fg,Tg,Vg,Xg,function(a){jh[a>>6&3].call(this,a)},U,U],jh=[U,function(a){a=Be(this,a,65536);this.xa(a);ue(this,a);this.b-=11},function(a){var b=we(this);this.da=this.b;this.xa(b);Ce(this,a,65536,b);this.b=this.da-vg[this.v]},U];
function kh(a){A.call(this,"ROM",a,0,128);this.ea=this.g=null;this.v=a.addr;this.b=a.size;this.w=!1;this.j=a.alias;this.i=a.file;this.C=x(this.i);if(this.i){a=this.i;var b=oa(this.C);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.i=null):(fb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.ea=a.ea):c.i=null);lh(c)})}}p(kh,A);h=kh.prototype;
h.qa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;lh(this)};h.ra=function(){this.ea&&(this.F&&mh(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.Aa=function(){return!0};
function lh(a){if(!sb(a)){if(a.i){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)qb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.v;a.status(a.b+"-byte ROM at "+q(b));if(57344<=b&&b<57344+Ec){var c={};b=(c[b]=[kh.prototype.Me,kh.prototype.Vf,null,null,null,a.b>>1],c);if(Ob(a.D,a,b)){b=a.w=!0;break a}}else if(Kc(a.D,b,a.b,sd)){for(c=0;c<a.g.length;c++)Sc(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.j?b.push(a.j):
null!=a.j&&a.j.length&&(b=a.j);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.v>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}H(a)}}h.Me=function(a){return this.g[a-this.v]};h.Vf=function(){};Wa(function(){for(var a=G(document,D,"rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new kh(d);pb(d,c)}});
function nh(a){A.call(this,"RAM",a);this.ea=this.g=null;this.i=a.addr;this.j=a.size;this.La=a.load;this.Ka=a.exec;this.v=!1;this.b=a.file;this.w=x(this.b);if(this.b){a=this.b;var b=oa(this.w);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.N("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(fb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.ea=a.ea,null==c.La&&(c.La=a.La),null==c.Ka&&(c.Ka=a.Ka)):c.b=null);oh(c)})}}
p(nh,A);nh.prototype.qa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;oh(this)};nh.prototype.ra=function(){this.ea&&(this.F&&mh(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};nh.prototype.Aa=function(){return!0};function oh(a){if(a.D&&(!a.v&&a.j&&(Kc(a.D,a.i,a.j,Vc)?a.v=!0:a.j=0),!sb(a))){if(!a.v)y("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;ph(a,a.g,a.La,a.Ka,a.i)}H(a)}}
nh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(vb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&ph(this,this.g,this.La,this.Ka,this.i,!0)}};
function ph(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){J(a,"invalid signature ("+w(m)+") at offset "+w(n),4096);break}if(l+6>=b.length){J(a,"invalid block at offset "+w(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){J(a,"insufficient data for block at offset "+w(n),4096);break}m+=
b[l++]&255;if(m&255){J(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+w(n),4096);break}if(E)for(J(a,"loading "+w(E)+" bytes at "+w(u)+"-"+w(u+E),4096);E--;)Sc(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&J(a,"starting address: "+w(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)Sc(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.Y(),f=!1;null!=d&&ie(a.f,d,f)}return k}
Wa(function(){for(var a=G(document,D,"ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new nh(d);pb(d,c)}});function qh(a){A.call(this,"Keyboard",a,0,1024);H(this)}p(qh,A);qh.prototype.oa=function(){return!1};qh.prototype.qa=function(a,b,c,d){this.I=a;this.f=c;this.F=d};Wa(function(){for(var a=G(document,D,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new qh(d);pb(d,c)}});
function rh(a){A.call(this,"SerialPort",a,0,262144);this.J=a.adapter;this.S=a.baudReceive||9600;this.da=a.baudTransmit||9600;this.Z=a.upperCase;this.i=this.w=null;this.V=a.tabSize;this.T=a.charBOL;this.C=0;this.H=!0;this.P=this.L=null;this.R=this.X=-1;this.G=this.b=this.g=0;this.j=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=sh;b&&(void 0===c&&(c="Panel"),(c=ob(c,this.id))&&(b=c.B[b])&&this.oa(null,a,b))}this.v=this.M=this.O=null;this.exports={connect:this.md,receiveData:this.cc,receiveStatus:this.ff}}
p(rh,A);h=rh.prototype;
h.oa=function(a,b,c){var d=this;switch(b){case sh:return this.B[b]=this.i=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ka.Lc:ka.xd:46==c?b=ka.Lc:a.ctrlKey&&c>=ka.Ic&&c<=ka.Gd&&(b=c-(ka.Ic-ka.ud));b&&(a.preventDefault&&a.preventDefault(),d.cc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ka.wd&&(b=ka.vd);d.cc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.cc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;var e=this;this.P=cd(this.f,this.J?-1:48,4,262144);this.R=$c(this.f,function(){var a;a=-1;e.j.length&&(a=e.j.shift()&255,I(e,"receiveByte("+v(a,2,!0)+")"),e.Y&&97<=a&&122>a&&(a-=32),bd(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&ad(c,e.P))});this.L=cd(this.f,this.J?-1:52,4,262144);this.X=$c(this.f,function(){e.g|=128;e.g&64&&ad(c,e.L)});Pb(b,this,uh,this.J?64832+8*(this.J-1)-65392:0);Rb(b,this.reset.bind(this));
G(this)};h.kd=function(a){if(!this.v){var b=Sd(this.I,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.jb)return;c=ua(c[1]);if(this.v=nb(c)){var e=this.v.exports;if(e){var f=e.connect;f&&f.call(this.v,this.H);if(this.M=e.receiveData){this.H=a;this.O=e.receiveStatus;this.status(this.kb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.qa=function(a,b){if(!b)if(this.kd(this.H),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){vh(this)};h.save=function(){var a=new le(this);a.set(0,[]);return a.data()};h.restore=function(){return vh(this)};function vh(a){a.G=0;a.b=8192;a.g=128;a.j=[];return!0}
h.cc=function(a){if("number"==typeof a)this.j.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.j.push(b)}else this.j=this.j.concat(a);bd(this.f,this.R,1E3/Math.round(this.S/10));return!0};h.df=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&ad(this.f,this.P))};h.xe=function(){var a=this.b&65534;this.b&=-32769;return a};
h.Gf=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.O&&b&6&&(b=0,b=this.H?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.O.call(this.v,b))};h.we=function(){this.b&=-129;return this.G};h.Ff=function(){};h.cf=function(){return this.g};h.lg=function(a){this.g&128&&(a&64?ad(this.f,this.L):gd(this.f,this.L));this.g=this.g&-70|a&69};h.bf=function(){return 0};
h.kg=function(a){a&=255;I(this,"transmitByte("+v(a,2,!0)+")");this.M&&this.M.call(this.v,a);a&=127;if(this.i)if(13==a)this.C=0;else if(8==a)this.i.value=this.i.value.slice(0,-1),0<this.C&&this.C--;else{if(a){var b;13!=a&&10!=a&&(b=va[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.V||8,c=a-this.C%a,this.V&&(b=ta("",c)));this.T&&!this.C&&c&&(b=String.fromCharCode(this.T)+b);this.i.value+=b;this.i.scrollTop=this.i.scrollHeight;this.C+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}bd(this.f,this.X,1E3/Math.round(this.aa/10));this.g&=-129};var th="buffer",wh={},uh=(wh[65392]=[null,null,sh.prototype.xe,sh.prototype.Gf,"RCSR"],wh[65394]=[null,null,sh.prototype.we,sh.prototype.Ff,"RBUF"],wh[65396]=[null,null,sh.prototype.cf,sh.prototype.lg,"XCSR"],wh[65398]=[null,null,sh.prototype.bf,sh.prototype.kg,"XBUF"],wh);
Ta(function(){for(var a=D(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new sh(d);qb(d,c)}});function pd(a){A.call(this,"PC11",a);this.M=xh(this,a.autoMount);this.g=0;this.S=a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=yh;this.i=zh;this.L=this.j="";this.ba=this.La=this.Ka=null;this.P=-1;this.O=!Ma("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.J=null}p(pd,A);
function xh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=pd.prototype;
h.na=function(a,b,c){var d=this,e=zh;switch(b){case "listTapes":return this.B[b]=c,c.onchange=function(){var a=d.B.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.B[b]=c,!0;case "readTape":e=Ah;case "loadTape":return e||(e=Bh),this.B[b]=c,c.onclick=
function(){var a=d.B.listTapes;a&&Ch(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.B[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ch(d,x(b,!0),b,Bh,a)}return!1};return!0;case Dh:return this.B[b]=c,!0}return!1};
h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;this.J=Eh(a);var e=this;if(a=xh(this,Sd(this.I,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=cd(this.f,56,4,4096);this.R=$c(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Fh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&ad(e.f,e.H))});Pb(b,this,Gh);Rb(b,this.reset.bind(this));Hh(this,"None",yh,!0);this.O&&Hh(this,"Local Tape",Ih);Hh(this,"Remote Tape",Jh);Kh(this)||G(this)};
h.qa=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Kh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.B.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=x(c,!0)}c&&b?Lh(a,b,c,Bh,!0):Mh(a)}return!!a.g}
function Ch(a,b,c,d,e){if(c)if(c==Ih)a.N('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Jh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"');a.v=Jh}else a.v=c;Lh(a,b,c,d,!1,e)}else Nh(a,!1)}
function Lh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Nh(a,!0),a.A.bb?a.N("PC11 busy"):(e&&(a.g++,H(a)&&I(a,"auto-loading tape: "+b)),Oh(a,b,c,d,f)?g++:a.A.bb=!0);g&&Ph(a,a.L,a.j,a.i,a.ba,a.La,a.Ka)}
function Oh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Ph(a,b,c,d,e),a.v=Ih);Mh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Ca()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Aa(f,null,!0,function(e,f,g){var k=0>g&&!!a.I&&!a.I.A.ea;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(eb(a.kb,e,f),(e=Ba(e,f))&&Ph(a,b,c,d,e.ba,e.La,
e.Ka));a.A.bb=!1;a.g&&(a.g--,a.g||G(a));Mh(a)})}function Hh(a,b,c,d){if((a=a.B.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Mh(a){var b=a.B.listTapes;if(b&&b.options){a=a.v||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Fh(a,b){b|=0;if(b!==a.P){var c=a.B[Dh];c&&(c=(c=D(c,Qh))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Ph(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ba=e;a.La=f;a.Ka=g;d==Ah?a.J&&qh(a.J,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.N('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Fh(a,0))}function Nh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Bh?"tape detached":"tape unloaded"),a.v=yh,a.i=zh,Mh(a))}h.save=function(){return(new le(this)).data()};h.restore=function(){return!0};h.qe=function(){return this.b&65534};
h.zf=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&ad(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,bd(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.pe=function(){this.b&=-129;this.b|=2048;return this.G};h.yf=function(){};var yh="",Ih="?",Jh="??",zh=0,Bh=1,Ah=2,Dh="readProgress",Qh="pcjs-progress-bar",Rh={},Gh=(Rh[65384]=[null,null,pd.prototype.qe,pd.prototype.zf,"PRS"],Rh[65386]=[null,null,pd.prototype.pe,pd.prototype.yf,"PRB"],Rh);
function Sh(a,b,c){A.call(this,"Disk",{id:a.kb+".disk"+v(++Th,4)},0,8192);this.controller=a;this.I=a.I;this.F=a.F;this.v=b;this.Ma=b.name;this.va=this.ec="";this.ac=b.ac;this.W=this.ca=this.Z=this.ma=this.mode=0;this.b=[];this.i=null;this.j=!1;Uh(this,c,b.W,b.ca,b.Z,b.ma);this.g=this.w=null;G(this)}p(Sh,A);h=Sh.prototype;h.pa=function(a,b,c,d){this.F=d};
function Uh(a,b,c,d,e,f){a.mode=b;a.W=c;a.ca=d;a.Z=e;a.ma=f;a.b=[];if("preload"!=a.mode){b=Array(a.W);for(c=0;c<b.length;c++){d=Array(a.ca);for(e=0;e<d.length;e++){f=Array(a.Z);for(var g=1;g<=f.length;g++)f[g-1]=Vh(null,c,e,g,a.ma,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function Wh(a,b,c,d,e){var f=c;if(a.g)return!0;a.Ma=b;a.va=c;a.ec=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ja[d];if(e){a.W=e[0];a.ca=e[1];a.Z=e[2];a.ma=e[3]||512;c=a.ma>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.W);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ca),t=0;t<u.length;t++)for(var E=u[t]=Array(a.Z),z=0;z<E.length;z++){for(var C=Vh(null,d,t,z+1,a.ma,0),F=C.data,fb=0;fb<c;fb++,f+=4)var W=F[fb]=b.getInt32(f,!0),
e=e+W&-1;C.Ga=c;E[z]=C}a.i=e;c=a}else a.N("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Ma,a.va),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Ca()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ac?"":e)+"&format=json"));return!!Aa(f,null,
!0,function(b,c,d){Xh(a,b,c,d)})}
function Xh(a,b,c,d){var e=null,f=0>d&&!!a.I&&!a.I.A.ea;a.j=!1;if(d)a.controller.N('Unable to load disk "'+a.Ma+'" (error '+d+": "+b+")",f);else{eb(a.controller.kb,b,c);try{if(0<x(a.ec,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Ma]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.W=k.length;a.ca=k[0].length;a.Z=k[0][0].length;var l=k[0][0][0];a.ma=l&&l.length||512;for(d=c=0;d<a.W;d++)for(f=0;f<a.ca;f++)for(g=0;g<a.Z;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,E=u.length;E<t;E++)u[E]=n;Yh(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Vh(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else y("Empty disk image: "+a.Ma)}catch(z){y("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Ma,a.va),a.g=null)}function Vh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.nh=b;a.oh=c;a.Qa=a.Ga=0;a.Sa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Hd&&b<f.ca)for(k=g[b]=Array(f.ad),g=0;g<k.length;g++)k[g]=Vh(null,a,b,g+1,f.Ac,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Hd&&9==f.xc&&(d=k[g]=Vh(null,a,b,f.xc,f.Ac,0))}}e&&e(d,!1);return d};function Yh(a,b){for(var c=0,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}
h.qa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;var e=this;this.P=bd(this.f,this.J?-1:48,4,262144);this.R=Zc(this.f,function(){var a;a=-1;e.j.length&&(a=e.j.shift()&255,J(e,"receiveByte("+v(a,2,!0)+")"),e.Z&&97<=a&&122>a&&(a-=32),ad(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&$c(c,e.P))});this.L=bd(this.f,this.J?-1:52,4,262144);this.X=Zc(this.f,function(){e.g|=128;e.g&64&&$c(c,e.L)});Ob(b,this,th,this.J?64832+8*(this.J-1)-65392:0);Qb(b,this.reset.bind(this));
H(this)};h.md=function(a){if(!this.v){var b=Rd(this.I,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.kb)return;c=ua(c[1]);if(this.v=nb(c)){var e=this.v.exports;if(e){var f=e.connect;f&&f.call(this.v,this.H);if(this.M=e.receiveData){this.H=a;this.O=e.receiveStatus;this.status(this.lb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.ra=function(a,b){if(!b)if(this.md(this.H),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Aa=function(a){return a?this.save():!0};h.reset=function(){uh(this)};h.save=function(){var a=new ke(this);a.set(0,[]);return a.data()};h.restore=function(){return uh(this)};function uh(a){a.G=0;a.b=8192;a.g=128;a.j=[];return!0}
h.cc=function(a){if("number"==typeof a)this.j.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.j.push(b)}else this.j=this.j.concat(a);ad(this.f,this.R,1E3/Math.round(this.S/10));return!0};h.ff=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&$c(this.f,this.P))};h.ze=function(){var a=this.b&65534;this.b&=-32769;return a};
h.If=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.O&&b&6&&(b=0,b=this.H?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.O.call(this.v,b))};h.ye=function(){this.b&=-129;return this.G};h.Hf=function(){};h.ef=function(){return this.g};h.ng=function(a){this.g&128&&(a&64?$c(this.f,this.L):fd(this.f,this.L));this.g=this.g&-70|a&69};h.df=function(){return 0};
h.mg=function(a){a&=255;J(this,"transmitByte("+v(a,2,!0)+")");this.M&&this.M.call(this.v,a);a&=127;if(this.i)if(13==a)this.C=0;else if(8==a)this.i.value=this.i.value.slice(0,-1),0<this.C&&this.C--;else{if(a){var b;13!=a&&10!=a&&(b=wa[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.V||8,c=a-this.C%a,this.V&&(b=ta("",c)));this.T&&!this.C&&c&&(b=String.fromCharCode(this.T)+b);this.i.value+=b;this.i.scrollTop=this.i.scrollHeight;this.C+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}ad(this.f,this.X,1E3/Math.round(this.da/10));this.g&=-129};var sh="buffer",vh={},th=(vh[65392]=[null,null,rh.prototype.ze,rh.prototype.If,"RCSR"],vh[65394]=[null,null,rh.prototype.ye,rh.prototype.Hf,"RBUF"],vh[65396]=[null,null,rh.prototype.ef,rh.prototype.ng,"XCSR"],vh[65398]=[null,null,rh.prototype.df,rh.prototype.mg,"XBUF"],vh);
Wa(function(){for(var a=G(document,D,"serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new rh(d);pb(d,c)}});function od(a){A.call(this,"PC11",a);this.M=wh(this,a.autoMount);this.g=0;this.S=a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=xh;this.i=yh;this.L=this.j="";this.ba=this.La=this.Ka=null;this.P=-1;this.O=!Ma("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.J=null}p(od,A);
function wh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=od.prototype;
h.oa=function(a,b,c){var d=this,e=yh;switch(b){case "listTapes":return this.B[b]=c,c.onchange=function(){var a=d.B.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.B[b]=c,!0;case "readTape":e=zh;case "loadTape":return e||(e=Ah),this.B[b]=c,c.onclick=
function(){var a=d.B.listTapes;a&&Bh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.B[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Bh(d,x(b,!0),b,Ah,a)}return!1};return!0;case Ch:return this.B[b]=c,!0}return!1};
h.qa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;this.J=Dh(a);var e=this;if(a=wh(this,Rd(this.I,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=bd(this.f,56,4,4096);this.R=Zc(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Eh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&$c(e.f,e.H))});Ob(b,this,Fh);Qb(b,this.reset.bind(this));Gh(this,"None",xh,!0);this.O&&Gh(this,"Local Tape",Hh);Gh(this,"Remote Tape",Ih);Jh(this)||H(this)};
h.ra=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Aa=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Jh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.B.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=x(c,!0)}c&&b?Kh(a,b,c,Ah,!0):Lh(a)}return!!a.g}
function Bh(a,b,c,d,e){if(c)if(c==Hh)a.N('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Ih){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"');a.v=Ih}else a.v=c;Kh(a,b,c,d,!1,e)}else Mh(a,!1)}
function Kh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Mh(a,!0),a.A.cb?a.N("PC11 busy"):(e&&(a.g++,I(a)&&J(a,"auto-loading tape: "+b)),Nh(a,b,c,d,f)?g++:a.A.cb=!0);g&&Oh(a,a.L,a.j,a.i,a.ba,a.La,a.Ka)}
function Nh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Oh(a,b,c,d,e),a.v=Hh);Lh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Ca()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Aa(f,null,!0,function(e,f,g){var k=0>g&&!!a.I&&!a.I.A.fa;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(fb(a.lb,e,f),(e=Ba(e,f))&&Oh(a,b,c,d,e.ba,e.La,
e.Ka));a.A.cb=!1;a.g&&(a.g--,a.g||H(a));Lh(a)})}function Gh(a,b,c,d){if((a=a.B.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Lh(a){var b=a.B.listTapes;if(b&&b.options){a=a.v||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Eh(a,b){b|=0;if(b!==a.P){var c=a.B[Ch];c&&(c=(c=G(c,Ph))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Oh(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ba=e;a.La=f;a.Ka=g;d==zh?a.J&&ph(a.J,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.N('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Eh(a,0))}function Mh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Ah?"tape detached":"tape unloaded"),a.v=xh,a.i=yh,Lh(a))}h.save=function(){return(new ke(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Bf=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&$c(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,ad(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.re=function(){this.b&=-129;this.b|=2048;return this.G};h.Af=function(){};var xh="",Hh="?",Ih="??",yh=0,Ah=1,zh=2,Ch="readProgress",Ph="pcjs-progress-bar",Qh={},Fh=(Qh[65384]=[null,null,od.prototype.se,od.prototype.Bf,"PRS"],Qh[65386]=[null,null,od.prototype.re,od.prototype.Af,"PRB"],Qh);
function Rh(a,b,c){A.call(this,"Disk",{id:a.lb+".disk"+v(++Sh,4)},0,8192);this.controller=a;this.I=a.I;this.F=a.F;this.v=b;this.Ma=b.name;this.wa=this.ec="";this.ac=b.ac;this.W=this.ca=this.aa=this.na=this.mode=0;this.b=[];this.i=null;this.j=!1;Th(this,c,b.W,b.ca,b.aa,b.na);this.g=this.w=null;H(this)}p(Rh,A);h=Rh.prototype;h.qa=function(a,b,c,d){this.F=d};
function Th(a,b,c,d,e,f){a.mode=b;a.W=c;a.ca=d;a.aa=e;a.na=f;a.b=[];if("preload"!=a.mode){b=Array(a.W);for(c=0;c<b.length;c++){d=Array(a.ca);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=Uh(null,c,e,g,a.na,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function Vh(a,b,c,d,e){var f=c;if(a.g)return!0;a.Ma=b;a.wa=c;a.ec=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ja[d];if(e){a.W=e[0];a.ca=e[1];a.aa=e[2];a.na=e[3]||512;c=a.na>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.W);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ca),t=0;t<u.length;t++)for(var E=u[t]=Array(a.aa),z=0;z<E.length;z++){for(var C=Uh(null,d,t,z+1,a.na,0),F=C.data,eb=0;eb<c;eb++,f+=4)var V=F[eb]=b.getInt32(f,!0),
e=e+V&-1;C.Ga=c;E[z]=C}a.i=e;c=a}else a.N("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Ma,a.wa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Ca()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ac?"":e)+"&format=json"));return!!Aa(f,null,
!0,function(b,c,d){Wh(a,b,c,d)})}
function Wh(a,b,c,d){var e=null,f=0>d&&!!a.I&&!a.I.A.fa;a.j=!1;if(d)a.controller.N('Unable to load disk "'+a.Ma+'" (error '+d+": "+b+")",f);else{fb(a.controller.lb,b,c);try{if(0<x(a.ec,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Ma]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.W=k.length;a.ca=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.na=l&&l.length||512;for(d=c=0;d<a.W;d++)for(f=0;f<a.ca;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,E=u.length;E<t;E++)u[E]=n;Xh(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Uh(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else y("Empty disk image: "+a.Ma)}catch(z){y("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Ma,a.wa),a.g=null)}function Uh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.ph=b;a.qh=c;a.Qa=a.Ga=0;a.Ta=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.ca)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=Uh(null,a,b,g+1,f.Bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.yc&&(d=k[g]=Uh(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function Xh(a,b){for(var c=0,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}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ga?f<a.Qa?(a.Ga+=a.Qa-f,a.Qa=f):f>=a.Qa+a.Ga&&(a.Ga+=f-(a.Qa+a.Ga)+1):(a.Qa=f,a.Ga=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function Zh(a,b){var c=a.ca*a.Z,d=b/c|0;return d<a.W?(b%=c,a.seek(d,b/a.Z|0,b%a.Z+1)):null}function $h(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ai(a){for(var b="",c=0,d;d=Zh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode($h(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.va,this.i,this.W,this.ca,this.Z,this.ma];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ga){for(var k=[],l=0,m=g.Qa,n=g.Qa+g.Ga;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Qa,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?Uh(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
function Yh(a,b){var c=a.ca*a.aa,d=b/c|0;return d<a.W?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function Zh(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function $h(a){for(var b="",c=0,d;d=Yh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Zh(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.wa,this.i,this.W,this.ca,this.aa,this.na];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ga){for(var k=[],l=0,m=g.Qa,n=g.Qa+g.Ga;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Qa,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?Th(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Qa=e;for(k.Ga=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Ma+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=Zh(this,a++);)bi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function bi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Th=0;function R(a){A.call(this,"RK11",a,0,65536);this.G=ci(this,a.autoMount);this.C=0;this.i=Array(8);this.H=!Ma("Mobi")&&window&&"FileReader"in window;this.cb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.J=0}p(R,A);
function ci(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
h.na=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&di(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&ei(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.N("Unable to boot the selected drive"):a.ga?(je(d.f,0,!0),(a=d.Tc(a,0,0,0,512,0,2))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.i&&((a=d.i[la(a.value,10)||0])?(a=a.ga)?(a=Pa(ai(a),a.ec.replace(".json",".img")),y(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ei(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;if(a=ci(this,Sd(this.I,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);fi(this);this.cb=cd(this.f,144,5,65536);Pb(b,this,zi);Rb(b,this.reset.bind(this));Bi(this,"None",Ci,!0);this.H&&Bi(this,"Local Disk",Di);Bi(this,"Remote Disk",Ei);Fi(this)||G(this)};
h.qa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.I.w){for(a=0;a<this.i.length;a++)Gi(this,a,!0);Fi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";di(this,0)}}return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){fi(this)};h.save=function(){return(new le(this)).data()};
h.restore=function(a){return fi(this,a[0])};function Fi(a,b){b||(a.C=0);for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Hi(a,g,f,e,!0)&&b&&G(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.C}
function ei(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.N("Unable to load the selected drive");else if(c)if(c==Di)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Ei){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Hi(a,e,b,c,!1,d)}else Gi(a,e)}
function Hi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.va.toLowerCase()!=d.toLowerCase()&&(g++,Gi(a,b,!0),k.pb?a.N("RK11 busy"):(k.pb=!0,e&&(k.ob=!0,a.C++,H(a)&&I(a,"auto-loading disk: "+c)),k.Ta=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.yd)&&g++));return g}
h.yd=function(a,b,c,d,e){a.pb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.qb)),b=null);b?(a.ga=b,a.Ma=c,a.va=d,this.N('Loaded disk "'+c+'" in drive '+("RK"+a.qb),a.ob||e),this.I&&be(this.I)):a.Ta=!1;a.ob&&(a.ob=!1,--this.C||G(this));di(this,a.qb)};
function Bi(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function di(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ta?Di:c.va,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Gi(a,b,c){var d=a.i[b];if(d.ga||!1===c)d.Ma="",d.va="",d.ga=null,d.Ta=!1,c||(a.N("Drive RK"+b+" unloaded",c),di(a,b))}
function fi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.J=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.qb=b;d.name=c.jb;d.pb=d.Ta=!1;d.W=203;d.ca=2;d.Z=12;d.ma=512;d.ac=!0;d.Id=0;d.Gd=0;d.xc=1;d.ad=d.Z;d.Ac=d.ma;d.Nd=0;d.ff=null;d.ga||(d.va="");d.status=2368}return!0}
h.Tc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ga;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(jc(this.D,ye(this.f,f),u|t<<8),Zc(this.D))){m=1024;break}r>=a.ma&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.zd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ga;var n=null,r;a||(m=128,e=0);for(;e;){var u=lc(this.D,ye(this.f,f));if(Zc(this.D)){m=1024;break}if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=32;break}if(u!=(t|E<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.ma&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.xd=function(a,b,c,d,e,f){this.v=f&65535;this.b=this.b&-49|f>>12&48;this.w=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Ii(this);return!0};function Ii(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),H(a)&&I(a,a.type+": ERROR: "+q(a.g)))}h.Ce=function(){return this.L};h.Lf=function(){};h.De=function(){return this.g};h.Mf=function(){};h.ze=function(){return this.b&61438};
h.If=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:H(this)&&I(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Tc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.zd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.w&65535;n=(this.b&48)<<12|this.v;r=this.b&2048?0:2;H(this)&&I(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+q(n)+"--"+q(n+(m<<1)),!0,!0);if(g>=f.W){this.g|=64;break}if(l>=f.Z){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.xd.bind(this));break;case 8:g=(this.j&8160)>>5;H(this)&&I(this,this.type+": SEEK("+g+")",!0);g<f.W?this.b|=8192:this.g|=64;break;case 12:H(this)&&I(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:H(this)&&I(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ga?128:0)|e<<13|this.j&15;Ii(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&ad(this.f,this.cb))}};h.Ee=function(){return this.w};h.Nf=function(a){this.w=a};h.ye=function(){return this.v};h.Hf=function(a){this.v=a};h.Ae=function(){return this.j};h.Jf=function(a){this.j=a};h.Be=function(){return this.J};h.Kf=function(a){this.J=a};
var Ci="",Di="?",Ei="??",Ji={},zi=(Ji[65280]=[null,null,R.prototype.Ce,R.prototype.Lf,"RKDS"],Ji[65282]=[null,null,R.prototype.De,R.prototype.Mf,"RKER"],Ji[65284]=[null,null,R.prototype.ze,R.prototype.If,"RKCS"],Ji[65286]=[null,null,R.prototype.Ee,R.prototype.Nf,"RKWC"],Ji[65288]=[null,null,R.prototype.ye,R.prototype.Hf,"RKBA"],Ji[65290]=[null,null,R.prototype.Ae,R.prototype.Jf,"RKDA"],Ji[65294]=[null,null,R.prototype.Be,R.prototype.Kf,"RKDB"],Ji);
function qd(a){A.call(this,"RL11",a,0,131072);this.H=Ki(this,a.autoMount);this.G=0;this.g=Array(4);this.J=!Ma("Mobi")&&window&&"FileReader"in window;this.cb=null;this.b=this.C=this.i=this.j=this.w=this.v=0}p(qd,A);function Ki(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=qd.prototype;
h.na=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Li(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Mi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.N("Unable to boot the selected drive"):a.ga?(je(d.f,0,!0),(a=d.Uc(a,0,0,0,512,0))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.J){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ga)?(a=Pa(ai(a),a.ec.replace(".json",".img")),y(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.J)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mi(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;if(a=Ki(this,Sd(this.I,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ni(this);this.cb=cd(this.f,112,5,131072);Pb(b,this,Oi);Rb(b,this.reset.bind(this));Pi(this,"None",Qi,!0);this.J&&Pi(this,"Local Disk",Ri);Pi(this,"Remote Disk",Si);Ti(this)||G(this)};
h.qa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.I.w){for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Li(this,0)}}return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){Ni(this)};h.save=function(){return(new le(this)).data()};
h.restore=function(a){return Ni(this,a[0])};function Ti(a,b){b||(a.G=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Vi(a,g,f,e,!0)&&b&&G(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.G}
function Mi(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if(c==Ri)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Si){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Vi(a,e,b,c,!1,d)}else Ui(a,e)}
function Vi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.va.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.pb?a.N("RL11 busy"):(k.pb=!0,e&&(k.ob=!0,a.G++,H(a)&&I(a,"auto-loading disk: "+c)),k.Ta=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Bd)&&g++));return g}
h.Bd=function(a,b,c,d,e){a.pb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.qb)),b=null);b?(a.ga=b,a.Ma=c,a.va=d,this.N('Loaded disk "'+c+'" in drive '+("RL"+a.qb),a.ob||e),this.I&&be(this.I)):a.Ta=!1;a.ob&&(a.ob=!1,--this.G||G(this));Li(this,a.qb)};
function Pi(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Li(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ta?Ri:c.va,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Ui(a,b,c){var d=a.g[b];if(d.ga||!1===c)d.Ma="",d.va="",d.ga=null,d.Ta=!1,c||(a.N("Drive RL"+b+" unloaded",c),Li(a,b))}
function Ni(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.C=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.qb=b;d.name=c.jb;d.pb=d.Ta=!1;d.W=512;d.ca=2;d.Z=40;d.ma=256;d.ac=!0;d.Id=0;d.Gd=0;d.xc=1;d.ad=d.Z;d.Ac=d.ma;d.Nd=0;d.ff=null;d.ga||(d.va="");d.status=29}return!0}
h.Uc=function(a,b,c,d,e,f,g){var k=0;a=a.ga;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}jc(this.D,ye(this.f,f),n|r<<8);if(Zc(this.D)){k=8192;break}f+=2;e--;if(m>=a.ma&&(l=null,++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f,g){var k=0;a=a.ga;var l=null,m;a||(k=5120,e=0);for(;e;){var n=lc(this.D,ye(this.f,f));if(Zc(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.ma&&(l=null,++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ad=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&-49|f>>12&48;this.v=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.He=function(){return this.b&65535};
h.Qf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ga,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.W?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Uc;case 10:c||(c="WRITE"),b||(b=this.Cd),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.W||k>=e.Z?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.C,H(this)&&I(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+q(e)+"--"+q(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Ad.bind(this)))}a&&(this.b|=129,this.b&64&&ad(this.f,this.cb))}};h.Fe=function(){return this.C};h.Of=function(a){this.C=a&65534};h.Ie=function(){return this.i};h.Rf=function(a){this.i=a};h.Je=function(){return this.w};h.Sf=function(a){this.w=a};h.Ge=function(){return this.v};
h.Pf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Qi="",Ri="?",Si="??",Wi={},Oi=(Wi[63744]=[null,null,qd.prototype.He,qd.prototype.Qf,"RLCS"],Wi[63746]=[null,null,qd.prototype.Fe,qd.prototype.Of,"RLBA"],Wi[63748]=[null,null,qd.prototype.Ie,qd.prototype.Rf,"RLDA"],Wi[63750]=[null,null,qd.prototype.Je,qd.prototype.Sf,"RLMP"],Wi[63752]=[null,null,qd.prototype.Ge,qd.prototype.Pf,"RLBE"],Wi);
function Xi(a){A.call(this,"Debugger",a);this.ua=a.base||16;this.aa=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(Xi,A);Xi.prototype.fd=function(){return-1};Xi.prototype.gd=function(){};
function Yi(a,b,c,d){if(c)if(b){0>a.v&&a.j.length&&(a.v=0);if(0>a.v||b!=a.j[a.v])a.j.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.j[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ua(b.substring(c,f))),c=f+1}}return a}
function Zi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
h.toJSON=function(){var a;a=0;for(var b;b=Yh(this,a++);)ai(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function ai(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Sh=0;function R(a){A.call(this,"RK11",a,0,65536);this.G=bi(this,a.autoMount);this.C=0;this.i=Array(8);this.H=!Ma("Mobi")&&window&&"FileReader"in window;this.eb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.J=0}p(R,A);
function bi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
h.oa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&ci(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&di(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.N("Unable to boot the selected drive"):a.ha?(ie(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.i&&((a=d.i[la(a.value,10)||0])?(a=a.ha)?(a=Pa($h(a),a.ec.replace(".json",".img")),y(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;di(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.qa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;if(a=bi(this,Rd(this.I,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);xi(this);this.eb=bd(this.f,144,5,65536);Ob(b,this,zi);Qb(b,this.reset.bind(this));Ai(this,"None",Bi,!0);this.H&&Ai(this,"Local Disk",Ci);Ai(this,"Remote Disk",Di);Ei(this)||H(this)};
h.ra=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.I.w){for(a=0;a<this.i.length;a++)Fi(this,a,!0);Ei(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";ci(this,0)}}return!0};h.Aa=function(a){return a?this.save():!0};h.reset=function(){xi(this)};h.save=function(){return(new ke(this)).data()};
h.restore=function(a){return xi(this,a[0])};function Ei(a,b){b||(a.C=0);for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Gi(a,g,f,e,!0)&&b&&H(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.C}
function di(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.N("Unable to load the selected drive");else if(c)if(c==Ci)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Di){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Gi(a,e,b,c,!1,d)}else Fi(a,e)}
function Gi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.wa.toLowerCase()!=d.toLowerCase()&&(g++,Fi(a,b,!0),k.qb?a.N("RK11 busy"):(k.qb=!0,e&&(k.pb=!0,a.C++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Vh(new Rh(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.rb)),b=null);b?(a.ha=b,a.Ma=c,a.wa=d,this.N('Loaded disk "'+c+'" in drive '+("RK"+a.rb),a.pb||e),this.I&&ae(this.I)):a.Ua=!1;a.pb&&(a.pb=!1,--this.C||H(this));ci(this,a.rb)};
function Ai(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ci(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Ci:c.wa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Fi(a,b,c){var d=a.i[b];if(d.ha||!1===c)d.Ma="",d.wa="",d.ha=null,d.Ua=!1,c||(a.N("Drive RK"+b+" unloaded",c),ci(a,b))}
function xi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.J=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=203;d.ca=2;d.aa=12;d.na=512;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.na;d.Pd=0;d.hf=null;d.ha||(d.wa="");d.status=2368}return!0}
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ha;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(ic(this.D,xe(this.f,f),u|t<<8),Yc(this.D))){m=1024;break}r>=a.na&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ha;var n=null,r;a||(m=128,e=0);for(;e;){var u=kc(this.D,xe(this.f,f));if(Yc(this.D)){m=1024;break}if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=32;break}if(u!=(t|E<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.na&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.zd=function(a,b,c,d,e,f){this.v=f&65535;this.b=this.b&-49|f>>12&48;this.w=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Hi(this);return!0};function Hi(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),I(a)&&J(a,a.type+": ERROR: "+q(a.g)))}h.Ee=function(){return this.L};h.Nf=function(){};h.Fe=function(){return this.g};h.Of=function(){};h.Be=function(){return this.b&61438};
h.Kf=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:I(this)&&J(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Vc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.Bd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.w&65535;n=(this.b&48)<<12|this.v;r=this.b&2048?0:2;I(this)&&J(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+q(n)+"--"+q(n+(m<<1)),!0,!0);if(g>=f.W){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;I(this)&&J(this,this.type+": SEEK("+g+")",!0);g<f.W?this.b|=8192:this.g|=64;break;case 12:I(this)&&J(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:I(this)&&J(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ha?128:0)|e<<13|this.j&15;Hi(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&$c(this.f,this.eb))}};h.Ge=function(){return this.w};h.Pf=function(a){this.w=a};h.Ae=function(){return this.v};h.Jf=function(a){this.v=a};h.Ce=function(){return this.j};h.Lf=function(a){this.j=a};h.De=function(){return this.J};h.Mf=function(a){this.J=a};
var Bi="",Ci="?",Di="??",Ii={},zi=(Ii[65280]=[null,null,R.prototype.Ee,R.prototype.Nf,"RKDS"],Ii[65282]=[null,null,R.prototype.Fe,R.prototype.Of,"RKER"],Ii[65284]=[null,null,R.prototype.Be,R.prototype.Kf,"RKCS"],Ii[65286]=[null,null,R.prototype.Ge,R.prototype.Pf,"RKWC"],Ii[65288]=[null,null,R.prototype.Ae,R.prototype.Jf,"RKBA"],Ii[65290]=[null,null,R.prototype.Ce,R.prototype.Lf,"RKDA"],Ii[65294]=[null,null,R.prototype.De,R.prototype.Mf,"RKDB"],Ii);
function pd(a){A.call(this,"RL11",a,0,131072);this.H=Ji(this,a.autoMount);this.G=0;this.g=Array(4);this.J=!Ma("Mobi")&&window&&"FileReader"in window;this.eb=null;this.b=this.C=this.i=this.j=this.w=this.v=0}p(pd,A);function Ji(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=pd.prototype;
h.oa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Ki(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Li(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.N("Unable to boot the selected drive"):a.ha?(ie(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.J){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ha)?(a=Pa($h(a),a.ec.replace(".json",".img")),y(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.J)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Li(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.qa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;if(a=Ji(this,Rd(this.I,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Mi(this);this.eb=bd(this.f,112,5,131072);Ob(b,this,Ni);Qb(b,this.reset.bind(this));Oi(this,"None",Pi,!0);this.J&&Oi(this,"Local Disk",Qi);Oi(this,"Remote Disk",Ri);Si(this)||H(this)};
h.ra=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.I.w){for(a=0;a<this.g.length;a++)Ti(this,a,!0);Si(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Ki(this,0)}}return!0};h.Aa=function(a){return a?this.save():!0};h.reset=function(){Mi(this)};h.save=function(){return(new ke(this)).data()};
h.restore=function(a){return Mi(this,a[0])};function Si(a,b){b||(a.G=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Ui(a,g,f,e,!0)&&b&&H(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.G}
function Li(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if(c==Qi)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Ri){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ui(a,e,b,c,!1,d)}else Ti(a,e)}
function Ui(a,b,c,d,e,f){var g=-1,k=a.g[b];k.wa.toLowerCase()!=d.toLowerCase()&&(g++,Ti(a,b,!0),k.qb?a.N("RL11 busy"):(k.qb=!0,e&&(k.pb=!0,a.G++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Vh(new Rh(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.rb)),b=null);b?(a.ha=b,a.Ma=c,a.wa=d,this.N('Loaded disk "'+c+'" in drive '+("RL"+a.rb),a.pb||e),this.I&&ae(this.I)):a.Ua=!1;a.pb&&(a.pb=!1,--this.G||H(this));Ki(this,a.rb)};
function Oi(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Ki(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Qi:c.wa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Ti(a,b,c){var d=a.g[b];if(d.ha||!1===c)d.Ma="",d.wa="",d.ha=null,d.Ua=!1,c||(a.N("Drive RL"+b+" unloaded",c),Ki(a,b))}
function Mi(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.C=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=512;d.ca=2;d.aa=40;d.na=256;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.na;d.Pd=0;d.hf=null;d.ha||(d.wa="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ha;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}ic(this.D,xe(this.f,f),n|r<<8);if(Yc(this.D)){k=8192;break}f+=2;e--;if(m>=a.na&&(l=null,++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ha;var l=null,m;a||(k=5120,e=0);for(;e;){var n=kc(this.D,xe(this.f,f));if(Yc(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.na&&(l=null,++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&-49|f>>12&48;this.v=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Je=function(){return this.b&65535};
h.Sf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ha,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.W?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.W||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.C,I(this)&&J(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+q(e)+"--"+q(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Cd.bind(this)))}a&&(this.b|=129,this.b&64&&$c(this.f,this.eb))}};h.He=function(){return this.C};h.Qf=function(a){this.C=a&65534};h.Ke=function(){return this.i};h.Tf=function(a){this.i=a};h.Le=function(){return this.w};h.Uf=function(a){this.w=a};h.Ie=function(){return this.v};
h.Rf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Pi="",Qi="?",Ri="??",Vi={},Ni=(Vi[63744]=[null,null,pd.prototype.Je,pd.prototype.Sf,"RLCS"],Vi[63746]=[null,null,pd.prototype.He,pd.prototype.Qf,"RLBA"],Vi[63748]=[null,null,pd.prototype.Ke,pd.prototype.Tf,"RLDA"],Vi[63750]=[null,null,pd.prototype.Le,pd.prototype.Uf,"RLMP"],Vi[63752]=[null,null,pd.prototype.Ie,pd.prototype.Rf,"RLBE"],Vi);
function Wi(a){A.call(this,"Debugger",a);this.va=a.base||16;this.da=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(Wi,A);Wi.prototype.hd=function(){return-1};Wi.prototype.jd=function(){};
function Xi(a,b,c,d){if(c)if(b){0>a.v&&a.j.length&&(a.v=0);if(0>a.v||b!=a.j[a.v])a.j.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.j[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ua(b.substring(c,f))),c=f+1}}return a}
function Yi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function $i(a,b,c){var d;if(b){b=aj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ua(n);if(!n){f=!0;break}n=bj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&cj[n]<cj[l[l.length-1]]&&Zi(k,l,1);l.push(n);b=b.substr(r+u)}Zi(k,l)&&1==k.length||(f=!0);f?c&&a.u("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&dj(a,null,
d))}return d}function aj(a,b){for(var c,d=a.aa?"(":"{",e=a.aa?")":"}",f=new RegExp(a.aa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=$i(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function bj(a,b,c,d){var e;null!=b?(e=a.fd(b),0<=e?e=a.gd(e):(e=a.T[b],null==e&&(e=la(b,a.ua))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=ma(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function ej(a,b){if(b)return dj(a,b,a.T[b]);var c=0;for(b in a.T)dj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.ua){case 8:a=q(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=v(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function fj(a){Xi.call(this,a);this.Ba=!1;this.aa=!0;this.H=V();this.Aa=V();this.O=V();this.C=[];this.g=this.L=this.G=[];gj(this);this.R=this.Y=0;this.i=[];this.oa=void 0;hj(this);this.F=this;this.ka={};this.fa=this.ya=0;this.S=null;this.M=[];ij(this,a.messages);this.ta=a.commands;this.Ea=jj;this.xa=[];this.J=0;this.Fa=this.sa=null;this.w=this.Da=this.Ca=this.X=this.la=0;this.b=this.V=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return Xd(b,a)}):void 0===global[B]&&(global[B]=
function(a){return Xd(b,a)})}p(fj,Xi);function kj(a){a=a&&a.K;null==a&&(a=-1);return a}function V(a,b,c){return{K:a||null,Ha:b||!1,Pa:!1,ua:c}}h=fj.prototype;h.Ec=function(a,b){a.K=b;a.Pa=!1;a.ua=void 0;return a};function lj(a){return[a.K,a.Ha,a.ua,a.Pa,a.dc]}function mj(a,b){var c=V(b[0],b[1],b[2]);c.Pa=b[3];b[4]&&(c.Zc=Yi(a,c.dc=b[4]));return c}
h.pa=function(a,b,c,d){this.D=b;this.I=a;this.f=c;this.b=a.i;(a=Sd(a,"messages"))&&ij(this,a);1145>this.f.xa&&(this.xa=nj);ed(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=kj(oj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):(c=n.type,m=Qc[c],n&&d.u(v(n.id,8)+" %"+v(e<<d.D.g,8)+
" %"+v(n.K,8)+" "+w(n.Gb)+" "+w(n.size)+" "+m),c!=sd&&(c=-1),m=0);a+=d.D.j;e++}}});G(this)};
h.na=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.B[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Xd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.B[b]=c,Ra(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";Xd(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,Ra(c,function(a){var b=!1;ub(d,!0)||(vb(d,!0),b=dc(d,a?1:0,null),vb(d,!1));return b}),!0}return!1};function Wd(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Lc=function(a,b){var c=255,d=kj(a);-1!==d&&(a.Ha||65535<d?(c=this.D,d=ye(this.f,d),c.G=!1,c.ha++,d=Sc(c,d).j(d&c.i,d),c.ha--):(c=this.f,c.la++,d=c.D.Ic(kc(c,d,3)),c.la--),c=d,b&&pj(a,b));return c};
h.Na=function(a,b){var c=65535,d=kj(a);-1!==d&&(c=a.Ha||65535<d?lc(this.D,ye(this.f,d)):mc(this.f,d),b&&pj(a,b));return c};h.Mc=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ha||65535<d)Tc(this.D,ye(this.f,d),b);else{var e=this.f;e.la++;e.D.Jc(kc(e,d,5),b);e.la--}c&&pj(a,c);L(this.I,-1)}};h.wd=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ha||65535<d)jc(this.D,ye(this.f,d),b);else{var e=this.f;e.la++;e.D.Kb(kc(e,d,4),b);e.la--}c&&pj(a,c);L(this.I,-1)}};
function oj(a,b,c){var d;c=(c?a.H:a.Aa).K;var e,f;if(void 0!==b){b=aj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ja){var m=+k;if(c.Ja[m][4]==l){k=c.C+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.C.length;c++)if(l=a.C[c].da[d],null!=l){k=l.o;break}null!=k&&(g=V(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=$i(a,b,void 0)}null!=c&&(d=V(c,e,f));return d}
function qj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Zc=Yi(a,b.dc=c[2]))}function pj(a,b){null!=a.K&&(a.K+=b||1)}function rj(a,b){return(b.Ha?"%":"")+O(a,b.K)}
function ij(a,b){a.F=a;a.fa=a.ya=536870912;a.S=null;a.M=[];b=Yi(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Eb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.fa|=Eb[c],a.u(c+" messages enabled"))}}function ed(a,b,c){for(var d in Eb)if(b==Eb[d]){a.ka[d]=c;break}}
h.fd=function(a){a=a.toUpperCase();var b=sj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function tj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.gd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.oa[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.b;switch(a){case uj:b=nd(this.f);break;case vj:b=c.ab;break;case wj:b=c.R;break;case xj:b=c.ya&65280;break;case yj:b=hd(c);break;case zj:b=jd(c);break;case Aj:b=kd(c);break;case Bj:b=c.T;break;case Cj:d&&(b=d.ra);break;case Dj:d&&(b=d.sb);break;case Ej:d&&qc(d)&&(b=d.Ua)}}return b};
h.message=function(a,b){b&&(a+=" @"+rj(this,V(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.fa&1073741824)this.M.push(a);else{var c;if(this.fa&-2147483648&&this.f&&(c=this.f.A.U)||ub(this,!0))Fj(this),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,ce(a),a.mb=0,a.I&&L(a.I,void 0))}};
function hj(a){var b;if(!gf(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Gj);for(b=0;b<a.i.length;b++)a.i[b]=V();a.R=0;a.u("instruction history buffer allocated")}}function Hj(a,b,c){if(!Ij(a,c))return!1;cc(a.f,b);return!0}
function dc(a,b,c,d){if(!Ij(a))return!1;null===c&&(c=!a.sa||"tr"==a.sa);a.w=0;b||gf(a)&&hf(a,a.f.g[7],0);try{b=de(a.f,b);var e=a.f.$b(b);0<e&&(ec(a.f,e),a.w+=e,fc(a.f,e,!0),gc(a.f,e),a.X++)}catch(f){"number"!=typeof f&&(a.w=0,rb(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),L(a.I,-1));Vd(a,c||!1);return 0<a.w}function Fj(a,b){a.f&&J(a.f,b)}
function Vd(a,b){if(a.Ba){void 0===b&&(b=!0);var c;c=a.f;if(c=c.i&128?c.Yc|c.Xc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Cb[-d]:O(a,d))+")")}a.H=V(a.f.g[7]);b&&1!=a.J?Jj(a):Kj(a)}}function Ij(a,b){var c;(c=!a.f||!tb(a.f))||(c=a.f,c.A.ea?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.U?(b||a.u("cpu busy or unavailable, command ignored"),!1):!sb(a.f)}h.qa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
h.za=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){hj(this);this.X=0;this.S=null;this.w=0;this.H=V(this.f.g[7]);this.A.U=!1;Lj(this);a||Vd(this)};h.save=function(){var a=new le(this);a.set(0,lj(this.H));a.set(1,lj(this.O));a.set(2,[this.j,this.P,this.fa]);a.set(3,this.C);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=mj(this,a[b++]),this.O=mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.fa|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.J||this.u("running");this.A.U=!0;this.Ca=a;this.Da=b};
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Da;if(!this.J){b="stopped";if(this.w){a-=this.Ca;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";gf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else H(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}Vd(this,!0);Wd(this);Lj(this,this.f.g[7]);this.S=null}};function gf(a){return 1<a.g.length||!!a.Y}
function hf(a,b,c){var d=-1;c||(d=mc(a.f,b))||(a.f.P&65535)!=b||(b=qe(a.f,2));if(0<c&&(a.Y&&!--a.Y||Mj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=mc(a.f,b)),65535!=(d&65535)&&(a.Ec(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function ng(a){var b=a.f;if(b.A.U)throw ke(b,a.f.P&65535),Fj(a),-1;return!1}function Md(a,b,c){Mj(a,b,c||1,a.L)&&Fj(a,!0)}function Nd(a,b,c){Mj(a,b,c||1,a.G)&&Fj(a,!0)}
function gj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=kj(c),c.Ha?(c=a.D,Ld(c.b[d>>>c.g],!1)):Be(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=kj(c),c.Ha?(c=a.D,Ld(c.b[d>>>c.g],!0)):Be(a.f,!0);a.G=["bw"];a.la=0}
h.nb=function(a,b,c){var d=!0;c||Nj(this,a,b,!1,!0);if(a!=this.g){var e=kj(b);if(-1===e)this.u("invalid address: "+rj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ha=!0);if(b.Ha){var g=this.D;g.b[e>>>g.g].nb(e&g.i,f)}else e=this.f,(f?e.Ub++:e.Tb++)||ie(e)}}d&&(a.push(b),c?b.Pa=!0:(Oj(this,a,a.length-1,"set"),hj(this)));return d};
function Nj(a,b,c,d,e){var f=!1;c=kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==kj(k)&&(!d||k.Pa)){f=!0;k.Pa||e||Oj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ha?(d=a.D,Ld(d.b[c>>>d.g],b)):Be(a.f,b));k.Pa||hj(a);break}}return f}function Pj(a,b){for(var c=1;c<b.length;c++)Oj(a,b,c);return b.length-1}function Oj(a,b,c,d){c=b[c];a.u(b[0]+" "+rj(a,c)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}
function Lj(a,b){if(void 0!==b)Mj(a,b,1,a.g,!0),a.J=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Pa){if(!Nj(a,a.g,c,!0))break;b=0}}}
function Mj(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Pa)for(var l=kj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Pa&&(Nj(a,d,k,!0),e=!0);if(n=k.Zc){for(var f=!1,r=0;r<n.length;r++)if(!Qj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Oj(a,d,g,"hit");break}}}a.la--;return f}
function Rj(a,b,c,d){var e=V(b.K),f=a.Na(b,2),g,k;for(k in a.Ea)if(g=a.Ea[k][f&k])break;g||(g=Sj);var l=g[0];0<=a.xa.indexOf(l)&&(g=Sj,l=g[0]);var m=k="",n=Tj[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var E=u,u=b,z="",C=E&Uj;if(C==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(C==Vj)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(C==Wj)z=O(t,f&7,1);else if(C==Xj)z=O(t,f&63,1);else if(C==Yj)z=O(t,f&255,1);else if(C=f&E,E&Zj&&(C>>=6,E>>=6),E&Y){var E=null,F=C&
ak;switch(C&bk){case 0:z=tj(F);break;case 8:z="@"+tj(F);E=ck(t,t.f.g[F]);break;case 16:7>F?z="("+tj(F)+")+":(C=t.Na(u,2),z="#"+O(t,C,0,!0));break;case 24:7>F?z="@("+tj(F)+")+":(C=t.Na(u,2),z="@#"+O(t,C,0,!0),E=ck(t,C));break;case 32:z="-("+tj(F)+")";break;case 40:z="@-("+tj(F)+")";break;case 48:C=t.Na(u,2);z=O(t,C,0,!0)+"("+tj(F)+")";7==F&&(z=O(t,C=C+u.K&65535),E=ck(t,C));break;case 56:C=t.Na(u,2),z="@"+O(t,C)+"("+tj(F)+")",7==F&&(z="@"+O(t,C=C+u.K&65535),E=ck(t,mc(t.f,C)))}E&&(z=[z,E])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=rj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Na(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ta(f,24);g+=ta(n,5);k&&(g+=" "+k);if(c||m)g=ta(g,60)+";"+(c||""),g=a.f.A.xb?g+("cycles="+Yd(a.f).toString()+" cs="+v(a.f.Pb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function ck(a,b){b=ze(a.f,b)[0];b>=a.f.hb&&b<a.D.C&&(b=b-a.f.hb+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ja[b&Yc])&&(a=b[4]);return a}function dk(a,b){switch(b){case "N":a=pe(a.f);break;case "Z":a=oe(a.f);break;case "V":a=ne(a.f);break;case "C":a=me(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=tj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.oa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.X[b-16]);else switch(b){case uj:c="PS="+O(a,nd(d));break;case vj:c="PI="+O(a,d.ab);break;case wj:c="ER="+O(a,d.R);break;case xj:c="SL="+O(a,d.ya&65280);break;case yj:c="M0="+O(a,hd(d));break;case zj:c="M1="+O(a,jd(d));break;case Aj:c="M2="+O(a,kd(d));break;case Bj:c="M3="+O(a,d.T);break;case Cj:a.b&&(c="AR="+O(a,a.b.ra,3));break;case Dj:a.b&&(c="DR="+
O(a,a.b.sb));break;case Ej:a.b&&qc(a.b)&&(c="SR="+O(a,a.b.Ua,3))}c&&(c+=" ");return c}function ek(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,uj)+Z(a,vj)+Z(a,xj);d+=dk(a,"T")+dk(a,"N")+dk(a,"Z")+dk(a,"V")+dk(a,"C");b&&(b=d,c=""+(Z(a,yj)+Z(a,zj)),c+=Z(a,Aj)+Z(a,Bj)+Z(a,wj),c=c+"\n"+(Z(a,Ej)+Z(a,Cj)+Z(a,Dj)),d=b+("\n"+c));return d}h.bd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function nh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=xa(n,l,a.bd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({uh:b,K:c,Od:d,da:e,$c:f})}function fk(a,b,c){var d=[],e=kj(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.K>>>0,k=f.Od;if(e>=g&&e<g+k){e=xa(f.$c,[e-g],a.bd);0<=e?gk(a,b,e,d):c&&(e=~e,gk(a,b,e-1,d),gk(a,b,e,d));break}}return d}
function gk(a,b,c,d){var e={},f=a.C[b].$c,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].da[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function hk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ej(a)||a.u("no variables"),!0;if(!c[2])return ej(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=$i(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function ik(a,b,c){var d=null;if(b=oj(a,b,!0)){var e=fk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+w(f)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+w(f)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
function Jj(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=$i(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":ke(e,
g);a.H=V(e.g[7]);break;case "N":e.J=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.G=g?65536:0;break;case "PS":od(e,g);break;case "PI":md(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.ya=g|255;break;case "M0":id(e,g);d=!0;break;case "M3":ld(e,g);d=!0;break;case "AR":a.b&&(d=a.b,nc(d,d.ra=g));d=!0;break;case "DR":a.b&&(d=a.b,ic(d,d.sb=g));d=!0;break;case "SR":if(a.b&&qc(a.b)){oc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.u("unknown register: "+f);return}L(a.I);a.u("updated registers:")}}a.u(ek(a,d));c&&(a.H=V(e.g[7]),Kj(a,rj(a,a.H)))}}function jk(a,b){b=ua(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):dj(a,null,c[2].charCodeAt(0)):$i(a,b,!0)}
function kk(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=bj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.sa=b;Qa(c,function(){return vb(a,!0)&&dc(a,e,d,!1)},function(){a.b&&a.b.stop();L(a.I,-1);vb(a,!1)})}}
function Kj(a,b,c,d){if(b=oj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=bj(a,c.substr(1)),null!=c&&(d=c);else{d=oj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ub(a,!1)||a.J?a.w:null;var g=null!=f?"cycles":null,k=fk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Rj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
function Qj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+rj(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(tb(a)&&0<b.length){a.P&&(b="a "+rj(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
oj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.u("begin assemble at "+rj(a,r)),a.P=!0,L(a.I);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Mc(r,u[t],1);a.u(Rj(a,a.O))}}break;case "b":a:{var E=g[0],z=g[1],C=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
else{var F=E.charAt(1);if("l"==F){var fb;fb=0+Pj(a,a.g);fb+=Pj(a,a.L);(fb+=Pj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.Y=bj(a,z),a.u("break after "+a.Y+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var W=V();if("*"!=z&&(W=oj(a,z,!0),!W))break a;"c"==F?null==W.K?(gj(a),a.u("all breakpoints cleared")):Nj(a,a.g,W)||Nj(a,a.L,W)||Nj(a,a.G,W)||a.u("breakpoint missing: "+rj(a,W)):null!=W.K&&(qj(a,W,C),"p"==F?a.nb(a.g,W):"r"==F?a.nb(a.L,W):"w"==F?a.nb(a.G,W):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Oa&&(a.Oa.value="");break;case "d":a:{var Gb,Ua=g[0],Ga=g[1],Va=g[2],Kk=g[3];if("?"==Ga){var Hb="";for(Gb in Eb)a.ka[Gb]&&(Hb&&(Hb+=","),Hb+=Gb);Hb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");
Hb.length&&a.u("dump extension commands:\n\t"+Hb)}else if("state"==Ga){var Me=lk(a.I,!0);"console"==Va?console.log(Me):(a.Oa&&(a.Oa.value=""),Me&&a.u(Me))}else if("symbols"==Ga)for(var Ne=0;Ne<a.C.length;Ne++){var Oe=a.C[Ne],Ib;for(Ib in Oe.da)if("."!=Ib.charAt(0)){var gi=Oe.da[Ib].o;if(void 0!==gi){var hi=Oe.da[Ib].l;hi&&(Ib=hi);a.u(O(a,gi)+" "+Ib)}}}else{if("d"==Ua){for(Gb in Eb)if(g[1]==Gb){var ii=a.ka[Gb];ii?(g.shift(),g.shift(),ii(g)):a.u("no dump registered for "+Ga);break a}Ga||(Ua=a.Fa||"dw")}else a.Fa=
Ua;if("dh"==Ua){var ji=Ga,ki=Va,li="",mi=0,wa=a.R,Ha=a.i;if(Ha.length){var ra=+ji||a.oa,sc=+ki||10;isNaN(ra)?ra=sc:li="more ";ra>Ha.length&&(a.u("note: only "+Ha.length+" available"),ra=Ha.length);wa-=ra;0>wa&&(null==Ha[Ha.length-1].K?(ra=wa+ra,wa=0):wa+=Ha.length);var Pe=[];"call"==ki&&(sc=1E5,Pe=["CALL"]);for(void 0!==ji&&a.u(ra+" instructions earlier:");0<sc&&wa!=a.R;){var ni=Ha[wa++];if(null==ni.K)break;var tc=V(ni.K),Lk=ra--,oi=Rj(a,tc,"history",Lk);(!Pe.length||0<=oi.indexOf(Pe[0]))&&a.u(oi);
tc.zc&&(wa+=tc.zc,sc-=tc.zc,ra-=tc.zc);wa>=Ha.length&&(wa=0);a.oa=ra;mi++;sc--}}mi||(a.u("no "+li+"history available"),a.oa=void 0)}else{var ga=oj(a,Ga);if(ga)if("da"==Ua){var Qe=ga.Ha||65535<ga.K,K=ze(a.f,ga.K||0,Qe);a.u(ta("",Qe?12:19)+ma(ga.K,Qe?22:17,3)+" "+q(ga.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ma(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+na(K[1])+"]: "+ma(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
ma(K[1],13,3)+" "+q(K[1],8)),a.u("+ "+mk[K[2]]+"PAR"+K[3]+": "+ma(K[4],22,3)+" "+q(K[4],8)),a.u("& MMUMASK: "+ma(K[5],22,3)+" "+q(K[5],8)),a.u("= PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8)))}else{var hb=0,Re="ds"==Ua;if(Va){if("l"==Va.charAt(0))Va=Va.substr(1)||Kk,hb=bj(a,Va);else{var pi=oj(a,Va);pi&&(hb=pi.K-ga.K)}0>hb&&(hb=0);65536<hb&&(hb=65536)}var Nk=a.ua;ga.ua&&(a.ua=ga.ua);for(var ib="dd"==Ua?4:"db"==Ua?1:2,wd=ib*hb||128,Se=Re?16:a.ua,Ok=(wd+Se-1)/Se|0||1,jb="";Ok--&&0<wd;){for(var kb=
"",Te="",Ga=rj(a,ga),xd=Se,uc=0,vc=0;0<xd&&0<wd;){var Jb=1,yd=1==ib?a.Lc(ga,Jb):a.Na(ga,Jb=2),uc=uc|yd<<(vc<<3),vc=vc+Jb;vc==ib&&(Re?(kb&&(kb+=","),kb+="0x"+v(uc,2*ib)):(kb+=O(a,uc,ib),kb+=1==ib?9==xd?"-":" ":" "),uc=vc=0);xd-=Jb;for(wd-=Jb;1==ib&&Jb--;)var Ue=yd&255,Te=Te+(32<=Ue&&128>Ue?String.fromCharCode(Ue):"."),yd=yd>>8}jb&&(jb+="\n");jb=Re?jb+(kb+","):jb+(Ga+": "+kb+(0==xd?" "+Te:""))}jb&&a.u(jb);a.Aa=ga;a.ua=Nk}}}}break;case "e":if("else"==g[0])break;var Kb,Ve,We,Xe,Ye=g[0],Ze=g[1];"eb"==
Ye?(Kb=1,Ve=255,We=a.Lc,Xe=a.Mc):"e"==Ye||"ew"==Ye?(Kb=2,Ve=65535,We=a.Na,Xe=a.wd):Ze=null;if(null==Ze)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var zd=oj(a,Ze);if(zd)for(var Ad=2;Ad<g.length;Ad++){var wc=$i(a,g[Ad]);if(void 0===wc){a.u("unrecognized value: "+g[Ad]);break}wc&~Ve&&a.u("warning: "+v(wc)+" exceeds "+Kb+"-byte value");a.u("changing "+rj(a,zd)+(H(a,16)?"":" from "+O(a,We.call(a,zd),Kb))+" to "+O(a,wc,
Kb));Xe.call(a,zd,wc,Kb)}}break;case "g":a:{var qi=g[1],Pk=b;if(void 0!==qi){var $e=oj(a,qi,!0);if(!$e)break a;qj(a,$e,Pk);a.nb(a.g,$e,!0)}Hj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),Fj(a)):ub(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var af;var xc=b.substr(2),xc=ua(xc);$i(a,xc)?(c||a.u("true: "+xc),af=!0):(c||a.u("false: "+xc),af=!1);af||(d=!1);break}f=!0;break;case "k":var Qk=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var bf=0,cf=V(),yc=V(a.f.g[6]);for(a.u("stack trace for "+rj(a,yc));10>bf;){for(var lb=null,Rk=256;65536>yc.K>>>0;){cf.K=a.Na(yc,2);if(null==yc.K||!Rk--)break;if(!(cf.K&1)){for(var Sk=a,Bd=cf,ri=null,zc=Bd.K,si=zc,df=1;6>=df&&zc;df++){if(2<df){Bd.K=zc;var Cd=Rj(Sk,Bd);if(0<=Cd.indexOf("JSR")){var ti=Cd.indexOf(" ");if(zc+(Cd.indexOf(" ",ti+1)-ti-1)/2==si){ri=Cd;break}}}zc-=2}Bd.K=si;if(lb=ri)break}}if(!lb||null==lb)break;var ui=null;if("ks"==Qk){var vi=lb.match(/[0-9A-F]+$/);vi&&(ui=ik(a,vi[0]))}lb=
ta(lb,50)+" ;"+(ui||"stack="+rj(a,yc));a.u(lb);bf++}bf||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){ik(a,g[1],!0);break}f=!0;break;case "m":a:{var Ia,Ja=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Wa=0;if("all"==N)Wa=1879046143,N=null;else if("on"==N)Ja=!0,N=null;else if("off"==N)Ja=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ia in Eb)if(N==Ia){Wa=Eb[Ia];Ja=!!(a.fa&Wa);break}if(!Wa){a.u("unknown message category: "+N);break a}}if(Wa)if("on"==g[2])a.fa|=
Wa,Ja=!0;else if("off"==g[2]&&(a.fa&=~Wa,Ja=!1,1073741824==Wa)){for(var wi=1E3<=a.M.length?a.M.length-1E3:0;wi<a.M.length;)a.u(a.M[wi++]);a.M=[]}}var Tk=0,Ac="";for(Ia in Eb)if(!N||N==Ia){var Uk=!!(a.fa&Eb[Ia]);if(null===Ja||Ja==Uk)Ac&&(Ac+=","),++Tk%10||(Ac+="\n\t"),"key"==Ia&&(Ia="keys"),Ac+=Ia}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(Ac||"none"));hj(a)}break;case "p":if("print"==
g[0]){jk(a,b.substr(5));break}var Vk=g[0];if("?"==g[1])a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else{var xi="pr"==Vk?1:0,yi=1+xi;if(a.J)a.u("step in progress");else{var Dd=V(a.f.g[7]),Lb=a.Na(Dd);3==Lb||4==Lb||34816==(Lb&65280)||32256==(Lb&65024)||35072==(Lb&65280)?(a.J=yi,pj(Dd,2)):2048==(Lb&65024)&&(Rj(a,Dd),a.J=yi);a.J?(a.nb(a.g,Dd,!0),Hj(a)||(a.I&&be(a.I),a.J=0)):kk(a,xi?"tr":"t")}}break;case "r":if("reset"==b){a.I&&a.I.reset();
break}Jj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Bc=+g[2];if(8==Bc||10==Bc||16==Bc)a.ua=Bc;else{a.u("invalid base: "+Bc);break}}a.u("default base: "+a.ua);break;case "cs":var Cc;void 0!==g[3]&&(Cc=+g[3]);switch(g[2]){case "int":a.f.zb=Cc;break;case "start":a.f.Qb=Cc;break;case "stop":a.f.Bb=Cc;break;default:a.u("unknown cs option");break a}void 0!==Cc&&Ud(a.f);a.u("checksums "+(a.f.A.xb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zd(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
a.u("target speed: "+(a.f.gb.toFixed(2)+"Mhz")+" ("+a.f.Ya+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":kk(a,g[0],g[1]);break;case "u":Kj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){hk(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((xb||"PDP11")+" version 1.31.1 ("+a.f.xa+",RELEASE"+(zb?",TYPEDARRAYS":yb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){jk(a,b.substr(1));break}var ef="commands:",ff;for(ff in nk)ef+="\n"+ta(ff,9)+nk[ff];gf(a)||(ef+="\nnote: history disabled if no exec breakpoints");a.u(ef);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Ai){a.u("debugger error: "+(Ai.stack||Ai.message)),
d=!1}return d}function Xd(a,b,c){b=Yi(a,b,c);for(var d in b)if(!Qj(a,b[+d]))return!1;return!0}
var nk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Tj=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
uj=20,vj=21,wj=22,xj=23,yj=24,zj=25,Aj=26,Bj=27,Cj=28,Dj=29,Ej=30,sj={SP:6,PC:7,PS:uj,PI:vj,ER:wj,SL:xj,M0:yj,M1:zj,M2:Aj,M3:Bj,AR:Cj,DR:Dj,SR:Ej},mk="KI KD SI SD ?? ?? UI UD".split(" "),ak=7,bk=56,Y=bk|ak,Zj=4032,X=4096,Vj=8192,Wj=12288,Xj=24576,Yj=32768,Uj=61440,jj={61440:{4096:[62,Zj,Y],8192:[47,Zj,Y],12288:[18,Zj,Y],16384:[14,Zj,Y],20480:[16,Zj,Y],24576:[3,Zj,Y],36864:[63,Zj,Y],40960:[48,Zj,Y],45056:[19,Zj,Y],49152:[15,Zj,Y],53248:[17,Zj,Y],57344:[94,Zj,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,Vj]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,Yj],35072:[107,Yj]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,Xj],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,ak],152:[108,Wj]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Sj=[0],nj=[58,60,65,96,108,110,100,101,102,103,104,105,59,64],Gj=1E3;Ta(function(){for(var a=D(document,B,"debugger"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new fj(d);qb(d,c)}});
function ok(a,b,c){A.call(this,"Computer",a,0,33554432);this.A.ea=!1;this.O=null;pk(this,b);this.L=Sd(this,"autoPower",a);this.j=0;this.T=a.busWidth||a.buswidth;this.b=qk;this.H=null;this.R=this.w=this.M=this.C=this.S=!1;this.v=null;this.V=Sd(this,"url")||"";(Math.random()+.1).toString(36);this.g=rk(this);if(this.f=ob("CPU",this.id)){this.F=ob("Debugger",this.id);this.D=new Ec({id:this.kb+".bus",busWidth:this.T},this.f,this.F);var d,e=mb(this.id);if((this.i=ob("Panel",this.id))&&this.i.Oa)for(b=0;b<
e.length;b++)d=e[b],d.N=this.i.N,d.u=this.i.u,d.Oa=this.i.Oa;this.u(xb+" v1.31.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.pa&&d.pa(this,this.D,this.f,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var f;if(a=Sd(this,"state")||(f=!0,a.state))b=this.P=
a,f||(this.C=!0,this.b=qk),this.b&&(this.J=new le(this,"1.31.1"),sk(this.J)?b=null:delete this.J);!b&&this.b&&(b=tk(this))&&(this.C=!0);if(b){var g=this;Aa(b,null,!0,function(a,b,c){c?(g.G=null,g.C=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.H=b,g.S=!0);G(g)})}else G(this);this.B.power||(this.L=!0);!c&&this.L&&uk(this,this.Sb)}else y("Unable to find CPU component")}p(ok,A);
function pk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){y(d.message+" ("+c+")")}}a.O=b}function Sd(a,b,c){var d=b.toLowerCase(),d=Na(b)||Na(d);void 0===d&&a.O&&(d=a.O[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function uk(a,b,c){for(var d=mb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){uk(a,b,c)});return}}b.call(a,c)}
function vk(a,b){var c=new le(a,"1.31.1",wk);if(sk(c)&&xk(c)){var d=c.get(yk),e=b?b.get(yk):"unknown";d!=e&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=ok.prototype;
h.Sb=function(a){void 0===a&&(a=this.b||(this.H?zk:qk));if(!this.j){this.j++;var b=!1,c=!1;this.M=!1;var d=this.J||new le(this,"1.31.1");if(a==Ak)b=!0;else if(a>qk){if(sk(d,this.H)){this.v=new le(this,"1.31.1",Bk);sk(this.v)&&(Ck(this,d),a=Dk,Ek(this.v));this.v.set(yk,za());Fk(this.v);var e=this.b&&!this.C;if(a==zk||Da("Click OK to restore the previous "+xb+" machine state, or CANCEL to reset the machine.")){if(c=xk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?sk(d,g):("error"==f&&"no machine state"!=
g?(this.N("Error: "+g),"unable to verify user"==g&&(La(Gk,""),this.g=null)):this.u(f+": "+g),Ek(d),sk(d)?(c=xk(d),e=!0):c=!1))}e&&vk(this,c?d:null)}else a==Dk&&d.clear()}else vk(this);delete this.H;delete this.J}e=mb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Hk(this,g,d,b,c));b=[d,a,c];a!=Ak?uk(this,this.cd,b):this.cd(b)}};
function Hk(a,b,c,d,e){if(!b.A.ea){b.A.ea=!0;if(b.qa){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.qa(f,d)&&f&&(y("Unable to restore state for "+b.type),a.P&&!a.S?(c.clear(),a.b=qk,window&&window.location.reload()):a.M=!0,b.qa(null),e=!1)}if(!d&&b.Qc)for(a=b.Qc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.cd=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.ea=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.f&&(Hk(this,this.f,b,c,a),L(this),this.f.Ra());this.M&&(Ck(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
function Ck(a,b){if(Da("There may be a problem with your "+xb+" machine.\n\nTo help us diagnose it, click OK to send this "+xb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=xb;d.ver="1.31.1";d.url=c;d.user=a;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}}
function lk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new le(a,"1.31.1"),g=new le(a,"1.31.1",wk),k=za();g.set(yk,k);f.set(yk,k);f.set(Ik,"1.31.1");f.set(Jk,window?window.location.href:null);f.set(Mk,window?window.navigator.userAgent:"");a.f&&a.f.za&&(c&&J(a.f),d=a.f.za(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.ea=!1,!1===d&&(e=null)));for(var k=mb(a.id),l=0;l<k.length;l++){var m=k[l];m.A.ea&&(m.za&&(d=m.za(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.ea=!1,!1===d&&(e=null)))}e&&
(c?(k=d=!1,b?(a.g&&Wk(a,a.g,f.toString()),Fk(g)&&Fk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Xk),d&&f.clear(k)):e=f.toString());c&&(a.A.ea=!1,b=a.B.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(I(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(I(this,"Resetting "+this.f.type),this.f.reset());for(var a=mb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(I(this,"Resetting "+c.type),c.reset())}L(this,-1)};
function Zi(a,b,c){var d;if(b){b=$i(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ua(n);if(!n){f=!0;break}n=aj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&bj[n]<bj[l[l.length-1]]&&Yi(k,l,1);l.push(n);b=b.substr(r+u)}Yi(k,l)&&1==k.length||(f=!0);f?c&&a.u("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&cj(a,null,
d))}return d}function $i(a,b){for(var c,d=a.da?"(":"{",e=a.da?")":"}",f=new RegExp(a.da?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Zi(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function aj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.T[b],null==e&&(e=la(b,a.va))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function cj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=ma(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function dj(a,b){if(b)return cj(a,b,a.T[b]);var c=0;for(b in a.T)cj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.va){case 8:a=q(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=v(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var bj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function ej(a){Wi.call(this,a);this.Ba=!1;this.da=!0;this.H=W();this.za=W();this.O=W();this.C=[];this.g=this.L=this.G=[];fj(this);this.R=this.Z=0;this.i=[];this.pa=void 0;gj(this);this.F=this;this.la={};this.ga=this.cd=0;this.S=null;this.M=[];hj(this,a.messages);this.ua=a.commands;this.Ea=ij;this.ya=[];this.J=0;this.Fa=this.ta=null;this.w=this.Da=this.Ca=this.X=this.ma=0;this.b=this.V=null;var b=this;window?void 0===window[D]&&(window[D]=function(a){return Wd(b,a)}):void 0===global[D]&&(global[D]=
function(a){return Wd(b,a)})}p(ej,Wi);function jj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:a||null,Ha:b||!1,Pa:!1,va:c}}h=ej.prototype;h.Fc=function(a,b){a.K=b;a.Pa=!1;a.va=void 0;return a};function kj(a){return[a.K,a.Ha,a.va,a.Pa,a.dc]}function lj(a,b){var c=W(b[0],b[1],b[2]);c.Pa=b[3];b[4]&&(c.$c=Xi(a,c.dc=b[4]));return c}
h.qa=function(a,b,c,d){this.D=b;this.I=a;this.f=c;this.b=a.i;(a=Rd(a,"messages"))&&hj(this,a);1145>this.f.ya&&(this.ya=mj);dd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=jj(nj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):(c=n.type,m=Pc[c],n&&d.u(v(n.id,8)+" %"+v(e<<d.D.g,8)+
" %"+v(n.K,8)+" "+w(n.Hb)+" "+w(n.size)+" "+m),c!=rd&&(c=-1),m=0);a+=d.D.j;e++}}});H(this)};
h.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.B[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Wd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.B[b]=c,Ra(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";Wd(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,Ra(c,function(a){var b=!1;tb(d,!0)||(ub(d,!0),b=cc(d,a?1:0,null),ub(d,!1));return b}),!0}return!1};function Vd(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=jj(a);-1!==d&&(a.Ha||65535<d?(c=this.D,d=xe(this.f,d),c.G=!1,c.ia++,d=Rc(c,d).j(d&c.i,d),c.ia--):(c=this.f,c.ma++,d=c.D.Jc(jc(c,d,3)),c.ma--),c=d,b&&oj(a,b));return c};
h.Na=function(a,b){var c=65535,d=jj(a);-1!==d&&(c=a.Ha||65535<d?kc(this.D,xe(this.f,d)):lc(this.f,d),b&&oj(a,b));return c};h.Nc=function(a,b,c){var d=jj(a);if(-1!==d){if(a.Ha||65535<d)Sc(this.D,xe(this.f,d),b);else{var e=this.f;e.ma++;e.D.Kc(jc(e,d,5),b);e.ma--}c&&oj(a,c);L(this.I,-1)}};h.yd=function(a,b,c){var d=jj(a);if(-1!==d){if(a.Ha||65535<d)ic(this.D,xe(this.f,d),b);else{var e=this.f;e.ma++;e.D.Lb(jc(e,d,4),b);e.ma--}c&&oj(a,c);L(this.I,-1)}};
function nj(a,b,c){var d;c=(c?a.H:a.za).K;var e,f;if(void 0!==b){b=$i(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ja){var m=+k;if(c.Ja[m][4]==l){k=c.C+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.C.length;c++)if(l=a.C[c].ea[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=Zi(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
function pj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=Xi(a,b.dc=c[2]))}function oj(a,b){null!=a.K&&(a.K+=b||1)}function qj(a,b){return(b.Ha?"%":"")+O(a,b.K)}
function hj(a,b){a.F=a;a.ga=a.cd=536870912;a.S=null;a.M=[];b=Xi(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Db){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ga|=Db[c],a.u(c+" messages enabled"))}}function dd(a,b,c){for(var d in Db)if(b==Db[d]){a.la[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=rj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function sj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.pa[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.b;switch(a){case tj:b=md(this.f);break;case uj:b=c.bb;break;case vj:b=c.R;break;case wj:b=c.za&65280;break;case xj:b=gd(c);break;case yj:b=id(c);break;case zj:b=jd(c);break;case Aj:b=c.T;break;case Bj:d&&(b=d.sa);break;case Cj:d&&(b=d.tb);break;case Dj:d&&pc(d)&&(b=d.Va)}}return b};
h.message=function(a,b){b&&(a+=" @"+qj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ga&1073741824)this.M.push(a);else{var c;if(this.ga&-2147483648&&this.f&&(c=this.f.A.U)||tb(this,!0))this.Y(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,be(a),a.hb=0,a.I&&L(a.I,void 0))}};
function gj(a){var b;if(!ff(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Ej);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.u("instruction history buffer allocated")}}function Fj(a,b,c){if(!Gj(a,c))return!1;bc(a.f,b);return!0}
function cc(a,b,c,d){if(!Gj(a))return!1;null===c&&(c=!a.ta||"tr"==a.ta);a.w=0;b||ff(a)&&gf(a,a.f.g[7],0);try{b=ce(a.f,b);var e=a.f.$b(b);0<e&&(dc(a.f,e),a.w+=e,ec(a.f,e,!0),fc(a.f,e),a.X++)}catch(f){"number"!=typeof f&&(a.w=0,qb(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),L(a.I,-1));Ud(a,c||!1);return 0<a.w}h.Y=function(a){this.f&&this.f.Y(a)};
function Ud(a,b){if(a.Ba){void 0===b&&(b=!0);var c;c=a.f;if(c=c.i&128?c.Zc|c.Yc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Bb[-d]:O(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.J?Hj(a):Ij(a)}}function Gj(a,b){var c;(c=!a.f||!sb(a.f))||(c=a.f,c.A.fa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.U?(b||a.u("cpu busy or unavailable, command ignored"),!1):!rb(a.f)}h.ra=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
h.Aa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){gj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.U=!1;Jj(this);a||Ud(this)};h.save=function(){var a=new ke(this);a.set(0,kj(this.H));a.set(1,kj(this.O));a.set(2,[this.j,this.P,this.ga]);a.set(3,this.C);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=lj(this,a[b++]),this.O=lj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ga|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.J||this.u("running");this.A.U=!0;this.Ca=a;this.Da=b};
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Da;if(!this.J){b="stopped";if(this.w){a-=this.Ca;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";ff(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else I(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}Ud(this,!0);Vd(this);Jj(this,this.f.g[7]);this.S=null}};function ff(a){return 1<a.g.length||!!a.Z}
function gf(a,b,c){var d=-1;c||(d=lc(a.f,b))||(a.f.P&65535)!=b||(b=pe(a.f,2));if(0<c&&(a.Z&&!--a.Z||Kj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=lc(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function mg(a){var b=a.f;if(b.A.U)throw je(b,a.f.P&65535),a.Y(),-1;return!1}function Ld(a,b,c){Kj(a,b,c||1,a.L)&&a.Y(!0)}function Md(a,b,c){Kj(a,b,c||1,a.G)&&a.Y(!0)}
function fj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=jj(c),c.Ha?(c=a.D,Kd(c.b[d>>>c.g],!1)):Ae(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=jj(c),c.Ha?(c=a.D,Kd(c.b[d>>>c.g],!0)):Ae(a.f,!0);a.G=["bw"];a.ma=0}
h.ob=function(a,b,c){var d=!0;c||Lj(this,a,b,!1,!0);if(a!=this.g){var e=jj(b);if(-1===e)this.u("invalid address: "+qj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ha=!0);if(b.Ha){var g=this.D;g.b[e>>>g.g].ob(e&g.i,f)}else e=this.f,(f?e.Vb++:e.Tb++)||he(e)}}d&&(a.push(b),c?b.Pa=!0:(Mj(this,a,a.length-1,"set"),gj(this)));return d};
function Lj(a,b,c,d,e){var f=!1;c=jj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==jj(k)&&(!d||k.Pa)){f=!0;k.Pa||e||Mj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ha?(d=a.D,Kd(d.b[c>>>d.g],b)):Ae(a.f,b));k.Pa||gj(a);break}}return f}function Nj(a,b){for(var c=1;c<b.length;c++)Mj(a,b,c);return b.length-1}function Mj(a,b,c,d){c=b[c];a.u(b[0]+" "+qj(a,c)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}
function Jj(a,b){if(void 0!==b)Kj(a,b,1,a.g,!0),a.J=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Pa){if(!Lj(a,a.g,c,!0))break;b=0}}}
function Kj(a,b,c,d,e){var f=!1;if(!a.ma++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Pa)for(var l=jj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Pa&&(Lj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Oj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Mj(a,d,g,"hit");break}}}a.ma--;return f}
function Pj(a,b,c,d){var e=W(b.K),f=a.Na(b,2),g,k;for(k in a.Ea)if(g=a.Ea[k][f&k])break;g||(g=Qj);var l=g[0];0<=a.ya.indexOf(l)&&(g=Qj,l=g[0]);var m=k="",n=Rj[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var E=u,u=b,z="",C=E&Sj;if(C==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(C==Tj)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(C==Uj)z=O(t,f&7,1);else if(C==Vj)z=O(t,f&63,1);else if(C==Wj)z=O(t,f&255,1);else if(C=f&E,E&Xj&&(C>>=6,E>>=6),E&Y){var E=null,F=C&
Yj;switch(C&Zj){case 0:z=sj(F);break;case 8:z="@"+sj(F);E=ak(t,t.f.g[F]);break;case 16:7>F?z="("+sj(F)+")+":(C=t.Na(u,2),z="#"+O(t,C,0,!0));break;case 24:7>F?z="@("+sj(F)+")+":(C=t.Na(u,2),z="@#"+O(t,C,0,!0),E=ak(t,C));break;case 32:z="-("+sj(F)+")";break;case 40:z="@-("+sj(F)+")";break;case 48:C=t.Na(u,2);z=O(t,C,0,!0)+"("+sj(F)+")";7==F&&(z=O(t,C=C+u.K&65535),E=ak(t,C));break;case 56:C=t.Na(u,2),z="@"+O(t,C)+"("+sj(F)+")",7==F&&(z="@"+O(t,C=C+u.K&65535),E=ak(t,lc(t.f,C)))}E&&(z=[z,E])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=qj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Na(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ta(f,24);g+=ta(n,5);k&&(g+=" "+k);if(c||m)g=ta(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+Xd(a.f).toString()+" cs="+v(a.f.Qb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function ak(a,b){b=ye(a.f,b)[0];b>=a.f.ib&&b<a.D.C&&(b=b-a.f.ib+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ja[b&Xc])&&(a=b[4]);return a}function bk(a,b){switch(b){case "N":a=oe(a.f);break;case "Z":a=ne(a.f);break;case "V":a=me(a.f);break;case "C":a=le(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=sj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.pa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.X[b-16]);else switch(b){case tj:c="PS="+O(a,md(d));break;case uj:c="PI="+O(a,d.bb);break;case vj:c="ER="+O(a,d.R);break;case wj:c="SL="+O(a,d.za&65280);break;case xj:c="M0="+O(a,gd(d));break;case yj:c="M1="+O(a,id(d));break;case zj:c="M2="+O(a,jd(d));break;case Aj:c="M3="+O(a,d.T);break;case Bj:a.b&&(c="AR="+O(a,a.b.sa,3));break;case Cj:a.b&&(c="DR="+
O(a,a.b.tb));break;case Dj:a.b&&pc(a.b)&&(c="SR="+O(a,a.b.Va,3))}c&&(c+=" ");return c}function ck(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,tj)+Z(a,uj)+Z(a,wj);d+=bk(a,"T")+bk(a,"N")+bk(a,"Z")+bk(a,"V")+bk(a,"C");b&&(b=d,c=""+(Z(a,xj)+Z(a,yj)),c+=Z(a,zj)+Z(a,Aj)+Z(a,vj),c=c+"\n"+(Z(a,Dj)+Z(a,Bj)+Z(a,Cj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function mh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=xa(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({wh:b,K:c,Qd:d,ea:e,ad:f})}function dk(a,b,c){var d=[],e=jj(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=xa(f.ad,[e-g],a.dd);0<=e?ek(a,b,e,d):c&&(e=~e,ek(a,b,e-1,d),ek(a,b,e,d));break}}return d}
function ek(a,b,c,d){var e={},f=a.C[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ea[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function fk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return dj(a)||a.u("no variables"),!0;if(!c[2])return dj(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=Zi(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function gk(a,b,c){var d=null;if(b=nj(a,b,!0)){var e=dk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+w(f)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+w(f)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
function Hj(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Zi(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":je(e,
g);a.H=W(e.g[7]);break;case "N":e.J=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.G=g?65536:0;break;case "PS":nd(e,g);break;case "PI":ld(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.za=g|255;break;case "M0":hd(e,g);d=!0;break;case "M3":kd(e,g);d=!0;break;case "AR":a.b&&(d=a.b,mc(d,d.sa=g));d=!0;break;case "DR":a.b&&(d=a.b,hc(d,d.tb=g));d=!0;break;case "SR":if(a.b&&pc(a.b)){nc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.u("unknown register: "+f);return}L(a.I);a.u("updated registers:")}}a.u(ck(a,d));c&&(a.H=W(e.g[7]),Ij(a,qj(a,a.H)))}}function hk(a,b){b=ua(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):cj(a,null,c[2].charCodeAt(0)):Zi(a,b,!0)}
function ik(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=aj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;Qa(c,function(){return ub(a,!0)&&cc(a,e,d,!1)},function(){a.b&&a.b.stop();L(a.I,-1);ub(a,!1)})}}
function Ij(a,b,c,d){if(b=nj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=aj(a,c.substr(1)),null!=c&&(d=c);else{d=nj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=tb(a,!1)||a.J?a.w:null;var g=null!=f?"cycles":null,k=dk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Pj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
function Oj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+qj(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(sb(a)&&0<b.length){a.P&&(b="a "+qj(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
nj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.u("begin assemble at "+qj(a,r)),a.P=!0,L(a.I);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Nc(r,u[t],1);a.u(Pj(a,a.O))}}break;case "b":a:{var E=g[0],z=g[1],C=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
else{var F=E.charAt(1);if("l"==F){var eb;eb=0+Nj(a,a.g);eb+=Nj(a,a.L);(eb+=Nj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.Z=aj(a,z),a.u("break after "+a.Z+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var V=W();if("*"!=z&&(V=nj(a,z,!0),!V))break a;"c"==F?null==V.K?(fj(a),a.u("all breakpoints cleared")):Lj(a,a.g,V)||Lj(a,a.L,V)||Lj(a,a.G,V)||a.u("breakpoint missing: "+qj(a,V)):null!=V.K&&(pj(a,V,C),"p"==F?a.ob(a.g,V):"r"==F?a.ob(a.L,V):"w"==F?a.ob(a.G,V):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Oa&&(a.Oa.value="");break;case "d":a:{var Fb,Ta=g[0],Fa=g[1],Ua=g[2],Ik=g[3];if("?"==Fa){var Gb="";for(Fb in Db)a.la[Fb]&&(Gb&&(Gb+=","),Gb+=Fb);Gb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");
Gb.length&&a.u("dump extension commands:\n\t"+Gb)}else if("state"==Fa){var Ke=jk(a.I,!0);"console"==Ua?console.log(Ke):(a.Oa&&(a.Oa.value=""),Ke&&a.u(Ke))}else if("symbols"==Fa)for(var Le=0;Le<a.C.length;Le++){var Me=a.C[Le],Hb;for(Hb in Me.ea)if("."!=Hb.charAt(0)){var ei=Me.ea[Hb].o;if(void 0!==ei){var fi=Me.ea[Hb].l;fi&&(Hb=fi);a.u(O(a,ei)+" "+Hb)}}}else{if("d"==Ta){for(Fb in Db)if(g[1]==Fb){var gi=a.la[Fb];gi?(g.shift(),g.shift(),gi(g)):a.u("no dump registered for "+Fa);break a}Fa||(Ta=a.Fa||"dw")}else a.Fa=
Ta;if("dh"==Ta){var hi=Fa,ii=Ua,ji="",ki=0,va=a.R,Ga=a.i;if(Ga.length){var qa=+hi||a.pa,qc=+ii||10;isNaN(qa)?qa=qc:ji="more ";qa>Ga.length&&(a.u("note: only "+Ga.length+" available"),qa=Ga.length);va-=qa;0>va&&(null==Ga[Ga.length-1].K?(qa=va+qa,va=0):va+=Ga.length);var Ne=[];"call"==ii&&(qc=1E5,Ne=["CALL"]);for(void 0!==hi&&a.u(qa+" instructions earlier:");0<qc&&va!=a.R;){var li=Ga[va++];if(null==li.K)break;var rc=W(li.K),Jk=qa--,mi=Pj(a,rc,"history",Jk);(!Ne.length||0<=mi.indexOf(Ne[0]))&&a.u(mi);
rc.Ac&&(va+=rc.Ac,qc-=rc.Ac,qa-=rc.Ac);va>=Ga.length&&(va=0);a.pa=qa;ki++;qc--}}ki||(a.u("no "+ji+"history available"),a.pa=void 0)}else{var fa=nj(a,Fa);if(fa)if("da"==Ta){var Oe=fa.Ha||65535<fa.K,K=ye(a.f,fa.K||0,Oe);a.u(ta("",Oe?12:19)+ma(fa.K,Oe?22:17,3)+" "+q(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ma(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+na(K[1])+"]: "+ma(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
ma(K[1],13,3)+" "+q(K[1],8)),a.u("+ "+kk[K[2]]+"PAR"+K[3]+": "+ma(K[4],22,3)+" "+q(K[4],8)),a.u("& MMUMASK: "+ma(K[5],22,3)+" "+q(K[5],8)),a.u("= PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8)))}else{var gb=0,Pe="ds"==Ta;if(Ua){if("l"==Ua.charAt(0))Ua=Ua.substr(1)||Ik,gb=aj(a,Ua);else{var ni=nj(a,Ua);ni&&(gb=ni.K-fa.K)}0>gb&&(gb=0);65536<gb&&(gb=65536)}var Lk=a.va;fa.va&&(a.va=fa.va);for(var hb="dd"==Ta?4:"db"==Ta?1:2,ud=hb*gb||128,Qe=Pe?16:a.va,Mk=(ud+Qe-1)/Qe|0||1,ib="";Mk--&&0<ud;){for(var jb=
"",Re="",Fa=qj(a,fa),vd=Qe,sc=0,tc=0;0<vd&&0<ud;){var Ib=1,wd=1==hb?a.Mc(fa,Ib):a.Na(fa,Ib=2),sc=sc|wd<<(tc<<3),tc=tc+Ib;tc==hb&&(Pe?(jb&&(jb+=","),jb+="0x"+v(sc,2*hb)):(jb+=O(a,sc,hb),jb+=1==hb?9==vd?"-":" ":" "),sc=tc=0);vd-=Ib;for(ud-=Ib;1==hb&&Ib--;)var Se=wd&255,Re=Re+(32<=Se&&128>Se?String.fromCharCode(Se):"."),wd=wd>>8}ib&&(ib+="\n");ib=Pe?ib+(jb+","):ib+(Fa+": "+jb+(0==vd?" "+Re:""))}ib&&a.u(ib);a.za=fa;a.va=Lk}}}}break;case "e":if("else"==g[0])break;var Jb,Te,Ue,Ve,We=g[0],Xe=g[1];"eb"==
We?(Jb=1,Te=255,Ue=a.Mc,Ve=a.Nc):"e"==We||"ew"==We?(Jb=2,Te=65535,Ue=a.Na,Ve=a.yd):Xe=null;if(null==Xe)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var xd=nj(a,Xe);if(xd)for(var yd=2;yd<g.length;yd++){var uc=Zi(a,g[yd]);if(void 0===uc){a.u("unrecognized value: "+g[yd]);break}uc&~Te&&a.u("warning: "+v(uc)+" exceeds "+Jb+"-byte value");a.u("changing "+qj(a,xd)+(I(a,16)?"":" from "+O(a,Ue.call(a,xd),Jb))+" to "+O(a,uc,
Jb));Ve.call(a,xd,uc,Jb)}}break;case "g":a:{var oi=g[1],Nk=b;if(void 0!==oi){var Ye=nj(a,oi,!0);if(!Ye)break a;pj(a,Ye,Nk);a.ob(a.g,Ye,!0)}Fj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Y()):tb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Ze;var vc=b.substr(2),vc=ua(vc);Zi(a,vc)?(c||a.u("true: "+vc),Ze=!0):(c||a.u("false: "+vc),Ze=!1);Ze||(d=!1);break}f=!0;break;case "k":var Ok=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var $e=0,af=W(),wc=W(a.f.g[6]);for(a.u("stack trace for "+qj(a,wc));10>$e;){for(var kb=null,Pk=256;65536>wc.K>>>0;){af.K=a.Na(wc,2);if(null==wc.K||!Pk--)break;if(!(af.K&1)){for(var Qk=a,zd=af,pi=null,xc=zd.K,qi=xc,bf=1;6>=bf&&xc;bf++){if(2<bf){zd.K=xc;var Ad=Pj(Qk,zd);if(0<=Ad.indexOf("JSR")){var ri=Ad.indexOf(" ");if(xc+(Ad.indexOf(" ",ri+1)-ri-1)/2==qi){pi=Ad;break}}}xc-=2}zd.K=qi;if(kb=pi)break}}if(!kb||null==kb)break;var si=null;if("ks"==Ok){var ti=kb.match(/[0-9A-F]+$/);ti&&(si=gk(a,ti[0]))}kb=
ta(kb,50)+" ;"+(si||"stack="+qj(a,wc));a.u(kb);$e++}$e||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){gk(a,g[1],!0);break}f=!0;break;case "m":a:{var Ha,Ia=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Va=0;if("all"==N)Va=1879046143,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Db)if(N==Ha){Va=Db[Ha];Ia=!!(a.ga&Va);break}if(!Va){a.u("unknown message category: "+N);break a}}if(Va)if("on"==g[2])a.ga|=
Va,Ia=!0;else if("off"==g[2]&&(a.ga&=~Va,Ia=!1,1073741824==Va)){for(var ui=1E3<=a.M.length?a.M.length-1E3:0;ui<a.M.length;)a.u(a.M[ui++]);a.M=[]}}var Rk=0,yc="";for(Ha in Db)if(!N||N==Ha){var Sk=!!(a.ga&Db[Ha]);if(null===Ia||Ia==Sk)yc&&(yc+=","),++Rk%10||(yc+="\n\t"),"key"==Ha&&(Ha="keys"),yc+=Ha}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+(yc||"none"));gj(a)}break;case "p":if("print"==
g[0]){hk(a,b.substr(5));break}var Tk=g[0];if("?"==g[1])a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else{var vi="pr"==Tk?1:0,wi=1+vi;if(a.J)a.u("step in progress");else{var Bd=W(a.f.g[7]),Kb=a.Na(Bd);3==Kb||4==Kb||34816==(Kb&65280)||32256==(Kb&65024)||35072==(Kb&65280)?(a.J=wi,oj(Bd,2)):2048==(Kb&65024)&&(Pj(a,Bd),a.J=wi);a.J?(a.ob(a.g,Bd,!0),Fj(a)||(a.I&&ae(a.I),a.J=0)):ik(a,vi?"tr":"t")}}break;case "r":if("reset"==b){a.I&&a.I.reset();
break}Hj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var zc=+g[2];if(8==zc||10==zc||16==zc)a.va=zc;else{a.u("invalid base: "+zc);break}}a.u("default base: "+a.va);break;case "cs":var Ac;void 0!==g[3]&&(Ac=+g[3]);switch(g[2]){case "int":a.f.Ab=Ac;break;case "start":a.f.Rb=Ac;break;case "stop":a.f.Cb=Ac;break;default:a.u("unknown cs option");break a}void 0!==Ac&&Td(a.f);a.u("checksums "+(a.f.A.zb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Yd(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
a.u("target speed: "+(a.f.nb.toFixed(2)+"Mhz")+" ("+a.f.Za+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":ik(a,g[0],g[1]);break;case "u":Ij(a,g[1],g[2],8);break;case "v":if("var"==g[0]){fk(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((wb||"PDP11")+" version 1.31.1 ("+a.f.ya+",RELEASE"+(yb?",TYPEDARRAYS":xb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){hk(a,b.substr(1));break}var cf="commands:",df;for(df in lk)cf+="\n"+ta(df,9)+lk[df];ff(a)||(cf+="\nnote: history disabled if no exec breakpoints");a.u(cf);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(yi){a.u("debugger error: "+(yi.stack||yi.message)),
d=!1}return d}function Wd(a,b,c){b=Xi(a,b,c);for(var d in b)if(!Oj(a,b[+d]))return!1;return!0}
var lk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Rj=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
tj=20,uj=21,vj=22,wj=23,xj=24,yj=25,zj=26,Aj=27,Bj=28,Cj=29,Dj=30,rj={SP:6,PC:7,PS:tj,PI:uj,ER:vj,SL:wj,M0:xj,M1:yj,M2:zj,M3:Aj,AR:Bj,DR:Cj,SR:Dj},kk="KI KD SI SD ?? ?? UI UD".split(" "),Yj=7,Zj=56,Y=Zj|Yj,Xj=4032,X=4096,Tj=8192,Uj=12288,Vj=24576,Wj=32768,Sj=61440,ij={61440:{4096:[62,Xj,Y],8192:[47,Xj,Y],12288:[18,Xj,Y],16384:[14,Xj,Y],20480:[16,Xj,Y],24576:[3,Xj,Y],36864:[63,Xj,Y],40960:[48,Xj,Y],45056:[19,Xj,Y],49152:[15,Xj,Y],53248:[17,Xj,Y],57344:[94,Xj,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,Tj]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,Wj],35072:[107,Wj]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,Vj],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,Yj],152:[108,Uj]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Qj=[0],mj=[58,60,65,96,108,110,100,101,102,103,104,105,59,64],Ej=1E3;Wa(function(){for(var a=G(document,D,"debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ej(d);pb(d,c)}});
function mk(a,b,c){A.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.O=null;nk(this,b);this.L=Rd(this,"autoPower",a);this.j=0;this.T=a.busWidth||a.buswidth;this.b=ok;this.H=null;this.R=this.w=this.M=this.C=this.S=!1;this.v=null;this.V=Rd(this,"url")||"";(Math.random()+.1).toString(36);this.g=pk(this);if(this.f=ob("CPU",this.id)){this.F=ob("Debugger",this.id);this.D=new Dc({id:this.lb+".bus",busWidth:this.T},this.f,this.F);var d,e=mb(this.id);if((this.i=ob("Panel",this.id))&&this.i.Oa)for(b=0;b<
e.length;b++)d=e[b],d.N=this.i.N,d.u=this.i.u,d.Oa=this.i.Oa;this.u(wb+" v1.31.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.qa&&d.qa(this,this.D,this.f,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var f;if(a=Rd(this,"state")||(f=!0,a.state))b=this.P=
a,f||(this.C=!0,this.b=ok),this.b&&(this.J=new ke(this,"1.31.1"),qk(this.J)?b=null:delete this.J);!b&&this.b&&(b=rk(this))&&(this.C=!0);if(b){var g=this;Aa(b,null,!0,function(a,b,c){c?(g.G=null,g.C=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.H=b,g.S=!0);H(g)})}else H(this);this.B.power||(this.L=!0);!c&&this.L&&sk(this,this.Ub)}else y("Unable to find CPU component")}p(mk,A);
function nk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){y(d.message+" ("+c+")")}}a.O=b}function Rd(a,b,c){var d=b.toLowerCase(),d=Na(b)||Na(d);void 0===d&&a.O&&(d=a.O[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function sk(a,b,c){for(var d=mb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!sb(f)){sb(f,function(){sk(a,b,c)});return}}b.call(a,c)}
function tk(a,b){var c=new ke(a,"1.31.1",uk);if(qk(c)&&vk(c)){var d=c.get(wk),e=b?b.get(wk):"unknown";d!=e&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=mk.prototype;
h.Ub=function(a){void 0===a&&(a=this.b||(this.H?xk:ok));if(!this.j){this.j++;var b=!1,c=!1;this.M=!1;var d=this.J||new ke(this,"1.31.1");if(a==yk)b=!0;else if(a>ok){if(qk(d,this.H)){this.v=new ke(this,"1.31.1",zk);qk(this.v)&&(Ak(this,d),a=Bk,Ck(this.v));this.v.set(wk,za());Dk(this.v);var e=this.b&&!this.C;if(a==xk||Da("Click OK to restore the previous "+wb+" machine state, or CANCEL to reset the machine.")){if(c=vk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?qk(d,g):("error"==f&&"no machine state"!=
g?(this.N("Error: "+g),"unable to verify user"==g&&(La(Ek,""),this.g=null)):this.u(f+": "+g),Ck(d),qk(d)?(c=vk(d),e=!0):c=!1))}e&&tk(this,c?d:null)}else a==Bk&&d.clear()}else tk(this);delete this.H;delete this.J}e=mb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Fk(this,g,d,b,c));b=[d,a,c];a!=yk?sk(this,this.ed,b):this.ed(b)}};
function Fk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;if(b.ra){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.ra(f,d)&&f&&(y("Unable to restore state for "+b.type),a.P&&!a.S?(c.clear(),a.b=ok,window&&window.location.reload()):a.M=!0,b.ra(null),e=!1)}if(!d&&b.Rc)for(a=b.Rc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.f&&(Fk(this,this.f,b,c,a),L(this),this.f.Sa());this.M&&(Ak(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
function Ak(a,b){if(Da("There may be a problem with your "+wb+" machine.\n\nTo help us diagnose it, click OK to send this "+wb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=wb;d.ver="1.31.1";d.url=c;d.user=a;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}}
function jk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new ke(a,"1.31.1"),g=new ke(a,"1.31.1",uk),k=za();g.set(wk,k);f.set(wk,k);f.set(Gk,"1.31.1");f.set(Hk,window?window.location.href:null);f.set(Kk,window?window.navigator.userAgent:"");a.f&&a.f.Aa&&(c&&a.f.Y(),d=a.f.Aa(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=mb(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.Aa&&(d=m.Aa(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=!1,!1===d&&(e=null)))}e&&
(c?(k=d=!1,b?(a.g&&Uk(a,a.g,f.toString()),Dk(g)&&Dk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Vk),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.B.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(J(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(J(this,"Resetting "+this.f.type),this.f.reset());for(var a=mb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(J(this,"Resetting "+c.type),c.reset())}L(this,-1)};
h.start=function(a,b){for(var c=mb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}L(this,-1)};h.stop=function(a,b){for(var c=mb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}L(this,-1)};
function L(a,b){if(a.f){var c=a.f,d=b||0,e=c.B.speed;e&&(0>=d||30<=(c.nc+=d))&&(e.textContent=c.A.U?c.lb.toFixed(2)+"Mhz":"Stopped",c.nc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)Xb(a,"R"+e,a.f.g[e]);e=nd(a.f);Xb(a,"PS",e);Xb(a,"NF",e&8?1:0,1);Xb(a,"ZF",e&4?1:0,1);Xb(a,"VF",e&2?1:0,1);Xb(a,"CF",e&1?1:0,1);a.j=0}nc(a,0<b&&c&&!d?a.f.ib:a.ra);ic(a,a.sb);b=a.f;b=b.Va?b.T&16?1:2:4;pc(a,"B22",b&1);pc(a,"B18",b&2);pc(a,"B16",b&4)}}
h.na=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.j||(d.A.ea?lk(d,!1,!0):uk(d,d.Sb))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.ea&&!d.j)if(d.b&&!d.G){var a=Da("Click OK to save changes to this "+xb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lk(d,a,!0);!a&&d.P?window&&window.location.reload():(a||(d.w=!0),d.Sb(qk),d.w=!1)}else d.reset(),d.f&&d.f.Ra()},!0;case "save":if(pa(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.B[b]=c,c.onclick=function(){var a=rk(d,!0);if(a){var b=!!(d.b&&!d.G||d.P),c=lk(d,b);b?Wk(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};
function rk(a,b){var c=a.g;c||((c=Ka(Gk),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Yk(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
function Yk(a,b){a.g=null;b=Aa(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(La(Gk,b.data),a.g=b.data)}catch(d){y(d.message+" ("+c+")")}return a.g}function tk(a){var b=null;a.g&&(b=Ca()+"/api/v1/user?req=load&user="+a.g+"&state="+Zk(a,"1.31.1"));return b}
function Wk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Zk(a,"1.31.1");d.data=c;b=Aa(Ca()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.N("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.N(c),La(Gk,""),a.g=null)}}
function Eh(a){var b;a=mb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function be(a,b){if(a.Oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Oa.focus();!b&&window&&window.scrollTo(c,d)}}var Bk="failsafe",wk="validate",yk="timestamp",Ik="version",Jk="url",Mk="browser",Gk="user",Ak=-1,qk=0,zk=1,Dk=2,Xk=3;
Ta(function(){for(var a=D(document,B+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=pb(c),c=D(c,B,"computer"),e=0;e<c.length;e++){var f=c[e],g=pb(f),g=new ok(g,d,!0);qb(g,f);g.L&&uk(g,g.Sb)}});Xa.show.push(function(){for(var a=D(document,B,"computer"),b=0;b<a.length;b++){var c=pb(a[b]);(c=ob("Computer",c.id))&&c.R&&!c.A.ea&&c.Sb(Ak)}});Xa.exit.push(function(){for(var a=D(document,B,"computer"),b=0;b<a.length;b++){var c=pb(a[b]);(c=ob("Computer",c.id))&&c.A.ea&&lk(c,!(!c.b||c.G),!0)}});
function le(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=Zk(a,b,c);Ek(this,a.Dd)}h=le.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function sk(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:Ea()&&(b=Ka(a.key))?(a.b=b,a.g=!0):!1}function xk(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){y(c.message||c),b=!1}return b}
function Fk(a){var b=!0;if(Ea()){var c=JSON.stringify(a.f);La(a.key,c)||(y("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Ek(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
h.clear=function(a){Ek(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Zk(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}var $k=0;
function al(a,b,c,d,e,f){e("Loading "+a+"...");Aa(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):bl(k,a,b,c,d,e,f)})}
function bl(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(eb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?cl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function cl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);cl(a,b,c)}})}else c(a,null)}
function dl(a,b,c,d){function e(a){if(void 0===k){var b=g&&D(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=qa(a))}function f(a){e("Error: "+a);l&&(--$k||$a(!0));l=!1}var g,k,l=!0;$k++;gb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.31.1/components.xsl");m=function(d,k){k?al(c,null,null,!1,e,function(d,l){l?(eb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--$k||$a(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--$k||$a(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?al(b,a,d,!0,e,m):bl(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){$a(!1);return dl(a,b,c,d)};window.enableEvents=$a;window.sendEvent=bb;})();//# sourceMappingURL=/tmp/pdpjs/1.31.1/pdp11-dbg.map
function L(a,b){if(a.f){var c=a.f,d=b||0,e=c.B.speed;e&&(0>=d||30<=(c.oc+=d))&&(e.textContent=c.A.U?c.mb.toFixed(2)+"Mhz":"Stopped",c.oc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)Wb(a,"R"+e,a.f.g[e]);e=md(a.f);Wb(a,"PS",e);Wb(a,"NF",e&8?1:0,1);Wb(a,"ZF",e&4?1:0,1);Wb(a,"VF",e&2?1:0,1);Wb(a,"CF",e&1?1:0,1);a.j=0}mc(a,0<b&&c&&!d?a.f.jb:a.sa);hc(a,a.tb);b=a.f;b=b.Wa?b.T&16?1:2:4;oc(a,"B22",b&1);oc(a,"B18",b&2);oc(a,"B16",b&4)}}
h.oa=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.j||(d.A.fa?jk(d,!1,!0):sk(d,d.Ub))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.G){var a=Da("Click OK to save changes to this "+wb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");jk(d,a,!0);!a&&d.P?window&&window.location.reload():(a||(d.w=!0),d.Ub(ok),d.w=!1)}else d.reset(),d.f&&d.f.Sa()},!0;case "save":if(pa(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.B[b]=c,c.onclick=function(){var a=pk(d,!0);if(a){var b=!!(d.b&&!d.G||d.P),c=jk(d,b);b?Uk(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};
function pk(a,b){var c=a.g;c||((c=Ka(Ek),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Wk(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
function Wk(a,b){a.g=null;b=Aa(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(La(Ek,b.data),a.g=b.data)}catch(d){y(d.message+" ("+c+")")}return a.g}function rk(a){var b=null;a.g&&(b=Ca()+"/api/v1/user?req=load&user="+a.g+"&state="+Xk(a,"1.31.1"));return b}
function Uk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Xk(a,"1.31.1");d.data=c;b=Aa(Ca()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.N("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.N(c),La(Ek,""),a.g=null)}}
function Dh(a){var b;a=mb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function ae(a,b){if(a.Oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Oa.focus();!b&&window&&window.scrollTo(c,d)}}var zk="failsafe",uk="validate",wk="timestamp",Gk="version",Hk="url",Kk="browser",Ek="user",yk=-1,ok=0,xk=1,Bk=2,Vk=3;
Wa(function(){for(var a=G(document,D+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=G(c,D,"computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new mk(g,d,!0);pb(g,f);g.L&&sk(g,g.Ub)}});Xa.show.push(function(){for(var a=G(document,D,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=ob("Computer",c.id))&&c.R&&!c.A.fa&&c.Ub(yk)}});Xa.exit.push(function(){for(var a=G(document,D,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=ob("Computer",c.id))&&c.A.fa&&jk(c,!(!c.b||c.G),!0)}});
function ke(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=Xk(a,b,c);Ck(this,a.Fd)}h=ke.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function qk(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:Ea()&&(b=Ka(a.key))?(a.b=b,a.g=!0):!1}function vk(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){y(c.message||c),b=!1}return b}
function Dk(a){var b=!0;if(Ea()){var c=JSON.stringify(a.f);La(a.key,c)||(y("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Ck(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
h.clear=function(a){Ck(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Xk(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}var Yk=0;
function Zk(a,b,c,d,e,f){e("Loading "+a+"...");Aa(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):$k(k,a,b,c,d,e,f)})}
function $k(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(fb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?al(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function al(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);al(a,b,c)}})}else c(a,null)}
function bl(a,b,c,d){function e(a){if(void 0===k){var b=g&&G(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=ra(a))}function f(a){e("Error: "+a);l&&(--Yk||$a(!0));l=!1}var g,k,l=!0;Yk++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.31.1/components.xsl");m=function(d,k){k?Zk(c,null,null,!1,e,function(d,l){l?(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Yk||$a(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Yk||$a(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Zk(b,a,d,!0,e,m):$k(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){$a(!1);return bl(a,b,c,d)};window.enableEvents=$a;window.sendEvent=bb;})();//# sourceMappingURL=/tmp/pdpjs/1.31.1/pdp11-dbg.map