Factored PDP-11 drive controller logic into a device-independent superclass (drive.js) and a device-dependent subclass (rk11.js); the RL11 controller is ready to be factored next

This commit is contained in:
Jeff Parsons 2017-01-28 13:39:19 -08:00 • committed by Jeff Parsons
commit 5edbdcdce2
33 changed files with 1754 additions and 1615 deletions

View file

@ -28,354 +28,357 @@
http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/serial.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/drive.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){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 ga(){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 ha(this)}});ga=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ja(a){ga();ca();ga();var b=a[Symbol.iterator];return b?b.call(a):ha(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]}for(var la=ba,ma=["Math","log2"],na=0;na<ma.length-1;na++){var oa=ma[na];oa in la||(la[oa]={});la=la[oa]}var pa=ma[ma.length-1],ra=la[pa],sa=ra?ra:function(a){return Math.log(a)/Math.LN2};sa!=ra&&null!=sa&&aa(la,pa,{configurable:!0,writable:!0,value:sa});
var ta={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ua={rg:0,ud:1,tg:2,ug:3,vg:4,wg:5,xg:6,yg:7,Mc:8,zg:9,vd:10,Ag:11,Bg:12,wd:13,Cg:14,Dg:15,Eg:16,Fg:17,Gg:18,Hg:19,Ig:20,Jg:21,Kg:22,Lg:23,Mg:24,Ng:25,Og: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,Jc:65,qg:66,sg:67,Pg:68,E:69,Qg:70,Rg:71,Sg:72,Tg:73,Ug:74,Vg:75,Wg:76,Xg:77,Yg:78,Zg:79,$g:80,Q:81,ah:82,bh:83,dh:84,eh:85,fh:86,gh:87,hh:88,ih:89,Gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,jh:97,kh:98,lh:99,d:100,e:101,mh:102,nh:103,oh:104,ph:105,sh:106,k:107,th:108,uh:109,n:110,vh:111,p:112,q:113,r:114,wh:115,t:116,yh:117,zh:118,Ah:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,xd:127};function q(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Sc=b.comment;this.Fd=b;this.exports={};this.C=this.bindings={};a=this.id.indexOf(".");0>a?this.mb=this.id:(this.nb=this.id.substr(0,a),this.mb=this.id.substr(a+1));this.A={ready:!1,fb:!1,Ac:!1,fa:!1,error:!1};this.hc=null;this.A.error=!1;this.ja=d||0;this.G=this.f=this.D=this.J=this.Pa=null;va.push(this)}function xa(a,b,c){ya[a]&&b&&(ya[a][b]=c)}
function za(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function Aa(a){var b=!1;window&&(b=window.confirm(a));return b}function Ba(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<va.length;b++){var d=va[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ca(a){if(void 0!==a){var b;for(b=0;b<va.length;b++)if(va[b].id===a)return va[b]}return null}
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 ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ja(a){fa();ca();fa();var b=a[Symbol.iterator];return b?b.call(a):ga(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]}for(var ka=ba,la=["Math","log2"],na=0;na<la.length-1;na++){var oa=la[na];oa in ka||(ka[oa]={});ka=ka[oa]}var pa=la[la.length-1],qa=ka[pa],ra=qa?qa:function(a){return Math.log(a)/Math.LN2};ra!=qa&&null!=ra&&aa(ka,pa,{configurable:!0,writable:!0,value:ra});
var sa={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ta={mh:0,Wd:1,ph:2,qh:3,rh:4,sh:5,th:6,uh:7,bd:8,vh:9,Xd:10,wh:11,xh:12,Yd:13,yh:14,zh:15,Ah:16,Bh:17,Ch:18,Dh:19,Eh:20,Fh:21,Gh:22,Hh:23,Ih:24,Jh:25,Kh: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,Zc:65,lh:66,nh:67,Lh:68,E:69,Qh:70,Sh:71,Th:72,Uh:73,Vh:74,Wh:75,Xh:76,Yh:77,Zh:78,$h:79,bi:80,Q:81,di:82,ei:83,ii:84,ki:85,li:86,mi:87,ri:88,si:89,Ae:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ti:97,ui:98,vi:99,d:100,e:101,wi:102,xi:103,yi:104,zi:105,Ci:106,k:107,Di:108,Ei:109,n:110,Fi:111,p:112,q:113,r:114,Gi:115,t:116,Ii:117,Ji:118,Ki:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,Zd:127};function q(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.pd=b.comment;this.we=b;this.exports={};this.C=this.bindings={};a=this.id.indexOf(".");0>a?this.nb=this.id:(this.ob=this.id.substr(0,a),this.nb=this.id.substr(a+1));this.A={ready:!1,gb:!1,Qc:!1,fa:!1,error:!1};this.rc=null;this.A.error=!1;this.ia=c||0;this.G=this.f=this.D=this.J=this.Pa=null;va.push(this)}function wa(a,b,c){xa[a]&&b&&(xa[a][b]=c)}
function ya(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function za(a){var b=!1;window&&(b=window.confirm(a));return b}function Ba(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<va.length;b++){var d=va[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ca(a){if(void 0!==a){var b;for(b=0;b<va.length;b++)if(va[b].id===a)return va[b]}return null}
function Da(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<va.length;d++)if(c)c==va[d]&&(c=null);else if(!(a!=va[d].type||b&&va[d].id.indexOf(b)))return va[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function Ea(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 k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=w(g))&&k.binding&&a.sa(k.type,k.binding,g,k.value),m=l.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}h=q.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.sa=function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Pa=this.C[b]=c,c.value="",this.v=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.N=function(a){this.v(a,this.mb)}),!0;default:return!1}};h.log=function(){};h.v=function(){};
h.status=function(a){this.v(this.mb+": "+a)};h.N=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Ja(a,b){a.A.error=!0;a.N(b)}function Ka(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function La(a,b){b&&(a.A.ready?b():a.hc=b);return a.A.ready}function A(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.hc,a.hc=null,b&&b()))}function Ma(a,b){a.A.fb&&(b?a.A.Ac=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.fb}
function Na(a,b){if(a.A.Ac)return a.A.fb=!1,a.A.Ac=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.fb=b;return a.A.fb}h.ya=function(){return this.A.fa=!0};h.xa=function(a,b){b&&(this.A.fa=!1);return!0};function B(a,b){if(a.G){a===a.G?b|=0:b=b||a.ja;var c=a.G.ja&b;return!!b&&c===b||!!(c&a.G.cd)}return!1}function C(a,b,c,d){a.G&&(!0===c||B(a,c|0))&&a.G.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var ya=window?window.PCjs.Machines:{},va=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
h.sa=function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Pa=this.C[b]=c,c.value="",this.v=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.O=function(a){this.v(a,this.nb)}),!0;default:return!1}};h.log=function(){};h.v=function(){};
h.status=function(a){this.v(this.nb+": "+a)};h.O=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Fa(a,b){a.A.error=!0;a.O(b)}function Ga(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Ha(a,b){b&&(a.A.ready?b():a.rc=b);return a.A.ready}function A(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.rc,a.rc=null,b&&b()))}function Ia(a,b){a.A.gb&&(b?a.A.Qc=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.gb}
function Na(a,b){if(a.A.Qc)return a.A.gb=!1,a.A.Qc=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.gb=b;return a.A.gb}h.ya=function(){return this.A.fa=!0};h.xa=function(a,b){b&&(this.A.fa=!1);return!0};function B(a,b){if(a.G){a===a.G?b|=0:b=b||a.ia;var c=a.G.ia&b;return!!b&&c===b||!!(c&a.G.Ed)}return!1}function C(a,b,c,d){a.G&&(!0===c||B(a,c|0))&&a.G.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var xa=window?window.PCjs.Machines:{},va=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function G(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Oa(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function H(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Pa(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function I(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function J(a){return I(a,4,!0)}
function Qa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ra(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Sa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Wa(a){return a.replace(/[&<>"']/g,function(a){return Xa[a]})}function Ya(a,b){return(a+" ").slice(0,b)}
function Za(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Xa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},$a={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function ab(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function bb(){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 cb(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
function Oa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Pa(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function F(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Qa(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function H(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function Ra(a){return H(a,4,!0)}
function Sa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ta(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ua(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Va(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}
function ab(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},bb={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function cb(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function db(){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 eb(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function db(a,b){var c,d={ca:null,ha:null,Ba:null,Aa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ba=g.load;d.Aa=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
function fb(a,b){var c,d={ca:null,ha:null,Ba:null,Aa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ba=g.load;d.Aa=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
e[c]&255,d.ca[f++]=e[c]>>8&255,d.ca[f++]=e[c]>>16&255,d.ca[f++]=e[c]>>24&255;else d.ca=g;d.ha=g.symbols;d.ca.length?1==d.ca.length&&(v(d.ca[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ca=e)}return d}
function eb(){return"http://"+(window?window.location.host:"www.pcjs.org")}function fb(){if(null==hb){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}hb=a}return hb}function nb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function ob(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pb(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 qb(a){if(!rb){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," "))}rb=c}return rb[a]}
function sb(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function tb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function ub(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 vb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wb(a){xb.init.push(a)}
function yb(a){if(zb)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 Ab(a){!zb&&a?(zb=!0,Bb&&Cb("init"),Db&&Cb("show")):zb=a}function Cb(a){xb[a]&&yb(xb[a])}var rb=null,xb={init:[],show:[],exit:[]},Bb=!1,Db=!1,zb=!0,hb=null;vb("onload",function(){Bb=!0;yb(xb.init)});vb("onpageshow",function(){Db=!0;yb(xb.show)});vb(pb("Opera")||pb("iOS")?"onunload":"onbeforeunload",function(){yb(xb.exit)});
var Eb="undefined"!==typeof ArrayBuffer,x="pdp11",Fb="PDPjs",Gb=!1,Hb=Eb,Ib=!0,Pb=!0,Qb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Rb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},x="pdp11",Fb="PDPjs",Gb=!1,Hb=Eb,Pb=Ib=!0,Sb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Tb(a,b){q.call(this,"Panel",a,0,512);this.j=this.u=0;this.M=b;this.ga=this.g=this.Ta=this.Sa=0;this.B=this.F=-1;this.H=this.I=this.w=!1;this.L=Ub;this.i={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.G=this.f=this.D=this.J=null;A(this)}p(Tb,q);h=Tb.prototype;
h.reset=function(a){this.stop();a&&Vb(this,this.Sa=0)};
function gb(){return"http://"+(window?window.location.host:"www.pcjs.org")}function hb(){if(null==ib){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}ib=a}return ib}function jb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function kb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function mb(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 sb(a){if(!tb){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," "))}tb=c}return tb[a]}
function ub(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function vb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function wb(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 xb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function yb(a){zb.init.push(a)}
function Ab(a){if(Bb)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 Cb(a){!Bb&&a?(Bb=!0,Db&&Eb("init"),Fb&&Eb("show")):Bb=a}function Eb(a){zb[a]&&Ab(zb[a])}var tb=null,zb={init:[],show:[],exit:[]},Db=!1,Fb=!1,Bb=!0,ib=null;xb("onload",function(){Db=!0;Ab(zb.init)});xb("onpageshow",function(){Fb=!0;Ab(zb.show)});xb(mb("Opera")||mb("iOS")?"onunload":"onbeforeunload",function(){Ab(zb.exit)});
var Gb="undefined"!==typeof ArrayBuffer,x="pdp11",Hb="PDPjs",Ib=!1,Jb=Gb,Kb=!0,Lb=!0,Mb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Nb={he:5,xe:144,ce:8,pc:{se:15,fi:16,pi:32,td:64,$d:128,wd:256,gi:512,Oh:1024,oc:2048,Nh:4096,jd:57344,Wa:{jd:13}},ne:{ye:1,oh:2,te:3,ve:28,nc:32,mc:64,md:128,ji:256,Mh:512,nd:1024,ci:2048,vd:4096,ni:8192,ai:16384,ae:32768,Hc:32736},le:{hd:1,lc:14,Bb:48,ge:64,Qb:128,hi:256,Ph:512,Rh:1024,fe:2048,Oc:8192,Hc:16384,gd:32768,ve:4608,
re:61438,Ad:3967,Wa:{lc:1,Bb:4}},me:{Nc:15,Ic:16,Pb:8160,Bc:57344,Wa:{Ic:4,Pb:5,Bc:13}},lc:{Vd:0,ze:2,je:4,zd:6,ue:8,ie:10,be:12,oi:14}},Ob={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"};Nb.oc=[203,2,12,512,Nb.pc.oc|Nb.pc.wd|Nb.pc.td];
var x="pdp11",Hb="PDPjs",Ib=!1,Jb=Gb,Lb=Kb=!0,Vb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Wb(a,b){q.call(this,"Panel",a,512);this.j=this.u=0;this.M=b;this.ga=this.g=this.Ta=this.Sa=0;this.B=this.F=-1;this.H=this.I=this.w=!1;this.L=Xb;this.i={};this.b={START:[1,1,!0,!1,this.Re],STEP:[1,1,!1,!1,this.Se],ENABLE:[1,1,!1,!1,this.Ne],CONT:[1,1,!0,!1,this.Le],DEP:[0,0,!0,!1,this.Me],EXAM:[1,1,!0,!1,this.Oe],LOAD:[1,1,!0,!1,this.Qe],TEST:[0,0,!0,!1,this.Pe]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Te,a];this.G=this.f=this.D=this.J=null;A(this)}p(Wb,q);h=Wb.prototype;
h.reset=function(a){this.stop();a&&Yb(this,this.Sa=0)};
h.sa=function(a,b,c,d){if(this.J&&this.J.sa(a,b,c,d)||this.f&&this.f.sa(a,b,c,d)||this.G&&this.G.sa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.C[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.C[b]=c,this.i[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.C[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Wb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Xb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Wb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Xb(a,b)}}(this,b),!0):q.prototype.sa.call(this,a,b,c,d)}};h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;Yb(b,this,Zb);$b(b,this.reset.bind(this));ac(this);bc(this)};
h.ya=function(a,b){if(!b)if(this.M&&cc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new L(this);a.set(0,[this.ga,this.Sa,this.Ta]);return a.data()};h.restore=function(a){if(a=a[0])dc(this,this.ga=a[0]),Vb(this,this.Sa=a[1]),ec(this,a[2]);return!0};function fc(a,b,c){if(a=a.C[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ac(a,b){for(var c in a.i)fc(a,c,null!=b?b:a.i[c])}
function gc(a,b,c){if(a=a.C[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function bc(a){for(var b in a.b)gc(a,b,a.b[b][1])}function hc(a,b,c,d){if(a.C[b]){var e=a.G&&a.G.Ca||8;c=c||0;c=8==e?H(c,d):I(c,d);a.C[b].textContent!=c&&(a.C[b].textContent=c)}}function Wb(a,b){var c=a.b[b];gc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=ic&&(a.H=b==jc,a.I=b==kc)}
function Xb(a,b){var c=a.b[b];c[2]&&c[3]&&(gc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Xd=function(a){a||this.f.A.T||(a=this.f,a.D.reset(),lc(a),this.b[mc]&&this.b[mc][1]&&nc(this.f))};h.Yd=function(){};h.Td=function(a){a||this.f.ba()};
h.Rd=function(a){if(!a&&!this.f.A.T)if(this.b[mc]&&this.b[mc][1])nc(this.f);else{if((a=this.G)&&!Ma(a,!0))Na(a,!0),oc(a,0,null),Na(a,!1);else try{var b=this.f.ec(1);0<b&&(pc(this.f,b),qc(this.f,b,!0),Cc(this.f,b))}catch(c){"number"!=typeof c&&Ja(this.f,c.stack||c.message)}this.stop();this.J&&M(this.J)}};h.Sd=function(a){if(a&&!this.f.A.T)if(this.H&&Dc(this),a=Vb(this,this.Ta),this.L==Ub)Ec(this.D,this.ga,a);else{var b=this.f,c=this.ga;b.oa++;b.D.Mb(Fc(b,c,4),a);b.oa--}};
h.Ud=function(a){a||this.f.A.T||(this.I&&Dc(this),a=this.L==Ub?Gc(this.D,this.ga):Hc(this.f,this.ga),Vb(this,a))};h.Wd=function(a){a||this.f.A.T||dc(this,this.Ta)};h.Vd=function(a){a?(this.w=!0,ac(this,!0)):(this.w=!1,ac(this),ec(this,0))};h.Zd=function(a,b){this.Ta=a?this.Ta|1<<b:this.Ta&~(1<<b)};function Dc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.ga&&a.ga<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[ic]&&a.b[ic][1]||(b=-b);dc(a,a.ga&~c|a.ga+b&c)}
function dc(a,b){a.ga=b&a.D.I;if(a.B!==a.ga){a.B=a.ga;b=a.B;for(var c=0;22>c;c++)Ic(a,"A"+c,b&1<<c)}}function Vb(a,b){a.g=b&65535;if(a.F!==a.g){a.F=a.g;b=a.F;for(var c=0;16>c;c++)Ic(a,"D"+c,b&1<<c)}return a.g}function Ic(a,b,c){a.i[b]=c;a.w||fc(a,b,c)}function Jc(a){return void 0!==a.C[Kc]}function ec(a,b){if(Jc(a)){a.Ta=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;bc(a)}}h.stop=function(){dc(this,this.f.g[7])};h.Gc=function(a){this.ga=a};h.setData=function(a,b){b?this.Sa=a:this.g=a};
h.de=function(a,b){return(b?this.Sa:this.Ta)&65535};h.qf=function(a){this.Sa=a};function cc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Ca(d.id);e||(e=new Tb(d,!0));Ea(e,c)}}var Ub=7,Kc="S0",jc="DEP",mc="ENABLE",kc="EXAM",ic="STEP",Lc={},Zb=(Lc[65400]=[null,null,Tb.prototype.de,Tb.prototype.qf,"CNSW"],Lc);wb(cc);
function Mc(a,b,c){q.call(this,"Bus",a,0,16);this.f=b;this.G=c;this.V=+a.busWidth||16;this.M=1<<this.V;this.I=this.M-1;this.j=Nc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.U=this.H-1;this.Ma=[];this.ma=0;this.F=!1;this.O=[];this.Hd=[Oc,Pc,Qc,Rc];this.b=this.u=[];this.B=this.L=this.w=this.P=this.R=0;a=new O(this);Sc(a,this.G);this.b=Array(this.H);this.u=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.u[b]=a;this.B=this.M-Nc;Tc(this,this.B,Nc,Uc,this);this.R=
this.P=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;A(this)}p(Mc,q);function Vc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.u[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Nc,a.R=(b&a.w)>>>a.g,a.u[a.R]=a.b[a.P])}}h=Mc.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Vc(this,16)};h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new L(this);a.set(0,Wc(this));return a.data()};
b){return function(){Zb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){$b(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Zb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){$b(a,b)}}(this,b),!0):q.prototype.sa.call(this,a,b,c,d)}};h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;ac(b,this,bc);cc(b,this.reset.bind(this));dc(this);ec(this)};
h.ya=function(a,b){if(!b)if(this.M&&fc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new I(this);a.set(0,[this.ga,this.Sa,this.Ta]);return a.data()};h.restore=function(a){if(a=a[0])gc(this,this.ga=a[0]),Yb(this,this.Sa=a[1]),hc(this,a[2]);return!0};function ic(a,b,c){if(a=a.C[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function dc(a,b){for(var c in a.i)ic(a,c,null!=b?b:a.i[c])}
function jc(a,b,c){if(a=a.C[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ec(a){for(var b in a.b)jc(a,b,a.b[b][1])}function kc(a,b,c,d){if(a.C[b]){var e=a.G&&a.G.Ca||8;c=c||0;c=8==e?F(c,d):H(c,d);a.C[b].textContent!=c&&(a.C[b].textContent=c)}}function Zb(a,b){var c=a.b[b];jc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=lc&&(a.H=b==mc,a.I=b==nc)}
function $b(a,b){var c=a.b[b];c[2]&&c[3]&&(jc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Re=function(a){a||this.f.A.T||(a=this.f,a.D.reset(),oc(a),this.b[pc]&&this.b[pc][1]&&qc(this.f))};h.Se=function(){};h.Ne=function(a){a||this.f.ba()};
h.Le=function(a){if(!a&&!this.f.A.T)if(this.b[pc]&&this.b[pc][1])qc(this.f);else{if((a=this.G)&&!Ia(a,!0))Na(a,!0),rc(a,0,null),Na(a,!1);else try{var b=this.f.jc(1);0<b&&(sc(this.f,b),tc(this.f,b,!0),uc(this.f,b))}catch(c){"number"!=typeof c&&Fa(this.f,c.stack||c.message)}this.stop();this.J&&J(this.J)}};h.Me=function(a){if(a&&!this.f.A.T)if(this.H&&vc(this),a=Yb(this,this.Ta),this.L==Xb)wc(this.D,this.ga,a);else{var b=this.f,c=this.ga;b.oa++;b.D.Ob(xc(b,c,4),a);b.oa--}};
h.Oe=function(a){a||this.f.A.T||(this.I&&vc(this),a=this.L==Xb?Jc(this.D,this.ga):Kc(this.f,this.ga),Yb(this,a))};h.Qe=function(a){a||this.f.A.T||gc(this,this.Ta)};h.Pe=function(a){a?(this.w=!0,dc(this,!0)):(this.w=!1,dc(this),hc(this,0))};h.Te=function(a,b){this.Ta=a?this.Ta|1<<b:this.Ta&~(1<<b)};function vc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.ga&&a.ga<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[lc]&&a.b[lc][1]||(b=-b);gc(a,a.ga&~c|a.ga+b&c)}
function gc(a,b){a.ga=b&a.D.I;if(a.B!==a.ga){a.B=a.ga;b=a.B;for(var c=0;22>c;c++)Lc(a,"A"+c,b&1<<c)}}function Yb(a,b){a.g=b&65535;if(a.F!==a.g){a.F=a.g;b=a.F;for(var c=0;16>c;c++)Lc(a,"D"+c,b&1<<c)}return a.g}function Lc(a,b,c){a.i[b]=c;a.w||ic(a,b,c)}function Mc(a){return void 0!==a.C[Nc]}function hc(a,b){if(Mc(a)){a.Ta=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;ec(a)}}h.stop=function(){gc(this,this.f.g[7])};h.Wc=function(a){this.ga=a};h.setData=function(a,b){b?this.Sa=a:this.g=a};
h.Ye=function(a,b){return(b?this.Sa:this.Ta)&65535};h.kg=function(a){this.Sa=a};function fc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Ca(d.id);e||(e=new Wb(d,!0));Ea(e,c)}}var Xb=7,Nc="S0",mc="DEP",pc="ENABLE",nc="EXAM",lc="STEP",Oc={},bc=(Oc[65400]=[null,null,Wb.prototype.Ye,Wb.prototype.kg,"CNSW"],Oc);yb(fc);
function Pc(a,b,c){q.call(this,"Bus",a,16);this.f=b;this.G=c;this.V=+a.busWidth||16;this.M=1<<this.V;this.I=this.M-1;this.j=Qc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.U=this.H-1;this.Ma=[];this.ma=0;this.F=!1;this.N=[];this.Be=[Rc,Sc,Tc,Uc];this.b=this.u=[];this.B=this.L=this.w=this.P=this.R=0;a=new K(this);Vc(a,this.G);this.b=Array(this.H);this.u=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.u[b]=a;this.B=this.M-Qc;Wc(this,this.B,Qc,Xc,this);this.R=
this.P=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;A(this)}p(Pc,q);function Yc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.u[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Qc,a.R=(b&a.w)>>>a.g,a.u[a.R]=a.b[a.P])}}h=Pc.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();Yc(this,16)};h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new I(this);a.set(0,Zc(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.S){for(var e=0,f=Array(this.S),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Tc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Ib+=l.K-f,l.K=f,!0;if(f>=l.K+l.Ib){n=l.size-(f-m);n>g&&(n=g);l.Ib=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Xc(Yc,f,g)}f=new O(a,f,n,a.j,d,e);Sc(f,a.G,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Zc[d]+" at "+H(b)),!0):Xc($c,b,c)}h.Kc=function(a){return this.u[(a&this.w)>>>this.g].wb(a&this.i,a)};
h.dc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Pb||b!=this.i?this.u[c].na(b,a):this.u[c++].wb(b,a)|this.u[c&this.U].wb(0,a+1)<<8};h.Lc=function(a,b){this.u[(a&this.w)>>>this.g].yb(a&this.i,b,a)};h.Mb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Pb||c!=this.i?this.u[d].zb(c,b,a):(this.u[d++].yb(c,b&255,a),this.u[d&this.U].yb(0,b>>8&255,a+1))};function ad(a,b){return a.b[(b&a.I)>>>a.g]}
function Gc(a,b){var c;a.F=!1;a.ma++;var d=b&a.i,e=ad(a,b);Pb||d!=a.i?c=e.B(d,b):c=e.j(d,b)|ad(a,b+1).j(0,b+1)<<8;a.ma--;return c}function bd(a,b,c){a.F=!1;a.ma++;ad(a,b).D(b&a.i,c&255,b);a.ma--}function Ec(a,b,c){a.F=!1;a.ma++;var d=b&a.i,e=ad(a,b);Pb||d!=a.i?e.F(d,c&65535,b):(e.D(d,c&255,b),ad(a,b+1).D(0,c>>8&255,b+1));a.ma--}
function Wc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Wa||e.Nd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function cd(a){for(var b=dd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Ib)}return c}
function ed(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&fd;if(void 0!==a.Ma[n])return v("I/O address already registered: "+I(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
function Yb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ka)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!ed(a,f,f,k,l,m,n,g[7]||b.ja,r||b.mb))return!1}}return!0}
function $b(a,b){a.O.push(b)}h.La=function(a,b,c){this.F=!0;this.ma||(this.G&&B(this.G,4)&&C(this.G,"memory fault ("+c+") on "+P(this.G,a),!0,!0),b&&(this.f.R|=b),this.f.ta(4,0,a))};function gd(a){var b=a.F;a.F=!1;return b}function Xc(a,b,c){v("Memory block error ("+a+": "+I(b)+","+I(c)+")");return!1}var Nc=8192,fd=Nc-1,Yc=1,$c=2;
function Oc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&B(this.f,16|e[5])&&C(this.f,e[4]+".readByte("+P(this.f,b)+"): "+P(this.f,c),!0,!d.ma),c;d.La(b,16,3);c=255;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+P(this.f,b)+": "+P(this.f,c),!0,!d.ma);return c}
function Pc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&B(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+P(this.f,c)+","+P(this.f,b)+")",!0,!e.ma):(e.La(c,16,5),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+P(this.f,c)+": "+P(this.f,
b),!0,!e.ma))}function Qc(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+P(this.f,b)+"): "+P(this.f,c),!0,!d.ma),c;d.La(b,16,2);c=65535;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+P(this.f,b)+": "+P(this.f,c),!0,!d.ma);return c}
function Rc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+P(this.f,c)+","+P(this.f,b)+")",!0,!e.ma):(e.La(c,16,4),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+P(this.f,c)+": "+P(this.f,b),!0,!e.ma))}function Q(a){q.call(this,"Device",a,0,256);this.b={Ya:128,Hc:-1}}p(Q,q);h=Q.prototype;
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.G=d;var e=this;this.b.Hc=hd(c,function(){e.b.Ya|=128;e.b.Ya&64&&id(e.f,e.b.hb);e.J&&M(e.J,1);kd(e.f,e.b.Hc,1E3/60)});this.b.hb=ld(c,64,6,524288);Yb(b,this,md);$b(b,this.reset.bind(this));d&&nd(d,64,function(a){var b=e.f;od(e,"KIPDR",b.B[0],0,a[0]);od(e,"KDPDR",b.B[0],8,a[0]);od(e,"KIPAR",b.M[0],0,a[0]);od(e,"KDPAR",b.M[0],8,a[0],!0);od(e,"SIPDR",b.B[1],0,a[0]);od(e,"SDPDR",b.B[1],8,a[0]);od(e,"SIPAR",b.M[1],0,a[0]);od(e,"SDPAR",b.M[1],8,a[0],
!0);od(e,"UIPDR",b.B[3],0,a[0]);od(e,"UDPDR",b.B[3],8,a[0]);od(e,"UIPAR",b.M[3],0,a[0]);od(e,"UDPAR",b.M[3],8,a[0],!0);b.V&32&&od(e,"UNIMAP",b.Fa,-1,a[0])});A(this)};function od(a,b,c,d,e,f){a=a.G;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+Pa(n)+"]":"")+":"),g+=" "+P(a,c[d+n],l);a.v(g+(f?"\n":""))}}h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b.Ya=128;kd(this.f,this.b.Hc,1E3/60,!0)};h.save=function(){var a=new L(this);a.set(0,[this.b.Ya]);return a.data()};h.restore=function(a){a=ja(a[0]);this.b.Ya=a.next().value;return!0};h.ke=function(){return this.b.Ya};h.xf=function(a){this.b.Ya=a&192;this.b.Ya&64||pd(this.f,this.b.hb)};h.me=function(){return qd(this.f)};h.zf=function(a){rd(this.f,a&-129|this.f.U&128)};h.ne=function(){return sd(this.f)};h.oe=function(){return td(this.f)};
h.pe=function(){return this.f.V};h.Af=function(a){ud(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Fa[a>>1];return a&1?b>>16:b&65535};h.hg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Fa[c]=b&1?this.f.Fa[c]&65535|(a&63)<<16:this.f.Fa[c]&-65536|a&65534};h.Qe=function(a){return this.f.B[1][a>>1&7]};h.ag=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Oe=function(a){return this.f.B[1][(a>>1&7)+8]};h.Zf=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.M[1][a>>1&7]};
h.$f=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Ne=function(a){return this.f.M[1][(a>>1&7)+8]};h.Yf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.je=function(a){return this.f.B[0][a>>1&7]};h.wf=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.he=function(a){return this.f.B[0][(a>>1&7)+8]};h.uf=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.M[0][a>>1&7]};h.vf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
h.ge=function(a){return this.f.M[0][(a>>1&7)+8]};h.tf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.We=function(a){return this.f.B[3][a>>1&7]};h.gg=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Ue=function(a){return this.f.B[3][(a>>1&7)+8]};h.eg=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.fg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};
h.dg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Gb=function(a){a&=7;return this.f.w&2048?this.f.pa[a]:this.f.g[a]};h.Kb=function(a,b){b&=7;this.f.w&2048?this.f.pa[b]=a:this.f.g[b]=a};h.ue=function(){return this.f.w&49152?this.f.W[0]:this.f.g[6]};h.Ff=function(a){this.f.w&49152?this.f.W[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.If=function(a){this.f.g[7]=a};h.Hb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.pa[a]};
h.Lb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.pa[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[1]};h.Gf=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[1]=a};h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[3]};h.Hf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[3]=a};h.fe=function(a){return this.f.ac[a-65504>>1]};h.sf=function(a,b){this.f.ac[b-65504>>1]=a};h.nd=function(a){return 65520==a?(cd(this.D)>>6)-1:0};
h.sd=function(){};h.Se=function(){return 1};h.cg=function(){};h.ee=function(){return this.f.R};h.rf=function(){this.f.R=0};h.le=function(){return this.f.Yb};h.yf=function(a,b){b&1||(a&=255);this.f.Yb=a};h.qe=function(a,b){return b?0:this.f.Va};h.Bf=function(a){vd(this.f,a)};h.Re=function(a,b){return b?0:this.f.za&65280};h.bg=function(a){this.f.za=a|255};h.te=function(){return wd(this.f)};h.Ef=function(a){xd(this.f,a)};h.rd=function(a,b){B(this)&&C(this,"writeIgnored("+H(b)+"): "+H(a),!0,!0)};
var R={},md=(R[61568]=[null,null,Q.prototype.Xe,Q.prototype.hg,"UNIMAP",64,1170],R[62592]=[null,null,Q.prototype.Qe,Q.prototype.ag,"SIPDR",8,1145,64],R[62608]=[null,null,Q.prototype.Oe,Q.prototype.Zf,"SDPDR",8,1145,64],R[62624]=[null,null,Q.prototype.Pe,Q.prototype.$f,"SIPAR",8,1145,64],R[62640]=[null,null,Q.prototype.Ne,Q.prototype.Yf,"SDPAR",8,1145,64],R[62656]=[null,null,Q.prototype.je,Q.prototype.wf,"KIPDR",8,1140,64],R[62672]=[null,null,Q.prototype.he,Q.prototype.uf,"KDPDR",8,1145,64],R[62688]=
[null,null,Q.prototype.ie,Q.prototype.vf,"KIPAR",8,1140,64],R[62704]=[null,null,Q.prototype.ge,Q.prototype.tf,"KDPAR",8,1145,64],R[62798]=[null,null,Q.prototype.pe,Q.prototype.Af,"MMR3",1,1145,64],R[65382]=[null,null,Q.prototype.ke,Q.prototype.xf,"LKS"],R[65402]=[null,null,Q.prototype.me,Q.prototype.zf,"MMR0",1,1140,64],R[65404]=[null,null,Q.prototype.ne,Q.prototype.rd,"MMR1",1,1145,64],R[65406]=[null,null,Q.prototype.oe,Q.prototype.rd,"MMR2",1,1140,64],R[65408]=[null,null,Q.prototype.We,Q.prototype.gg,
"UIPDR",8,1140,64],R[65424]=[null,null,Q.prototype.Ue,Q.prototype.eg,"UDPDR",8,1145,64],R[65440]=[null,null,Q.prototype.Ve,Q.prototype.fg,"UIPAR",8,1140,64],R[65456]=[null,null,Q.prototype.Te,Q.prototype.dg,"UDPAR",8,1145,64],R[65472]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R0SET0"],R[65473]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R1SET0"],R[65474]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R2SET0"],R[65475]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R3SET0"],R[65476]=[null,null,Q.prototype.Gb,
Q.prototype.Kb,"R4SET0"],R[65477]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R5SET0"],R[65478]=[null,null,Q.prototype.ue,Q.prototype.Ff,"R6KERNEL"],R[65479]=[null,null,Q.prototype.xe,Q.prototype.If,"R7KERNEL"],R[65480]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R0SET1",1,1145],R[65481]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R1SET1",1,1145],R[65482]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R2SET1",1,1145],R[65483]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R3SET1",1,1145],R[65484]=[null,null,Q.prototype.Hb,
Q.prototype.Lb,"R4SET1",1,1145],R[65485]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R5SET1",1,1145],R[65486]=[null,null,Q.prototype.ve,Q.prototype.Gf,"R6SUPER",1,1145],R[65487]=[null,null,Q.prototype.we,Q.prototype.Hf,"R6USER",1,1145],R[65504]=[null,null,Q.prototype.fe,Q.prototype.sf,"CTRL",8,1170],R[65520]=[null,null,Q.prototype.nd,Q.prototype.sd,"LSIZE",1,1170],R[65522]=[null,null,Q.prototype.nd,Q.prototype.sd,"HSIZE",1,1170],R[65524]=[null,null,Q.prototype.Se,Q.prototype.cg,"SYSID",1,1170],R[65526]=
[null,null,Q.prototype.ee,Q.prototype.rf,"ERR",1,1170],R[65528]=[null,null,Q.prototype.le,Q.prototype.yf,"MBR",1,1170],R[65530]=[null,null,Q.prototype.qe,Q.prototype.Bf,"PIR"],R[65532]=[null,null,Q.prototype.Re,Q.prototype.bg,"SLR"],R[65534]=[null,null,Q.prototype.te,Q.prototype.Ef,"PSW"],R);
wb(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 Q(c);Ea(c,d);break;case "pc11":c=new yd(c);Ea(c,d);break;case "rl11":c=new zd(c);Ea(c,d);break;case "rk11":c=new S(c),Ea(c,d)}}});
function O(a,b,c,d,e,f){this.C=a;this.id=Ad+=2;this.b=null;this.K=b;this.Ib=c;this.size=d||0;this.type=e||Bd;this.J=e==Kd;this.f=this.controller=null;this.wb=this.j=this.Dc;this.na=this.B=this.Ec;this.yb=this.D=this.Jb;this.zb=this.F=this.nc;this.G=this.i=0;Sc(this);this.Wa=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Ld(this,f.Hd);else if(Eb)this.u=new ArrayBuffer(this.size),this.w=new DataView(this.u,0,this.size),this.g=new Uint8Array(this.u,0,this.size),this.H=new Uint16Array(this.u,
0,this.size>>1),this.b=new Int32Array(this.u,0,this.size>>2),Ld(this,Md?Nd:Od);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Ld(this,Pd)}else Ld(this)}h=O.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Eb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Eb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1};function Ld(a,b){b||(b=Qd);Rd(a,b,void 0);Sd(a,b,void 0)}function Rd(a,b,c){c&&a.G||(a.wb=b[0]||a.Dc,a.na=b[2]||a.Ec);if(c||void 0===c)a.j=b[0]||a.Dc,a.B=b[2]||a.Ec}function Sd(a,b,c){c&&a.i||(a.yb=!a.J&&b[1]||a.Jb,a.zb=!a.J&&b[3]||a.nc);if(c||void 0===c)a.D=b[1]||a.Jb,a.F=b[3]||a.nc}
h.sb=function(a,b){b?this.i++||Sd(this,Td,!1):this.G++||Rd(this,Td,!1)};function Ud(a,b){b?--a.i||(a.yb=a.J?a.Jb:a.D,a.zb=a.J?a.nc:a.F):--a.G||(a.wb=a.j,a.na=a.B)}function Sc(a,b,c){a.f=b;a.G=a.i=0;c&&((a.G=c.G)&&Rd(a,Td,!1),(a.i=c.i)&&Sd(a,Td,!1))}h.Dc=function(a,b){this.f&&B(this.f,32)&&C(this.f,"attempt to read invalid address "+P(this.f,b),!0);this.C.La(b,32,2);return 255};
h.Jb=function(a,b,c){this.f&&B(this.f,32)&&C(this.f,"attempt to write "+P(this.f,b)+" to invalid addresses "+P(this.f,c),!0);this.C.La(c,32,4)};h.Ec=function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8};h.nc=function(a,b,c){this.yb(a++,b&255,c++);this.yb(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){Ib&&a&1&&this.C.La(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.pf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=!0};h.lg=function(a,b,c){Ib&&a&1&&this.C.La(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Wa=!0};h.ae=function(a,b){this.f&&null!=this.K&&Vd(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Vd(this.f,this.K+a,2);return this.B(a,b)};
h.mf=function(a,b,c){this.f&&null!=this.K&&Wd(this.f,this.K+a);this.J?this.Jb(0,b,c):this.D(a,b,c)};h.jg=function(a,b,c){this.f&&null!=this.K&&Wd(this.f,this.K+a,2);this.J?this.Jb(0,b,c):this.F(a,b,c)};h.$d=function(a){return this.g[a]};h.be=function(a,b){a=this.g[a];this.f&&B(this.f,32)&&C(this.f,"Memory.readByte("+P(this.f,b)+"): "+P(this.f,a),!0);return a};h.Ye=function(a,b){Ib&&a&1&&this.C.La(b,64,2);return this.w.getUint16(a,!0)};
h.bf=function(a,b){Ib&&a&1&&this.C.La(b,64,2);a=!Pb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&B(this.f,32)&&C(this.f,"Memory.readWord("+P(this.f,b)+"): "+P(this.f,a),!0);return a};h.lf=function(a,b){this.g[a]=b;this.Wa=!0};h.nf=function(a,b,c){this.g[a]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeByte("+P(this.f,c)+","+P(this.f,b)+")",!0)};h.ig=function(a,b,c){Ib&&a&1&&this.C.La(c,64,4);this.w.setUint16(a,b,!0);this.Wa=!0};
h.kg=function(a,b,c){Ib&&a&1&&this.C.La(c,64,4);!Pb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeWord("+P(this.f,c)+","+P(this.f,b)+")",!0)};var Bd=0,dd=1,Kd=2,Uc=4,Zc=["NONE","RAM","ROM","VID","H/W"],Ad=0,Qd=[],Pd=[O.prototype.ce,O.prototype.pf,O.prototype.cf,O.prototype.lg],Td=[O.prototype.ae,O.prototype.mf,O.prototype.Ze,O.prototype.jg];
if(Eb)var Od=[O.prototype.$d,O.prototype.lf,O.prototype.Ye,O.prototype.ig],Nd=[O.prototype.be,O.prototype.nf,O.prototype.bf,O.prototype.kg];var Xd;if(Eb){var Yd=new ArrayBuffer(2);(new DataView(Yd)).setUint16(0,256,!0);Xd=256===(new Uint16Array(Yd))[0]}else Xd=!1;var Md=Xd;
function Zd(a,b){q.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.rc=0;this.pc=b;this.cb=c;this.wc=Math.round(this.pc/1E4)/100;this.pb=this.wc*this.cb;this.xc=this.Ub=this.tb=this.qc=0;this.A.T=this.A.lc=!1;this.A.va=a.autoStart;"string"==typeof this.A.va&&(this.A.va="true"==this.A.va);this.A.Bb=!1;this.Sb=this.Db=0;this.Tb=+a.csStart;this.Cb=+a.csInterval;this.Eb=+a.csStop;this.ia=[];this.Xc=this.gf.bind(this);this.eb=this.Ia=this.bb=this.b=this.la=this.Ha=this.Rb=this.ab=this.Fb=
this.yc=this.ob=0;this.ua=null;A(this)}p(Zd,q);h=Zd.prototype;h.wa=function(a,b,c,d){this.J=a;this.D=b;this.G=d;this.ua=a.i;for(a=0;a<$d.length;a++)(b=this.C[$d[a]])&&this.J.sa(null,$d[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ya=function(a,b){var c=ae(this.J,"autoStart");null!=c?this.A.va="true"==c?!0:"false"==c?!1:!!c:null==this.A.va&&(this.A.va=!this.G&&void 0===this.C.run);if(!b){if(a){be(this);if(!this.restore(a))return!1;ce(this)}else this.reset();this.G?(a=this.G,b=this.A.va,a.Ea=!0,a.v("Type ? for help with PDPjs Debugger commands"),de(a),b||ee(a),a.ua&&(b=a.ua,a.ua=null,fe(a,b))):this.status("No debugger detected");this.A.va||this.v("CPU will not be auto-started "+(this.ua?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.xa=function(a){return a?this.save():!0};h.va=function(){return this.A.T?!0:this.A.va?(nc(this),!0):!1};h.gd=function(){return 0};function ce(a){void 0===a.Tb&&(a.Tb=0);void 0===a.Cb&&(a.Cb=-1);void 0===a.Eb&&(a.Eb=-1);a.A.Bb=0<=a.Tb&&0<a.Cb;a.A.Bb&&(a.Sb=0,a.Db=a.Tb-a.eb)}function Cc(a,b){if(a.A.Bb){var c=!1;a.Sb=a.Sb+a.gd()|0;a.Db-=b;0>=a.Db&&(a.Db+=a.Cb,c=!0);0<=a.Eb&&a.Eb<=ge(a)&&(a.Cb=a.Eb=-1,ce(a),a.ba(),c=!0);c&&a.v(ge(a)+" cycles: checksum="+I(a.Sb))}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=Ba(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.hc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.T?d.ba():nc(d))},!0;
case "speed":return this.C[b]=c,!0;case "setSpeed":return this.C[b]=c,c.onclick=function(){he(d,d.cb<<1,!0)},c.textContent=this.pb.toFixed(2)+"Mhz",!0}return!1};function qc(a,b,c){a.eb+=b;c&&(a.bb=a.b=a.la=0)}function ie(a,b){var c=1;b&&1<a.cb&&a.ob&&(c=a.ob/a.wc);a.xc=Math.round(1E3/je);a.Ub=Math.floor(a.pc/je*c);b||(a.tb=a.Ub);a.qc=0}function ge(a){return a.eb+a.Ia+a.bb-a.b}function be(a){a.ob=0;a.yc=0;a.eb=a.Ia=a.bb=a.b=a.la=0;ce(a);he(a,1)}
function he(a,b,c){var d=!1;if(void 0!==b){.8>a.ob/a.pb?b=1:d=!0;a.cb=b;b=a.wc*a.cb;if(a.pb!=b){a.pb=b;b=a.pb.toFixed(2)+"Mhz";var e=a.C.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&ke(a.J)}qc(a,a.Ia);a.Ia=0;a.Ha=za();a.ab=0;ie(a);return d}function hd(a,b){var c=a.ia.length;a.ia.push([-1,b]);return c}function kd(a,b,c,d){0<=b&&b<a.ia.length&&(d||0>a.ia[b][0])&&(c=a.pc*a.cb/1E3*c|0,a.A.T&&(c+=le(a)),a.ia[b][0]=c)}
function me(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ne(a){for(var b=[],c=0;c<a.ia.length;c++)b.push(a.ia[c][0]);return b}function pc(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function le(a,b){var c=a.bb-=a.b;a.b=a.la=0;b&&(a.bb=0);return c}
h.gf=function(){if(this.A.T){this.qc>=this.pc&&ie(this,!0);this.Fb=0;this.Rb=za();if(this.ab){var a=this.Rb-this.ab;a>this.xc&&(this.Ha+=a,this.Ha>this.Rb&&(this.Ha=this.Rb))}try{do{var b=me(this,this.A.Bb?1:this.Ub);try{this.ec(b)}catch(e){if("number"!=typeof e)throw e;}b=le(this,!0);this.Fb+=b;this.Ia+=b;Cc(this,b);pc(this,b);this.tb-=b;if(0>=this.tb){this.tb+=this.Ub;++this.yc>=oe&&(this.J&&M(this.J,void 0),this.yc=0);break}}while(this.A.T)}catch(e){this.ba();this.J&&this.J.stop(za(),ge(this));
Ja(this,e.stack||e.message);return}if(this.A.T){a=setTimeout;b=this.Xc;this.ab=za();var c=this.xc;this.Fb&&(c=Math.round(c*this.Fb/this.Ub));var c=c-(this.ab-this.Rb),d=this.ab-this.Ha;d&&(this.ob=Math.round(this.Ia/(10*d))/100,864E5<=d&&(this.eb=0,he(this)));if(0>c||this.ob<this.pb)-1E3>c&&(this.Ha-=c),c=0;this.qc+=this.Fb;this.ab+=c;a(b,c)}}};
function nc(a,b){if(!Ka(a))if(a.A.T)a.v(a.toString()+" busy");else{he(a);a.A.T=!0;a.A.lc=!0;var c=a.C.run;c&&(c.textContent="Halt");a.J&&(b&&ke(a.J,!0),a.J.start(a.Ha,ge(a)));a.G||a.status("Started");setTimeout(a.Xc,0)}}h.ec=function(){return 0};h.ba=function(a){var b=!1;if(this.A.T){le(this);qc(this,this.Ia);this.Ia=0;this.A.T=!1;if(b=this.C.run)b.textContent="Run";this.J&&this.J.stop(za(),ge(this));b=!0;this.G||this.status("Stopped")}this.A.complete=a;return b};var je=30,oe=15,$d=["power","reset"];
function pe(a){var b=+a.model||1170;Zd.call(this,a,6666667);this.ka=b;this.Rc=+a.addrReset||0;this.Ua=this.w=this.O=this.F=this.H=this.L=this.I=0;this.g=this.pa=this.W=[];this.M=this.B=this.Fa=this.ac=[];this.Za=this.P=this.Qc=this.qb=this.kb=this.rb=this.$a=this.R=this.Yb=this.Va=this.za=this.U=this.Zb=this.$b=this.V=this.i=0;this.Tc=[4,2,0,1];this.bc=0;this.Uc=255;1120>=this.ka?(this.Pc=qe.bind(this),this.Ab=this.Ld,this.bc=8,this.Uc=-1,this.Zc=255,this.Yc=0):(this.Pc=re.bind(this),this.Ab=this.Md,
this.Zc=~(1792|(1140>=this.ka?2048:0))&65535,this.Yc=1140<this.ka?2048:0);this.fc=this.cc=this.oa=0;this.S=null;this.Qb=[];this.Nb=this.sc=this.fd;this.Ob=this.tc=this.ld;this.mc=this.uc=this.pd;this.Pb=this.vc=this.qd;this.Ga=this.lb=this.Wb=this.Xb=0;this.Ea=this.kd;this.na=this.Fc;this.zb=this.Ic;this.u=this.j=this.oc=this.X=this.Z=0;this.A.complete=!1}p(pe,Zd);h=pe.prototype;
h.wa=function(a,b,c,d){Zd.prototype.wa.call(this,a,b,c,d);this.sc=b.Kc.bind(b);this.tc=b.dc.bind(b);this.uc=b.Lc.bind(b);this.vc=b.Mb.bind(b)};h.ya=function(a,b){for(var c=192,d=0;d<this.Qb.length;d++){var e=this.Qb[d];0>e.xb&&(e.xb=c,c+=4)}return Zd.prototype.ya.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ka);this.A.T&&this.ba();this.F=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Rc,-1,-2,-3,-4,-5,-6,-7,-8];this.pa=[0,0,0,0,0,0];this.W=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Fa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ac=[0,0,0,0,0,0,0,0];this.O=0;this.Ua=-1;this.u=this.j=this.oc=this.X=this.Z=this.i=this.Yb=0;lc(this);be(this);this.A.error=!1;Zd.prototype.reset.call(this)};function lc(a){a.U=0;a.Zb=0;a.$b=0;a.V=0;a.R=0;a.Va=0;a.za=255;a.qb=0;a.kb=0;a.rb=0;a.$a=262143;a.Za=a.g[7];a.P=0;a.S=null;a.D&&(se(a),a.Qc=cd(a.D))}
function se(a){a.Nb=a.sc;a.Ob=a.tc;a.mc=a.uc;a.Pb=a.vc;a.Wb&&(a.Nb=a.fd,a.Ob=a.ld);a.Xb&&(a.mc=a.pd,a.Pb=a.qd);a.qb?(a.Ga=65536,a.lb=a.V&16?4186112:253952,a.Ea=a.kd,a.na=a.Wb?a.af:a.Fc,a.zb=a.Xb?a.ng:a.Ic,Vc(a.D,a.V&16?22:18)):(a.Ga=0,a.lb=57344,a.Ea=a.Od,a.na=a.Wb?a.$e:a.od,a.zb=a.Xb?a.mg:a.td,Vc(a.D,16))}function qd(a){var b=a.U;b&57344||(b=b&-3199|a.kb<<5|a.rb<<1);return b}
function rd(a,b){b&=-3073;if(a.U!=b){b&57344&&!(a.U&57344)&&(a.Zb=a.P>>16&65535,a.$b=a.P&65535);a.U=b;a.kb=(b&96)>>5;a.rb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.qb!=c&&(a.qb=c,se(a))}}function sd(a){a.U&57344||(a.Zb=a.P>>16&65535);a=a.Zb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function td(a){a.U&57344||(a.$b=a.P&65535);return a.$b}function ud(a,b){1170>a.ka&&(b&=-49);a.V!=b&&(a.V=b,a.$a=b&16?4194303:262143,se(a))}
function te(a,b,c){a.Rc=b;ue(a,b);xd(a,0);a.D.reset();lc(a);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.T||nc(a)}else a.G&&a.A.fa?a.ba()||(de(a.G),M(a.J,-1)):!1===c&&a.ba();!a.A.T&&a.ua&&a.ua.stop()}h.gd=function(){return 0};
h.save=function(){var a=new L(this);a.set(0,[this.g,this.pa,this.W,this.M,this.B,this.Fa,this.ac,this.R,this.Yb,this.Va,this.za,this.kb,this.rb,this.Za,this.i,this.P,this.Ua,this.cc,this.fc]);a.set(1,[wd(this),qd(this),sd(this),td(this),this.V]);a.set(2,[this.eb,this.cb,this.A.va]);a.set(3,ve(this));a.set(4,ne(this));return a.data()};
h.restore=function(a){var b=ja(a[0]);this.g=b.next().value;this.pa=b.next().value;this.W=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Fa=b.next().value;this.ac=b.next().value;this.R=b.next().value;this.Yb=b.next().value;this.Va=b.next().value;this.za=b.next().value;this.kb=b.next().value;this.rb=b.next().value;this.Za=b.next().value;this.i=b.next().value;this.P=b.next().value;this.Ua=b.next().value;this.cc=b.next().value;this.fc=b.next().value;b=a[1];xd(this,b[0]);rd(this,b[1]);
this.Zb=b[2];this.$b=b[3];ud(this,b[4]);b=a[2];this.eb=b[0];he(this,b[1]);this.A.va=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Qb.length;d++){var e=this.Qb[d];if(e.xb===b[c]){d=e;break a}}d=null}d&&(d.next=this.S,this.S=d)}a=a[4];for(b=0;b<this.ia.length&&b<a.length;b++)this.ia[b][0]=a[b];return!0};function we(a){return a.F&65536?1:0}function xe(a){return a.H&32768?2:0}function ye(a){return a.L&65535?0:4}function ze(a){return a.I&32768?8:0}
function Ae(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function T(a,b,c){c&&(ue(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function ue(a,b){a.g[7]=b&65535}function ld(a,b,c,d){b={xb:b,ib:c,message:d||0,name:Rb[b],next:null};a.Qb.push(b);return b}function Be(a,b){var c=a.S;if(c==b)a.S=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.S&&(a.i|=1)}
function id(a,b){if(b){if(b!=a.S){var c=a.S;if(!c||c.ib<=b.ib)b.next=c,a.S=b;else{do{var d=c.next;if(!d||d.ib<=b.ib){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&B(a,b.message|8)&&C(a,"setIRQ(vector="+H(b.xb)+",priority="+b.ib+")",!0,!0)}}function pd(a,b){b&&(Be(a,b),b.message&&B(a,b.message|8)&&C(a,"clearIRQ(vector="+H(b.xb)+",priority="+b.ib+")",!0,!0))}function ve(a){var b=[];for(a=a.S;a;)b.push(a.xb),a=a.next;return b}
function Ce(a){return a.i&64?(a.ta(168,64,-6),!0):a.i&32?(a.ta(4,32,-5),!0):a.i&16?(a.ta(12,16,-7),!0):!1}function wd(a){return a.w=a.w&63728|ze(a)|ye(a)|xe(a)|we(a)}function xd(a,b){b&=a.Zc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.F=b<<16;if((b^a.w)&a.Yc)for(var c=a.pa.length;0<=--c;){var d=a.g[c];a.g[c]=a.pa[c];a.pa[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.W[c]=a.g[6],a.g[6]=a.W[a.O]);a.w=b;a.i&=-3;a.i|=a.S?2:1}function vd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}
h.Da=function(a){this.I=this.L=a;this.H=0};h.jb=function(a,b){this.I=this.L=this.F=a;this.H=b||0};function De(a,b){a.I=a.L=a.F=b;a.H=a.I^a.F>>1}function Ee(a,b,c,d){a.I=a.L=a.F=b;a.H=(c^d)&(d^b)}
h.ta=function(a,b,c){if(!this.oa){0>this.Ua?this.Ua=wd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.na(a|this.Ga),e=this.na(a+2&65535|this.Ga);xd(this,e&-12289|this.Ua>>2&12288);Fe(this,this.Ua);Fe(this,this.g[7]);ue(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.cc=c;this.fc=a;-1==c&&this.ba();if(-4<=c)throw a;}};
function Ge(a){var b=He(a),c=He(a);a.w&49152&&(c=c&-225|a.w&63712);ue(a,b);xd(a,c);a.i&=-17}function Ie(a,b){var c=b>>13&31;31>c&&(b=a.V&32?a.Fa[c]+(b&8191)&4194303:b&-3932161);return b}
function Je(a,b,c){var d=[];if(c){c=Ie(a,b);var e=b>>13&31;d.push(c);d.push(e);a.V&32&&(d.push(a.Fa[e]),d.push(b&8191))}else if(a.qb){var e=a.O<<1,f=b>>13;7<f&&(e|=1);a.V&a.Tc[a.O]||(f&=7);b&=8191;var g=a.M[a.O][f]<<6;c=g+b&a.$a;3932160<=c&&(c=Ie(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.$a)}else c=b&65535,57344<=c&&(c|=a.lb),d.push(c);return d}
function Fc(a,b,c){var d,e,f;if(!(c&a.qb))return f=b&65535,57344<=f&&(f|=a.lb),f;d=b>>13;a.V&a.Tc[a.O]||(d&=7);e=a.B[a.O][d];f=(a.M[a.O][d]<<6)+(b&8191)&a.$a;3932160<=f&&(f=Ie(a,f));if(a.oa)return f;f>=a.Qc&&f<a.lb?(a.R|=32,a.ta(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ta(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.O][d]=e;if(f!=(4194170&a.$a)||a.O)a.kb=a.O,a.rb=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.U&57344||(g|=a.U&4096|a.kb<<5|a.rb<<1,rd(a,a.U&-61695|g&61694)),a.ta(168,64,-2)),a.U&61440||!(f<(4191360&a.$a)||f>(4194239&a.$a))||(a.U|=4096,a.U&512&&(a.i|=64)));return f}function He(a){var b=a.na(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Fe(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.Ab(4,-2,c);a.zb(c,b)}
function Ke(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.ta(4,0,-3),0;case 1:return 6==c&&a.Ab(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Ab(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.na(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Ab(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.na(e)|g;a.b-=8;break;case 6:return e=a.na(Ae(a,2)),e=e+a.g[c]&65535,6==c&&a.Ab(d,
0,e),a.b-=6,e|g;case 7:return e=a.na(Ae(a,2)),e=e+a.g[c]&65535,e=a.na(e|a.Ga),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.O&&0>=b&&c<=this.za&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.za&&(c<=this.za-32?this.ta(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.G&&Vd(this.G,a,1);return this.sc(a)};h.ld=function(a){this.G&&Vd(this.G,a,2);return this.tc(a)};
h.pd=function(a,b){this.G&&Wd(this.G,a,1);this.uc(a,b)};h.qd=function(a,b){this.G&&Wd(this.G,a,2);this.vc(a,b)};function Hc(a,b){a.oa++;b=a.D.dc(Fc(a,b,2));a.oa--;return b}function Le(a,b){(b?--a.Xb:--a.Wb)||se(a)}h.Od=function(a,b,c){return Ke(this,a,b,c)};h.kd=function(a,b,c){return Fc(this,Ke(this,a,b,c),c)};h.od=function(a){return this.D.dc(this.Za=a)};h.$e=function(a){this.G&&Vd(this.G,a,2);return this.od(a)};h.Fc=function(a){return this.D.dc(this.Za=Fc(this,a,2))};
h.af=function(a){this.G&&Vd(this.G,a,2);return this.Fc(a)};h.td=function(a,b){this.D.Mb(this.Za=a,b)};h.mg=function(a,b){this.G&&Wd(this.G,a,2);this.td(a,b)};h.Ic=function(a,b){this.D.Mb(this.Za=Fc(this,a,4),b)};h.ng=function(a,b){this.G&&Wd(this.G,a,2);this.Ic(a,b)};function Me(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Ke(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.na(d|c&a.Ga),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.W[a.w>>12&3];return c}
function Ne(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Ke(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=Fc(a,e|c&65536,4),a.O=a.w>>14&3,a.Pb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.W[a.w>>12&3]=d}function Oe(a,b){b>>=6;var c=a.Z=b&7;return(b=a.X=(b&56)>>3)?a.Nb(a.Ea(b,c,3)):a.g[c+a.bc]&a.Uc}function Pe(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.X=(b&56)>>3)?c=a.Ob(a.Ea(b,d,2)):c=a.g[d+a.bc];return c}function Qe(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Ke(a,b,c,8)}
function mf(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.Nb(a.Ea(b,c,3)):a.g[c]&255}function nf(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.Ob(a.Ea(b,d,2)):c=a.g[d];return c}function of(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.oc=a.Ea(b,e,7),c=0>c?a.g[-c-1]&255:c,a.mc(e,d.call(a,c,a.Nb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function U(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,6),a.Pb(e,d.call(a,0>c?a.g[-c-1]:c,a.Ob(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function pf(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Ea(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.mc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function qf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Pb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.ec=function(a){this.A.complete=!0;var b=this.G?rf(this.G)?1:this.A.lc?-1:0:0,c=a?this.A.lc?0:1:-1;this.A.lc=!1;this.bb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(sf(this.G,this.g[7],c)){this.ba();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.Va&224)>>5,f=this.S&&this.S.ib>e?this.S:null;f&&(d=f.xb,e=f.ib);e>(this.w&224)>>5?(this.i&8&&(Ae(this,2),this.i&=-9),this.ta(d,0,-10),e=!0):e=!1;e&&(f&&Be(this,f),a=!0);this.S||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&sf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}if(this.i&112&&Ce(this)){if(this.i&4&&sf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.na(a);this.g[7]=a+2&65535;this.Pc(f)}while(0<this.b);return this.A.complete?this.bb-this.b:!1===this.A.complete?-1:0};wb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new pe(d);Ea(d,c)}});
function tf(a,b){var c=b+a;this.I=this.L=this.F=c;this.H=(a^c)&(b^c);return c&65535}function uf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.F=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function vf(a,b){a=b<<1;De(this,a);return a&65535}function wf(a,b){a=b<<1;De(this,a<<8);return a&255}function xf(a,b){a=b&32768|b>>1|b<<16;De(this,a);return a&65535}function yf(a,b){a=b&128|b>>1|b<<8;De(this,a<<8);return a&255}function zf(a,b){a=b&~a;this.Da(a);return a}function Af(a,b){a=b&~a;this.Da(a<<8);return a}
function Bf(a,b){a|=b;this.Da(a);return a}function Cf(a,b){a|=b;this.Da(a<<8);return a}function Df(a,b){a=~b|65536;this.jb(a);return a&65535}function Ef(a,b){a=~b|256;this.jb(a<<8);return a&255}function Ff(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Gf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function Hf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function If(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function Jf(a,b){a=-b;this.jb(a,a&b&32768);return a&65535}function Kf(a,b){a=-b;this.jb(a<<8,(a&b&128)<<8);return a&255}function Lf(a,b){a=b<<1|this.F>>16&1;De(this,a);return a&65535}function Mf(a,b){a=b<<1|this.F>>16&1;De(this,a<<8);return a&255}function Nf(a,b){a=(this.F&65536|b)>>1|b<<16;De(this,a);return a&65535}function Of(a,b){a=((this.F&65536)>>8|b)>>1|b<<8;De(this,a<<8);return a&255}function Pf(a,b){var c=b-a;Ee(this,c,a,b);return c&65535}
function Qf(a,b){var c=b-a;Ee(this,c<<8,a<<8,b<<8);return c&255}function Rf(a,b){this.I=this.L=b&65280;this.H=this.F=0;return(b<<8|b>>8)&65535}function Sf(a,b){a^=b;this.Da(a);return a&65535}function Tf(a){U(this,a,Pe(this,a),tf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function Uf(a){var b=nf(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.F=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.F=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.F=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.u?6:7)+b}
function Vf(a){var b=nf(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.F=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.F=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.u?6:7)+b}function Wf(a){T(this,a,!we(this))}function Xf(a){T(this,a,we(this))}
function Yf(a){U(this,a,Pe(this,a),zf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Zf(a){of(this,a,Oe(this,a),Af);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function $f(a){U(this,a,Pe(this,a),Bf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function ag(a){of(this,a,Oe(this,a),Cf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function bg(a){var b=Pe(this,a);a=nf(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function cg(a){var b=Oe(this,a);a=mf(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function dg(a){T(this,a,ye(this))}function eg(a){T(this,a,!ze(this)==!xe(this))}function fg(a){T(this,a,!ye(this)&&!ze(this)==!xe(this))}function gg(a){T(this,a,!we(this)&&!ye(this))}
function hg(a){T(this,a,ye(this)||!ze(this)!=!xe(this))}function ig(a){T(this,a,we(this)||ye(this))}function jg(a){T(this,a,!ze(this)!=!xe(this))}function kg(a){T(this,a,ze(this))}function lg(a){T(this,a,!ye(this))}function mg(a){T(this,a,!ze(this))}function ng(){this.ta(12,0,-9)}function og(a){T(this,a,!0)}function pg(a){T(this,a,!xe(this))}function qg(a){T(this,a,xe(this))}function rg(a){a&1&&(this.F=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function sg(a){var b=Pe(this,a);a=nf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ee(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function tg(a){var b=Oe(this,a);a=mf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ee(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}
function ug(a){var b=nf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.F=65536,this.b-=7}function vg(){this.ta(24,0,-9);this.b-=20}
function wg(){this.w&49152?(this.R|=128,this.ta(4,0,-8)):(this.ua&&1120==this.ka&&this.ua.setData(this.g[0],!0),this.G?xg(this.G):this.ba());this.b-=7}function yg(){this.ta(16,0,-9);this.b-=20}var zg=[0,7,7,10,7,11,9,13];function Ag(a){this.la=this.b;ue(this,Qe(this,a));this.b=this.la-zg[this.u]}var Bg=[0,14,14,17,14,18,16,20];function Cg(a){this.la=this.b;var b=Qe(this,a);a=a>>6&7;Fe(this,this.g[a]);this.g[a]=this.g[7];ue(this,b);this.b=this.la-Bg[this.u]}
var Dg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Eg(a){var b=Pe(this,a);this.la=this.b;qf(this,a,b,this.Da);this.b=this.la-Dg[(this.X?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Fg(a){var b=Oe(this,a);pf(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}var Gg=[7,13,13,17,14,18,17,21];
function Hg(a){var b=nf(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.H=0;this.F=-32768>b||32767<b?65536:0;this.b-=23}function Ig(){this.b-=5}function Jg(){this.w&49152||(this.D.reset(),lc(this),this.ua&&this.ua.setData(this.g[0],!0));this.b-=667}function Kg(a){if(a&8)V.call(this,a);else{var b=He(this);a&=7;7==a?ue(this,b):(ue(this,this.g[a]),this.g[a]=b);this.b-=9}}function Lg(){Ge(this);this.b-=13}
function Mg(a){a&1&&(this.F=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Ng(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)ue(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Og(a){U(this,a,Pe(this,a),Pf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Pg(a){U(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)}function Qg(){this.ta(28,0,-9)}
function Rg(){this.ua&&(this.ua.Gc(this.g[7],!0),this.ua.setData(this.g[0],!0));this.i|=8;Ae(this,-2);this.b-=3}function Sg(a){U(this,a,this.g[(a>>6&7)+this.bc],Sf);this.b-=this.u?9:3+(7==this.j?2:0)}function V(a){var b;if(b=this.G)b=this.G,B(b,1)?(C(b,"undefined opcode "+P(b,a),!0,!0),b=xg(b)):b=!1;b||this.ta(8,0,-9)}function qe(a){Tg[a>>12].call(this,a)}function Ug(a){Vg[a>>6&3].call(this,a)}function Wg(a){Xg[a>>6&3].call(this,a)}function Yg(a){Zg[a>>6&3].call(this,a)}
function $g(a){ah[a&15].call(this,a)}function bh(a){ch[a&15].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)}function fh(a){gh[a>>6&3].call(this,a)}function hh(a){ih[a>>6&3].call(this,a)}
var Tg=[function(a){jh[a>>8&15].call(this,a)},Eg,sg,bg,Yf,$f,Tf,V,function(a){kh[a>>8&15].call(this,a)},Fg,tg,cg,Zf,ag,Og,V],jh=[function(a){lh[a>>4&15].call(this,a)},og,lg,dg,eg,jg,fg,hg,Cg,Cg,Ug,Wg,Yg,V,V,V],Vg=[function(a){qf(this,a,0,this.jb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,Df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,1,Hf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,1,Ff);this.b-=this.u?9:3+(7==this.j?2:0)}],Xg=[function(a){U(this,a,0,Jf);
this.b-=this.u?11:6},function(a){U(this,a,we(this)?1:0,tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,we(this)?1:0,Pf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=nf(this,a);this.jb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],Zg=[function(a){U(this,a,0,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,Lf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,vf);this.b-=this.u?9:3+(7==this.j?2:0)}],lh=
[function(a){mh[a&15].call(this,a)},V,V,V,Ag,Ag,Ag,Ag,Kg,V,$g,bh,Pg,Pg,Pg,Pg],mh=[wg,Rg,Lg,ng,yg,Jg,V,V,V,V,V,V,V,V,V,V],ah=[Ig,function(){this.F=0;this.b-=5},function(){this.H=0;this.b-=5},rg,function(){this.L=1;this.b-=5},rg,rg,rg,function(){this.I=0;this.b-=5},rg,rg,rg,rg,rg,rg,rg],ch=[Ig,function(){this.F=65536;this.b-=5},function(){this.H=32768;this.b-=5},Mg,function(){this.L=0;this.b-=5},Mg,Mg,Mg,function(){this.I=32768;this.b-=5},Mg,Mg,Mg,Mg,Mg,Mg,Mg],kh=[mg,kg,gg,ig,pg,qg,Wf,Xf,vg,Qg,dh,fh,
hh,V,V,V],eh=[function(a){pf(this,a,0,255,this.jb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,0,Ef);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,1,If);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,1,Gf);this.b-=this.u?9:3+(7==this.j?2:0)}],gh=[function(a){of(this,a,0,Kf);this.b-=this.u?11:6},function(a){of(this,a,we(this)?1:0,uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,we(this)?1:0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=mf(this,
a);this.jb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],ih=[function(a){of(this,a,0,Of);this.b-=this.u?9+(this.oc&1):3+(7==this.j?2:0)},function(a){of(this,a,0,Mf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,0,yf);this.b-=this.u?9+(this.oc&1):3+(7==this.j?2:0)},function(a){of(this,a,0,wf);this.b-=this.u?9:3+(7==this.j?2:0)}];function re(a){nh[a>>12].call(this,a)}
var nh=[function(a){oh[a>>8&15].call(this,a)},Eg,sg,bg,Yf,$f,Tf,function(a){ph[a>>8&15].call(this,a)},function(a){qh[a>>8&15].call(this,a)},Fg,tg,cg,Zf,ag,Og,V],oh=[function(a){rh[a>>4&15].call(this,a)},og,lg,dg,eg,jg,fg,hg,Cg,Cg,Ug,Wg,Yg,function(a){sh[a>>6&3].call(this,a)},V,V],sh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.na(a|this.Ga);ue(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Me(this,a,0);this.Da(a);Fe(this,a);this.b-=11},function(a){var b=He(this);
this.la=this.b;this.Da(b);Ne(this,a,0,b);this.b=this.la-Gg[this.u]},function(a){qf(this,a,ze(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],rh=[function(a){th[a&15].call(this,a)},V,V,V,Ag,Ag,Ag,Ag,Kg,function(a){!(a&8)||1145>this.ka?V.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},$g,bh,Pg,Pg,Pg,Pg],th=[wg,Rg,function(){Ge(this);this.i|=this.w&16;this.b-=13},ng,yg,Jg,Lg,function(a){V.call(this,a)},V,V,V,V,V,V,V,V],ph=[Hg,Hg,ug,ug,Uf,Uf,Vf,Vf,
Sg,Sg,V,V,V,V,Ng,Ng],qh=[mg,kg,gg,ig,pg,qg,Wf,Xf,vg,Qg,dh,fh,hh,function(a){1145>this.ka?V.call(this,a):uh[a>>6&3].call(this,a)},V,V],uh=[function(a){V.call(this,a)},function(a){a=Me(this,a,65536);this.Da(a);Fe(this,a);this.b-=11},function(a){var b=He(this);this.la=this.b;this.Da(b);Ne(this,a,65536,b);this.b=this.la-Gg[this.u]},function(a){V.call(this,a)}];
function vh(a){q.call(this,"ROM",a,0,128);this.ha=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=Qa(this.j);if(this.j){a=this.j;var b=Ra(this.B);"json"!=b&&"hex"!=b&&(a=eb()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;cb(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(xa(c.nb,a,b),(a=db(a,b))?(c.g=a.ca,c.ha=a.ha):c.j=null);wh(c)})}}p(vh,q);
h=vh.prototype;h.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;wh(this)};h.ya=function(){this.ha&&(this.G&&xh(this.G,this.id,this.u,this.b,this.ha),delete this.ha);return!0};h.xa=function(){return!0};
function wh(a){if(!La(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Ja(a,"ROM size ("+I(a.g.length,8,!0)+") does not match specified size ("+I(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Nc){var c={},c=(c[b]=[vh.prototype.Me,vh.prototype.Xf,null,null,null,a.b>>1],c);if(Yb(a.D,a,c)){a.status("Added "+a.b+"-byte ROM at "+H(b));b=a.w=!0;break a}}else if(Tc(a.D,b,a.b,Kd)){for(c=0;c<a.g.length;c++)bd(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}A(a)}}h.Me=function(a){return this.g[a-this.u]};h.Xf=function(){};wb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new vh(d);Ea(d,c)}});
function yh(a){q.call(this,"RAM",a);this.ha=this.g=null;this.i=+a.addr;this.j=+a.size;this.Ba=a.load;this.Aa=a.exec;null!=this.Ba&&(this.Ba=+this.Ba);null!=this.Aa&&(this.Aa=+this.Aa);this.u=!1;this.b=a.file;this.w=Qa(this.b);if(this.b){a=this.b;var b=Ra(this.w);"json"!=b&&"hex"!=b&&(a=eb()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;cb(a,null,!0,function(a,b,f){f?(c.N("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(xa(c.nb,a,b),(a=db(a,b))?(c.g=a.ca,c.ha=a.ha,
null==c.Ba&&(c.Ba=a.Ba),null==c.Aa&&(c.Aa=a.Aa)):c.b=null);zh(c)})}}p(yh,q);yh.prototype.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;zh(this)};yh.prototype.ya=function(a,b){this.ha&&(this.G&&xh(this.G,this.id,this.i,this.j,this.ha),delete this.ha);b||this.reset();return!0};yh.prototype.xa=function(){return!0};
function zh(a){if(a.D&&(!a.u&&a.j&&(Tc(a.D,a.i,a.j,dd)?a.u=!0:a.j=0),!La(a))){if(!a.u)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;Ah(a,a.g,a.Ba,a.Aa,a.i)?a.status('Loaded image "'+a.w+'"'):a.N('Error loading image "'+a.w+'"')}A(a)}}
yh.prototype.reset=function(){if(this.u){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Eb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&Ah(this,this.g,this.Ba,this.Aa,this.i,!0)}};
function Ah(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){C(a,"invalid signature ("+J(m)+") at offset "+J(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+J(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){C(a,"insufficient data for block at offset "+J(n),4096);break}m+=
b[l++]&255;if(m&255){C(a,"invalid checksum ("+I(m,2,!0)+") for block at offset "+J(n),4096);break}if(E)for(C(a,"loading "+J(E)+" bytes at "+J(u)+"-"+J(u+E),4096);E--;)bd(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&C(a,"starting address: "+J(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)bd(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.ba(),f=!1;null!=d&&te(a.f,d,f)}return k}
wb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new yh(d);Ea(d,c)}});function Bh(a){q.call(this,"Keyboard",a,0,1024);A(this)}p(Bh,q);Bh.prototype.sa=function(){return!1};Bh.prototype.wa=function(a,b,c,d){this.J=a;this.f=c;this.G=d};wb(function(){for(var a=y(document,x,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Bh(d);Ea(d,c)}});
function Ch(a){q.call(this,"SerialPort",a,0,262144);this.M=+a.adapter;this.U=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.B=0;this.I=!0;this.R=this.O=null;this.S=this.X=-1;this.F=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Dh;b&&(void 0===c&&(c="Panel"),(c=Da(c,this.id))&&(b=c.C[b])&&this.sa(null,a,b))}this.j=this.H=this.P=null;this.exports=
{connect:this.md,receiveData:this.ic,receiveStatus:this.ff,setConnection:this.kf}}p(Ch,q);h=Ch.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case Dh:return this.C[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ua.Mc:ua.xd:46==c?b=ua.Mc:a.ctrlKey&&c>=ua.Jc&&c<=ua.Gd&&(b=c-(ua.Jc-ua.ud));b&&(a.preventDefault&&a.preventDefault(),d.ic(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ua.wd&&(b=ua.vd);d.ic(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.ic(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;var e=this;this.R=ld(this.f,this.M?-1:48,4,262144);this.S=hd(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,C(e,"receiveByte("+I(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),kd(e.f,e.S,1E3/Math.round(e.U/10)));0<=a&&(e.F=a,e.b&128?e.F|=49152:e.b|=128,e.b&64&&id(c,e.R))});this.O=ld(this.f,this.M?-1:52,4,262144);this.X=hd(this.f,function(){e.g|=128;e.g&64&&id(c,e.O)});Yb(b,this,Eh,this.M?64832+8*(this.M-1)-65392:0);$b(b,this.reset.bind(this));
A(this)};h.md=function(a){if(!this.j){var b=ae(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Za(c[0]);if(d!=this.mb)return;c=Za(c[1]);if(this.j=Ca(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status("Connected "+this.nb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.ya=function(a,b){if(!b)if(this.md(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Fh(this)};h.save=function(){var a=new L(this);a.set(0,[this.F,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Fh(this,a[0])};function Fh(a,b){b||(b=[0,8192,128,a.i]);b=ja(b);a.F=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0}
h.ic=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);kd(this.f,this.S,1E3/Math.round(this.U/10));return!0};h.ff=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&id(this.f,this.R))};h.kf=function(a,b){return this.j?!1:(this.j=a,this.H=b,!0)};
h.ze=function(){var a=this.b&65534;this.b&=-32769;return a};h.Kf=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.P&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.P.call(this.j,b))};h.ye=function(){this.b&=-129;return this.F};h.Jf=function(){};h.ef=function(){return this.g};h.pg=function(a){this.g&128&&(a&64?id(this.f,this.O):pd(this.f,this.O));this.g=this.g&-70|a&69};h.df=function(){return 0};
h.og=function(a){a&=255;C(this,"transmitByte("+I(a,2,!0)+")");this.H&&this.H.call(this.j,a);a&=127;if(this.u)if(13==a)this.B=0;else if(8==a)this.u.value=this.u.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=$a[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=Ya("",c)));this.V&&!this.B&&c&&(b=String.fromCharCode(this.V)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.v(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}kd(this.f,this.X,1E3/Math.round(this.Z/10));this.g&=-129};var Dh="buffer",Gh={},Eh=(Gh[65392]=[null,null,Ch.prototype.ze,Ch.prototype.Kf,"RCSR"],Gh[65394]=[null,null,Ch.prototype.ye,Ch.prototype.Jf,"RBUF"],Gh[65396]=[null,null,Ch.prototype.ef,Ch.prototype.pg,"XCSR"],Gh[65398]=[null,null,Ch.prototype.df,Ch.prototype.og,"XBUF"],Gh);
wb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ch(d);Ea(d,c)}});function yd(a){q.call(this,"PC11",a);this.M=Hh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.B=this.F=this.b=0;this.w=[];this.u=Ih;this.i=Jh;this.L=this.j="";this.ca=this.Ba=this.Aa=null;this.P=-1;this.O=!pb("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(yd,q);
function Hh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=yd.prototype;
h.sa=function(a,b,c){var d=this,e=Jh;switch(b){case "listTapes":return this.C[b]=c,c.onchange=function(){var a=d.C.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=Kh;case "loadTape":return e||(e=Lh),this.C[b]=c,c.onclick=
function(){var a=d.C.listTapes;a&&Mh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.C[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mh(d,Qa(b,!0),b,Lh,a)}return!1};return!0;case Nh:return this.C[b]=c,!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;this.I=Oh(a);var e=this;if(a=Hh(this,ae(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=ld(this.f,56,4,4096);this.R=hd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.w.length&&(e.F=e.w[e.B++]&255,Ph(e,e.B/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&id(e.f,e.H))});Yb(b,this,Qh);$b(b,this.reset.bind(this));Rh(this,"None",Ih,!0);this.O&&Rh(this,"Local Tape",Sh);Rh(this,"Remote Tape",Th);Uh(this)||A(this)};
h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.F=0};function Uh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.C.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Qa(c,!0)}c&&b?Vh(a,b,c,Lh,!0):Wh(a)}return!!a.g}
function Mh(a,b,c,d,e){if(c)if(c==Sh)a.N('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Th){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.u=Th}else a.u=c;Vh(a,b,c,d,!1,e)}else Xh(a,!1)}
function Vh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Xh(a,!0),a.A.fb?a.N("PC11 busy"):(e&&(a.g++,B(a)&&C(a,"auto-loading tape: "+b)),Yh(a,b,c,d,f)?g++:a.A.fb=!0);g&&Zh(a,a.L,a.j,a.i,a.ca,a.Ba,a.Aa)}
function Yh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Zh(a,b,c,d,e),a.u=Sh);Wh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ra(c),f="json"==e||"gz"==e?encodeURI(c):eb()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!cb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(xa(a.nb,e,f),(e=db(e,f))&&Zh(a,b,c,d,e.ca,e.Ba,
e.Aa));a.A.fb=!1;a.g&&(a.g--,a.g||A(a));Wh(a)})}function Rh(a,b,c,d){if((a=a.C.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Wh(a){var b=a.C.listTapes;if(b&&b.options){a=a.u||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Ph(a,b){b|=0;if(b!==a.P){var c=a.C[Nh];c&&(c=(c=y(c,$h))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Zh(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.Ba=f;a.Aa=g;d==Kh?a.I&&Ah(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.N('No valid memory address for tape "'+b+'"'):(a.B=0,a.w=e,a.status('Loaded tape "'+b+'"'),Ph(a,0))}function Xh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Lh?"tape detached":"tape unloaded"),a.u=Ih,a.i=Jh,Wh(a))}h.save=function(){return(new L(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Df=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&id(this.f,this.H)):(this.b&=-129,this.b|=2048,this.F=0,kd(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.re=function(){this.b&=-129;this.b|=2048;return this.F};h.Cf=function(){};var Ih="",Sh="?",Th="??",Jh=0,Lh=1,Kh=2,Nh="readProgress",$h="pcjs-progress-bar",ai={},Qh=(ai[65384]=[null,null,yd.prototype.se,yd.prototype.Df,"PRS"],ai[65386]=[null,null,yd.prototype.re,yd.prototype.Cf,"PRB"],ai);
function bi(a,b,c){q.call(this,"Disk",{id:a.nb+".disk"+I(++ci,4)},0,8192);this.controller=a;this.J=a.J;this.G=a.G;this.u=b;this.Na=b.name;this.ra=this.kc="";this.gc=b.gc;this.Y=this.ea=this.aa=this.qa=this.mode=0;this.b=[];this.i=null;this.j=!1;di(this,c,b.Y,b.ea,b.aa,b.qa);this.g=this.w=null;A(this)}p(bi,q);h=bi.prototype;h.wa=function(a,b,c,d){this.G=d};
function di(a,b,c,d,e,f){a.mode=b;a.Y=c;a.ea=d;a.aa=e;a.qa=f;a.b=[];if("preload"!=a.mode){b=Array(a.Y);for(c=0;c<b.length;c++){d=Array(a.ea);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=ei(null,c,e,g,a.qa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function fi(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.ra=c;a.kc=Qa(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ta[d];if(e){a.Y=e[0];a.ea=e[1];a.aa=e[2];a.qa=e[3]||512;c=a.qa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.Y);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ea),t=0;t<u.length;t++)for(var E=u[t]=Array(a.aa),z=0;z<E.length;z++){for(var D=ei(null,d,t,z+1,a.qa,0),F=D.data,gb=0;gb<c;gb++,f+=4)var jd=F[gb]=b.getInt32(f,
!0),e=e+jd&-1;D.Ja=c;E[z]=D}a.i=e;c=a}else a.N("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Na,a.ra),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ra(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Sa(c,"/")&&(d="dir"),f=eb()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.gc?"":e)+"&format=json"));return!!cb(f,
null,!0,function(b,c,d){gi(a,b,c,d)})}
function gi(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.N('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{xa(a.controller.nb,b,c);try{if(0<Qa(a.kc,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.Y=k.length;a.ea=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.qa=l&&l.length||512;for(d=c=0;d<a.Y;d++)for(f=0;f<a.ea;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,E=u.length;E<t;E++)u[E]=n;hi(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}ei(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Na)}catch(z){v("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Na,a.ra),a.g=null)}function ei(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Wa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.u,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.ea)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=ei(null,a,b,g+1,f.Cc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.zc&&(d=k[g]=ei(null,a,b,f.zc,f.Cc,0))}}e&&e(d,!1);return d};function hi(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
function Wc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Kb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Kb){n=l.size-(f-m);n>g&&(n=g);l.Kb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return $c(ad,f,g)}f=new K(a,f,n,a.j,d,e);Vc(f,a.G,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+bd[d]+" at "+F(b)),!0):$c(cd,b,c)}h.$c=function(a){return this.u[(a&this.w)>>>this.g].xb(a&this.i,a)};
h.ic=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Lb||b!=this.i?this.u[c].na(b,a):this.u[c++].xb(b,a)|this.u[c&this.U].xb(0,a+1)<<8};h.ad=function(a,b){this.u[(a&this.w)>>>this.g].zb(a&this.i,b,a)};h.Ob=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Lb||c!=this.i?this.u[d].Ab(c,b,a):(this.u[d++].zb(c,b&255,a),this.u[d&this.U].zb(0,b>>8&255,a+1))};function dd(a,b){return a.b[(b&a.I)>>>a.g]}
function Jc(a,b){var c;a.F=!1;a.ma++;var d=b&a.i,e=dd(a,b);Lb||d!=a.i?c=e.B(d,b):c=e.j(d,b)|dd(a,b+1).j(0,b+1)<<8;a.ma--;return c}function ed(a,b,c){a.F=!1;a.ma++;dd(a,b).D(b&a.i,c&255,b);a.ma--}function wc(a,b,c){a.F=!1;a.ma++;var d=b&a.i,e=dd(a,b);Lb||d!=a.i?e.F(d,c&65535,b):(e.D(d,c&255,b),dd(a,b+1).D(0,c>>8&255,b+1));a.ma--}
function Zc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Xa||e.He){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function fd(a){for(var b=gd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Kb)}return c}
function hd(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&id;if(void 0!==a.Ma[n])return v("I/O address already registered: "+H(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
function ac(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ka)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!hd(a,f,f,k,l,m,n,g[7]||b.ia,r||b.nb))return!1}}return!0}
function cc(a,b){a.N.push(b)}h.La=function(a,b,c){this.F=!0;this.ma||(this.G&&B(this.G,4)&&C(this.G,"memory fault ("+c+") on "+M(this.G,a),!0,!0),b&&(this.f.R|=b),this.f.ta(4,0,a))};function jd(a){var b=a.F;a.F=!1;return b}function $c(a,b,c){v("Memory block error ("+a+": "+H(b)+","+H(c)+")");return!1}var Qc=8192,id=Qc-1,ad=1,cd=2;
function Rc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&B(this.f,16|e[5])&&C(this.f,e[4]+".readByte("+M(this.f,b)+"): "+M(this.f,c),!0,!d.ma),c;d.La(b,16,3);c=255;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+M(this.f,b)+": "+M(this.f,c),!0,!d.ma);return c}
function Sc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&B(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+M(this.f,c)+","+M(this.f,b)+")",!0,!e.ma):(e.La(c,16,5),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+M(this.f,c)+": "+M(this.f,
b),!0,!e.ma))}function Tc(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+M(this.f,b)+"): "+M(this.f,c),!0,!d.ma),c;d.La(b,16,2);c=65535;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+M(this.f,b)+": "+M(this.f,c),!0,!d.ma);return c}
function Uc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+M(this.f,c)+","+M(this.f,b)+")",!0,!e.ma):(e.La(c,16,4),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+M(this.f,c)+": "+M(this.f,b),!0,!e.ma))}function N(a){q.call(this,"Device",a,256);this.b={Za:128,Xc:-1}}p(N,q);h=N.prototype;
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.G=d;var e=this;this.b.Xc=kd(c,function(){e.b.Za|=128;e.b.Za&64&&ld(e.f,e.b.ib);e.J&&J(e.J,1);md(e.f,e.b.Xc,1E3/60)});this.b.ib=nd(c,64,6,524288);ac(b,this,od);cc(b,this.reset.bind(this));d&&pd(d,64,function(a){var b=e.f;rd(e,"KIPDR",b.B[0],0,a[0]);rd(e,"KDPDR",b.B[0],8,a[0]);rd(e,"KIPAR",b.M[0],0,a[0]);rd(e,"KDPAR",b.M[0],8,a[0],!0);rd(e,"SIPDR",b.B[1],0,a[0]);rd(e,"SDPDR",b.B[1],8,a[0]);rd(e,"SIPAR",b.M[1],0,a[0]);rd(e,"SDPAR",b.M[1],8,a[0],
!0);rd(e,"UIPDR",b.B[3],0,a[0]);rd(e,"UDPDR",b.B[3],8,a[0]);rd(e,"UIPAR",b.M[3],0,a[0]);rd(e,"UDPAR",b.M[3],8,a[0],!0);b.V&32&&rd(e,"UNIMAP",b.Fa,-1,a[0])});A(this)};function rd(a,b,c,d,e,f){a=a.G;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+Qa(n)+"]":"")+":"),g+=" "+M(a,c[d+n],l);a.v(g+(f?"\n":""))}}h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b.Za=128;md(this.f,this.b.Xc,1E3/60,!0)};h.save=function(){var a=new I(this);a.set(0,[this.b.Za]);return a.data()};h.restore=function(a){a=ja(a[0]);this.b.Za=a.next().value;return!0};h.ef=function(){return this.b.Za};h.rg=function(a){this.b.Za=a&192;this.b.Za&64||sd(this.f,this.b.ib)};h.gf=function(){return td(this.f)};h.tg=function(a){ud(this.f,a&-129|this.f.U&128)};h.hf=function(){return vd(this.f)};h.jf=function(){return wd(this.f)};
h.kf=function(){return this.f.V};h.ug=function(a){xd(this.f,a)};h.Tf=function(a){a=a>>1&63;var b=this.f.Fa[a>>1];return a&1?b>>16:b&65535};h.bh=function(a,b){b=b>>1&63;var c=b>>1;this.f.Fa[c]=b&1?this.f.Fa[c]&65535|(a&63)<<16:this.f.Fa[c]&-65536|a&65534};h.Mf=function(a){return this.f.B[1][a>>1&7]};h.Vg=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Kf=function(a){return this.f.B[1][(a>>1&7)+8]};h.Tg=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Lf=function(a){return this.f.M[1][a>>1&7]};
h.Ug=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Jf=function(a){return this.f.M[1][(a>>1&7)+8]};h.Sg=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.df=function(a){return this.f.B[0][a>>1&7]};h.qg=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.bf=function(a){return this.f.B[0][(a>>1&7)+8]};h.og=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.cf=function(a){return this.f.M[0][a>>1&7]};h.pg=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
h.af=function(a){return this.f.M[0][(a>>1&7)+8]};h.ng=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Sf=function(a){return this.f.B[3][a>>1&7]};h.ah=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Qf=function(a){return this.f.B[3][(a>>1&7)+8]};h.Zg=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Rf=function(a){return this.f.M[3][a>>1&7]};h.$g=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Pf=function(a){return this.f.M[3][(a>>1&7)+8]};
h.Yg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Ib=function(a){a&=7;return this.f.w&2048?this.f.pa[a]:this.f.g[a]};h.Mb=function(a,b){b&=7;this.f.w&2048?this.f.pa[b]=a:this.f.g[b]=a};h.qf=function(){return this.f.w&49152?this.f.W[0]:this.f.g[6]};h.zg=function(a){this.f.w&49152?this.f.W[0]=a:this.f.g[6]=a};h.tf=function(){return this.f.g[7]};h.Cg=function(a){this.f.g[7]=a};h.Jb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.pa[a]};
h.Nb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.pa[b]=a};h.rf=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[1]};h.Ag=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[1]=a};h.sf=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[3]};h.Bg=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[3]=a};h.$e=function(a){return this.f.fc[a-65504>>1]};h.mg=function(a,b){this.f.fc[b-65504>>1]=a};h.Od=function(a){return 65520==a?(fd(this.D)>>6)-1:0};
h.Td=function(){};h.Of=function(){return 1};h.Xg=function(){};h.Ze=function(){return this.f.R};h.lg=function(){this.f.R=0};h.ff=function(){return this.f.cc};h.sg=function(a,b){b&1||(a&=255);this.f.cc=a};h.lf=function(a,b){return b?0:this.f.Va};h.vg=function(a){yd(this.f,a)};h.Nf=function(a,b){return b?0:this.f.za&65280};h.Wg=function(a){this.f.za=a|255};h.pf=function(){return zd(this.f)};h.yg=function(a){Ad(this.f,a)};h.Sd=function(a,b){B(this)&&C(this,"writeIgnored("+F(b)+"): "+F(a),!0,!0)};
var O={},od=(O[61568]=[null,null,N.prototype.Tf,N.prototype.bh,"UNIMAP",64,1170],O[62592]=[null,null,N.prototype.Mf,N.prototype.Vg,"SIPDR",8,1145,64],O[62608]=[null,null,N.prototype.Kf,N.prototype.Tg,"SDPDR",8,1145,64],O[62624]=[null,null,N.prototype.Lf,N.prototype.Ug,"SIPAR",8,1145,64],O[62640]=[null,null,N.prototype.Jf,N.prototype.Sg,"SDPAR",8,1145,64],O[62656]=[null,null,N.prototype.df,N.prototype.qg,"KIPDR",8,1140,64],O[62672]=[null,null,N.prototype.bf,N.prototype.og,"KDPDR",8,1145,64],O[62688]=
[null,null,N.prototype.cf,N.prototype.pg,"KIPAR",8,1140,64],O[62704]=[null,null,N.prototype.af,N.prototype.ng,"KDPAR",8,1145,64],O[62798]=[null,null,N.prototype.kf,N.prototype.ug,"MMR3",1,1145,64],O[65382]=[null,null,N.prototype.ef,N.prototype.rg,"LKS"],O[65402]=[null,null,N.prototype.gf,N.prototype.tg,"MMR0",1,1140,64],O[65404]=[null,null,N.prototype.hf,N.prototype.Sd,"MMR1",1,1145,64],O[65406]=[null,null,N.prototype.jf,N.prototype.Sd,"MMR2",1,1140,64],O[65408]=[null,null,N.prototype.Sf,N.prototype.ah,
"UIPDR",8,1140,64],O[65424]=[null,null,N.prototype.Qf,N.prototype.Zg,"UDPDR",8,1145,64],O[65440]=[null,null,N.prototype.Rf,N.prototype.$g,"UIPAR",8,1140,64],O[65456]=[null,null,N.prototype.Pf,N.prototype.Yg,"UDPAR",8,1145,64],O[65472]=[null,null,N.prototype.Ib,N.prototype.Mb,"R0SET0"],O[65473]=[null,null,N.prototype.Ib,N.prototype.Mb,"R1SET0"],O[65474]=[null,null,N.prototype.Ib,N.prototype.Mb,"R2SET0"],O[65475]=[null,null,N.prototype.Ib,N.prototype.Mb,"R3SET0"],O[65476]=[null,null,N.prototype.Ib,
N.prototype.Mb,"R4SET0"],O[65477]=[null,null,N.prototype.Ib,N.prototype.Mb,"R5SET0"],O[65478]=[null,null,N.prototype.qf,N.prototype.zg,"R6KERNEL"],O[65479]=[null,null,N.prototype.tf,N.prototype.Cg,"R7KERNEL"],O[65480]=[null,null,N.prototype.Jb,N.prototype.Nb,"R0SET1",1,1145],O[65481]=[null,null,N.prototype.Jb,N.prototype.Nb,"R1SET1",1,1145],O[65482]=[null,null,N.prototype.Jb,N.prototype.Nb,"R2SET1",1,1145],O[65483]=[null,null,N.prototype.Jb,N.prototype.Nb,"R3SET1",1,1145],O[65484]=[null,null,N.prototype.Jb,
N.prototype.Nb,"R4SET1",1,1145],O[65485]=[null,null,N.prototype.Jb,N.prototype.Nb,"R5SET1",1,1145],O[65486]=[null,null,N.prototype.rf,N.prototype.Ag,"R6SUPER",1,1145],O[65487]=[null,null,N.prototype.sf,N.prototype.Bg,"R6USER",1,1145],O[65504]=[null,null,N.prototype.$e,N.prototype.mg,"CTRL",8,1170],O[65520]=[null,null,N.prototype.Od,N.prototype.Td,"LSIZE",1,1170],O[65522]=[null,null,N.prototype.Od,N.prototype.Td,"HSIZE",1,1170],O[65524]=[null,null,N.prototype.Of,N.prototype.Xg,"SYSID",1,1170],O[65526]=
[null,null,N.prototype.Ze,N.prototype.lg,"ERR",1,1170],O[65528]=[null,null,N.prototype.ff,N.prototype.sg,"MBR",1,1170],O[65530]=[null,null,N.prototype.lf,N.prototype.vg,"PIR"],O[65532]=[null,null,N.prototype.Nf,N.prototype.Wg,"SLR"],O[65534]=[null,null,N.prototype.pf,N.prototype.yg,"PSW"],O);
yb(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 N(c);Ea(c,d);break;case "pc11":c=new Bd(c);Ea(c,d);break;case "rl11":c=new Cd(c);Ea(c,d);break;case "rk11":c=new Q(c),Ea(c,d)}}});
function K(a,b,c,d,e,f){this.C=a;this.id=Dd+=2;this.b=null;this.K=b;this.Kb=c;this.size=d||0;this.type=e||Ed;this.J=e==Fd;this.f=this.controller=null;this.xb=this.j=this.Tc;this.na=this.B=this.Uc;this.zb=this.D=this.Lb;this.Ab=this.F=this.xc;this.G=this.i=0;Vc(this);this.Xa=this.He=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Gd(this,f.Be);else if(Gb)this.u=new ArrayBuffer(this.size),this.w=new DataView(this.u,0,this.size),this.g=new Uint8Array(this.u,0,this.size),this.H=new Uint16Array(this.u,
0,this.size>>1),this.b=new Int32Array(this.u,0,this.size>>2),Gd(this,Hd?Id:Rd);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Gd(this,Sd)}else Gd(this)}h=K.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Gb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Gb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1};function Gd(a,b){b||(b=Td);Ud(a,b,void 0);Vd(a,b,void 0)}function Ud(a,b,c){c&&a.G||(a.xb=b[0]||a.Tc,a.na=b[2]||a.Uc);if(c||void 0===c)a.j=b[0]||a.Tc,a.B=b[2]||a.Uc}function Vd(a,b,c){c&&a.i||(a.zb=!a.J&&b[1]||a.Lb,a.Ab=!a.J&&b[3]||a.xc);if(c||void 0===c)a.D=b[1]||a.Lb,a.F=b[3]||a.xc}
h.tb=function(a,b){b?this.i++||Vd(this,Wd,!1):this.G++||Ud(this,Wd,!1)};function Xd(a,b){b?--a.i||(a.zb=a.J?a.Lb:a.D,a.Ab=a.J?a.xc:a.F):--a.G||(a.xb=a.j,a.na=a.B)}function Vc(a,b,c){a.f=b;a.G=a.i=0;c&&((a.G=c.G)&&Ud(a,Wd,!1),(a.i=c.i)&&Vd(a,Wd,!1))}h.Tc=function(a,b){this.f&&B(this.f,32)&&C(this.f,"attempt to read invalid address "+M(this.f,b),!0);this.C.La(b,32,2);return 255};
h.Lb=function(a,b,c){this.f&&B(this.f,32)&&C(this.f,"attempt to write "+M(this.f,b)+" to invalid addresses "+M(this.f,c),!0);this.C.La(c,32,4)};h.Uc=function(a,b){return this.xb(a++,b++)|this.xb(a,b)<<8};h.xc=function(a,b,c){this.zb(a++,b&255,c++);this.zb(a,b>>8,c)};h.Xe=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.Zf=function(a,b){Kb&&a&1&&this.C.La(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.jg=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=!0};h.gh=function(a,b,c){Kb&&a&1&&this.C.La(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0};h.Ve=function(a,b){this.f&&null!=this.K&&Yd(this.f,this.K+a);return this.j(a,b)};h.Vf=function(a,b){this.f&&null!=this.K&&Yd(this.f,this.K+a,2);return this.B(a,b)};
h.hg=function(a,b,c){this.f&&null!=this.K&&Zd(this.f,this.K+a);this.J?this.Lb(0,b,c):this.D(a,b,c)};h.eh=function(a,b,c){this.f&&null!=this.K&&Zd(this.f,this.K+a,2);this.J?this.Lb(0,b,c):this.F(a,b,c)};h.Ue=function(a){return this.g[a]};h.We=function(a,b){a=this.g[a];this.f&&B(this.f,32)&&C(this.f,"Memory.readByte("+M(this.f,b)+"): "+M(this.f,a),!0);return a};h.Uf=function(a,b){Kb&&a&1&&this.C.La(b,64,2);return this.w.getUint16(a,!0)};
h.Yf=function(a,b){Kb&&a&1&&this.C.La(b,64,2);a=!Lb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&B(this.f,32)&&C(this.f,"Memory.readWord("+M(this.f,b)+"): "+M(this.f,a),!0);return a};h.gg=function(a,b){this.g[a]=b;this.Xa=!0};h.ig=function(a,b,c){this.g[a]=b;this.Xa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeByte("+M(this.f,c)+","+M(this.f,b)+")",!0)};h.dh=function(a,b,c){Kb&&a&1&&this.C.La(c,64,4);this.w.setUint16(a,b,!0);this.Xa=!0};
h.fh=function(a,b,c){Kb&&a&1&&this.C.La(c,64,4);!Lb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Xa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeWord("+M(this.f,c)+","+M(this.f,b)+")",!0)};var Ed=0,gd=1,Fd=2,Xc=4,bd=["NONE","RAM","ROM","VID","H/W"],Dd=0,Td=[],Sd=[K.prototype.Xe,K.prototype.jg,K.prototype.Zf,K.prototype.gh],Wd=[K.prototype.Ve,K.prototype.hg,K.prototype.Vf,K.prototype.eh];
if(Gb)var Rd=[K.prototype.Ue,K.prototype.gg,K.prototype.Uf,K.prototype.dh],Id=[K.prototype.We,K.prototype.ig,K.prototype.Yf,K.prototype.fh];var $d;if(Gb){var ae=new ArrayBuffer(2);(new DataView(ae)).setUint16(0,256,!0);$d=256===(new Uint16Array(ae))[0]}else $d=!1;var Hd=$d;
function be(a,b){q.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Cc=0;this.zc=b;this.eb=c;this.Kc=Math.round(this.zc/1E4)/100;this.qb=this.Kc*this.eb;this.Lc=this.Zb=this.ub=this.Ac=0;this.A.T=this.A.vc=!1;this.A.va=a.autoStart;"string"==typeof this.A.va&&(this.A.va="true"==this.A.va);this.A.Db=!1;this.Xb=this.Fb=0;this.Yb=+a.csStart;this.Eb=+a.csInterval;this.Gb=+a.csStop;this.ja=[];this.ud=this.cg.bind(this);this.fb=this.Ia=this.cb=this.b=this.la=this.Ha=this.Wb=this.bb=this.Hb=
this.Mc=this.pb=0;this.ua=null;A(this)}p(be,q);h=be.prototype;h.wa=function(a,b,c,d){this.J=a;this.D=b;this.G=d;this.ua=a.i;for(a=0;a<ce.length;a++)(b=this.C[ce[a]])&&this.J.sa(null,ce[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ya=function(a,b){var c=de(this.J,"autoStart");null!=c?this.A.va="true"==c?!0:"false"==c?!1:!!c:null==this.A.va&&(this.A.va=!this.G&&void 0===this.C.run);if(!b){if(a){ee(this);if(!this.restore(a))return!1;fe(this)}else this.reset();this.G?(a=this.G,b=this.A.va,a.Ea=!0,a.v("Type ? for help with PDPjs Debugger commands"),ge(a),b||he(a),a.ua&&(b=a.ua,a.ua=null,ie(a,b))):this.status("No debugger detected");this.A.va||this.v("CPU will not be auto-started "+(this.ua?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.xa=function(a){return a?this.save():!0};h.va=function(){return this.A.T?!0:this.A.va?(qc(this),!0):!1};h.Id=function(){return 0};function fe(a){void 0===a.Yb&&(a.Yb=0);void 0===a.Eb&&(a.Eb=-1);void 0===a.Gb&&(a.Gb=-1);a.A.Db=0<=a.Yb&&0<a.Eb;a.A.Db&&(a.Xb=0,a.Fb=a.Yb-a.fb)}function uc(a,b){if(a.A.Db){var c=!1;a.Xb=a.Xb+a.Id()|0;a.Fb-=b;0>=a.Fb&&(a.Fb+=a.Eb,c=!0);0<=a.Gb&&a.Gb<=je(a)&&(a.Eb=a.Gb=-1,fe(a),a.ba(),c=!0);c&&a.v(je(a)+" cycles: checksum="+H(a.Xb))}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=Ba(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.rc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.T?d.ba():qc(d))},!0;
case "speed":return this.C[b]=c,!0;case "setSpeed":return this.C[b]=c,c.onclick=function(){ke(d,d.eb<<1,!0)},c.textContent=this.qb.toFixed(2)+"Mhz",!0}return!1};function tc(a,b,c){a.fb+=b;c&&(a.cb=a.b=a.la=0)}function le(a,b){var c=1;b&&1<a.eb&&a.pb&&(c=a.pb/a.Kc);a.Lc=Math.round(1E3/me);a.Zb=Math.floor(a.zc/me*c);b||(a.ub=a.Zb);a.Ac=0}function je(a){return a.fb+a.Ia+a.cb-a.b}function ee(a){a.pb=0;a.Mc=0;a.fb=a.Ia=a.cb=a.b=a.la=0;fe(a);ke(a,1)}
function ke(a,b,c){var d=!1;if(void 0!==b){.8>a.pb/a.qb?b=1:d=!0;a.eb=b;b=a.Kc*a.eb;if(a.qb!=b){a.qb=b;b=a.qb.toFixed(2)+"Mhz";var e=a.C.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&ne(a.J)}tc(a,a.Ia);a.Ia=0;a.Ha=ya();a.bb=0;le(a);return d}function kd(a,b){var c=a.ja.length;a.ja.push([-1,b]);return c}function md(a,b,c,d){0<=b&&b<a.ja.length&&(d||0>a.ja[b][0])&&(c=a.zc*a.eb/1E3*c|0,a.A.T&&(c+=oe(a)),a.ja[b][0]=c)}
function pe(a,b){for(var c=a.ja.length-1;0<=c;c--){var d=a.ja[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qe(a){for(var b=[],c=0;c<a.ja.length;c++)b.push(a.ja[c][0]);return b}function sc(a,b){for(var c=a.ja.length-1;0<=c;c--){var d=a.ja[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function oe(a,b){var c=a.cb-=a.b;a.b=a.la=0;b&&(a.cb=0);return c}
h.cg=function(){if(this.A.T){this.Ac>=this.zc&&le(this,!0);this.Hb=0;this.Wb=ya();if(this.bb){var a=this.Wb-this.bb;a>this.Lc&&(this.Ha+=a,this.Ha>this.Wb&&(this.Ha=this.Wb))}try{do{var b=pe(this,this.A.Db?1:this.Zb);try{this.jc(b)}catch(e){if("number"!=typeof e)throw e;}b=oe(this,!0);this.Hb+=b;this.Ia+=b;uc(this,b);sc(this,b);this.ub-=b;if(0>=this.ub){this.ub+=this.Zb;++this.Mc>=re&&(this.J&&J(this.J,void 0),this.Mc=0);break}}while(this.A.T)}catch(e){this.ba();this.J&&this.J.stop(ya(),je(this));
Fa(this,e.stack||e.message);return}if(this.A.T){a=setTimeout;b=this.ud;this.bb=ya();var c=this.Lc;this.Hb&&(c=Math.round(c*this.Hb/this.Zb));var c=c-(this.bb-this.Wb),d=this.bb-this.Ha;d&&(this.pb=Math.round(this.Ia/(10*d))/100,864E5<=d&&(this.fb=0,ke(this)));if(0>c||this.pb<this.qb)-1E3>c&&(this.Ha-=c),c=0;this.Ac+=this.Hb;this.bb+=c;a(b,c)}}};
function qc(a,b){if(!Ga(a))if(a.A.T)a.v(a.toString()+" busy");else{ke(a);a.A.T=!0;a.A.vc=!0;var c=a.C.run;c&&(c.textContent="Halt");a.J&&(b&&ne(a.J,!0),a.J.start(a.Ha,je(a)));a.G||a.status("Started");setTimeout(a.ud,0)}}h.jc=function(){return 0};h.ba=function(a){var b=!1;if(this.A.T){oe(this);tc(this,this.Ia);this.Ia=0;this.A.T=!1;if(b=this.C.run)b.textContent="Run";this.J&&this.J.stop(ya(),je(this));b=!0;this.G||this.status("Stopped")}this.A.complete=a;return b};var me=30,re=15,ce=["power","reset"];
function se(a){var b=+a.model||1170;be.call(this,a,6666667);this.ka=b;this.od=+a.addrReset||0;this.Ua=this.w=this.N=this.F=this.H=this.L=this.I=0;this.g=this.pa=this.W=[];this.M=this.B=this.Fa=this.fc=[];this.$a=this.P=this.ld=this.rb=this.lb=this.sb=this.ab=this.R=this.cc=this.Va=this.za=this.U=this.dc=this.ec=this.V=this.i=0;this.qd=[4,2,0,1];this.gc=0;this.rd=255;1120>=this.ka?(this.kd=te.bind(this),this.Cb=this.Fe,this.gc=8,this.rd=-1,this.yd=255,this.xd=0):(this.kd=ue.bind(this),this.Cb=this.Ge,
this.yd=~(1792|(1140>=this.ka?2048:0))&65535,this.xd=1140<this.ka?2048:0);this.kc=this.hc=this.oa=0;this.S=null;this.Vb=[];this.Sb=this.Ec=this.Hd;this.Tb=this.Fc=this.Md;this.wc=this.Gc=this.Qd;this.Ub=this.Jc=this.Rd;this.Ga=this.mb=this.ac=this.bc=0;this.Ea=this.Ld;this.na=this.Vc;this.Ab=this.Yc;this.u=this.j=this.yc=this.X=this.Z=0;this.A.complete=!1}p(se,be);h=se.prototype;
h.wa=function(a,b,c,d){be.prototype.wa.call(this,a,b,c,d);this.Ec=b.$c.bind(b);this.Fc=b.ic.bind(b);this.Gc=b.ad.bind(b);this.Jc=b.Ob.bind(b)};h.ya=function(a,b){for(var c=192,d=0;d<this.Vb.length;d++){var e=this.Vb[d];0>e.yb&&(e.yb=c,c+=4)}return be.prototype.ya.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ka);this.A.T&&this.ba();this.F=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.od,-1,-2,-3,-4,-5,-6,-7,-8];this.pa=[0,0,0,0,0,0];this.W=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Fa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.fc=[0,0,0,0,0,0,0,0];this.N=0;this.Ua=-1;this.u=this.j=this.yc=this.X=this.Z=this.i=this.cc=0;oc(this);ee(this);this.A.error=!1;be.prototype.reset.call(this)};function oc(a){a.U=0;a.dc=0;a.ec=0;a.V=0;a.R=0;a.Va=0;a.za=255;a.rb=0;a.lb=0;a.sb=0;a.ab=262143;a.$a=a.g[7];a.P=0;a.S=null;a.D&&(ve(a),a.ld=fd(a.D))}
function ve(a){a.Sb=a.Ec;a.Tb=a.Fc;a.wc=a.Gc;a.Ub=a.Jc;a.ac&&(a.Sb=a.Hd,a.Tb=a.Md);a.bc&&(a.wc=a.Qd,a.Ub=a.Rd);a.rb?(a.Ga=65536,a.mb=a.V&16?4186112:253952,a.Ea=a.Ld,a.na=a.ac?a.Xf:a.Vc,a.Ab=a.bc?a.ih:a.Yc,Yc(a.D,a.V&16?22:18)):(a.Ga=0,a.mb=57344,a.Ea=a.Ie,a.na=a.ac?a.Wf:a.Pd,a.Ab=a.bc?a.hh:a.Ud,Yc(a.D,16))}function td(a){var b=a.U;b&57344||(b=b&-3199|a.lb<<5|a.sb<<1);return b}
function ud(a,b){b&=-3073;if(a.U!=b){b&57344&&!(a.U&57344)&&(a.dc=a.P>>16&65535,a.ec=a.P&65535);a.U=b;a.lb=(b&96)>>5;a.sb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.rb!=c&&(a.rb=c,ve(a))}}function vd(a){a.U&57344||(a.dc=a.P>>16&65535);a=a.dc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function wd(a){a.U&57344||(a.ec=a.P&65535);return a.ec}function xd(a,b){1170>a.ka&&(b&=-49);a.V!=b&&(a.V=b,a.ab=b&16?4194303:262143,ve(a))}
function we(a,b,c){a.od=b;xe(a,b);Ad(a,0);a.D.reset();oc(a);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.T||qc(a)}else a.G&&a.A.fa?a.ba()||(ge(a.G),J(a.J,-1)):!1===c&&a.ba();!a.A.T&&a.ua&&a.ua.stop()}h.Id=function(){return 0};
h.save=function(){var a=new I(this);a.set(0,[this.g,this.pa,this.W,this.M,this.B,this.Fa,this.fc,this.R,this.cc,this.Va,this.za,this.lb,this.sb,this.$a,this.i,this.P,this.Ua,this.hc,this.kc]);a.set(1,[zd(this),td(this),vd(this),wd(this),this.V]);a.set(2,[this.fb,this.eb,this.A.va]);a.set(3,ye(this));a.set(4,qe(this));return a.data()};
h.restore=function(a){var b=ja(a[0]);this.g=b.next().value;this.pa=b.next().value;this.W=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Fa=b.next().value;this.fc=b.next().value;this.R=b.next().value;this.cc=b.next().value;this.Va=b.next().value;this.za=b.next().value;this.lb=b.next().value;this.sb=b.next().value;this.$a=b.next().value;this.i=b.next().value;this.P=b.next().value;this.Ua=b.next().value;this.hc=b.next().value;this.kc=b.next().value;b=a[1];Ad(this,b[0]);ud(this,b[1]);
this.dc=b[2];this.ec=b[3];xd(this,b[4]);b=a[2];this.fb=b[0];ke(this,b[1]);this.A.va=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Vb.length;d++){var e=this.Vb[d];if(e.yb===b[c]){d=e;break a}}d=null}d&&(d.next=this.S,this.S=d)}a=a[4];for(b=0;b<this.ja.length&&b<a.length;b++)this.ja[b][0]=a[b];return!0};function ze(a){return a.F&65536?1:0}function Ae(a){return a.H&32768?2:0}function Be(a){return a.L&65535?0:4}function Ce(a){return a.I&32768?8:0}
function De(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function R(a,b,c){c&&(xe(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function xe(a,b){a.g[7]=b&65535}function nd(a,b,c,d){b={yb:b,jb:c,message:d||0,name:Ob[b],next:null};a.Vb.push(b);return b}function Ee(a,b){var c=a.S;if(c==b)a.S=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.S&&(a.i|=1)}
function ld(a,b){if(b){if(b!=a.S){var c=a.S;if(!c||c.jb<=b.jb)b.next=c,a.S=b;else{do{var d=c.next;if(!d||d.jb<=b.jb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&B(a,b.message|8)&&C(a,"setIRQ(vector="+F(b.yb)+",priority="+b.jb+")",!0,!0)}}function sd(a,b){b&&(Ee(a,b),b.message&&B(a,b.message|8)&&C(a,"clearIRQ(vector="+F(b.yb)+",priority="+b.jb+")",!0,!0))}function ye(a){var b=[];for(a=a.S;a;)b.push(a.yb),a=a.next;return b}
function Fe(a){return a.i&64?(a.ta(168,64,-6),!0):a.i&32?(a.ta(4,32,-5),!0):a.i&16?(a.ta(12,16,-7),!0):!1}function zd(a){return a.w=a.w&63728|Ce(a)|Be(a)|Ae(a)|ze(a)}function Ad(a,b){b&=a.yd;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.F=b<<16;if((b^a.w)&a.xd)for(var c=a.pa.length;0<=--c;){var d=a.g[c];a.g[c]=a.pa[c];a.pa[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.W[c]=a.g[6],a.g[6]=a.W[a.N]);a.w=b;a.i&=-3;a.i|=a.S?2:1}function yd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}
h.Da=function(a){this.I=this.L=a;this.H=0};h.kb=function(a,b){this.I=this.L=this.F=a;this.H=b||0};function Ge(a,b){a.I=a.L=a.F=b;a.H=a.I^a.F>>1}function He(a,b,c,d){a.I=a.L=a.F=b;a.H=(c^d)&(d^b)}
h.ta=function(a,b,c){if(!this.oa){0>this.Ua?this.Ua=zd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.N=0;var d=this.na(a|this.Ga),e=this.na(a+2&65535|this.Ga);Ad(this,e&-12289|this.Ua>>2&12288);Ie(this,this.Ua);Ie(this,this.g[7]);xe(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.hc=c;this.kc=a;-1==c&&this.ba();if(-4<=c)throw a;}};
function Je(a){var b=Ke(a),c=Ke(a);a.w&49152&&(c=c&-225|a.w&63712);xe(a,b);Ad(a,c);a.i&=-17}function Le(a,b){var c=b>>13&31;31>c&&(b=a.V&32?a.Fa[c]+(b&8191)&4194303:b&-3932161);return b}
function Me(a,b,c){var d=[];if(c){c=Le(a,b);var e=b>>13&31;d.push(c);d.push(e);a.V&32&&(d.push(a.Fa[e]),d.push(b&8191))}else if(a.rb){var e=a.N<<1,f=b>>13;7<f&&(e|=1);a.V&a.qd[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.ab;3932160<=c&&(c=Le(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.ab)}else c=b&65535,57344<=c&&(c|=a.mb),d.push(c);return d}
function xc(a,b,c){var d,e,f;if(!(c&a.rb))return f=b&65535,57344<=f&&(f|=a.mb),f;d=b>>13;a.V&a.qd[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.ab;3932160<=f&&(f=Le(a,f));if(a.oa)return f;f>=a.ld&&f<a.mb?(a.R|=32,a.ta(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ta(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.ab)||a.N)a.lb=a.N,a.sb=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.U&57344||(g|=a.U&4096|a.lb<<5|a.sb<<1,ud(a,a.U&-61695|g&61694)),a.ta(168,64,-2)),a.U&61440||!(f<(4191360&a.ab)||f>(4194239&a.ab))||(a.U|=4096,a.U&512&&(a.i|=64)));return f}function Ke(a){var b=a.na(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Ie(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.Cb(4,-2,c);a.Ab(c,b)}
function Ne(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.ta(4,0,-3),0;case 1:return 6==c&&a.Cb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Cb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.na(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Cb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.na(e)|g;a.b-=8;break;case 6:return e=a.na(De(a,2)),e=e+a.g[c]&65535,6==c&&a.Cb(d,
0,e),a.b-=6,e|g;case 7:return e=a.na(De(a,2)),e=e+a.g[c]&65535,e=a.na(e|a.Ga),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Fe=function(a,b,c){!this.N&&0>=b&&c<=this.za&&(this.i|=32)};h.Ge=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.za&&(c<=this.za-32?this.ta(4,0,-4):(this.R|=8,this.i|=32)))};h.Hd=function(a){this.G&&Yd(this.G,a,1);return this.Ec(a)};h.Md=function(a){this.G&&Yd(this.G,a,2);return this.Fc(a)};
h.Qd=function(a,b){this.G&&Zd(this.G,a,1);this.Gc(a,b)};h.Rd=function(a,b){this.G&&Zd(this.G,a,2);this.Jc(a,b)};function Kc(a,b){a.oa++;b=a.D.ic(xc(a,b,2));a.oa--;return b}function Oe(a,b){(b?--a.bc:--a.ac)||ve(a)}h.Ie=function(a,b,c){return Ne(this,a,b,c)};h.Ld=function(a,b,c){return xc(this,Ne(this,a,b,c),c)};h.Pd=function(a){return this.D.ic(this.$a=a)};h.Wf=function(a){this.G&&Yd(this.G,a,2);return this.Pd(a)};h.Vc=function(a){return this.D.ic(this.$a=xc(this,a,2))};
h.Xf=function(a){this.G&&Yd(this.G,a,2);return this.Vc(a)};h.Ud=function(a,b){this.D.Ob(this.$a=a,b)};h.hh=function(a,b){this.G&&Zd(this.G,a,2);this.Ud(a,b)};h.Yc=function(a,b){this.D.Ob(this.$a=xc(this,a,4),b)};h.ih=function(a,b){this.G&&Zd(this.G,a,2);this.Yc(a,b)};function Pe(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Ne(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.na(d|c&a.Ga),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.W[a.w>>12&3];return c}
function Qe(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Ne(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=xc(a,e|c&65536,4),a.N=a.w>>14&3,a.Ub(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.W[a.w>>12&3]=d}function Re(a,b){b>>=6;var c=a.Z=b&7;return(b=a.X=(b&56)>>3)?a.Sb(a.Ea(b,c,3)):a.g[c+a.gc]&a.rd}function Se(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.X=(b&56)>>3)?c=a.Tb(a.Ea(b,d,2)):c=a.g[d+a.gc];return c}function Te(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Ne(a,b,c,8)}
function Ue(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.Sb(a.Ea(b,c,3)):a.g[c]&255}function Ve(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.Tb(a.Ea(b,d,2)):c=a.g[d];return c}function We(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.yc=a.Ea(b,e,7),c=0>c?a.g[-c-1]&255:c,a.wc(e,d.call(a,c,a.Sb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function S(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,6),a.Ub(e,d.call(a,0>c?a.g[-c-1]:c,a.Tb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function sf(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Ea(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.wc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function tf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Ub(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.jc=function(a){this.A.complete=!0;var b=this.G?uf(this.G)?1:this.A.vc?-1:0:0,c=a?this.A.vc?0:1:-1;this.A.vc=!1;this.cb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(vf(this.G,this.g[7],c)){this.ba();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.Va&224)>>5,f=this.S&&this.S.jb>e?this.S:null;f&&(d=f.yb,e=f.jb);e>(this.w&224)>>5?(this.i&8&&(De(this,2),this.i&=-9),this.ta(d,0,-10),e=!0):e=!1;e&&(f&&Ee(this,f),a=!0);this.S||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&vf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}if(this.i&112&&Fe(this)){if(this.i&4&&vf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.na(a);this.g[7]=a+2&65535;this.kd(f)}while(0<this.b);return this.A.complete?this.cb-this.b:!1===this.A.complete?-1:0};yb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new se(d);Ea(d,c)}});
function wf(a,b){var c=b+a;this.I=this.L=this.F=c;this.H=(a^c)&(b^c);return c&65535}function xf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.F=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function yf(a,b){a=b<<1;Ge(this,a);return a&65535}function zf(a,b){a=b<<1;Ge(this,a<<8);return a&255}function Af(a,b){a=b&32768|b>>1|b<<16;Ge(this,a);return a&65535}function Bf(a,b){a=b&128|b>>1|b<<8;Ge(this,a<<8);return a&255}function Cf(a,b){a=b&~a;this.Da(a);return a}function Df(a,b){a=b&~a;this.Da(a<<8);return a}
function Ef(a,b){a|=b;this.Da(a);return a}function Ff(a,b){a|=b;this.Da(a<<8);return a}function Gf(a,b){a=~b|65536;this.kb(a);return a&65535}function Hf(a,b){a=~b|256;this.kb(a<<8);return a&255}function If(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Jf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function Kf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function Lf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function Mf(a,b){a=-b;this.kb(a,a&b&32768);return a&65535}function Nf(a,b){a=-b;this.kb(a<<8,(a&b&128)<<8);return a&255}function Of(a,b){a=b<<1|this.F>>16&1;Ge(this,a);return a&65535}function Pf(a,b){a=b<<1|this.F>>16&1;Ge(this,a<<8);return a&255}function Qf(a,b){a=(this.F&65536|b)>>1|b<<16;Ge(this,a);return a&65535}function Rf(a,b){a=((this.F&65536)>>8|b)>>1|b<<8;Ge(this,a<<8);return a&255}function Sf(a,b){var c=b-a;He(this,c,a,b);return c&65535}
function Tf(a,b){var c=b-a;He(this,c<<8,a<<8,b<<8);return c&255}function Uf(a,b){this.I=this.L=b&65280;this.H=this.F=0;return(b<<8|b>>8)&65535}function Vf(a,b){a^=b;this.Da(a);return a&65535}function Wf(a){S(this,a,Se(this,a),wf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function Xf(a){var b=Ve(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.F=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.F=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.F=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.u?6:7)+b}
function Yf(a){var b=Ve(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.F=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.F=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.u?6:7)+b}function Zf(a){R(this,a,!ze(this))}function $f(a){R(this,a,ze(this))}
function ag(a){S(this,a,Se(this,a),Cf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function bg(a){We(this,a,Re(this,a),Df);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function cg(a){S(this,a,Se(this,a),Ef);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function dg(a){We(this,a,Re(this,a),Ff);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function eg(a){var b=Se(this,a);a=Ve(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function fg(a){var b=Re(this,a);a=Ue(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function gg(a){R(this,a,Be(this))}function hg(a){R(this,a,!Ce(this)==!Ae(this))}function ig(a){R(this,a,!Be(this)&&!Ce(this)==!Ae(this))}function jg(a){R(this,a,!ze(this)&&!Be(this))}
function kg(a){R(this,a,Be(this)||!Ce(this)!=!Ae(this))}function lg(a){R(this,a,ze(this)||Be(this))}function mg(a){R(this,a,!Ce(this)!=!Ae(this))}function ng(a){R(this,a,Ce(this))}function og(a){R(this,a,!Be(this))}function pg(a){R(this,a,!Ce(this))}function qg(){this.ta(12,0,-9)}function rg(a){R(this,a,!0)}function sg(a){R(this,a,!Ae(this))}function tg(a){R(this,a,Ae(this))}function ug(a){a&1&&(this.F=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function vg(a){var b=Se(this,a);a=Ve(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;He(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function wg(a){var b=Re(this,a);a=Ue(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);He(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}
function xg(a){var b=Ve(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.F=65536,this.b-=7}function yg(){this.ta(24,0,-9);this.b-=20}
function zg(){this.w&49152?(this.R|=128,this.ta(4,0,-8)):(this.ua&&1120==this.ka&&this.ua.setData(this.g[0],!0),this.G?Ag(this.G):this.ba());this.b-=7}function Bg(){this.ta(16,0,-9);this.b-=20}var Cg=[0,7,7,10,7,11,9,13];function Dg(a){this.la=this.b;xe(this,Te(this,a));this.b=this.la-Cg[this.u]}var Eg=[0,14,14,17,14,18,16,20];function Fg(a){this.la=this.b;var b=Te(this,a);a=a>>6&7;Ie(this,this.g[a]);this.g[a]=this.g[7];xe(this,b);this.b=this.la-Eg[this.u]}
var Gg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Hg(a){var b=Se(this,a);this.la=this.b;tf(this,a,b,this.Da);this.b=this.la-Gg[(this.X?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Ig(a){var b=Re(this,a);sf(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}var Jg=[7,13,13,17,14,18,17,21];
function Kg(a){var b=Ve(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.H=0;this.F=-32768>b||32767<b?65536:0;this.b-=23}function Lg(){this.b-=5}function Mg(){this.w&49152||(this.D.reset(),oc(this),this.ua&&this.ua.setData(this.g[0],!0));this.b-=667}function Ng(a){if(a&8)T.call(this,a);else{var b=Ke(this);a&=7;7==a?xe(this,b):(xe(this,this.g[a]),this.g[a]=b);this.b-=9}}function Og(){Je(this);this.b-=13}
function Pg(a){a&1&&(this.F=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Qg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)xe(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Rg(a){S(this,a,Se(this,a),Sf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Sg(a){S(this,a,0,Uf);this.b-=this.u?9:3+(7==this.j?2:0)}function Tg(){this.ta(28,0,-9)}
function Ug(){this.ua&&(this.ua.Wc(this.g[7],!0),this.ua.setData(this.g[0],!0));this.i|=8;De(this,-2);this.b-=3}function Vg(a){S(this,a,this.g[(a>>6&7)+this.gc],Vf);this.b-=this.u?9:3+(7==this.j?2:0)}function T(a){var b;if(b=this.G)b=this.G,B(b,1)?(C(b,"undefined opcode "+M(b,a),!0,!0),b=Ag(b)):b=!1;b||this.ta(8,0,-9)}function te(a){Wg[a>>12].call(this,a)}function Xg(a){Yg[a>>6&3].call(this,a)}function Zg(a){$g[a>>6&3].call(this,a)}function ah(a){bh[a>>6&3].call(this,a)}
function ch(a){dh[a&15].call(this,a)}function eh(a){fh[a&15].call(this,a)}function gh(a){hh[a>>6&3].call(this,a)}function ih(a){jh[a>>6&3].call(this,a)}function kh(a){lh[a>>6&3].call(this,a)}
var Wg=[function(a){mh[a>>8&15].call(this,a)},Hg,vg,eg,ag,cg,Wf,T,function(a){nh[a>>8&15].call(this,a)},Ig,wg,fg,bg,dg,Rg,T],mh=[function(a){oh[a>>4&15].call(this,a)},rg,og,gg,hg,mg,ig,kg,Fg,Fg,Xg,Zg,ah,T,T,T],Yg=[function(a){tf(this,a,0,this.kb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,Gf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,1,Kf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,1,If);this.b-=this.u?9:3+(7==this.j?2:0)}],$g=[function(a){S(this,a,0,Mf);
this.b-=this.u?11:6},function(a){S(this,a,ze(this)?1:0,wf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,ze(this)?1:0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ve(this,a);this.kb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],bh=[function(a){S(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,Of);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,Af);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,yf);this.b-=this.u?9:3+(7==this.j?2:0)}],oh=
[function(a){ph[a&15].call(this,a)},T,T,T,Dg,Dg,Dg,Dg,Ng,T,ch,eh,Sg,Sg,Sg,Sg],ph=[zg,Ug,Og,qg,Bg,Mg,T,T,T,T,T,T,T,T,T,T],dh=[Lg,function(){this.F=0;this.b-=5},function(){this.H=0;this.b-=5},ug,function(){this.L=1;this.b-=5},ug,ug,ug,function(){this.I=0;this.b-=5},ug,ug,ug,ug,ug,ug,ug],fh=[Lg,function(){this.F=65536;this.b-=5},function(){this.H=32768;this.b-=5},Pg,function(){this.L=0;this.b-=5},Pg,Pg,Pg,function(){this.I=32768;this.b-=5},Pg,Pg,Pg,Pg,Pg,Pg,Pg],nh=[pg,ng,jg,lg,sg,tg,Zf,$f,yg,Tg,gh,ih,
kh,T,T,T],hh=[function(a){sf(this,a,0,255,this.kb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,0,Hf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,1,Jf);this.b-=this.u?9:3+(7==this.j?2:0)}],jh=[function(a){We(this,a,0,Nf);this.b-=this.u?11:6},function(a){We(this,a,ze(this)?1:0,xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,ze(this)?1:0,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ue(this,
a);this.kb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],lh=[function(a){We(this,a,0,Rf);this.b-=this.u?9+(this.yc&1):3+(7==this.j?2:0)},function(a){We(this,a,0,Pf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,0,Bf);this.b-=this.u?9+(this.yc&1):3+(7==this.j?2:0)},function(a){We(this,a,0,zf);this.b-=this.u?9:3+(7==this.j?2:0)}];function ue(a){qh[a>>12].call(this,a)}
var qh=[function(a){rh[a>>8&15].call(this,a)},Hg,vg,eg,ag,cg,Wf,function(a){sh[a>>8&15].call(this,a)},function(a){th[a>>8&15].call(this,a)},Ig,wg,fg,bg,dg,Rg,T],rh=[function(a){uh[a>>4&15].call(this,a)},rg,og,gg,hg,mg,ig,kg,Fg,Fg,Xg,Zg,ah,function(a){vh[a>>6&3].call(this,a)},T,T],vh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.na(a|this.Ga);xe(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Pe(this,a,0);this.Da(a);Ie(this,a);this.b-=11},function(a){var b=Ke(this);
this.la=this.b;this.Da(b);Qe(this,a,0,b);this.b=this.la-Jg[this.u]},function(a){tf(this,a,Ce(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],uh=[function(a){wh[a&15].call(this,a)},T,T,T,Dg,Dg,Dg,Dg,Ng,function(a){!(a&8)||1145>this.ka?T.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},ch,eh,Sg,Sg,Sg,Sg],wh=[zg,Ug,function(){Je(this);this.i|=this.w&16;this.b-=13},qg,Bg,Mg,Og,function(a){T.call(this,a)},T,T,T,T,T,T,T,T],sh=[Kg,Kg,xg,xg,Xf,Xf,Yf,Yf,
Vg,Vg,T,T,T,T,Qg,Qg],th=[pg,ng,jg,lg,sg,tg,Zf,$f,yg,Tg,gh,ih,kh,function(a){1145>this.ka?T.call(this,a):xh[a>>6&3].call(this,a)},T,T],xh=[function(a){T.call(this,a)},function(a){a=Pe(this,a,65536);this.Da(a);Ie(this,a);this.b-=11},function(a){var b=Ke(this);this.la=this.b;this.Da(b);Qe(this,a,65536,b);this.b=this.la-Jg[this.u]},function(a){T.call(this,a)}];
function yh(a){q.call(this,"ROM",a,128);this.ha=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=Sa(this.j);if(this.j){a=this.j;var b=Ta(this.B);"json"!=b&&"hex"!=b&&(a=gb()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;eb(a,null,!0,function(a,b,f){f?(c.O("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(wa(c.ob,a,b),(a=fb(a,b))?(c.g=a.ca,c.ha=a.ha):c.j=null);zh(c)})}}p(yh,q);
h=yh.prototype;h.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;zh(this)};h.ya=function(){this.ha&&(this.G&&Ah(this.G,this.id,this.u,this.b,this.ha),delete this.ha);return!0};h.xa=function(){return!0};
function zh(a){if(!Ha(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Fa(a,"ROM size ("+H(a.g.length,8,!0)+") does not match specified size ("+H(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Qc){var c={},c=(c[b]=[yh.prototype.If,yh.prototype.Rg,null,null,null,a.b>>1],c);if(ac(a.D,a,c)){a.status("Added "+a.b+"-byte ROM at "+F(b));b=a.w=!0;break a}}else if(Wc(a.D,b,a.b,Fd)){for(c=0;c<a.g.length;c++)ed(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}A(a)}}h.If=function(a){return this.g[a-this.u]};h.Rg=function(){};yb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new yh(d);Ea(d,c)}});
function Bh(a){q.call(this,"RAM",a);this.ha=this.g=null;this.i=+a.addr;this.j=+a.size;this.Ba=a.load;this.Aa=a.exec;null!=this.Ba&&(this.Ba=+this.Ba);null!=this.Aa&&(this.Aa=+this.Aa);this.u=!1;this.b=a.file;this.w=Sa(this.b);if(this.b){a=this.b;var b=Ta(this.w);"json"!=b&&"hex"!=b&&(a=gb()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;eb(a,null,!0,function(a,b,f){f?(c.O("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(wa(c.ob,a,b),(a=fb(a,b))?(c.g=a.ca,c.ha=a.ha,
null==c.Ba&&(c.Ba=a.Ba),null==c.Aa&&(c.Aa=a.Aa)):c.b=null);Ch(c)})}}p(Bh,q);Bh.prototype.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;Ch(this)};Bh.prototype.ya=function(a,b){this.ha&&(this.G&&Ah(this.G,this.id,this.i,this.j,this.ha),delete this.ha);b||this.reset();return!0};Bh.prototype.xa=function(){return!0};
function Ch(a){if(a.D&&(!a.u&&a.j&&(Wc(a.D,a.i,a.j,gd)?a.u=!0:a.j=0),!Ha(a))){if(!a.u)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;Dh(a,a.g,a.Ba,a.Aa,a.i)?a.status('Loaded image "'+a.w+'"'):a.O('Error loading image "'+a.w+'"')}A(a)}}
Bh.prototype.reset=function(){if(this.u){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Gb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&Dh(this,this.g,this.Ba,this.Aa,this.i,!0)}};
function Dh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){C(a,"invalid signature ("+Ra(m)+") at offset "+Ra(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+Ra(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){C(a,"insufficient data for block at offset "+Ra(n),4096);
break}m+=b[l++]&255;if(m&255){C(a,"invalid checksum ("+H(m,2,!0)+") for block at offset "+Ra(n),4096);break}if(E)for(C(a,"loading "+Ra(E)+" bytes at "+Ra(u)+"-"+Ra(u+E),4096);E--;)ed(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&C(a,"starting address: "+Ra(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)ed(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.ba(),f=!1;null!=d&&we(a.f,d,f)}return k}
yb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Bh(d);Ea(d,c)}});function Eh(a){q.call(this,"Keyboard",a,1024);A(this)}p(Eh,q);Eh.prototype.sa=function(){return!1};Eh.prototype.wa=function(a,b,c,d){this.J=a;this.f=c;this.G=d};yb(function(){for(var a=y(document,x,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Eh(d);Ea(d,c)}});
function Fh(a){q.call(this,"SerialPort",a,262144);this.M=+a.adapter;this.U=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.B=0;this.I=!0;this.R=this.N=null;this.S=this.X=-1;this.F=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Gh;b&&(void 0===c&&(c="Panel"),(c=Da(c,this.id))&&(b=c.C[b])&&this.sa(null,a,b))}this.j=this.H=this.P=null;this.exports=
{connect:this.Nd,receiveData:this.sc,receiveStatus:this.bg,setConnection:this.fg}}p(Fh,q);h=Fh.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case Gh:return this.C[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.bd:ta.Zd:46==c?b=ta.bd:a.ctrlKey&&c>=ta.Zc&&c<=ta.Ae&&(b=c-(ta.Zc-ta.Wd));b&&(a.preventDefault&&a.preventDefault(),d.sc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.Yd&&(b=ta.Xd);d.sc(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.sc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;var e=this;this.R=nd(this.f,this.M?-1:48,4,262144);this.S=kd(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,C(e,"receiveByte("+H(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),md(e.f,e.S,1E3/Math.round(e.U/10)));0<=a&&(e.F=a,e.b&128?e.F|=49152:e.b|=128,e.b&64&&ld(c,e.R))});this.N=nd(this.f,this.M?-1:52,4,262144);this.X=kd(this.f,function(){e.g|=128;e.g&64&&ld(c,e.N)});ac(b,this,Hh,this.M?64832+8*(this.M-1)-65392:0);cc(b,this.reset.bind(this));
A(this)};h.Nd=function(a){if(!this.j){var b=de(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ab(c[0]);if(d!=this.nb)return;c=ab(c[1]);if(this.j=Ca(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status("Connected "+this.ob+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.ya=function(a,b){if(!b)if(this.Nd(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Ih(this)};h.save=function(){var a=new I(this);a.set(0,[this.F,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Ih(this,a[0])};function Ih(a,b){b||(b=[0,8192,128,a.i]);b=ja(b);a.F=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0}
h.sc=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);md(this.f,this.S,1E3/Math.round(this.U/10));return!0};h.bg=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&ld(this.f,this.R))};h.fg=function(a,b){return this.j?!1:(this.j=a,this.H=b,!0)};
h.vf=function(){var a=this.b&65534;this.b&=-32769;return a};h.Eg=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.P&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.P.call(this.j,b))};h.uf=function(){this.b&=-129;return this.F};h.Dg=function(){};h.ag=function(){return this.g};h.kh=function(a){this.g&128&&(a&64?ld(this.f,this.N):sd(this.f,this.N));this.g=this.g&-70|a&69};h.$f=function(){return 0};
h.jh=function(a){a&=255;C(this,"transmitByte("+H(a,2,!0)+")");this.H&&this.H.call(this.j,a);a&=127;if(this.u)if(13==a)this.B=0;else if(8==a)this.u.value=this.u.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=bb[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=Xa("",c)));this.V&&!this.B&&c&&(b=String.fromCharCode(this.V)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.v(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}md(this.f,this.X,1E3/Math.round(this.Z/10));this.g&=-129};var Gh="buffer",Jh={},Hh=(Jh[65392]=[null,null,Fh.prototype.vf,Fh.prototype.Eg,"RCSR"],Jh[65394]=[null,null,Fh.prototype.uf,Fh.prototype.Dg,"RBUF"],Jh[65396]=[null,null,Fh.prototype.ag,Fh.prototype.kh,"XCSR"],Jh[65398]=[null,null,Fh.prototype.$f,Fh.prototype.jh,"XBUF"],Jh);
yb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Fh(d);Ea(d,c)}});function Bd(a){q.call(this,"PC11",a);this.M=Kh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.B=this.F=this.b=0;this.w=[];this.u=Lh;this.i=Mh;this.L=this.j="";this.ca=this.Ba=this.Aa=null;this.P=-1;this.N=!mb("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(Bd,q);
function Kh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Bd.prototype;
h.sa=function(a,b,c){var d=this,e=Mh;switch(b){case "listTapes":return this.C[b]=c,c.onchange=function(){var a=d.C.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=Nh;case "loadTape":return e||(e=Oh),this.C[b]=c,c.onclick=
function(){var a=d.C.listTapes;a&&Ph(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.N){c.parentNode.removeChild(c);break}this.C[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ph(d,Sa(b,!0),b,Oh,a)}return!1};return!0;case Qh:return this.C[b]=c,!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;this.I=Rh(a);var e=this;if(a=Kh(this,de(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=nd(this.f,56,4,4096);this.R=kd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.w.length&&(e.F=e.w[e.B++]&255,Sh(e,e.B/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&ld(e.f,e.H))});ac(b,this,Th);cc(b,this.reset.bind(this));Uh(this,"None",Lh,!0);this.N&&Uh(this,"Local Tape",Vh);Uh(this,"Remote Tape",Wh);Xh(this)||A(this)};
h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.F=0};function Xh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.C.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Sa(c,!0)}c&&b?Yh(a,b,c,Oh,!0):Zh(a)}return!!a.g}
function Ph(a,b,c,d,e){if(c)if(c==Vh)a.O('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Wh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Sa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.u=Wh}else a.u=c;Yh(a,b,c,d,!1,e)}else $h(a,!1)}
function Yh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,$h(a,!0),a.A.gb?a.O("PC11 busy"):(e&&(a.g++,B(a)&&C(a,"auto-loading tape: "+b)),ai(a,b,c,d,f)?g++:a.A.gb=!0);g&&bi(a,a.L,a.j,a.i,a.ca,a.Ba,a.Aa)}
function ai(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),bi(a,b,c,d,e),a.u=Vh);Zh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ta(c),f="json"==e||"gz"==e?encodeURI(c):gb()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!eb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.O('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(wa(a.ob,e,f),(e=fb(e,f))&&bi(a,b,c,d,e.ca,e.Ba,
e.Aa));a.A.gb=!1;a.g&&(a.g--,a.g||A(a));Zh(a)})}function Uh(a,b,c,d){if((a=a.C.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Zh(a){var b=a.C.listTapes;if(b&&b.options){a=a.u||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Sh(a,b){b|=0;if(b!==a.P){var c=a.C[Qh];c&&(c=(c=y(c,ci))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function bi(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.Ba=f;a.Aa=g;d==Nh?a.I&&Dh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.O('No valid memory address for tape "'+b+'"'):(a.B=0,a.w=e,a.status('Loaded tape "'+b+'"'),Sh(a,0))}function $h(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Oh?"tape detached":"tape unloaded"),a.u=Lh,a.i=Mh,Zh(a))}h.save=function(){return(new I(this)).data()};h.restore=function(){return!0};h.nf=function(){return this.b&65534};
h.xg=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&ld(this.f,this.H)):(this.b&=-129,this.b|=2048,this.F=0,md(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.mf=function(){this.b&=-129;this.b|=2048;return this.F};h.wg=function(){};var Lh="",Vh="?",Wh="??",Mh=0,Oh=1,Nh=2,Qh="readProgress",ci="pcjs-progress-bar",di={},Th=(di[65384]=[null,null,Bd.prototype.nf,Bd.prototype.xg,"PRS"],di[65386]=[null,null,Bd.prototype.mf,Bd.prototype.wg,"PRB"],di);
function ei(a,b,c){q.call(this,"Disk",{id:a.ob+".disk"+H(++fi,4)},8192);this.controller=a;this.J=a.J;this.G=a.G;this.u=b;this.Na=b.name;this.ra=this.uc="";this.qc=b.qc;this.Y=this.ea=this.aa=this.qa=this.mode=0;this.b=[];this.i=null;this.j=!1;gi(this,c,b.Y,b.ea,b.aa,b.qa);this.g=this.w=null;A(this)}p(ei,q);h=ei.prototype;h.wa=function(a,b,c,d){this.G=d};
function gi(a,b,c,d,e,f){a.mode=b;a.Y=c;a.ea=d;a.aa=e;a.qa=f;a.b=[];if("preload"!=a.mode){b=Array(a.Y);for(c=0;c<b.length;c++){d=Array(a.ea);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=hi(null,c,e,g,a.qa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function ii(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.ra=c;a.uc=Sa(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=sa[d];if(e){a.Y=e[0];a.ea=e[1];a.aa=e[2];a.qa=e[3]||512;c=a.qa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.Y);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ea),t=0;t<u.length;t++)for(var E=u[t]=Array(a.aa),z=0;z<E.length;z++){for(var D=hi(null,d,t,z+1,a.qa,0),G=D.data,lb=0;lb<c;lb++,f+=4)var qd=G[lb]=b.getInt32(f,
!0),e=e+qd&-1;D.Ja=c;E[z]=D}a.i=e;c=a}else a.O("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Na,a.ra),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ta(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Ua(c,"/")&&(d="dir"),f=gb()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.qc?"":e)+"&format=json"));return!!eb(f,
null,!0,function(b,c,d){ji(a,b,c,d)})}
function ji(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.O('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{wa(a.controller.ob,b,c);try{if(0<Sa(a.uc,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.Y=k.length;a.ea=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.qa=l&&l.length||512;for(d=c=0;d<a.Y;d++)for(f=0;f<a.ea;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,E=u.length;E<t;E++)u[E]=n;ki(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}hi(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Na)}catch(z){v("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Na,a.ra),a.g=null)}function hi(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ai=b;a.Bi=c;a.Ra=a.Ja=0;a.Xa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.u,g=this.b[a];if(g){var k=g[b];if(!k&&f.De&&b<f.ea)for(k=g[b]=Array(f.Dd),g=0;g<k.length;g++)k[g]=hi(null,a,b,g+1,f.Sc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.De&&9==f.Pc&&(d=k[g]=hi(null,a,b,f.Pc,f.Sc,0))}}e&&e(d,!1);return d};function ki(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ja?f<a.Ra?(a.Ja+=a.Ra-f,a.Ra=f):f>=a.Ra+a.Ja&&(a.Ja+=f-(a.Ra+a.Ja)+1):(a.Ra=f,a.Ja=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function ii(a,b){var c=a.ea*a.aa,d=b/c|0;return d<a.Y?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function ji(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ki(a){for(var b="",c=0,d;d=ii(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ji(a,d,e));return btoa(b)}
function li(a,b){var c=a.ea*a.aa,d=b/c|0;return d<a.Y?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function mi(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ni(a){for(var b="",c=0,d;d=li(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(mi(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.ra,this.i,this.Y,this.ea,this.aa,this.qa];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?di(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=ii(this,a++);)li(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function li(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var ci=0;function S(a){q.call(this,"RK11",a,0,65536);this.L=mi(this,a.autoMount);this.F=0;this.i=Array(8);this.M=!pb("Mobi")&&window&&"FileReader"in window;this.u=[];this.hb=null;this.I=this.g=this.b=this.B=this.w=this.j=this.H=0}p(S,q);
function mi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=S.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=G(c.value,10);null!=a&&Gi(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Ii(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&G(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.N("Unable to boot the selected drive"):a.da?(te(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.i&&((a=d.i[G(a.value,10)||0])?(a=a.da)?(a=sb(ki(a),a.kc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.M)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ii(d,Qa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=mi(this,ae(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.L[e]=a[e]);Ji(this);this.hb=ld(this.f,144,5,65536);Yb(b,this,Ki);$b(b,this.reset.bind(this));Li(this,"None",Mi,!0);this.M&&Li(this,"Local Disk",Ni);Li(this,"Remote Disk",Oi);Pi(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){this.u=[];for(a=0;a<this.i.length;a++)Qi(this,a,!0);Pi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Gi(this,0)}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Ji(this)};
h.save=function(){var a=new L(this);a.set(0,[this.I,this.g,this.b,this.B,this.w,this.j,this.H,Ri(this)]);return a.data()};h.restore=function(a){return Ji(this,a[0])};
function Ji(a,b){b||(b=[2368,0,128,0,0,0,0]);var c=ja(b);a.I=c.next().value;a.g=c.next().value;a.b=c.next().value;a.B=c.next().value;a.w=c.next().value;a.j=c.next().value;a.H=c.next().value;b[7]&&(a.u=b[7]);for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.gb=b;d.name=c.mb;d.vb=d.Xa=!1;d.Y=203;d.ea=2;d.aa=12;d.qa=512;d.gc=!0;d.Kd=0;d.Id=0;d.zc=1;d.bd=d.aa;d.Cc=d.qa;d.Pd=0;d.hf=null;d.da||(d.ra="");d.status=2368}return!0}
function Ri(a){for(var b=0;b<a.i.length;b++){var c=a.i[b];c.da&&Si(a,c.ra,c.da)}return a.u}
function Pi(a,b){b||(a.F=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Qa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Ti(a,g,f,e,!0)&&b&&A(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function Ii(a,b,c,d){var e=a.C.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.N("Unable to load the selected drive");else if(c)if(c==Ni)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Oi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ti(a,e,b,c,!1,d)}else Qi(a,e)}
function Ti(a,b,c,d,e,f){var g=-1,k=a.i[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,Qi(a,b,!0),k.vb?a.N("RK11 busy"):(k.vb=!0,e&&(k.ub=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,fi(new bi(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.vb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.gb)),b=null);if(b){a.da=b;a.Na=c;a.ra=d;a:{var f;for(f=0;f<this.u.length;f++)if(this.u[f][1]==d){b.restore(this.u[f][2]);break a}this.u[f]=[c,d,[]]}this.N('Loaded disk "'+c+'" in drive '+("RK"+a.gb),a.ub||e);this.J&&ke(this.J)}else a.Xa=!1;a.ub&&(a.ub=!1,--this.F||A(this));Gi(this,a.gb)};
function Li(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Gi(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=G(a.value,10),c=c.Xa?Ni:c.ra,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Qi(a,b,c){var d=a.i[b];if(d.da||!1===c)Si(a,d.ra,d.da),d.Na="",d.ra="",d.da=null,d.Xa=!1,c||(a.N("Drive RK"+b+" unloaded",c),Gi(a,b))}
function Si(a,b,c){var d;for(d=0;d<a.u.length;d++)if(a.u[d][1]==b){a.u[d][2]=c.save();break}}h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.Y){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(Ec(this.D,Ie(this.f,f),u|t<<8),gd(this.D))){m=1024;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=128,e=0);for(;e;){var u=Gc(this.D,Ie(this.f,f));if(gd(this.D)){m=1024;break}if(!n){if(b>=a.Y){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=32;break}if(u!=(t|E<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.zd=function(a,b,c,d,e,f){this.w=f&65535;this.b=this.b&-49|f>>12&48;this.B=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Ui(this);return!0};function Ui(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),B(a)&&C(a,a.type+": ERROR: "+H(a.g)))}h.Ee=function(){return this.I};h.Pf=function(){};h.Fe=function(){return this.g};h.Qf=function(){};h.Be=function(){return this.b&61438};
h.Mf=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:B(this)&&C(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Vc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.Bd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.B&65535;n=(this.b&48)<<12|this.w;r=this.b&2048?0:2;B(this)&&C(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+H(n)+"--"+H(n+(m<<1)),!0,!0);if(g>=f.Y){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;B(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.Y?this.b|=8192:this.g|=64;break;case 12:B(this)&&C(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:B(this)&&C(this,this.type+": UNSUPPORTED("+c+")")}this.I=f.status|(f.da?128:0)|e<<13|this.j&15;Ui(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&id(this.f,this.hb))}};h.Ge=function(){return this.B};h.Rf=function(a){this.B=a};h.Ae=function(){return this.w};h.Lf=function(a){this.w=a};h.Ce=function(){return this.j};h.Nf=function(a){this.j=a};h.De=function(){return this.H};h.Of=function(a){this.H=a};
var Mi="",Ni="?",Oi="??",Vi={},Ki=(Vi[65280]=[null,null,S.prototype.Ee,S.prototype.Pf,"RKDS"],Vi[65282]=[null,null,S.prototype.Fe,S.prototype.Qf,"RKER"],Vi[65284]=[null,null,S.prototype.Be,S.prototype.Mf,"RKCS"],Vi[65286]=[null,null,S.prototype.Ge,S.prototype.Rf,"RKWC"],Vi[65288]=[null,null,S.prototype.Ae,S.prototype.Lf,"RKBA"],Vi[65290]=[null,null,S.prototype.Ce,S.prototype.Nf,"RKDA"],Vi[65294]=[null,null,S.prototype.De,S.prototype.Of,"RKDB"],Vi);
function zd(a){q.call(this,"RL11",a,0,131072);this.H=Wi(this,a.autoMount);this.F=0;this.g=Array(4);this.I=!pb("Mobi")&&window&&"FileReader"in window;this.hb=null;this.b=this.B=this.i=this.j=this.w=this.u=0;this.exports={selectDrive:this.jf}}p(zd,q);function Wi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=zd.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=G(c.value,10);null!=a&&Xi(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Yi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&G(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.N("Unable to boot the selected drive"):a.da?(te(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[G(a.value,10)||0])?(a=a.da)?(a=sb(ki(a),a.kc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Yi(d,Qa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=Wi(this,ae(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Zi(this);this.hb=ld(this.f,112,5,131072);Yb(b,this,$i);$b(b,this.reset.bind(this));aj(this,"None",bj,!0);this.I&&aj(this,"Local Disk",cj);aj(this,"Remote Disk",dj);ej(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){for(a=0;a<this.g.length;a++)fj(this,a,!0);ej(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Xi(this,0)}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Zi(this)};h.save=function(){return(new L(this)).data()};
h.restore=function(a){return Zi(this,a[0])};function ej(a,b){b||(a.F=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Qa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!gj(a,g,f,e,!0)&&b&&A(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function Yi(a,b,c,d){var e=a.C.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if(c==cj)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==dj){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"')}gj(a,e,b,c,!1,d)}else fj(a,e)}
function gj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,fj(a,b,!0),k.vb?a.N("RL11 busy"):(k.vb=!0,e&&(k.ub=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,fi(new bi(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.vb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.gb)),b=null);b?(a.da=b,a.Na=c,a.ra=d,this.N('Loaded disk "'+c+'" in drive '+("RL"+a.gb),a.ub||e),this.J&&ke(this.J)):a.Xa=!1;a.ub&&(a.ub=!1,--this.F||A(this));Xi(this,a.gb)};
function aj(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Xi(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.C.listDisks;a=a.C.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(G(a.options[c].value,10)==e.gb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=G(a.value,10);e=e.Xa?cj:e.ra;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.jf=function(a){var b=this.C.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=G(b.options[d].value,10);if(0<=e)return Xi(this,e,!0)}return!1};function fj(a,b,c){var d=a.g[b];if(d.da||!1===c)d.Na="",d.ra="",d.da=null,d.Xa=!1,c||(a.N("Drive RL"+b+" unloaded",c),Xi(a,b))}
function Zi(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.B=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.u=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.gb=b;d.name=c.mb;d.vb=d.Xa=!1;d.Y=512;d.ea=2;d.aa=40;d.qa=256;d.gc=!0;d.Kd=0;d.Id=0;d.zc=1;d.bd=d.aa;d.Cc=d.qa;d.Pd=0;d.hf=null;d.da||(d.ra="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}Ec(this.D,Ie(this.f,f),n|r<<8);if(gd(this.D)){k=8192;break}f+=2;e--;if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Gc(this.D,Ie(this.f,f));if(gd(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f){this.B=f&65535;this.b=this.b&-49|f>>12&48;this.u=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Je=function(){return this.b&65535};
h.Uf=function(a){this.b=this.b&-1023|a&1022;this.u=this.u&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.da,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.Y?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.Y||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.u&63)<<16|this.B,B(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+H(e)+"--"+H(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Cd.bind(this)))}a&&(this.b|=129,this.b&64&&id(this.f,this.hb))}};h.He=function(){return this.B};h.Sf=function(a){this.B=a&65534};h.Ke=function(){return this.i};h.Vf=function(a){this.i=a};h.Le=function(){return this.w};h.Wf=function(a){this.w=a};h.Ie=function(){return this.u};
h.Tf=function(a){this.u=a&63;this.b=this.b&-49|(this.u&3)<<4};var bj="",cj="?",dj="??",hj={},$i=(hj[63744]=[null,null,zd.prototype.Je,zd.prototype.Uf,"RLCS"],hj[63746]=[null,null,zd.prototype.He,zd.prototype.Sf,"RLBA"],hj[63748]=[null,null,zd.prototype.Ke,zd.prototype.Vf,"RLDA"],hj[63750]=[null,null,zd.prototype.Le,zd.prototype.Wf,"RLMP"],hj[63752]=[null,null,zd.prototype.Ie,zd.prototype.Tf,"RLBE"],hj);
function ij(a){q.call(this,"Debugger",a);this.Ca=+a.base||16;this.ia=!1;this.w=0;this.P=!1;this.u=-1;this.j=[];this.U={}}p(ij,q);ij.prototype.hd=function(){return-1};ij.prototype.jd=function(){};
function jj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.P?b="end":b=a.j[a.u+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(Za(b.substring(c,f))),c=f+1}}return a}
function kj(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?gi(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.O("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=li(this,a++);)oi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function oi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var fi=0;function pi(a,b,c,d,e,f){q.call(this,a,b,c);this.L=qi(this,b.autoMount);this.F=0;this.P=d;this.R=e;this.S=f;this.N=d.ce;this.i=Array(this.N);this.M=!mb("Mobi")&&window&&"FileReader"in window;this.u=[];this.ib=null}p(pi,q);
function qi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=pi.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v(d.type+" option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=Oa(c.value,10);null!=a&&
ri(d,a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&si(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&Oa(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.O("Unable to boot the selected drive"):a.da?(we(d.f,0,!0),(a=d.Dc(a,0,0,0,512,0,2))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.i&&((a=d.i[Oa(a.value,10)||0])?(a=a.da)?(a=ub(ni(a),a.uc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.M)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;si(d,Sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=qi(this,de(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.L[e]=a[e]);this.Rb();this.ib=nd(this.f,this.P.xe,this.P.he,this.ia);ac(b,this,this.S);cc(b,this.reset.bind(this));Mi(this,"None",Oi,!0);this.M&&Mi(this,"Local Disk",Pi);Mi(this,"Remote Disk",Qi);Ri(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){this.u=[];for(a=0;a<this.i.length;a++)Si(this,a,!0);Ri(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=this.type.substr(0,2)+b;a.appendChild(c)}0<this.N&&(a.value="0",ri(this,0))}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.Rb()};
h.save=function(){var a=new I(this);a.set(0,this.ed());a.set(0,Ti(this));return a.data()};h.restore=function(a){return this.Rb(a[0],a[1])};h.Rb=function(a,b){b&&(this.u=b);for(a=0;a<this.i.length;a++){b=this.i[a];void 0===b&&(b=this.i[a]={});var c=this.R;b.hb=a;b.name=this.nb;b.wb=b.Ya=!1;b.qc=!0;b.Y=c[0];b.ea=c[1];b.aa=c[2];b.qa=c[3];b.status=c[4];b.Ee=0;b.Ce=0;b.Pc=1;b.Dd=b.aa;b.Sc=b.qa;b.Je=0;b.dg=null;b.da||(b.ra="")}return!0};h.ed=function(){};
function Ti(a){for(var b=0;b<a.i.length;b++){var c=a.i[b];c.da&&Ui(a,c.ra,c.da)}return a.u}
function Ri(a,b){b||(a.F=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Sa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Vi(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function si(a,b,c,d){var e=a.C.listDrives,e=e&&Oa(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.O("Unable to load the selected drive");else if(c)if(c==Pi)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Qi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Sa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Vi(a,e,b,c,!1,d)}else Si(a,e)}
function Vi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,Si(a,b,!0),k.wb?a.O(a.type+" busy"):(k.wb=!0,e&&(k.vb=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Ya=!!f,ii(new ei(a,k,"preload"),c,d,f,a.ee)&&g++));return g}
h.ee=function(a,b,c,d,e){a.wb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.O('Disk "'+c+'" too large for drive '+(this.type.substr(0,2)+a.hb)),b=null);if(b){a.da=b;a.Na=c;a.ra=d;a:{var f;for(f=0;f<this.u.length;f++)if(this.u[f][1]==d){b.restore(this.u[f][2]);break a}this.u[f]=[c,d,[]]}this.O('Loaded disk "'+c+'" in drive '+(this.type.substr(0,2)+a.hb),a.vb||e);this.J&&ne(this.J)}else a.Ya=!1;a.vb&&(a.vb=!1,--this.F||A(this));ri(this,a.hb)};
function Mi(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ri(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=Oa(a.value,10),c=c.Ya?Pi:c.ra,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Si(a,b,c){var d=a.i[b];if(d.da||!1===c)Ui(a,d.ra,d.da),d.Na="",d.ra="",d.da=null,d.Ya=!1,c||(a.O("Drive "+(a.type.substr(0,2)+b)+" unloaded",c),ri(a,b))}
function Ui(a,b,c){var d;for(d=0;d<a.u.length;d++)if(a.u[d][1]==b){a.u[d][2]=c.save();break}}h.Dc=function(){return!1};h.fd=function(){return!1};var Oi="",Pi="?",Qi="??";function Q(a){pi.call(this,"RK11",a,65536,Nb,Nb.oc,Wi);this.I=this.g=this.b=this.B=this.w=this.j=this.H=0}p(Q,pi);h=Q.prototype;
h.Rb=function(a,b){a||(a=[Xi.oc|Xi.wd|Xi.td,0,U.Qb,0,0,0,0]);var c=ja(a);this.I=c.next().value;this.g=c.next().value;this.b=c.next().value;this.B=c.next().value;this.w=c.next().value;this.j=c.next().value;this.H=c.next().value;return pi.prototype.Rb.call(this,a,b)};h.ed=function(){return[this.I,this.g,this.b,this.B,this.w,this.j,this.H]};
h.Dc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=V.md,e=0);for(;e;){if(!n){if(b>=a.Y){m=V.mc;break}n=a.seek(b,c,d+1);if(!n){m=V.vd;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=V.nc;break}if(!k&&(wc(this.D,Le(this.f,f),u|t<<8),jd(this.D))){m=V.nd;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.fd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=V.md,e=0);for(;e;){var u=Jc(this.D,Le(this.f,f));if(jd(this.D)){m=V.nd;break}if(!n){if(b>=a.Y){m=V.mc;break}n=a.seek(b,c,d+1,!0);if(!n){m=V.vd;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=V.nc;break}if(u!=(t|E<<8)){m=V.ye;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=V.nc;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.ke=function(a,b,c,d,e,f){this.w=f&65535;this.b=this.b&~U.Bb|f>>16-U.Wa.Bb&U.Bb;this.B=65536-e&65535;this.j=this.j&~Yi.Nc|d&Yi.Nc;this.g|=a;Zi(this);return!0};function Zi(a){a.b&=~U.gd;a.g&&(a.g|=V.ae,a.b|=U.gd,a.g&V.Hc&&(a.b|=U.Hc),B(a)&&C(a,a.type+": ERROR: "+F(a.g)))}h.Af=function(){return this.I};h.Jg=function(){};h.Bf=function(){return this.g};h.Kg=function(){};h.xf=function(){return this.b&U.re};
h.Gg=function(a){this.b=this.b&~U.Ad|a&U.Ad;if(this.b&U.hd){a=!0;var b,c,d="",e=(this.j&Yi.Bc)>>Yi.Wa.Bc,f=this.i[e],g,k,l,m,n,r;this.b&=~(U.Qb|U.Oc);this.g&=~V.te;switch(c=this.b&U.lc){case $i.Vd:B(this)&&C(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=U.Qb;break;case $i.ie:d="RCHK";case $i.je:d||(d="READ"),b=this.Dc;case $i.zd:d||(d="WCHK");case $i.ze:d||(d="WRITE");b||(b=this.fd);g=(this.j&Yi.Pb)>>Yi.Wa.Pb;k=(this.j&Yi.Ic)>>Yi.Wa.Ic;l=this.j&Yi.Nc;m=65536-this.B&65535;n=(this.b&U.Bb)<<
16-U.Wa.Bb|this.w;r=this.b&U.fe?0:2;B(this)&&C(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+F(n)+"--"+F(n+(m<<1)),!0,!0);if(g>=f.Y){this.g|=V.mc;break}if(l>=f.aa){this.g|=V.nc;break}a=b.call(this,f,g,k,l,m,n,r,c>=$i.zd,this.ke.bind(this));break;case $i.ue:g=(this.j&Yi.Pb)>>Yi.Wa.Pb;B(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.Y?this.b|=U.Oc:this.g|=V.mc;break;case $i.be:B(this)&&C(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=U.Qb|U.Oc;break;default:B(this)&&C(this,this.type+": UNSUPPORTED("+
c+")")}this.I=f.status|(f.da?Xi.$d:0)|e<<Xi.Wa.jd|this.j&Xi.se;Zi(this);a&&(this.b&=~U.hd,this.b|=U.Qb,this.b&U.ge&&ld(this.f,this.ib))}};h.Cf=function(){return this.B};h.Lg=function(a){this.B=a};h.wf=function(){return this.w};h.Fg=function(a){this.w=a};h.yf=function(){return this.j};h.Hg=function(a){this.j=a};h.zf=function(){return this.H};h.Ig=function(a){this.H=a};
var Xi=Nb.pc,V=Nb.ne,U=Nb.le,Yi=Nb.me,$i=Nb.lc,aj={},Wi=(aj[65280]=[null,null,Q.prototype.Af,Q.prototype.Jg,"RKDS"],aj[65282]=[null,null,Q.prototype.Bf,Q.prototype.Kg,"RKER"],aj[65284]=[null,null,Q.prototype.xf,Q.prototype.Gg,"RKCS"],aj[65286]=[null,null,Q.prototype.Cf,Q.prototype.Lg,"RKWC"],aj[65288]=[null,null,Q.prototype.wf,Q.prototype.Fg,"RKBA"],aj[65290]=[null,null,Q.prototype.yf,Q.prototype.Hg,"RKDA"],aj[65294]=[null,null,Q.prototype.zf,Q.prototype.Ig,"RKDB"],aj);
function Cd(a){q.call(this,"RL11",a,131072);this.H=bj(this,a.autoMount);this.F=0;this.g=Array(4);this.I=!mb("Mobi")&&window&&"FileReader"in window;this.ib=null;this.b=this.B=this.i=this.j=this.w=this.u=0;this.exports={selectDrive:this.eg}}p(Cd,q);function bj(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Cd.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=Oa(c.value,10);null!=a&&cj(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&dj(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&Oa(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.O("Unable to boot the selected drive"):a.da?(we(d.f,0,!0),(a=d.sd(a,0,0,0,512,0))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[Oa(a.value,10)||0])?(a=a.da)?(a=ub(ni(a),a.uc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;dj(d,Sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=bj(this,de(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);ej(this);this.ib=nd(this.f,112,5,131072);ac(b,this,fj);cc(b,this.reset.bind(this));gj(this,"None",hj,!0);this.I&&gj(this,"Local Disk",ij);gj(this,"Remote Disk",jj);kj(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){for(a=0;a<this.g.length;a++)lj(this,a,!0);kj(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";cj(this,0)}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){ej(this)};h.save=function(){return(new I(this)).data()};
h.restore=function(a){return ej(this,a[0])};function kj(a,b){b||(a.F=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Sa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!mj(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function dj(a,b,c,d){var e=a.C.listDrives,e=e&&Oa(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.O("Unable to load the selected drive");else if(c)if(c==ij)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==jj){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Sa(c);a.status("Attempting to load "+c+' as "'+b+'"')}mj(a,e,b,c,!1,d)}else lj(a,e)}
function mj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,lj(a,b,!0),k.wb?a.O("RL11 busy"):(k.wb=!0,e&&(k.vb=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Ya=!!f,ii(new ei(a,k,"preload"),c,d,f,a.pe)&&g++));return g}
h.pe=function(a,b,c,d,e){a.wb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.O('Disk "'+c+'" too large for drive '+("RL"+a.hb)),b=null);b?(a.da=b,a.Na=c,a.ra=d,this.O('Loaded disk "'+c+'" in drive '+("RL"+a.hb),a.vb||e),this.J&&ne(this.J)):a.Ya=!1;a.vb&&(a.vb=!1,--this.F||A(this));cj(this,a.hb)};
function gj(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function cj(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.C.listDisks;a=a.C.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(Oa(a.options[c].value,10)==e.hb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=Oa(a.value,10);e=e.Ya?ij:e.ra;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.eg=function(a){var b=this.C.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=Oa(b.options[d].value,10);if(0<=e)return cj(this,e,!0)}return!1};function lj(a,b,c){var d=a.g[b];if(d.da||!1===c)d.Na="",d.ra="",d.da=null,d.Ya=!1,c||(a.O("Drive RL"+b+" unloaded",c),cj(a,b))}
function ej(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.B=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.u=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.hb=b;d.name=c.nb;d.wb=d.Ya=!1;d.Y=512;d.ea=2;d.aa=40;d.qa=256;d.qc=!0;d.Ee=0;d.Ce=0;d.Pc=1;d.Dd=d.aa;d.Sc=d.qa;d.Je=0;d.dg=null;d.da||(d.ra="");d.status=29}return!0}
h.sd=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}wc(this.D,Le(this.f,f),n|r<<8);if(jd(this.D)){k=8192;break}f+=2;e--;if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.qe=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Jc(this.D,Le(this.f,f));if(jd(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.oe=function(a,b,c,d,e,f){this.B=f&65535;this.b=this.b&-49|f>>12&48;this.u=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Ff=function(){return this.b&65535};
h.Og=function(a){this.b=this.b&-1023|a&1022;this.u=this.u&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.da,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.Y?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.sd;case 10:c||(c="WRITE"),b||(b=this.qe),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.Y||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.u&63)<<16|this.B,B(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+F(e)+"--"+F(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.oe.bind(this)))}a&&(this.b|=129,this.b&64&&ld(this.f,this.ib))}};h.Df=function(){return this.B};h.Mg=function(a){this.B=a&65534};h.Gf=function(){return this.i};h.Pg=function(a){this.i=a};h.Hf=function(){return this.w};h.Qg=function(a){this.w=a};h.Ef=function(){return this.u};
h.Ng=function(a){this.u=a&63;this.b=this.b&-49|(this.u&3)<<4};var hj="",ij="?",jj="??",nj={},fj=(nj[63744]=[null,null,Cd.prototype.Ff,Cd.prototype.Og,"RLCS"],nj[63746]=[null,null,Cd.prototype.Df,Cd.prototype.Mg,"RLBA"],nj[63748]=[null,null,Cd.prototype.Gf,Cd.prototype.Pg,"RLDA"],nj[63750]=[null,null,Cd.prototype.Hf,Cd.prototype.Qg,"RLMP"],nj[63752]=[null,null,Cd.prototype.Ef,Cd.prototype.Ng,"RLBE"],nj);
function oj(a){q.call(this,"Debugger",a);this.Ca=+a.base||16;this.ja=!1;this.w=0;this.P=!1;this.u=-1;this.j=[];this.U={}}p(oj,q);oj.prototype.Jd=function(){return-1};oj.prototype.Kd=function(){};
function pj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.P?b="end":b=a.j[a.u+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(ab(b.substring(c,f))),c=f+1}}return a}
function qj(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 lj(a,b,c){var d;if(b){b=mj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Za(n);if(!n){f=!0;break}n=nj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&oj[n]<oj[l[l.length-1]]&&kj(k,l,1);l.push(n);b=b.substr(r+u)}kj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&pj(a,null,
d))}return d}function mj(a,b){for(var c,d=a.ia?"(":"{",e=a.ia?")":"}",f=new RegExp(a.ia?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=lj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?P(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 nj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.U[b],null==e&&(e=G(b,a.Ca))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function pj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=Oa(d&255,8)+g,d>>=8;d=I(c,0,!0)+" "+c+". "+H(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}
function qj(a,b){if(b)return pj(a,b,a.U[b]);var c=0;for(b in a.U)pj(a,b,a.U[b]),c++;return 0<c}function P(a,b,c,d){switch(a.Ca){case 8:a=H(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=I(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var oj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function rj(a){ij.call(this,a);this.Ea=!1;this.ia=!0;this.H=W();this.za=W();this.O=W();this.B=[];this.g=this.L=this.F=[];sj(this);this.R=this.Z=0;this.i=[];this.oa=void 0;tj(this);this.G=this;this.ka={};this.ja=this.cd=0;this.S=null;this.M=[];uj(this,a.messages);this.ua=a.commands;this.Ha=vj;this.W=[];this.I=0;this.Ia=this.pa=null;this.w=this.Ga=this.Fa=this.X=this.la=0;this.b=this.V=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return fe(b,a)}):void 0===global[x]&&(global[x]=
function(a){return fe(b,a)})}p(rj,ij);function wj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,Ca:c}}h=rj.prototype;h.Gc=function(a,b){a.K=b;a.Qa=!1;a.Ca=void 0;return a};function xj(a){return[a.K,a.Ka,a.Ca,a.Qa,a.jc]}function yj(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=jj(a,c.jc=b[4]));return c}
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=ae(a,"messages"))&&uj(this,a);1140>this.f.ka&&(this.W=this.W.concat(zj));1145>this.f.ka&&(this.W=this.W.concat(Aj));nd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=wj(Bj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=Zc[c],n&&d.v(I(n.id,8)+" %"+I(e<<d.D.g,8)+" %"+I(n.K,8)+" "+J(n.Ib)+" "+J(n.size)+" "+m),c!=Bd&&(c=-1),m=0);a+=d.D.j;e++}}});A(this)};
h.sa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.C[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",fe(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.u<d.j.length-1&&(b=d.j[++d.u])):40==a.keyCode&&(0<d.u?b=d.j[--d.u]:(b="",d.u=-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.C[b]=c,ub(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";fe(d,a,!0);return!0}return!1}),!0;case "step":return this.C[b]=c,ub(c,function(a){var b=!1;Ma(d,!0)||(Na(d,!0),b=oc(d,a?1:0,null),Na(d,!1));return b}),!0}return!1};function ee(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Nc=function(a,b){var c=255,d=wj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Ie(this.f,d),c.F=!1,c.ma++,d=ad(c,d).j(d&c.i,d),c.ma--):(c=this.f,c.oa++,d=c.D.Kc(Fc(c,d,3)),c.oa--),c=d,b&&Cj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=wj(a);-1!==d&&(c=a.Ka||65535<d?Gc(this.D,Ie(this.f,d)):Hc(this.f,d),b&&Cj(a,b));return c};h.Oc=function(a,b,c){var d=wj(a);if(-1!==d){if(a.Ka||65535<d)bd(this.D,Ie(this.f,d),b);else{var e=this.f;e.oa++;e.D.Lc(Fc(e,d,5),b);e.oa--}c&&Cj(a,c);M(this.J,-1)}};h.yd=function(a,b,c){var d=wj(a);if(-1!==d){if(a.Ka||65535<d)Ec(this.D,Ie(this.f,d),b);else{var e=this.f;e.oa++;e.D.Mb(Fc(e,d,4),b);e.oa--}c&&Cj(a,c);M(this.J,-1)}};
function Bj(a,b,c){var d;c=(c?a.H:a.za).K;var e,f;if(void 0!==b){b=mj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ha[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=lj(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
function Dj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=jj(a,b.jc=c[2]))}function Cj(a,b){null!=a.K&&(a.K+=b||1)}function Ej(a,b){return(b.Ka?"%":"")+P(a,b.K)}
function uj(a,b){a.G=a;a.ja=a.cd=536870912;a.S=null;a.M=[];b=jj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb){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.ja|=Sb[c],a.v(c+" messages enabled"))}}function nd(a,b,c){for(var d in Sb)if(b==Sb[d]){a.ka[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=Fj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Gj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.pa[a-8];else if(20>a)b=this.f.W[a-16];else{var c=this.f,d=this.b;switch(a){case Hj:b=wd(this.f);break;case Ij:b=c.Va;break;case Jj:b=c.R;break;case Kj:b=c.za&65280;break;case Lj:b=qd(c);break;case Mj:b=sd(c);break;case Nj:b=td(c);break;case Oj:b=c.V;break;case Pj:d&&(b=d.ga);break;case Qj:d&&(b=d.Sa);break;case Rj:d&&Jc(d)&&(b=d.Ta)}}return b};
h.message=function(a,b){b&&(a+=" @"+Ej(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ja&1073741824)this.M.push(a);else{var c;if(this.ja&-2147483648&&this.f&&(c=this.f.A.T)||Ma(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,le(a),a.tb=0,a.J&&M(a.J,void 0))}};
function tj(a){var b;if(!rf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Sj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.v("instruction history buffer allocated")}}function Tj(a,b,c){if(!Uj(a,c))return!1;nc(a.f,b);return!0}
function oc(a,b,c,d){if(!Uj(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.w=0;b||rf(a)&&sf(a,a.f.g[7],0);try{b=me(a.f,b);var f=a.f.ec(b);0<f&&(pc(a.f,f),a.w+=f,qc(a.f,f,!0),Cc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Ja(a.f,g.stack||g.message))}!1!==d&&(a.b&&a.b.stop(),M(a.J,-1));de(a,c||!1,e);return 0<a.w}h.ba=function(a){this.f&&this.f.ba(a)};
function de(a,b,c){if(a.Ea){void 0===b&&(b=!0);c&&a.v(Vj+c);c=a.f;if(c=c.i&128?c.fc|c.cc<<8:0){var d=c>>8;a.v("trapped to "+P(a,c&255,1)+" ("+(0>d?Qb[-d]:P(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?Wj(a):Xj(a)}}function Uj(a,b){var c;(c=!a.f||!La(a.f))||(c=a.f,c.A.fa?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.T?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Ka(a.f)}h.ya=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.xa=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){tj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.T=!1;Yj(this);a||de(this)};h.save=function(){var a=new L(this);a.set(0,xj(this.H));a.set(1,xj(this.O));a.set(2,[this.j,this.P,this.ja]);a.set(3,this.B);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=yj(this,a[b++]),this.O=yj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ja|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.T=!0;this.Fa=a;this.Ga=b};
h.stop=function(a,b){if(this.A.T){this.A.T=!1;this.w=b-this.Ga;if(!this.I){b="stopped";if(this.w){a-=this.Fa;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";rf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else B(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}de(this,!0);ee(this);Yj(this,this.f.g[7]);this.S=null}};function rf(a){return 1<a.g.length||!!a.Z}
function sf(a,b,c){var d=-1;c||(d=Hc(a.f,b))||(a.f.P&65535)!=b||(b=Ae(a.f,2));if(0<c&&(a.Z&&!--a.Z||Zj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=Hc(a.f,b)),65535!=(d&65535)&&(a.Gc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function xg(a){var b=a.f;if(b.A.T)throw ue(b,a.f.P&65535),a.ba(),-1;return!1}function Vd(a,b,c){Zj(a,b,c||1,a.L)&&a.ba(!1)}function Wd(a,b,c){Zj(a,b,c||1,a.F)&&a.ba(!1)}
function sj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=wj(c),c.Ka?(c=a.D,Ud(c.b[d>>>c.g],!1)):Le(a.f,!1);a.L=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=wj(c),c.Ka?(c=a.D,Ud(c.b[d>>>c.g],!0)):Le(a.f,!0);a.F=["bw"];a.la=0;a.Z=0}
h.sb=function(a,b,c){var d=!0;c||ak(this,a,b,!1,!0);if(a!=this.g){var e=wj(b);if(-1===e)this.v("invalid address: "+Ej(this,b)),d=!1;else{var f=a==this.F;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].sb(e&g.i,f)}else e=this.f,(f?e.Xb++:e.Wb++)||se(e)}}d&&(a.push(b),c?b.Qa=!0:(bk(this,a,a.length-1,"set"),tj(this)));return d};
function ak(a,b,c,d,e){var f=!1;c=wj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==wj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||bk(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.F,k.Ka?(d=a.D,Ud(d.b[c>>>d.g],b)):Le(a.f,b));k.Qa||tj(a);break}}return f}function ck(a,b){for(var c=1;c<b.length;c++)bk(a,b,c);return b.length-1}function bk(a,b,c,d){c=b[c];a.v(b[0]+" "+Ej(a,c)+(d?" "+d:c.jc?' "'+c.jc+'"':""))}
function Yj(a,b){if(void 0!==b)Zj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!ak(a,a.g,c,!0))break;b=0}}}
function Zj(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=wj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(ak(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!dk(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.T||(f=!0)}if(f){e||bk(a,d,g,"hit");break}}}a.la--;return f}
function ek(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ha)if(g=a.Ha[k][f&k])break;g||(g=fk);var l=g[0];0<=a.W.indexOf(l)&&(g=fk,l=g[0]);var m=k="",n=gk[l],r=g.length-1;l||r||(k=P(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var E=u,u=b,z="",D=E&hk;if(D==X)u=u.K+((f&255)<<24>>23)&65535,z=P(t,u);else if(D==ik)u=u.K-((f&63)<<1)&65535,z=P(t,u);else if(D==jk)z=P(t,f&7,1);else if(D==kk)z=P(t,f&63,1);else if(D==lk)z=P(t,f&255,1);else if(D=f&E,E&mk&&(D>>=6,E>>=6),E&Y){var E=null,F=D&
nk;switch(D&ok){case 0:z=Gj(F);break;case 8:z="@"+Gj(F);E=pk(t,t.f.g[F]);break;case 16:7>F?z="("+Gj(F)+")+":(D=t.Oa(u,2),z="#"+P(t,D,0,!0));break;case 24:7>F?z="@("+Gj(F)+")+":(D=t.Oa(u,2),z="@#"+P(t,D,0,!0),E=pk(t,D));break;case 32:z="-("+Gj(F)+")";break;case 40:z="@-("+Gj(F)+")";break;case 48:D=t.Oa(u,2);z=P(t,D,0,!0)+"("+Gj(F)+")";7==F&&(z=P(t,D=D+u.K&65535),E=pk(t,D));break;case 56:D=t.Oa(u,2),z="@"+P(t,D)+"("+Gj(F)+")",7==F&&(z="@"+P(t,D=D+u.K&65535),E=pk(t,Hc(t.f,D)))}E&&(z=[z,E])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=Ej(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+P(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Ya(f,24);g+=Ya(n,5);k&&(g+=" "+k);if(c||m)g=Ya(g,60)+";"+(c||""),g=a.f.A.Bb?g+("cycles="+ge(a.f).toString()+" cs="+I(a.f.Sb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function pk(a,b){b=Je(a.f,b)[0];b>=a.f.lb&&b<a.D.B&&(b=b-a.f.lb+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Ma[b&fd])&&(a=b[4]);return a}function qk(a,b){switch(b){case "N":a=ze(a.f);break;case "Z":a=ye(a.f);break;case "V":a=xe(a.f);break;case "C":a=we(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=Gj(b),c+="="+P(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+P(a,d.pa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+P(a,d.W[b-16]);else switch(b){case Hj:c="PS="+P(a,wd(d));break;case Ij:c="PI="+P(a,d.Va);break;case Jj:c="ER="+P(a,d.R);break;case Kj:c="SL="+P(a,d.za&65280);break;case Lj:c="M0="+P(a,qd(d));break;case Mj:c="M1="+P(a,sd(d));break;case Nj:c="M2="+P(a,td(d));break;case Oj:c="M3="+P(a,d.V);break;case Pj:a.b&&(c="AR="+P(a,a.b.ga,3));break;case Qj:a.b&&(c="DR="+
P(a,a.b.Sa));break;case Rj:a.b&&Jc(a.b)&&(c="SR="+P(a,a.b.Ta,3))}c&&(c+=" ");return c}function rk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,Hj)+Z(a,Ij)+Z(a,Kj);d+=qk(a,"T")+qk(a,"N")+qk(a,"Z")+qk(a,"V")+qk(a,"C");b&&(b=d,c=""+(Z(a,Lj)+Z(a,Mj)),c+=Z(a,Nj)+Z(a,Oj)+Z(a,Jj),c=c+"\n"+(Z(a,Rj)+Z(a,Pj)+Z(a,Qj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function xh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=ab(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({xh:b,K:c,Qd:d,ha:e,ad:f})}function sk(a,b,c){var d=[],e=wj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=ab(f.ad,[e-g],a.dd);0<=e?tk(a,b,e,d):c&&(e=~e,tk(a,b,e-1,d),tk(a,b,e,d));break}}return d}
function tk(a,b,c,d){var e={},f=a.B[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ha[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function uk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return qj(a)||a.v("no variables"),!0;if(!c[2])return qj(a,c[1]);if(!c[3])return delete a.U[c[1]],!0;b=lj(a,c[3]);return void 0!==b?(a.U[c[1]]=b,!0):!1}a.v("invalid assignment:"+b);return!1}
function vk(a,b,c){var d=null;if(b=Bj(a,b,!0)){var e=sk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+J(f)),f=e[0]+" ("+P(a,e[1])+")"+g,c&&a.v(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+J(f)),f=e[4]+" ("+P(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
function Wj(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.v("missing value for "+b[1]);return}g=lj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":ue(e,
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.F=g?65536:0;break;case "PS":xd(e,g);break;case "PI":vd(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.za=g|255;break;case "M0":rd(e,g);d=!0;break;case "M3":ud(e,g);d=!0;break;case "AR":a.b&&(d=a.b,dc(d,d.ga=g));d=!0;break;case "DR":a.b&&(d=a.b,Vb(d,d.Sa=g));d=!0;break;case "SR":if(a.b&&Jc(a.b)){ec(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.v("unknown register: "+f);return}M(a.J);a.v("updated registers:")}}a.v(rk(a,d));c&&(a.H=W(e.g[7]),Xj(a,Ej(a,a.H)))}}function wk(a,b){b=Za(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):pj(a,null,c[2].charCodeAt(0)):lj(a,b,!0)}
function xk(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instructions"),a.v("\ttr [#]\ttrace # instructions with register updates"),a.v("\ttc [#]\ttrace # cycles"),a.v("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=nj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;tb(c,function(){return Na(a,!0)&&oc(a,e,d,!1)},function(){a.b&&a.b.stop();M(a.J,-1);Na(a,!1)})}}
function Xj(a,b,c,d){if(b=Bj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=nj(a,c.substr(1)),null!=c&&(d=c);else{d=Bj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Ma(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=sk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=ek(a,b,g,f);a.v(f);a.H=b;e-=b.K-l;c++}}}
function dk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(Vj+b):(a.P&&(a.v("ended assemble at "+Ej(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(La(a)&&0<b.length){a.P&&(b="a "+Ej(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
Bj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.v("begin assemble at "+Ej(a,r)),a.P=!0,M(a.J);else{var u;a.v("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Oc(r,u[t],1);a.v(ek(a,a.O))}}break;case "b":a:{var E=g[0],z=g[1],D=b;if("?"==z)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
else{var F=E.charAt(1);if("l"==F){var gb;gb=0+ck(a,a.g);gb+=ck(a,a.L);(gb+=ck(a,a.F))||a.v("no breakpoints")}else if("n"==F){var jd=+z||0;z&&(a.Z=jd);a.v("break after "+jd+" instruction(s)")}else if(void 0===z)a.v("missing breakpoint address");else{var ka=W();if("*"!=z&&(ka=Bj(a,z,!0),!ka))break a;"c"==F?null==ka.K?(sj(a),a.v("all breakpoints cleared")):ak(a,a.g,ka)||ak(a,a.L,ka)||ak(a,a.F,ka)||a.v("breakpoint missing: "+Ej(a,ka)):null!=ka.K&&(Dj(a,ka,D),"p"==F?a.sb(a.g,ka):"r"==F?a.sb(a.L,ka):"w"==
F?a.sb(a.F,ka):a.v("unknown breakpoint command: "+F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Jb,Ta=g[0],Fa=g[1],Ua=g[2],Xk=g[3];if("?"==Fa){var Kb="";for(Jb in Sb)a.ka[Jb]&&(Kb&&(Kb+=","),Kb+=Jb);Kb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
a.v("\tdh [p] [n] dump n instructions from history position p");Kb.length&&a.v("dump extension commands:\n\t"+Kb)}else if("state"==Fa){var Re=yk(a.J,!0);"console"==Ua?console.log(Re):(a.Pa&&(a.Pa.value=""),Re&&a.v(Re))}else if("symbols"==Fa)for(var Se=0;Se<a.B.length;Se++){var Te=a.B[Se],Lb;for(Lb in Te.ha)if("."!=Lb.charAt(0)){var ni=Te.ha[Lb].o;if(void 0!==ni){var oi=Te.ha[Lb].l;oi&&(Lb=oi);a.v(P(a,ni)+" "+Lb)}}}else{if("d"==Ta){for(Jb in Sb)if(g[1]==Jb){var pi=a.ka[Jb];pi?(g.shift(),g.shift(),
pi(g)):a.v("no dump registered for "+Fa);break a}Fa||(Ta=a.Ia||"dw")}else a.Ia=Ta;if("dh"==Ta){var qi=Fa,ri=Ua,si="",ti=0,wa=a.R,Ga=a.i;if(Ga.length){var qa=+qi||a.oa,rc=+ri||10;isNaN(qa)?qa=rc:si="more ";qa>Ga.length&&(a.v("note: only "+Ga.length+" available"),qa=Ga.length);wa-=qa;0>wa&&(null==Ga[Ga.length-1].K?(qa=wa+qa,wa=0):wa+=Ga.length);var Ue=[];"call"==ri&&(rc=1E5,Ue=["CALL"]);for(void 0!==qi&&a.v(qa+" instructions earlier:");0<rc&&wa!=a.R;){var ui=Ga[wa++];if(null==ui.K)break;var sc=W(ui.K),
Yk=qa--,vi=ek(a,sc,"history",Yk);(!Ue.length||0<=vi.indexOf(Ue[0]))&&a.v(vi);sc.Bc&&(wa+=sc.Bc,rc-=sc.Bc,qa-=sc.Bc);wa>=Ga.length&&(wa=0);a.oa=qa;ti++;rc--}}ti||(a.v("no "+si+"history available"),a.oa=void 0)}else{var fa=Bj(a,Fa);if(fa)if("da"==Ta){var Ve=fa.Ka||65535<fa.K,K=Je(a.f,fa.K||0,Ve);a.v(Ya("",Ve?12:19)+Oa(fa.K,Ve?22:17,3)+" "+H(fa.K,8));6>K.length?(2<K.length&&(a.v(" OFFSET: "+Oa(K[3],13,3)+" "+H(K[3],8)),a.v("UNIMAP["+Pa(K[1])+"]: "+Oa(K[2],22,3)+" "+H(K[2],8))),a.v(" PHYSICAL: "+
Oa(K[0],22,3)+" "+H(K[0],8))):(a.v(" OFFSET: "+Oa(K[1],13,3)+" "+H(K[1],8)),a.v("+ "+zk[K[2]]+"PAR"+K[3]+": "+Oa(K[4],22,3)+" "+H(K[4],8)),a.v("& MMUMASK: "+Oa(K[5],22,3)+" "+H(K[5],8)),a.v("= PHYSICAL: "+Oa(K[0],22,3)+" "+H(K[0],8)))}else{var ib=0,We="ds"==Ta;if(Ua){if("l"==Ua.charAt(0))Ua=Ua.substr(1)||Xk,ib=nj(a,Ua);else{var wi=Bj(a,Ua);wi&&(ib=wi.K-fa.K)}0>ib&&(ib=0);65536<ib&&(ib=65536)}var $k=a.Ca;fa.Ca&&(a.Ca=fa.Ca);for(var jb="dd"==Ta?4:"db"==Ta?1:2,Cd=jb*ib||128,Xe=
We?16:a.Ca,al=(Cd+Xe-1)/Xe|0||1,kb="";al--&&0<Cd;){for(var lb="",Ye="",Fa=Ej(a,fa),Dd=Xe,tc=0,uc=0;0<Dd&&0<Cd;){var Mb=1,Ed=1==jb?a.Nc(fa,Mb):a.Oa(fa,Mb=2),tc=tc|Ed<<(uc<<3),uc=uc+Mb;uc==jb&&(We?(lb&&(lb+=","),lb+="0x"+I(tc,2*jb)):(lb+=P(a,tc,jb),lb+=1==jb?9==Dd?"-":" ":" "),tc=uc=0);Dd-=Mb;for(Cd-=Mb;1==jb&&Mb--;)var Ze=Ed&255,Ye=Ye+(32<=Ze&&128>Ze?String.fromCharCode(Ze):"."),Ed=Ed>>8}kb&&(kb+="\n");kb=We?kb+(lb+","):kb+(Fa+": "+lb+(Dd?"":" "+Ye))}kb&&a.v(kb);a.za=fa;a.Ca=$k}}}}break;case "e":if("else"==
g[0])break;var Nb,$e,af,bf,cf=g[0],df=g[1];"eb"==cf?(Nb=1,$e=255,af=a.Nc,bf=a.Oc):"e"==cf||"ew"==cf?(Nb=2,$e=65535,af=a.Oa,bf=a.yd):df=null;if(null==df)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Fd=Bj(a,df);if(Fd)for(var Gd=2;Gd<g.length;Gd++){var vc=lj(a,g[Gd]);if(void 0===vc){a.v("unrecognized value: "+g[Gd]);break}vc&~$e&&a.v("warning: "+I(vc)+" exceeds "+Nb+"-byte value");a.v("changing "+Ej(a,Fd)+(B(a,16)?
"":" from "+P(a,af.call(a,Fd),Nb))+" to "+P(a,vc,Nb));bf.call(a,Fd,vc,Nb)}}break;case "g":a:{var xi=g[1],bl=b;if(void 0!==xi){var ef=Bj(a,xi,!0);if(!ef)break a;Dj(a,ef,bl);a.sb(a.g,ef,!0)}Tj(a,!0,c)}break;case "h":a.A.T?(c||a.v("halting"),a.ba()):Ma(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var ff;var wc=b.substr(2),wc=Za(wc);lj(a,wc)?(c||a.v("true: "+wc),ff=!0):(c||a.v("false: "+wc),ff=!1);ff||(d=!1);break}f=!0;break;case "k":var cl=g[0];if("?"==g[1])a.v("stack trace commands:"),
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var gf=0,hf=W(),xc=W(a.f.g[6]);for(a.v("stack trace for "+Ej(a,xc));10>gf;){for(var mb=null,dl=256;65536>xc.K>>>0;){hf.K=a.Oa(xc,2);if(null==xc.K||!dl--)break;if(!(hf.K&1)){for(var el=a,Hd=hf,yi=null,yc=Hd.K,zi=yc,jf=1;6>=jf&&yc;jf++){if(2<jf){Hd.K=yc;var Id=ek(el,Hd);if(0<=Id.indexOf("JSR")){var Ai=Id.indexOf(" ");if(yc+(Id.indexOf(" ",Ai+1)-Ai-1)/2==zi){yi=Id;break}}}yc-=2}Hd.K=zi;if(mb=yi)break}}if(!mb||null==mb)break;var Bi=
null;if("ks"==cl){var Ci=mb.match(/[0-9A-F]+$/);Ci&&(Bi=vk(a,Ci[0]))}mb=Ya(mb,50)+" ;"+(Bi||"stack="+Ej(a,xc));a.v(mb);gf++}gf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){vk(a,g[1],!0);break}f=!0;break;case "m":a:{var Ha,Ia=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Va=0;if("all"==N)Va=1879046143,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Sb)if(N==Ha){Va=Sb[Ha];Ia=!!(a.ja&Va);break}if(!Va){a.v("unknown message category: "+
N);break a}}if(Va)if("on"==g[2])a.ja|=Va,Ia=!0;else if("off"==g[2]&&(a.ja&=~Va,Ia=!1,1073741824==Va)){for(var Di=1E3<=a.M.length?a.M.length-1E3:0;Di<a.M.length;)a.v(a.M[Di++]);a.M=[]}}var fl=0,zc="";for(Ha in Sb)if(!N||N==Ha){var gl=!!(a.ja&Sb[Ha]);if(null===Ia||Ia==gl)zc&&(zc+=","),++fl%10||(zc+="\n\t"),"key"==Ha&&(Ha="keys"),zc+=Ha}void 0===N&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+
(zc||"none"));tj(a)}break;case "p":if("print"==g[0]){wk(a,b.substr(5));break}var hl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ei="pr"==hl?1:0,Fi=1+Ei;if(a.I)a.v("step in progress");else{var Jd=W(a.f.g[7]),Ob=a.Oa(Jd);3==Ob||4==Ob||34816==(Ob&65280)||32256==(Ob&65024)||35072==(Ob&65280)?(a.I=Fi,Cj(Jd,2)):2048==(Ob&65024)&&(ek(a,Jd),a.I=Fi);a.I?(a.sb(a.g,Jd,!0),Tj(a)||(a.J&&ke(a.J),a.I=0)):xk(a,Ei?"tr":
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}Wj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ac=+g[2];if(8==Ac||10==Ac||16==Ac)a.Ca=Ac;else{a.v("invalid base: "+Ac);break}}a.v("default base: "+a.Ca);break;case "cs":var Bc;void 0!==g[3]&&(Bc=+g[3]);switch(g[2]){case "int":a.f.Cb=Bc;break;case "start":a.f.Tb=Bc;break;case "stop":a.f.Eb=Bc;break;default:a.v("unknown cs option");break a}void 0!==Bc&&ce(a.f);a.v("checksums "+(a.f.A.Bb?"enabled":"disabled"));break;case "sp":void 0!==
g[2]&&(he(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.pb.toFixed(2)+"Mhz")+" ("+a.f.cb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":xk(a,
g[0],g[1]);break;case "u":Xj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){uk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Fb||"PDP11")+" version 1.32.2 ("+a.f.ka+",RELEASE"+(Hb?",TYPEDARRAYS":Gb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){wk(a,b.substr(1));break}var kf="commands:",lf;for(lf in Ak)kf+="\n"+Ya(lf,9)+Ak[lf];rf(a)||(kf+="\nnote: history disabled if no exec breakpoints");a.v(kf);break;default:f=!0}f&&(a.v("unknown command: "+
b),d=!1)}}catch(Hi){a.v("debugger error: "+(Hi.stack||Hi.message)),d=!1}return d}function fe(a,b,c){b=jj(a,b,c);for(var d in b)if(!dk(a,b[+d]))return!1;return!0}
var Ak={"?":"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"},gk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
Hj=20,Ij=21,Jj=22,Kj=23,Lj=24,Mj=25,Nj=26,Oj=27,Pj=28,Qj=29,Rj=30,Fj={SP:6,PC:7,PS:Hj,PI:Ij,ER:Jj,SL:Kj,M0:Lj,M1:Mj,M2:Nj,M3:Oj,AR:Pj,DR:Qj,SR:Rj},zk="KI KD SI SD ?? ?? UI UD".split(" "),nk=7,ok=56,Y=ok|nk,mk=4032,X=4096,ik=8192,jk=12288,kk=24576,lk=32768,hk=61440,vj={61440:{4096:[62,mk,Y],8192:[47,mk,Y],12288:[18,mk,Y],16384:[14,mk,Y],20480:[16,mk,Y],24576:[3,mk,Y],36864:[63,mk,Y],40960:[48,mk,Y],45056:[19,mk,Y],49152:[15,mk,Y],53248:[17,mk,Y],57344:[94,mk,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,ik]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,lk],35072:[107,lk]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,kk],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,nk],152:[108,jk]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},fk=[0],zj=[58,60,65,96,110,100,101,102,103,104,105],Aj=[108,59,64],Sj=1E3,Vj=">> ";wb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new rj(d);Ea(d,c)}});
function Bk(a,b,c){q.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.P=null;Ck(this,b);this.M=ae(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.H=this.L=null;this.F=this.S=!1;this.w=this.u=null;this.R=this.B=this.O=!1;this.V=ae(this,"url")||"";(Math.random()+.1).toString(36);this.g=Dk(this);if(this.f=Da("CPU",this.id)){this.G=Da("Debugger",this.id);this.D=new Mc({id:this.nb+".bus",busWidth:this.U},this.f,this.G);var d,e=Ba(this.id);if((this.i=Da("Panel",this.id))&&
this.i.Pa)for(b=0;b<e.length;b++)d=e[b],d.N=this.i.N,d.v=this.i.v,d.Pa=this.i.Pa;this.v(Fb+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.wa&&d.wa(this,this.D,this.f,this.G);this.b=ae(this,"resume",a,4,Ek);var f;b=null;if(a=ae(this,"state")||(f=!0,a.state))this.L=b=a,
f||(this.F=!0,this.b=Ek),this.b&&(this.w=new L(this,"1.32.2"),Fk(this.w)?b=null:delete this.w);!b&&this.b&&(b=Gk(this))&&(this.F=!0);if(b){var g=this;cb(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+Za(b):"")+")")):(g.I=b,g.S=!0);A(g)})}else A(this);this.C.power||(this.M=!0);!c&&this.M&&Hk(this,this.Vb)}else v("Unable to find CPU component")}p(Bk,q);
function Ck(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b}function ae(a,b,c,d,e){var f=b.toLowerCase(),f=qb(b)||qb(f);void 0===f&&a.P&&(f=a.P[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Hk(a,b,c){for(var d=Ba(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){Hk(a,b,c)});return}}b.call(a,c)}function Ik(a,b){var c=new L(a,"1.32.2",Jk);if(Fk(c)&&Kk(c)){var d=c.get(Lk),e=b?b.get(Lk):"unknown";d!=e&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Bk.prototype;
h.Vb=function(a){void 0===a&&(a=this.b||(this.I?Mk:Ek));if(!this.j){this.j++;var b=!1,c=!1;this.O=!1;var d=this.w||new L(this,"1.32.2");if(a==Nk)b=!0;else if(a>Ek){if(Fk(d,this.I)){this.u=new L(this,"1.32.2",Ok);Fk(this.u)&&(Pk(this,d),a=Qk,Rk(this.u));this.u.set(Lk,bb());Sk(this.u);var e=this.b&&!this.F;if(a==Mk||Aa("Click OK to restore the previous "+Fb+" machine state, or CANCEL to reset the machine.")){if(c=Kk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Fk(d,g):("error"==f&&"no machine state"!=
g?(this.N("Error: "+g),"unable to verify user"==g&&(ob(Tk,""),this.g=null)):this.v(f+": "+g),Rk(d),Fk(d)?(c=Kk(d),e=!0):c=!1))}e&&Ik(this,c?d:null)}else a==Qk&&d.clear()}else Ik(this);delete this.I;delete this.w}e=Ba(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Uk(this,g,d,b,c));b=[d,a,c];a!=Nk?Hk(this,this.ed,b):this.ed(b)}};
function Uk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!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.ya(f,d)&&f&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=Ek,window&&window.location.reload()):a.O=!0,b.ya(null),e=!1),!d&&b.Sc){var g=b.Sc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.f&&(Uk(this,this.f,b,c,a),M(this,-2),this.f.va());this.O&&(Pk(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function Pk(a,b){if(Aa("There may be a problem with your "+Fb+" machine.\n\nTo help us diagnose it, click OK to send this "+Fb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=Fb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;cb("http://www.pcjs.org/api/v1/report",d,!0)}}
function yk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new L(a,"1.32.2"),g=new L(a,"1.32.2",Jk),k=bb();g.set(Lk,k);f.set(Lk,k);f.set(Vk,"1.32.2");f.set(Wk,window?window.location.href:null);f.set(Zk,window?window.navigator.userAgent:"");a.f&&a.f.xa&&(c&&(b&&(a.f.A.va=a.f.A.T),a.f.ba()),d=a.f.xa(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=Ba(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&il(a,a.g,f.toString()),Sk(g)&&Sk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==jl),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.C.power)&&(b.textContent="Power");a.j=0;return e}
h.reset=function(){this.D&&this.D.reset&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=Ba(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}M(this,-1)};h.start=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}M(this,-1)};
h.stop=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}M(this,-1)};
function M(a,b){if(a.f){var c=a.f,d=b||0,e=c.C.speed;e&&(0>=d||30<=(c.rc+=d))&&(e.textContent=c.A.T?c.ob.toFixed(2)+"Mhz":"Stopped",c.rc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.T;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)hc(a,"R"+e,a.f.g[e]);e=wd(a.f);hc(a,"PS",e);hc(a,"NF",e&8?1:0,1);hc(a,"ZF",e&4?1:0,1);hc(a,"VF",e&2?1:0,1);hc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.ga=a.f.g[7]:0<b&&c&&!d&&(a.ga=a.f.Za);dc(a,a.ga);Vb(a,a.Sa);b=a.f;b=b.qb?b.V&16?1:2:4;Ic(a,"B22",b&1);Ic(a,"B18",b&2);
Ic(a,"B16",b&4)}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.j||(d.A.fa?yk(d,!1,!0):Hk(d,d.Vb))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=Aa("Click OK to save changes to this "+Fb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");yk(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.B=!0),d.Vb(Ek),d.B=!1)}else d.reset(),d.f&&d.f.va()},!0;case "save":if(Sa(eb(),"pcjs.org"))c.parentNode.removeChild(c);else return this.C[b]=
c,c.onclick=function(){var a=Dk(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=yk(d,b);b?il(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};function Dk(a,b){var c=a.g;c||((c=nb(Tk),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=kl(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
function kl(a,b){a.g=null;b=cb(eb()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ob(Tk,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function Gk(a){var b=null;a.g&&(b=eb()+"/api/v1/user?req=load&user="+a.g+"&state="+ll(a,"1.32.2"));return b}
function il(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ll(a,"1.32.2");d.data=c;b=cb(eb()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.N("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.N(c),ob(Tk,""),a.g=null)}}
function Oh(a){var b;a=Ba(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function ke(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Ok="failsafe",Jk="validate",Lk="timestamp",Vk="version",Wk="url",Zk="browser",Tk="user",Nk=-1,Ek=0,Mk=1,Qk=2,jl=3;
wb(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 Bk(g,d,!0);Ea(g,f);g.M&&Hk(g,g.Vb)}});xb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.R&&!c.A.fa&&c.Vb(Nk)}});xb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.A.fa&&yk(c,!(!c.b||c.H),!0)}});
function L(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.C=!1;this.key=ll(a,b,c);Rk(this,a.Fd)}h=L.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function Fk(a,b){return b?(a.b=b,a.g=!0,a.C=!1,!0):a.g?!0:fb()&&(b=nb(a.key))?(a.b=b,a.g=!0):!1}function Kk(a){var b=!0;if(!a.C)try{a.f=JSON.parse(a.b),a.C=!0}catch(c){v(c.message||c),b=!1}return b}
function Sk(a){var b=!0;if(fb()){var c=JSON.stringify(a.f);ob(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Rk(a,b){a.b="";a.f={};a.g=a.C=!1;b&&a.set("parms",b)}
h.clear=function(a){Rk(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 ll(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 ml=0;
function nl(a,b,c,d,e,f){e("Loading "+a+"...");cb(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):ol(k,a,b,c,d,e,f)})}
function ol(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(xa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?pl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function pl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");cb(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);pl(a,b,c)}})}else c(a,null)}
function ql(a,b,c,d){function e(a){if(void 0===k){var b=g&&y(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Wa(a))}function f(a){e("Error: "+a);l&&(--ml||Ab(!0));l=!1}var g,k,l=!0;ml++;ya[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?nl(c,null,null,!1,e,function(d,l){l?(xa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--ml||Ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ml||Ab(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nl(b,a,d,!0,e,m):ol(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){Ab(!1);return ql(a,b,c,d)};window.findMachineComponent=function(a,b){return Da(b,a+".machine")};window.enableEvents=Ab;window.sendEvent=Cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11-dbg.map
function rj(a,b,c){var d;if(b){b=sj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ab(n);if(!n){f=!0;break}n=tj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&uj[n]<uj[l[l.length-1]]&&qj(k,l,1);l.push(n);b=b.substr(r+u)}qj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&vj(a,null,
d))}return d}function sj(a,b){for(var c,d=a.ja?"(":"{",e=a.ja?")":"}",f=new RegExp(a.ja?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=rj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?M(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 tj(a,b,c,d){var e;null!=b?(e=a.Jd(b),0<=e?e=a.Kd(e):(e=a.U[b],null==e&&(e=Oa(b,a.Ca))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function vj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=Pa(d&255,8)+g,d>>=8;d=H(c,0,!0)+" "+c+". "+F(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}
function wj(a,b){if(b)return vj(a,b,a.U[b]);var c=0;for(b in a.U)vj(a,b,a.U[b]),c++;return 0<c}function M(a,b,c,d){switch(a.Ca){case 8:a=F(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=H(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var uj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function xj(a){oj.call(this,a);this.Ea=!1;this.ja=!0;this.H=W();this.za=W();this.N=W();this.B=[];this.g=this.L=this.F=[];yj(this);this.R=this.Z=0;this.i=[];this.oa=void 0;zj(this);this.G=this;this.ka={};this.ia=this.Ed=0;this.S=null;this.M=[];Aj(this,a.messages);this.ua=a.commands;this.Ha=Bj;this.W=[];this.I=0;this.Ia=this.pa=null;this.w=this.Ga=this.Fa=this.X=this.la=0;this.b=this.V=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return ie(b,a)}):void 0===global[x]&&(global[x]=
function(a){return ie(b,a)})}p(xj,oj);function Cj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,Ca:c}}h=xj.prototype;h.Wc=function(a,b){a.K=b;a.Qa=!1;a.Ca=void 0;return a};function Dj(a){return[a.K,a.Ka,a.Ca,a.Qa,a.tc]}function Ej(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.Bd=pj(a,c.tc=b[4]));return c}
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=de(a,"messages"))&&Aj(this,a);1140>this.f.ka&&(this.W=this.W.concat(Fj));1145>this.f.ka&&(this.W=this.W.concat(Gj));pd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=Cj(Hj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=bd[c],n&&d.v(H(n.id,8)+" %"+H(e<<d.D.g,8)+" %"+H(n.K,8)+" "+Ra(n.Kb)+" "+Ra(n.size)+" "+m),c!=Ed&&(c=-1),m=0);a+=d.D.j;e++}}});A(this)};
h.sa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.C[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ie(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.u<d.j.length-1&&(b=d.j[++d.u])):40==a.keyCode&&(0<d.u?b=d.j[--d.u]:(b="",d.u=-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.C[b]=c,wb(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";ie(d,a,!0);return!0}return!1}),!0;case "step":return this.C[b]=c,wb(c,function(a){var b=!1;Ia(d,!0)||(Na(d,!0),b=rc(d,a?1:0,null),Na(d,!1));return b}),!0}return!1};function he(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.cd=function(a,b){var c=255,d=Cj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Le(this.f,d),c.F=!1,c.ma++,d=dd(c,d).j(d&c.i,d),c.ma--):(c=this.f,c.oa++,d=c.D.$c(xc(c,d,3)),c.oa--),c=d,b&&Ij(a,b));return c};
h.Oa=function(a,b){var c=65535,d=Cj(a);-1!==d&&(c=a.Ka||65535<d?Jc(this.D,Le(this.f,d)):Kc(this.f,d),b&&Ij(a,b));return c};h.dd=function(a,b,c){var d=Cj(a);if(-1!==d){if(a.Ka||65535<d)ed(this.D,Le(this.f,d),b);else{var e=this.f;e.oa++;e.D.ad(xc(e,d,5),b);e.oa--}c&&Ij(a,c);J(this.J,-1)}};h.de=function(a,b,c){var d=Cj(a);if(-1!==d){if(a.Ka||65535<d)wc(this.D,Le(this.f,d),b);else{var e=this.f;e.oa++;e.D.Ob(xc(e,d,4),b);e.oa--}c&&Ij(a,c);J(this.J,-1)}};
function Hj(a,b,c){var d;c=(c?a.H:a.za).K;var e,f;if(void 0!==b){b=sj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ha[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=rj(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
function Jj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Bd=pj(a,b.tc=c[2]))}function Ij(a,b){null!=a.K&&(a.K+=b||1)}function Kj(a,b){return(b.Ka?"%":"")+M(a,b.K)}
function Aj(a,b){a.G=a;a.ia=a.Ed=536870912;a.S=null;a.M=[];b=pj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Vb){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.ia|=Vb[c],a.v(c+" messages enabled"))}}function pd(a,b,c){for(var d in Vb)if(b==Vb[d]){a.ka[d]=c;break}}
h.Jd=function(a){a=a.toUpperCase();var b=Lj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Mj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.Kd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.pa[a-8];else if(20>a)b=this.f.W[a-16];else{var c=this.f,d=this.b;switch(a){case Nj:b=zd(this.f);break;case Oj:b=c.Va;break;case Pj:b=c.R;break;case Qj:b=c.za&65280;break;case Rj:b=td(c);break;case Sj:b=vd(c);break;case Tj:b=wd(c);break;case Uj:b=c.V;break;case Vj:d&&(b=d.ga);break;case Wj:d&&(b=d.Sa);break;case Xj:d&&Mc(d)&&(b=d.Ta)}}return b};
h.message=function(a,b){b&&(a+=" @"+Kj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ia&1073741824)this.M.push(a);else{var c;if(this.ia&-2147483648&&this.f&&(c=this.f.A.T)||Ia(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,oe(a),a.ub=0,a.J&&J(a.J,void 0))}};
function zj(a){var b;if(!uf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Yj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.v("instruction history buffer allocated")}}function Zj(a,b,c){if(!ak(a,c))return!1;qc(a.f,b);return!0}
function rc(a,b,c,d){if(!ak(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.w=0;b||uf(a)&&vf(a,a.f.g[7],0);try{b=pe(a.f,b);var f=a.f.jc(b);0<f&&(sc(a.f,f),a.w+=f,tc(a.f,f,!0),uc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Fa(a.f,g.stack||g.message))}!1!==d&&(a.b&&a.b.stop(),J(a.J,-1));ge(a,c||!1,e);return 0<a.w}h.ba=function(a){this.f&&this.f.ba(a)};
function ge(a,b,c){if(a.Ea){void 0===b&&(b=!0);c&&a.v(bk+c);c=a.f;if(c=c.i&128?c.kc|c.hc<<8:0){var d=c>>8;a.v("trapped to "+M(a,c&255,1)+" ("+(0>d?Mb[-d]:M(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?ck(a):dk(a)}}function ak(a,b){var c;(c=!a.f||!Ha(a.f))||(c=a.f,c.A.fa?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.T?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Ga(a.f)}h.ya=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.xa=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){zj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.T=!1;ek(this);a||ge(this)};h.save=function(){var a=new I(this);a.set(0,Dj(this.H));a.set(1,Dj(this.N));a.set(2,[this.j,this.P,this.ia]);a.set(3,this.B);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=Ej(this,a[b++]),this.N=Ej(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ia|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.T=!0;this.Fa=a;this.Ga=b};
h.stop=function(a,b){if(this.A.T){this.A.T=!1;this.w=b-this.Ga;if(!this.I){b="stopped";if(this.w){a-=this.Fa;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";uf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else B(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}ge(this,!0);he(this);ek(this,this.f.g[7]);this.S=null}};function uf(a){return 1<a.g.length||!!a.Z}
function vf(a,b,c){var d=-1;c||(d=Kc(a.f,b))||(a.f.P&65535)!=b||(b=De(a.f,2));if(0<c&&(a.Z&&!--a.Z||fk(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=Kc(a.f,b)),65535!=(d&65535)&&(a.Wc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function Ag(a){var b=a.f;if(b.A.T)throw xe(b,a.f.P&65535),a.ba(),-1;return!1}function Yd(a,b,c){fk(a,b,c||1,a.L)&&a.ba(!1)}function Zd(a,b,c){fk(a,b,c||1,a.F)&&a.ba(!1)}
function yj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=Cj(c),c.Ka?(c=a.D,Xd(c.b[d>>>c.g],!1)):Oe(a.f,!1);a.L=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=Cj(c),c.Ka?(c=a.D,Xd(c.b[d>>>c.g],!0)):Oe(a.f,!0);a.F=["bw"];a.la=0;a.Z=0}
h.tb=function(a,b,c){var d=!0;c||gk(this,a,b,!1,!0);if(a!=this.g){var e=Cj(b);if(-1===e)this.v("invalid address: "+Kj(this,b)),d=!1;else{var f=a==this.F;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].tb(e&g.i,f)}else e=this.f,(f?e.bc++:e.ac++)||ve(e)}}d&&(a.push(b),c?b.Qa=!0:(hk(this,a,a.length-1,"set"),zj(this)));return d};
function gk(a,b,c,d,e){var f=!1;c=Cj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Cj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||hk(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.F,k.Ka?(d=a.D,Xd(d.b[c>>>d.g],b)):Oe(a.f,b));k.Qa||zj(a);break}}return f}function ik(a,b){for(var c=1;c<b.length;c++)hk(a,b,c);return b.length-1}function hk(a,b,c,d){c=b[c];a.v(b[0]+" "+Kj(a,c)+(d?" "+d:c.tc?' "'+c.tc+'"':""))}
function ek(a,b){if(void 0!==b)fk(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!gk(a,a.g,c,!0))break;b=0}}}
function fk(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=Cj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(gk(a,d,k,!0),e=!0);if(n=k.Bd){for(var f=!1,r=0;r<n.length;r++)if(!jk(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.T||(f=!0)}if(f){e||hk(a,d,g,"hit");break}}}a.la--;return f}
function kk(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ha)if(g=a.Ha[k][f&k])break;g||(g=lk);var l=g[0];0<=a.W.indexOf(l)&&(g=lk,l=g[0]);var m=k="",n=mk[l],r=g.length-1;l||r||(k=M(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var E=u,u=b,z="",D=E&nk;if(D==X)u=u.K+((f&255)<<24>>23)&65535,z=M(t,u);else if(D==ok)u=u.K-((f&63)<<1)&65535,z=M(t,u);else if(D==pk)z=M(t,f&7,1);else if(D==qk)z=M(t,f&63,1);else if(D==rk)z=M(t,f&255,1);else if(D=f&E,E&sk&&(D>>=6,E>>=6),E&Y){var E=null,G=D&
tk;switch(D&uk){case 0:z=Mj(G);break;case 8:z="@"+Mj(G);E=vk(t,t.f.g[G]);break;case 16:7>G?z="("+Mj(G)+")+":(D=t.Oa(u,2),z="#"+M(t,D,0,!0));break;case 24:7>G?z="@("+Mj(G)+")+":(D=t.Oa(u,2),z="@#"+M(t,D,0,!0),E=vk(t,D));break;case 32:z="-("+Mj(G)+")";break;case 40:z="@-("+Mj(G)+")";break;case 48:D=t.Oa(u,2);z=M(t,D,0,!0)+"("+Mj(G)+")";7==G&&(z=M(t,D=D+u.K&65535),E=vk(t,D));break;case 56:D=t.Oa(u,2),z="@"+M(t,D)+"("+Mj(G)+")",7==G&&(z="@"+M(t,D=D+u.K&65535),E=vk(t,Kc(t.f,D)))}E&&(z=[z,E])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=Kj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+M(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Xa(f,24);g+=Xa(n,5);k&&(g+=" "+k);if(c||m)g=Xa(g,60)+";"+(c||""),g=a.f.A.Db?g+("cycles="+je(a.f).toString()+" cs="+H(a.f.Xb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function vk(a,b){b=Me(a.f,b)[0];b>=a.f.mb&&b<a.D.B&&(b=b-a.f.mb+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Ma[b&id])&&(a=b[4]);return a}function wk(a,b){switch(b){case "N":a=Ce(a.f);break;case "Z":a=Be(a.f);break;case "V":a=Ae(a.f);break;case "C":a=ze(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=Mj(b),c+="="+M(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+M(a,d.pa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+M(a,d.W[b-16]);else switch(b){case Nj:c="PS="+M(a,zd(d));break;case Oj:c="PI="+M(a,d.Va);break;case Pj:c="ER="+M(a,d.R);break;case Qj:c="SL="+M(a,d.za&65280);break;case Rj:c="M0="+M(a,td(d));break;case Sj:c="M1="+M(a,vd(d));break;case Tj:c="M2="+M(a,wd(d));break;case Uj:c="M3="+M(a,d.V);break;case Vj:a.b&&(c="AR="+M(a,a.b.ga,3));break;case Wj:a.b&&(c="DR="+
M(a,a.b.Sa));break;case Xj:a.b&&Mc(a.b)&&(c="SR="+M(a,a.b.Ta,3))}c&&(c+=" ");return c}function xk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,Nj)+Z(a,Oj)+Z(a,Qj);d+=wk(a,"T")+wk(a,"N")+wk(a,"Z")+wk(a,"V")+wk(a,"C");b&&(b=d,c=""+(Z(a,Rj)+Z(a,Sj)),c+=Z(a,Tj)+Z(a,Uj)+Z(a,Pj),c=c+"\n"+(Z(a,Xj)+Z(a,Vj)+Z(a,Wj)),d=b+("\n"+c));return d}h.Fd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Ah(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=cb(n,l,a.Fd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Hi:b,K:c,Ke:d,ha:e,Cd:f})}function yk(a,b,c){var d=[],e=Cj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Ke;if(e>=g&&e<g+k){e=cb(f.Cd,[e-g],a.Fd);0<=e?zk(a,b,e,d):c&&(e=~e,zk(a,b,e-1,d),zk(a,b,e,d));break}}return d}
function zk(a,b,c,d){var e={},f=a.B[b].Cd,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ha[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function Ak(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return wj(a)||a.v("no variables"),!0;if(!c[2])return wj(a,c[1]);if(!c[3])return delete a.U[c[1]],!0;b=rj(a,c[3]);return void 0!==b?(a.U[c[1]]=b,!0):!1}a.v("invalid assignment:"+b);return!1}
function Bk(a,b,c){var d=null;if(b=Hj(a,b,!0)){var e=yk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+Ra(f)),f=e[0]+" ("+M(a,e[1])+")"+g,c&&a.v(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+Ra(f)),f=e[4]+" ("+M(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
function ck(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.v("missing value for "+b[1]);return}g=rj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":xe(e,
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.F=g?65536:0;break;case "PS":Ad(e,g);break;case "PI":yd(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.za=g|255;break;case "M0":ud(e,g);d=!0;break;case "M3":xd(e,g);d=!0;break;case "AR":a.b&&(d=a.b,gc(d,d.ga=g));d=!0;break;case "DR":a.b&&(d=a.b,Yb(d,d.Sa=g));d=!0;break;case "SR":if(a.b&&Mc(a.b)){hc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.v("unknown register: "+f);return}J(a.J);a.v("updated registers:")}}a.v(xk(a,d));c&&(a.H=W(e.g[7]),dk(a,Kj(a,a.H)))}}function Ck(a,b){b=ab(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):vj(a,null,c[2].charCodeAt(0)):rj(a,b,!0)}
function Dk(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instructions"),a.v("\ttr [#]\ttrace # instructions with register updates"),a.v("\ttc [#]\ttrace # cycles"),a.v("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=tj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;vb(c,function(){return Na(a,!0)&&rc(a,e,d,!1)},function(){a.b&&a.b.stop();J(a.J,-1);Na(a,!1)})}}
function dk(a,b,c,d){if(b=Hj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=tj(a,c.substr(1)),null!=c&&(d=c);else{d=Hj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Ia(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=yk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=kk(a,b,g,f);a.v(f);a.H=b;e-=b.K-l;c++}}}
function jk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(bk+b):(a.P&&(a.v("ended assemble at "+Kj(a,a.N)),a.H=a.N,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ha(a)&&0<b.length){a.P&&(b="a "+Kj(a,a.N)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
Hj(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.v("begin assemble at "+Kj(a,r)),a.P=!0,J(a.J);else{var u;a.v("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.dd(r,u[t],1);a.v(kk(a,a.N))}}break;case "b":a:{var E=g[0],z=g[1],D=b;if("?"==z)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
else{var G=E.charAt(1);if("l"==G){var lb;lb=0+ik(a,a.g);lb+=ik(a,a.L);(lb+=ik(a,a.F))||a.v("no breakpoints")}else if("n"==G){var qd=+z||0;z&&(a.Z=qd);a.v("break after "+qd+" instruction(s)")}else if(void 0===z)a.v("missing breakpoint address");else{var ma=W();if("*"!=z&&(ma=Hj(a,z,!0),!ma))break a;"c"==G?null==ma.K?(yj(a),a.v("all breakpoints cleared")):gk(a,a.g,ma)||gk(a,a.L,ma)||gk(a,a.F,ma)||a.v("breakpoint missing: "+Kj(a,ma)):null!=ma.K&&(Jj(a,ma,D),"p"==G?a.tb(a.g,ma):"r"==G?a.tb(a.L,ma):"w"==
G?a.tb(a.F,ma):a.v("unknown breakpoint command: "+G))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Pb,Ya=g[0],Ja=g[1],Za=g[2],cl=g[3];if("?"==Ja){var Qb="";for(Pb in Vb)a.ka[Pb]&&(Qb&&(Qb+=","),Qb+=Pb);Qb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
a.v("\tdh [p] [n] dump n instructions from history position p");Qb.length&&a.v("dump extension commands:\n\t"+Qb)}else if("state"==Ja){var Xe=Ek(a.J,!0);"console"==Za?console.log(Xe):(a.Pa&&(a.Pa.value=""),Xe&&a.v(Xe))}else if("symbols"==Ja)for(var Ye=0;Ye<a.B.length;Ye++){var Ze=a.B[Ye],Rb;for(Rb in Ze.ha)if("."!=Rb.charAt(0)){var ti=Ze.ha[Rb].o;if(void 0!==ti){var ui=Ze.ha[Rb].l;ui&&(Rb=ui);a.v(M(a,ti)+" "+Rb)}}}else{if("d"==Ya){for(Pb in Vb)if(g[1]==Pb){var vi=a.ka[Pb];vi?(g.shift(),g.shift(),
vi(g)):a.v("no dump registered for "+Ja);break a}Ja||(Ya=a.Ia||"dw")}else a.Ia=Ya;if("dh"==Ya){var wi=Ja,xi=Za,yi="",zi=0,Aa=a.R,Ka=a.i;if(Ka.length){var ua=+wi||a.oa,yc=+xi||10;isNaN(ua)?ua=yc:yi="more ";ua>Ka.length&&(a.v("note: only "+Ka.length+" available"),ua=Ka.length);Aa-=ua;0>Aa&&(null==Ka[Ka.length-1].K?(ua=Aa+ua,Aa=0):Aa+=Ka.length);var $e=[];"call"==xi&&(yc=1E5,$e=["CALL"]);for(void 0!==wi&&a.v(ua+" instructions earlier:");0<yc&&Aa!=a.R;){var Ai=Ka[Aa++];if(null==Ai.K)break;var zc=W(Ai.K),
dl=ua--,Bi=kk(a,zc,"history",dl);(!$e.length||0<=Bi.indexOf($e[0]))&&a.v(Bi);zc.Rc&&(Aa+=zc.Rc,yc-=zc.Rc,ua-=zc.Rc);Aa>=Ka.length&&(Aa=0);a.oa=ua;zi++;yc--}}zi||(a.v("no "+yi+"history available"),a.oa=void 0)}else{var ha=Hj(a,Ja);if(ha)if("da"==Ya){var af=ha.Ka||65535<ha.K,L=Me(a.f,ha.K||0,af);a.v(Xa("",af?12:19)+Pa(ha.K,af?22:17,3)+" "+F(ha.K,8));6>L.length?(2<L.length&&(a.v(" OFFSET: "+Pa(L[3],13,3)+" "+F(L[3],8)),a.v("UNIMAP["+Qa(L[1])+"]: "+Pa(L[2],22,3)+" "+F(L[2],8))),a.v(" PHYSICAL: "+
Pa(L[0],22,3)+" "+F(L[0],8))):(a.v(" OFFSET: "+Pa(L[1],13,3)+" "+F(L[1],8)),a.v("+ "+Fk[L[2]]+"PAR"+L[3]+": "+Pa(L[4],22,3)+" "+F(L[4],8)),a.v("& MMUMASK: "+Pa(L[5],22,3)+" "+F(L[5],8)),a.v("= PHYSICAL: "+Pa(L[0],22,3)+" "+F(L[0],8)))}else{var nb=0,bf="ds"==Ya;if(Za){if("l"==Za.charAt(0))Za=Za.substr(1)||cl,nb=tj(a,Za);else{var Ci=Hj(a,Za);Ci&&(nb=Ci.K-ha.K)}0>nb&&(nb=0);65536<nb&&(nb=65536)}var fl=a.Ca;ha.Ca&&(a.Ca=ha.Ca);for(var ob="dd"==Ya?4:"db"==Ya?1:2,Jd=ob*nb||128,cf=
bf?16:a.Ca,gl=(Jd+cf-1)/cf|0||1,pb="";gl--&&0<Jd;){for(var qb="",df="",Ja=Kj(a,ha),Kd=cf,Ac=0,Bc=0;0<Kd&&0<Jd;){var Sb=1,Ld=1==ob?a.cd(ha,Sb):a.Oa(ha,Sb=2),Ac=Ac|Ld<<(Bc<<3),Bc=Bc+Sb;Bc==ob&&(bf?(qb&&(qb+=","),qb+="0x"+H(Ac,2*ob)):(qb+=M(a,Ac,ob),qb+=1==ob?9==Kd?"-":" ":" "),Ac=Bc=0);Kd-=Sb;for(Jd-=Sb;1==ob&&Sb--;)var ef=Ld&255,df=df+(32<=ef&&128>ef?String.fromCharCode(ef):"."),Ld=Ld>>8}pb&&(pb+="\n");pb=bf?pb+(qb+","):pb+(Ja+": "+qb+(Kd?"":" "+df))}pb&&a.v(pb);a.za=ha;a.Ca=fl}}}}break;case "e":if("else"==
g[0])break;var Tb,ff,gf,hf,jf=g[0],kf=g[1];"eb"==jf?(Tb=1,ff=255,gf=a.cd,hf=a.dd):"e"==jf||"ew"==jf?(Tb=2,ff=65535,gf=a.Oa,hf=a.de):kf=null;if(null==kf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Md=Hj(a,kf);if(Md)for(var Nd=2;Nd<g.length;Nd++){var Cc=rj(a,g[Nd]);if(void 0===Cc){a.v("unrecognized value: "+g[Nd]);break}Cc&~ff&&a.v("warning: "+H(Cc)+" exceeds "+Tb+"-byte value");a.v("changing "+Kj(a,Md)+(B(a,16)?
"":" from "+M(a,gf.call(a,Md),Tb))+" to "+M(a,Cc,Tb));hf.call(a,Md,Cc,Tb)}}break;case "g":a:{var Di=g[1],hl=b;if(void 0!==Di){var lf=Hj(a,Di,!0);if(!lf)break a;Jj(a,lf,hl);a.tb(a.g,lf,!0)}Zj(a,!0,c)}break;case "h":a.A.T?(c||a.v("halting"),a.ba()):Ia(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var mf;var Dc=b.substr(2),Dc=ab(Dc);rj(a,Dc)?(c||a.v("true: "+Dc),mf=!0):(c||a.v("false: "+Dc),mf=!1);mf||(d=!1);break}f=!0;break;case "k":var il=g[0];if("?"==g[1])a.v("stack trace commands:"),
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var nf=0,of=W(),Ec=W(a.f.g[6]);for(a.v("stack trace for "+Kj(a,Ec));10>nf;){for(var rb=null,jl=256;65536>Ec.K>>>0;){of.K=a.Oa(Ec,2);if(null==Ec.K||!jl--)break;if(!(of.K&1)){for(var kl=a,Od=of,Ei=null,Fc=Od.K,Fi=Fc,pf=1;6>=pf&&Fc;pf++){if(2<pf){Od.K=Fc;var Pd=kk(kl,Od);if(0<=Pd.indexOf("JSR")){var Gi=Pd.indexOf(" ");if(Fc+(Pd.indexOf(" ",Gi+1)-Gi-1)/2==Fi){Ei=Pd;break}}}Fc-=2}Od.K=Fi;if(rb=Ei)break}}if(!rb||null==rb)break;var Hi=
null;if("ks"==il){var Ii=rb.match(/[0-9A-F]+$/);Ii&&(Hi=Bk(a,Ii[0]))}rb=Xa(rb,50)+" ;"+(Hi||"stack="+Kj(a,Ec));a.v(rb);nf++}nf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Bk(a,g[1],!0);break}f=!0;break;case "m":a:{var La,Ma=null,P=g[1];"?"==P&&(P=void 0);if(void 0!==P){var $a=0;if("all"==P)$a=1879046143,P=null;else if("on"==P)Ma=!0,P=null;else if("off"==P)Ma=!1,P=null;else{"keys"==P&&(P="key");"kbd"==P&&(P="keyboard");for(La in Vb)if(P==La){$a=Vb[La];Ma=!!(a.ia&$a);break}if(!$a){a.v("unknown message category: "+
P);break a}}if($a)if("on"==g[2])a.ia|=$a,Ma=!0;else if("off"==g[2]&&(a.ia&=~$a,Ma=!1,1073741824==$a)){for(var Ji=1E3<=a.M.length?a.M.length-1E3:0;Ji<a.M.length;)a.v(a.M[Ji++]);a.M=[]}}var ll=0,Gc="";for(La in Vb)if(!P||P==La){var ml=!!(a.ia&Vb[La]);if(null===Ma||Ma==ml)Gc&&(Gc+=","),++ll%10||(Gc+="\n\t"),"key"==La&&(La="keys"),Gc+=La}void 0===P&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Ma?Ma?"messages on: ":"messages off: ":"message categories:\n\t")+
(Gc||"none"));zj(a)}break;case "p":if("print"==g[0]){Ck(a,b.substr(5));break}var nl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ki="pr"==nl?1:0,Li=1+Ki;if(a.I)a.v("step in progress");else{var Qd=W(a.f.g[7]),Ub=a.Oa(Qd);3==Ub||4==Ub||34816==(Ub&65280)||32256==(Ub&65024)||35072==(Ub&65280)?(a.I=Li,Ij(Qd,2)):2048==(Ub&65024)&&(kk(a,Qd),a.I=Li);a.I?(a.tb(a.g,Qd,!0),Zj(a)||(a.J&&ne(a.J),a.I=0)):Dk(a,Ki?"tr":
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}ck(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Hc=+g[2];if(8==Hc||10==Hc||16==Hc)a.Ca=Hc;else{a.v("invalid base: "+Hc);break}}a.v("default base: "+a.Ca);break;case "cs":var Ic;void 0!==g[3]&&(Ic=+g[3]);switch(g[2]){case "int":a.f.Eb=Ic;break;case "start":a.f.Yb=Ic;break;case "stop":a.f.Gb=Ic;break;default:a.v("unknown cs option");break a}void 0!==Ic&&fe(a.f);a.v("checksums "+(a.f.A.Db?"enabled":"disabled"));break;case "sp":void 0!==
g[2]&&(ke(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.qb.toFixed(2)+"Mhz")+" ("+a.f.eb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Dk(a,
g[0],g[1]);break;case "u":dk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Ak(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.32.2 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Ck(a,b.substr(1));break}var qf="commands:",rf;for(rf in Gk)qf+="\n"+Xa(rf,9)+Gk[rf];uf(a)||(qf+="\nnote: history disabled if no exec breakpoints");a.v(qf);break;default:f=!0}f&&(a.v("unknown command: "+
b),d=!1)}}catch(Ni){a.v("debugger error: "+(Ni.stack||Ni.message)),d=!1}return d}function ie(a,b,c){b=pj(a,b,c);for(var d in b)if(!jk(a,b[+d]))return!1;return!0}
var Gk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},mk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
Nj=20,Oj=21,Pj=22,Qj=23,Rj=24,Sj=25,Tj=26,Uj=27,Vj=28,Wj=29,Xj=30,Lj={SP:6,PC:7,PS:Nj,PI:Oj,ER:Pj,SL:Qj,M0:Rj,M1:Sj,M2:Tj,M3:Uj,AR:Vj,DR:Wj,SR:Xj},Fk="KI KD SI SD ?? ?? UI UD".split(" "),tk=7,uk=56,Y=uk|tk,sk=4032,X=4096,ok=8192,pk=12288,qk=24576,rk=32768,nk=61440,Bj={61440:{4096:[62,sk,Y],8192:[47,sk,Y],12288:[18,sk,Y],16384:[14,sk,Y],20480:[16,sk,Y],24576:[3,sk,Y],36864:[63,sk,Y],40960:[48,sk,Y],45056:[19,sk,Y],49152:[15,sk,Y],53248:[17,sk,Y],57344:[94,sk,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,ok]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,rk],35072:[107,rk]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,qk],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,tk],152:[108,pk]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},lk=[0],Fj=[58,60,65,96,110,100,101,102,103,104,105],Gj=[108,59,64],Yj=1E3,bk=">> ";yb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new xj(d);Ea(d,c)}});
function Hk(a,b,c){q.call(this,"Computer",a,33554432);this.A.fa=!1;this.P=null;Ik(this,b);this.M=de(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.H=this.L=null;this.F=this.S=!1;this.w=this.u=null;this.R=this.B=this.N=!1;this.V=de(this,"url")||"";(Math.random()+.1).toString(36);this.g=Jk(this);if(this.f=Da("CPU",this.id)){this.G=Da("Debugger",this.id);this.D=new Pc({id:this.ob+".bus",busWidth:this.U},this.f,this.G);var d,e=Ba(this.id);if((this.i=Da("Panel",this.id))&&this.i.Pa)for(b=
0;b<e.length;b++)d=e[b],d.O=this.i.O,d.v=this.i.v,d.Pa=this.i.Pa;this.v(Hb+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.wa&&d.wa(this,this.D,this.f,this.G);this.b=de(this,"resume",a,4,Kk);var f;b=null;if(a=de(this,"state")||(f=!0,a.state))this.L=b=a,f||(this.F=!0,this.b=
Kk),this.b&&(this.w=new I(this,"1.32.2"),Lk(this.w)?b=null:delete this.w);!b&&this.b&&(b=Mk(this))&&(this.F=!0);if(b){var g=this;eb(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.O("Unable to load machine state from server (error "+c+(b?": "+ab(b):"")+")")):(g.I=b,g.S=!0);A(g)})}else A(this);this.C.power||(this.M=!0);!c&&this.M&&Nk(this,this.$b)}else v("Unable to find CPU component")}p(Hk,q);
function Ik(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b}function de(a,b,c,d,e){var f=b.toLowerCase(),f=sb(b)||sb(f);void 0===f&&a.P&&(f=a.P[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Nk(a,b,c){for(var d=Ba(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ha(f)){Ha(f,function(){Nk(a,b,c)});return}}b.call(a,c)}function Ok(a,b){var c=new I(a,"1.32.2",Pk);if(Lk(c)&&Qk(c)){var d=c.get(Rk),e=b?b.get(Rk):"unknown";d!=e&&(a.O("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Hk.prototype;
h.$b=function(a){void 0===a&&(a=this.b||(this.I?Sk:Kk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.w||new I(this,"1.32.2");if(a==Tk)b=!0;else if(a>Kk){if(Lk(d,this.I)){this.u=new I(this,"1.32.2",Uk);Lk(this.u)&&(Vk(this,d),a=Wk,Xk(this.u));this.u.set(Rk,db());Yk(this.u);var e=this.b&&!this.F;if(a==Sk||za("Click OK to restore the previous "+Hb+" machine state, or CANCEL to reset the machine.")){if(c=Qk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Lk(d,g):("error"==f&&"no machine state"!=
g?(this.O("Error: "+g),"unable to verify user"==g&&(kb(Zk,""),this.g=null)):this.v(f+": "+g),Xk(d),Lk(d)?(c=Qk(d),e=!0):c=!1))}e&&Ok(this,c?d:null)}else a==Wk&&d.clear()}else Ok(this);delete this.I;delete this.w}e=Ba(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=$k(this,g,d,b,c));b=[d,a,c];a!=Tk?Nk(this,this.Gd,b):this.Gd(b)}};
function $k(a,b,c,d,e){if(!b.A.fa){b.A.fa=!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.ya(f,d)&&f&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=Kk,window&&window.location.reload()):a.N=!0,b.ya(null),e=!1),!d&&b.pd){var g=b.pd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.Gd=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.f&&($k(this,this.f,b,c,a),J(this,-2),this.f.va());this.N&&(Vk(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function Vk(a,b){if(za("There may be a problem with your "+Hb+" machine.\n\nTo help us diagnose it, click OK to send this "+Hb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=Hb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;eb("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ek(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new I(a,"1.32.2"),g=new I(a,"1.32.2",Pk),k=db();g.set(Rk,k);f.set(Rk,k);f.set(al,"1.32.2");f.set(bl,window?window.location.href:null);f.set(el,window?window.navigator.userAgent:"");a.f&&a.f.xa&&(c&&(b&&(a.f.A.va=a.f.A.T),a.f.ba()),d=a.f.xa(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=Ba(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&ol(a,a.g,f.toString()),Yk(g)&&Yk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==pl),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.C.power)&&(b.textContent="Power");a.j=0;return e}
h.reset=function(){this.D&&this.D.reset&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=Ba(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}J(this,-1)};h.start=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};
h.stop=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
function J(a,b){if(a.f){var c=a.f,d=b||0,e=c.C.speed;e&&(0>=d||30<=(c.Cc+=d))&&(e.textContent=c.A.T?c.pb.toFixed(2)+"Mhz":"Stopped",c.Cc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.T;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)kc(a,"R"+e,a.f.g[e]);e=zd(a.f);kc(a,"PS",e);kc(a,"NF",e&8?1:0,1);kc(a,"ZF",e&4?1:0,1);kc(a,"VF",e&2?1:0,1);kc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.ga=a.f.g[7]:0<b&&c&&!d&&(a.ga=a.f.$a);gc(a,a.ga);Yb(a,a.Sa);b=a.f;b=b.rb?b.V&16?1:2:4;Lc(a,"B22",b&1);Lc(a,"B18",b&2);
Lc(a,"B16",b&4)}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.j||(d.A.fa?Ek(d,!1,!0):Nk(d,d.$b))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=za("Click OK to save changes to this "+Hb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ek(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.B=!0),d.$b(Kk),d.B=!1)}else d.reset(),d.f&&d.f.va()},!0;case "save":if(Ua(gb(),"pcjs.org"))c.parentNode.removeChild(c);else return this.C[b]=
c,c.onclick=function(){var a=Jk(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=Ek(d,b);b?ol(d,a,c):d.O("Resume disabled, machine state not saved")}},!0}return!1};function Jk(a,b){var c=a.g;c||((c=jb(Zk),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=ql(a,c))||a.O("The user ID is invalid.")):b&&a.O("Browser local storage is not available"));return c}
function ql(a,b){a.g=null;b=eb(gb()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(kb(Zk,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function Mk(a){var b=null;a.g&&(b=gb()+"/api/v1/user?req=load&user="+a.g+"&state="+rl(a,"1.32.2"));return b}
function ol(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=rl(a,"1.32.2");d.data=c;b=eb(gb()+"/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.O("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.O(c),kb(Zk,""),a.g=null)}}
function Rh(a){var b;a=Ba(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function ne(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Uk="failsafe",Pk="validate",Rk="timestamp",al="version",bl="url",el="browser",Zk="user",Tk=-1,Kk=0,Sk=1,Wk=2,pl=3;
yb(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 Hk(g,d,!0);Ea(g,f);g.M&&Nk(g,g.$b)}});zb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.R&&!c.A.fa&&c.$b(Tk)}});zb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.A.fa&&Ek(c,!(!c.b||c.H),!0)}});
function I(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.C=!1;this.key=rl(a,b,c);Xk(this,a.we)}h=I.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function Lk(a,b){return b?(a.b=b,a.g=!0,a.C=!1,!0):a.g?!0:hb()&&(b=jb(a.key))?(a.b=b,a.g=!0):!1}function Qk(a){var b=!0;if(!a.C)try{a.f=JSON.parse(a.b),a.C=!0}catch(c){v(c.message||c),b=!1}return b}
function Yk(a){var b=!0;if(hb()){var c=JSON.stringify(a.f);kb(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Xk(a,b){a.b="";a.f={};a.g=a.C=!1;b&&a.set("parms",b)}
h.clear=function(a){Xk(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function rl(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var sl=0;
function tl(a,b,c,d,e,f){e("Loading "+a+"...");eb(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):ul(k,a,b,c,d,e,f)})}
function ul(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(wa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?vl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function vl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");eb(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);vl(a,b,c)}})}else c(a,null)}
function wl(a,b,c,d){function e(a){if(void 0===k){var b=g&&y(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Va(a))}function f(a){e("Error: "+a);l&&(--sl||Cb(!0));l=!1}var g,k,l=!0;sl++;xa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?tl(c,null,null,!1,e,function(d,l){l?(wa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--sl||Cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--sl||Cb(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?tl(b,a,d,!0,e,m):ul(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){Cb(!1);return wl(a,b,c,d)};window.findMachineComponent=function(a,b){return Da(b,a+".machine")};window.enableEvents=Cb;window.sendEvent=Eb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11-dbg.map