pcjs/versions/pdpjs/1.34.0/pdp10-dbg.js

226 lines
83 KiB
JavaScript

(function(){/*
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/int36.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/serial.js (C) Jeff Parsons 2012-2017
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 ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ka(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ka(a){fa();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 la(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})}}
la("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}});la("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ma=Math.pow(2,36),na=-Math.pow(2,35),q={Xb:0,ob:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,pb:10,fc:11,gc:12,qb:13,hc:14,ic:15,jc:16,kc:17,lc:18,mc:19,nc:20,oc:21,pc:22,qc:23,rc:24,sc:25,tc: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,Ya:65,Wb:66,Yb:67,uc:68,E:69,vc:70,wc:71,xc:72,yc:73,zc:74,Ac:75,Bc:76,Cc:77,Dc:78,Ec:79,Fc:80,Q:81,
Gc:82,Hc:83,Ic:84,Jc:85,Kc:86,Lc:87,Mc:88,Nc:89,ub:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Oc:97,Pc:98,Qc:99,d:100,e:101,Rc:102,Sc:103,Tc:104,Uc:105,Vc:106,k:107,Wc:108,Xc:109,n:110,Yc:111,p:112,q:113,r:114,Zc:115,t:116,ad:117,bd:118,cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,rb:127};
function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.cb=b.comment;this.tb=b;this.exports={};this.G=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ta:!1,V:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.g=this.D=this.C=this.ma=null;u.push(this)}function oa(a,b,c){va[a]&&b&&(va[a][b]=c)}function wa(){return Date.now()||+new Date}
function v(a){window&&window.alert(a)}function xa(a){var b=!1;window&&(b=window.confirm(a));return b}function w(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ya(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function za(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<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function Aa(a,b){var c=B;b=C(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=z(f))&&h.binding&&a.ga(h.type,h.binding,f,h.value),m=k.length}}}}
function C(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 Ba(a){for(var b=!0,c=Ca[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Da.indexOf(e)&&(g=function(){return function(){Ba(a)}}());var f=Ea[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=za(d[1],a);if(h)if(f=Fa[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){v("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete Ca[a];return b}l=t.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.ga=function(a,b,c){switch(b){case "clear":return this.G[b]||(this.G[b]=c,c.onclick=function(a){return function(){a.G.print&&(a.G.print.value="")}}(this)),!0;case "print":return this.G[b]||(this.ma=this.G[b]=c,c.value="",this.f=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.ca=function(a){this.f(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.f=function(){};
l.status=function(a){this.f(this.Ka+": "+a)};l.ca=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Ga(a,b){a.j.error=!0;a.ca(b)}function Oa(a){return a.j.error?(a.f(a.toString()+" error"),!0):!1}function Pa(a,b){b&&(a.j.ready?b():a.Ma=b);return a.j.ready}function D(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.Ma;a.Ma=null;b&&b()}}function Qa(a,b){a.j.Fa&&(b?a.j.Ta=!0:void 0===b&&a.f(a.toString()+" busy"));return a.j.Fa}
function Ra(a,b){if(a.j.Ta)return a.j.Fa=!1,a.j.Ta=!1;if(a.j.error)return a.f(a.toString()+" error"),!1;a.j.Fa=b;return a.j.Fa}l.na=function(){return this.j.V=!0};l.fa=function(a,b){b&&(this.j.V=!1);return!0};function Sa(a,b){if(a.A){a===a.A?b|=0:b=b||a.X;var c=a.A.X&b;return!!b&&c===b||!!(c&a.A.ib)}return!1}function Ta(a,b,c,d){a.A&&(!0===c||Sa(a,c|0))&&a.A.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 va=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[],Ca=window?window.PCjs.Commands:{},Da=["hold","sleep","wait"],Ea={alert:function(a){v(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Fa={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});
function Ua(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 g,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(g=parseInt(a,b))&&(c=g)}return c}function Va(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var g=a%b,g=g+(0<=g&&9>=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function Wa(a,b,c){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return Va(a,8,b,c?"0o":"")}function E(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return Va(a,16,b,c?"0x":"")}
function Xa(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 Ya(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Za(){var a=$a();return-1!==a.indexOf("pcjs.org",a.length-8)}function ab(a){return a.replace(/[&<>"']/g,function(a){return bb[a]})}function cb(a,b){return(a+" ").slice(0,b)}
function db(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var bb={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function fb(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}function ob(){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 pb(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
g,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||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f}
function qb(a,b){var c,d={Y:null,U:null,la:null,ka:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=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.la=f.load;d.ka=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c<e.length;c++)d.Y[g++]=e[c]&255,d.Y[g++]=e[c]>>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c<e.length;c++)d.Y[g++]=
e[c]&255,d.Y[g++]=e[c]>>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Aa=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(v(d.Y[0]),d=null):(v("Empty resource: "+a),d=null));d.U=f.symbols}catch(h){v("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.Y=e)}return d}
function $a(){return"http://"+(window?window.location.host:"www.pcjs.org")}function rb(){if(null==sb){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}sb=a}return sb}function tb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function ub(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function vb(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 wb(a){if(!xb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}xb=c}return xb[a]}function yb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function zb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function Ab(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Bb(a){Cb.init.push(a)}
function Db(a){if(Eb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Fb(a){!Eb&&a?(Eb=!0,Gb&&Hb("init"),Ib&&Hb("show")):Eb=a}function Hb(a){Cb[a]&&Db(Cb[a])}var xb=null,Cb={init:[],show:[],exit:[]},Gb=!1,Ib=!1,Eb=!0,sb=null;Ab("onload",function(){Gb=!0;Db(Cb.init)});Ab("onpageshow",function(){Ib=!0;Db(Cb.show)});Ab(vb("Opera")||vb("iOS")?"onunload":"onbeforeunload",function(){Db(Cb.exit)});
var B="pdp10",Jb="PDPjs",Kb=Math.pow(2,18),Lb=Math.pow(2,18)-1,Mb=Math.pow(2,36),F=Math.pow(2,18),Nb=Math.pow(2,35)-1,Ob=Math.pow(2,21),Pb=Math.pow(2,26),Wb=Math.pow(2,23),B="pdp10",Jb="PDPjs",G={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 Xb(a,b){t.call(this,"Panel",a,512);this.J=this.L=0;this.T=b;this.i=this.I=this.u=this.v=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=Yb;this.B={};this.b={START:[1,1,!0,!1,this.Hb],STEP:[1,1,!1,!1,this.Ib],ENABLE:[1,1,!1,!1,this.Cb],CONT:[1,1,!0,!1,this.Ab],DEP:[0,0,!0,!1,this.Bb],EXAM:[1,1,!0,!1,this.Db],LOAD:[1,1,!0,!1,this.Fb],TEST:[0,0,!0,!1,this.Eb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb,
set:this.Qb};D(this)}p(Xb,t);l=Xb.prototype;l.reset=function(a){this.stop();a&&Zb(this,this.v=0)};
l.ga=function(a,b,c,d){if(this.C&&this.C.ga(a,b,c,d)||this.g&&this.g.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.G[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.B[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){$b(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ac(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){$b(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ac(a,b)}}(this,b),!0):t.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;bc(this);cc(this)};l.na=function(a,b){if(!b)if(this.T&&dc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,[this.i,this.v,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])ec(this,this.i=a[0]),Zb(this,this.v=a[1]),fc(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}cc(this);return!0};function gc(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function bc(a,b){for(var c in a.B)gc(a,c,null!=b?b:a.B[c])}function hc(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function cc(a){for(var b in a.b)hc(a,b,a.b[b][1])}
l.yb=function(a,b,c){if($b(this,b)){if(c){var d=this;setTimeout(function(){ac(d,b);a&&a()},+c);return!1}ac(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return fc(this,Ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,hc(this,a,c[1]),!0):!1};l.Rb=function(a){return $b(this,a)?(ac(this,a),!0):!1};function $b(a,b){var c=a.b[b];return c?(hc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=ic&&(a.O=b==jc,a.R=b==kc),!0):!1}
function ac(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(hc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.K||(this.g.u=this.i%Kb,this.b[lc]&&this.b[lc][1]&&mc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.W()};
l.Ab=function(a){if(!a&&!this.g.j.K)if(this.b[lc]&&this.b[lc][1])mc(this.g);else{if((a=this.A)&&!Qa(a,!0))Ra(a,!0),nc(a,0,null),Ra(a,!1);else try{var b=this.g.Ja(1);0<b&&(oc(this.g,b),pc(this.g,b,!0),qc(this.g,b))}catch(c){"number"!=typeof c&&Ga(this.g,c.stack||c.message)}this.stop();this.C&&K(this.C)}};l.Bb=function(a){a&&!this.g.j.K&&(this.O&&rc(this),a=Zb(this,this.v=this.u),this.S==Yb?sc(this.D,this.i,a):this.g.P(this.i,a))};
l.Db=function(a){if(!a&&!this.g.j.K){var b;this.R&&rc(this);this.S==Yb?b=tc(this.D,this.i):b=this.g.H(this.i);Zb(this,this.v=b)}};l.Fb=function(a){a||this.g.j.K||ec(this,this.u)};l.Eb=function(a){a?(this.F=!0,bc(this,!0)):(this.F=!1,bc(this),fc(this,0))};l.Gb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function rc(a){var b=1,c=a.D.u;a.b[ic]&&a.b[ic][1]||(b=-b);ec(a,a.i&~c|a.i+b&c)}
function ec(a,b){a.i=b&a.D.u;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.B[e]=g;d.F||gc(d,e,g)}}}function Zb(a,b){a.I=b%Mb;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.B[e]=g;d.F||gc(d,e,g)}}return a.I}function fc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;cc(a);return!0}l.stop=function(){ec(this,this.g.u)};
function dc(){for(var a=C(document,B,"panel"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=ya(d.id);e||(e=new Xb(d,!0));Aa(e,c)}}var Yb=7,jc="DEP",lc="ENABLE",kc="EXAM",ic="STEP";Bb(dc);function uc(a,b,c){t.call(this,"Bus",a,16);this.g=b;this.A=c;this.I=+a.busWidth||18;this.F=1<<this.I;this.u=this.F-1;this.i=Math.log2(16384);this.B=this.F/16384|0;this.v=0;this.b=[];a=new vc(this);wc(a,this.A);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;D(this)}p(uc,t);l=uc.prototype;l.reset=function(){};
l.na=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,xc(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,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function yc(a,b,c,d){for(var e=b,g=c,f=e>>>a.i;0<g&&f<a.b.length;){var h=a.b[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return zc(Ac,e,g)}e=new vc(a,e,m,16384,d);wc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Bc[d]+" at "+Wa(b)),!0):zc(Cc,b,c)}
function tc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.G(b&16383,b);a.v--;return b}function sc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function xc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.Va||e.vb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c}
l.xb=function(a){this.v||(this.A&&Sa(this.A,4)&&Ta(this.A,"memory fault on "+L(this.A,a),!0,!0),this.g.W())};function zc(a,b,c){v("Memory block error ("+a+": "+E(b)+","+E(c)+")");return!1}var Ac=1,Cc=2;function Dc(a){t.call(this,"Device",a,256)}p(Dc,t);l=Dc.prototype;l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.A=d;D(this)};l.na=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new J(this)).data()};
l.restore=function(){return!0};Bb(function(){for(var a=C(document,B,"device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new Dc(c),Aa(c,d)}}});function vc(a,b,c,d,e){this.u=a;this.id=Ec+=2;this.w=b;this.Ha=c;this.size=d||0;this.type=e||Fc;this.i=e==Gc;this.b=null;this.H=this.G=this.Xa;this.P=this.D=this.Ia;this.g=this.A=0;wc(this);this.Va=this.vb=!1;if(this.size){a=this.C=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Hc(this,Ic)}else Hc(this)}l=vc.prototype;l.save=function(){return this.C};
l.restore=function(a){return a&&this.size==a.length?(this.C=a,this.Va=!0):!1};function Hc(a,b){b||(b=Jc);ed(a,b,void 0);fd(a,b,void 0)}function ed(a,b,c){c&&a.g||(a.H=b[0]||a.Xa);if(c||void 0===c)a.G=b[0]||a.Xa}function fd(a,b,c){c&&a.A||(a.P=!a.i&&b[1]||a.Ia);if(c||void 0===c)a.D=b[1]||a.Ia}l.Ba=function(a,b){b?this.A++||fd(this,gd,!1):this.g++||ed(this,gd,!1)};function hd(a,b){b?--a.A||(a.P=a.i?a.Ia:a.D):--a.g||(a.H=a.G)}
function wc(a,b,c){a.b=b;a.g=a.A=0;c&&((a.g=c.g)&&ed(a,gd,!1),(a.A=c.A)&&fd(a,gd,!1))}l.Xa=function(a,b){this.b&&Sa(this.b,32)&&Ta(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.u.xb(b);return-1};l.Ia=function(a,b,c){this.b&&Sa(this.b,32)&&Ta(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0)};l.Lb=function(a){return this.C[a]};l.Ub=function(a,b){this.C[b]!=a&&(this.C[b]=a,this.Va=!0)};
l.Jb=function(a,b){if(this.b&&null!=this.w){var c=this.b;id(c,this.w+a,2,c.L)&&c.W(!1)}return this.G(a,b)};l.Tb=function(a,b,c){if(this.b&&null!=this.w){var d=this.b;id(d,this.w+b,2,d.I)&&d.W(!1)}this.i?this.Ia(a,0,c):this.D(a,b,c)};var Fc=0,Gc=2,Bc=["NONE","RAM","ROM"],Ec=0,Jc=[],Ic=[vc.prototype.Lb,vc.prototype.Ub],gd=[vc.prototype.Jb,vc.prototype.Tb];
function jd(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ca=0;this.Ra=b;this.T=c;this.Da=Math.round(this.Ra/1E4)/100;this.S=this.Da*this.T;this.Qa=this.ua=this.aa=this.ya=0;this.j.K=this.j.Pa=!1;this.j.Z=a.autoStart;"string"==typeof this.j.Z&&(this.j.Z="true"==this.j.Z);this.j.Ea=!1;this.sa=this.ha=0;this.ta=+a.csStart;this.da=+a.csInterval;this.ia=+a.csStop;this.I=[];this.fb=this.Ob.bind(this);this.N=this.F=this.L=this.M=this.B=this.ra=this.J=this.ja=this.Sa=this.R=0;this.xa=
null;D(this)}p(jd,t);l=jd.prototype;l.va=function(a,b,c,d){this.C=a;this.D=b;this.A=d;this.xa=a.u;for(a=0;a<kd.length;a++)(b=this.G[kd[a]])&&this.C.ga(null,kd[a],b);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.na=function(a,b){var c=ld(this.C,"autoStart");null!=c?this.j.Z="true"==c?!0:"false"==c?!1:!!c:null==this.j.Z&&(this.j.Z=!this.A&&void 0===this.G.run);if(!b){if(a){md(this);if(!this.restore(a))return!1;nd(this)}else this.reset();this.A?(a=this.A,b=this.j.Z,a.ya=!0,a.f("Type ? for help with PDPjs Debugger commands"),od(a),b||pd(a),a.ta&&(b=a.ta,a.ta=null,qd(a,b))):this.status("No debugger detected");this.j.Z||this.f("CPU will not be auto-started "+(this.xa?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.fa=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(mc(this),!0):!1};l.lb=function(){return 0};function nd(a){void 0===a.ta&&(a.ta=0);void 0===a.da&&(a.da=-1);void 0===a.ia&&(a.ia=-1);a.j.Ea=0<=a.ta&&0<a.da;a.j.Ea&&(a.sa=0,a.ha=a.ta-a.N)}function qc(a,b){if(a.j.Ea){var c=!1;a.sa=a.sa+a.lb()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=rd(a)&&(a.da=a.ia=-1,nd(a),a.W(),c=!0);c&&a.f(rd(a)+" cycles: checksum="+E(a.sa))}}
l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.V)a=!0;else{var b=null,c,h=w(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.V);c++);c==h.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Ma?" (waiting for notification)":""))+".");a=!1}a&&(d.j.K?d.W():mc(d))},!0;case "speed":return this.G[b]=
c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){sd(d,d.T<<1,!0)},c.textContent=this.S.toFixed(2)+"Mhz",!0}return!1};function pc(a,b,c){a.N+=b;c&&(a.L=a.M=0)}function td(a,b){var c=1;b&&1<a.T&&a.R&&(c=a.R/a.Da);a.Qa=Math.round(1E3/ud);a.ua=Math.floor(a.Ra/ud*c);b||(a.aa=a.ua);a.ya=0}function rd(a){return a.N+a.F+a.L-a.M}function md(a){a.R=0;a.Sa=0;a.N=a.F=a.L=a.M=0;nd(a);sd(a,1)}
function sd(a,b,c){var d=!1;if(void 0!==b){.8>a.R/a.S?b=1:d=!0;a.T=b;b=a.Da*a.T;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&vd(a.C)}pc(a,a.F);a.F=0;a.B=wa();a.J=0;td(a);return d}function wd(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function xd(a){for(var b=[],c=0;c<a.I.length;c++)b.push(a.I[c][0]);return b}
function oc(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function yd(a,b){var c=a.L-=a.M;a.M=0;b&&(a.L=0);return c}
l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&td(this,!0);this.ja=0;this.ra=wa();if(this.J){var a=this.ra-this.J;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=wd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=yd(this,!0);this.ja+=b;this.F+=b;qc(this,b);oc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=zd&&(this.C&&K(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.W();this.C&&this.C.stop(wa(),rd(this));Ga(this,
e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.J=wa();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.J-this.ra),d=this.J-this.B;d&&(this.R=Math.round(this.F/(10*d))/100,864E5<=d&&(this.N=0,sd(this)));if(0>c||this.R<this.S)-1E3>c&&(this.B-=c),c=0;this.ya+=this.ja;this.J+=c;a(b,c)}}};
function mc(a,b){if(!Oa(a))if(a.j.K)a.f(a.toString()+" busy");else{sd(a);a.j.K=!0;a.j.Pa=!0;var c=a.G.run;c&&(c.textContent="Halt");a.C&&(b&&vd(a.C,!0),a.C.start(a.B,rd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.W=function(a){var b=!1;if(this.j.K){yd(this);pc(this,this.F);this.F=0;this.j.K=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(wa(),rd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var ud=30,zd=15,kd=["power","reset"];
function Ad(a){var b=+a.model||1001;jd.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.sb=Bd.bind(this);this.b=N.bind(this);this.oa=null;this.ab=[];this.j.complete=!1}p(Ad,jd);l=Ad.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.W();this.i=this.O=this.za=0;this.pa=this.u=this.qa=this.bb;this.v=0;this.H=this.Kb;this.P=this.Vb;this.oa=null;md(this);this.j.error=!1;jd.prototype.reset.call(this)};l.lb=function(){return 0};
l.save=function(){var a=new J(this);a.set(0,[this.i,this.O,this.za,this.u,this.qa,this.pa,this.v]);a.set(1,[]);a.set(2,[this.N,this.T,this.j.Z]);a.set(3,Cd(this));a.set(4,xd(this));return a.data()};
l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.i=b.next().value;this.O=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.pa=b.next().value;this.v=b.next().value;b=a[2];this.N=b[0];sd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ab.length;d++){var e=this.ab[d];if(e.Sb===b[c]){d=e;break a}}d=null}d&&(d.next=this.oa,this.oa=d)}a=a[4];for(b=0;b<this.I.length&&b<a.length;b++)this.I[b][0]=
a[b];return!0};function Dd(a,b){var c=a.u;a.u=(c+b)%Kb;return c}function Cd(a){var b=[];for(a=a.oa;a;)b.push(a.Sb),a=a.next;return b}l.Kb=function(a){var b=this.D;a=this.pa=a;return b.b[(a&b.u)>>>b.i].H(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.pa=a;c.b[(a&c.u)>>>c.i].P(b,a&16383,a)};
l.Ja=function(a){this.j.complete=!0;var b=this.A?Ed(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.L=this.M=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Fd(this.A,this.u,c)){this.W();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.oa||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Fd(this.A,this.u,c)){this.W();break}if(0>c)break}}this.v&=15;this.O=this.O&4194304?this.H(this.i)&8388607:(this.za=this.H(this.qa=this.u))&8388607;this.i=this.O&262143;
if(a=this.O>>18&15)this.i=this.i+this.H(a)&Lb;this.O&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Wb|0);0<=a&&this.sb(a)}while(0<this.M);return this.j.complete?this.L-this.M:!1===this.j.complete?-1:0};Bb(function(){for(var a=C(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ad(d);Aa(d,c)}});function Bd(a){Gd[a>>4].call(this,a)}function O(a){this.b(a)}function Hd(a){this.b(a)}function Id(a){this.b(a)}
function Jd(a){var b=a&15,c=this.H(this.i),d=this.H(b),d=Kd(a,d,c)+(c-(c&262143));this.P(b,d)}function Ld(a){var b=a&15,c=this.H(b),c=Kd(a,c,0);this.P(b,c)}function Md(a){var b=this.H(a&15),c=this.H(this.i),c=Kd(a,c,b)+(b-(b&262143));this.P(this.i,c)}function Nd(a){var b=this.H(this.i);this.P(this.i,Kd(a,b,b));var c=a&15;c&&(b=this.H(c),this.P(c,Kd(a,b,b)))}function Od(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a);this.P(a,c-(c&262143)+b)}function P(a){this.b(a)}
function N(a){this.f("undefined opcode: "+Wa(a));Dd(this,-1);this.W()}function Kd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Nb?262143:0}return b}
var Gd=[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,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Hd,Id,Id,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Hd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Jd,Ld,Md,Nd,function(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a),c=(c&262143)+b*F;this.P(a,c)},function(a){a&=15;var b=this.H(a),b=(b&262143)+this.i*F;this.P(a,b)},function(a){a=
this.H(a&15)&262143;var b=this.H(this.i),b=(b&262143)+a*F;this.P(this.i,b)},function(a){var b=this.H(this.i)&262143;this.P(this.i,b+b*F);if(a&=15)b=this.H(a)&262143,this.P(a,b+b*F)},Jd,Ld,Md,Nd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Jd,Ld,Md,Nd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Jd,Ld,Md,Nd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Od,function(a){a&=
15;var b=this.H(a),b=b-(b&262143)+this.i;this.P(a,b)},function(a){a=this.H(a&15)&262143;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){a&15&&Od.call(this,a)},function(a){a&=15;var b=this.H(this.i)/F|0,c=this.H(a);this.P(a,c-(c&262143)+b)},function(a){a&=15;var b=this.H(a);this.P(a,b-(b&262143))},function(a){a=this.H(a&15)/F|0;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){var b=this.H(this.i);this.P(this.i,(b&262143)+(b/F|0));if(a&=15)b=this.H(a),this.P(a,(b&262143)+
(b/F|0))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P];
function Pd(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.v=a.file;this.F=Xa(this.v);if(this.v){a=this.v;var b=Ya(this.F);"json"!=b&&"hex"!=b&&(a=$a()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;pb(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(oa(c.La,a,b),(a=qb(a,b))?(c.b=a.Y,c.U=a.U):c.v=null);Qd(c)})}}p(Pd,t);
Pd.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;Qd(this)};Pd.prototype.na=function(){this.U&&(this.A&&Rd(this.A,this.id,this.B,this.u,this.U),delete this.U);return!0};Pd.prototype.fa=function(){return!0};
function Qd(a){if(!Pa(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ga(a,"ROM size ("+E(a.b.length,8,!0)+") does not match specified size ("+E(a.u,8,!0)+")");else{var b;b=a.B;if(yc(a.D,b,a.u,Gc)){var c;for(c=0;c<a.b.length;c++)sc(a.D,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],g=d.D,f=d.u,h=[],k=d.B>>>g.i;0<f&&k<g.b.length;)h.push(g.b[k++]),f-=16384;g=d.D;d=d.u;f=0;for(e>>>=
g.i;0<d&&e<g.b.length;){k=h[f++];if(!k)break;g.b[e++]=k;d-=16384}}delete a.b}}}D(a)}}Bb(function(){for(var a=C(document,B,"rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Pd(d);Aa(d,c)}});
function Sd(a){t.call(this,"RAM",a);this.U=this.Aa=null;this.i=+a.addr;this.u=+a.size;this.la=a.load;this.ka=a.exec;null!=this.la&&(this.la=+this.la);null!=this.ka&&(this.ka=+this.ka);this.v=this.F=!1;this.b=a.file;this.B=Xa(this.b);if(this.b){a=this.b;var b=Ya(this.B);"json"!=b&&"hex"!=b&&(a=$a()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;pb(a,null,!0,function(a,b,g){g?(c.ca("Unable to load RAM resource (error "+g+": "+a+")"),c.b=null):(oa(c.La,a,b),(a=qb(a,b))?(c.Aa=a.Aa,
c.U=a.U,null==c.la&&(c.la=a.la),null==c.ka&&(c.ka=a.ka)):c.b=null);Td(c)})}}p(Sd,t);Sd.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;Td(this)};Sd.prototype.na=function(a,b){this.U&&(this.A&&Rd(this.A,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};Sd.prototype.fa=function(){return!0};
function Td(a){if(a.D&&(!a.v&&a.u&&(yc(a.D,a.i,a.u,1)?a.v=!0:a.u=0),!Pa(a))){if(!a.v)v("No RAM allocated");else if(a.b){if(!a.Aa)return;Ud(a,a.Aa,a.la,a.ka,a.i)?a.status('Loaded image "'+a.B+'"'):a.ca('Error loading image "'+a.B+'"')}a.F=!0;D(a)}}
Sd.prototype.reset=function(){if(this.v&&!this.F){for(var a=this.D,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=na&&(f+=ma);f=Math.trunc(Math.abs(f))%ma;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.D(f,d,e.w+d);c-=16384;b++;d=0}this.Aa&&Ud(this,this.Aa,this.la,this.ka,this.i,!this.A)}this.F=!1};
function Ud(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f<b.length;f++)sc(a.D,c+f,b[f]);f=!0}f&&(null==d&&(a.g.W(),g=!1),null!=d&&(a=a.g,a.bb=d,a.u=d%Kb,g?a.j.V?a.j.K||mc(a):a.j.Z=!0:a.A&&a.j.V?a.W()||a.C.j.reset||(od(a.A),K(a.C,-1)):!1===g&&a.W(),!a.j.K&&a.xa&&a.xa.stop()));return f}Bb(function(){for(var a=C(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Sd(d);Aa(d,c)}});
function Vd(a){t.call(this,"SerialPort",a,1048576);this.v=a.upperCase;"string"==typeof this.v&&(this.v="true"==this.v);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Wd;b&&(void 0===c&&(c="Panel"),(c=za(c,this.id))&&(b=c.G[b])&&this.ga(null,a,b))}this.b=this.B=null;this.exports={connect:this.nb,receiveData:this.Na,receiveStatus:this.Mb,setConnection:this.Pb}}p(Vd,t);l=Vd.prototype;
l.ga=function(a,b,c){var d=this;switch(b){case Wd:return this.G[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Za:q.rb:46==c?b=q.Za:a.ctrlKey&&c>=q.Ya&&c<=q.ub&&(b=c-(q.Ya-q.ob));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.qb&&(b=q.pb);d.Na(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.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;D(this)};
l.nb=function(a){if(!this.b){var b=ld(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=db(c[0]);if(d!=this.Ka)return;c=db(c[1]);if(this.b=ya(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.na=function(a,b){if(!b)if(this.nb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new J(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=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.Mb=function(){};l.Pb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Wd="buffer";
Bb(function(){for(var a=C(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Vd(d);Aa(d,c)}});function Xd(a){t.call(this,"Debugger",a);this.ba=+a.base||16;this.oa=!1;this.B=0;this.R=!1;this.v=-1;this.u=[];this.aa={}}p(Xd,t);Xd.prototype.mb=function(){return-1};Xd.prototype.Wa=function(){};
function Yd(a,b,c,d){if(c)if(b){0>a.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.R?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(db(b.substring(c,g))),c=g+1}}return a}
function Zd(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function R(a,b,c){var d;if(b){b=$d(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=db(n);if(!n){g=!0;break}n=ae(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],x=n.length;k.length&&be[n]<be[k[k.length-1]]&&Zd(h,k,1);k.push(n);b=b.substr(r+x)}Zd(h,k)&&1==h.length||(g=!0);g?c&&a.f("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&ce(a,null,
d))}return d}function $d(a,b){for(var c,d=a.oa?"(":"{",e=a.oa?")":"}",g=new RegExp(a.oa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=R(a,c[1]);b=b.replace(d+c[1]+e,null!=f?L(a,f):"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 ae(a,b,c,d){var e;null!=b?(e=a.mb(b),0<=e?e=a.Wa(e):(e=a.aa[b],null==e&&(e=Ua(b,a.ba))),null!=e||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return e}
function ce(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,r="";n?32<n&&(n=32):n=32;for(var x=null==k||isNaN(k),U=m=m||n;0<n--;)U||(r=","+r,U=m),r=(x?"?":k&1?"1":"0")+r,k>>=1,U--;f=r+f;d>>=8}d=E(c,0,!0)+" "+c+". "+Wa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e}
function de(a,b){if(b)return ce(a,b,a.aa[b]);var c=0;for(b in a.aa)ce(a,b,a.aa[b]),c++;return 0<c}function L(a,b,c){c=void 0===c?0:c;switch(a.ba){case 8:b=Wa(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=Va(b,10,a);break;default:b=E(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var be={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function ee(a){Xd.call(this,a);this.ya=!1;this.oa=!0;this.ua=S();this.J=S();this.xa=S();this.O=S();this.F=[];this.b=this.L=this.I=[];fe(this);this.S=this.ja=0;this.i=[];this.ra=void 0;ge(this);this.A=this;this.pa={};this.X=this.ib=0;this.T=null;this.N=[];he(this,a.messages);this.ta=a.commands;this.M=0;this.Da=this.sa=null;this.B=this.Ca=this.za=this.ia=this.qa=0;this.ha=this.da=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return qd(b,a)}):void 0===global[B]&&(global[B]=function(a){return qd(b,
a)})}p(ee,Xd);function T(a){a=a&&a.w;null==a&&(a=-1);return a}function S(a,b,c){return{w:void 0===a?null:a,wb:void 0===b?!1:b,ea:!1,ba:c}}function ie(a,b){a.w=b.w;a.ea=b.ea;a.ba=b.ba}function je(a,b){a.w=b;a.ea=!1;a.ba=void 0}function ke(a){return[a.w,a.wb,a.ba,a.ea,a.Oa]}function le(a,b){var c=S(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=Yd(a,c.Oa=b[4]));return c}l=ee.prototype;
l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=ld(a,"messages"))&&he(this,a);me(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=T(Z(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Bc[c],n&&d.f(E(n.id,8)+" %"+E(e<<d.D.i,8)+" %"+E(n.w,8)+" "+E(n.Ha,4,!0)+
" "+E(n.size,4,!0)+" "+m),c!=Fc&&(c=-1),m=0);a+=16384;e++}}});D(this)};
l.ga=function(a,b,c){var d=this;switch(b){case "debugInput":return this.da=this.G[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",qd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.u.length-1&&(b=d.u[++d.v])):40==a.keyCode&&(0<d.v?b=d.u[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.G[b]=c,zb(c,function(){if(d.da){var a=d.da.value;
d.da.value="";qd(d,a,!0);return!0}return!1}),!0;case "step":return this.G[b]=c,zb(c,function(a){var b=!1;Qa(d,!0)||(Ra(d,!0),b=nc(d,a?1:0,null),Ra(d,!1));return b}),!0}return!1};function pd(a){if(a.da){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.da.focus();window&&window.scrollTo(b,c)}}l.wa=function(a,b){var c=-1,d=T(a);-1!==d&&(c=tc(this.D,d),b&&null!=a.w&&(a.w+=b||1));return c};l.$a=function(a,b,c){var d=T(a);-1!==d&&(sc(this.D,d,b),c&&null!=a.w&&(a.w+=c||1),K(this.C,-1))};
function Z(a,b,c){var d;c=(c?a.J:a.xa).w;var e,g;if(void 0!==b){b=$d(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var f,h;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.F.length;c++){var k=a.F[c].U[d];if(null!=k){h=k.o;break}}null!=h&&(f=S(h));if(d=f)return d;0<=b.indexOf("0x")?g=16:0<=b.indexOf("0o")?g=8:0<=b.indexOf(".")&&(g=10);c=R(a,b,void 0)}null!=c&&(d=S(c,e,g));return d}function ne(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.gb=Yd(a,b.Oa=c[2]))}
function oe(a){return Wa(a/Kb,6)+" "+Wa(a%Kb,6)}function he(a,b){a.A=a;a.X=a.ib=536870916;a.T=null;a.N=[];b=Yd(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){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|=G[c],a.f(c+" messages enabled"))}}function me(a,b){for(var c in G)if(16==G[c]){a.pa[c]=b;break}}l.mb=function(a){return pe.indexOf(a.toUpperCase())};
l.Wa=function(a){var b;switch(a){case qe:b=this.g.u;break;case re:b=this.g.O;break;case se:b=this.g.i}return b};l.message=function(a,b){b&&(a+=" @"+L(this,S(this.g.qa).w));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.N.push(a);else{var c;if(this.X&-2147483648&&this.g&&(c=this.g.j.K)||Qa(this,!0))this.W(),c&&(a+=" (cpu halted)");this.f(a);this.g&&(a=this.g,yd(a),a.aa=0,a.C&&K(a.C,void 0))}};
function ge(a){var b;if(!Ed(a))a.i&&a.i.length&&a.f("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(te);for(b=0;b<a.i.length;b++)a.i[b]=S();a.S=0;a.f("instruction history buffer allocated")}}function ue(a,b,c){if(!ve(a,c))return!1;mc(a.g,b);return!0}
function nc(a,b,c,d){if(!ve(a))return!1;var e="";null===c&&(e=(c=!a.sa||"tr"==a.sa)?"tr":"t");a.B=0;b||Ed(a)&&Fd(a,a.g.u,0);try{b=wd(a.g,b);var g=a.g.Ja(b);0<g&&(oc(a.g,g),a.B+=g,pc(a.g,g,!0),qc(a.g,g),a.ia++)}catch(f){"number"!=typeof f&&(a.B=0,Ga(a.g,f.stack||f.message))}!1!==d&&(a.ha&&a.ha.stop(),K(a.C,-1));od(a,c||!1,e);return 0<a.B}l.W=function(a){this.g&&this.g.W(a)};function od(a,b,c){a.ya&&(void 0===b&&(b=!0),c&&a.f(we+c),je(a.J,a.g.u),b&&1!=a.M?xe(a):ye(a))}
function ve(a,b){var c;(c=!a.g||!Pa(a.g))||(c=a.g,c.j.V?c=!0:(c.f(c.toString()+" not powered"),c=!1),c=!c);return c||a.g.j.K?(b||a.f("cpu busy or unavailable, command ignored"),!1):!Oa(a.g)}l.na=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.fa=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){ge(this);this.ia=0;this.T=null;this.B=0;je(this.J,this.g.u);this.j.K=!1;ze(this);a||od(this)};
l.save=function(){var a=new J(this);a.set(0,ke(this.J));a.set(1,ke(this.O));a.set(2,[this.u,this.R,this.X]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.J=le(this,a[b++]),this.O=le(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.X|=a[b][2]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.M||this.f("running");this.j.K=!0;this.za=a;this.Ca=b};
l.stop=function(a,b){if(this.j.K){this.j.K=!1;this.B=b-this.Ca;if(!this.M){b="stopped";if(this.B){a-=this.za;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";Ed(this)&&(b+=this.ia+" instructions, ",this.ia=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Sa(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}od(this,!0);pd(this);ze(this,this.g.u);this.T=null}};function Ed(a){return 1<a.b.length||!!a.ja}
function Fd(a,b,c){var d=-1;c||(d=a.g.H(b),2756==d>>23&&a.g.qa==b&&(b=Dd(a.g,1)));if(0<c&&(a.ja&&!--a.ja||id(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ia++,0>d&&(d=a.g.H(b)),0<=d&&(je(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}
function ef(a,b,c,d){var e=S(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Ob|0,r;for(r in gf)if(f=gf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=hf;m=n&3;break;case 32256:k=jf;m=n&7;break;case 29248:k=kf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>lf&&(k="B");k=mf[f||0]+k;k=cb(k,8);f?(k=28700==h?k+L(a,g/Pb&127,-1):k+L(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=L(a,g&262143,-1),(g=g>>18&15)&&(k+="("+L(a,g,-1)+")")):k+=oe(g);g=k;f="";h=L(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+oe(k),null==
e.w)break;while(e.w!=b.w)}h+=cb(f,16)+g;c&&(h=cb(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+rd(a.g).toString()+" cs="+E(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function fe(a){var b,c;a.b=["bp"];if(a.L)for(b=1;b<a.L.length;b++){c=a.L[b];c=T(c);var d=a.D;hd(d.b[c>>>d.i],!1)}a.L=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=T(c),d=a.D,hd(d.b[c>>>d.i],!0);a.I=["bw"];a.qa=0;a.ja=0}
l.Ba=function(a,b,c){var d=!0;c||nf(this,a,b,!1,!0);if(a!=this.b){var e=T(b);if(-1===e)this.f("invalid address: "+L(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.I)}}d&&(a.push(b),c?b.ea=!0:(of(this,a,a.length-1,"set"),ge(this)));return d};function nf(a,b,c,d,e){var g=!1;c=T(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==T(h)&&(!d||h.ea)){g=!0;h.ea||e||of(a,b,f,"cleared");b.splice(f,1);b!=a.b&&(d=a.D,hd(d.b[c>>>d.i],b==a.I));h.ea||ge(a);break}}return g}
function pf(a,b){for(var c=1;c<b.length;c++)of(a,b,c);return b.length-1}function of(a,b,c,d){c=b[c];a.f(b[0]+" "+L(a,c.w)+(d?" "+d:c.Oa?' "'+c.Oa+'"':""))}function ze(a,b){if(void 0!==b)id(a,b,1,a.b,!0),a.M=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ea){if(!nf(a,a.b,c,!0))break;b=0}}}
function id(a,b,c,d,e){var g=!1;if(!a.qa++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.ea)for(var k=T(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.ea&&(nf(a,d,h,!0),e=!0);if(n=h.gb){for(var g=!1,r=0;r<n.length;r++)if(!qf(a,n[r],!0)){if(n[r].indexOf("if")){g=!0;break}for(var x=r+1;x<n.length&&n[x].indexOf("else");x++)r++;if(x==n.length){g=!0;break}}a.g.j.K||(g=!0)}if(g){e||of(a,d,f,"hit");break}}}a.qa--;return g}
function rf(a,b){var c=pe[b]||"";c&&(c+="="+L(a,a.Wa(b),b==re?23:18)+" ");return c}function sf(a,b){for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,g=Wa(d,2);je(e.ua,d);g+="="+L(e,e.wa(e.ua),36)+" ";c+=g}b&&(c+="\n"+(rf(a,qe)+rf(a,re)+rf(a,se)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Rd(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],r=fb(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({$c:b,w:c,zb:d,U:e,hb:g})}function tf(a,b,c){var d=[],e=T(b)>>>0;for(b=0;b<a.F.length;b++){var g=a.F[b],f=g.w>>>0,h=g.zb;if(e>=f&&e<f+h){e=fb(g.hb,[e-f],a.jb);0<=e?uf(a,b,e,d):c&&(e=~e,uf(a,b,e-1,d),uf(a,b,e,d));break}}return d}
function uf(a,b,c,d){var e={},g=a.F[b].hb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)}function vf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return de(a)||a.f("no variables"),!0;if(!c[2])return de(a,c[1]);if(!c[3])return delete a.aa[c[1]],!0;b=R(a,c[3]);return void 0!==b?(a.aa[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
function wf(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=tf(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.w-e[1])&&(f=" + "+E(g,4,!0)),g=e[0]+" ("+L(a,e[1])+")"+f,c&&a.f(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.w)&&(f=" - "+E(g,4,!0)),g=e[4]+" ("+L(a,e[5])+")"+f,c&&a.f(g),d||(d=g))}else c&&a.f("no symbols")}return d}
function xe(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trm\tdump misc registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.g;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)d=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}f=R(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":e.u=f%Kb;je(a.J,e.u);break;default:a.f("unknown register: "+
g);return}K(a.C);a.f("updated registers:")}}a.f(sf(a,d));c&&(je(a.J,e.u),ye(a,L(a,a.J.w)))}}function xf(a,b){b=db(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.f(c[2]):ce(a,null,c[2].charCodeAt(0)):R(a,b,!0)}
function yf(a,b,c){if("?"==c)a.f("trace commands:"),a.f("\tt [#]\ttrace # instructions"),a.f("\ttr [#]\ttrace # instructions with register updates"),a.f("\ttc [#]\ttrace # cycles"),a.f("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=ae(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.sa=b;yb(c,function(){return Ra(a,!0)&&nc(a,e,d,!1)},function(){a.ha&&a.ha.stop();K(a.C,-1);Ra(a,!1)})}}
function ye(a,b,c,d){if(b=Z(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=ae(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c,!0);if(!d||d.w<b.w)return;e=d.w-b.w;if(256<e){a.f("range too large");return}d=-1}c=0;for(var g;0<e&&d--;){g=Qa(a,!1)||a.M?a.B:null;var f=null!=g?"cycles":null,h=tf(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=ef(a,b,f,g);a.f(g);ie(a.J,b);e-=b.w-k;c++}}}
function qf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(we+b):(a.R&&(a.f("ended assemble at "+L(a,a.O.w)),ie(a.J,a.O),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Pa(a)&&0<b.length){a.R&&(b="a "+L(a,a.O.w)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var r=
Z(a,f[1],!0);if(r){var x=f[2];a.O=r;if(void 0==x)a.f("begin assemble at "+L(a,r.w)),a.R=!0,K(a.C);else{f.shift();f.shift();f.shift();var U,Ae=f.join(""),A=-1,Kc,$f=x.toUpperCase(),Lc;for(Lc in gf){var Ha;Kc=+Lc;var Be=gf[Lc];switch(Kc){case 32512:Ha=hf;break;case 32256:Ha=jf;break;case 29248:Ha=kf;break;default:Ha=[""]}var Ce,Mc;for(Mc in Be){for(var De=Be[Mc],Ia=0;Ia<Ha.length;Ia++){var Nc=Ha[Ia];"S"==Nc&&De>lf&&(Nc="B");if($f==mf[De]+Nc){Ce=29248!=Kc?Ia:(Ia&3)<<1|(Ia&12)<<2;A=(Mc|Ce<<6)*Ob;break}}if(0<=
A)break}if(0<=A)break}if(0<=A)if(Ae)for(var Oc=Ae.split(","),eb=0;eb<Oc.length;eb++){var Qb=Oc[eb].trim();if(Qb){if(1<eb){a.f("too many operands: "+Qb);A=-1;break}var ha=Qb.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!ha){a.f("unknown operand: "+Qb);A=-1;break}var H=R(a,ha[2]);if(void 0==H){A=-1;break}if(!eb&&1<Oc.length){if(0>H||15<H){a.f("accumulator index out of range: "+ha[2]);A=-1;break}A+=H<<23}else{if(0>H||262143<H){a.f("address out of range: "+ha[2]);A=-1;break}A+=H;if(ha[3]){H=R(a,ha[3]);if(void 0==
H){A=-1;break}if(0>H||15<H){a.f("index out of range: "+ha[3]);A=-1;break}A+=H<<18}ha[1]&&(A+=4194304)}}}else a.f("missing operand(s)"),A=-1;else a.f("unknown instruction: "+x);U=A;0<=U&&(a.$a(r,U),a.f(ef(a,a.O)))}}break;case "b":a:{var ag=f[0],Ja=f[1],bg=b;if("?"==Ja)a.f("breakpoint commands:"),a.f("\tbp #\tset exec breakpoint"),a.f("\tbr #\tset read breakpoint"),a.f("\tbw #\tset write breakpoint"),a.f("\tbc #\tclear breakpoint (* to clear all)"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [#]\tbreak after # instruction(s)");
else{var pa=ag.charAt(1);if("l"==pa){var Pc;Pc=0+pf(a,a.b);Pc+=pf(a,a.L);(Pc+=pf(a,a.I))||a.f("no breakpoints")}else if("n"==pa){var Ee=+Ja||0;Ja&&(a.ja=Ee);a.f("break after "+Ee+" instruction(s)")}else if(void 0===Ja)a.f("missing breakpoint address");else{var I=S();if("*"!=Ja&&(I=Z(a,Ja,!0),!I))break a;"c"==pa?null==I.w?(fe(a),a.f("all breakpoints cleared")):nf(a,a.b,I)||nf(a,a.L,I)||nf(a,a.I,I)||a.f("breakpoint missing: "+L(a,I.w)):null!=I.w&&(ne(a,I,bg),"p"==pa?a.Ba(a.b,I):"r"==pa?a.Ba(a.L,I):
"w"==pa?a.Ba(a.I,I):a.f("unknown breakpoint command: "+pa))}}}break;case "c":a.ma&&(a.ma.value="");break;case "d":a:{var Ka,La=f[0],V=f[1],ia=f[2],cg=f[3];if("?"==V){var Ma="";for(Ka in G)a.pa[Ka]&&(Ma&&(Ma+=","),Ma+=Ka);Ma+=",state,symbols";a.f("dump memory commands:");a.f("\tdw [a] [n] dump n words at address a");a.f("\tds [a] [n] dump n words at address a as JSON");a.f("\tdh [p] [n] dump n instructions from history position p");Ma.length&&a.f("dump extension commands:\n\t"+Ma)}else if("state"==
V){var Qc=zf(a.C,!0);"console"==ia?console.log(Qc):(a.ma&&(a.ma.value=""),Qc&&a.f(Qc))}else if("symbols"==V)for(var Rc=0;Rc<a.F.length;Rc++){var Sc=a.F[Rc],Na;for(Na in Sc.U)if("."!=Na.charAt(0)){var Fe=Sc.U[Na].o;if(void 0!==Fe){var Ge=Sc.U[Na].l;Ge&&(Na=Ge);a.f(L(a,Fe)+" "+Na)}}}else{if("d"==La){for(Ka in G)if(f[1]==Ka){var He=a.pa[Ka];He?(f.shift(),f.shift(),He(f)):a.f("no dump registered for "+V);break a}V||(La=a.Da||"dw")}else a.Da=La;if("dh"==La){var Ie=V,Je=ia,Ke="",Le=0,Q=a.S,W=a.i;if(W.length){var M=
+Ie||a.ra,gb=+Je||10;isNaN(M)?M=gb:Ke="more ";M>W.length&&(a.f("note: only "+W.length+" available"),M=W.length);Q-=M;0>Q&&(null==W[W.length-1].w?(M=Q+M,Q=0):Q+=W.length);var Tc=[];"call"==Je&&(gb=1E5,Tc=["CALL"]);for(void 0!==Ie&&a.f(M+" instructions earlier:");0<gb&&Q!=a.S;){var Me=W[Q++];if(null==Me.w)break;var hb=S(Me.w),dg=M--,Ne=ef(a,hb,"history",dg);(!Tc.length||0<=Ne.indexOf(Tc[0]))&&a.f(Ne);hb.Ua&&(Q+=hb.Ua,gb-=hb.Ua,M-=hb.Ua);Q>=W.length&&(Q=0);a.ra=M;Le++;gb--}}Le||(a.f("no "+Ke+"history available"),
a.ra=void 0)}else{var qa=Z(a,V);if(qa){var ra=0,Oe="ds"==La;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||cg,ra=ae(a,ia);else{var Pe=Z(a,ia);Pe&&(ra=Pe.w-qa.w)}0>ra&&(ra=0);65536<ra&&(ra=65536)}var eg=a.ba;qa.ba&&(a.ba=qa.ba);for(var Qe="db"==La?1:2,Uc=ra||32,Vc=1==Qe?2:4,fg=(Uc+Vc-1)/Vc|0||1,sa="";fg--&&0<Uc;){for(var ta="",Re="",V=L(a,qa.w),Se=Vc;0<Se--&&0<Uc--;){var Rb=a.wa(qa,1);Oe?(ta&&(ta+=","),ta+=Rb):(ta+=oe(Rb),ta+=" ");for(var Te=0;1==Qe&&6>Te;Te++)Re+=String.fromCharCode((Rb%64|0)+32),
Rb/=64}sa&&(sa+="\n");sa=Oe?sa+(ta+","):sa+(V+": "+ta+(0>Se?" "+Re:""))}sa&&a.f(sa);ie(a.xa,qa);a.ba=eg}}}}break;case "e":if("else"==f[0])break;var Ue,Ve,We=f[0],Wc=f[1];"e"==We||"ew"==We?(Ue=a.wa,Ve=a.$a):Wc=null;if(null==Wc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Sb=Z(a,Wc);if(Sb)for(var Tb=2;Tb<f.length;Tb++){var Xc=R(a,f[Tb]);if(void 0===Xc){a.f("unknown value: "+f[Tb]);break}a.f("changing "+L(a,Sb.w)+" from "+oe(Ue.call(a,Sb))+" to "+oe(Xc));Ve.call(a,
Sb,Xc,1)}}break;case "g":a:{var Xe=f[1],gg=b;if(void 0!==Xe){var Yc=Z(a,Xe,!0);if(!Yc)break a;ne(a,Yc,gg);a.Ba(a.b,Yc,!0)}ue(a,!0,c)}break;case "h":a.j.K?(c||a.f("halting"),a.W()):Qa(a,!0)||c||a.f("already halted");break;case "i":if("if"==f[0]){var Zc;var ib=b.substr(2),ib=db(ib);R(a,ib)?(c||a.f("true: "+ib),Zc=!0):(c||a.f("false: "+ib),Zc=!1);Zc||(d=!1);break}g=!0;break;case "k":var hg=f[0];if("?"==f[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");
else{var $c=0,ad=S(),jb=S();for(a.f("stack trace for "+L(a,jb.w));10>$c;){for(var ua=null,ig=256;65536>jb.w>>>0;){ad.w=a.wa(jb,2);if(null==jb.w||!ig--)break;if(!(ad.w&1)){for(var jg=a,Ub=ad,Ye=null,kb=Ub.w,Ze=kb,bd=1;6>=bd&&kb;bd++){if(2<bd){Ub.w=kb;var Vb=ef(jg,Ub);if(0<=Vb.indexOf("JSR")){var $e=Vb.indexOf(" ");if(kb+(Vb.indexOf(" ",$e+1)-$e-1)/2==Ze){Ye=Vb;break}}}kb-=2}Ub.w=Ze;if(ua=Ye)break}}if(!ua||null==ua)break;var af=null;if("ks"==hg){var bf=ua.match(/[0-9A-F]+$/);bf&&(af=wf(a,bf[0]))}ua=
cb(ua,50)+" ;"+(af||"stack="+L(a,jb.w));a.f(ua);$c++}$c||a.f("no return addresses found")}break;case "l":if("ln"==f[0]){wf(a,f[1],!0);break}g=!0;break;case "m":a:{var X,Y=null,y=f[1];"?"==y&&(y=void 0);if(void 0!==y){var ja=0;if("all"==y)ja=1879046143,y=null;else if("on"==y)Y=!0,y=null;else if("off"==y)Y=!1,y=null;else{"keys"==y&&(y="key");"kbd"==y&&(y="keyboard");for(X in G)if(y==X){ja=G[X];Y=!!(a.X&ja);break}if(!ja){a.f("unknown message category: "+y);break a}}if(ja)if("on"==f[2])a.X|=ja,Y=!0;
else if("off"==f[2]&&(a.X&=~ja,Y=!1,1073741824==ja)){for(var cf=1E3<=a.N.length?a.N.length-1E3:0;cf<a.N.length;)a.f(a.N[cf++]);a.N=[]}}var kg=0,lb="";for(X in G)if(!y||y==X){var lg=!!(a.X&G[X]);if(null===Y||Y==lg)lb&&(lb+=","),++kg%10||(lb+="\n\t"),"key"==X&&(X="keys"),lb+=X}void 0===y&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==Y?Y?"messages on: ":"messages off: ":"message categories:\n\t")+(lb||"none"));ge(a)}break;case "p":if("print"==f[0]){xf(a,b.substr(5));
break}var mg=f[0];if("?"==f[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var ng="pr"==mg?1:0;if(a.M)a.f("step in progress");else{var df=S(a.g.u);a.wa(df);a.M?(a.Ba(a.b,df,!0),ue(a)||(a.C&&vd(a.C),a.M=0)):yf(a,ng?"tr":"t")}}break;case "r":if("reset"==b){a.C&&a.C.reset();break}xe(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var mb=+f[2];if(8==mb||10==mb||16==mb)a.ba=mb;else{a.f("invalid base: "+mb);break}}a.f("default base: "+
a.ba);break;case "cs":var nb;void 0!==f[3]&&(nb=+f[3]);switch(f[2]){case "int":a.g.da=nb;break;case "start":a.g.ta=nb;break;case "stop":a.g.ia=nb;break;default:a.f("unknown cs option");break a}void 0!==nb&&nd(a.g);a.f("checksums "+(a.g.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(sd(a.g,+f[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.g.S.toFixed(2)+"Mhz")+" ("+a.g.T+"x)");break;default:if(f[1]){a.f("unknown option: "+f[1]);break}case "?":a.f("debugger options:"),
a.f("\tbase #\t\tset default base to #"),a.f("\tcs int #\tset checksum cycle interval to #"),a.f("\tcs start #\tset checksum cycle start count to #"),a.f("\tcs stop #\tset checksum cycle stop count to #"),a.f("\tsp #\t\tset speed multiplier to #")}break;case "t":yf(a,f[0],f[1]);break;case "u":ye(a,f[1],f[2],8);break;case "v":if("var"==f[0]){vf(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.f((Jb||"PDP10")+" version 1.34.0 ("+a.g.eb+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}g=!0;
break;case "?":if(f[1]){xf(a,b.substr(1));break}var cd="commands:",dd;for(dd in Af)cd+="\n"+cb(dd,9)+Af[dd];Ed(a)||(cd+="\nnote: history disabled if no exec breakpoints");a.f(cd);break;default:g=!0}g&&(a.f("unknown command: "+b),d=!1)}}catch(ff){a.f("debugger error: "+(ff.stack||ff.message)),d=!1}return d}function qd(a,b,c){b=Yd(a,b,c);for(var d in b)if(!qf(a,b[+d]))return!1;return!0}
var Af={"?":"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"},lf=20,mf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOV 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".split(" "),
qe=0,re=1,se=2,pe=["PC","RA","EA"],Bf={},gf=(Bf[28672]={0:101},Bf[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:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Bf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:lf,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},Bf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Bf[29248]={24576:79,24640:80,25088:81,25152:82},Bf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,28692:98,28696:99,28700:100},Bf),hf=["","I",
"M","S"],jf=" L E LE A GE N G".split(" "),kf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),te=1E3,we=">> ";Bb(function(){for(var a=C(document,B,"debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ee(d);Aa(d,c)}});
function Cf(a,b,c){t.call(this,"Computer",a,33554432);this.j.V=!1;this.R=null;Df(this,b);this.N=ld(this,"autoPower",a,6);this.v=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.J=this.T=!1;this.I=this.B=null;this.S=this.O=!1;this.da=ld(this,"url")||"";(Math.random()+.1).toString(36);this.i=Ef(this);if(this.g=za("CPU",this.id)){this.A=za("Debugger",this.id);this.D=new uc({id:this.La+".bus",busWidth:this.aa},this.g,this.A);var d,e=w(this.id);if((this.u=za("Panel",this.id))&&this.u.ma)for(b=
0;b<e.length;b++)d=e[b],d.ca=this.u.ca,d.f=this.u.f,d.ma=this.u.ma;this.f(Jb+" v1.34.0\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.va&&d.va(this,this.D,this.g,this.A);b=null;d=ld(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var g;if(a=ld(this,"state")||(g=!0,a.state))this.M=b=a,g||(this.J=!0,this.b=Ff),this.b&&(this.I=new J(this,"1.34.0"),Gf(this.I)?b=null:
delete this.I);!b&&this.b&&(b=Hf(this))&&(this.J=!0);if(b){var f=this;pb(b,null,!0,function(a,b,c){c?(f.F=null,f.J=!1,f.ca("Unable to load machine state from server (error "+c+(b?": "+db(b):"")+")")):(f.L=b,f.T=!0);D(f)})}else D(this);this.G.power||(this.N=!0);!c&&this.N&&If(this,this.Ga)}else v("Unable to find CPU component")}p(Cf,t);function Df(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.R=b}
function ld(a,b,c,d){var e=b.toLowerCase(),e=wb(b)||wb(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 If(a,b,c){for(var d=w(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Pa(g)){Pa(g,function(){If(a,b,c)});return}}b.call(a,c)}
function Jf(a,b){var c=new J(a,"1.34.0",Kf);if(Gf(c)&&Lf(c)){var d=c.get(Mf),e=b?b.get(Mf):"unknown";d!=e&&(a.ca("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Cf.prototype;
l.Ga=function(a){void 0===a&&(a=this.b||(this.L?Nf:Ff));if(!this.v){this.v++;var b=!1,c=!1;this.O=!1;var d=this.I||new J(this,"1.34.0");if(a==Of)b=!0;else if(a>Ff){if(Gf(d,this.L)){this.B=new J(this,"1.34.0",Pf);Gf(this.B)&&(Qf(this,d),a=Rf,Sf(this.B));this.B.set(Mf,ob());Tf(this.B);var e=this.b&&!this.J;if(a==Nf||xa("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Lf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Gf(d,f):("error"==g&&"no machine state"!=
f?(this.ca("Error: "+f),"unable to verify user"==f&&(ub(Uf,""),this.i=null)):this.f(g+": "+f),Sf(d),Gf(d)?(c=Lf(d),e=!0):c=!1))}e&&Jf(this,c?d:null)}else a==Rf&&d.clear()}else Jf(this);delete this.L;delete this.I}e=w(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.g&&(c=Vf(this,f,d,b,c));b=[d,a,c];a!=Of?If(this,this.kb,b):this.kb(b)}};
function Vf(a,b,c,d,e){if(!b.j.V){b.j.V=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.na(g,d)&&g&&(v("Unable to restore state for "+b.type),a.M&&!a.T?(c.clear(),a.b=Ff,window&&window.location.reload()):a.O=!0,b.na(null),e=!1),!d&&b.cb){var f=b.cb.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){v("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.j.V=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.g&&(Vf(this,this.g,b,c,a),K(this,-2),this.g.Z());this.O&&(Qf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0};
function Qf(a,b){if(xa("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.i||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;pb("http://www.pcjs.org/api/v1/report",d,!0)}}
function zf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new J(a,"1.34.0"),f=new J(a,"1.34.0",Kf),h=ob();f.set(Mf,h);g.set(Mf,h);g.set(Wf,"1.34.0");g.set(Xf,window?window.location.href:null);g.set(Yf,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.W()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.V=!1,!1===d&&(e=null)));for(var h=w(a.id),k=0;k<h.length;k++){var m=h[k];m.j.V&&(m.fa&&(d=m.fa(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.j.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Zf(a,a.i,g.toString()),Tf(f)&&Tf(g)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==og),d&&g.clear(h)):e=g.toString());c&&(a.j.V=!1,b=a.G.power)&&(b.textContent="Power");a.v=0;return e}
l.reset=function(){this.j.reset=!0;this.D&&this.D.reset&&(Ta(this,"Resetting "+this.D.type),this.D.reset());this.g&&this.g.reset&&(Ta(this,"Resetting "+this.g.type),this.g.reset());for(var a=w(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.g&&c.reset&&(Ta(this,"Resetting "+c.type),c.reset())}this.j.reset=!1;K(this,-1)};l.start=function(a,b){for(var c=w(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=w(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.g){var c=a.g,d=b||0,e=c.G.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.J+=b)){e=a.g.u;if(a.G.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?Wa(e,void 0):E(e,void 0);a.G.PC.textContent!=e&&(a.G.PC.textContent=e)}a.J=0}-1>b?a.i=a.g.u:0<b&&c&&!d&&(a.i=a.g.pa);ec(a,a.i);Zb(a,a.v)}}
l.ga=function(a,b,c){var d=this;switch(b){case "power":return this.G[b]=c,c.onclick=function(){d.v||(d.j.V?zf(d,!1,!0):If(d,d.Ga))},!0;case "reset":return this.G[b]=c,c.onclick=function(){if(d.j.V&&!d.v)if(d.b&&!d.F){var a=xa("Click OK to save changes to this "+Jb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");zf(d,a,!0);!a&&d.M?window&&window.location.reload():d.Ga(Ff)}else d.reset(),d.g&&!d.A&&d.g.Z()},!0;case "save":if(Za())c.parentNode.removeChild(c);else return this.G[b]=
c,c.onclick=function(){var a=Ef(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=zf(d,b);b?Zf(d,a,c):d.ca("Resume disabled, machine state not saved")}},!0}return!1};
function Ef(a,b){var c=a.i;c||((c=tb(Uf),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=pg(a,c))||a.ca("The user ID is invalid.")):b&&a.ca("Browser local storage is not available"));return c}
function pg(a,b){a.i=null;b=pb($a()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ub(Uf,b.data),a.i=b.data)}catch(d){v(d.message+" ("+c+")")}return a.i}function Hf(a){var b=null;a.i&&(b=$a()+"/api/v1/user?req=load&user="+a.i+"&state="+qg(a,"1.34.0"));return b}
function Zf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qg(a,"1.34.0");d.data=c;b=pb($a()+"/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.ca("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.ca(c),ub(Uf,""),a.i=null)}}
function vd(a,b){if(a.ma){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ma.focus();!b&&window&&window.scrollTo(c,d)}}var Pf="failsafe",Kf="validate",Mf="timestamp",Wf="version",Xf="url",Yf="browser",Uf="user",Of=-1,Ff=0,Nf=1,Rf=2,og=3;Bb(function(){for(var a=C(document,B+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=C(c,B,"computer"),e=0;e<c.length;e++){var g=c[e],f=z(g),f=new Cf(f,d,!0);Aa(f,g);f.N&&If(f,f.Ga)}});
Cb.show.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=za("Computer",c.id))&&c.S&&!c.j.V&&c.Ga(Of)}});Cb.exit.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=za("Computer",c.id))&&c.j.V&&zf(c,!(!c.b||c.F),!0)}});function J(a,b,c){this.id=a.id;this.g="";this.b={};this.A=this.C=!1;this.key=qg(a,b,c);Sf(this,a.tb)}l=J.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 Gf(a,b){return b?(a.g=b,a.A=!0,a.C=!1,!0):a.A?!0:rb()&&(b=tb(a.key))?(a.g=b,a.A=!0):!1}function Lf(a){var b=!0;if(!a.C)try{a.b=JSON.parse(a.g),a.C=!0}catch(c){v(c.message||c),b=!1}return b}function Tf(a){var b=!0;if(rb()){var c=JSON.stringify(a.b);ub(a.key,c)||(v("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.g};
function Sf(a,b){a.g="";a.b={};a.A=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){Sf(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 qg(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 rg=0;
function sg(a,b,c,d,e,g,f){g("Loading "+a+"...");pb(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):tg(k,a,b,c,d,e,g,f)})}
function tg(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(oa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?ug(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function ug(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");pb(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],f);ug(a,b,c)}})}else c(a,null)}
function vg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=ab(a))}function f(a){g("Error: "+a);m&&(--rg||Fb(!0));m=!1}var h,k,m=!0;rg++;va[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=n:x.appendChild(document.createTextNode(n));r.appendChild(x)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?sg(d,null,a,null,!1,g,function(a,e){e?(oa(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--rg||Fb(!0)):f("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),--rg||
Fb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?sg(c,b,a,e,!0,g,n):tg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){Fb(!1);return vg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fb(!1);return vg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return za(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ca[a]){for(var c=!0,d=Ca,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var r=b[n];if('"'==r||"'"==r)m&&r!=m?k+=r:(m?m=null:m=r,k&&(h.push(k),k=""));else{if(!m){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){k&&(h.push(k),k="");";"==r&&h.length&&(f.push(h),h=[]);continue}}k+=r}}k&&h.push(k);h.length&&f.push(h);d[e]=f;Ba(a)||(c=!1)}return c};window.enableEvents=Fb;window.sendEvent=Hb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map