Added lots of PDP-10 compare/increment/decrement/skip/jump instructions

This commit is contained in:
Jeff 2017-03-09 12:30:51 -08:00 • committed by Jeff Parsons
commit 0dc6b7276b
16 changed files with 1171 additions and 650 deletions

View file

@ -26,222 +26,229 @@
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ba.Symbol||(ba.Symbol=ea)}var ka=0;function ea(a){return"jscomp_symbol_"+(a||"")+ka++}
function la(){da();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 ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function na(a){la();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function oa(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})}}
oa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var pa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:13,pc:14,qc:15,rc:16,sc:17,tc:18,uc:19,vc:20,wc:21,xc:22,yc:23,zc:24,Ac:25,Bc: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,kb:65,dc:66,fc:67,Cc:68,E:69,Dc:70,Ec:71,Fc:72,Gc:73,Hc:74,Ic:75,Jc:76,Kc:77,Lc:78,Mc:79,Nc:80,Q:81,Oc:82,Pc:83,Qc:84,Rc:85,Sc:86,Tc:87,
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ba.Symbol||(ba.Symbol=ea)}var fa=0;function ea(a){return"jscomp_symbol_"+(a||"")+fa++}
function ha(){da();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 ia(this)}});ha=function(){}}function ia(a){var b=0;return oa(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function oa(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}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||!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}});
var qa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:13,pc:14,qc:15,rc:16,sc:17,tc:18,uc:19,vc:20,wc:21,xc:22,yc:23,zc:24,Ac:25,Bc: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,kb:65,dc:66,fc:67,Cc:68,E:69,Dc:70,Ec:71,Fc:72,Gc:73,Hc:74,Ic:75,Jc:76,Kc:77,Lc:78,Mc:79,Nc:80,Q:81,Oc:82,Pc:83,Qc:84,Rc:85,Sc:86,Tc:87,
Uc:88,Vc:89,Bb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Wc:97,Xc:98,Yc:99,d:100,e:101,Zc:102,$c:103,ad:104,bd:105,cd:106,k:107,dd:108,ed:109,n:110,fd:111,p:112,q:113,r:114,gd:115,t:116,jd:117,kd:118,ld:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ab:127};
function qa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):
2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function ra(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),0>a||a>=Math.pow(b,c))&&(a=null);if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function sa(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return ra(a,8,b,c?"0o":"")}
function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ra(a,16,b,c?"0x":"")}function ta(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ua(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function xa(){var a=ya();return-1!==a.indexOf("pcjs.org",a.length-8)}function za(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}
function Ba(a,b){return(a+" ").slice(0,b)}function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Da(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,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
function Ja(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Ka(a,b,c,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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
function ra(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):
2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function sa(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),0>a||a>=Math.pow(b,c))&&(a=null);if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ta(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return sa(a,8,b,c?"0o":"")}
function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return sa(a,16,b,c?"0x":"")}function ua(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function va(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function wa(){var a=xa();return-1!==a.indexOf("pcjs.org",a.length-8)}function Aa(a){return a.replace(/[&<>"']/g,function(a){return Ba[a]})}
function Ca(a,b){return(a+" ").slice(0,b)}function Da(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Ea(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,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
function Fa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Ga(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function La(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
function Ma(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Da=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.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)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
function ya(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ma(){if(null==Na){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}Na=a}return Na}function Oa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Qa(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 Ra(a){if(!Sa){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," "))}Sa=c}return Sa[a]}function Ta(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ua(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 db(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function eb(a){fb.init.push(a)}
function gb(a){if(hb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ib(a){!hb&&a?(hb=!0,jb&&kb("init"),lb&&kb("show")):hb=a}function kb(a){fb[a]&&gb(fb[a])}var Sa=null,fb={init:[],show:[],exit:[]},jb=!1,lb=!1,hb=!0,Na=null;db("onload",function(){jb=!0;gb(fb.init)});db("onpageshow",function(){lb=!0;gb(fb.show)});db(Qa("Opera")||Qa("iOS")?"onunload":"onbeforeunload",function(){gb(fb.exit)});
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Db=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.w={ready:!1,Ia:!1,cb:!1,V:!1,error:!1};this.Ta=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;v.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date}
function r(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function rb(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}
function sb(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<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function ub(a,b){var c=x;b=y(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 h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=w(g))&&h.binding&&a.ja(h.type,h.binding,g,h.value),m=k.length}}}}
function y(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{var b=!1,h=sb(d[1],a);if(h)if(g=Ib[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Fb[a];return b}l=u.prototype;
function xa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Na(){if(null==Oa){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}Oa=a}return Oa}function Pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ra(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 Sa(a){if(!Ta){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," "))}Ta=c}return Ta[a]}function Ua(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Va(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 Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){gb.init.push(a)}
function hb(a){if(ib)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function jb(a){!ib&&a?(ib=!0,kb&&lb("init"),mb&&lb("show")):ib=a}function lb(a){gb[a]&&hb(gb[a])}var Ta=null,gb={init:[],show:[],exit:[]},kb=!1,mb=!1,ib=!0,Oa=null;Wa("onload",function(){kb=!0;hb(gb.init)});Wa("onpageshow",function(){mb=!0;hb(gb.show)});Wa(Ra("Opera")||Ra("iOS")?"onunload":"onbeforeunload",function(){hb(gb.exit)});
function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Db=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.A={ready:!1,Ia:!1,cb:!1,V:!1,error:!1};this.Ta=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;nb.push(this)}function ob(a,b,c){pb[a]&&b&&(pb[a][b]=c)}function qb(){return Date.now()||+new Date}
function r(a){window&&window.alert(a)}function rb(a){var b=!1;window&&(b=window.confirm(a));return b}function sb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<nb.length;b++){var d=nb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function tb(a){if(void 0!==a){var b;for(b=0;b<nb.length;b++)if(nb[b].id===a)return nb[b]}return null}
function ub(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<nb.length;d++)if(c)c==nb[d]&&(c=null);else if(!(a!=nb[d].type||b&&nb[d].id.indexOf(b)))return nb[d]}return null}function v(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function vb(a,b){var c=w;b=x(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 h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=v(g))&&h.binding&&a.ja(h.type,h.binding,g,h.value),m=k.length}}}}
function x(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 wb(a){for(var b=!0,c=yb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Ib.indexOf(e)&&(f=function(){return function(){wb(a)}}());var g=Jb[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{var b=!1,h=ub(d[1],a);if(h)if(g=Kb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete yb[a];return b}l=t.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.ja=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.ta=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Pa)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
l.status=function(a){this.j(this.Pa+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Jb(a,b){a.w.error=!0;a.da(b)}function Kb(a){return a.w.error?(a.j(a.toString()+" error"),!0):!1}function Lb(a,b){b&&(a.w.ready?b():a.Ta=b);return a.w.ready}function z(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Ta;a.Ta=null;b&&b()}}function Mb(a,b){a.w.Ia&&(b?a.w.cb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.w.Ia}
function Nb(a,b){if(a.w.cb)return a.w.Ia=!1,a.w.cb=!1;if(a.w.error)return a.j(a.toString()+" error"),!1;a.w.Ia=b;return a.w.Ia}l.ua=function(){return this.w.V=!0};l.ia=function(a,b){b&&(this.w.V=!1);return!0};function Ob(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.sb)}return!1}function Pb(a,b,c,d){a.D&&(!0===c||Ob(a,c|0))&&a.D.message(b,d)}
l.status=function(a){this.j(this.Pa+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Lb(a,b){a.A.error=!0;a.da(b)}function Mb(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Nb(a,b){b&&(a.A.ready?b():a.Ta=b);return a.A.ready}function Ob(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Ta;a.Ta=null;b&&b()}}function Pb(a,b){a.A.Ia&&(b?a.A.cb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Ia}
function Qb(a,b){if(a.A.cb)return a.A.Ia=!1,a.A.cb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Ia=b;return a.A.Ia}l.ua=function(){return this.A.V=!0};l.ia=function(a,b){b&&(this.A.V=!1);return!0};function Rb(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.sb)}return!1}function Sb(a,b,c,d){a.D&&(!0===c||Rb(a,c|0))&&a.D.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var nb=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Fb=window?window.PCjs.Commands:{},Gb=["hold","sleep","wait"],Hb={alert:function(a){r(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}};
var pb=window?window.PCjs.Machines:{},nb=window?window.PCjs.Components:[],yb=window?window.PCjs.Commands:{},Ib=["hold","sleep","wait"],Jb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Kb={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 x="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,A=Math.pow(2,18),B=Math.pow(2,18)-1,F=Math.pow(2,18),Sb=Math.pow(2,35)-1,G=Math.pow(2,35),H=Math.pow(2,36)-1,I=Math.pow(2,36),Tb=Math.pow(2,17)-1,J=Math.pow(2,35)-1,Ub=Math.pow(2,35),Vb=Math.pow(2,36),Wb=Math.pow(2,34),K=Math.pow(2,32),Xb=Math.pow(2,21),Yb=Math.pow(2,26),Zb=Math.pow(2,23),$b=Math.pow(2,30),x="pdp10",Qb="PDPjs",M={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,
write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function ac(a,b){u.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.f=this.I=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=bc;this.B={};this.b={START:[1,1,!0,!1,this.Pb],STEP:[1,1,!1,!1,this.Qb],ENABLE:[1,1,!1,!1,this.Kb],CONT:[1,1,!0,!1,this.Ib],DEP:[0,0,!0,!1,this.Jb],EXAM:[1,1,!0,!1,this.Lb],LOAD:[1,1,!0,!1,this.Nb],TEST:[0,0,!0,!1,this.Mb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ob,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Gb,toggle:this.Zb,reset:this.Vb,
set:this.Yb};z(this)}p(ac,u);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.A=0)};
l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):u.prototype.ja.call(this,a,b,c,d)}};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;fc(this);gc(this)};l.ua=function(a,b){if(!b)if(this.T&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.f,this.A,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])ic(this,this.f=a[0]),cc(this,this.A=a[1]),jc(this,a[2]);return!0};l.Vb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.B)kc(a,c,null!=b?b:a.B[c])}function lc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])}
l.Gb=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.Yb=function(a,b){if("SR"==a)return jc(this,qa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Zb=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1}
function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Pb=function(a){a||this.v.w.L||(this.v.A=this.f%A,this.b[pc]&&this.b[pc][1]&&qc(this.v))};l.Qb=function(){};l.Kb=function(a){a||this.v.W()};
l.Ib=function(a){if(!a&&!this.v.w.L)if(this.b[pc]&&this.b[pc][1])qc(this.v);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),rc(a,0,null),Nb(a,!1);else try{var b=this.v.Ma(1);0<b&&(sc(this.v,b),tc(this.v,b,!0),uc(this.v,b))}catch(c){"number"!=typeof c&&Jb(this.v,c.stack||c.message)}this.stop();this.G&&P(this.G)}};l.Jb=function(a){a&&!this.v.w.L&&(this.P&&vc(this),a=cc(this,this.A=this.u),this.S==bc?wc(this.H,this.f,a):this.v.i(this.f,a))};
l.Lb=function(a){if(!a&&!this.v.w.L){var b;this.R&&vc(this);this.S==bc?b=xc(this.H,this.f):b=this.v.g(this.f);cc(this,this.A=b)}};l.Nb=function(a){a||this.v.w.L||ic(this,this.u)};l.Mb=function(a){a?(this.F=!0,fc(this,!0)):(this.F=!1,fc(this),jc(this,0))};l.Ob=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function vc(a){var b=1,c=a.H.u;a.b[mc]&&a.b[mc][1]||(b=-b);ic(a,a.f&~c|a.f+b&c)}
function ic(a,b){a.f=b&a.H.u;if(a.N!==a.f){a.N=a.f;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.F||kc(d,e,f)}}}function cc(a,b){a.I=b%I;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.F||kc(d,e,f)}}return a.I}function jc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;gc(a);return!0}l.stop=function(){ic(this,this.v.A)};
function hc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=rb(d.id);e||(e=new ac(d,!0));ub(e,c)}}var bc=7,nc="DEP",pc="ENABLE",oc="EXAM",mc="STEP";eb(hc);function Fc(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.f=Math.log2(16384);this.B=this.I/16384|0;this.A=0;this.b=[];a=new Gc(this);Hc(a,this.D);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;z(this)}p(Fc,u);l=Fc.prototype;l.reset=function(){};
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,Ic(this));return a.data()};l.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&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Jc(a,b,c,d){for(var e=b,f=c,g=e>>>a.f;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ka+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ka){m=h.size-(e-k);m>f&&(m=f);h.Ka=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Kc(Lc,e,f)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+sa(b)),!0):Kc(Nc,b,c)}
function xc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.fb||e.Eb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}c[f]=e}}return c}
l.Fb=function(a){this.A||(this.D&&Ob(this.D,4)&&Pb(this.D,"memory fault on "+Q(this.D,a),!0,!0),this.v.W())};function Kc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lc=1,Nc=2;function Oc(a){u.call(this,"Device",a,256)}p(Oc,u);l=Oc.prototype;l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;z(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new O(this)).data()};
l.restore=function(){return!0};eb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new Oc(c),ub(c,d)}}});function Gc(a,b,c,d,e){this.J=a;this.id=Pc+=2;this.C=b;this.Ka=c;this.size=d||0;this.type=e||Qc;this.H=e==Rc;this.b=null;this.g=this.G=this.ib;this.i=this.D=this.La;this.f=this.v=0;Hc(this);this.fb=this.Eb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Sc(this,Tc)}else Sc(this)}l=Gc.prototype;l.save=function(){return this.u};
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.fb=!0):!1};function Sc(a,b){b||(b=Uc);Vc(a,b,void 0);Wc(a,b,void 0)}function Vc(a,b,c){c&&a.f||(a.g=b[0]||a.ib);if(c||void 0===c)a.G=b[0]||a.ib}function Wc(a,b,c){c&&a.v||(a.i=!a.H&&b[1]||a.La);if(c||void 0===c)a.D=b[1]||a.La}l.Ea=function(a,b){b?this.v++||Wc(this,Xc,!1):this.f++||Vc(this,Xc,!1)};function Yc(a,b){b?--a.v||(a.i=a.H?a.La:a.D):--a.f||(a.g=a.G)}
function Hc(a,b,c){a.b=b;a.f=a.v=0;c&&((a.f=c.f)&&Vc(a,Xc,!1),(a.v=c.v)&&Wc(a,Xc,!1))}l.ib=function(a,b){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to read invalid address "+Q(this.b,b),!0);this.J.Fb(b);return-1};l.La=function(a,b,c){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to write "+Q(this.b,a)+" to invalid addresses "+Q(this.b,c),!0)};l.Tb=function(a){return this.u[a]};l.bc=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.fb=!0)};
l.Rb=function(a,b){if(this.b&&null!=this.C){var c=this.b;Zc(c,this.C+a,2,c.M)&&c.W(!1)}return this.G(a,b)};l.ac=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;Zc(d,this.C+b,2,d.I)&&d.W(!1)}this.H?this.La(a,0,c):this.D(a,b,c)};var Qc=0,Rc=2,Mc=["NONE","RAM","ROM"],Pc=0,Uc=[],Tc=[Gc.prototype.Tb,Gc.prototype.bc],Xc=[Gc.prototype.Rb,Gc.prototype.ac];
function $c(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Xa=0;this.$a=b;this.ea=c;this.Ya=Math.round(this.$a/1E4)/100;this.ba=this.Ya*this.ea;this.Za=this.Ga=this.fa=this.Ra=0;this.w.L=this.w.Wa=!1;this.w.Z=a.autoStart;"string"==typeof this.w.Z&&(this.w.Z="true"==this.w.Z);this.w.Fa=!1;this.za=this.la=0;this.Aa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.O=[];this.rb=this.Wb.bind(this);this.T=this.N=this.R=this.S=this.M=this.ya=this.P=this.na=this.ab=this.aa=
0;this.Na=null;z(this)}p($c,u);l=$c.prototype;l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Na=a.u;for(a=0;a<ad.length;a++)(b=this.J[ad[a]])&&this.G.ja(null,ad[a],b);z(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.ua=function(a,b){var c=bd(this.G,"autoStart");null!=c?this.w.Z="true"==c?!0:"false"==c?!1:!!c:null==this.w.Z&&(this.w.Z=!this.D&&void 0===this.J.run);if(!b){if(a){cd(this);if(!this.restore(a))return!1;dd(this)}else this.reset();this.D?(a=this.D,b=this.w.Z,a.xa=!0,a.j("Type ? for help with PDPjs Debugger commands"),ed(a),b||fd(a),a.qa&&(b=a.qa,a.qa=null,gd(a,b))):this.status("No debugger detected");this.w.Z||this.j("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ia=function(a){return a?this.save():!0};l.Z=function(){return this.w.L?!0:this.w.Z?(qc(this),!0):!1};l.vb=function(){return 0};function dd(a){void 0===a.Aa&&(a.Aa=0);void 0===a.ka&&(a.ka=-1);void 0===a.ma&&(a.ma=-1);a.w.Fa=0<=a.Aa&&0<a.ka;a.w.Fa&&(a.za=0,a.la=a.Aa-a.T)}function uc(a,b){if(a.w.Fa){var c=!1;a.za=a.za+a.vb()|0;a.la-=b;0>=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=hd(a)&&(a.ka=a.ma=-1,dd(a),a.W(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+q(a.za))}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.V)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.w.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.w.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.w.L?d.W():qc(d))},!0;case "speed":return this.J[b]=
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){id(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function tc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function jd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Ya);a.Za=Math.round(1E3/kd);a.Ga=Math.floor(a.$a/kd*c);b||(a.fa=a.Ga);a.Ra=0}function hd(a){return a.T+a.N+a.R-a.S}function cd(a){a.aa=0;a.ab=0;a.T=a.N=a.R=a.S=0;dd(a);id(a,1)}
function id(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Ya*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&ld(a.G)}tc(a,a.N);a.N=0;a.M=ob();a.P=0;jd(a);return d}function md(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
function sc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
l.Wb=function(){if(this.w.L){this.Ra>=this.$a&&jd(this,!0);this.na=0;this.ya=ob();if(this.P){var a=this.ya-this.P;a>this.Za&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=md(this,this.w.Fa?1:this.Ga);try{this.Ma(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.na+=b;this.N+=b;uc(this,b);sc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ga;++this.ab>=pd&&(this.G&&P(this.G,void 0),this.ab=0);break}}while(this.w.L)}catch(e){this.W();this.G&&this.G.stop(ob(),hd(this));Jb(this,
e.stack||e.message);return}if(this.w.L){a=setTimeout;b=this.rb;this.P=ob();var c=this.Za;this.na&&(c=Math.round(c*this.na/this.Ga));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,id(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}};
function qc(a,b){if(!Kb(a))if(a.w.L)a.j(a.toString()+" busy");else{id(a);a.w.L=!0;a.w.Wa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&ld(a.G,!0),a.G.start(a.M,hd(a)));a.D||a.status("Started");setTimeout(a.rb,0)}}l.Ma=function(){return 0};l.W=function(a){var b=!1;if(this.w.L){od(this);tc(this,this.N);this.N=0;this.w.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),hd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var kd=30,pd=15,ad=["power","reset"];
function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.qb=b;this.Oa=+a.addrReset||0;this.Cb=rd.bind(this);this.f=R.bind(this);this.wa=null;this.nb=[];this.w.complete=!1}p(qd,$c);l=qd.prototype;l.reset=function(){this.status("Model "+this.qb);this.w.L&&this.W();this.b=this.K=this.Ha=0;this.A=this.xa=this.Oa;this.I=this.qa=-1;this.F=this.u=0;this.bb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.A;this.B=0;this.g=this.Sb;this.i=this.cc;this.wa=null;cd(this);this.w.error=!1;$c.prototype.reset.call(this)};
l.vb=function(){return 0};l.save=function(){var a=new O(this);a.set(0,[this.b,this.K,this.Ha,this.A,this.qa,this.I,this.u,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.w.Z]);a.set(3,sd(this));a.set(4,nd(this));return a.data()};
l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.b=b.next().value;this.K=b.next().value;this.Ha=b.next().value;this.A=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];id(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.nb.length;d++){var e=this.nb[d];if(e.$b===b[c]){d=e;break a}}d=
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function td(a,b){var c=a.A;a.A=(c+b)%A;return c}function sd(a){var b=[];for(a=a.wa;a;)b.push(a.$b),a=a.next;return b}l.Sb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.f].g(a&16383,a)};l.cc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b};
l.Ma=function(a){this.w.complete=!0;var b=this.D?ud(this.D)?1:this.w.Wa?-1:0:0,c=a?this.w.Wa?0:1:-1;this.w.Wa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(vd(this.D,this.A,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&vd(this.D,this.A,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.g(this.b):0<=this.qa?(this.K=this.Ha=this.g(this.qa),this.qa=-1):(this.K=this.Ha=
this.g(this.xa=this.A),this.A=(this.A+1)%A);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.g(a)&Rb;a=this.K&4194304?-1:this.Ha/Zb|0;0<=a&&this.Cb(a)}while(0<this.S);return this.w.complete?this.R-this.S:!1===this.w.complete?-1:0};eb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new qd(d);ub(d,c)}});function rd(a){wd[a>>4].call(this,a,a&15)}function S(a){this.f(a)}
function xd(){var a=0,b=this.g(this.b),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%I);this.i(this.b,b)}function yd(a,b){a=this.g(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.I=-1}}
function zd(a,b){a=this.g(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%I;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.b,a);this.I=-1}}function Ad(a,b){this.i(b,this.g(this.b))}function Bd(a,b){this.i(b,this.b)}function Cd(a,b){this.i(this.b,this.g(b))}function Dd(a,b){this.i(b,0)}function Zd(a,b){this.i(b,H-this.g(b))}function $d(a,b){this.i(b,H)}
function ae(a,b){var c=this.g(this.b),d=this.g(b);this.i(b,be(a,d,c)+(c-(c&B)))}function ce(a,b){var c=this.g(b);this.i(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.b);this.i(this.b,be(a,c,b)+(b-(b&B)))}function ee(a,b){var c=this.g(this.b),d=c;if(a&=384)switch(d-=d&B,a){case 256:d+=B;break;case 384:d+=c>J?B:0}c=d;this.i(this.b,c);b&&this.i(b,c)}function fe(a,b){var c=(this.g(this.b)&B)*F,d=this.g(b);this.i(b,be(a,d,c)+c)}
function ge(a,b){var c=this.b*F,d=this.g(b);this.i(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&B)*F;var c=this.g(this.b);this.i(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.b),d=(c&B)*F,c=be(a,c,d)+d;this.i(this.b,c);b&&this.i(b,c)}function je(a,b){var c=this.g(this.b)&B,d=this.g(b);this.i(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.i(b,ke(a,c,this.b)+this.b)}function me(a,b){b=this.g(b)&B;var c=this.g(this.b);this.i(this.b,ke(a,c,b)+b)}
function ne(a,b){var c=this.g(this.b),d=c;if(a&=384)switch(d&=B,a){case 256:d+=B*F;break;case 384:d+=c>Tb?B*F:0}c=d;this.i(this.b,c);b&&this.i(b,c)}function oe(a,b){var c=this.g(this.b)/F|0,d=this.g(b);this.i(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.i(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/F|0;var c=this.g(this.b);this.i(this.b,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.b),d=c/F|0,c=ke(a,c,d)+d;this.i(this.b,c);b&&this.i(b,c)}function U(a){se[a&7].call(this,a,a>>3&127)}
function te(){}function R(a){this.j("undefined opcode: "+sa(a));td(this,-1);this.W()}function ue(a){a>J&&(a!=Ub?a=Vb-a:this.u|=163840);return a}function ve(a,b){var c=(a+b)%I;we.call(this,a,b,c);return c}function V(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}
function xe(a,b,c){var d=!1,e=!1,f=b-b%G;a=a%G+b*G%I;b=this.F=f+Math.trunc(b/2);c>J&&(c=I-c,d=!d);b>J&&(a?(b=H-b,a=I-a):b&&(b=I-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.bb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<ye(this.pa,this.ga);)ze(this.ga,this.ga),ze(this.oa,this.oa);do{if(0<=ye(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=I,b[1]--),ze(this.bb,this.oa),Ae(this.pa)))break;Be(this.ga);Be(this.oa)}while(!Ae(this.oa));
a=this.bb[0];this.F=this.pa[0];d&&a&&(a=I-a);e&&this.F&&(this.F=I-this.F);return a}function Ce(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function De(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)}
function Ee(a,b,c){var d=a,e=b;b=!1;var f;d>J&&(d=I-d,b=!b);e>J&&(e=I-e,b=!b);if(d<F&&e<F)a=d*e,f=0;else{a=d%F;d=Math.trunc(d/F);f=e%F;var e=Math.trunc(e/F),g=a*f,h=d*f+Math.trunc(g/F);f=Math.trunc(h/F);h=h%F+a*e;a=h*F+g%F;f+=Math.trunc(h/F)+d*e}b&&(a?(f=H-f,a=I-a):f&&(f=I-f));if(c)return(f||a>J)&&(f!=H||a<=J)&&(this.u|=131072),a;c=a;b=f;a=b-b%G;b=2*b%I+Math.trunc(c/G);c=a+c%G;d=b-b%G;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
function Fe(a){a?a==Ub?this.u|=163840:a=Vb-a:this.u|=98304;return a}function Ge(a,b){var c=a-b;0>c&&(c+=I);we.call(this,c,b,a);return c}function we(a,b,c){a=Math.trunc(a/Wb);b=Math.trunc(b/Wb);c=Math.trunc(c/Wb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ke(a,b,c){switch(a&384){case 0:b-=b&B;break;case 128:b=0;break;case 256:b=B*F;break;case 384:b=c>Tb?B*F:0}return b}
function be(a,b,c){switch(a&384){case 0:b&=B;break;case 128:b=0;break;case 256:b=B;break;case 384:b=c>J?B:0}return b}function ze(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=I&&(a[0]%=I,a[1]++)}function ye(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Be(a){a[1]%2&&(a[0]+=I);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Ae(a){return!a[0]&&!a[1]}
var wd=[S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},xd,function(a,b){0>this.I&&xd.call(this);yd.call(this,0,b)},yd,function(a,b){0>this.I&&xd.call(this);zd.call(this,0,b)},zd,function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},Ad,Bd,Cd,function(a,b){b&&this.i(b,this.g(this.b))},function(a,b){a=this.g(this.b);a=(a/F|0)+a%F*F;this.i(b,a)},function(a,b){this.i(b,this.b*F)},function(a,b){a=this.g(b);a=(a/F|0)+a%F*F;this.i(this.b,a)},function(a,b){a=this.g(this.b);a=(a/F|0)+a%F*F;this.i(this.b,a);b&&this.i(b,a)},function(a,b){this.i(b,Fe.call(this,this.g(this.b)))},function(a,b){this.i(b,Fe.call(this,this.b))},function(a,b){this.i(this.b,
Fe.call(this,this.g(b)))},function(a,b){a=Fe.call(this,this.g(this.b));this.i(this.b,a);b&&this.i(b,a)},function(a,b){this.i(b,ue.call(this,this.g(this.b)))},function(a,b){this.i(b,this.b)},function(a,b){this.i(this.b,ue.call(this,this.g(b)))},function(a,b){a=ue.call(this,this.g(this.b));this.i(this.b,a);b&&this.i(b,a)},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.b),!0))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.b,!0))},function(a,b){this.i(this.b,Ee.call(this,this.g(b),this.g(this.b),
!0))},function(a,b){this.i(this.b,this.i(b,Ee.call(this,this.g(b),this.g(this.b),!0)))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.b)));this.i(b+1&15,this.F)},function(a,b){this.i(b,Ee.call(this,this.g(b),this.b));this.i(b+1&15,this.F)},function(a,b){this.i(this.b,Ee.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,Ee.call(this,this.g(b),this.g(this.b))));this.i(b+1&15,this.F)},function(a,b){a=xe.call(this,this.g(b),0,this.g(this.b));0>a||(this.i(b,a),this.i(b+
1&15,this.F))},function(a,b){a=xe.call(this,this.g(b),0,this.b);0>a||(this.i(b,a),this.i(b+1&15,this.F))},function(a,b){a=xe.call(this,this.g(b),0,this.g(this.b));0>a||this.i(this.b,a)},function(a,b){a=xe.call(this,this.g(b),0,this.g(this.b));0>a||this.i(b,this.i(this.b,a))},function(a,b){a=this.g(b);var c=this.g(b+1&15),c=xe.call(this,c,a,this.g(this.b));0>c||(this.i(b,c),this.i(b+1&15,this.F))},function(a,b){a=this.g(b);var c=this.g(b+1&15),c=xe.call(this,c,a,this.b);0>c||(this.i(b,c),this.i(b+
1&15,this.F))},function(a,b){a=this.g(b);b=this.g(b+1&15);b=xe.call(this,b,a,this.g(this.b));0>b||this.i(this.b,b)},function(a,b){a=this.g(b);var c=this.g(b+1&15),c=xe.call(this,c,a,this.g(this.b));0>c||(this.i(b,this.i(this.b,c)),this.i(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.g(b);var d=a>J?-(I-a):a;0<c?(35<=c?(d=0>d?G:0,c=Sb):(d=d*Math.pow(2,c)%G,c=G-Math.pow(2,35-c)),a<=J?a+c>J&&(this.u|=131072):a-c<=J&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,
-c));a=0>d?d+I:d;this.i(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%I+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.g(b),c=0<a?36<=a?0:c*Math.pow(2,a)%I:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a,b){a=0;var c=this.g(b);if(c){for(;c<G;)a++,c*=2;this.A=this.b%A}this.i(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0<a){var f=d;if(36<=a){if(0<
d&&d<G||d>Sb&&d<H)this.u|=131072;if(71<=a){if(0<e&&e<G||e>Sb&&e<H)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%G,c=G-Math.pow(2,70-a),f<=J?e+c>J&&(this.u|=131072):e-c<=J&&(this.u|=131072);e=0;f>Sb&&(d+=G,e+=G)}else d=d*Math.pow(2,a)%G+Math.trunc(e%G/Math.pow(2,35-a)),e=e*Math.pow(2,a)%G,c=G-Math.pow(2,35-a),f<=J?f+c>J&&(this.u|=131072):(f-c<=J&&(this.u|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>Sb?H:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=Sb?d=0:(d=H,e+=G)):(c=d>Sb?I-Math.pow(2,36+a):0,e=Math.trunc(e%
G/Math.pow(2,-a))+d%G*Math.pow(2,35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>Sb&&(e+=G));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%I+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%I+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=
this.g(b),d=this.g(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%I,d=0):(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%I,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},R,function(a,b){a=this.g(b);this.i(b,this.g(this.b));this.i(this.b,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/F|0,c=c&B;!a;)this.i(c,this.g(d)),c==this.b&&(a=!0),d=d+1&B,c=c+1&B,
this.w.L||(this.i(b,d*F+c),a||td(this,-1),a=!0)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.b%A)},function(){this.qa=this.b},R,function(a){this.f(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&B,this.g(this.b));a>=I&&(a-=I);a/F|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&B);this.i(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=I);(a/F|0)==B&&(this.u|=262144);this.i(b,a)},function(a){this.f(a)},
function(){this.i(this.b,(this.u&B)*F+this.A);this.A=(this.b+1)%A},function(a,b){this.i(b,(this.u&B)*F+this.A);this.A=this.b%A},function(a){this.f(a)},function(a){this.f(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,ve.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,ve.call(this,this.g(b),this.g(this.b))))},function(a,b){this.i(b,Ge.call(this,this.g(b),this.g(this.b)))},
function(a,b){this.i(b,Ge.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,Ge.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,Ge.call(this,this.g(b),this.g(this.b))))},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},Dd,Dd,function(){this.i(this.b,0)},function(a,b){this.i(this.b,this.i(b,0))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,V.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,V.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,V.call(this,this.g(b),this.g(this.b))))},
function(a,b){this.i(b,V.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.b))},function(a,b){this.i(this.b,V.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,V.call(this,H-this.g(b),this.g(this.b))))},Ad,Bd,te,Ad,function(a,b){this.i(b,V.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(b,V.call(this,this.g(b),H-this.b))},function(a,b){this.i(this.b,V.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,
this.i(b,V.call(this,this.g(b),H-this.g(this.b))))},te,te,Cd,Cd,function(a,b){this.i(b,Ce.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,Ce.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,Ce.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,Ce.call(this,this.g(b),this.g(this.b))))},function(a,b){this.i(b,W.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,W.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,W.call(this,this.g(b),this.g(this.b)))},
function(a,b){this.i(this.b,this.i(b,W.call(this,this.g(b),this.g(this.b))))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.g(this.b)))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.b))},function(a,b){this.i(this.b,V.call(this,H-this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,V.call(this,H-this.g(b),H-this.g(this.b))))},function(a,b){this.i(b,De.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,De.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,
De.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,De.call(this,this.g(b),this.g(this.b))))},Zd,Zd,function(a,b){this.i(this.b,H-this.g(b))},function(a,b){this.i(this.b,this.i(b,H-this.g(b)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.b))},function(a,b){this.i(this.b,W.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,W.call(this,H-this.g(b),this.g(this.b))))},function(a,
b){this.i(b,H-this.g(this.b))},function(a,b){this.i(b,H-this.b)},function(){this.i(this.b,H-this.g(this.b))},function(a,b){this.i(this.b,this.i(b,H-this.g(this.b)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.b))},function(a,b){this.i(this.b,W.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,W.call(this,this.g(b),H-this.g(this.b))))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.g(this.b)))},
function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.b))},function(a,b){this.i(this.b,W.call(this,H-this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,W.call(this,H-this.g(b),H-this.g(this.b))))},$d,$d,function(){this.i(this.b,H)},function(a,b){this.i(this.b,this.i(b,H))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,
U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],se=[function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a,b){switch(b){case 0:a=this.g(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.f(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.i(this.b,a);break;default:this.f(a)}},function(a){this.f(a)},function(a){this.f(a)}];
function He(a){u.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=ta(this.A);if(this.A){a=this.A;var b=ua(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(mb(c.Qa,a,b),(a=La(a,b))?(c.b=a.Y,c.U=a.U):c.A=null);Ie(c)})}}p(He,u);
He.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ie(this)};He.prototype.ua=function(){this.U&&(this.D&&Je(this.D,this.id,this.B,this.u,this.U),delete this.U);return!0};He.prototype.ia=function(){return!0};
function Ie(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Jc(a.H,b,a.u,Rc)){var c;for(c=0;c<a.b.length;c++)wc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.B>>>f.f;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
f.f;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}z(a)}}eb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new He(d);ub(d,c)}});
function Ke(a){u.call(this,"RAM",a);this.U=this.Da=null;this.f=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.A=this.F=!1;this.b=a.file;this.B=ta(this.b);if(this.b){a=this.b;var b=ua(this.B);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.Qa,a,b),(a=La(a,b))?(c.Da=a.Da,
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Le(c)})}}p(Ke,u);Ke.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Le(this)};Ke.prototype.ua=function(a,b){this.U&&(this.D&&Je(this.D,this.id,this.f,this.u,this.U),delete this.U);b||this.reset();return!0};Ke.prototype.ia=function(){return!0};
function Le(a){if(a.H&&(!a.A&&a.u&&(Jc(a.H,a.f,a.u,1)?a.A=!0:a.u=0),!Lb(a))){if(!a.A)r("No RAM allocated");else if(a.b){if(!a.Da)return;Me(a,a.Da,a.sa,a.ra,a.f)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;z(a)}}
Ke.prototype.reset=function(){if(this.A&&!this.F){for(var a=this.H,b=this.f,c=this.u,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-Ub&&(g+=I);for(var g=Math.trunc(Math.abs(g))%I,h=d;f--&&h<e.size;h++)e.D(g,d,e.C+d);c-=16384;b++;d=0}this.Da&&Me(this,this.Da,this.sa,this.ra,this.f,!this.D)}this.F=!1};
function Me(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)wc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,a.A=d%A,f?a.w.V?a.w.L||qc(a):a.w.Z=!0:a.D&&a.w.V?a.W()||a.G.w.reset||(ed(a.D),P(a.G,-1)):!1===f&&a.W(),!a.w.L&&a.Na&&a.Na.stop()));return g}eb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ke(d);ub(d,c)}});
function Ne(a){u.call(this,"SerialPort",a,1048576);this.A=a.upperCase;"string"==typeof this.A&&(this.A="true"==this.A);this.u=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=Oe;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.B=null;this.exports={connect:this.wb,receiveData:this.Ua,receiveStatus:this.Ub,setConnection:this.Xb}}p(Ne,u);l=Ne.prototype;
l.ja=function(a,b,c){var d=this;switch(b){case Oe:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?pa.lb:pa.Ab:46==c?b=pa.lb:a.ctrlKey&&c>=pa.kb&&c<=pa.Bb&&(b=c-(pa.kb-pa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==pa.zb&&(b=pa.yb);d.Ua(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.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)};
l.wb=function(a){if(!this.b){var b=bd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Pa)return;c=Ca(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.f.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.f.push(b)}else this.f=this.f.concat(a);return!0};l.Ub=function(){};l.Xb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Oe="buffer";
eb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ne(d);ub(d,c)}});function Pe(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.A=-1;this.u=[];this.T={}}p(Pe,u);Pe.prototype.gb=function(){return-1};Pe.prototype.hb=function(){};
function Qe(a,b,c,d){if(c)if(b){0>a.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+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(Ca(b.substring(c,f))),c=f+1}}return a}
function Re(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
var w="pdp10",Tb="PDPjs",Ub=Math.pow(2,18)-1,Vb=Math.pow(2,18),Wb=Math.pow(2,17)-1,y=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,B=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),Xb=Math.pow(2,34),Yb=Math.pow(2,36),Zb=Math.pow(2,21),$b=Math.pow(2,26),ac=Math.pow(2,23),bc=Math.pow(2,30),w="pdp10",Tb="PDPjs",cc={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,
speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function dc(a,b){t.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.i=this.I=this.u=this.w=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=ec;this.B={};this.b={START:[1,1,!0,!1,this.Pb],STEP:[1,1,!1,!1,this.Qb],ENABLE:[1,1,!1,!1,this.Kb],CONT:[1,1,!0,!1,this.Ib],DEP:[0,0,!0,!1,this.Jb],EXAM:[1,1,!0,!1,this.Lb],LOAD:[1,1,!0,!1,this.Nb],TEST:[0,0,!0,!1,this.Mb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ob,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Gb,toggle:this.Zb,reset:this.Vb,
set:this.Yb};Ob(this)}p(dc,t);l=dc.prototype;l.reset=function(a){this.stop();a&&fc(this,this.w=0)};
l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){gc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){hc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){gc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){hc(a,b)}}(this,b),!0):t.prototype.ja.call(this,a,b,c,d)}};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ic(this);jc(this)};l.ua=function(a,b){if(!b)if(this.T&&kc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])lc(this,this.i=a[0]),fc(this,this.w=a[1]),mc(this,a[2]);return!0};l.Vb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}jc(this);return!0};function nc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ic(a,b){for(var c in a.B)nc(a,c,null!=b?b:a.B[c])}function oc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jc(a){for(var b in a.b)oc(a,b,a.b[b][1])}
l.Gb=function(a,b,c){if(gc(this,b)){if(c){var d=this;setTimeout(function(){hc(d,b);a&&a()},+c);return!1}hc(this,b)}return!0};l.Yb=function(a,b){if("SR"==a)return mc(this,ra(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,oc(this,a,c[1]),!0):!1};l.Zb=function(a){return gc(this,a)?(hc(this,a),!0):!1};function gc(a,b){var c=a.b[b];return c?(oc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=pc&&(a.P=b==qc,a.R=b==rc),!0):!1}
function hc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(oc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Pb=function(a){a||this.v.A.L||(J(this.v,this.i),this.b[sc]&&this.b[sc][1]&&tc(this.v))};l.Qb=function(){};l.Kb=function(a){a||this.v.W()};
l.Ib=function(a){if(!a&&!this.v.A.L)if(this.b[sc]&&this.b[sc][1])tc(this.v);else{if((a=this.D)&&!Pb(a,!0))Qb(a,!0),uc(a,0,null),Qb(a,!1);else try{var b=this.v.Ma(1);0<b&&(vc(this.v,b),wc(this.v,b,!0),xc(this.v,b))}catch(c){"number"!=typeof c&&Lb(this.v,c.stack||c.message)}this.stop();this.G&&K(this.G)}};l.Jb=function(a){a&&!this.v.A.L&&(this.P&&yc(this),a=fc(this,this.w=this.u),this.S==ec?zc(this.H,this.i,a):this.v.g(this.i,a))};
l.Lb=function(a){if(!a&&!this.v.A.L){var b;this.R&&yc(this);this.S==ec?b=Hc(this.H,this.i):b=this.v.f(this.i);fc(this,this.w=b)}};l.Nb=function(a){a||this.v.A.L||lc(this,this.u)};l.Mb=function(a){a?(this.F=!0,ic(this,!0)):(this.F=!1,ic(this),mc(this,0))};l.Ob=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function yc(a){var b=1,c=a.H.u;a.b[pc]&&a.b[pc][1]||(b=-b);lc(a,a.i&~c|a.i+b&c)}
function lc(a,b){a.i=b&a.H.u;if(a.N!==a.i){a.N=a.i;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.F||nc(d,e,f)}}}function fc(a,b){a.I=b%D;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.F||nc(d,e,f)}}return a.I}function mc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;jc(a);return!0}l.stop=function(){lc(this,this.v.u)};
function kc(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=v(c),e=tb(d.id);e||(e=new dc(d,!0));vb(e,c)}}var ec=7,qc="DEP",sc="ENABLE",rc="EXAM",pc="STEP";Xa(kc);function Ic(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.B=this.I/16384|0;this.w=0;this.b=[];a=new Jc(this);Kc(a,this.D);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;Ob(this)}p(Ic,t);l=Ic.prototype;l.reset=function(){};
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,Lc(this));return a.data()};l.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&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Mc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ka+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ka){m=h.size-(e-k);m>f&&(m=f);h.Ka=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Nc(Oc,e,f)}e=new Jc(a,e,m,16384,d);Kc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Pc[d]+" at "+ta(b)),!0):Nc(Qc,b,c)}
function Hc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function zc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Lc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.fb||e.Eb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}c[f]=e}}return c}
l.Fb=function(a){this.w||(this.D&&Rb(this.D,4)&&Sb(this.D,"memory fault on "+L(this.D,a),!0,!0),this.v.W())};function Nc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Oc=1,Qc=2;function Rc(a){t.call(this,"Device",a,256)}p(Rc,t);l=Rc.prototype;l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Ob(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new F(this)).data()};
l.restore=function(){return!0};Xa(function(){for(var a=x(document,w,"device"),b=0;b<a.length;b++){var c,d=a[b];c=v(d);switch(c.type){case "default":c=new Rc(c),vb(c,d)}}});function Jc(a,b,c,d,e){this.H=a;this.id=Sc+=2;this.C=b;this.Ka=c;this.size=d||0;this.type=e||Tc;this.G=e==Uc;this.b=null;this.f=this.D=this.ib;this.g=this.w=this.La;this.i=this.v=0;Kc(this);this.fb=this.Eb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Vc(this,Wc)}else Vc(this)}l=Jc.prototype;l.save=function(){return this.u};
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.fb=!0):!1};function Vc(a,b){b||(b=Xc);Yc(a,b,void 0);Zc(a,b,void 0)}function Yc(a,b,c){c&&a.i||(a.f=b[0]||a.ib);if(c||void 0===c)a.D=b[0]||a.ib}function Zc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.La);if(c||void 0===c)a.w=b[1]||a.La}l.Ea=function(a,b){b?this.v++||Zc(this,$c,!1):this.i++||Yc(this,$c,!1)};function ad(a,b){b?--a.v||(a.g=a.G?a.La:a.w):--a.i||(a.f=a.D)}
function Kc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Yc(a,$c,!1),(a.v=c.v)&&Zc(a,$c,!1))}l.ib=function(a,b){this.b&&Rb(this.b,32)&&Sb(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Fb(b);return-1};l.La=function(a,b,c){this.b&&Rb(this.b,32)&&Sb(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0)};l.Tb=function(a){return this.u[a]};l.bc=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.fb=!0)};
l.Rb=function(a,b){if(this.b&&null!=this.C){var c=this.b;bd(c,this.C+a,2,c.M)&&c.W(!1)}return this.D(a,b)};l.ac=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;bd(d,this.C+b,2,d.I)&&d.W(!1)}this.G?this.La(a,0,c):this.w(a,b,c)};var Tc=0,Uc=2,Pc=["NONE","RAM","ROM"],Sc=0,Xc=[],Wc=[Jc.prototype.Tb,Jc.prototype.bc],$c=[Jc.prototype.Rb,Jc.prototype.ac];
function cd(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Xa=0;this.$a=b;this.ea=c;this.Ya=Math.round(this.$a/1E4)/100;this.ba=this.Ya*this.ea;this.Za=this.Ga=this.fa=this.Ra=0;this.A.L=this.A.Wa=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.Fa=!1;this.za=this.la=0;this.Aa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.O=[];this.rb=this.Wb.bind(this);this.T=this.N=this.R=this.S=this.M=this.ya=this.P=this.na=this.ab=this.aa=
0;this.Na=null;Ob(this)}p(cd,t);l=cd.prototype;l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Na=a.u;for(a=0;a<dd.length;a++)(b=this.J[dd[a]])&&this.G.ja(null,dd[a],b);Ob(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.ua=function(a,b){var c=ed(this.G,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.D&&void 0===this.J.run);if(!b){if(a){fd(this);if(!this.restore(a))return!1;gd(this)}else this.reset();this.D?(a=this.D,b=this.A.Z,a.xa=!0,a.j("Type ? for help with PDPjs Debugger commands"),hd(a),b||id(a),a.qa&&(b=a.qa,a.qa=null,jd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ia=function(a){return a?this.save():!0};l.Z=function(){return this.A.L?!0:this.A.Z?(tc(this),!0):!1};l.vb=function(){return 0};function gd(a){void 0===a.Aa&&(a.Aa=0);void 0===a.ka&&(a.ka=-1);void 0===a.ma&&(a.ma=-1);a.A.Fa=0<=a.Aa&&0<a.ka;a.A.Fa&&(a.za=0,a.la=a.Aa-a.T)}function xc(a,b){if(a.A.Fa){var c=!1;a.za=a.za+a.vb()|0;a.la-=b;0>=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=kd(a)&&(a.ka=a.ma=-1,gd(a),a.W(),c=!0);c&&a.j(kd(a)+" cycles: checksum="+q(a.za))}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=sb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.A.L?d.W():tc(d))},!0;case "speed":return this.J[b]=
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){ld(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function wc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function md(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Ya);a.Za=Math.round(1E3/nd);a.Ga=Math.floor(a.$a/nd*c);b||(a.fa=a.Ga);a.Ra=0}function kd(a){return a.T+a.N+a.R-a.S}function fd(a){a.aa=0;a.ab=0;a.T=a.N=a.R=a.S=0;gd(a);ld(a,1)}
function ld(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Ya*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&od(a.G)}wc(a,a.N);a.N=0;a.M=qb();a.P=0;md(a);return d}function pd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
function vc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function rd(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
l.Wb=function(){if(this.A.L){this.Ra>=this.$a&&md(this,!0);this.na=0;this.ya=qb();if(this.P){var a=this.ya-this.P;a>this.Za&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=pd(this,this.A.Fa?1:this.Ga);try{this.Ma(b)}catch(e){if("number"!=typeof e)throw e;}b=rd(this,!0);this.na+=b;this.N+=b;xc(this,b);vc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ga;++this.ab>=sd&&(this.G&&K(this.G,void 0),this.ab=0);break}}while(this.A.L)}catch(e){this.W();this.G&&this.G.stop(qb(),kd(this));Lb(this,
e.stack||e.message);return}if(this.A.L){a=setTimeout;b=this.rb;this.P=qb();var c=this.Za;this.na&&(c=Math.round(c*this.na/this.Ga));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,ld(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}};
function tc(a,b){if(!Mb(a))if(a.A.L)a.j(a.toString()+" busy");else{ld(a);a.A.L=!0;a.A.Wa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&od(a.G,!0),a.G.start(a.M,kd(a)));a.D||a.status("Started");setTimeout(a.rb,0)}}l.Ma=function(){return 0};l.W=function(a){var b=!1;if(this.A.L){rd(this);wc(this,this.N);this.N=0;this.A.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(qb(),kd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var nd=30,sd=15,dd=["power","reset"];
function td(a){var b=+a.model||1001;cd.call(this,a,1E6);this.qb=b;this.Oa=+a.addrReset||0;this.Cb=ud.bind(this);this.i=M.bind(this);this.wa=null;this.nb=[];this.A.complete=!1}p(td,cd);l=td.prototype;l.reset=function(){this.status("Model "+this.qb);this.A.L&&this.W();this.b=this.K=this.Ha=0;this.u=this.xa=this.Oa;this.I=this.qa=-1;this.F=this.w=0;this.bb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.u;this.B=0;this.f=this.Sb;this.g=this.cc;this.wa=null;fd(this);this.A.error=!1;cd.prototype.reset.call(this)};
l.vb=function(){return 0};l.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ha,this.u,this.qa,this.I,this.w,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,vd(this));a.set(4,qd(this));return a.data()};
l.restore=function(a){var b;b=a[0];ha();da();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Ha=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.w=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];ld(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.nb.length;d++){var e=this.nb[d];if(e.$b===b[c]){d=e;break a}}d=
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function wd(a,b){var c=a.u;a.u=(c+b)%Vb;return c}function J(a,b){a.u=b%Vb}function vd(a){var b=[];for(a=a.wa;a;)b.push(a.$b),a=a.next;return b}l.Sb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.cc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
l.Ma=function(a){this.A.complete=!0;var b=this.D?xd(this.D)?1:this.A.Wa?-1:0:0,c=a?this.A.Wa?0:1:-1;this.A.Wa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(yd(this.D,this.u,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&yd(this.D,this.u,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ha=this.f(this.qa),this.qa=-1):(this.K=this.Ha=
this.f(this.xa=this.u),this.u=(this.u+1)%Vb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Ub;a=this.K&4194304?-1:this.Ha/ac|0;0<=a&&this.Cb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Xa(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new td(d);vb(d,c)}});function ud(a){zd[a>>4].call(this,a,a&15)}function N(a){this.i(a)}
function Ad(){var a=0,b=this.f(this.b),c=b/bc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bc+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function Bd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/bc&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
function Cd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/bc&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function Dd(a,b){this.g(b,this.f(this.b))}function Ed(a,b){this.g(b,this.b)}function $d(a,b){this.g(this.b,this.f(b))}function ae(a,b){this.g(b,0)}function be(a,b){this.g(b,C-this.f(b))}function ce(a,b){this.g(b,C)}
function de(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,ee(a,d,c)+(c-(c&y)))}function fe(a,b){var c=this.f(b);this.g(b,ee(a,c,0))}function ge(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,ee(a,c,b)+(b-(b&y)))}function he(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ie(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,ee(a,d,c)+c)}
function je(a,b){var c=this.b*z,d=this.f(b);this.g(b,ee(a,d,c)+c)}function ke(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}function le(a,b){var c=this.f(this.b),d=(c&y)*z,c=ee(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function me(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,ne(a,d,c)+c)}function oe(a,b){var c=this.f(b);this.g(b,ne(a,c,this.b)+this.b)}function pe(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,ne(a,c,b)+b)}
function qe(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Wb?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function re(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,ne(a,d,c)+c)}function se(a,b){var c=this.f(b);this.g(b,ne(a,c,0))}function te(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,ne(a,c,b)+b)}function ue(a,b){var c=this.f(this.b),d=c/z|0,c=ne(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function O(a){ve[a&7].call(this,a,a>>3&127)}
function we(){}function xe(){}function M(a){this.j("undefined opcode: "+ta(a));wd(this,-1);this.W()}function ye(a){a>A&&(a!=B?a=Yb-a:this.w|=163840);return a}function Q(a,b){var c=(a+b)%D;ze.call(this,a,b,c);return c}function S(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function T(a,b){return(a<B?a:a-D)-(b<B?b:b-B)}
function Ae(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%D;b=this.F=f+Math.trunc(b/2);c>A&&(c=D-c,d=!d);b>A&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.w|=131104,-1;f=this.bb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<Be(this.pa,this.ga);)Ce(this.ga,this.ga),Ce(this.oa,this.oa);do{if(0<=Be(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=D,b[1]--),Ce(this.bb,this.oa),De(this.pa)))break;Ee(this.ga);Ee(this.oa)}while(!De(this.oa));
a=this.bb[0];this.F=this.pa[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a}function Fe(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function Ge(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}
function He(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=D-d,b=!b);e>A&&(e=D-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d%z;d=Math.trunc(d/z);f=e%z;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=h%z+a*e;a=h*z+g%z;f+=Math.trunc(h/z)+d*e}b&&(a?(f=C-f,a=D-a):f&&(f=D-f));if(c)return(f||a>A)&&(f!=C||a<=A)&&(this.w|=131072),a;c=a;b=f;a=b-b%B;b=2*b%D+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.w|=131072);this.F=c;return b}
function Ie(a){a?a==B?this.w|=163840:a=Yb-a:this.w|=98304;return a}function V(a){return a<B?a:a-D}function W(a,b){var c=a-b;0>c&&(c+=D);ze.call(this,c,b,a);return c}function ze(a,b,c){a=Math.trunc(a/Xb);b=Math.trunc(b/Xb);c=Math.trunc(c/Xb);var d=a^(a^b)&(b^c);this.w=this.w|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ne(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Wb?y*z:0}return b}
function ee(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b}function Ce(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function Be(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Ee(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function De(a){return!a[0]&&!a[1]}
var zd=[N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},Ad,function(a,b){0>this.I&&Ad.call(this);Bd.call(this,0,b)},Bd,function(a,b){0>this.I&&Ad.call(this);Cd.call(this,0,b)},Cd,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},Dd,Ed,$d,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+a%z*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+a%z*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+a%z*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ie.call(this,this.f(this.b)))},function(a,b){this.g(b,Ie.call(this,this.b))},function(a,b){this.g(this.b,
Ie.call(this,this.f(b)))},function(a,b){a=Ie.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ye.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,ye.call(this,this.f(b)))},function(a,b){a=ye.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,He.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b),
!0))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,He.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=Ae.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
1&15,this.F))},function(a,b){a=Ae.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Ae.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=Ae.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ae.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ae.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
function(a,b){a=this.f(b);b=this.f(b+1&15);b=Ae.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ae.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(D-a):a;0<c?(35<=c?(d=0>d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.w|=131072):a-c<=A&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+D:d;
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;J(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>A&&
d<C)this.w|=131072;if(71<=a){if(0<e&&e<B||e>A&&e<C)this.w|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=A?e+c>A&&(this.w|=131072):e-c<=A&&(this.w|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.w|=131072):(f-c<=A&&(this.w|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?D-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+
d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.L||(this.g(b,d*
z+c),a||wd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<B&&J(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=B&&J(this,this.b)},function(a){this.i(a)},function(a,b){a=b<<14;this.w&a&&(this.w&=~a,J(this,this.b))},function(){this.qa=this.b},M,function(a){this.i(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=D&&(a-=D);a/z|0||(this.w|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145;
0>a&&(a+=D);(a/z|0)==y&&(this.w|=262144);this.g(b,a)},function(a){this.i(a)},function(){this.g(this.b,(this.w&y)*z+this.u);J(this,this.b+1)},function(a,b){this.g(b,(this.w&y)*z+this.u);J(this,this.b)},function(a){this.i(a)},function(a){this.i(a)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},
function(a,b){this.g(b,W.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,W.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,W.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W.call(this,this.f(b),this.f(this.b))))},we,function(a,b){0>T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(a,b){T.call(this,this.f(b),this.b)||J(this,this.u+1)},function(a,b){0>=T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(){J(this,this.u+1)},function(a,
b){0<=T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(a,b){T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(a,b){0<T.call(this,this.f(b),this.b)&&J(this,this.u+1)},xe,function(a,b){0>T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},function(a,b){T.call(this,this.f(b),this.f(this.b))||J(this,this.u+1)},function(a,b){0>=T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},function(){J(this,this.u+1)},function(a,b){0<=T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+
1)},function(a,b){T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},function(a,b){0<T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},we,function(a,b){0>V.call(this,this.f(b))&&J(this,this.b)},function(a,b){V.call(this,this.f(b))||J(this,this.b)},function(a,b){0>=V.call(this,this.f(b))&&J(this,this.b)},function(){J(this,this.b)},function(a,b){0<=V.call(this,this.f(b))&&J(this,this.b)},function(a,b){V.call(this,this.f(b))&&J(this,this.b)},function(a,b){0<V.call(this,this.f(b))&&J(this,
this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V.call(this,a)||J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){J(this,this.u+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V.call(this,a)&&J(this,this.u+
1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V.call(this,a)||J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V.call(this,a)&&J(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,
this.f(b),1));0<=V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V.call(this,a)||J(this,this.u+1);b&&
this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));
0<V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){this.g(b,W.call(this,this.f(b),1))},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0>V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));V.call(this,a)||J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0>=V.call(this,a)&&J(this,this.b)},function(a,b){this.g(b,W.call(this,this.f(b),1));J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0<=V.call(this,a)&&J(this,this.b)},
function(a,b){a=this.g(b,W.call(this,this.f(b),1));V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0<V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));0>V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));V.call(this,a)||J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,
this.f(this.b),1));0>=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));0<=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));0<V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},ae,
ae,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,S.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,S.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,S.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,S.call(this,C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,S.call(this,C-this.f(b),this.b))},function(a,b){this.g(this.b,S.call(this,C-
this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,C-this.f(b),this.f(this.b))))},Dd,Ed,xe,Dd,function(a,b){this.g(b,S.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,S.call(this,this.f(b),C-this.b))},function(a,b){this.g(this.b,S.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,this.f(b),C-this.f(this.b))))},we,we,$d,$d,function(a,b){this.g(b,Fe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Fe.call(this,
this.f(b),this.b))},function(a,b){this.g(this.b,Fe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Fe.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,U.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,U.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,U.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,S.call(this,C-this.f(b),C-this.f(this.b)))},function(a,
b){this.g(b,S.call(this,C-this.f(b),C-this.b))},function(a,b){this.g(this.b,S.call(this,C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,Ge.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Ge.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Ge.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ge.call(this,this.f(b),this.f(this.b))))},be,be,function(a,b){this.g(this.b,
C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,U.call(this,C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U.call(this,C-this.f(b),this.b))},function(a,b){this.g(this.b,U.call(this,C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U.call(this,C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},
function(a,b){this.g(b,U.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,U.call(this,this.f(b),C-this.b))},function(a,b){this.g(this.b,U.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U.call(this,this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,U.call(this,C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,U.call(this,C-this.f(b),C-this.b))},function(a,b){this.g(this.b,U.call(this,C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
U.call(this,C-this.f(b),C-this.f(this.b))))},ce,ce,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],ve=[function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a,b){switch(b){case 0:a=
this.f(this.b);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145);break;default:this.i(a)}},function(a,b){switch(b){case 0:a=0;this.w&131072&&(a|=8);this.w&262144&&(a|=65536);this.g(this.b,a);break;default:this.i(a)}},function(a){this.i(a)},function(a){this.i(a)}];
function Je(a){t.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ua(this.w);if(this.w){a=this.w;var b=va(this.F);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(ob(c.Qa,a,b),(a=Ma(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);Ke(c)})}}p(Je,t);
Je.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ke(this)};Je.prototype.ua=function(){this.U&&(this.D&&Le(this.D,this.id,this.B,this.u,this.U),delete this.U);return!0};Je.prototype.ia=function(){return!0};
function Ke(a){if(!Nb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Lb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Mc(a.H,b,a.u,Uc)){var c;for(c=0;c<a.b.length;c++)zc(a.H,b+c,a.b[c]);b=!0}else 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.H,g=d.u,h=[],k=d.B>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Ob(a)}}Xa(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Je(d);vb(d,c)}});
function Me(a){t.call(this,"RAM",a);this.U=this.Da=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.B=ua(this.b);if(this.b){a=this.b;var b=va(this.B);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ob(c.Qa,a,b),(a=Ma(a,b))?(c.Da=a.Da,
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Ne(c)})}}p(Me,t);Me.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ne(this)};Me.prototype.ua=function(a,b){this.U&&(this.D&&Le(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};Me.prototype.ia=function(){return!0};
function Ne(a){if(a.H&&(!a.w&&a.u&&(Mc(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Nb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Da)return;Oe(a,a.Da,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;Ob(a)}}
Me.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h<e.size;h++)e.w(g,d,e.C+d);c-=16384;b++;d=0}this.Da&&Oe(this,this.Da,this.sa,this.ra,this.i,!this.D)}this.F=!1};
function Oe(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)zc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,J(a,d),f?a.A.V?a.A.L||tc(a):a.A.Z=!0:a.D&&a.A.V?a.W()||a.G.A.reset||(hd(a.D),K(a.G,-1)):!1===f&&a.W(),!a.A.L&&a.Na&&a.Na.stop()));return g}Xa(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Me(d);vb(d,c)}});
function Pe(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Qe;b&&(void 0===c&&(c="Panel"),(c=ub(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.B=null;this.exports={connect:this.wb,receiveData:this.Ua,receiveStatus:this.Ub,setConnection:this.Xb}}p(Pe,t);l=Pe.prototype;
l.ja=function(a,b,c){var d=this;switch(b){case Qe:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?qa.lb:qa.Ab:46==c?b=qa.lb:a.ctrlKey&&c>=qa.kb&&c<=qa.Bb&&(b=c-(qa.kb-qa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==qa.zb&&(b=qa.yb);d.Ua(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.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Ob(this)};
l.wb=function(a){if(!this.b){var b=ed(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.Pa)return;c=Da(c[1]);if(this.b=tb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new F(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.i.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.i.push(b)}else this.i=this.i.concat(a);return!0};l.Ub=function(){};l.Xb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Qe="buffer";
Xa(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Pe(d);vb(d,c)}});function Re(a){t.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.w=-1;this.u=[];this.T={}}p(Re,t);Re.prototype.gb=function(){return-1};Re.prototype.hb=function(){};
function Se(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.P?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(Da(b.substring(c,f))),c=f+1}}return a}
function Te(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function Se(a,b,c){var d;if(b){b=Te(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],t=n.length,n=Ca(n);if(!n){f=!0;break}n=Ue(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],D=n.length;k.length&&Ve[n]<Ve[k[k.length-1]]&&Re(h,k,1);k.push(n);b=b.substr(t+D)}Re(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&We(a,null,
d))}return d}function Te(a,b){for(var c,d=a.la?"(":"{",e=a.la?")":"}",f=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Se(a,c[1]);b=b.replace(d+c[1]+e,null!=g?Q(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function Ue(a,b,c,d){var e;null!=b?(e=a.gb(b),0<=e?e=a.hb(e):(e=a.T[b],null==e&&(e=qa(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
function We(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=void 0,n=8,t="";n?32<n&&(n=32):n=32;for(var D=null==k||isNaN(k),fa=m=m||n;0<n--;)fa||(t=","+t,fa=m),t=(D?"?":k&1?"1":"0")+t,k>>=1,fa--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
function Xe(a,b){if(b)return We(a,b,a.T[b]);var c=0;for(b in a.T)We(a,b,a.T[b]),c++;return 0<c}function Q(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=ra(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ve={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Ye(a){Pe.call(this,a);this.xa=!1;this.la=!0;this.va=18;this.wa=X();this.K=X(0);this.ga=X(0);this.ba=X(0);this.F=[];this.b=this.M=this.I=[];Ze(this);this.R=this.ka=0;this.f=[];this.oa=void 0;$e(this);this.D=this;this.ma={};this.X=this.sb=0;this.S=null;this.O=[];af(this,a.messages);this.qa=a.commands;this.N=0;this.Aa=this.pa=null;this.B=this.za=this.ya=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=
function(a){return gd(b,a)})}p(Ye,Pe);function bf(a){a=a&&a.C;null==a&&(a=-1);return a}function X(a,b,c){return{C:void 0===a?null:a,Sa:void 0===b?!1:b,ha:!1,ca:c}}function cf(a,b,c,d){a.C=b;a.Sa=c||!1;a.ha=!1;a.ca=d}function df(a){return[a.C,a.Sa,a.ha,a.ca,a.Va]}function ef(a,b){var c=X(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.ob=Qe(a,c.Va=b[4]));return c}l=Ye.prototype;
l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.va=b.F;(a=bd(a,"messages"))&&af(this,a);ff(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=bf(gf(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Mc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.f,8)+" %"+q(n.C,8)+
" "+q(n.Ka,4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Qc&&(c=-1),m=0);a+=16384;e++}}});z(this)};
l.ja=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",gd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.u.length-1&&(b=d.u[++d.A])):40==a.keyCode&&(0<d.A?b=d.u[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Ua(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";gd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Ua(c,function(a){var b=!1;Mb(d,!0)||(Nb(d,!0),b=rc(d,a?1:0,null),Nb(d,!1));return b}),!0}return!1};function fd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ca=function(a,b){var c=-1,d=bf(a);-1!==d&&(c=xc(this.H,d),b&&null!=a.C&&(a.C+=b||1));return c};l.mb=function(a,b,c){var d=bf(a);-1!==d&&(wc(this.H,d,b),c&&null!=a.C&&(a.C+=c||1),P(this.G,-1))};
function gf(a,b,c){var d,e;c||(c=X());var f=c.C;if(void 0!==b){b=Te(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var m=a.F[k].U[f];if(null!=m){h=m.o;break}}null!=h&&(g=X(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Se(a,b,void 0)}null!=f&&(f=hf(f,a.va),cf(c,f,d,e));return c}function jf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ob=Qe(a,b.Va=c[2]))}
function hf(a,b){0>a&&a>=-Ub&&(a+=I);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Z(a,b){return Q(a,b.C)}function kf(a){return sa(a/A,6)+" "+sa(a%A,6)}
function af(a,b){a.D=a;a.X=a.sb=536870916;a.S=null;a.O=[];b=Qe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in M){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=M[c],a.j(c+" messages enabled"))}}function ff(a,b){for(var c in M)if(16==M[c]){a.ma[c]=b;break}}l.gb=function(a){return lf.indexOf(a.toUpperCase())};
l.hb=function(a){var b,c=this.v;switch(a){case mf:b=c.A;break;case nf:b=c.K;break;case of:b=c.b;break;case pf:b=c.u&65536?1:0;break;case qf:b=c.u&32768?1:0;break;case rf:b=c.u&131072?1:0;break;case sf:b=c.u&32?1:0;break;case tf:b=c.u&262144?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+Z(this,X(this.v.xa)));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.w.L)||Mb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,od(a),a.fa=0,a.G&&P(a.G,void 0))}};
function $e(a){var b;if(!ud(a))a.f&&a.f.length&&a.j("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(uf);for(b=0;b<a.f.length;b++)a.f[b]=X();a.R=0;a.j("instruction history buffer allocated")}}function vf(a,b,c){if(!wf(a,c))return!1;qc(a.v,b);return!0}
function rc(a,b,c,d){if(!wf(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.B=0;b||ud(a)&&vd(a,a.v.A,0);try{b=md(a.v,b);var f=a.v.Ma(b);0<f&&(sc(a.v,f),a.B+=f,tc(a.v,f,!0),uc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Jb(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),P(a.G,-1));ed(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function ed(a,b,c){b=void 0===b?!0:b;a.xa&&(c&&a.j(xf+c),cf(a.K,a.v.A),b&&1!=a.N?yf(a):zf(a))}
function wf(a,b){var c;(c=!a.v||!Lb(a.v))||(c=a.v,c.w.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.w.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Kb(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ia=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){$e(this);this.fa=0;this.S=null;this.B=0;cf(this.K,this.v.A);this.w.L=!1;Af(this);a||ed(this)};
l.save=function(){var a=new O(this);a.set(0,df(this.K));a.set(1,df(this.ga));a.set(2,df(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.K=ef(this,a[b++]),this.ga=ef(this,a[b++]),this.ba=ef(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.N||this.j("running");this.w.L=!0;this.ya=a;this.za=b};
l.stop=function(a,b){if(this.w.L){this.w.L=!1;this.B=b-this.za;if(!this.N){b="stopped";if(this.B){a-=this.ya;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";ud(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Ob(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}ed(this,!0);fd(this);Af(this,this.v.A);this.S=null}};function ud(a){return 1<a.b.length||!!a.ka}
function vd(a,b,c){var d=-1;c||(d=a.v.g(b),2756==d>>23&&a.v.xa==b&&(b=td(a.v,1)));if(0<c&&(a.ka&&!--a.ka||Zc(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.fa++,0>d&&(d=a.v.g(b)),0<=d&&(cf(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
function Bf(a,b,c,d){var e=X(b.C),f=a.Ca(b,1),g,h,k,m=0,n=f/Xb|0,t;for(t in Cf)if(g=Cf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=Df;m=n&3;break;case 32256:k=jg;m=n&7;break;case 29248:k=lg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>mg&&(k="B");k=ng[g||0]+k;if(g){if(28700==h)m=f/Yb&127,h=Q(a,m,-1);else if(m=f>>23&15,h=Q(a,m,-1),g==og&&(g=pg[m]))k=ng[g],h="";k=Ba(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=Q(a,f&262143,-1);(f=f>>18&15)&&(k+="("+Q(a,f,-1)+")")}else k=Ba(k,8)+kf(f);f=k;g="";h=Z(a,
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ca(e,1),g+=" "+kf(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(g,16)+f;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.w.Fa?h+("cycles="+hd(a.v).toString()+" cs="+q(a.v.za)):h+(null!=d?"="+d.toString():""));return h}function Ze(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=bf(c);var d=a.H;Yc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=bf(c),d=a.H,Yc(d.b[c>>>d.f],!0);a.I=["bw"];a.na=0;a.ka=0}
l.Ea=function(a,b,c){var d=!0;c||qg(this,a,b,!1,!0);if(a!=this.b){var e=bf(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.f].Ea(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(rg(this,a,a.length-1,"set"),$e(this)));return d};function qg(a,b,c,d,e){var f=!1;c=bf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==bf(h)&&(!d||h.ha)){f=!0;h.ha||e||rg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Yc(d.b[c>>>d.f],b==a.I));h.ha||$e(a);break}}return f}
function sg(a,b){for(var c=1;c<b.length;c++)rg(a,b,c);return b.length-1}function rg(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Va?' "'+c.Va+'"':""))}function Af(a,b){if(void 0!==b)Zc(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!qg(a,a.b,c,!0))break;b=0}}}
function Zc(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=bf(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.ha&&(qg(a,d,h,!0),e=!0);if(n=h.ob){for(var f=!1,t=0;t<n.length;t++)if(!tg(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var D=t+1;D<n.length&&n[D].indexOf("else");D++)t++;if(D==n.length){f=!0;break}}a.v.w.L||(f=!0)}if(f){e||rg(a,d,g,"hit");break}}}a.na--;return f}
function ug(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=sa(d,2);cf(e.wa,d);f+="="+Q(e,e.Ca(e.wa),36)+" ";c+=f}if(b){b="";for(d=0;d<lf.length;d++)(e=lf[d]||"")&&(e+="="+Q(a,a.hb(d),d>=pf?1:d==nf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Je(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],t=Da(n,k,a.tb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function vg(a,b,c){var d=[],e=bf(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Da(f.pb,[e-g],a.tb);0<=e?wg(a,b,e,d):c&&(e=~e,wg(a,b,e-1,d),wg(a,b,e,d));break}}return d}
function wg(a,b,c,d){var e={},f=a.F[b].pb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function xg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Xe(a)||a.j("no variables"),!0;if(!c[2])return Xe(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=Se(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
function yg(a,b,c){var d=null;if(b=gf(a,b)){var e=vg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+Q(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+Q(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
function yf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!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.j("missing value for "+b[1]);return}g=Se(a,b);if(void 0===g)return;b=a.gb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case mf:h.A=
g%A;cf(a.K,h.A);break;case pf:f=65536;break;case qf:f=32768;break;case rf:f=131072;break;case sf:f=32;break;case tf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);P(a.G);a.j("updated registers:")}}a.j(ug(a,e));c&&(cf(a.K,d.A),zf(a,Z(a,a.K)))}}function zg(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):We(a,null,c[2].charCodeAt(0)):Se(a,b,!0)}
function Ag(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Ue(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;Ta(c,function(){return Nb(a,!0)&&rc(a,e,d,!1)},function(){a.ea&&a.ea.stop();P(a.G,-1);Nb(a,!1)})}}
function zf(a,b,c,d){if(b=gf(a,b,a.K)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Ue(a,c.substr(1)),null!=c&&(d=c);else{d=gf(a,c);if(!d||d.C<b.C)return;e=d.C-b.C;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Mb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=vg(a,b),k=b.C;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.C=m.C;h.Sa=m.Sa;h.ha=m.ha;h.ca=m.ca;a.j(Bf(a,b,g,f));e-=b.C-k;c++}}}
function tg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(xf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0<b.length){a.P&&(b="a "+Z(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var t=gf(a,
g[1],a.ba);if(t){var D=g[2];if(void 0==D)a.j("begin assemble at "+Z(a,t)),a.P=!0,P(a.G);else{g.shift();g.shift();g.shift();var fa,yc=g.join(""),C=-1,zc,tb,Ed=D.toUpperCase(),Fd;for(Fd in pg)if(tb=pg[Fd],Ed==ng[tb]){Ed=ng[og];yc=Q(a,+Fd)+","+yc;break}for(var Ef in Cf){var Va;zc=+Ef;var Ff=Cf[Ef];switch(zc){case 32512:Va=Df;break;case 32256:Va=jg;break;case 29248:Va=lg;break;default:Va=[""]}var Gf,Gd;for(Gd in Ff){tb=Ff[Gd];for(var Wa=0;Wa<Va.length;Wa++){var Hd=Va[Wa];"S"==Hd&&tb>mg&&(Hd="B");if(Ed==
ng[tb]+Hd){Gf=29248!=zc?Wa:(Wa&3)<<1|(Wa&12)<<2;C=(Gd|Gf<<6)*Xb;break}}if(0<=C)break}if(0<=C)break}if(0<=C)if(yc)for(var Id=yc.split(","),Xa=0;Xa<Id.length;Xa++){var N=Id[Xa].trim();if(N){if(1<Xa){a.j("too many operands: "+N);C=-1;break}var Ac=N.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!Ac){a.j("unknown operand: "+N);C=-1;break}N=Ac[2];Xa&&(N=N.replace(/(^|[^0-9])\./g,"$1"+Z(a,t)));var L=Se(a,N);if(void 0==L){C=-1;break}if(!Xa&&1<Id.length)if(28700==zc){if(0>L||127<L){a.j("device code out of range: "+
N);C=-1;break}C+=L*Yb}else{if(0>L||15<L){a.j("accumulator address out of range: "+N);C=-1;break}C+=L<<23}else{if(0>L||262143<L){a.j("memory address out of range: "+N);C=-1;break}C+=L;if(N=Ac[3]){L=Se(a,N);if(void 0==L){C=-1;break}if(0>L||15<L){a.j("memory index out of range: "+N);C=-1;break}C+=L<<18}Ac[1]&&(C+=4194304)}}}else a.j("missing operand(s)"),C=-1;else a.j("unknown instruction: "+D);fa=C;0<=fa&&(a.mb(t,fa),a.j(Bf(a,t)))}}break;case "b":a:{var bh=g[0],Ya=g[1],ch=b;if("?"==Ya)a.j("breakpoint commands:"),
a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ea=bh.charAt(1);if("l"==Ea){var Jd;Jd=0+sg(a,a.b);Jd+=sg(a,a.M);(Jd+=sg(a,a.I))||a.j("no breakpoints")}else if("n"==Ea){var Hf=+Ya||0;Ya&&(a.ka=Hf);a.j("break after "+Hf+" instruction(s)")}else if(void 0===Ya)a.j("missing breakpoint address");else{var T=X();
if("*"!=Ya&&(T=gf(a,Ya,a.K),!T))break a;"c"==Ea?null==T.C?(Ze(a),a.j("all breakpoints cleared")):qg(a,a.b,T)||qg(a,a.M,T)||qg(a,a.I,T)||a.j("breakpoint missing: "+Z(a,T)):null!=T.C&&(jf(a,T,ch),"p"==Ea?a.Ea(a.b,T):"r"==Ea?a.Ea(a.M,T):"w"==Ea?a.Ea(a.I,T):a.j("unknown breakpoint command: "+Ea))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var Za,$a=g[0],ga=g[1],va=g[2],dh=g[3];if("?"==ga){var ab="";for(Za in M)a.ma[Za]&&(ab&&(ab+=","),ab+=Za);ab+=",state,symbols";a.j("dump memory commands:");
a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");ab.length&&a.j("dump extension commands:\n\t"+ab)}else if("state"==ga){var Kd=Bg(a.G,!0);"console"==va?console.log(Kd):(a.ta&&(a.ta.value=""),Kd&&a.j(Kd))}else if("symbols"==ga)for(var Ld=0;Ld<a.F.length;Ld++){var Md=a.F[Ld],bb;for(bb in Md.U)if("."!=bb.charAt(0)){var If=Md.U[bb].o;if(void 0!==If){var Jf=Md.U[bb].l;Jf&&(bb=Jf);
a.j(Q(a,If)+" "+bb)}}}else{if("d"==$a){for(Za in M)if(g[1]==Za){var Kf=a.ma[Za];Kf?(g.shift(),g.shift(),Kf(g)):a.j("no dump registered for "+ga);break a}ga||($a=a.Aa||"dw")}else a.Aa=$a;if("dh"==$a){var Lf=ga,Mf=va,Nf="",Of=0,ca=a.R,ha=a.f;if(ha.length){var Y=+Lf||a.oa,vb=+Mf||10;isNaN(Y)?Y=vb:Nf="more ";Y>ha.length&&(a.j("note: only "+ha.length+" available"),Y=ha.length);ca-=Y;0>ca&&(null==ha[ha.length-1].C?(Y=ca+Y,ca=0):ca+=ha.length);var Nd=[];"call"==Mf&&(vb=1E5,Nd=["CALL"]);for(void 0!==Lf&&
a.j(Y+" instructions earlier:");0<vb&&ca!=a.R;){var Pf=ha[ca++];if(null==Pf.C)break;var wb=X(Pf.C),eh=Y--,Qf=Bf(a,wb,"history",eh);(!Nd.length||0<=Qf.indexOf(Nd[0]))&&a.j(Qf);wb.eb&&(ca+=wb.eb,vb-=wb.eb,Y-=wb.eb);ca>=ha.length&&(ca=0);a.oa=Y;Of++;vb--}}Of||(a.j("no "+Nf+"history available"),a.oa=void 0)}else{var cb=gf(a,ga,a.ga);if(cb){var Fa=0,Rf="ds"==$a;if(va){if("l"==va.charAt(0))va=va.substr(1)||dh,Fa=Ue(a,va);else{var Sf=gf(a,va);Sf&&(Fa=Sf.C-cb.C)}0>Fa&&(Fa=0);65536<Fa&&(Fa=65536)}var fh=a.ca;
cb.ca&&(a.ca=cb.ca);for(var Tf="db"==$a?1:2,Od=Fa||32,Pd=1==Tf?2:4,gh=(Od+Pd-1)/Pd|0||1,Ga="";gh--&&0<Od;){for(var Ha="",Uf="",ga=Z(a,cb),Vf=Pd;0<Vf--&&0<Od--;){var Bc=a.Ca(cb,1);Rf?(Ha&&(Ha+=","),Ha+=Bc):(Ha+=kf(Bc),Ha+=" ");for(var Wf=0;1==Tf&&6>Wf;Wf++)Uf+=String.fromCharCode((Bc%64|0)+32),Bc/=64}Ga&&(Ga+="\n");Ga=Rf?Ga+(Ha+","):Ga+(ga+": "+Ha+(0>Vf?" "+Uf:""))}Ga&&a.j(Ga);a.ca=fh}}}}break;case "e":if("else"==g[0])break;var Xf,Yf,Zf=g[0],Qd=g[1];"e"==Zf||"ew"==Zf?(Xf=a.Ca,Yf=a.mb):Qd=null;if(null==
Qd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Cc=gf(a,Qd,a.ga);if(Cc)for(var Rd=2;Rd<g.length;Rd++){var xb=Se(a,g[Rd]);if(void 0===xb)break;xb=hf(xb);a.j("changing "+Z(a,Cc)+" from "+kf(Xf.call(a,Cc))+" to "+kf(xb));Yf.call(a,Cc,xb,1)}}break;case "g":a:{var $f=g[1],hh=b;if(void 0!==$f){var Sd=gf(a,$f);if(!Sd)break a;jf(a,Sd,hh);a.Ea(a.b,Sd,!0)}vf(a,!0,c)}break;case "h":a.w.L?(c||a.j("halting"),a.W()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==
g[0]){var Td;var yb=b.substr(2),yb=Ca(yb);Se(a,yb)?(c||a.j("true: "+yb),Td=!0):(c||a.j("false: "+yb),Td=!1);Td||(d=!1);break}f=!0;break;case "k":var ih=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Ud=0,Vd=X(),zb=X();for(a.j("stack trace for "+Z(a,zb));10>Ud;){for(var Ia=null,jh=256;65536>zb.C>>>0;){Vd.C=a.Ca(zb,2);if(null==zb.C||!jh--)break;if(!(Vd.C&1)){for(var kh=a,Dc=Vd,ag=null,Ab=Dc.C,bg=Ab,Wd=1;6>=Wd&&Ab;Wd++){if(2<
Wd){Dc.C=Ab;var Ec=Bf(kh,Dc);if(0<=Ec.indexOf("JSR")){var cg=Ec.indexOf(" ");if(Ab+(Ec.indexOf(" ",cg+1)-cg-1)/2==bg){ag=Ec;break}}}Ab-=2}Dc.C=bg;if(Ia=ag)break}}if(!Ia||null==Ia)break;var dg=null;if("ks"==ih){var eg=Ia.match(/[0-9A-F]+$/);eg&&(dg=yg(a,eg[0]))}Ia=Ba(Ia,50)+" ;"+(dg||"stack="+Z(a,zb));a.j(Ia);Ud++}Ud||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){yg(a,g[1],!0);break}f=!0;break;case "m":a:{var ia,ja=null,E=g[1];"?"==E&&(E=void 0);if(void 0!==E){var wa=0;if("all"==
E)wa=1879046143,E=null;else if("on"==E)ja=!0,E=null;else if("off"==E)ja=!1,E=null;else{"keys"==E&&(E="key");"kbd"==E&&(E="keyboard");for(ia in M)if(E==ia){wa=M[ia];ja=!!(a.X&wa);break}if(!wa){a.j("unknown message category: "+E);break a}}if(wa)if("on"==g[2])a.X|=wa,ja=!0;else if("off"==g[2]&&(a.X&=~wa,ja=!1,1073741824==wa)){for(var fg=1E3<=a.O.length?a.O.length-1E3:0;fg<a.O.length;)a.j(a.O[fg++]);a.O=[]}}var lh=0,Bb="";for(ia in M)if(!E||E==ia){var mh=!!(a.X&M[ia]);if(null===ja||ja==mh)Bb&&(Bb+=","),
++lh%10||(Bb+="\n\t"),"key"==ia&&(ia="keys"),Bb+=ia}void 0===E&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==ja?ja?"messages on: ":"messages off: ":"message categories:\n\t")+(Bb||"none"));$e(a)}break;case "p":if("print"==g[0]){zg(a,b.substr(5));break}var gg=g[0],hg="p"==gg?0:"pr"==gg?1:-1;if("?"==g[1]||0>hg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress");else{var ig=
X(a.v.A);a.Ca(ig);a.N?(a.Ea(a.b,ig,!0),vf(a)||(a.G&&ld(a.G),a.N=0)):Ag(a,hg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}yf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Cb=+g[2];if(8==Cb||10==Cb||16==Cb)a.ca=Cb;else{a.j("invalid base: "+Cb);break}}a.j("default base: "+a.ca);break;case "cs":var Db;void 0!==g[3]&&(Db=+g[3]);switch(g[2]){case "int":a.v.ka=Db;break;case "start":a.v.Aa=Db;break;case "stop":a.v.ma=Db;break;default:a.j("unknown cs option");break a}void 0!==
Db&&dd(a.v);a.j("checksums "+(a.v.w.Fa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(id(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),
a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":Ag(a,g[0],g[1]);break;case "u":zf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){xg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){zg(a,b.substr(1));break}var Xd="commands:",Yd;for(Yd in Cg)Xd+="\n"+Ba(Yd,9)+Cg[Yd];ud(a)||(Xd+="\nnote: history disabled if no exec breakpoints");a.j(Xd);break;default:f=!0}f&&(a.j("unknown command: "+
b),d=!1)}}catch(kg){a.j("Debugger "+(kg.stack||kg.message)),d=!1}return d}function gd(a,b,c){b=Qe(a,b,c);for(var d in b)if(!tg(a,b[+d]))return!1;return!0}
var Cg={"?":"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"},mg=20,og=85,ng=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "),
mf=0,nf=1,of=2,pf=3,qf=4,rf=5,sf=6,tf=7,lf="PC RA EA C0 C1 OV ND PD".split(" "),Dg={},Cf=(Dg[28672]={0:101},Dg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:og,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Dg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:mg,9216:53,9472:52,
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Dg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Dg[29248]={24576:79,24640:80,25088:81,25152:82},Dg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},Dg),Df=["","I","M","S"],jg=" L E LE A GE N G".split(" "),lg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),pg={8:102,4:103,2:104,6:105,1:106},uf=1E3,xf=">> ";eb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ye(d);ub(d,c)}});
function Eg(a,b,c){u.call(this,"Computer",a,33554432);this.w.V=!1;this.R=null;Fg(this,b);this.O=bd(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=bd(this,"url")||"";(Math.random()+.1).toString(36);this.f=Gg(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.H=new Fc({id:this.Qa+".bus",busWidth:this.aa},this.v,this.D);var d,e=qb(this.id);if((this.u=sb("Panel",this.id))&&this.u.ta)for(b=
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Qb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ba&&d.Ba(this,this.H,this.v,this.D);b=null;d=bd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=bd(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Hg),this.b&&(this.I=new O(this,"1.34.2"),Ig(this.I)?b=null:
delete this.I);!b&&this.b&&(b=Jg(this))&&(this.K=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.M=b,g.T=!0);z(g)})}else z(this);this.J.power||(this.O=!0);!c&&this.O&&Kg(this,this.Ja)}else r("Unable to find CPU component")}p(Eg,u);function Fg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
function bd(a,b,c,d){var e=b.toLowerCase(),e=Ra(b)||Ra(e);void 0===e&&a.R&&(e=a.R[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}function Kg(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Lb(f)){Lb(f,function(){Kg(a,b,c)});return}}b.call(a,c)}
function Lg(a,b){var c=new O(a,"1.34.2",Mg);if(Ig(c)&&Ng(c)){var d=c.get(Og),e=b?b.get(Og):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Eg.prototype;
l.Ja=function(a){void 0===a&&(a=this.b||(this.M?Pg:Hg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.I||new O(this,"1.34.2");if(a==Qg)b=!0;else if(a>Hg){if(Ig(d,this.M)){this.B=new O(this,"1.34.2",Rg);Ig(this.B)&&(Sg(this,d),a=Tg,Ug(this.B));this.B.set(Og,Ja());Vg(this.B);var e=this.b&&!this.K;if(a==Pg||pb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Ng(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ig(d,g):("error"==f&&"no machine state"!=
g?(this.da("Error: "+g),"unable to verify user"==g&&(Pa(Wg,""),this.f=null)):this.j(f+": "+g),Ug(d),Ig(d)?(c=Ng(d),e=!0):c=!1))}e&&Lg(this,c?d:null)}else a==Tg&&d.clear()}else Lg(this);delete this.M;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Xg(this,g,d,b,c));b=[d,a,c];a!=Qg?Kg(this,this.ub,b):this.ub(b)}};
function Xg(a,b,c,d,e){if(!b.w.V){b.w.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Hg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.jb){var g=b.jb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.w.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Xg(this,this.v,b,c,a),P(this,-2),this.v.Z());this.P&&(Sg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0};
function Sg(a,b){if(pb("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.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
function Bg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Mg),h=Ja();g.set(Og,h);f.set(Og,h);f.set(Yg,"1.34.2");f.set(Zg,window?window.location.href:null);f.set($g,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.w.Z=a.v.w.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.V=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var m=h[k];m.w.V&&(m.ia&&(d=m.ia(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.w.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&ah(a,a.f,f.toString()),Vg(g)&&Vg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==nh),d&&f.clear(h)):e=f.toString());c&&(a.w.V=!1,b=a.J.power)&&(b.textContent="Power");a.A=0;return e}
l.reset=function(){this.w.reset=!0;this.H&&this.H.reset&&(Pb(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Pb(this,"Resetting "+this.v.type),this.v.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Pb(this,"Resetting "+c.type),c.reset())}this.w.reset=!1;P(this,-1)};l.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}P(this,-1)};
l.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}P(this,-1)};
function P(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Xa+=d))&&(e.textContent=c.w.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.A;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?sa(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.f=a.v.A:0<b&&c&&!d&&(a.f=a.v.va);ic(a,a.f);cc(a,a.A)}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.A||(d.w.V?Bg(d,!1,!0):Kg(d,d.Ja))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.w.V&&!d.A)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Bg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ja(Hg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(xa())c.parentNode.removeChild(c);else return this.J[b]=
c,c.onclick=function(){var a=Gg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=Bg(d,b);b?ah(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function Gg(a,b){var c=a.f;c||((c=Oa(Wg),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=oh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function oh(a,b){a.f=null;b=Ka(ya()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Pa(Wg,b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function Jg(a){var b=null;a.f&&(b=ya()+"/api/v1/user?req=load&user="+a.f+"&state="+ph(a,"1.34.2"));return b}
function ah(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ph(a,"1.34.2");d.data=c;b=Ka(ya()+"/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.da("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.da(c),Pa(Wg,""),a.f=null)}}
function ld(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Rg="failsafe",Mg="validate",Og="timestamp",Yg="version",Zg="url",$g="browser",Wg="user",Qg=-1,Hg=0,Pg=1,Tg=2,nh=3;eb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Eg(g,d,!0);ub(g,f);g.O&&Kg(g,g.Ja)}});
fb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=sb("Computer",c.id))&&c.S&&!c.w.V&&c.Ja(Qg)}});fb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=sb("Computer",c.id))&&c.w.V&&Bg(c,!(!c.b||c.F),!0)}});function O(a,b,c){this.id=a.id;this.f="";this.b={};this.v=this.u=!1;this.key=ph(a,b,c);Ug(this,a.Db)}l=O.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
l.data=function(){return this.b};function Ig(a,b){return b?(a.f=b,a.v=!0,a.u=!1,!0):a.v?!0:Ma()&&(b=Oa(a.key))?(a.f=b,a.v=!0):!1}function Ng(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.f),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function Vg(a){var b=!0;if(Ma()){var c=JSON.stringify(a.b);Pa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.f};
function Ug(a,b){a.f="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Ug(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 ph(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 qh=0;
function rh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ka(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):sh(k,a,b,c,d,e,f,g)})}
function sh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(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),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);h(a,g)}}a?f?th(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function th(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);th(a,b,c)}})}else c(a,null)}
function uh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function g(a){f("Error: "+a);m&&(--qh||ib(!0));m=!1}var h,k,m=!0;qh++;nb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?rh(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--qh||ib(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--qh||
ib(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?rh(c,b,a,e,!0,f,n):sh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(fa){g(fa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return uh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return uh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n<f;n++){var t=b[n];if('"'==t||"'"==t)m&&t!=m?k+=t:(m?m=null:m=t,k&&(h.push(k),k=""));else{if(!m){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;Eb(a)||(c=!1)}return c};window.enableEvents=ib;window.sendEvent=kb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
function Ue(a,b,c){var d;if(b){b=Ve(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],u=n.length,n=Da(n);if(!n){f=!0;break}n=We(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],H=n.length;k.length&&Xe[n]<Xe[k[k.length-1]]&&Te(h,k,1);k.push(n);b=b.substr(u+H)}Te(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ye(a,null,
d))}return d}function Ve(a,b){for(var c,d=a.la?"(":"{",e=a.la?")":"}",f=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Ue(a,c[1]);b=b.replace(d+c[1]+e,null!=g?L(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function We(a,b,c,d){var e;null!=b?(e=a.gb(b),0<=e?e=a.hb(e):(e=a.T[b],null==e&&(e=ra(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
function Ye(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=void 0,n=8,u="";n?32<n&&(n=32):n=32;for(var H=null==k||isNaN(k),ja=m=m||n;0<n--;)ja||(u=","+u,ja=m),u=(H?"?":k&1?"1":"0")+u,k>>=1,ja--;g=u+g;d>>=8}d=q(c,0,!0)+" "+c+". "+ta(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
function Ze(a,b){if(b)return Ye(a,b,a.T[b]);var c=0;for(b in a.T)Ye(a,b,a.T[b]),c++;return 0<c}function L(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=ta(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=sa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Xe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function $e(a){Re.call(this,a);this.xa=!1;this.la=!0;this.va=18;this.wa=X();this.K=X(0);this.ga=X(0);this.ba=X(0);this.F=[];this.b=this.M=this.I=[];af(this);this.R=this.ka=0;this.i=[];this.oa=void 0;bf(this);this.D=this;this.ma={};this.X=this.sb=0;this.S=null;this.O=[];cf(this,a.messages);this.qa=a.commands;this.N=0;this.Aa=this.pa=null;this.B=this.za=this.ya=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return jd(b,a)}):void 0===global[w]&&(global[w]=
function(a){return jd(b,a)})}p($e,Re);function df(a){a=a&&a.C;null==a&&(a=-1);return a}function X(a,b,c){return{C:void 0===a?null:a,Sa:void 0===b?!1:b,ha:!1,ca:c}}function ef(a,b,c,d){a.C=b;a.Sa=c||!1;a.ha=!1;a.ca=d}function ff(a){return[a.C,a.Sa,a.ha,a.ca,a.Va]}function gf(a,b){var c=X(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.ob=Se(a,c.Va=b[4]));return c}l=$e.prototype;
l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.va=b.F;(a=ed(a,"messages"))&&cf(this,a);hf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=df(jf(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Pc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.i,8)+" %"+q(n.C,8)+
" "+q(n.Ka,4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Tc&&(c=-1),m=0);a+=16384;e++}}});Ob(this)};
l.ja=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",jd(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.J[b]=c,Va(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";jd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Va(c,function(a){var b=!1;Pb(d,!0)||(Qb(d,!0),b=uc(d,a?1:0,null),Qb(d,!1));return b}),!0}return!1};function id(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ca=function(a,b){var c=-1,d=df(a);-1!==d&&(c=Hc(this.H,d),b&&null!=a.C&&(a.C+=b||1));return c};l.mb=function(a,b,c){var d=df(a);-1!==d&&(zc(this.H,d,b),c&&null!=a.C&&(a.C+=c||1),K(this.G,-1))};
function jf(a,b,c){var d,e;c||(c=X());var f=c.C;if(void 0!==b){b=Ve(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var m=a.F[k].U[f];if(null!=m){h=m.o;break}}null!=h&&(g=X(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Ue(a,b,void 0)}null!=f&&(f=kf(f,a.va),ef(c,f,d,e));return c}function lf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ob=Se(a,b.Va=c[2]))}
function kf(a,b){0>a&&a>=-B&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Z(a,b){return L(a,b.C)}function mf(a){return ta(a/Vb,6)+" "+ta(a%Vb,6)}
function cf(a,b){a.D=a;a.X=a.sb=536870916;a.S=null;a.O=[];b=Se(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in cc){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=cc[c],a.j(c+" messages enabled"))}}function hf(a,b){for(var c in cc)if(16==cc[c]){a.ma[c]=b;break}}l.gb=function(a){return nf.indexOf(a.toUpperCase())};
l.hb=function(a){var b,c=this.v;switch(a){case of:b=c.u;break;case pf:b=c.K;break;case qf:b=c.b;break;case rf:b=c.w&65536?1:0;break;case sf:b=c.w&32768?1:0;break;case tf:b=c.w&131072?1:0;break;case uf:b=c.w&32?1:0;break;case vf:b=c.w&262144?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+Z(this,X(this.v.xa)));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.A.L)||Pb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,rd(a),a.fa=0,a.G&&K(a.G,void 0))}};
function bf(a){var b;if(!xd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(wf);for(b=0;b<a.i.length;b++)a.i[b]=X();a.R=0;a.j("instruction history buffer allocated")}}function xf(a,b,c){if(!yf(a,c))return!1;tc(a.v,b);return!0}
function uc(a,b,c,d){if(!yf(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.B=0;b||xd(a)&&yd(a,a.v.u,0);try{b=pd(a.v,b);var f=a.v.Ma(b);0<f&&(vc(a.v,f),a.B+=f,wc(a.v,f,!0),xc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Lb(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),K(a.G,-1));hd(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function hd(a,b,c){b=void 0===b?!0:b;a.xa&&(c&&a.j(zf+c),ef(a.K,a.v.u),b&&1!=a.N?Af(a):Bf(a))}
function yf(a,b){var c;(c=!a.v||!Nb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Mb(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ia=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){bf(this);this.fa=0;this.S=null;this.B=0;ef(this.K,this.v.u);this.A.L=!1;Cf(this);a||hd(this)};
l.save=function(){var a=new F(this);a.set(0,ff(this.K));a.set(1,ff(this.ga));a.set(2,ff(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.K=gf(this,a[b++]),this.ga=gf(this,a[b++]),this.ba=gf(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.N||this.j("running");this.A.L=!0;this.ya=a;this.za=b};
l.stop=function(a,b){if(this.A.L){this.A.L=!1;this.B=b-this.za;if(!this.N){b="stopped";if(this.B){a-=this.ya;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";xd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Rb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}hd(this,!0);id(this);Cf(this,this.v.u);this.S=null}};function xd(a){return 1<a.b.length||!!a.ka}
function yd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=wd(a.v,1)));if(0<c&&(a.ka&&!--a.ka||bd(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(ef(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}
function Df(a,b,c,d){var e=X(b.C),f=a.Ca(b,1),g,h,k,m=0,n=f/Zb|0,u;for(u in Ef)if(g=Ef[u][n&u]){h=+u;n>>=6;switch(h){case 32512:k=Ff;m=n&3;break;case 32256:k=lg;m=n&7;break;case 29248:k=ng,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>og&&(k="B");k=pg[g||0]+k;if(g){if(28700==h)m=f/$b&127,h=L(a,m,-1);else if(m=f>>23&15,h=L(a,m,-1),g==qg&&(g=rg[m]))k=pg[g],h="";k=Ca(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=L(a,f&262143,-1);(f=f>>18&15)&&(k+="("+L(a,f,-1)+")")}else k=Ca(k,8)+mf(f);f=k;g="";h=Z(a,
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ca(e,1),g+=" "+mf(k),null==e.C)break;while(e.C!=b.C)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.Fa?h+("cycles="+kd(a.v).toString()+" cs="+q(a.v.za)):h+(null!=d?"="+d.toString():""));return h}function af(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=df(c);var d=a.H;ad(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=df(c),d=a.H,ad(d.b[c>>>d.i],!0);a.I=["bw"];a.na=0;a.ka=0}
l.Ea=function(a,b,c){var d=!0;c||sg(this,a,b,!1,!0);if(a!=this.b){var e=df(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ea(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(tg(this,a,a.length-1,"set"),bf(this)));return d};function sg(a,b,c,d,e){var f=!1;c=df(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==df(h)&&(!d||h.ha)){f=!0;h.ha||e||tg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,ad(d.b[c>>>d.i],b==a.I));h.ha||bf(a);break}}return f}
function ug(a,b){for(var c=1;c<b.length;c++)tg(a,b,c);return b.length-1}function tg(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Va?' "'+c.Va+'"':""))}function Cf(a,b){if(void 0!==b)bd(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!sg(a,a.b,c,!0))break;b=0}}}
function bd(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=df(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.ha&&(sg(a,d,h,!0),e=!0);if(n=h.ob){for(var f=!1,u=0;u<n.length;u++)if(!vg(a,n[u],!0)){if(n[u].indexOf("if")){f=!0;break}for(var H=u+1;H<n.length&&n[H].indexOf("else");H++)u++;if(H==n.length){f=!0;break}}a.v.A.L||(f=!0)}if(f){e||tg(a,d,g,"hit");break}}}a.na--;return f}
function wg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ta(d,2);ef(e.wa,d);f+="="+L(e,e.Ca(e.wa),36)+" ";c+=f}if(b){b="";for(d=0;d<nf.length;d++)(e=nf[d]||"")&&(e+="="+L(a,a.hb(d),d>=rf?1:d==pf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Le(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],u=Ea(n,k,a.tb);0>u&&n.splice(-(u+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function xg(a,b,c){var d=[],e=df(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Ea(f.pb,[e-g],a.tb);0<=e?yg(a,b,e,d):c&&(e=~e,yg(a,b,e-1,d),yg(a,b,e,d));break}}return d}
function yg(a,b,c,d){var e={},f=a.F[b].pb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function zg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ze(a)||a.j("no variables"),!0;if(!c[2])return Ze(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=Ue(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
function Ag(a,b,c){var d=null;if(b=jf(a,b)){var e=xg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+L(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+L(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
function Af(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!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.j("missing value for "+b[1]);return}g=Ue(a,b);if(void 0===g)return;b=a.gb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case of:J(h,
g);ef(a.K,h.u);break;case rf:f=65536;break;case sf:f=32768;break;case tf:f=131072;break;case uf:f=32;break;case vf:f=262144}f&&(h.w=g?h.w|f:h.w&~f);K(a.G);a.j("updated registers:")}}a.j(wg(a,e));c&&(ef(a.K,d.u),Bf(a,Z(a,a.K)))}}function Bg(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ye(a,null,c[2].charCodeAt(0)):Ue(a,b,!0)}
function Cg(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=We(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;Ua(c,function(){return Qb(a,!0)&&uc(a,e,d,!1)},function(){a.ea&&a.ea.stop();K(a.G,-1);Qb(a,!1)})}}
function Bf(a,b,c,d){if(b=jf(a,b,a.K)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=We(a,c.substr(1)),null!=c&&(d=c);else{d=jf(a,c);if(!d||d.C<b.C)return;e=d.C-b.C;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Pb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=xg(a,b),k=b.C;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.C=m.C;h.Sa=m.Sa;h.ha=m.ha;h.ca=m.ca;a.j(Df(a,b,g,f));e-=b.C-k;c++}}}
function vg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(zf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Nb(a)&&0<b.length){a.P&&(b="a "+Z(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var u=jf(a,
g[1],a.ba);if(u){var H=g[2];if(void 0==H)a.j("begin assemble at "+Z(a,u)),a.P=!0,K(a.G);else{g.shift();g.shift();g.shift();var ja,Ac=g.join(""),G=-1,Bc,xb,Fd=H.toUpperCase(),Gd;for(Gd in rg)if(xb=rg[Gd],Fd==pg[xb]){Fd=pg[qg];Ac=L(a,+Gd)+","+Ac;break}for(var Gf in Ef){var Ya;Bc=+Gf;var Hf=Ef[Gf];switch(Bc){case 32512:Ya=Ff;break;case 32256:Ya=lg;break;case 29248:Ya=ng;break;default:Ya=[""]}var If,Hd;for(Hd in Hf){xb=Hf[Hd];for(var Za=0;Za<Ya.length;Za++){var Id=Ya[Za];"S"==Id&&xb>og&&(Id="B");if(Fd==
pg[xb]+Id){If=29248!=Bc?Za:(Za&3)<<1|(Za&12)<<2;G=(Hd|If<<6)*Zb;break}}if(0<=G)break}if(0<=G)break}if(0<=G)if(Ac)for(var Jd=Ac.split(","),$a=0;$a<Jd.length;$a++){var R=Jd[$a].trim();if(R){if(1<$a){a.j("too many operands: "+R);G=-1;break}var Cc=R.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!Cc){a.j("unknown operand: "+R);G=-1;break}R=Cc[2];$a&&(R=R.replace(/(^|[^0-9])\./g,"$1"+Z(a,u)));var P=Ue(a,R);if(void 0==P){G=-1;break}if(!$a&&1<Jd.length)if(28700==Bc){if(0>P||127<P){a.j("device code out of range: "+
R);G=-1;break}G+=P*$b}else{if(0>P||15<P){a.j("accumulator address out of range: "+R);G=-1;break}G+=P<<23}else{if(0>P||262143<P){a.j("memory address out of range: "+R);G=-1;break}G+=P;if(R=Cc[3]){P=Ue(a,R);if(void 0==P){G=-1;break}if(0>P||15<P){a.j("memory index out of range: "+R);G=-1;break}G+=P<<18}Cc[1]&&(G+=4194304)}}}else a.j("missing operand(s)"),G=-1;else a.j("unknown instruction: "+H);ja=G;0<=ja&&(a.mb(u,ja),a.j(Df(a,u)))}}break;case "b":a:{var dh=g[0],ab=g[1],eh=b;if("?"==ab)a.j("breakpoint commands:"),
a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ha=dh.charAt(1);if("l"==Ha){var Kd;Kd=0+ug(a,a.b);Kd+=ug(a,a.M);(Kd+=ug(a,a.I))||a.j("no breakpoints")}else if("n"==Ha){var Jf=+ab||0;ab&&(a.ka=Jf);a.j("break after "+Jf+" instruction(s)")}else if(void 0===ab)a.j("missing breakpoint address");else{var Y=X();
if("*"!=ab&&(Y=jf(a,ab,a.K),!Y))break a;"c"==Ha?null==Y.C?(af(a),a.j("all breakpoints cleared")):sg(a,a.b,Y)||sg(a,a.M,Y)||sg(a,a.I,Y)||a.j("breakpoint missing: "+Z(a,Y)):null!=Y.C&&(lf(a,Y,eh),"p"==Ha?a.Ea(a.b,Y):"r"==Ha?a.Ea(a.M,Y):"w"==Ha?a.Ea(a.I,Y):a.j("unknown breakpoint command: "+Ha))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var bb,cb=g[0],ka=g[1],ya=g[2],fh=g[3];if("?"==ka){var db="";for(bb in cc)a.ma[bb]&&(db&&(db+=","),db+=bb);db+=",state,symbols";a.j("dump memory commands:");
a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");db.length&&a.j("dump extension commands:\n\t"+db)}else if("state"==ka){var Ld=Dg(a.G,!0);"console"==ya?console.log(Ld):(a.ta&&(a.ta.value=""),Ld&&a.j(Ld))}else if("symbols"==ka)for(var Md=0;Md<a.F.length;Md++){var Nd=a.F[Md],eb;for(eb in Nd.U)if("."!=eb.charAt(0)){var Kf=Nd.U[eb].o;if(void 0!==Kf){var Lf=Nd.U[eb].l;Lf&&(eb=Lf);
a.j(L(a,Kf)+" "+eb)}}}else{if("d"==cb){for(bb in cc)if(g[1]==bb){var Mf=a.ma[bb];Mf?(g.shift(),g.shift(),Mf(g)):a.j("no dump registered for "+ka);break a}ka||(cb=a.Aa||"dw")}else a.Aa=cb;if("dh"==cb){var Nf=ka,Of=ya,Pf="",Qf=0,ga=a.R,la=a.i;if(la.length){var ca=+Nf||a.oa,zb=+Of||10;isNaN(ca)?ca=zb:Pf="more ";ca>la.length&&(a.j("note: only "+la.length+" available"),ca=la.length);ga-=ca;0>ga&&(null==la[la.length-1].C?(ca=ga+ca,ga=0):ga+=la.length);var Od=[];"call"==Of&&(zb=1E5,Od=["CALL"]);for(void 0!==
Nf&&a.j(ca+" instructions earlier:");0<zb&&ga!=a.R;){var Rf=la[ga++];if(null==Rf.C)break;var Ab=X(Rf.C),gh=ca--,Sf=Df(a,Ab,"history",gh);(!Od.length||0<=Sf.indexOf(Od[0]))&&a.j(Sf);Ab.eb&&(ga+=Ab.eb,zb-=Ab.eb,ca-=Ab.eb);ga>=la.length&&(ga=0);a.oa=ca;Qf++;zb--}}Qf||(a.j("no "+Pf+"history available"),a.oa=void 0)}else{var fb=jf(a,ka,a.ga);if(fb){var Ia=0,Tf="ds"==cb;if(ya){if("l"==ya.charAt(0))ya=ya.substr(1)||fh,Ia=We(a,ya);else{var Uf=jf(a,ya);Uf&&(Ia=Uf.C-fb.C)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var hh=
a.ca;fb.ca&&(a.ca=fb.ca);for(var Vf="db"==cb?1:2,Pd=Ia||32,Qd=1==Vf?2:4,ih=(Pd+Qd-1)/Qd|0||1,Ja="";ih--&&0<Pd;){for(var Ka="",Wf="",ka=Z(a,fb),Xf=Qd;0<Xf--&&0<Pd--;){var Dc=a.Ca(fb,1);Tf?(Ka&&(Ka+=","),Ka+=Dc):(Ka+=mf(Dc),Ka+=" ");for(var Yf=0;1==Vf&&6>Yf;Yf++)Wf+=String.fromCharCode((Dc%64|0)+32),Dc/=64}Ja&&(Ja+="\n");Ja=Tf?Ja+(Ka+","):Ja+(ka+": "+Ka+(0>Xf?" "+Wf:""))}Ja&&a.j(Ja);a.ca=hh}}}}break;case "e":if("else"==g[0])break;var Zf,$f,ag=g[0],Rd=g[1];"e"==ag||"ew"==ag?(Zf=a.Ca,$f=a.mb):Rd=null;
if(null==Rd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Ec=jf(a,Rd,a.ga);if(Ec)for(var Sd=2;Sd<g.length;Sd++){var Bb=Ue(a,g[Sd]);if(void 0===Bb)break;Bb=kf(Bb);a.j("changing "+Z(a,Ec)+" from "+mf(Zf.call(a,Ec))+" to "+mf(Bb));$f.call(a,Ec,Bb,1)}}break;case "g":a:{var bg=g[1],jh=b;if(void 0!==bg){var Td=jf(a,bg);if(!Td)break a;lf(a,Td,jh);a.Ea(a.b,Td,!0)}xf(a,!0,c)}break;case "h":a.A.L?(c||a.j("halting"),a.W()):Pb(a,!0)||c||a.j("already halted");break;case "i":if("if"==
g[0]){var Ud;var Cb=b.substr(2),Cb=Da(Cb);Ue(a,Cb)?(c||a.j("true: "+Cb),Ud=!0):(c||a.j("false: "+Cb),Ud=!1);Ud||(d=!1);break}f=!0;break;case "k":var kh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Vd=0,Wd=X(),Db=X();for(a.j("stack trace for "+Z(a,Db));10>Vd;){for(var La=null,lh=256;65536>Db.C>>>0;){Wd.C=a.Ca(Db,2);if(null==Db.C||!lh--)break;if(!(Wd.C&1)){for(var mh=a,Fc=Wd,cg=null,Eb=Fc.C,dg=Eb,Xd=1;6>=Xd&&Eb;Xd++){if(2<
Xd){Fc.C=Eb;var Gc=Df(mh,Fc);if(0<=Gc.indexOf("JSR")){var eg=Gc.indexOf(" ");if(Eb+(Gc.indexOf(" ",eg+1)-eg-1)/2==dg){cg=Gc;break}}}Eb-=2}Fc.C=dg;if(La=cg)break}}if(!La||null==La)break;var fg=null;if("ks"==kh){var gg=La.match(/[0-9A-F]+$/);gg&&(fg=Ag(a,gg[0]))}La=Ca(La,50)+" ;"+(fg||"stack="+Z(a,Db));a.j(La);Vd++}Vd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){Ag(a,g[1],!0);break}f=!0;break;case "m":a:{var ma,na=null,I=g[1];"?"==I&&(I=void 0);if(void 0!==I){var za=0;if("all"==
I)za=1879046143,I=null;else if("on"==I)na=!0,I=null;else if("off"==I)na=!1,I=null;else{"keys"==I&&(I="key");"kbd"==I&&(I="keyboard");for(ma in cc)if(I==ma){za=cc[ma];na=!!(a.X&za);break}if(!za){a.j("unknown message category: "+I);break a}}if(za)if("on"==g[2])a.X|=za,na=!0;else if("off"==g[2]&&(a.X&=~za,na=!1,1073741824==za)){for(var hg=1E3<=a.O.length?a.O.length-1E3:0;hg<a.O.length;)a.j(a.O[hg++]);a.O=[]}}var nh=0,Fb="";for(ma in cc)if(!I||I==ma){var oh=!!(a.X&cc[ma]);if(null===na||na==oh)Fb&&(Fb+=
","),++nh%10||(Fb+="\n\t"),"key"==ma&&(ma="keys"),Fb+=ma}void 0===I&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==na?na?"messages on: ":"messages off: ":"message categories:\n\t")+(Fb||"none"));bf(a)}break;case "p":if("print"==g[0]){Bg(a,b.substr(5));break}var ig=g[0],jg="p"==ig?0:"pr"==ig?1:-1;if("?"==g[1]||0>jg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress");
else{var kg=X(a.v.u);a.Ca(kg);a.N?(a.Ea(a.b,kg,!0),xf(a)||(a.G&&od(a.G),a.N=0)):Cg(a,jg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}Af(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Gb=+g[2];if(8==Gb||10==Gb||16==Gb)a.ca=Gb;else{a.j("invalid base: "+Gb);break}}a.j("default base: "+a.ca);break;case "cs":var Hb;void 0!==g[3]&&(Hb=+g[3]);switch(g[2]){case "int":a.v.ka=Hb;break;case "start":a.v.Aa=Hb;break;case "stop":a.v.ma=Hb;break;default:a.j("unknown cs option");break a}void 0!==
Hb&&gd(a.v);a.j("checksums "+(a.v.A.Fa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ld(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),
a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":Cg(a,g[0],g[1]);break;case "u":Bf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){zg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Tb||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Bg(a,b.substr(1));break}var Yd="commands:",Zd;for(Zd in Eg)Yd+="\n"+Ca(Zd,9)+Eg[Zd];xd(a)||(Yd+="\nnote: history disabled if no exec breakpoints");a.j(Yd);break;default:f=!0}f&&(a.j("unknown command: "+
b),d=!1)}}catch(mg){a.j("Debugger "+(mg.stack||mg.message)),d=!1}return d}function jd(a,b,c){b=Se(a,b,c);for(var d in b)if(!vg(a,b[+d]))return!1;return!0}
var Eg={"?":"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"},og=20,qg=85,pg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "),
of=0,pf=1,qf=2,rf=3,sf=4,tf=5,uf=6,vf=7,nf="PC RA EA C0 C1 OV ND PD".split(" "),Fg={},Ef=(Fg[28672]={0:101},Fg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:qg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Fg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:og,9216:53,9472:52,
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Fg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Fg[29248]={24576:79,24640:80,25088:81,25152:82},Fg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},Fg),Ff=["","I","M","S"],lg=" L E LE A GE N G".split(" "),ng="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),rg={8:102,4:103,2:104,6:105,1:106},wf=1E3,zf=">> ";Xa(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new $e(d);vb(d,c)}});
function Gg(a,b,c){t.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Hg(this,b);this.O=ed(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=ed(this,"url")||"";(Math.random()+.1).toString(36);this.i=Ig(this);if(this.v=ub("CPU",this.id)){this.D=ub("Debugger",this.id);this.H=new Ic({id:this.Qa+".bus",busWidth:this.aa},this.v,this.D);var d,e=sb(this.id);if((this.u=ub("Panel",this.id))&&this.u.ta)for(b=
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Tb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ba&&d.Ba(this,this.H,this.v,this.D);b=null;d=ed(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=ed(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Jg),this.b&&(this.I=new F(this,"1.34.2"),Kg(this.I)?b=null:
delete this.I);!b&&this.b&&(b=Lg(this))&&(this.K=!0);if(b){var g=this;Ga(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(g.M=b,g.T=!0);Ob(g)})}else Ob(this);this.J.power||(this.O=!0);!c&&this.O&&Mg(this,this.Ja)}else r("Unable to find CPU component")}p(Gg,t);function Hg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
function ed(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.R&&(e=a.R[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}function Mg(a,b,c){for(var d=sb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Nb(f)){Nb(f,function(){Mg(a,b,c)});return}}b.call(a,c)}
function Ng(a,b){var c=new F(a,"1.34.2",Og);if(Kg(c)&&Pg(c)){var d=c.get(Qg),e=b?b.get(Qg):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Gg.prototype;
l.Ja=function(a){void 0===a&&(a=this.b||(this.M?Rg:Jg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.2");if(a==Sg)b=!0;else if(a>Jg){if(Kg(d,this.M)){this.B=new F(this,"1.34.2",Tg);Kg(this.B)&&(Ug(this,d),a=Vg,Wg(this.B));this.B.set(Qg,Fa());Xg(this.B);var e=this.b&&!this.K;if(a==Rg||rb("Click OK to restore the previous "+Tb+" machine state, or CANCEL to reset the machine.")){if(c=Pg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Kg(d,g):("error"==f&&"no machine state"!=
g?(this.da("Error: "+g),"unable to verify user"==g&&(Qa(Yg,""),this.i=null)):this.j(f+": "+g),Wg(d),Kg(d)?(c=Pg(d),e=!0):c=!1))}e&&Ng(this,c?d:null)}else a==Vg&&d.clear()}else Ng(this);delete this.M;delete this.I}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Zg(this,g,d,b,c));b=[d,a,c];a!=Sg?Mg(this,this.ub,b):this.ub(b)}};
function Zg(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Jg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.jb){var g=b.jb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Zg(this,this.v,b,c,a),K(this,-2),this.v.Z());this.P&&(Ug(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
function Ug(a,b){if(rb("There may be a problem with your "+Tb+" machine.\n\nTo help us diagnose it, click OK to send this "+Tb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Tb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}}
function Dg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.2"),g=new F(a,"1.34.2",Og),h=Fa();g.set(Qg,h);f.set(Qg,h);f.set($g,"1.34.2");f.set(ah,window?window.location.href:null);f.set(bh,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=sb(a.id),k=0;k<h.length;k++){var m=h[k];m.A.V&&(m.ia&&(d=m.ia(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&ch(a,a.i,f.toString()),Xg(g)&&Xg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==ph),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Sb(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Sb(this,"Resetting "+this.v.type),this.v.reset());for(var a=sb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Sb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;K(this,-1)};l.start=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
l.stop=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
function K(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Xa+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.u;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?ta(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.u:0<b&&c&&!d&&(a.i=a.v.va);lc(a,a.i);fc(a,a.w)}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?Dg(d,!1,!0):Mg(d,d.Ja))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=rb("Click OK to save changes to this "+Tb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Dg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ja(Jg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(wa())c.parentNode.removeChild(c);else return this.J[b]=
c,c.onclick=function(){var a=Ig(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=Dg(d,b);b?ch(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function Ig(a,b){var c=a.i;c||((c=Pa(Yg),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=qh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function qh(a,b){a.i=null;b=Ga(xa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Qa(Yg,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function Lg(a){var b=null;a.i&&(b=xa()+"/api/v1/user?req=load&user="+a.i+"&state="+rh(a,"1.34.2"));return b}
function ch(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=rh(a,"1.34.2");d.data=c;b=Ga(xa()+"/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.da("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.da(c),Qa(Yg,""),a.i=null)}}
function od(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Tg="failsafe",Og="validate",Qg="timestamp",$g="version",ah="url",bh="browser",Yg="user",Sg=-1,Jg=0,Rg=1,Vg=2,ph=3;Xa(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new Gg(g,d,!0);vb(g,f);g.O&&Mg(g,g.Ja)}});
gb.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=ub("Computer",c.id))&&c.S&&!c.A.V&&c.Ja(Sg)}});gb.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=ub("Computer",c.id))&&c.A.V&&Dg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=rh(a,b,c);Wg(this,a.Db)}l=F.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
l.data=function(){return this.b};function Kg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Na()&&(b=Pa(a.key))?(a.i=b,a.v=!0):!1}function Pg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function Xg(a){var b=!0;if(Na()){var c=JSON.stringify(a.b);Qa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Wg(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Wg(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 rh(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 sh=0;
function th(a,b,c,d,e,f,g){f("Loading "+a+"...");Ga(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):uh(k,a,b,c,d,e,f,g)})}
function uh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(ob(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),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(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?vh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function vh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);vh(a,b,c)}})}else c(a,null)}
function wh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);m&&(--sh||jb(!0));m=!1}var h,k,m=!0;sh++;pb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],H=document.createElement("style");H.type="text/css";H.styleSheet?H.styleSheet.cssText=n:H.appendChild(document.createTextNode(n));u.appendChild(H)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?th(d,null,a,null,!1,f,function(a,e){e?(ob(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--sh||jb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--sh||
jb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?th(c,b,a,e,!0,f,n):uh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(ja){g(ja.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return wh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return wh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return ub(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n<f;n++){var u=b[n];if('"'==u||"'"==u)m&&u!=m?k+=u:(m?m=null:m=u,k&&(h.push(k),k=""));else{if(!m){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){k&&(h.push(k),k="");";"==u&&h.length&&(g.push(h),h=[]);continue}}k+=u}}k&&h.push(k);h.length&&g.push(h);d[e]=g;wb(a)||(c=!1)}return c};window.enableEvents=jb;window.sendEvent=lb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map