Fixed PCx86 default keystroke injection delay

This commit is contained in:
Jeff Parsons 2017-09-24 18:49:35 -07:00 • committed by Jeff Parsons
commit 0228094f1d
61 changed files with 193839 additions and 0 deletions

View file

@ -0,0 +1,405 @@
(function(){/*
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rx11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/serial.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/drive.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
function ea(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ia(a){ea();ca();ea();var b=a[Symbol.iterator];return b?b.call(a):fa(a)}
var ja="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ka;if("function"==typeof Object.setPrototypeOf)ka=Object.setPrototypeOf;else{var la;a:{var ma={ge:!0},na={};try{na.__proto__=ma;la=na.ge;break a}catch(a){}la=!1}ka=la?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var oa=ka;
function q(a,b){a.prototype=ja(b.prototype);a.prototype.constructor=a;if(oa)oa(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Lk=b.prototype}function pa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
pa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});pa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});pa("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c<d;c++)this[c]=a;return this}});
var ra={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],10653696:[306,4,17],21411840:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},sa={Ci:0,Fe:1,Ji:2,Ki:3,Li:4,Mi:5,Ni:6,Oi:7,Nd:8,Pi:9,Ge:10,Qi:11,Ri:12,He:13,Si:14,Ti:15,Ui:16,Vi:17,Wi:18,Xi:19,Yi:20,Zi:21,$i:22,aj:23,bj:24,cj:25,dj: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,Jd:65,yi:66,Ei:67,ej:68,E:69,kj:70,nj:71,zj:72,Bj:73,Cj:74,Dj:75,Ej:76,Hj:77,Jj:78,Pj:79,Sj:80,Q:81,Uj:82,Xj:83,fk:84,hk:85,jk:86,kk:87,pk:88,qk:89,yf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ge:97,sk:98,vk:99,d:100,e:101,wk:102,xk:103,yk:104,zk:105,Ek:106,k:107,Fk:108,Gk:109,n:110,Hk:111,p:112,q:113,r:114,Ik:115,t:116,Mk:117,
Nk:118,Ok:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,$b:127};
function ta(a,b){if(a){b||(b=10);var c,d=0<a.indexOf(",");d&&(a=a.replace(/,/g,""));var e=c=a.charAt(0);"#"==c?(b=8,c=""):"$"==c&&(b=16,c="");e!=c?a=a.substr(1):(e=c=a.substr(0,2),"0b"==c&&d||"^B"==c?(b=2,c=""):"0o"==c||"^O"==c?(b=8,c=""):"^D"==c?(b=10,c=""):"0x"==c&&(b=16,c=""),e!=c&&(a=a.substr(2)));e=c=a.slice(-1);"Y"==c||"y"==c?(b=2,c=""):"."==c?(b=10,c=""):"H"==c||"h"==c?(b=16,c=""):"K"==c?c="000":"M"==c?c="000000":"G"==c&&(c="000000000");e!=c&&(a=a.slice(0,-1)+c);var f;e=0;10>=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&&
(a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));var g=f}}return g}
function va(a,b,c,d,e){e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var k=a%b;k+=0<=k&&9>=k?48:55;f=String.fromCharCode(k)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function wa(a,b,c){b?36<b&&(b=36):(b=Math.abs(a),b=255>=b?8:262143>=b?18:36);return va(a,2,b,"",c)}
function u(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return va(a,8,b,c?"0o":"")}function xa(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return va(a,10,b)}function v(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return va(a,16,b,c?"0x":"")}function ya(a){return v(a,4,!0)}function za(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 Aa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ba(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Ca(a){return a.replace(/[&<>"']/g,function(a){return Da[a]})}function Fa(a,b){return(a+" ").slice(0,b)}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var Da={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Ha={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 Ia(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;var k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}
function Ja(){var a,b="";a||(a=new Date);for(var c=a.getHours(),d=a.getDate(),e=a.getMonth()+1,f=0;11>f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=La[a.getDay()].substr(0,3);break;case "F":b+=Ma[e-1];break;case "g":b+=c?12<c?c-12:c:12;break;case "h":b+=c;break;case "H":b+=("0"+c).slice(-2);break;case "i":b+=("0"+a.getMinutes()).slice(-2);break;case "j":b+=d;break;case "l":b+=La[a.getDay()];break;case "m":b+=("0"+e).slice(-2);
break;case "M":b+=Ma[e-1].substr(0,3);break;case "n":b+=e;break;case "s":b+=("0"+a.getSeconds()).slice(-2);break;case "y":b+=(""+a.getFullYear()).slice(-2);break;case "Y":b+=a.getFullYear();break;default:b+=g}}return b}var La="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Ma="January February March April May June July August September October November December".split(" ");
function Na(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 Oa(a,b){var c,d={aa:null,ha:null,za:null,ya:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f;if("<"==b.charAt(0))throw Error(b);var g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.za=g.load;d.ya=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c<e.length;c++)d.aa[f++]=e[c]&255,d.aa[f++]=e[c]>>8&255;else if(e=g.longs)for(d.aa=Array(4*e.length),f=c=0;c<e.length;c++)d.aa[f++]=
e[c]&255,d.aa[f++]=e[c]>>8&255,d.aa[f++]=e[c]>>16&255,d.aa[f++]=e[c]>>24&255;else(e=g.data)?d.rk=e:d.aa=g;d.aa&&(d.aa.length?1==d.aa.length&&(w(d.aa[0]),d=null):(w("Empty resource: "+a),d=null));d.ha=g.symbols}catch(k){w("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)){w("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.aa=e)}return d}
function Pa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Qa(){if(null==Ra){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}Ra=a}return Ra}function Sa(a){if(window)try{var b=window.localStorage.getItem(a)}catch(c){}return b}
function Ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ua(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Va(a){if(!$a){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," "))}$a=c}return $a[a]||$a[a.toLowerCase()]}function ab(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function bb(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 cb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function db(a){eb.init.push(a)}
function fb(a){if(gb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function hb(a){!gb&&a?(gb=!0,ib&&jb("init"),kb&&jb("show")):gb=a}function jb(a){eb[a]&&fb(eb[a])}var $a=null,eb={init:[],show:[],exit:[]},ib=!1,kb=!1,gb=!0,Ra=null;cb("onload",function(){ib=!0;fb(eb.init)});cb("onpageshow",function(){kb=!0;fb(eb.show)});
cb(Ua("iOS")?"onpagehide":Ua("Opera")?"onunload":"onbeforeunload",function(){fb(eb.exit)});function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ud=b.comment;this.wf=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Wc=this.id:(this.tb=this.id.substr(0,a),this.Wc=this.id.substr(a+1));this.A={ready:!1,bb:!1,vd:!1,Dk:!1,ca:!1,Hd:!1,error:!1};this.Lc=null;this.A.error=!1;this.ia=c||0;this.D=this.f=this.F=this.J=null;lb.push(this)}
function mb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date}function w(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a,b){a.value+=b;b=a.value;8192<b.length&&(a.value=b.substr(b.length-4096));a.scrollTop=a.scrollHeight}
function ub(a,b){var c=y;b=A(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=vb(g))&&k.binding&&a.va(k.type,k.binding,g,k.value),m=l.length}}}}function wb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<lb.length;b++){var d=lb[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function xb(a){if(void 0!==a){var b;for(b=0;b<lb.length;b++)if(lb[b].id===a)return lb[b]}return null}function Db(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<lb.length;d++)if(c)c==lb[d]&&(c=null);else if(!(a!=lb[d].type||b&&lb[d].id.indexOf(b)))return lb[d]}return null}function vb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
function A(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}
function Eb(a){for(var b=!0,c=Fb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Gb.indexOf(e)&&(f=function(){return function(){Eb(a)}}());var g=Hb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{b=!1;var k=Db(d[1],a);if(k)if(g=Ib[e])b=g(k,d[2],d[3]);else{var l=k.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(k,d[2],d[3]);else if(!g.call(k,f,d[2],d[3]))break}}if(!b){w("Script error: '"+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Fb[a];return b}h=x.prototype;
h.toString=function(){return this.name?this.name:this.id||this.type};
h.va=function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.H[b]=c,this.T=function(a){this.v(a,this.type);return!0},c.value="",this.print=function(a){return function(b){tb(a,b)}}(c),this.v=function(a,b){return function(a,c){a||(a="");if(c!=Jb||"..."!=a.slice(-3))c&&(a=c+": "+a),tb(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+".")+
c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};h.log=function(){};h.print=function(){};h.v=function(){};h.status=function(a){this.v(this.type+": "+a)};h.T=function(a,b,c){if(!b){var d=Db("Computer",this.id);if(d&&d.A.Hd)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||w((c?c+": ":"")+a);return!0};function Kb(a,b){a.A.error=!0;a.T(b)}
function Lb(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Mb(a,b){b&&(a.A.ready?b():a.Lc=b);return a.A.ready}function D(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Lc,a.Lc=null,b&&b()))}function Nb(a,b){a.A.bb&&(b?a.A.vd=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.bb}function Ob(a,b){if(a.A.vd)return a.A.bb=!1,a.A.vd=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.bb=b;return a.A.bb}h.Ca=function(){return this.A.ca=!0};
h.Ba=function(a,b){b&&(this.A.ca=!1);return!0};function E(a,b){if(a.D){a===a.D?b|=0:b=b||a.ia;var c=a.D.ia&b;return!!b&&c===b||!!(c&a.D.ke)}return!1}function F(a,b,c,d){a.D&&(!0===c||E(a,c|0))&&a.D.message(b,d)}var Jb="progress";window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var qb=window?window.PCjs.Machines:{},lb=window?window.PCjs.Components:[],Fb=window?window.PCjs.Commands:{},Gb=["hold","sleep","wait"],Hb={alert:function(a){w(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ib={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
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 Pb="undefined"!==typeof ArrayBuffer,y="pdp11",Qb="PDPjs",Rb=!1,Sb=Pb,Tb=!0,Ub=!0,Vb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Xb={pd:5,td:144,Yc:8,Fc:{qf:15,Yj:16,nk:32,Zd:64,Ea:128,ce:256,bk:512,ij:1024,Ec:2048,hj:4096,hd:57344,ma:{hd:13}},cf:{fe:1,Ii:2,rf:3,Ib:28,Dc:32,Cc:64,Td:128,gk:256,Ie:512,bc:1024,Tj:2048,be:4096,lk:8192,Rj:16384,Je:32768,cd:32736},af:{ac:1,wa:14,Hb:48,Gb:64,Ya:128,ek:256,jj:512,lj:1024,Re:2048,rd:8192,cd:16384,fb:32768,Ib:4608,
cc:61438,Sa:3967,ma:{wa:1,Hb:4}},bf:{qd:15,fd:16,Zb:8160,qb:57344,ma:{fd:4,Zb:5,qb:13}},wa:{Ee:0,ec:2,rb:4,ud:6,Ic:8,Ve:10,Ke:12,mk:14}},Yb={pd:5,td:112,Yc:4,Ue:"DY",hf:{Ea:1,wa:14,Xa:48,Gb:64,Ya:128,qb:768,Qd:15360,gj:16384,fb:32768,Fi:16254,ak:128,cc:65535,Sa:1022,ma:{wa:1,Xa:4,qb:8}},ff:{Sa:65534},jf:{sf:1,tf:4,uf:16,Zj:65408,$d:63,Hc:64,dc:65408,Ne:3,sj:8,ma:{Hc:6,dc:7}},Gc:{Qe:{Fj:0,dk:1,Di:2,Gj:3,Ic:4,Se:5,ik:6,ck:7},Rd:8,Pe:16,pj:32,rj:64,Oe:128,qj:256,vj:512,xj:1024,uj:2048,tj:4096,yj:8192,
oj:16384,wj:32768},gf:{$a:63},Qd:{Qj:1024,fj:2048,fe:2048,Aj:3072,Ie:4096,Za:5120,bc:8192,Ij:9216},wa:{Kj:0,ud:2,vf:4,Ic:6,Ze:8,xf:10,We:12,Vj:14}},Zb={pd:5,td:180,Yc:2,Ue:"DX",lf:{ac:1,wa:14,sd:16,DONE:32,Gb:64,ab:128,INIT:16384,fb:32768,Ib:16128,cc:32992,Sa:16479},Wj:{},pf:{$a:127},nf:{$a:31},mf:{Md:1,Wd:2,hd:4,$b:64,Ea:128},wa:{$c:0,EMPTY:2,ec:4,rb:6,Ib:8,Ye:10,Jc:12,Xe:14},Me:{dd:8,ed:16,zi:24,Te:32,mj:40,$j:48,od:56,Oj:72,Nj:80,Mj:88,Hi:96,Bi:104,Lj:112,nd:120,Gi:128,Ai:136}},$b={48:"DL11R",
52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11",180:"RX11"};Zb.kf=["DX",77,1,26,128,1,0,0,128,0];Xb.Ec=["RK",203,2,12,512,0,0,0,512,Xb.Fc.Ec|Xb.Fc.ce|Xb.Fc.Zd];Yb.df=["RL",512,2,40,256,0,0,0,256,Yb.Gc.Qe.Se|Yb.Gc.Rd|Yb.Gc.Pe];y="pdp11";Qb="PDPjs";Rb=!1;Sb=Pb;Ub=Tb=!0;
var fc={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,rx11:262144,dl11:1048576,serial:1048576,kw11:2097152,timer:2097152,speaker:16777216,computer:33554432,log:536870912,warn:1073741824,halt:-2147483648};
function gc(a,b){x.call(this,"Panel",a,512);this.j=this.u=0;this.M=b;this.fa=this.g=this.Va=this.Cb=0;this.B=this.C=-1;this.G=this.I=this.w=!1;this.K=hc;this.i={};this.b={START:[1,1,!0,!1,this.Uf],STEP:[1,1,!1,!1,this.Vf],ENABLE:[1,1,!1,!1,this.Pf],CONT:[1,1,!0,!1,this.Nf],DEP:[0,0,!0,!1,this.Of],EXAM:[1,1,!0,!1,this.Qf],LOAD:[1,1,!0,!1,this.Sf],TEST:[0,0,!0,!1,this.Rf]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Tf,a];this.D=this.f=this.F=this.J=null;this.exports={hold:this.If,toggle:this.nh,
reset:this.hh,set:this.mh};D(this)}q(gc,x);function ic(a,b){return jc(a,a.Cb=b)}h=gc.prototype;h.reset=function(a){this.stop();a&&ic(this,0)};
h.va=function(a,b,c,d){if(this.J&&this.J.va(a,b,c,d)||this.f&&this.f.va(a,b,c,d)||this.D&&this.D.va(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.H[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.i[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){kc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){lc(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){kc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){lc(a,b)}}(this,b),!0):x.prototype.va.call(this,a,b,c,d)}};h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;mc(b,this,nc);oc(b,this.reset.bind(this));pc(this);qc(this)};
h.Ca=function(a,b){if(!b)if(this.M&&rc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.fa,this.Cb,this.Va]);return a.data()};h.restore=function(a){if(a=a[0])sc(this,this.fa=a[0]),ic(this,a[1]),tc(this,a[2]);return!0};h.hh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}qc(this);return!0};function uc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}
function pc(a,b){for(var c in a.i)uc(a,c,null!=b?b:a.i[c])}function vc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function qc(a){for(var b in a.b)vc(a,b,a.b[b][1])}function wc(a,b,c,d){if(a.H[b]){var e=a.D&&a.D.W||8;c=c||0;c=8==e?u(c,d):v(c,d);a.H[b].textContent!=c&&(a.H[b].textContent=c)}}h.If=function(a,b,c){if(kc(this,b)){if(c){var d=this;setTimeout(function(){lc(d,b);a&&a()},+c);return!1}lc(this,b)}return!0};
h.mh=function(a,b){if("SR"==a)return tc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,vc(this,a,c[1]),!0):!1};h.nh=function(a){return kc(this,a)?(lc(this,a),!0):!1};function kc(a,b){var c=a.b[b];return c?(vc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=xc&&(a.G=b==yc,a.I=b==zc),!0):!1}function lc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(vc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
h.Uf=function(a){a||this.f.A.V||(Ac(this.f,this.fa),a=this.f,a.F.reset(),Bc(a),this.b[Cc]&&this.b[Cc][1]&&Dc(this.f))};h.Vf=function(){};h.Pf=function(a){a||H(this.f)};h.Nf=function(a){if(!a&&!this.f.A.V)if(this.b[Cc]&&this.b[Cc][1])Dc(this.f);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),Ec(a,0,null),Ob(a,!1);else try{var b=this.f.zc(1);0<b&&(Fc(this.f,b),Gc(this.f,b,!0),Hc(this.f,b))}catch(c){"number"!=typeof c&&(b=c,Kb(this.f,b.stack||b.message))}this.stop();this.J&&Ic(this.J)}};
h.Of=function(a){if(a&&!this.f.A.V)if(this.G&&Jc(this),a=ic(this,this.Va),this.K==hc)Kc(this.F,this.fa,a);else{var b=this.f,c=this.fa;b.pa++;b.F.Yb(Lc(b,c,4),a);b.pa--}};h.Qf=function(a){a||this.f.A.V||(this.I&&Jc(this),a=this.K==hc?Mc(this.F,this.fa):Nc(this.f,this.fa),ic(this,a))};h.Sf=function(a){a||this.f.A.V||sc(this,this.Va)};h.Rf=function(a){a?(this.w=!0,pc(this,!0)):(this.w=!1,pc(this),tc(this,0))};h.Tf=function(a,b){this.Va=a?this.Va|1<<b:this.Va&~(1<<b)};
function Jc(a){var b=1140>=a.f.ja?8:16,c=65472<=a.fa&&a.fa<65472+b;b=c?1:2;c=c?15:a.F.I;a.b[xc]&&a.b[xc][1]||(b=-b);sc(a,a.fa&~c|a.fa+b&c)}function sc(a,b){a.fa=b&a.F.I;if(a.B!==a.fa){a.B=a.fa;b=a.B;for(var c=0;22>c;c++)Oc(a,"A"+c,b&1<<c)}}function jc(a,b){a.g=b&65535;if(a.C!==a.g){a.C=a.g;b=a.C;for(var c=0;16>c;c++)Oc(a,"D"+c,b&1<<c)}return a.g}function Oc(a,b,c){a.i[b]=c;a.w||uc(a,b,c)}function tc(a,b){a.Va=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.Va&1<<b?1:0;qc(a);return!0}
h.stop=function(){sc(this,this.f.g[7])};h.Fd=function(a){this.fa=a};h.setData=function(a,b){b?this.Cb=a:this.g=a};h.$f=function(a,b){return(b?this.Cb:this.Va)&65535};h.th=function(a){this.Cb=a};function rc(){for(var a=A(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=vb(c),e=xb(d.id);e||(e=new gc(d,!0));ub(e,c)}}var hc=7,yc="DEP",Cc="ENABLE",zc="EXAM",xc="STEP",Zc={},nc=(Zc[65400]=[null,null,gc.prototype.$f,gc.prototype.th,"CNSW"],Zc);db(rc);
function $c(a,b,c){x.call(this,"Bus",a,16);this.f=b;this.D=c;this.U=+a.busWidth||16;this.M=1<<this.U;this.I=this.M-1;this.j=ad;this.g=Math.log2(this.j);this.R=this.j>>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Pa=[];this.na=0;this.C=!1;this.N=[];this.zf=[bd,cd,dd,ed];this.b=this.u=[];this.B=this.K=this.w=this.O=this.P=0;a=new I(this);fd(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b<this.G;b++)this.b[b]=this.u[b]=a;this.B=this.M-ad;gd(this,this.B,ad,hd,this);this.P=
this.O=(this.B&this.I)>>>this.g;this.K=0;this.w=this.I;D(this)}q($c,x);function id(a,b){if(b!=a.K){for(var c=0;c<a.G;c++)a.u[c]=a.b[c];a.K=0;a.w=a.I;b&&(a.K=b,b=1<<b,a.w=b-1,b-=ad,a.P=(b&a.w)>>>a.g,a.u[a.P]=a.b[a.O])}}h=$c.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();id(this,16)};h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,jd(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.R){for(var e=0,f=Array(this.R),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){w("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function gd(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.L)return l.Ub+=l.L-f,l.L=f,!0;if(f>=l.L+l.Ub){n=l.size-(f-m);n>g&&(n=g);l.Ub=f-l.L+n;f=m+a.j;g-=n;k++;continue}}return kd(ld,f,g)}f=new I(a,f,n,a.j,d,e);fd(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+md[d]+" at "+u(b)),!0):kd(nd,b,c)}h.Kd=function(a){return this.u[(a&this.w)>>>this.g].Bb(a&this.i,a)};
h.yc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Ub||b!=this.i?this.u[c].oa(b,a):this.u[c++].Bb(b,a)|this.u[c&this.S].Bb(0,a+1)<<8};h.Ld=function(a,b){this.u[(a&this.w)>>>this.g].Eb(a&this.i,b,a)};h.Yb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Ub||c!=this.i?this.u[d].Fb(c,b,a):(this.u[d++].Eb(c,b&255,a),this.u[d&this.S].Eb(0,b>>8&255,a+1))};function od(a,b){return a.b[(b&a.I)>>>a.g]}
function Mc(a,b){var c;a.C=!1;a.na++;var d=b&a.i,e=od(a,b);Ub||d!=a.i?c=e.B(d,b):c=e.j(d,b)|od(a,b+1).j(0,b+1)<<8;a.na--;return c}function pd(a,b,c){a.C=!1;a.na++;od(a,b).F(b&a.i,c&255,b);a.na--}function Kc(a,b,c){a.C=!1;a.na++;var d=b&a.i,e=od(a,b);Ub||d!=a.i?e.C(d,c&65535,b):(e.F(d,c&255,b),od(a,b+1).F(0,c>>8&255,b+1));a.na--}
function jd(a){for(var b=0,c=[],d=0;d<a.G;d++){var e=a.b[d];if(e.cb||e.Gf){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 qd(a){for(var b=rd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.L+e.Ub)}return c}
function sd(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&td;if(void 0!==a.Pa[n])return w("I/O address already registered: "+v(b,8,!0)),!1;var t=l||"unknown";t&&0<=m&&(t+=m++);a.Pa[n]=[d,e,f,g,t,k||16,!1]}return!0}
function mc(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ja)){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 t=g[4],r=g[5]||1,p=0;p<r;p++,f+=2)if(t&&1<r&&(t=g[4]+p),!sd(a,f,f,k,l,m,n,g[7]||b.ia,t||b.Wc))return!1}}return!0}
function oc(a,b){a.N.push(b)}h.Na=function(a,b,c){this.C=!0;this.na||(this.D&&E(this.D,4)&&F(this.D,"memory fault ("+c+") on "+K(this.D,a),!0,!0),b&&(this.f.P|=b),this.f.ra(4,0,a))};function ud(a){var b=a.C;a.C=!1;return b}function kd(a,b,c){w("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var ad=8192,td=ad-1,ld=1,nd=2;
function bd(a,b){var c=-1,d=this.controller,e=d.Pa[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.Pa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&E(this.f,16|e[5])&&F(this.f,e[4]+".readByte("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,3);c=255;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to byte @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c}
function cd(a,b,c){var d=!1,e=this.controller,f=e.Pa[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.Pa[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&&E(this.f,16|f[5])&&F(this.f,f[4]+".writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,5),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to byte @"+K(this.f,c)+": "+K(this.f,
b),!0,!e.na))}function dd(a,b){var c=-1,d=this.controller;a=d.Pa[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&&E(this.f,16|a[5])&&F(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c}
function ed(a,b,c){var d=!1,e=this.controller;a=e.Pa[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&&E(this.f,16|a[5])&&F(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){x.call(this,"Device",a,256);this.b={eb:128,Gd:-1}}q(L,x);h=L.prototype;
h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Gd=vd(c,function(){e.b.eb|=128;e.b.eb&64&&wd(e.f,e.b.Qa);e.J&&Ic(e.J,1);xd(e.f,e.b.Gd,1E3/60)});this.b.Qa=yd(c,64,6,2097152);mc(b,this,zd);oc(b,this.reset.bind(this));d&&Ad(d,64,function(a){var b=e.f;Bd(e,"KIPDR",b.B[0],0,a[0]);Bd(e,"KDPDR",b.B[0],8,a[0]);Bd(e,"KIPAR",b.M[0],0,a[0]);Bd(e,"KDPAR",b.M[0],8,a[0],!0);Bd(e,"SIPDR",b.B[1],0,a[0]);Bd(e,"SDPDR",b.B[1],8,a[0]);Bd(e,"SIPAR",b.M[1],0,a[0]);Bd(e,"SDPAR",b.M[1],8,a[0],
!0);Bd(e,"UIPDR",b.B[3],0,a[0]);Bd(e,"UDPDR",b.B[3],8,a[0]);Bd(e,"UIPAR",b.M[3],0,a[0]);Bd(e,"UDPAR",b.M[3],8,a[0],!0);b.X&32&&Bd(e,"UNIMAP",b.Ga,-1,a[0])});D(this)};function Bd(a,b,c,d,e,f){a=a.D;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n<g;n++)0==n%m&&(k&&(k+="\n"),k+=b+(l?"["+xa(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b.eb=128;xd(this.f,this.b.Gd,1E3/60,!0)};h.save=function(){var a=new G(this);a.set(0,[this.b.eb]);return a.data()};h.restore=function(a){a=ia(a[0]);this.b.eb=a.next().value;return!0};h.gg=function(){return this.b.eb};h.Ah=function(a){this.b.eb=a&192;this.b.eb&64||Cd(this.f,this.b.Qa)};h.ig=function(){return Dd(this.f)};h.Ch=function(a){Ed(this.f,a&-129|this.f.S&128)};h.jg=function(){return Fd(this.f)};h.kg=function(){return Hd(this.f)};
h.lg=function(){return this.f.X};h.Dh=function(a){Id(this.f,a)};h.Xg=function(a){a=a>>1&63;var b=this.f.Ga[a>>1];return a&1?b>>16:b&65535};h.oi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ga[c]=b&1?this.f.Ga[c]&65535|(a&63)<<16:this.f.Ga[c]&-65536|a&65534};h.Qg=function(a){return this.f.B[1][a>>1&7]};h.hi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Og=function(a){return this.f.B[1][(a>>1&7)+8]};h.fi=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Pg=function(a){return this.f.M[1][a>>1&7]};
h.gi=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Ng=function(a){return this.f.M[1][(a>>1&7)+8]};h.ei=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.fg=function(a){return this.f.B[0][a>>1&7]};h.zh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.dg=function(a){return this.f.B[0][(a>>1&7)+8]};h.xh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.eg=function(a){return this.f.M[0][a>>1&7]};h.yh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
h.cg=function(a){return this.f.M[0][(a>>1&7)+8]};h.wh=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Wg=function(a){return this.f.B[3][a>>1&7]};h.ni=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Ug=function(a){return this.f.B[3][(a>>1&7)+8]};h.li=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Vg=function(a){return this.f.M[3][a>>1&7]};h.mi=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Tg=function(a){return this.f.M[3][(a>>1&7)+8]};
h.ki=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Sb=function(a){a&=7;return this.f.w&2048?this.f.ta[a]:this.f.g[a]};h.Wb=function(a,b){b&=7;this.f.w&2048?this.f.ta[b]=a:this.f.g[b]=a};h.sg=function(){return this.f.w&49152?this.f.Y[0]:this.f.g[6]};h.Kh=function(a){this.f.w&49152?this.f.Y[0]=a:this.f.g[6]=a};h.vg=function(){return this.f.g[7]};h.Nh=function(a){this.f.g[7]=a};h.Tb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ta[a]};
h.Xb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ta[b]=a};h.tg=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.Y[1]};h.Lh=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.Y[1]=a};h.ug=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.Y[3]};h.Mh=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.Y[3]=a};h.bg=function(a){return this.f.uc[a-65504>>1]};h.vh=function(a,b){this.f.uc[b-65504>>1]=a};h.xe=function(a){return 65520==a?(qd(this.F)>>6)-1:0};
h.Ce=function(){};h.Sg=function(){return 1};h.ji=function(){};h.ag=function(){return this.f.P};h.uh=function(){this.f.P=0};h.hg=function(){return this.f.rc};h.Bh=function(a,b){b&1||(a&=255);this.f.rc=a};h.mg=function(a,b){return b?0:this.f.mb};h.Eh=function(a){Jd(this.f,a)};h.Rg=function(a,b){return b?0:this.f.Fa&65280};h.ii=function(a){this.f.Fa=a|255};h.rg=function(){return Kd(this.f)};h.Jh=function(a){Ld(this.f,a)};h.Be=function(a,b){E(this)&&F(this,"writeIgnored("+u(b)+"): "+u(a),!0,!0)};
var M={},zd=(M[61568]=[null,null,L.prototype.Xg,L.prototype.oi,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.Qg,L.prototype.hi,"SIPDR",8,1145,64],M[62608]=[null,null,L.prototype.Og,L.prototype.fi,"SDPDR",8,1145,64],M[62624]=[null,null,L.prototype.Pg,L.prototype.gi,"SIPAR",8,1145,64],M[62640]=[null,null,L.prototype.Ng,L.prototype.ei,"SDPAR",8,1145,64],M[62656]=[null,null,L.prototype.fg,L.prototype.zh,"KIPDR",8,1140,64],M[62672]=[null,null,L.prototype.dg,L.prototype.xh,"KDPDR",8,1145,64],M[62688]=
[null,null,L.prototype.eg,L.prototype.yh,"KIPAR",8,1140,64],M[62704]=[null,null,L.prototype.cg,L.prototype.wh,"KDPAR",8,1145,64],M[62798]=[null,null,L.prototype.lg,L.prototype.Dh,"MMR3",1,1145,64],M[65382]=[null,null,L.prototype.gg,L.prototype.Ah,"LKS"],M[65402]=[null,null,L.prototype.ig,L.prototype.Ch,"MMR0",1,1140,64],M[65404]=[null,null,L.prototype.jg,L.prototype.Be,"MMR1",1,1145,64],M[65406]=[null,null,L.prototype.kg,L.prototype.Be,"MMR2",1,1140,64],M[65408]=[null,null,L.prototype.Wg,L.prototype.ni,
"UIPDR",8,1140,64],M[65424]=[null,null,L.prototype.Ug,L.prototype.li,"UDPDR",8,1145,64],M[65440]=[null,null,L.prototype.Vg,L.prototype.mi,"UIPAR",8,1140,64],M[65456]=[null,null,L.prototype.Tg,L.prototype.ki,"UDPAR",8,1145,64],M[65472]=[null,null,L.prototype.Sb,L.prototype.Wb,"R0SET0"],M[65473]=[null,null,L.prototype.Sb,L.prototype.Wb,"R1SET0"],M[65474]=[null,null,L.prototype.Sb,L.prototype.Wb,"R2SET0"],M[65475]=[null,null,L.prototype.Sb,L.prototype.Wb,"R3SET0"],M[65476]=[null,null,L.prototype.Sb,
L.prototype.Wb,"R4SET0"],M[65477]=[null,null,L.prototype.Sb,L.prototype.Wb,"R5SET0"],M[65478]=[null,null,L.prototype.sg,L.prototype.Kh,"R6KERNEL"],M[65479]=[null,null,L.prototype.vg,L.prototype.Nh,"R7KERNEL"],M[65480]=[null,null,L.prototype.Tb,L.prototype.Xb,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.Tb,L.prototype.Xb,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.Tb,L.prototype.Xb,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.Tb,L.prototype.Xb,"R3SET1",1,1145],M[65484]=[null,null,L.prototype.Tb,
L.prototype.Xb,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Tb,L.prototype.Xb,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.tg,L.prototype.Lh,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.ug,L.prototype.Mh,"R6USER",1,1145],M[65504]=[null,null,L.prototype.bg,L.prototype.vh,"CTRL",8,1170],M[65520]=[null,null,L.prototype.xe,L.prototype.Ce,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.xe,L.prototype.Ce,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.Sg,L.prototype.ji,"SYSID",1,1170],M[65526]=
[null,null,L.prototype.ag,L.prototype.uh,"ERR",1,1170],M[65528]=[null,null,L.prototype.hg,L.prototype.Bh,"MBR",1,1170],M[65530]=[null,null,L.prototype.mg,L.prototype.Eh,"PIR"],M[65532]=[null,null,L.prototype.Rg,L.prototype.ii,"SLR"],M[65534]=[null,null,L.prototype.rg,L.prototype.Jh,"PSW"],M);
db(function(){for(var a=A(document,y,"device"),b=0;b<a.length;b++){var c=a[b];var d=vb(c);switch(d.type){case "default":d=new L(d);ub(d,c);break;case "pc11":d=new Md(d);ub(d,c);break;case "rl11":d=new Nd(d);ub(d,c);break;case "rk11":d=new N(d);ub(d,c);break;case "rx11":d=new Od(d),ub(d,c)}}});
function I(a,b,c,d,e,f){this.D=a;this.id=Yd+=2;this.b=null;this.L=b;this.Ub=c;this.size=d||0;this.type=e||Zd;this.J=e==$d;this.f=this.controller=null;this.Bb=this.j=this.Bd;this.oa=this.B=this.Cd;this.Eb=this.F=this.Vb;this.Fb=this.C=this.Uc;this.H=this.i=0;fd(this);this.cb=this.Gf=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ae(this,f.zf);else if(Pb)this.u=new ArrayBuffer(this.size),this.w=new DataView(this.u,0,this.size),this.g=new Uint8Array(this.u,0,this.size),this.G=new Uint16Array(this.u,
0,this.size>>1),this.b=new Int32Array(this.u,0,this.size>>2),ae(this,be?ce:de);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;ae(this,ee)}else ae(this)}h=I.prototype;h.save=function(){var a;if(this.controller)var b=null;else if(Pb)for(b=Array(this.size>>2),a=0;a<b.length;a++)b[a]=this.w.getInt32(a<<2,!0);else b=this.b;return b};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Pb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.cb=!0}return!1};function ae(a,b){b||(b=fe);ge(a,b,void 0);he(a,b,void 0)}function ge(a,b,c){c&&a.H||(a.Bb=b[0]||a.Bd,a.oa=b[2]||a.Cd);if(c||void 0===c)a.j=b[0]||a.Bd,a.B=b[2]||a.Cd}function he(a,b,c){c&&a.i||(a.Eb=!a.J&&b[1]||a.Vb,a.Fb=!a.J&&b[3]||a.Uc);if(c||void 0===c)a.F=b[1]||a.Vb,a.C=b[3]||a.Uc}
h.zb=function(a,b){b?0===this.i++&&he(this,ie,!1):0===this.H++&&ge(this,ie,!1)};function je(a,b){b?0===--a.i&&(a.Eb=a.J?a.Vb:a.F,a.Fb=a.J?a.Uc:a.C):0===--a.H&&(a.Bb=a.j,a.oa=a.B)}function fd(a,b,c){a.f=b;a.H=a.i=0;c&&((a.H=c.H)&&ge(a,ie,!1),(a.i=c.i)&&he(a,ie,!1))}h.Bd=function(a,b){this.f&&E(this.f,32)&&F(this.f,"attempt to read invalid address "+K(this.f,b),!0);this.D.Na(b,32,2);return 255};
h.Vb=function(a,b,c){this.f&&E(this.f,32)&&F(this.f,"attempt to write "+K(this.f,b)+" to invalid addresses "+K(this.f,c),!0);this.D.Na(c,32,4)};h.Cd=function(a,b){return this.Bb(a++,b++)|this.Bb(a,b)<<8};h.Uc=function(a,b,c){this.Eb(a++,b&255,c++);this.Eb(a,b>>8,c)};h.Zf=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.dh=function(a,b){Tb&&a&1&&this.D.Na(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.sh=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.cb=!0};h.ti=function(a,b,c){Tb&&a&1&&this.D.Na(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.cb=!0};h.Xf=function(a,b){this.f&&null!=this.L&&ke(this.f,this.L+a);return this.j(a,b)};h.Zg=function(a,b){this.f&&null!=this.L&&ke(this.f,this.L+a,2);return this.B(a,b)};
h.qh=function(a,b,c){this.f&&null!=this.L&&le(this.f,this.L+a);this.J?this.Vb(0,b,c):this.F(a,b,c)};h.ri=function(a,b,c){this.f&&null!=this.L&&le(this.f,this.L+a,2);this.J?this.Vb(0,b,c):this.C(a,b,c)};h.Wf=function(a){return this.g[a]};h.Yf=function(a,b){a=this.g[a];this.f&&E(this.f,32)&&F(this.f,"Memory.readByte("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.Yg=function(a,b){Tb&&a&1&&this.D.Na(b,64,2);return this.w.getUint16(a,!0)};
h.bh=function(a,b){Tb&&a&1&&this.D.Na(b,64,2);a=!Ub&&a&1?this.g[a]|this.g[a+1]<<8:this.G[a>>1];this.f&&E(this.f,32)&&F(this.f,"Memory.readWord("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.ph=function(a,b){this.g[a]=b;this.cb=!0};h.rh=function(a,b,c){this.g[a]=b;this.cb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0)};h.pi=function(a,b,c){Tb&&a&1&&this.D.Na(c,64,4);this.w.setUint16(a,b,!0);this.cb=!0};
h.si=function(a,b,c){Tb&&a&1&&this.D.Na(c,64,4);!Ub&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.cb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Zd=0,rd=1,$d=2,hd=4,md=["NONE","RAM","ROM","VID","H/W"],Yd=0,fe=[],ee=[I.prototype.Zf,I.prototype.sh,I.prototype.dh,I.prototype.ti],ie=[I.prototype.Xf,I.prototype.qh,I.prototype.Zg,I.prototype.ri];
if(Pb)var de=[I.prototype.Wf,I.prototype.ph,I.prototype.Yg,I.prototype.pi],ce=[I.prototype.Yf,I.prototype.rh,I.prototype.bh,I.prototype.si];var me;if(Pb){var ne=new ArrayBuffer(2);(new DataView(ne)).setUint16(0,256,!0);me=256===(new Uint16Array(ne))[0]}else me=!1;var be=me;
function oe(a,b){x.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Zc=0;this.Xc=b;this.kb=c;this.kd=Math.round(this.Xc/1E4)/100;this.vb=this.kd*this.kb;this.ld=this.nc=this.yb=this.wc=0;this.A.V=this.A.Qc=!1;this.A.qa=a.autoStart;"string"==typeof this.A.qa&&(this.A.qa="true"==this.A.qa);this.A.Lb=!1;this.lc=this.Mb=0;this.mc=+a.csStart;this.Kb=+a.csInterval;this.Ob=+a.csStop;this.ga=[];this.Yd=this.ih.bind(this);this.lb=this.Ja=this.jb=this.b=this.la=this.Ia=this.kc=this.ib=this.Pb=
this.md=this.ub=0;this.sa=null;D(this)}q(oe,x);h=oe.prototype;h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.D=d;this.sa=a.i;for(a=0;a<pe.length;a++)(b=this.H[pe[a]])&&this.J.va(null,pe[a],b);D(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.Ca=function(a,b){var c=qe(this.J,"autoStart");null!=c?this.A.qa="true"==c?!0:"false"==c?!1:!!c:null==this.A.qa&&(this.A.qa=!this.D&&void 0===this.H.run);if(!b){if(a){re(this);if(!this.restore(a))return!1;se(this)}else this.reset();this.D?(a=this.D,b=this.A.qa,a.Ga=!0,a.v("Type ? for help with PDPjs Debugger commands"),te(a),b||ue(a),a.xa&&(b=a.xa,a.xa=null,ve(a,b))):this.status("No debugger detected");this.A.qa||this.v("CPU will not be auto-started "+(this.sa?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.Ba=function(a){return a?this.save():!0};h.qa=function(){return this.A.V?!0:this.A.qa?Dc(this):!1};h.qe=function(){return 0};function se(a){void 0===a.mc&&(a.mc=0);void 0===a.Kb&&(a.Kb=-1);void 0===a.Ob&&(a.Ob=-1);a.A.Lb=0<=a.mc&&0<a.Kb;a.A.Lb&&(a.lc=0,a.Mb=a.mc-a.lb)}function Hc(a,b){if(a.A.Lb){var c=!1;a.lc=a.lc+a.qe()|0;a.Mb-=b;0>=a.Mb&&(a.Mb+=a.Kb,c=!0);0<=a.Ob&&a.Ob<=we(a)&&(a.Kb=a.Ob=-1,se(a),H(a),c=!0);c&&a.v(we(a)+" cycles: checksum="+v(a.lc))}}
h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.ca)a=!0;else{var b=null,c,k=wb(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.ca);c++);c==k.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Lc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.V?H(d):Dc(d))},!0;
case "speed":return this.H[b]=c,!0;case "setSpeed":return this.H[b]=c,c.onclick=function(){xe(d,d.kb<<1,!0)},c.textContent=this.vb.toFixed(2)+"Mhz",!0}return!1};function Gc(a,b,c){a.lb+=b;c&&(a.jb=a.b=a.la=0)}function ye(a,b){var c=1;b&&1<a.kb&&a.ub&&(c=a.ub/a.kd);a.ld=Math.round(1E3/ze);a.nc=Math.floor(a.Xc/ze*c);b||(a.yb=a.nc);a.wc=0}function we(a){return a.lb+a.Ja+a.jb-a.b}function re(a){a.ub=0;a.md=0;a.lb=a.Ja=a.jb=a.b=a.la=0;se(a);xe(a,1)}
function xe(a,b,c){var d=!1;if(void 0!==b){.8>a.ub/a.vb?b=1:d=!0;a.kb=b;b=a.kd*a.kb;if(a.vb!=b){a.vb=b;b=a.vb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&Ae(a.J)}Gc(a,a.Ja);a.Ja=0;a.Ia=rb();a.ib=0;ye(a);return d}function vd(a,b){var c=a.ga.length;a.ga.push([-1,b]);return c}function xd(a,b,c,d){0<=b&&b<a.ga.length&&(d||0>a.ga[b][0])&&(c=a.Xc*a.kb/1E3*c|0,a.A.V&&(c+=Be(a)),a.ga[b][0]=c)}
function Ce(a,b){for(var c=a.ga.length-1;0<=c;c--){var d=a.ga[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function De(a){for(var b=[],c=0;c<a.ga.length;c++)b.push(a.ga[c][0]);return b}function Fc(a,b){for(var c=a.ga.length-1;0<=c;c--){var d=a.ga[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Be(a,b){var c=a.jb-=a.b;a.b=a.la=0;b&&(a.jb=0);return c}
h.ih=function(){if(this.A.V){this.wc>=this.Xc&&ye(this,!0);this.Pb=0;this.kc=rb();if(this.ib){var a=this.kc-this.ib;a>this.ld&&(this.Ia+=a,this.Ia>this.kc&&(this.Ia=this.kc))}try{do{var b=Ce(this,this.A.Lb?1:this.nc);try{this.zc(b)}catch(e){if("number"!=typeof e)throw e;}b=Be(this,!0);this.Pb+=b;this.Ja+=b;Hc(this,b);Fc(this,b);this.yb-=b;if(0>=this.yb){this.yb+=this.nc;++this.md>=Ee&&(this.J&&Ic(this.J,void 0),this.md=0);break}}while(this.A.V)}catch(e){H(this);this.J&&this.J.stop(rb(),we(this));
Kb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Yd;this.ib=rb();var c=this.ld;this.Pb&&(c=Math.round(c*this.Pb/this.nc));c-=this.ib-this.kc;var d=this.ib-this.Ia;d&&(this.ub=Math.round(this.Ja/(10*d))/100,864E5<=d&&(this.lb=0,xe(this)));if(0>c||this.ub<this.vb)-1E3>c&&(this.Ia-=c),c=0;this.wc+=this.Pb;this.ib+=c;a(b,c)}}};
function Dc(a,b){if(Lb(a))return!1;if(a.A.V)return a.v(a.toString()+" busy"),!1;xe(a);a.A.V=!0;a.A.Qc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&Ae(a.J,!0),a.J.start(a.Ia,we(a)));a.D||a.status("Started");setTimeout(a.Yd,0);return!0}h.zc=function(){return 0};function H(a,b){var c=!1;if(a.A.V){Be(a);Gc(a,a.Ja);a.Ja=0;a.A.V=!1;if(c=a.H.run)c.textContent="Run";a.J&&a.J.stop(rb(),we(a));c=!0;a.D||a.status("Stopped")}a.A.complete=b;return c}var ze=30,Ee=15,pe=["power","reset"];
function Fe(a){var b=+a.model||1170;oe.call(this,a,6666667);this.ja=b;this.Sc=+a.addrReset||0;this.Ka=this.w=this.N=this.C=this.G=this.K=this.I=0;this.g=this.ta=this.Y=[];this.M=this.B=this.Ga=this.uc=[];this.gb=this.O=this.Sd=this.wb=this.xb=this.pb=this.hb=this.P=this.rc=this.mb=this.Fa=this.S=this.sc=this.tc=this.X=this.i=0;this.Vd=[4,2,0,1];this.xc=0;this.Xd=255;1120>=this.ja?(this.ae=Ge.bind(this),this.Jb=this.Df,this.xc=8,this.Xd=-1,this.ee=255,this.de=0):(this.ae=He.bind(this),this.Jb=this.Ef,
this.ee=~(1792|(1140>=this.ja?2048:0))&65535,this.de=1140<this.ja?2048:0);this.Bc=this.Ac=this.pa=0;this.R=null;this.jc=[];this.gc=this.ad=this.pe;this.hc=this.bd=this.te;this.Rc=this.gd=this.ze;this.ic=this.jd=this.Ae;this.Ha=this.sb=this.oc=this.qc=0;this.xa=this.se;this.oa=this.Dd;this.Fb=this.Id;this.u=this.j=this.Vc=this.U=this.Z=0;this.A.complete=!1}q(Fe,oe);h=Fe.prototype;
h.Aa=function(a,b,c,d){oe.prototype.Aa.call(this,a,b,c,d);this.ad=b.Kd.bind(b);this.bd=b.yc.bind(b);this.gd=b.Ld.bind(b);this.jd=b.Yb.bind(b)};h.Ca=function(a,b){for(var c=192,d=0;d<this.jc.length;d++){var e=this.jc[d];0>e.Db&&(e.Db=c,c+=4)}return oe.prototype.Ca.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ja);this.A.V&&H(this);this.C=65536;this.G=32768;this.K=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Sc,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.Y=[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.B=[[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.Ga=[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.uc=[0,0,0,0,0,0,0,0];this.N=0;this.Ka=-1;this.u=this.j=this.Vc=this.U=this.Z=this.i=this.rc=0;Bc(this);re(this);this.A.error=!1;oe.prototype.reset.call(this)};function Bc(a){a.S=0;a.sc=0;a.tc=0;a.X=0;a.P=0;a.mb=0;a.Fa=255;a.wb=0;a.xb=0;a.pb=0;a.hb=262143;a.gb=a.g[7];a.O=0;a.R=null;a.F&&(Ie(a),a.Sd=qd(a.F))}
function Ie(a){a.gc=a.ad;a.hc=a.bd;a.Rc=a.gd;a.ic=a.jd;a.oc&&(a.gc=a.pe,a.hc=a.te);a.qc&&(a.Rc=a.ze,a.ic=a.Ae);a.wb?(a.Ha=65536,a.sb=a.X&16?4186112:253952,a.xa=a.se,a.oa=a.oc?a.ah:a.Dd,a.Fb=a.qc?a.vi:a.Id,id(a.F,a.X&16?22:18)):(a.Ha=0,a.sb=57344,a.xa=a.Hf,a.oa=a.oc?a.$g:a.ye,a.Fb=a.qc?a.ui:a.De,id(a.F,16))}function Dd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.pb<<1);return b}
function Ed(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.sc=a.O>>16&65535,a.tc=a.O&65535);a.S=b;a.xb=(b&96)>>5;a.pb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.wb!=c&&(a.wb=c,Ie(a))}}function Fd(a){a.S&57344||(a.sc=a.O>>16&65535);a=a.sc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function Hd(a){a.S&57344||(a.tc=a.O&65535);return a.tc}function Id(a,b){1170>a.ja&&(b&=-49);a.X!=b&&(a.X=b,a.hb=b&16?4194303:262143,Ie(a))}
function Je(a,b,c,d){a.Sc=b;Ac(a,b);Ld(a,0);a.F.reset();Bc(a);if(c){a.g[0]=d||0;for(b=1;5>=b;b++)a.g[b]=0;a.g[6]=1024;a.A.ca?a.A.V||Dc(a):a.A.qa=!0}else a.D&&a.A.ca?H(a)||a.J.A.reset||(te(a.D),Ic(a.J,-1)):!1===c&&H(a);!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0};
h.save=function(){var a=new G(this);a.set(0,[this.g,this.ta,this.Y,this.M,this.B,this.Ga,this.uc,this.P,this.rc,this.mb,this.Fa,this.xb,this.pb,this.gb,this.i,this.O,this.Ka,this.Ac,this.Bc,this.Sc]);a.set(1,[Kd(this),Dd(this),Fd(this),Hd(this),this.X]);a.set(2,[this.lb,this.kb,this.A.qa]);a.set(3,Ke(this));a.set(4,De(this));return a.data()};
h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ta=b.next().value;this.Y=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ga=b.next().value;this.uc=b.next().value;this.P=b.next().value;this.rc=b.next().value;this.mb=b.next().value;this.Fa=b.next().value;this.xb=b.next().value;this.pb=b.next().value;this.gb=b.next().value;this.i=b.next().value;this.O=b.next().value;this.Ka=b.next().value;this.Ac=b.next().value;this.Bc=b.next().value;this.Sc=b.next().value;b=a[1];Ld(this,
b[0]);Ed(this,b[1]);this.sc=b[2];this.tc=b[3];Id(this,b[4]);b=a[2];this.lb=b[0];xe(this,b[1]);this.A.qa=b[2];b=a[3];for(var c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.jc.length;d++){var e=this.jc[d];if(e.Db===b[c]){d=e;break a}}d=null}d&&(d.next=this.R,this.R=d)}a=a[4];for(b=0;b<this.ga.length&&b<a.length;b++)this.ga[b][0]=a[b];return!0};function Le(a){return a.C&65536?1:0}function Me(a){return a.G&32768?2:0}function Ne(a){return a.K&65535?0:4}function Oe(a){return a.I&32768?8:0}
function Pe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function Qe(a,b,c){c&&(Ac(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function Ac(a,b){a.g[7]=b&65535}function yd(a,b,c,d){b={Db:b,nb:c,message:d||0,name:$b[b],next:null};a.jc.push(b);return b}function Re(a,b){var c=a.R;if(c==b)a.R=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.R&&(a.i|=1)}
function wd(a,b){if(b){if(b!=a.R){var c=a.R;if(!c||c.nb<=b.nb)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.nb<=b.nb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&E(a,b.message|8)&&F(a,"setIRQ(vector="+u(b.Db)+",priority="+b.nb+")",!0,!0)}}function Cd(a,b){b&&(Re(a,b),b.message&&E(a,b.message|8)&&F(a,"clearIRQ(vector="+u(b.Db)+",priority="+b.nb+")",!0,!0))}function Ke(a){var b=[];for(a=a.R;a;)b.push(a.Db),a=a.next;return b}
function Se(a){return a.i&64?(a.ra(168,64,-6),!0):a.i&32?(a.ra(4,32,-5),!0):a.i&16?(a.ra(12,16,-7),!0):!1}function Kd(a){return a.w=a.w&63728|Oe(a)|Ne(a)|Me(a)|Le(a)}function Ld(a,b){b&=a.ee;a.I=b<<12;a.K=~b&4;a.G=b<<14;a.C=b<<16;if((b^a.w)&a.de)for(var c=a.ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.ta[c];a.ta[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.Y[c]=a.g[6],a.g[6]=a.Y[a.N]);a.w=b;a.i&=-3;a.i|=a.R?2:1}function Jd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.mb=b}
h.Da=function(a){this.I=this.K=a;this.G=0};h.ob=function(a,b){this.I=this.K=this.C=a;this.G=b||0};function Te(a,b){a.I=a.K=a.C=b;a.G=a.I^a.C>>1}function Ue(a,b,c,d){a.I=a.K=a.C=b;a.G=(c^d)&(d^b)}
h.ra=function(a,b,c){if(!this.pa){0>this.Ka?this.Ka=Kd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ha),e=this.oa(a+2&65535|this.Ha);Ld(this,e&-12289|this.Ka>>2&12288);Ve(this,this.Ka);Ve(this,this.g[7]);Ac(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ka=-1;this.Ac=c;this.Bc=a;-1==c&&H(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);Ac(a,b);Ld(a,c);a.i&=-17}function Ye(a,b){var c=b>>13&31;31>c&&(b=a.X&32?a.Ga[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.X&32&&(d.push(a.Ga[e]),d.push(b&8191))}else if(a.wb){e=a.N<<1;var f=b>>13;7<f&&(e|=1);a.X&a.Vd[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.hb;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.hb)}else c=b&65535,57344<=c&&(c|=a.sb),d.push(c);return d}
function Lc(a,b,c){if(!(c&a.wb)){var d=b&65535;57344<=d&&(d|=a.sb);return d}var e=b>>13;a.X&a.Vd[a.N]||(e&=7);var f=a.B[a.N][e];d=(a.M[a.N][e]<<6)+(b&8191)&a.hb;3932160<=d&&(d=Ye(a,d));if(a.pa)return d;d>=a.Sd&&d<a.sb?(a.P|=32,a.ra(4,0,d)):d&1&&!(c&1)&&(a.P|=64,a.ra(4,0,d));var g=0;switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!=(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
8128)&&(g|=16384));a.B[a.N][e]=f;if(d!=(4194170&a.hb)||a.N)a.xb=a.N,a.pb=e;g&&(g&57344&&(0<=a.Ka&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.pb<<1,Ed(a,a.S&-61695|g&61694)),a.ra(168,64,-2)),a.S&61440||!(d<(4191360&a.hb)||d>(4194239&a.hb))||(a.S|=4096,a.S&512&&(a.i|=64)));return d}function Xe(a){var b=a.oa(a.g[6]|a.Ha);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.O=a.O&65535|(a.O&-65536)<<8|16121856;a.i&256||a.Jb(4,-2,c);a.Fb(c,b)}
function $e(a,b,c,d){var e=d&8?0:a.Ha;switch(b){case 0:return a.ra(4,0,-3),0;case 1:return 6==c&&a.Jb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|e;case 2:var f=2;var g=a.g[c];6==c&&a.Jb(d,f,g);7!=c&&(g|=e,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;g=a.g[c];7!=c&&(g|=e);g=a.oa(g);g|=e;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);g=a.g[c]+f&65535;6==c&&a.Jb(d,f,g);7!=c&&(g|=e);a.b-=4;break;case 5:f=-2;g=a.g[c]-2&65535;7!=c&&(g|=e);g=a.oa(g)|e;a.b-=8;break;case 6:return g=a.oa(Pe(a,2)),g=g+a.g[c]&65535,6==c&&
a.Jb(d,0,g),a.b-=6,g|e;case 7:return g=a.oa(Pe(a,2)),g=g+a.g[c]&65535,g=a.oa(g|a.Ha),a.b-=10,g|e}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return g}h.Df=function(a,b,c){!this.N&&0>=b&&c<=this.Fa&&(this.i|=32)};h.Ef=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Fa&&(c<=this.Fa-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&ke(this.D,a,1);return this.ad(a)};h.te=function(a){this.D&&ke(this.D,a,2);return this.bd(a)};
h.ze=function(a,b){this.D&&le(this.D,a,1);this.gd(a,b)};h.Ae=function(a,b){this.D&&le(this.D,a,2);this.jd(a,b)};function Nc(a,b){a.pa++;b=a.F.yc(Lc(a,b,2));a.pa--;return b}function af(a,b){(b?--a.qc:--a.oc)||Ie(a)}h.Hf=function(a,b,c){return $e(this,a,b,c)};h.se=function(a,b,c){return Lc(this,$e(this,a,b,c),c)};h.ye=function(a){return this.F.yc(this.gb=a)};h.$g=function(a){this.D&&ke(this.D,a,2);return this.ye(a)};h.Dd=function(a){return this.F.yc(this.gb=Lc(this,a,2))};
h.ah=function(a){this.D&&ke(this.D,a,2);return this.Dd(a)};h.De=function(a,b){this.F.Yb(this.gb=a,b)};h.ui=function(a,b){this.D&&le(this.D,a,2);this.De(a,b)};h.Id=function(a,b){this.F.Yb(this.gb=Lc(this,a,4),b)};h.vi=function(a,b){this.D&&le(this.D,a,2);this.Id(a,b)};function bf(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=$e(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ha),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.Y[a.w>>12&3];return c}
function cf(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=$e(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Lc(a,e|c&65536,4),a.N=a.w>>14&3,a.ic(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.Y[a.w>>12&3]=d}function df(a,b){b>>=6;var c=a.Z=b&7;return(b=a.U=(b&56)>>3)?a.gc(a.xa(b,c,3)):a.g[c+a.xc]&a.Xd}function ef(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.U=(b&56)>>3)?c=a.hc(a.xa(b,d,2)):c=a.g[d+a.xc];return c}function ff(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return $e(a,b,c,8)}
function gf(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.gc(a.xa(b,c,3)):a.g[c]&255}function hf(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.hc(a.xa(b,d,2)):c=a.g[d];return c}function jf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Vc=a.xa(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Rc(e,d.call(a,c,a.gc(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 P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.xa(b,e,6),a.ic(e,d.call(a,0>c?a.g[-c-1]:c,a.hc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function kf(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.xa(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Rc(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 Cf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.xa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.ic(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.zc=function(a){this.A.complete=!0;var b=this.D?Df(this.D)?1:this.A.Qc?-1:0:0,c=a?this.A.Qc?0:1:-1;this.A.Qc=!1;this.jb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(Ef(this.D,this.g[7],c)){H(this);break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.mb&224)>>5,f=this.R&&this.R.nb>e?this.R:null;f&&(d=f.Db,e=f.nb);e>(this.w&224)>>5?(this.i&8&&(Pe(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Re(this,f),a=!0);this.R||this.mb||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&Ef(this.D,this.g[7],c)){H(this);break}if(0>c)break}if(this.i&112&&Se(this)){if(this.i&4&&Ef(this.D,this.g[7],c)){H(this);break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.ae(f)}while(0<this.b);return this.A.complete?this.jb-this.b:!1===this.A.complete?-1:0};db(function(){for(var a=A(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Fe(d);ub(d,c)}});
function Ff(a,b){var c=b+a;this.I=this.K=this.C=c;this.G=(a^c)&(b^c);return c&65535}function Gf(a,b){var c=b+a,d=c<<8;this.I=this.K=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function Hf(a,b){a=b<<1;Te(this,a);return a&65535}function If(a,b){a=b<<1;Te(this,a<<8);return a&255}function Jf(a,b){a=b&32768|b>>1|b<<16;Te(this,a);return a&65535}function Kf(a,b){a=b&128|b>>1|b<<8;Te(this,a<<8);return a&255}function Lf(a,b){a=b&~a;this.Da(a);return a}function Mf(a,b){a=b&~a;this.Da(a<<8);return a}
function Nf(a,b){a|=b;this.Da(a);return a}function Of(a,b){a|=b;this.Da(a<<8);return a}function Pf(a,b){a=~b|65536;this.ob(a);return a&65535}function Qf(a,b){a=~b|256;this.ob(a<<8);return a&255}function Rf(a,b){this.I=this.K=a=b-a;this.G=b&(b^a);return a&65535}function Sf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.K=c;this.G=b&(b^c);return a&255}function Tf(a,b){this.I=this.K=a=b+a;this.G=a&(b^a);return a&65535}function Uf(a,b){a=b+a;var c=a<<8;this.I=this.K=c;this.G=c&(b<<8^c);return a&255}
function Vf(a,b){a=-b;this.ob(a,a&b&32768);return a&65535}function Wf(a,b){a=-b;this.ob(a<<8,(a&b&128)<<8);return a&255}function Xf(a,b){a=b<<1|this.C>>16&1;Te(this,a);return a&65535}function Yf(a,b){a=b<<1|this.C>>16&1;Te(this,a<<8);return a&255}function Zf(a,b){a=(this.C&65536|b)>>1|b<<16;Te(this,a);return a&65535}function $f(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Te(this,a<<8);return a&255}function ag(a,b){var c=b-a;Ue(this,c,a,b);return c&65535}
function bg(a,b){var c=b-a;Ue(this,c<<8,a<<8,b<<8);return c&255}function cg(a,b){this.I=this.K=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function dg(a,b){a^=b;this.Da(a);return a&65535}function eg(a){P(this,a,ef(this,a),Ff);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
function fg(a){var b=hf(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.C=this.G=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.C=c<<17-b,c>>=b;else if(b)if(16<b)this.G=c,c=0;else{this.C=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.G=32768)}this.g[a]=c&65535;this.I=this.K=c;this.b-=(this.u?6:7)+b}
function gg(a){var b=hf(this,a),c=a>>6&7,d=this.g[c]<<16|this.g[c|1];this.C=this.G=0;b&=63;b&32?(b=64-b,32<b&&(b=32),a=d>>b-1,this.C=a<<16,a>>=1,d&2147483648&&(a|=4294967295<<32-b)):b?(a=d<<b-1,this.C=a>>15,a<<=1,32<b&&(b=32),(d>>=32-b)&&4294967295!==(d|4294967295<<b&4294967295)&&(this.G=32768)):a=d;this.g[c]=a>>16&65535;this.g[c|1]=a&65535;this.I=a>>16;this.K=a>>16|a;this.b-=(this.u?6:7)+b}function hg(a){Qe(this,a,!Le(this))}function ig(a){Qe(this,a,Le(this))}
function jg(a){P(this,a,ef(this,a),Lf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function kg(a){jf(this,a,df(this,a),Mf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function lg(a){P(this,a,ef(this,a),Nf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function mg(a){jf(this,a,df(this,a),Of);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
function ng(a){var b=ef(this,a);a=hf(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function og(a){var b=df(this,a);a=gf(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function pg(a){Qe(this,a,Ne(this))}function qg(a){Qe(this,a,!Oe(this)==!Me(this))}function rg(a){Qe(this,a,!Ne(this)&&!Oe(this)==!Me(this))}function sg(a){Qe(this,a,!Le(this)&&!Ne(this))}
function tg(a){Qe(this,a,Ne(this)||!Oe(this)!=!Me(this))}function ug(a){Qe(this,a,Le(this)||Ne(this))}function vg(a){Qe(this,a,!Oe(this)!=!Me(this))}function wg(a){Qe(this,a,Oe(this))}function xg(a){Qe(this,a,!Ne(this))}function yg(a){Qe(this,a,!Oe(this))}function zg(){this.ra(12,0,-9)}function Ag(a){Qe(this,a,!0)}function Bg(a){Qe(this,a,!Me(this))}function Cg(a){Qe(this,a,Me(this))}function Dg(a){a&1&&(this.C=0);a&2&&(this.G=0);a&4&&(this.K=1);a&8&&(this.I=0);this.b-=5}
function Eg(a){var b=ef(this,a);a=hf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ue(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function Fg(a){var b=df(this,a);a=gf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ue(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}
function Gg(a){var b=hf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=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.K=d>>16|d,this.I=d>>16):(this.G=32768,this.K=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.K=this.I=0,this.G=32768,this.C=65536,this.b-=7}function Hg(){this.ra(24,0,-9);this.b-=20}
function Ig(){this.w&49152?(this.P|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ja&&this.sa.setData(this.g[0],!0),this.D?Jg(this.D):H(this));this.b-=7}function Kg(){this.ra(16,0,-9);this.b-=20}var Lg=[0,7,7,10,7,11,9,13];function Mg(a){this.la=this.b;Ac(this,ff(this,a));this.b=this.la-Lg[this.u]}var Ng=[0,14,14,17,14,18,16,20];function Og(a){this.la=this.b;var b=ff(this,a);a=a>>6&7;Ve(this,this.g[a]);this.g[a]=this.g[7];Ac(this,b);this.b=this.la-Ng[this.u]}
var Pg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Qg(a){var b=ef(this,a);this.la=this.b;Cf(this,a,b,this.Da);this.b=this.la-Pg[(this.U?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Rg(a){var b=df(this,a);kf(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}var Sg=[7,13,13,17,14,18,17,21];
function Tg(a){var b=hf(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.K=this.I|b;this.G=0;this.C=-32768>b||32767<b?65536:0;this.b-=23}function Ug(){this.b-=5}function Vg(){this.w&49152||(this.F.reset(),Bc(this),this.sa&&this.sa.setData(this.g[0],!0));this.b-=667}function Wg(a){if(a&8)Q.call(this,a);else{var b=Xe(this);a&=7;7==a?Ac(this,b):(Ac(this,this.g[a]),this.g[a]=b);this.b-=9}}function Xg(){We(this);this.b-=13}
function Yg(a){a&1&&(this.C=65536);a&2&&(this.G=32768);a&4&&(this.K=0);a&8&&(this.I=32768);this.b-=5}function Zg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)Ac(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function $g(a){P(this,a,ef(this,a),ag);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function ah(a){P(this,a,0,cg);this.b-=this.u?9:3+(7==this.j?2:0)}function bh(){this.ra(28,0,-9)}
function ch(){this.sa&&(this.sa.Fd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Pe(this,-2);this.b-=3}function dh(a){P(this,a,this.g[(a>>6&7)+this.xc],dg);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Jg(b)):b=!1;b||this.ra(8,0,-9)}function Ge(a){eh[a>>12].call(this,a)}function fh(a){gh[a>>6&3].call(this,a)}function hh(a){ih[a>>6&3].call(this,a)}function jh(a){kh[a>>6&3].call(this,a)}
function lh(a){mh[a&15].call(this,a)}function nh(a){oh[a&15].call(this,a)}function ph(a){qh[a>>6&3].call(this,a)}function rh(a){sh[a>>6&3].call(this,a)}function th(a){uh[a>>6&3].call(this,a)}
var eh=[function(a){vh[a>>8&15].call(this,a)},Qg,Eg,ng,jg,lg,eg,Q,function(a){wh[a>>8&15].call(this,a)},Rg,Fg,og,kg,mg,$g,Q],vh=[function(a){xh[a>>4&15].call(this,a)},Ag,xg,pg,qg,vg,rg,tg,Og,Og,fh,hh,jh,Q,Q,Q],gh=[function(a){Cf(this,a,0,this.ob);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Pf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Rf);this.b-=this.u?9:3+(7==this.j?2:0)}],ih=[function(a){P(this,a,0,Vf);
this.b-=this.u?11:6},function(a){P(this,a,Le(this)?1:0,Ff);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Le(this)?1:0,ag);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=hf(this,a);this.ob(a);this.b-=this.u?4:3+(7==this.j?2:0)}],kh=[function(a){P(this,a,0,Zf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Hf);this.b-=this.u?9:3+(7==this.j?2:0)}],xh=
[function(a){yh[a&15].call(this,a)},Q,Q,Q,Mg,Mg,Mg,Mg,Wg,Q,lh,nh,ah,ah,ah,ah],yh=[Ig,ch,Xg,zg,Kg,Vg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],mh=[Ug,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},Dg,function(){this.K=1;this.b-=5},Dg,Dg,Dg,function(){this.I=0;this.b-=5},Dg,Dg,Dg,Dg,Dg,Dg,Dg],oh=[Ug,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Yg,function(){this.K=0;this.b-=5},Yg,Yg,Yg,function(){this.I=32768;this.b-=5},Yg,Yg,Yg,Yg,Yg,Yg,Yg],wh=[yg,wg,sg,ug,Bg,Cg,hg,ig,Hg,bh,ph,rh,
th,Q,Q,Q],qh=[function(a){kf(this,a,0,255,this.ob);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,1,Uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,1,Sf);this.b-=this.u?9:3+(7==this.j?2:0)}],sh=[function(a){jf(this,a,0,Wf);this.b-=this.u?11:6},function(a){jf(this,a,Le(this)?1:0,Gf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,Le(this)?1:0,bg);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=gf(this,
a);this.ob(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],uh=[function(a){jf(this,a,0,$f);this.b-=this.u?9+(this.Vc&1):3+(7==this.j?2:0)},function(a){jf(this,a,0,Yf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,0,Kf);this.b-=this.u?9+(this.Vc&1):3+(7==this.j?2:0)},function(a){jf(this,a,0,If);this.b-=this.u?9:3+(7==this.j?2:0)}];function He(a){zh[a>>12].call(this,a)}
var zh=[function(a){Ah[a>>8&15].call(this,a)},Qg,Eg,ng,jg,lg,eg,function(a){Bh[a>>8&15].call(this,a)},function(a){Ch[a>>8&15].call(this,a)},Rg,Fg,og,kg,mg,$g,Q],Ah=[function(a){Dh[a>>4&15].call(this,a)},Ag,xg,pg,qg,vg,rg,tg,Og,Og,fh,hh,jh,function(a){Eh[a>>6&3].call(this,a)},Q,Q],Eh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.oa(a|this.Ha);Ac(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=bf(this,a,0);this.Da(a);Ve(this,a);this.b-=11},function(a){var b=Xe(this);
this.la=this.b;this.Da(b);cf(this,a,0,b);this.b=this.la-Sg[this.u]},function(a){Cf(this,a,Oe(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],Dh=[function(a){Fh[a&15].call(this,a)},Q,Q,Q,Mg,Mg,Mg,Mg,Wg,function(a){!(a&8)||1145>this.ja?Q.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},lh,nh,ah,ah,ah,ah],Fh=[Ig,ch,function(){We(this);this.i|=this.w&16;this.b-=13},zg,Kg,Vg,Xg,function(a){Q.call(this,a)},Q,Q,Q,Q,Q,Q,Q,Q],Bh=[Tg,Tg,Gg,Gg,fg,fg,gg,gg,
dh,dh,Q,Q,Q,Q,Zg,Zg],Ch=[yg,wg,sg,ug,Bg,Cg,hg,ig,Hg,bh,ph,rh,th,function(a){1145>this.ja?Q.call(this,a):Gh[a>>6&3].call(this,a)},Q,Q],Gh=[function(a){Q.call(this,a)},function(a){a=bf(this,a,65536);this.Da(a);Ve(this,a);this.b-=11},function(a){var b=Xe(this);this.la=this.b;this.Da(b);cf(this,a,65536,b);this.b=this.la-Sg[this.u]},function(a){Q.call(this,a)}];
function Hh(a){x.call(this,"ROM",a,128);this.ha=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=za(this.j);if(this.j){a=this.j;var b=Aa(this.B);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Na(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(mb(c.tb,a,b),(a=Oa(a,b))?(c.g=a.aa,c.ha=a.ha):c.j=null);Ih(c)})}}q(Hh,x);
h=Hh.prototype;h.Aa=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Ih(this)};h.Ca=function(){this.ha&&(this.D&&Jh(this.D,this.id,this.u,this.b,this.ha),delete this.ha);return!0};h.Ba=function(){return!0};
function Ih(a){if(!Mb(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Kb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{a:{var b=a.u;if(57344<=b&&b<57344+ad){var c={};c=(c[b]=[Hh.prototype.Kg,Hh.prototype.bi,null,null,null,a.b>>1],c);if(mc(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(gd(a.F,b,a.b,$d)){for(c=0;c<a.g.length;c++)pd(a.F,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.F,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.F;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}}}D(a)}}h.Kg=function(a){return this.g[a-this.u]};h.bi=function(){};db(function(){for(var a=A(document,y,"rom"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Hh(d);ub(d,c)}});
function Kh(a){x.call(this,"RAM",a);this.ha=this.g=null;this.i=+a.addr;this.j=+a.size;this.za=a.load;this.ya=a.exec;null!=this.za&&(this.za=+this.za);null!=this.ya&&(this.ya=+this.ya);this.u=this.B=!1;this.b=a.file;this.w=za(this.b);if(this.b){a=this.b;var b=Aa(this.w);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Na(a,null,!0,function(a,b,f){f?(c.T("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.tb,a,b),(a=Oa(a,b))?(c.g=a.aa,
c.ha=a.ha,null==c.za&&(c.za=a.za),null==c.ya&&(c.ya=a.ya)):c.b=null);Lh(c)})}}q(Kh,x);Kh.prototype.Aa=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Lh(this)};Kh.prototype.Ca=function(a,b){this.ha&&(this.D&&Jh(this.D,this.id,this.i,this.j,this.ha),delete this.ha);b||this.reset();return!0};Kh.prototype.Ba=function(){return!0};
function Lh(a){if(a.F&&(!a.u&&a.j&&(gd(a.F,a.i,a.j,rd)?a.u=!0:a.j=0),!Mb(a))){if(!a.u)w("No RAM allocated");else if(a.b){if(!a.g)return;Mh(a,a.g,a.za,a.ya,a.i)?a.status('Loaded image "'+a.w+'"'):a.T('Error loading image "'+a.w+'"')}a.B=!0;D(a)}}
Kh.prototype.reset=function(){if(this.u&&!this.B){var a=this.F,b=this.i,c=this.j,d=b&a.i;for(b>>>=a.g;0<c&&b<a.b.length;){var e=a.b[b],f=d,g=c,k=0;f=f||0;k=(k||0)&255;void 0===g&&(g=e.size);if(Pb&&e.g)for(d=f;g--&&d<e.g.length;d++)e.g[d]=k;else for(d=f;g--&&d<e.size;d++)e.F(f,k,e.L+f);c-=a.j;b++;d=0}this.g&&Mh(this,this.g,this.za,this.ya,this.i,!this.D)}this.B=!1};
function Mh(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){F(a,"invalid signature ("+ya(m)+") at offset "+ya(n),4096);break}if(l+6>=b.length){F(a,"invalid block at offset "+ya(n),4096);break}l+=2;var t=b[l++]&255|(b[l++]&255)<<8,r=b[l++]&255|(b[l++]&255)<<8;m+=(t&255)+(t>>8)+(r&255)+(r>>8);for(var p=l,z=t-=6;0<t&&l<b.length;)m+=b[l++]&255,t--;if(0!=t||l>=b.length){F(a,"insufficient data for block at offset "+ya(n),4096);
break}m+=b[l++]&255;if(m&255){F(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+ya(n),4096);break}if(z)for(F(a,"loading "+ya(z)+" bytes at "+ya(r)+"-"+ya(r+z),4096);z--;)pd(a.F,r++,b[p++]&255);else r&1?g=!0:null==d&&(d=r),null!=d&&F(a,"starting address: "+ya(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)pd(a.F,c+e,b[e]);k=!0}if(k){if(null==d||g)H(a.f),f=!1;null!=d&&Je(a.f,d,f)}return k}
db(function(){for(var a=A(document,y,"ram"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Kh(d);ub(d,c)}});function Nh(a){x.call(this,"Keyboard",a,1024);D(this)}q(Nh,x);Nh.prototype.va=function(){return!1};Nh.prototype.Aa=function(a,b,c,d){this.J=a;this.f=c;this.D=d};db(function(){for(var a=A(document,y,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Nh(d);ub(d,c)}});
function Oh(a){x.call(this,"SerialPort",a,1048576);this.M=+a.adapter;this.S=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.K=a.upperCase;"string"==typeof this.K&&(this.K="true"==this.K);this.u=this.w=null;this.X=+a.tabSize;this.U=+a.charBOL;this.B=0;this.I=!0;this.P=this.N=null;this.R=this.Y=-1;this.C=this.b=this.g=0;this.j=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Ph;b&&(void 0===c&&(c="Panel"),(c=Db(c,this.id))&&(b=c.H[b])&&this.va(null,a,b))}this.i=this.G=this.O=null;this.exports=
{connect:this.ue,receiveData:this.Mc,receiveStatus:this.gh,setConnection:this.lh}}q(Oh,x);h=Oh.prototype;
h.va=function(a,b,c){var d=this;switch(b){case Ph:return this.H[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.Nd:sa.$b:46==c?b=sa.Nd:a.ctrlKey&&c>=sa.Jd&&c<=sa.yf&&(b=c-(sa.Jd-sa.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Mc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.He&&(b=sa.Ge);d.Mc(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.Mc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;var e=this;this.P=yd(this.f,this.M?-1:48,4,1048576);this.R=vd(this.f,function(){var a=-1;e.j.length&&(a=e.j.shift()&255,F(e,"receiveByte("+v(a,2,!0)+")"),e.K&&97<=a&&122>a&&(a-=32),xd(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&wd(c,e.P))});this.N=yd(this.f,this.M?-1:52,4,1048576);this.Y=vd(this.f,function(){e.g|=128;e.g&64&&wd(c,e.N)});mc(b,this,Qh,this.M?64832+8*(this.M-1)-65392:0);oc(b,this.reset.bind(this));
D(this)};h.ue=function(a){if(!this.i){var b=qe(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Wc)return;c=Ga(c[1]);if(this.i=xb(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.I);if(this.G=e.receiveData){this.I=a;this.O=e.receiveStatus;this.status("Connected "+this.tb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.Ca=function(a,b){if(!b)if(this.ue(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){Rh(this)};h.save=function(){var a=new G(this);a.set(0,[this.C,this.b,this.g,this.j]);return a.data()};h.restore=function(a){return Rh(this,a[0])};function Rh(a,b){b||(b=[0,8192,128,a.j]);b=ia(b);a.C=b.next().value;a.b=b.next().value;a.g=b.next().value;a.j=b.next().value;return!0}
h.Mc=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);xd(this.f,this.R,1E3/Math.round(this.S/10));return!0};h.gh=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&&wd(this.f,this.P))};h.lh=function(a,b){return this.i?!1:(this.i=a,this.G=b,!0)};
h.xg=function(){var a=this.b&65534;this.b&=-32769;return a};h.Ph=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.O&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.O.call(this.i,b))};h.wg=function(){this.b&=-129;return this.C};h.Oh=function(){};h.fh=function(){return this.g};h.xi=function(a){this.g&128&&(a&64?wd(this.f,this.N):Cd(this.f,this.N));this.g=this.g&-70|a&69};h.eh=function(){return 0};
h.wi=function(a){a&=255;this.G&&this.G.call(this.i,a);a&=127;if(this.u)if(13==a)this.B=0;else if(8==a)this.u.value=this.u.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=Ha[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.X||8,c=a-this.B%a,this.X&&(b=Fa("",c)));this.U&&!this.B&&c&&(b=String.fromCharCode(this.U)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==a||1024<=this.w.length)this.v(this.w),
this.w="";10!=a&&(this.w+=String.fromCharCode(a))}xd(this.f,this.Y,1E3/Math.round(this.Z/10));this.g&=-129};var Ph="buffer",Sh={},Qh=(Sh[65392]=[null,null,Oh.prototype.xg,Oh.prototype.Ph,"RCSR"],Sh[65394]=[null,null,Oh.prototype.wg,Oh.prototype.Oh,"RBUF"],Sh[65396]=[null,null,Oh.prototype.fh,Oh.prototype.xi,"XCSR"],Sh[65398]=[null,null,Oh.prototype.eh,Oh.prototype.wi,"XBUF"],Sh);db(function(){for(var a=A(document,y,"serial"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Oh(d);ub(d,c)}});
function Md(a){x.call(this,"PC11",a,4096);this.N=Th(this,a.autoMount);this.g=0;this.U=+a.baudReceive||3600;this.w=this.b=0;this.K=32768;this.i=this.R=0;this.C=[];this.B=Uh;this.j=Vh;this.M=this.u="";this.aa=this.za=this.ya=null;this.P=-1;this.O=!Ua("Mobi")&&window&&"FileReader"in window;this.G=null;this.S=-1;this.I=null}q(Md,x);function Th(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Md.prototype;
h.va=function(a,b,c){var d=this,e=Vh;switch(b){case "listTapes":return this.H[b]=c,c.onchange=function(){var a=d.H.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){w("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.H[b]=c,!0;case "readTape":e=Wh;case "loadTape":return e||(e=Xh),this.H[b]=c,c.onclick=
function(){var a=d.H.listTapes;a&&Yh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.H[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;Yh(d,za(b,!0),b,Xh,a)}return!1};return!0;case Zh:return this.H[b]=c,!0}return!1};
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;this.I=$h(a);var e=this;if(a=Th(this,qe(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=yd(this.f,56,4,4096);this.S=vd(this.f,function(){1!=(e.b&32769)||e.b&128||(e.i<e.C.length?(e.w=e.C[e.i]&255,E(e)&&F(e,e.type+".advanceReader("+e.i+"): "+v(e.w,2,!0),!0),e.i++,ai(e,e.i/e.C.length*100)):e.b|=32768,e.b|=128,e.b&=-2049,e.b&64&&wd(e.f,e.G))});mc(b,this,bi);oc(b,this.reset.bind(this));ci(this,"None",Uh,!0);this.O&&ci(this,
"Local Tape",di);ci(this,"Remote Tape",ei);fi(this)||D(this)};h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.w=0};function fi(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.H.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=za(c,!0)}c&&b?gi(a,b,c,Xh,!0):hi(a)}return!!a.g}
function Yh(a,b,c,d,e){if(c)if(c==di)a.T('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==ei){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=za(c);a.status("Attempting to load "+c+' as "'+b+'"');a.B=ei}else a.B=c;gi(a,b,c,d,!1,e)}else ii(a,!1)}
function gi(a,b,c,d,e,f){var g=-1;if(a.u.toLowerCase()!=c.toLowerCase()||a.j!=d)g++,ii(a,!0),a.A.bb?a.T("PC11 busy"):(e&&(a.g++,E(a)&&F(a,"auto-loading tape: "+b)),ji(a,b,c,d,f)?g++:a.A.bb=!0);g&&ki(a,a.M,a.u,a.j,a.aa,a.za,a.ya)}
function ji(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),ki(a,b,c,d,e),a.B=di);a.A.bb=!1;hi(a)};g.readAsArrayBuffer(e);return!1}0>c.indexOf("/api/v1/dump")&&(e=Aa(c),f="json"==e||"gz"==e?encodeURI(c):Pa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Na(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.ca;g?a.T('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(mb(a.tb,e,f),(e=Oa(e,f))&&ki(a,b,c,d,
e.aa,e.za,e.ya));a.A.bb=!1;a.g&&(a.g--,a.g||D(a));hi(a)})}function ci(a,b,c,d){if((a=a.H.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 hi(a){var b=a.H.listTapes;if(b&&b.options){a=a.B||a.u;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 ai(a,b){b|=0;if(b!==a.P){var c=a.H[Zh];c&&(c=(c=A(c,li))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function ki(a,b,c,d,e,f,g){a.M=b;a.u=c;a.j=d;a.aa=e;a.za=f;a.ya=g;d==Wh?a.I&&Mh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.T('No valid memory address for tape "'+b+'"'):(a.i=0,a.C=e,a.b&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),ai(a,0))}function ii(a,b){if(a.u||!1===b)a.M="",a.u="",b||(a.j&&a.status(a.j==Xh?"tape detached":"tape unloaded"),a.B=Uh,a.j=Vh,hi(a))}h.save=function(){return(new G(this)).data()};h.restore=function(){return!0};h.qg=function(){return this.b&65534};
h.Ih=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&wd(this.f,this.G)):(this.b&=-129,this.b|=2048,this.w=0,xd(this.f,this.S,1E3/Math.round(this.U/10))));this.b=this.b&-66|a&65};h.pg=function(){this.b&=-129;this.b|=2048;return this.w};h.Hh=function(){};h.og=function(){return this.K};h.Gh=function(a){this.K=this.K&-65|a&64};h.ng=function(){return this.R};h.Fh=function(a){this.R=a&255};
var Uh="",di="?",ei="??",Vh=0,Xh=1,Wh=2,Zh="readProgress",li="pcjs-progress-bar",mi={},bi=(mi[65384]=[null,null,Md.prototype.qg,Md.prototype.Ih,"PRS"],mi[65386]=[null,null,Md.prototype.pg,Md.prototype.Hh,"PRB"],mi[65388]=[null,null,Md.prototype.og,Md.prototype.Gh,"PPS"],mi[65390]=[null,null,Md.prototype.ng,Md.prototype.Fh,"PPB"],mi);
function ni(a,b,c){x.call(this,"Disk",{id:a.tb+".disk"+v(++oi,4)},8192);this.controller=a;this.J=a.J;this.D=a.D;this.u=b;this.Wa=b.name;this.Oa=this.Ed="";this.yd=b.yd;this.ba=this.ka=this.ea=this.ua=this.mode=0;this.b=[];this.i=null;this.j=!1;this.create(c,b.ba,b.ka,b.ea,b.ua);this.g=this.w=null;D(this)}q(ni,x);h=ni.prototype;h.Aa=function(a,b,c,d){this.D=d};
h.create=function(a,b,c,d,e){this.mode=a;this.ba=b;this.ka=c;this.ea=d;this.ua=e;this.b=[];if("preload"!=this.mode){a=Array(this.ba);for(b=0;b<a.length;b++){c=Array(this.ka);for(d=0;d<c.length;d++){e=Array(this.ea);for(var f=1;f<=e.length;f++)e[f-1]=pi(null,b,d,f,this.ua,0);c[d]=e}a[b]=c}this.b=a}this.i=null};
function qi(a,b,c,d,e){var f=c;if(a.g)return!0;a.Wa=b;a.Oa=c;a.Ed=za(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c=b?b.byteLength:0,d=ra[c];if(d){a.ba=d[0];a.ka=d[1];a.ea=d[2];a.ua=d[3]||512;var e=a.ua>>2;var f=d=0;b=new DataView(b,0,c);a.b=Array(a.ba);for(c=0;c<a.b.length;c++)for(var r=a.b[c]=Array(a.ka),p=0;p<r.length;p++)for(var z=r[p]=Array(a.ea),B=0;B<z.length;B++){for(var C=pi(null,c,p,B+1,a.ua,0),J=C.data,Wb=0;Wb<e;Wb++,f+=4){var Gd=J[Wb]=b.getInt32(f,
!0);d=d+Gd&-1}C.La=e;z[B]=C}a.i=d;e=a}else a.T("Unrecognized disk format ("+c+" bytes)");a.g&&(a.g.call(a.controller,a.u,e,a.Wa,a.Oa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Aa(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"):Ba(c,"/")&&(d="dir"),f=Pa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.yd?"":e)+"&format=json"));return!!Na(f,
null,!0,function(b,c,d){ri(a,b,c,d)})}
function ri(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ca;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Wa+'" (error '+d+": "+b+")",f);else{mb(a.controller.tb,b,c);try{if(0<za(a.Ed,!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.Wa]: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)w(k[0]);else{a.ba=k.length;a.ka=k[0].length;a.ea=k[0][0].length;var l=k[0][0][0];a.ua=l&&l.length||512;for(d=c=0;d<a.ba;d++)for(f=0;f<a.ka;f++)for(g=0;g<a.ea;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);m>>=2;var n=l.pattern;void 0===n&&(n=l.pattern=0);var t=l.data;if(void 0===t){var r=l.bytes;if(void 0!==r&&r.length){for(var p=m<<2,z=r.length;z<p;z++)r[z]=n;si(l,r)}else t=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=t;delete l.bytes}pi(l,d,f);for(p=
0;p<t.length;p++)c=c+t[p]&-1}a.b=k;a.i=c;e=a}else w("Empty disk image: "+a.Wa)}catch(B){w("Disk image error ("+b+"): "+B.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Wa,a.Oa),a.g=null)}function pi(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ak=b;a.Bk=c;a.Ua=a.La=0;a.cb=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.u,g=this.b[a];if(g){var k=g[b];if(!k&&f.Af&&b<f.ka)for(k=g[b]=Array(f.Bf),g=0;g<k.length;g++)k[g]=pi(null,a,b,g+1,f.ve,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Af&&9==f.je&&(d=k[g]=pi(null,a,b,f.je,f.ve,0))}}e&&e(d,!1);return d};function si(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){c=a.data;var 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.La?f<a.Ua?(a.La+=a.Ua-f,a.Ua=f):f>=a.Ua+a.La&&(a.La+=f-(a.Ua+a.La)+1):(a.Ua=f,a.La=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function ti(a,b){var c=a.ka*a.ea,d=b/c|0;return d<a.ba?(b%=c,a.seek(d,b/a.ea|0,b%a.ea+1)):null}function ui(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}
h.save=function(){var a=0,b=[];b[a++]=[this.Oa,this.i,this.ba,this.ka,this.ea,this.ua];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.La){for(var k=[],l=0,m=g.Ua,n=g.Ua+g.La;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ua,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?this.create("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.Ua=e;for(k.La=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Wa+": "+c);return b};var oi=0;
function vi(a,b,c,d,e,f){x.call(this,a,b,c);this.N=wi(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.Yc;this.g=Array(this.P);this.O=!Ua("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Ad,selectDrive:this.kh,wait:this.oh}}q(vi,x);function wi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=vi.prototype;
h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){xi(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&yi(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Ad()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a=
d.g[ta(a.value,10)||0])if(a=a.da){for(var b="",c=0,k;k=ti(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(ui(a,k,l));b=btoa(b);a=a.Ed.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
(a?" ("+a+")":"")+".");w(a)}else d.T("No disk loaded in drive.");else d.T("No disk drive selected.")};return!0;case "mountDisk":if(this.O)return this.H[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;d.Ad(za(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=wi(this,qe(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Qa=yd(this.f,this.R.td,this.R.pd,this.ia);mc(b,this,this.U);oc(b,this.reset.bind(this));zi(this,"None",$i,!0);this.O&&zi(this,"Local Disk",bj);zi(this,"Remote Disk",cj);dj(this)||D(this)};
h.Ca=function(a,b){if(!b){if(!a){if(this.reset(),this.J.N){this.B=[];for(a=0;a<this.g.length;a++)ej(this,a,!0);dj(this,!0)}}else if(!this.restore(a))return!1;if(a=this.H.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.P;b++){var c=document.createElement("option");c.value=b;c.text=this.g[b].Oc||"---";a.appendChild(c)}0<this.P&&(a.value="0",yi(this,0))}}return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.Ab();fj(this)};
h.save=function(){var a=new G(this);a.set(0,this.Pc());a.set(1,gj(this));a.set(2,hj(this));return a.data()};h.restore=function(a){var b=!0;this.Ab(a[0])||(b=!1);var c=a[1];c&&(this.B=c);fj(this,a[2])||(b=!1);return b};h.Ab=function(){return!0};h.Pc=function(){return[]};
function fj(a,b){for(var c=0;c<a.g.length;c++){var d=a.g[c];void 0===d&&(d=a.g[c]={});var e=a,f=d;d=c;var g=a.S,k=b&&b[c],l=0;f.Qb=d;f.name=e.Wc;f.Kc=f.Nb=!1;f.fc=null;f.yd=!0;f.Oc=g[l++]+d;f.ba=g[l++];f.ka=g[l++];f.ea=g[l++];f.ua=g[l++];f.Jf=g[l++];f.Kf=g[l++];f.Lf=g[l++];f.Cf=g[l++];f.status=g[l];f.uk=0;f.tk=0;f.je=1;f.Bf=f.ea;f.ve=f.ua;f.Ck=0;f.Kk=null;f.da||(f.Oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],ej(e,d,!0),g.Nb=!0,d=new ni(e,g,"preload"),e.ne(g,d,f,k,!0)):ij(e,d,l,g,!0)?f.da&&g&&jj(e,
l,g,f.da):D(e,!1))}return!0}function hj(a){for(var b=[],c=0;c<a.g.length;c++){var d=a.g[c];b.push([d.Nb,d.Wa,d.Oa])}return b}function gj(a){for(var b=0;b<a.g.length;b++){var c=a.g[b];c.da&&kj(a,c.Oa,c.da)}return a.B}
function dj(a,b){b||(a.M=0);for(var c in a.N){var d=a.N[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.H.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=za(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)){!ij(a,g,f,e,!0)&&b&&D(a,!1);continue}a.T("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.M}
h.Ad=function(a,b,c){if(!a&&!b){var d=this.H.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.H.listDrives)&&ta(d.value,10);if(void 0===d||0>d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return ej(this,d),!0;if(b==bj)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==cj){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=za(b);this.status("Attempting to load "+b+' as "'+
a+'"')}ij(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;Je(this.f,0,!0,b);return(a=this.Rb(a,a.Jf,a.Kf,a.Lf,a.Cf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
function ij(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,ej(a,b,!0),k.Kc?a.T(a.type+" busy"):(k.Kc=!0,e&&(k.xd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Nb=!!f,qi(new ni(a,k,"preload"),c,d,f,a.ne)&&g++));return g}
h.ne=function(a,b,c,d,e){a.Kc=!1;b&&(b.ba>a.ba||b.ka>a.ka)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Qb].Oc||"---")),b=null);b?(a.da=b,a.Wa=c,a.Oa=d,this.we(a.Qb),jj(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Qb].Oc||"---"),a.xd||e),this.J&&Ae(this.J)):a.Nb=!1;a.xd&&(a.xd=!1,--this.M||D(this));yi(this,a.Qb);a.fc&&(a.fc(),a.fc=null)};
function zi(a,b,c,d){if((a=a.H.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 yi(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.H.listDisks;a=a.H.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ta(a.options[c].value,10)==e.Qb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ta(a.value,10);e=e.Nb?bj:e.Oa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.kh=function(a){var b=this.H.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ta(b.options[d].value,10);if(0<=e)return yi(this,e,!0)}return!1};
function xi(a){var b=a.H.listDisks,c=a.H.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){w(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.oh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Kc)return c.fc||(c.fc=a),!1}return!0};
function ej(a,b,c){var d=a.g[b];if(d.da||!1===c)kj(a,d.Oa,d.da),d.Wa="",d.Oa="",d.da=null,d.Nb=!1,c||(a.T("Drive "+(a.g[b].Oc||"---")+" unloaded",c),yi(a,b))}function jj(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function kj(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}h.we=function(){};h.Rb=function(){return-1};h.Tc=function(){return-1};var $i="",bj="?",cj="??";
function N(a){vi.call(this,"RK11",a,65536,Xb,Xb.Ec,lj);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}q(N,vi);h=N.prototype;h.Ab=function(a){a||(a=[mj.Ec|mj.ce|mj.Zd,0,R.Ya,0,0,0,0]);a=ia(a);this.G=a.next().value;this.i=a.next().value;this.b=a.next().value;this.w=a.next().value;this.u=a.next().value;this.j=a.next().value;this.C=a.next().value;return!0};h.Pc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
h.Rb=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null;a||(m=S.Td,e=0);for(;e;){if(!n){if(b>=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1);if(!n){m=S.be;break}var t=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}var r,p;if(0>(r=a.read(n,t++))||0>(p=a.read(n,t++))){m=S.Dc;break}if(!k&&(Kc(this.F,Ye(this.f,f),r|p<<8),ud(this.F))){m=S.bc;break}t>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Tc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null;a||(m=S.Td,e=0);for(;e;){var t=Mc(this.F,Ye(this.f,f));if(ud(this.F)){m=S.bc;break}if(!n){if(b>=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.be;break}var r=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}if(k){var p,z;if(0>(p=a.read(n,r++))||0>(z=a.read(n,r++))){m=S.Dc;break}if(t!=(p|z<<8)){m=S.fe;break}}else if(!a.write(n,r++,t&255)||!a.write(n,r++,t>>8)){m=S.Dc;break}r>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.$e=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Hb|f>>16-R.ma.Hb&R.Hb;this.w=65536-e&65535;this.j=this.j&~nj.qd|d&nj.qd;this.i|=a;oj(this);return!0};function oj(a){a.b&=~R.fb;a.i&&(a.i|=S.Je,a.b|=R.fb,a.i&S.cd&&(a.b|=R.cd),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Cg=function(){return this.G};h.Uh=function(){};h.Dg=function(){return this.i};h.Vh=function(){};h.zg=function(){return this.b&R.cc};
h.Rh=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.ac){a=!0;var b,c="",d=(this.j&nj.qb)>>nj.ma.qb,e=this.g[d];this.b&=~(R.Ya|R.rd);this.i&=~S.rf;switch(b=this.b&R.wa){case pj.Ee:E(this)&&F(this,this.type+": CRESET("+d+")",!0);this.i=this.j=0;this.b=R.Ya;break;case pj.Ve:c="RCHK";case pj.rb:c||(c="READ");var f=this.Rb;case pj.ud:c||(c="WCHK");case pj.ec:c||(c="WRITE");f||(f=this.Tc);var g=(this.j&nj.Zb)>>nj.ma.Zb;var k=(this.j&nj.fd)>>nj.ma.fd;var l=this.j&nj.qd;var m=65536-this.w&65535;var n=
(this.b&R.Hb)<<16-R.ma.Hb|this.u;var t=this.b&R.Re?0:2;E(this)&&F(this,this.type+": "+c+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=e.ba){this.i|=S.Cc;break}if(l>=e.ea){this.i|=S.Dc;break}a=f.call(this,e,g,k,l,m,n,t,b>=pj.ud,this.$e.bind(this));break;case pj.Ic:g=(this.j&nj.Zb)>>nj.ma.Zb;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g<e.ba?this.b|=R.rd:this.i|=S.Cc;break;case pj.Ke:E(this)&&F(this,this.type+": DRESET("+d+")");this.i=this.j=0;this.b=R.Ya|R.rd;break;default:E(this)&&F(this,
this.type+": UNSUPPORTED("+b+")")}this.G=e.status|(e.da?mj.Ea:0)|d<<mj.ma.hd|this.j&mj.qf;oj(this);a&&(this.b&=~R.ac,this.b|=R.Ya,this.b&R.Gb&&wd(this.f,this.Qa))}};h.Eg=function(){return this.w};h.Wh=function(a){this.w=a};h.yg=function(){return this.u};h.Qh=function(a){this.u=a};h.Ag=function(){return this.j};h.Sh=function(a){this.j=a};h.Bg=function(){return this.C};h.Th=function(a){this.C=a};
var mj=Xb.Fc,S=Xb.cf,R=Xb.af,nj=Xb.bf,pj=Xb.wa,qj={},lj=(qj[65280]=[null,null,N.prototype.Cg,N.prototype.Uh,"RKDS"],qj[65282]=[null,null,N.prototype.Dg,N.prototype.Vh,"RKER"],qj[65284]=[null,null,N.prototype.zg,N.prototype.Rh,"RKCS"],qj[65286]=[null,null,N.prototype.Eg,N.prototype.Wh,"RKWC"],qj[65288]=[null,null,N.prototype.yg,N.prototype.Qh,"RKBA"],qj[65290]=[null,null,N.prototype.Ag,N.prototype.Sh,"RKDA"],qj[65294]=[null,null,N.prototype.Bg,N.prototype.Th,"RKDB"],qj);
function Nd(a){vi.call(this,"RL11",a,131072,Yb,Yb.df,rj);this.b=this.C=this.i=this.j=this.w=this.u=0}q(Nd,vi);h=Nd.prototype;h.Ab=function(a){a||(a=[U.Ea|U.Ya,0,0,0,0,0]);a=ia(a);this.b=a.next().value;this.C=a.next().value;this.i=a.next().value;this.j=a.next().value;this.w=a.next().value;this.u=a.next().value;return!0};h.Pc=function(){return[this.b,this.C,this.i,this.j,this.w,this.u]};
h.Rb=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=sj.Za,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=sj.Za;break}var m=0}var n,t;if(0>(n=a.read(k,m++))||0>(t=a.read(k,m++))){g=sj.Za;break}Kc(this.F,Ye(this.f,f),n|t<<8);if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g};
h.Tc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=sj.Za,e=0);for(;e;){var m=Mc(this.F,Ye(this.f,f));if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=sj.Za;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=sj.Za;break}if(n>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g};
h.ef=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Xa|f>>16-U.ma.Xa&U.Xa;this.u=f>>16&tj.$a;this.j=this.i=b<<uj.ma.dc|(c?uj.Hc:0)|d&uj.$d;this.w=65536-e&65535;a&&(this.b=this.b|a|U.fb);return!0};h.Hg=function(){return this.b&U.cc};
h.Zh=function(a){this.b=this.b&~U.Sa|a&U.Sa;this.u=this.u&60|(a&U.Xa)>>U.ma.Xa;if(!(this.b&U.Ya)){a=!0;var b="",c=this.g[(this.b&U.qb)>>U.ma.qb],d=c.da;this.b&=~U.Ea;switch(this.b&U.wa){case vj.vf:this.w&wj.Rd&&(this.b&=U.Ea|U.wa|U.Xa);this.w=c.status|this.j&uj.Hc|(d&&512==d.ba?wj.Oe:0);break;case vj.Ic:if((this.i&uj.Ne)==uj.sf){var e=this.i&uj.dc;b=(this.i&uj.uf)<<2;this.j=this.i&uj.tf?this.j+e:this.j-e;this.i=this.j=this.j&uj.dc|b}break;case vj.Ze:this.w=this.j;break;case vj.We:b="READ",e=this.Rb;
case vj.xf:b||(b="WRITE");e||(e=this.Tc);var f=this.i>>uj.ma.dc;var g=this.i&uj.Hc?1:0;var k=this.i&uj.$d;!d||f>=d.ba||k>=d.ea?this.b=this.b|sj.Za|U.fb:(a=65536-this.w&65535,d=(this.u&tj.$a)<<16|this.C,E(this)&&F(this,this.type+": "+b+"("+f+":"+g+":"+k+") "+u(d)+"--"+u(d+(a<<1)),!0,!0),a=e.call(this,c,f,g,k,a,d,2,!1,this.ef.bind(this)))}a&&(this.b=this.b|U.Ea|U.Ya,this.b&U.Gb&&wd(this.f,this.Qa))}};h.Fg=function(){return this.C};h.Xh=function(a){this.C=a&xj.Sa};h.Ig=function(){return this.i};
h.$h=function(a){this.i=a};h.Jg=function(){return this.w};h.ai=function(a){this.w=a};h.Gg=function(){return this.u};h.Yh=function(a){this.u=a&tj.$a;this.b=this.b&~U.Xa|(this.u&3)<<U.ma.Xa};
var U=Yb.hf,xj=Yb.ff,uj=Yb.jf,wj=Yb.Gc,tj=Yb.gf,sj=Yb.Qd,vj=Yb.wa,yj={},rj=(yj[63744]=[null,null,Nd.prototype.Hg,Nd.prototype.Zh,"RLCS"],yj[63746]=[null,null,Nd.prototype.Fg,Nd.prototype.Xh,"RLBA"],yj[63748]=[null,null,Nd.prototype.Ig,Nd.prototype.$h,"RLDA"],yj[63750]=[null,null,Nd.prototype.Jg,Nd.prototype.ai,"RLMP"],yj[63752]=[null,null,Nd.prototype.Gg,Nd.prototype.Yh,"RLBE"],yj);
function Od(a){vi.call(this,"RX11",a,262144,Zb,Zb.kf,zj);this.I=this.G=this.i=this.K=this.b=this.C=0;this.j=V.Ib;this.u=0;this.w=Array(128).fill(0)}q(Od,vi);h=Od.prototype;h.Ab=function(a){a?(a=ia(a),this.b=a.next().value,this.C=a.next().value,this.I=a.next().value,this.G=a.next().value,this.i=a.next().value,this.K=a.next().value,this.j=a.next().value,this.u=a.next().value,this.w=a.next().value):(this.C=this.b=0,this.G=this.I=1,this.K=this.i=0,this.j=V.rb,this.u=0,Cd(this.f,this.Qa),Aj(this));return!0};
h.Pc=function(){return[this.b,this.C,this.I,this.G,this.i,this.K,this.j,this.u,this.w]};h.we=function(a){0==a&&this.Ab()};function Bj(a,b){b&&(a.K=b,a.C=a.i,a.b|=W.fb);a.j=V.Ib;a.b|=W.DONE;a.b&W.Gb&&wd(a.f,a.Qa)}
h.Rb=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.da,n=null;E(this)&&F(this,this.type+".readData("+b+":"+c+":"+d+") "+u(f)+"--"+u(f+(e<<1)),!0,!0);m||(k=a.Qb?Cj.ed:Cj.dd,e=0);for(;e;){if(!n){if(b>=m.ba){k=Cj.Te;break}n=m.seek(b,c,d+1);if(!n){k=Cj.od;break}var t=0;++d>=m.ea&&(d=0,++c>=m.ka&&(c=0,++b))}var r;if(0>(a=m.read(n,t++))||0>(r=m.read(n,t++))){k=Cj.nd;break}Kc(this.F,Ye(this.f,f),a|r<<8);t>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
function Aj(a){var b=0,c=a.b&W.sd?1:0,d=a.g[c];d=d&&d.da;var e=a.I&Dj.$a,f=a.G&Ej.$a;a.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(d)if(a.i|=Fj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;e<f;){var g=d.read(c,e);if(0>g){b=Cj.nd;break}a.w[e++]=g}c.Ff&&(a.i|=Fj.$b)}else b=Cj.od;else b=c?Cj.ed:Cj.dd;Bj(a,b)}
h.Lg=function(a,b){a=this.b;if(!b)switch(a&=W.cc,this.j){case V.$c:case V.EMPTY:this.u<this.w.length&&(this.b|=W.ab);break;case V.rb:case V.ec:case V.Jc:2>this.u&&(this.b|=W.ab)}return a};
h.ci=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Ab();else if(this.b&W.ac&&this.j==V.Ib)switch(this.j=this.b&W.wa,this.b&=~(W.ac|W.ab|W.DONE|W.fb),Cd(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+Gj[this.j>>1]+")",!0,!0),this.j){case V.$c:case V.EMPTY:case V.rb:case V.ec:case V.Jc:this.u=0;break;case V.Ye:a=this.g[this.b&W.sd?1:0];this.i&=~Fj.Ea;a&&a.da&&(this.i|=Fj.Ea);this.C=this.i;Bj(this);break;case V.Xe:this.C=this.K,Bj(this)}else this.b&W.Gb?this.b&W.DONE&&wd(this.f,
this.Qa):Cd(this.f,this.Qa)};h.Mg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.ab&&(this.b&=~W.ab,this.C=this.w[this.u]&255,E(this)&&F(this,this.type+".readByte("+this.u+"): "+v(this.C,2,!0),!0,!0),++this.u>=this.w.length&&Bj(this))}return this.C};
h.di=function(a){switch(this.j){case V.$c:this.b&W.ab&&(this.b&=~W.ab,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&Bj(this));break;case V.rb:case V.ec:case V.Jc:if(this.b&W.ab)switch(this.b&=~W.ab,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.rb)Aj(this);else{var b=this.j==V.Jc,c=0,d=this.b&W.sd?1:0,e=this.g[d];e=e&&e.da;var f=this.I&Dj.$a,g=this.G&Ej.$a;this.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(e)if(this.i|=Fj.Ea,
E(this)&&F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ff=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=Cj.nd;break}b++}else c=Cj.od;else c=d?Cj.ed:Cj.dd;Bj(this,c)}}}this.C=a};var W=Zb.lf,Dj=Zb.pf,Ej=Zb.nf,Fj=Zb.mf,V=Zb.wa,Cj=Zb.Me,Gj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),Hj={},zj=(Hj[65144]=[null,null,Od.prototype.Lg,Od.prototype.ci,"RXCS"],Hj[65146]=[null,null,Od.prototype.Mg,Od.prototype.di,"RXDB"],Hj);
function Ij(a){x.call(this,"Debugger",a);this.W=+a.base||16;this.O=["{","}"];this.ja=["[","]"];this.B=0;this.R=!1;this.w=-1;this.u=[];this.i={}}q(Ij,x);Ij.prototype.re=function(){return-1};Ij.prototype.zd=function(){};
function Jj(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+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(Ga(b.substring(c,f))),c=f+1}}return a}
function Kj(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
function Lj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop();var f=a.pop();switch(d){case "*":f*=e;break;case "/":if(!e)return!1;f=Math.trunc(f/e);break;case "^/":if(!e)return!1;f%=e;break;case "+":f+=e;break;case "-":f-=e;break;case "<<":f<<=e;break;case ">>":f>>=e;break;case ">>>":f>>>=e;break;case "<":f=f<e?1:0;break;case "<=":f=f<=e?1:0;break;case ">":f=f>e?1:0;break;case ">=":f=f>=e?1:0;break;case "==":f=f==e?1:0;break;case "!=":f=f!=e?1:0;break;
case "&":f&=e;break;case "!":case "|":f|=e;break;case "^!":f|=e;break;case "&&":f=f&&e?1:0;break;case "||":f=f||e?1:0;break;case ",,":f=Kj(f,18,!0)*Math.pow(2,18)+Kj(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=Kj(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(Kj(f))}return!0}
function Mj(a,b,c,d,e,f){var g,k=!1,l=0,m=[],n=[],t=a.W;for(a.W=e;c<d;){var r=b[c++].trim();var p=c<d?b[c++]:"";if(r)var z=Nj(a,r,null,f,l);else if("{"==p){r=1;for(z=c;c<d;)if(c++,p=c<b.length?b[c++]:"","{"==p)r++;else if("}"==p&&!--r)break;z=Mj(a,b,z,c-1,a.W,f);null!=z&&l&&(z=Oj(z,l));r=c<d?b[c++].trim():"";p=c<d?b[c++]:""}else{if(" "==p)continue;if("^B"==p){a.W=2;continue}if("^O"==p){a.W=8;continue}if("^D"==p){a.W=10;continue}if(!(l&-1073741824)){if("+"==p)continue;if("-"==p){l=l<<2|1;continue}if("~"==
p||"^-"==p){l=l<<2|2;continue}if("^L"==p){l=l<<2|3;continue}}k=!0;break}if(void 0===z)if(f)f.push(r),z=0;else{k=!0;f=[];break}m.push(Kj(z));if(" "==p)if(c<b.length-1&&!b[c])c++,p=b[c++];else{k=!0;break}if(!p)break;l="<"==a.O[0]?Pj:Qj;if(!l[p]){k=!0;break}n.length&&l[p]<=l[n[n.length-1]]&&Lj(m,n,1);n.push(p);a.W="^_"==p?10:e;l=0}if(k||!Lj(m,n)||1!=m.length)k=!0;k?f||a.v("parse error ("+(r||p)+")"):g=m.pop();a.W=t;return g}
function Rj(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,k=f+1,l=e;k<b.length;){var m=b[k++];if(m==c){l=-1;break}if(!l)break;l--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Kj(g*Math.pow(2,d)+m,d*e,!0)}if(0<=l){a.v("parse error ("+c+b+c+")");return}b=b.substr(0,f)+K(a,g,-1)+b.substr(k)}return b}
function Sj(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.O[0]&&(b=b.split(a.O[0]).join("{").split(a.O[1]).join("}"));b=Rj(a,b,'"',7,5);if(!b)return d;b=Rj(a,b,"'",6,6);if(!b)return d;16!=a.W&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Mj(a,b,0,b.length,a.W,c);void 0!==d&&e&&Tj(a,null,d)}return d}
function Oj(a,b){for(;b;){switch(b&3){case 1:a=-Kj(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function Nj(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.re(b);if(0<=g)g=a.zd(g);else if(g=b,a.i[g]?g=a.i[g].value:(g=g.substr(0,6),g=a.i[g]&&a.i[g].value),null!=g){var k=a.i[b]&&a.i[b].jh;k&&(f?f.push(k):(f=Sj(a,k,d),void 0!==f?g+=f:(d||a.v("undefined "+(c||"value")+": "+b+" ("+k+")"),g=void 0)))}else g=ta(b,1<b.length||10<a.W?a.W:10);null!=g?g=Kj(Oj(g,e)):d||a.v("invalid "+(c||"value")+": "+b)}else d||a.v("missing "+(c||"value"));return g}
function Tj(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.W?K(a,c,32,8,1)+" "+c+".":K(a,c,32,16,1)+" "+K(a,c,32,8,1)+" "+K(a,c,32,2,8)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+e);return d}function Uj(a,b){var c=0;if(a.i){if(b)return Tj(a,b,a.i[b]&&a.i[b].value);b=Object.keys(a.i);b.sort();for(var d=0;d<b.length;d++)Tj(a,b[d],a.i[b[d]].value),c++}return 0<c}
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.W){case 2:a=wa(b,0<c?c:0,e);break;case 8:a=u(b,0<c?(c+2)/3|0:0,!!e);break;case 10:a=xa(b,0<c?Math.ceil(.3*c):0);break;default:a=v(b,0<c?c+3>>2:0,!!e)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
var Qj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Pj={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
function Vj(a){Ij.call(this,a);this.Ga=!1;this.O=["(",")"];this.ja=[];this.I=X();this.Fa=X();this.P=X();this.C=[];this.b=this.M=this.G=[];Wj(this);this.S=this.ga=0;this.j=[];this.sa=void 0;Xj(this);this.D=this;this.la={};this.ia=this.ke=0;this.U=null;this.N=[];Yj(this,a.messages);this.xa=a.commands;this.Ja=Zj;this.Y=[];this.K=0;this.Ka=this.ta=null;this.B=this.Ia=this.Ha=this.Z=this.pa=0;this.g=this.X=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return ve(b,a)}):void 0===global[y]&&
(global[y]=function(a){return ve(b,a)})}q(Vj,Ij);function ak(a){a=a&&a.L;null==a&&(a=-1);return a}function X(a,b,c){return{L:void 0===a?null:a,Ma:void 0===b?!1:b,Ta:!1,W:c}}h=Vj.prototype;h.Fd=function(a,b){a.L=b;a.Ta=!1;a.W=void 0;return a};function bk(a){return[a.L,a.Ma,a.W,a.Ta,a.Nc]}function ck(a,b){var c=X(b[0],b[1],b[2]);c.Ta=b[3];b[4]&&(c.he=Jj(a,c.Nc=b[4]));return c}
h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=qe(a,"messages"))&&Yj(this,a);1140>this.f.ja&&(this.Y=this.Y.concat(dk));1145>this.f.ja&&(this.Y=this.Y.concat(ek));Ad(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=ak(fk(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");c=-1;for(var m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=md[c],n&&d.v(v(n.id,8)+" %"+v(e<<d.F.g,8)+" %"+v(n.L,8)+" "+ya(n.Ub)+" "+ya(n.size)+" "+m),c!=Zd&&(c=-1),m=0);a+=d.F.j;e++}}});D(this)};
h.va=function(a,b,c){var d=this;switch(b){case "debugInput":return this.X=this.H[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";ve(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-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.H[b]=c,bb(c,function(){if(d.X){var a=d.X.value;d.X.value=
"";ve(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,bb(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=Ec(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function ue(a){if(a.X){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.X.focus();window&&window.scrollTo(b,c)}}h.Od=function(a,b){var c=255,d=ak(a);-1!==d&&(a.Ma||65535<d?(c=this.F,d=Ye(this.f,d),c.C=!1,c.na++,d=od(c,d).j(d&c.i,d),c.na--):(c=this.f,c.pa++,d=c.F.Kd(Lc(c,d,3)),c.pa--),c=d,b&&gk(a,b));return c};
h.Ra=function(a,b){var c=65535,d=ak(a);-1!==d&&(c=a.Ma||65535<d?Mc(this.F,Ye(this.f,d)):Nc(this.f,d),b&&gk(a,b));return c};h.Pd=function(a,b,c){var d=ak(a);if(-1!==d){if(a.Ma||65535<d)pd(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Ld(Lc(e,d,5),b);e.pa--}c&&gk(a,c);Ic(this.J,-1)}};h.Le=function(a,b,c){var d=ak(a);if(-1!==d){if(a.Ma||65535<d)Kc(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Yb(Lc(e,d,4),b);e.pa--}c&&gk(a,c);Ic(this.J,-1)}};
function fk(a,b,c){c=(c?a.I:a.Fa).L;var d;if(void 0!==b){a:{var e=a.O[0];c=a.O[1];var f="("==e||"{"==e||"["==e?"\\":"";var g="["==e?"\\":"";for(g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);){var k=Sj(a,f[1]);if(void 0===k){b=void 0;break a}b=b.replace(e+f[1]+c,null!=k?K(a,k):"undefined")}if(a.ja.length)for(e=a.ja[0],c=a.ja[1],f="("==e||"{"==e||"["==e?"\\":"",g="["==e?"\\":"",g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);)b=b.replace("["+f[1]+"]","unimplemented");for(;e=b.match(/\$([a-z]+)/i);){c=
null;switch(e[1].toLowerCase()){case "ops":c=0}if(null==c)break;b=b.replace(e[0],c.toString())}}if("%"==b.charAt(0)){var l=!0;b=b.substr(1)}e=b;var m;a:{c=a.F;f=e.toUpperCase();for(n in c.Pa)if(g=+n,c.Pa[g][4]==f){var n=c.B+g;break a}n=null}if(null==n&&e.match(/^[a-z_][a-z0-9_]*$/i))for(e=e.toUpperCase(),c=0;c<a.C.length;c++)if(f=a.C[c].ha[e],null!=f){n=f.o;break}null!=n&&(m=X(n));if(e=m)return e;0<=b.indexOf("0x")?d=16:0<=b.indexOf("0o")?d=8:0<=b.indexOf(".")&&(d=10);c=Sj(a,b)}null!=c&&(e=X(c,l,
d));return e}function hk(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.he=Jj(a,b.Nc=c[2]))}function gk(a,b){null!=a.L&&(a.L+=b||1)}function ik(a,b){return(b.Ma?"%":"")+K(a,b.L)}
function Yj(a,b){a.D=a;a.ia=a.ke=1073741824;a.U=null;a.N=[];b=Jj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in fc){a:{var d=void 0;if(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.ia|=fc[c],a.v(c+" messages enabled"))}}function Ad(a,b,c){for(var d in fc)if(b==fc[d]){a.la[d]=c;break}}
h.re=function(a){a=a.toUpperCase();var b=jk[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function kk(a,b){if(b<lk||a.g)var c=mk[b];return c||""}
h.zd=function(a){if(0<=a)if(8>a)var b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.Y[a-16];else{var c=this.f,d=this.g;switch(a){case nk:b=Kd(this.f);break;case ok:b=c.mb;break;case pk:b=c.P;break;case qk:b=c.Fa&65280;break;case rk:b=Dd(c);break;case sk:b=Fd(c);break;case tk:b=Hd(c);break;case uk:b=c.X;break;case lk:d&&(b=d.fa);break;case vk:d&&(b=d.Cb);break;case wk:d&&(b=d.Va)}}return b};
h.message=function(a,b){b&&(a+=" @"+ik(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ia&536870912)this.N.push(a);else{var c;if(this.ia&-2147483648&&this.f&&(c=this.f.A.V)||Nb(this,!0))xk(this),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,Be(a),a.yb=0,a.J&&Ic(a.J,void 0))}};
function Xj(a){var b;if(!Df(a))a.j&&a.j.length&&a.v("instruction history buffer freed"),a.S=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(yk);for(b=0;b<a.j.length;b++)a.j[b]=X();a.S=0;a.v("instruction history buffer allocated")}}function zk(a,b,c){if(!Ak(a,c))return!1;Dc(a.f,b);return!0}
function Ec(a,b,c,d){if(!Ak(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.B=0;b||Df(a)&&Ef(a,a.f.g[7],0);try{b=Ce(a.f,b);var f=a.f.zc(b);0<f&&(Fc(a.f,f),a.B+=f,Gc(a.f,f,!0),Hc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(b=g,a.B=0,Kb(a.f,b.stack||b.message))}!1!==d&&(a.g&&a.g.stop(),Ic(a.J,-1));te(a,c||!1,e);return 0<a.B}function xk(a,b){a.f&&H(a.f,b)}
function te(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(Bk+c);c=a.f;if(c=c.i&128?c.Bc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Vb[-d]:K(a,d))+")")}a.I=X(a.f.g[7]);b&&1!=a.K?Ck(a):Dk(a)}}function Ak(a,b){var c;(c=!a.f||!Mb(a.f))||(c=a.f,c.A.ca?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Lb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Xj(this);this.Z=0;this.U=null;this.B=0;this.I=X(this.f.g[7]);this.A.V=!1;Ek(this);a||te(this)};h.save=function(){var a=new G(this);a.set(0,bk(this.I));a.set(1,bk(this.P));a.set(2,[this.u,this.R,this.ia]);a.set(3,this.C);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.I=ck(this,a[b++]),this.P=ck(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.ia|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.K||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b};
h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.B=b-this.Ia;if(!this.K){b="stopped";if(this.B){a-=this.Ha;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";Df(this)&&(b+=this.Z+" instructions, ",this.Z=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}te(this,!0);ue(this);Ek(this,this.f.g[7]);this.U=null}};function Df(a){return 1<a.b.length||!!a.ga}
function Ef(a,b,c){var d=-1;c||(d=Nc(a.f,b),0==d&&(a.f.O&65535)==b&&(b=Pe(a.f,2)));if(0<c&&(a.ga&&!--a.ga||Fk(a,b,1,a.b)))return!0;0<=c&&a.j.length&&(a.Z++,0>d&&(d=Nc(a.f,b)),65535!=(d&65535)&&(a.Fd(a.j[a.S],b),++a.S==a.j.length&&(a.S=0)));return!1}function Jg(a){var b=a.f;if(b.A.V)throw Ac(b,a.f.O&65535),xk(a),-1;return!1}function ke(a,b,c){Fk(a,b,c||1,a.M)&&xk(a,!1)}function le(a,b,c){Fk(a,b,c||1,a.G)&&xk(a,!1)}
function Wj(a){var b;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){var c=a.M[b];var d=ak(c);c.Ma?(c=a.F,je(c.b[d>>>c.g],!1)):af(a.f,!1)}a.M=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=ak(c),c.Ma?(c=a.F,je(c.b[d>>>c.g],!0)):af(a.f,!0);a.G=["bw"];a.pa=0;a.ga=0}
h.zb=function(a,b,c){var d=!0;c||Gk(this,a,b,!1,!0);if(a!=this.b){var e=ak(b);if(-1===e)this.v("invalid address: "+ik(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ma=!0);if(b.Ma){var g=this.F;g.b[e>>>g.g].zb(e&g.i,f)}else e=this.f,(f?e.qc++:e.oc++)||Ie(e)}}d&&(a.push(b),c?b.Ta=!0:(Hk(this,a,a.length-1,"set"),Xj(this)));return d};
function Gk(a,b,c,d,e){var f=!1;c=ak(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==ak(k)&&(!d||k.Ta)){f=!0;k.Ta||e||Hk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.G,k.Ma?(d=a.F,je(d.b[c>>>d.g],b)):af(a.f,b));k.Ta||Xj(a);break}}return f}function Ik(a,b){for(var c=1;c<b.length;c++)Hk(a,b,c);return b.length-1}function Hk(a,b,c,d){c=b[c];a.v(b[0]+" "+ik(a,c)+(d?" "+d:c.Nc?' "'+c.Nc+'"':""))}
function Ek(a,b){if(void 0!==b)Fk(a,b,1,a.b,!0),a.K=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Ta){if(!Gk(a,a.b,c,!0))break;b=0}}}
function Fk(a,b,c,d,e){var f=!1;if(!a.pa++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Ta)for(var l=ak(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n;f=!0;k.Ta&&(Gk(a,d,k,!0),e=!0);if(n=k.he){f=!1;for(var t=0;t<n.length;t++)if(!Jk(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var r=t+1;r<n.length&&n[r].indexOf("else");r++)t++;if(r==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||Hk(a,d,g,"hit");break}}}a.pa--;return f}
function Kk(a,b,c,d){var e=X(b.L),f=a.Ra(b,2),g,k;for(k in a.Ja)if(g=a.Ja[k][f&k])break;g||(g=Lk);var l=g[0];0<=a.Y.indexOf(l)&&(g=Lk,l=g[0]);var m=k="",n=Mk[l],t=g.length-1;l||t||(k=K(a,f));for(l=1;l<=t;l++){var r=g[l];if(void 0!==r){var p=a;var z=r;r=b;var B="";var C=z&Nk;if(C==Y)r=r.L+((f&255)<<24>>23)&65535,B=K(p,r);else if(C==Ok)r=r.L-((f&63)<<1)&65535,B=K(p,r);else if(C==Pk)B=K(p,f&7,3);else if(C==Qk)B=K(p,f&63,6);else if(C==Rk)B=K(p,f&255,8);else if(C=f&z,z&Sk&&(C>>=6,z>>=6),z&Z){z=null;var J=
C&Tk;switch(C&Uk){case 0:B=kk(p,J);break;case 8:B="@"+kk(p,J);z=Vk(p,p.f.g[J]);break;case 16:7>J?B="("+kk(p,J)+")+":(C=p.Ra(r,2),B="#"+K(p,C,-1));break;case 24:7>J?B="@("+kk(p,J)+")+":(C=p.Ra(r,2),B="@#"+K(p,C,-1),z=Vk(p,C));break;case 32:B="-("+kk(p,J)+")";break;case 40:B="@-("+kk(p,J)+")";break;case 48:C=p.Ra(r,2);B=K(p,C,-1)+"("+kk(p,J)+")";7==J&&(B=K(p,C=C+r.L&65535),z=Vk(p,C));break;case 56:C=p.Ra(r,2),B="@"+K(p,C)+"("+kk(p,J)+")",7==J&&(B="@"+K(p,C=C+r.L&65535),z=Vk(p,Nc(p.f,C)))}z&&(B=[B,z])}p=
B;if(!p||!p.length){k="INVALID";break}"string"!=typeof p&&(m=p[1],p=p[0]);0<k.length&&(k+=",");k+=p||"???"}}f="";g=ik(a,e)+":";if(-1!==e.L&&-1!==b.L){do if(f+=" "+K(a,a.Ra(e,2)),null==e.L)break;while(e.L!=b.L)}g+=Fa(f,24);g+=Fa(n,5);k&&(g+=" "+k);if(c||m)g=Fa(g,60)+";"+(c||""),g=a.f.A.Lb?g+("cycles="+we(a.f).toString()+" cs="+v(a.f.lc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function Vk(a,b){b=Ze(a.f,b)[0];b>=a.f.sb&&b<a.F.B&&(b=b-a.f.sb+a.F.B);var c=a.F;a=null;b>=c.B&&(b=c.Pa[b&td])&&(a=b[4]);return a}function Wk(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 Xk(a,b){var c=kk(a,b);c&&(c+="="+K(a,a.zd(b))+" ");return c}
function Yk(a,b){var c,d="";for(c=0;6>c;c++)d+=Xk(a,c);d=d+"\n"+(Xk(a,6)+Xk(a,7));d+=Xk(a,nk)+Xk(a,ok)+Xk(a,qk);d+=Wk(a,"T")+Wk(a,"N")+Wk(a,"Z")+Wk(a,"V")+Wk(a,"C");b&&(b=d,c=""+(Xk(a,rk)+Xk(a,sk)),c+=Xk(a,tk)+Xk(a,uk)+Xk(a,pk),c=c+"\n"+(Xk(a,wk)+Xk(a,lk)+Xk(a,vk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Jh(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];var t=Ia(n,l,a.me);0>t&&n.splice(-(t+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({Jk:b,L:c,Mf:d,ha:e,ie:f})}function Zk(a,b,c){var d=[],e=ak(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.L>>>0,k=f.Mf;if(e>=g&&e<g+k){e=Ia(f.ie,[e-g],a.me);0<=e?$k(a,b,e,d):c&&(e=~e,$k(a,b,e-1,d),$k(a,b,e,d));break}}return d}
function $k(a,b,c,d){var e={},f=a.C[b].ie,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ha[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function al(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Uj(a)||a.v("no variables"),!0;if(!c[2])return Uj(a,c[1]);if(!c[3])return delete a.i[c[1]],!0;b=Sj(a,c[3]);return void 0!==b?(a.i[c[1]]={value:b,jh:void 0},!0):!1}a.v("invalid assignment:"+b);return!1}
function bl(a,b,c){var d=null;if(b=fk(a,b,!0)){var e=Zk(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.L-e[1])&&(g=" + "+ya(f));f=e[0]+" ("+K(a,e[1])+")"+g;c&&a.v(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.L)&&(g=" - "+ya(f)),f=e[4]+" ("+K(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
function Ck(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\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.v("missing value for "+b[1]);return}g=Sj(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":Ac(e,
g);a.I=X(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.K=g?0:1;break;case "V":e.G=g?32768:0;break;case "C":e.C=g?65536:0;break;case "PS":Ld(e,g);break;case "PI":Jd(e,g);break;case "ER":e.P=g;d=!0;break;case "SL":e.Fa=g|255;break;case "M0":Ed(e,g);d=!0;break;case "M3":Id(e,g);d=!0;break;case "AR":a.g&&(d=a.g,sc(d,d.fa=g));d=!0;break;case "DR":a.g&&ic(a.g,g);d=!0;break;case "SR":a.g&&tc(a.g,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.v("unknown register: "+
f);return}Ic(a.J);a.v("updated registers:")}}a.v(Yk(a,d));c&&(a.I=X(e.g[7]),Dk(a,ik(a,a.I)))}}function cl(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):Tj(a,null,c[2].charCodeAt(0)):Sj(a,b,!1)}
function dl(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instructions"),a.v("\ttr [#]\ttrace # instructions with register updates"),a.v("\ttc [#]\ttrace # cycles"),a.v("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Nj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;ab(c,function(){return Ob(a,!0)&&Ec(a,e,d,!1)},function(){a.g&&a.g.stop();Ic(a.J,-1);Ob(a,!1)})}}
function Dk(a,b,c,d){if(b=fk(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Nj(a,c.substr(1)),null!=c&&(d=c);else{d=fk(a,c,!0);if(!d||d.L<b.L)return;e=d.L-b.L;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Nb(a,!1)||a.K?a.B:null;var g=null!=f?"cycles":null,k=Zk(a,b),l=b.L;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=Kk(a,b,g,f);a.v(f);a.I=b;e-=b.L-l;c++}}}
function Jk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(Bk+b):(a.R&&(a.v("ended assemble at "+ik(a,a.P)),a.I=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Mb(a)&&0<b.length){a.R&&(b="a "+ik(a,a.P)+" "+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 t=
fk(a,g[1],!0);if(t)if(a.P=t,void 0===g[2])a.v("begin assemble at "+ik(a,t)),a.R=!0,Ic(a.J);else{a.v("not supported yet");var r=[];if(r.length){for(var p=0;p<r.length;p++)a.Pd(t,r[p],1);a.v(Kk(a,a.P))}}break;case "b":a:{var z=g[0],B=g[1],C=b;if("?"==B)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
else{var J=z.charAt(1);if("l"==J){var Wb=0+Ik(a,a.b);Wb+=Ik(a,a.M);(Wb+=Ik(a,a.G))||a.v("no breakpoints")}else if("n"==J){var Gd=+B||0;B&&(a.ga=Gd);a.v("break after "+Gd+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var ua=X();if("*"!=B&&(ua=fk(a,B,!0),!ua))break a;"c"==J?null==ua.L?(Wj(a),a.v("all breakpoints cleared")):Gk(a,a.b,ua)||Gk(a,a.M,ua)||Gk(a,a.G,ua)||a.v("breakpoint missing: "+ik(a,ua)):null!=ua.L&&(hk(a,ua,C),"p"==J?a.zb(a.b,ua):"r"==J?a.zb(a.M,ua):"w"==
J?a.zb(a.G,ua):a.v("unknown breakpoint command: "+J))}}}break;case "c":var Ai=a.J;Ai.w&&(Ai.w.value="");break;case "d":a:{var ac,nb=g[0],Wa=g[1],ob=g[2],Dl=g[3];if("?"==Wa){var bc="";for(ac in fc)a.la[ac]&&(bc&&(bc+=","),bc+=ac);bc+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
a.v("\tdh [p] [n] dump n instructions from history position p");bc.length&&a.v("dump extension commands:\n\t"+bc)}else if("state"==Wa){var lf=el(a.J,!0);if("console"==ob)console.log(lf);else{var Bi=a.J;Bi.w&&(Bi.w.value="");lf&&a.v(lf)}}else if("symbols"==Wa)for(var mf=0;mf<a.C.length;mf++){var nf=a.C[mf],cc;for(cc in nf.ha)if("."!=cc.charAt(0)){var Ci=nf.ha[cc].o;if(void 0!==Ci){var Di=nf.ha[cc].l;Di&&(cc=Di);a.v(K(a,Ci)+" "+cc)}}}else{if("d"==nb){for(ac in fc)if(g[1]==ac){var Ei=a.la[ac];Ei?
(g.shift(),g.shift(),Ei(g)):a.v("no dump registered for "+Wa);break a}Wa||(nb=a.Ka||"dw")}else a.Ka=nb;if("dh"==nb){var Fi=Wa,Gi=ob,Hi="",Ii=0,Ka=a.S,Xa=a.j;if(Xa.length){var Ea=+Fi||a.sa,Pc=+Gi||10;isNaN(Ea)?Ea=Pc:Hi="more ";Ea>Xa.length&&(a.v("note: only "+Xa.length+" available"),Ea=Xa.length);Ka-=Ea;0>Ka&&(null==Xa[Xa.length-1].L?(Ea=Ka+Ea,Ka=0):Ka+=Xa.length);var of=[];"call"==Gi&&(Pc=1E5,of=["CALL"]);for(void 0!==Fi&&a.v(Ea+" instructions earlier:");0<Pc&&Ka!=a.S;){var Ji=Xa[Ka++];if(null==Ji.L)break;
var Qc=X(Ji.L),El=Ea--,Ki=Kk(a,Qc,"history",El);(!of.length||0<=Ki.indexOf(of[0]))&&a.v(Ki);Qc.wd&&(Ka+=Qc.wd,Pc-=Qc.wd,Ea-=Qc.wd);Ka>=Xa.length&&(Ka=0);a.sa=Ea;Ii++;Pc--}}Ii||(a.v("no "+Hi+"history available"),a.sa=void 0)}else{var qa=fk(a,Wa);if(qa)if("da"==nb){var pf=qa.Ma||65535<qa.L,O=Ze(a.f,qa.L||0,pf);a.v(Fa("",pf?12:19)+wa(qa.L,pf?22:17,3)+" "+u(qa.L,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+wa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+xa(O[1],2)+"]: "+wa(O[2],22,3)+" "+
u(O[2],8))),a.v(" PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+wa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+fl[O[2]]+"PAR"+O[3]+": "+wa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+wa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8)))}else{var yb=0,qf="ds"==nb;if(ob){if("l"==ob.charAt(0))ob=ob.substr(1)||Dl,yb=Nj(a,ob);else{var Li=fk(a,ob);Li&&(yb=Li.L-qa.L)}0>yb&&(yb=0);65536<yb&&(yb=65536)}var Gl=a.W;qa.W&&(a.W=qa.W);for(var zb="dd"==nb?4:"db"==
nb?1:2,Pd=zb*yb||128,rf=qf?16:a.W,Hl=(Pd+rf-1)/rf|0||1,Ab="";Hl--&&0<Pd;){var Bb="",Mi="";Wa=ik(a,qa);for(var Qd=rf,Rd=0,Sd=0;0<Qd&&0<Pd;){var dc=1,sf=1==zb?a.Od(qa,dc):a.Ra(qa,dc=2);Rd|=sf<<(Sd<<3);Sd+=dc;Sd==zb&&(qf?(Bb&&(Bb+=","),Bb+="0x"+v(Rd,zb<<1)):(Bb+=K(a,Rd,zb<<3),Bb+=1==zb?9==Qd?"-":" ":" "),Rd=Sd=0);Qd-=dc;for(Pd-=dc;1==zb&&dc--;){var tf=sf&255;Mi+=32<=tf&&128>tf?String.fromCharCode(tf):".";sf>>=8}}Ab&&(Ab+="\n");Ab=qf?Ab+(Bb+","):Ab+(Wa+": "+Bb+(0==Qd?" "+Mi:""))}Ab&&a.v(Ab);a.Fa=qa;
a.W=Gl}}}}break;case "e":if("else"==g[0])break;var uf=g[0],vf=g[1];if("eb"==uf){var Rc=1;var Ni=255;var Oi=a.Od;var Pi=a.Pd}else"e"==uf||"ew"==uf?(Rc=2,Ni=65535,Oi=a.Ra,Pi=a.Le):vf=null;if(null==vf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Td=fk(a,vf);if(Td)for(var Ud=2;Ud<g.length;Ud++){var Sc=Sj(a,g[Ud]);if(void 0===Sc){a.v("unrecognized value: "+g[Ud]);break}Sc&~Ni&&a.v("warning: "+v(Sc)+" exceeds "+Rc+"-byte value");
a.v("changing "+ik(a,Td)+(E(a,16)?"":" from "+K(a,Oi.call(a,Td),Rc<<3))+" to "+K(a,Sc,Rc<<3));Pi.call(a,Td,Sc,Rc)}}break;case "g":a:{var Qi=g[1],Il=b;if(void 0!==Qi){var wf=fk(a,Qi,!0);if(!wf)break a;hk(a,wf,Il);a.zb(a.b,wf,!0)}zk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),xk(a)):Nb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var Tc=b.substr(2);Tc=Ga(Tc);if(Sj(a,Tc)){c||a.v("true: "+Tc);var Ri=!0}else c||a.v("false: "+Tc),Ri=!1;Ri||(d=!1);break}f=!0;break;case "k":var Jl=g[0];
if("?"==g[1])a.v("stack trace commands:"),a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Uc=X(a.f.g[6]);for(a.v("stack trace for "+ik(a,Uc));10>xf;){for(var Cb=null,Kl=256;65536>Uc.L>>>0;){yf.L=a.Ra(Uc,2);if(null==Uc.L||!Kl--)break;if(!(yf.L&1)){for(var Ll=a,Vd=yf,Si=null,Vc=Vd.L,Ti=Vc,zf=1;6>=zf&&Vc;zf++){if(2<zf){Vd.L=Vc;var Wd=Kk(Ll,Vd);if(0<=Wd.indexOf("JSR")){var Ui=Wd.indexOf(" ");if(Vc+(Wd.indexOf(" ",Ui+1)-Ui-1)/2==Ti){Si=Wd;break}}}Vc-=2}Vd.L=Ti;
if(Cb=Si)break}}if(!Cb||null==Cb)break;var Vi=null;if("ks"==Jl){var Wi=Cb.match(/[0-9A-F]+$/);Wi&&(Vi=bl(a,Wi[0]))}Cb=Fa(Cb,50)+" ;"+(Vi||"stack="+ik(a,Uc));a.v(Cb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){bl(a,g[1],!0);break}f=!0;break;case "m":a:{var Ya,Za=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var pb=0;if("all"==T)pb=1610610687,T=null;else if("on"==T)Za=!0,T=null;else if("off"==T)Za=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Ya in fc)if(T==
Ya){pb=fc[Ya];Za=!!(a.ia&pb);break}if(!pb){a.v("unknown message category: "+T);break a}}if(pb)if("on"==g[2])a.ia|=pb,Za=!0;else if("off"==g[2]&&(a.ia&=~pb,Za=!1,536870912==pb)){for(var Xi=1E3<=a.N.length?a.N.length-1E3:0;Xi<a.N.length;)a.v(a.N[Xi++]);a.N=[]}}var Ml=0,Wc="";for(Ya in fc)if(!T||T==Ya){var Nl=!!(a.ia&fc[Ya]);if(null===Za||Za==Nl)Wc&&(Wc+=","),++Ml%10||(Wc+="\n\t"),"key"==Ya&&(Ya="keys"),Wc+=Ya}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==
Za?Za?"messages on: ":"messages off: ":"message categories:\n\t")+(Wc||"none"));Xj(a)}break;case "p":if("print"==g[0]){cl(a,b.substr(5));break}var Ol=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Yi="pr"==Ol?1:0,Zi=1+Yi;if(a.K)a.v("step in progress");else{var Xd=X(a.f.g[7]),ec=a.Ra(Xd);3==ec||4==ec||34816==(ec&65280)||32256==(ec&65024)||35072==(ec&65280)?(a.K=Zi,gk(Xd,2)):2048==(ec&65024)&&(Kk(a,Xd),a.K=
Zi);a.K?(a.zb(a.b,Xd,!0),zk(a)||(a.J&&Ae(a.J),a.K=0)):dl(a,Yi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}Ck(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Xc=+g[2];if(8==Xc||10==Xc||16==Xc)a.W=Xc;else{a.v("invalid base: "+Xc);break}}a.v("default base: "+a.W);break;case "cs":var Yc;void 0!==g[3]&&(Yc=+g[3]);switch(g[2]){case "int":a.f.Kb=Yc;break;case "start":a.f.mc=Yc;break;case "stop":a.f.Ob=Yc;break;default:a.v("unknown cs option");break a}void 0!==Yc&&se(a.f);
a.v("checksums "+(a.f.A.Lb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(xe(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.vb.toFixed(2)+"Mhz")+" ("+a.f.kb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),
a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":dl(a,g[0],g[1]);break;case "u":Dk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){al(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Qb||"PDP11")+" version 1.37.1 ("+a.f.ja+",RELEASE"+(Sb?",TYPEDARRAYS":Rb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){cl(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in gl)Af+="\n"+Fa(Bf,9)+gl[Bf];Df(a)||(Af+="\nnote: history disabled if no exec breakpoints");
a.v(Af);break;default:f=!0}f&&(a.v("unknown command: "+b),d=!1)}}catch(aj){a.v("debugger error: "+(aj.stack||aj.message)),d=!1}return d}function ve(a,b,c){b=Jj(a,b,c);for(var d in b)if(!Jk(a,b[+d]))return!1;return!0}
var gl={"?":"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"},Mk=".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(" "),
nk=20,ok=21,pk=22,qk=23,rk=24,sk=25,tk=26,uk=27,lk=28,vk=29,wk=30,jk={SP:6,PC:7,PS:nk,PI:ok,ER:pk,SL:qk,M0:rk,M1:sk,M2:tk,M3:uk,AR:lk,DR:vk,SR:wk},mk="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),fl="KI KD SI SD ?? ?? UI UD".split(" "),Tk=7,Uk=56,Z=Uk|Tk,Sk=4032,Y=4096,Ok=8192,Pk=12288,Qk=24576,Rk=32768,Nk=61440,Zj={61440:{4096:[62,Sk,Z],8192:[47,Sk,Z],12288:[18,Sk,Z],16384:[14,Sk,Z],20480:[16,Sk,Z],24576:[3,Sk,Z],36864:[63,Sk,Z],40960:[48,
Sk,Z],45056:[19,Sk,Z],49152:[15,Sk,Z],53248:[17,Sk,Z],57344:[94,Sk,Z]},65024:{2048:[57,448,Z],28672:[100,Z,448],29184:[101,Z,448],29696:[102,Z,448],30208:[103,Z,448],30720:[104,448,Z],32256:[105,448,Ok]},65280:{256:[27,Y],512:[24,Y],768:[10,Y],1024:[11,Y],1280:[22,Y],1536:[12,Y],1792:[20,Y],32768:[25,Y],33024:[23,Y],33280:[13,Y],33536:[21,Y],33792:[28,Y],34048:[29,Y],34304:[8,Y],34560:[9,Y],34816:[106,Rk],35072:[107,Rk]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
2816:[67,Z],2880:[1,Z],2944:[77,Z],3008:[97,Z],3072:[73,Z],3136:[71,Z],3200:[6,Z],3264:[4,Z],3328:[58,Qk],3392:[60,Z],3456:[65,Z],3520:[96,Z],35328:[40,Z],35392:[50,Z],35456:[54,Z],35520:[52,Z],35584:[68,Z],35648:[2,Z],35712:[78,Z],35776:[98,Z],35840:[74,Z],35904:[72,Z],35968:[7,Z],36032:[5,Z],36096:[66,Z],36160:[59,Z],36224:[64,Z],36288:[61,Z]},65528:{128:[76,Tk],152:[108,Pk]},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]}},Lk=[0],dk=[58,60,65,96,110,100,101,102,103,104,105],ek=[108,59,64],yk=1E3,Bk=">> ";db(function(){for(var a=A(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Vj(d);ub(d,c)}});
function hl(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.P=null;il(this,b);this.M=qe(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.B=this.K=null;this.G=this.S=!1;this.C=this.u=null;this.R=this.N=this.O=!1;this.X=qe(this,"url")||"";(Math.random()+.1).toString(36);this.g=jl(this);if(this.f=Db("CPU",this.id)){this.D=Db("Debugger",this.id);this.F=new $c({id:this.tb+".bus",busWidth:this.U},this.f,this.D);var d=wb(this.id);if(this.w=(this.i=Db("Panel",this.id))&&
this.i.H.print)for(b=0;b<d.length;b++){var e=d[b];e.T=this.i.T;e.print=this.i.print;e.v=this.i.v}this.v(Qb+" v1.37.1\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<d.length;b++)e=d[b],e.Aa&&e.Aa(this,this.F,this.f,this.D);b=null;e=qe(this,"resume",a);void 0!==e&&(1<e.length?b=this.B=e:this.b=parseInt(e,
10));var f;if(a=qe(this,"state")||(f=!0,a.state))this.K=b=a,f||(this.G=!0,this.b=kl),this.b&&(this.C=new G(this,"1.37.1"),ll(this.C)?b=null:delete this.C);!b&&this.b&&(b=ml(this))&&(this.G=!0);if(b){var g=this;Na(b,null,!0,function(a,b,c){c?(g.B=null,g.G=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.I=b,g.S=!0);D(g)})}else D(this);this.H.power||(this.M=!0);!c&&this.M&&this.vc(this.pc)}else w("Unable to find CPU component")}q(hl,x);
function il(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.P=b}function qe(a,b,c,d){var e=b.toLowerCase();e=Va(b)||Va(e);void 0===e&&a.P&&(e=a.P[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}h=hl.prototype;
h.vc=function(a,b){for(var c=this,d=wb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Mb(f)){Mb(f,function(){c.vc(a,b)});return}}a.call(this,b)};function nl(a,b){var c=new G(a,"1.37.1",ol);if(ll(c)&&pl(c)){var d=c.get(ql),e=b?b.get(ql):"unknown";d!=e&&(a.T("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
h.pc=function(a){void 0===a&&(a=this.b||(this.I?rl:kl));if(!this.j){this.j++;var b=!1,c=!1;this.O=!1;var d=this.C||new G(this,"1.37.1");if(a==sl)b=!0;else if(a>kl){if(ll(d,this.I)){this.u=new G(this,"1.37.1",tl);ll(this.u)&&(ul(this,d),a=vl,wl(this.u));this.u.set(ql,Ja());xl(this.u);var e=this.b&&!this.G;if(a==rl||sb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=pl(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ll(d,g):("error"==f&&"no machine state"!=
g?(this.T("Error: "+g),"unable to verify user"==g&&(Ta(yl,""),this.g=null)):this.v(f+": "+g),wl(d),ll(d)?(c=pl(d),e=!0):c=!1))}e&&nl(this,c?d:null)}else a==vl&&d.clear()}else nl(this);delete this.I;delete this.C}e=wb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=zl(this,g,d,b,c));b=[d,a,c];a!=sl?this.vc(this.oe,b):this.oe(b)}};
function zl(a,b,c,d,e){if(!b.A.ca){b.A.ca=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,".")))),"string"===typeof f&&(f=null),!b.Ca(f,d)&&f&&(w("Unable to restore state for "+b.type),a.K&&!a.S?(c.clear(),a.b=kl,window&&window.location.reload()):a.O=!0,b.Ca(null),e=!1),!d&&b.Ud){var g=b.Ud.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){w("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.oe=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.ca=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(zl(this,this.f,b,c,a),Ic(this,-2),this.f.qa());this.O&&(ul(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function ul(a,b){if(sb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.g||"";b=b.toString();var d={};d.app=Qb;d.ver="1.37.1";d.url=c;d.user=a;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}}
function el(a,b,c){var d="none";if(a.j)return null;a.j--;var e=new G(a,"1.37.1"),f=new G(a,"1.37.1",ol),g=Ja();f.set(ql,g);e.set(ql,g);e.set(Al,"1.37.1");e.set(Bl,window?window.location.href:null);e.set(Cl,window?window.navigator.userAgent:"");if(a.f&&a.f.Ba){c&&(b&&(a.f.A.qa=a.f.A.V),H(a.f));var k=a.f.Ba(b,c);"object"===typeof k&&e.set(a.f.id,k);c&&(a.f.A.ca=!1,!1===k&&(d=null))}g=wb(a.id);for(var l=0;l<g.length;l++){var m=g[l];m.A.ca&&(m.Ba&&(k=m.Ba(b,c),"object"===typeof k&&e.set(m.id,k)),c&&(m.A.ca=
!1,!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.g&&Fl(a,a.g,e.toString()),xl(f)&&xl(e)||(d=null,k=g=!0)):a.b&&(k=!0,g=a.b==Pl),k&&e.clear(g)):d=e.toString());c&&(a.A.ca=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return d}
h.reset=function(){this.A.reset=!0;this.F&&this.F.reset&&(F(this,"Resetting "+this.F.type),this.F.reset());this.f&&this.f.reset&&(F(this,"Resetting "+this.f.type),this.f.reset());for(var a=wb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c!==this.f&&c.reset&&(F(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;Ic(this,-1)};h.start=function(a,b){for(var c=wb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Ic(this,-1)};
h.stop=function(a,b){for(var c=wb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Ic(this,-1)};
function Ic(a,b){if(a.f){var c=a.f,d=b||0,e=c.H.speed;e&&(0>=d||30<=(c.Zc+=d))&&(e.textContent=c.A.V?c.ub.toFixed(2)+"Mhz":"Stopped",c.Zc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)wc(a,"R"+e,a.f.g[e]);e=Kd(a.f);wc(a,"PS",e);wc(a,"NF",e&8?1:0,1);wc(a,"ZF",e&4?1:0,1);wc(a,"VF",e&2?1:0,1);wc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.fa=a.f.g[7]:0<b&&c&&!d&&(a.fa=a.f.gb);sc(a,a.fa);jc(a,a.Cb);b=a.f;b=b.wb?b.X&16?1:2:4;Oc(a,"B22",b&1);Oc(a,"B18",b&2);
Oc(a,"B16",b&4)}}
h.va=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.ca?el(d,!1,!0):d.vc(d.pc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.ca&&!d.j)if(d.b&&!d.B){var a=sb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");el(d,a,!0);!a&&d.K?window&&window.location.reload():(a||(d.N=!0),d.pc(kl),d.N=!1)}else d.reset(),d.f&&!d.D&&d.f.qa()},!0;case "save":if(Ba(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.H[b]=c,c.onclick=function(){var a=jl(d,!0);if(a){var b=!!(d.b&&!d.B||d.K),c=el(d,b);b?Fl(d,a,c):d.T("Resume disabled, machine state not saved")}},!0}return!1};
function jl(a,b){var c=a.g;c||((c=Sa(yl),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=Ql(a,c))||a.T("The user ID is invalid.")):b&&a.T("Browser local storage is not available"));return c}
function Ql(a,b){a.g=null;b=Na(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(yl,b.data),a.g=b.data)}catch(d){w(d.message+" ("+c+")")}return a.g}function ml(a){var b=null;a.g&&(b=Pa()+"/api/v1/user?req=load&user="+a.g+"&state="+Rl(a,"1.37.1"));return b}
function Fl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Rl(a,"1.37.1");d.data=c;b=Na(Pa()+"/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.T("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.T(c),Ta(yl,""),a.g=null)}}
function $h(a){var b;a=wb(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.w){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.w.focus();!b&&window&&window.scrollTo(c,d)}}var tl="failsafe",ol="validate",ql="timestamp",Al="version",Bl="url",Cl="browser",yl="user",sl=-1,kl=0,rl=1,vl=2,Pl=3;
db(function(){for(var a=A(document,y+"-machine"),b=0;b<a.length;b++){var c=a[b],d=vb(c);c=A(c,y,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=vb(f);g=new hl(g,d,!0);ub(g,f);g.M&&g.vc(g.pc)}}});eb.show.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!1,c.R&&!c.A.ca&&c.pc(sl)}});
eb.exit.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!0,c.A.ca&&el(c,!(!c.b||c.B),!0)}});function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=Rl(a,b,c);wl(this,a.wf)}h=G.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 ll(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:Qa()&&(b=Sa(a.key))?(a.b=b,a.g=!0):!1}
function pl(a){var b=!0;if(!a.D)try{a.f=JSON.parse(a.b),a.D=!0}catch(c){w(c.message||c),b=!1}return b}function xl(a){var b=!0;if(Qa()){var c=JSON.stringify(a.f);Ta(a.key,c)||(w("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 wl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
h.clear=function(a){wl(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 Rl(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 Sl=0;
function Tl(a,b,c,d,e,f,g){f("Loading "+a+"...");Na(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Ul(l,a,b,c,d,e,f,g)})}
function Ul(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),e=e.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
"$1PDPjs$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Vl(a,g,l):l(a,null):k("no data"+(b?" for file: "+
b:""),null)}
function Vl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Na(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/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?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);Vl(a,b,c)}})}else c(a,null)}
function Wl(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=Ca(a))}function g(a){f("Error: "+a);m&&(--Sl||hb(!0));m=!1}var k,l,m=!0;Sl++;qb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n));t.appendChild(r)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.1/components.xsl");n=function(e,l){l?Tl(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Sl||hb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Sl||
hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Tl(c,b,a,e,!0,f,n):Ul(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(p){g(p.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return Wl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Wl("pdp11",a,b,c,d)};
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Fb[c],d=!0;else if("string"==typeof f&&!Fb[c]){d=!0;e=Fb;for(var g=c,k=f.length,l=[],m=[],n="",t=null,r=0;r<k;r++){var p=f[r];if('"'==p||"'"==p)t&&p!=t?n+=p:(t?t=null:t=p,n&&(m.push(n),n=""));else{if(!t){if("\r"==p||"\n"==p)p=";";if(" "==p||"\t"==p||";"==p){n&&(m.push(n),n="");";"==p&&m.length&&(l.push(m),m=[]);continue}}n+=p}}n&&m.push(n);m.length&&l.push(m);e[g]=l;Eb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
!0):!1}if(d&&(g=Db(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=hb;window.sendEvent=jb;})();//# sourceMappingURL=/versions/pdpjs/1.37.1/pdp11-dbg.map