___JmolDate="$Date: 2014-01-05 16:16:19 -0600 (Sun, 05 Jan 2014) $";___fullJmolProperties="src/org/jmol/viewer/Jmol.properties";___JmolVersion="14.0.4";
(function(a){a.extend(a.support,{iecors:!!window.XDomainRequest});a.support.iecors?a.ajaxTransport(function(a){return{send:function(f,c){var e=new window.XDomainRequest;e.onload=function(){c(200,"OK",{text:e.responseText},{"Content-Type":e.contentType})};a.xhrFields&&(e.onerror=a.xhrFields.error,e.ontimeout=a.xhrFields.timeout);e.open(a.type,a.url);e.send(a.hasContent&&a.data||null)},abort:function(){xdr.abort()}}}):(a.ajaxSetup({accepts:{binary:"text/plain; charset=x-user-defined"},responseFields:{binary:"response"}}),
a.ajaxTransport("binary",function(a){var f;return{send:function(c,e){var h=a.xhr();h.open(a.type,a.url,!1);h.hasOwnProperty("responseType")?h.responseType="arraybuffer":h.overrideMimeType&&h.overrideMimeType("text/plain; charset=x-user-defined");!a.crossDomain&&!c["X-Requested-With"]&&(c["X-Requested-With"]="XMLHttpRequest");try{for(var d in c)h.setRequestHeader(d,c[d])}catch(b){}h.send(a.hasContent&&a.data||null);f=function(){var b=h.status,d="",c=h.getAllResponseHeaders(),q={};try{if(f&&4===h.readyState){f=
void 0;try{q.text="string"===typeof h.responseText?h.responseText:null}catch(j){}try{q.binary=h.response}catch(m){}try{d=h.statusText}catch(r){d=""}!b&&a.isLocal&&!a.crossDomain?b=q.text?200:404:1223===b&&(b=204);e(b,d,q,c)}}catch(s){alert(s),e(-1,s)}};f()},abort:function(){}}}))})(jQuery);
(function(a,g,f,c){function e(e,d){function b(b){a(l).each(function(){self.Jmol&&(0<=d.indexOf("mouseup")||0<=d.indexOf("touchend"))&&Jmol._setMouseOwner(null);var l=a(this);this!==b.target&&!l.has(b.target).length&&l.triggerHandler(d,[b.target,b])})}d=d||e+c;var l=a(),k=e+"."+d+"-special-event";a.event.special[d]={setup:function(){l=l.add(this);1===l.length&&a(g).bind(k,b)},teardown:function(){self.Jmol&&Jmol._setMouseOwner(null);l=l.not(this);0===l.length&&a(g).unbind(k)},add:function(b){var a=
b.handler;b.handler=function(b,l){b.target=l;a.apply(this,arguments)}}}}a.map(f.split(" "),function(a){e(a)});e("focusin","focus"+c);e("focusout","blur"+c)})(jQuery,document,"click mousemove mouseup touchmove touchend","outjsmol");"undefined"==typeof jQuery&&alert("Note -- JSmoljQuery is required for JSmol, but it's not defined.");
self.Jmol||(Jmol=function(a){var g=9E3,f=0==a.location.href.indexOf("https")?"https":"http";return{_version:"JSmol 13.3.9 11/23/2013 10:51:10 PM",_alertNoBinary:!0,_tracker:"http://chemapps.stolaf.edu/jmol/JmolTracker.htm?id=UA-45940799-1",_isLocal:0==a.location.protocol.toLowerCase().indexOf("file:"),_allowedJmolSize:[25,2048,300],_jarFile:null,_j2sPath:null,_use:null,_j2sLoadMonitorOpacity:55,_applets:{},_asynchronous:!0,_ajaxQueue:[],_ajaxTestSite:f+"://google.com",_z:{header:g,main:g++,image:g++,
top:g++,dialog:g++,menu:g+1E3,fileOpener:g+1001,coverImage:g+2E3},_debugCode:!0,db:{_databasePrefixes:"$=:",_fileLoadScript:";if (_loadScript = '' && defaultLoadScript == '' && _filetype == 'Pdb') { select protein or nucleic;cartoons Only;color structure; select * };",_nciLoadScript:";n = ({molecule=1}.length < {molecule=2}.length ? 2 : 1); select molecule=n;display selected;center selected;",_pubChemLoadScript:"",_DirectDatabaseCalls:{"cactus.nci.nih.gov":"%URL","www.rcsb.org":"%URL","pubchem.ncbi.nlm.nih.gov":"%URL",
$:"http://cactus.nci.nih.gov/chemical/structure/%FILE/file?format=sdf&get3d=True",$$:"http://cactus.nci.nih.gov/chemical/structure/%FILE/file?format=sdf","=":"http://www.rcsb.org/pdb/files/%FILE.pdb","==":"http://www.rcsb.org/pdb/files/ligand/%FILE.cif",":":"http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/%FILE/SDF?record_type=3d"},_restQueryUrl:"http://www.rcsb.org/pdb/rest/search",_restQueryXml:"<orgPdbQuery><queryType>org.pdb.query.simple.AdvancedKeywordQuery</queryType><description>Text Search</description><keywords>QUERY</keywords></orgPdbQuery>",
_restReportUrl:"http://www.pdb.org/pdb/rest/customReport?pdbids=IDLIST&customReportColumns=structureId,structureTitle"},_debugAlert:!1,_document:a,_execLog:"",_execStack:[],_isMsie:0<=navigator.userAgent.toLowerCase().indexOf("msie"),_isXHTML:!1,_lastAppletID:null,_mousePageX:null,_mouseOwner:null,_serverUrl:"http://your.server.here/jsmol.php",_syncId:(""+Math.random()).substring(3),_touching:!1,_XhtmlElement:null,_XhtmlAppendChild:!1}}(document));
(function(a,g){a.$=function(b,a){return g(a?"#"+b._id+"_"+a:b)};a._$=function(b){return"string"==typeof b?g("#"+b):b};a.$ajax=function(b){a._ajaxCall=b.url;b.cache="NO"!=b.cache;return g.ajax(b)};a.$appEvent=function(b,l,d,c){b=a.$(b,l);b.off(d)&&c&&b.on(d,c)};a.$after=function(b,a){return g(b).after(a)};a.$bind=function(b,a,d){return d?g(b).bind(a,d):g(b).unbind(a)};a.$get=function(b,a){return g(b).get(a)};a.$attr=function(b,l,d){return a._$(b).attr(l,d)};a.$css=function(b,l){return a._$(b).css(l)};
a.$focus=function(b){return a._$(b).focus()};a.$getAncestorDiv=function(b,a){return g("div."+a+":has(#"+b+")")[0]};a.$html=function(b,l){return a._$(b).html(l)};a.$offset=function(b){return a._$(b).offset()};a.$documentOff=function(b,a){return g(document).off(b,"#"+a)};a.$documentOn=function(b,a,d){return g(document).on(b,"#"+a,d)};a.$windowOn=function(b,a){return g(window).on(b,a)};a.$prop=function(b,l,d){var c=a._$(b);return 3==arguments.length?c.prop(l,d):c.prop(l)};a.$remove=function(b){return a._$(b).remove()};
a.$resize=function(b){return g(window).resize(b)};a.$scrollTo=function(b,l){var d=a._$(b);return d.scrollTop(0>l?d[0].scrollHeight:l)};a.$setSize=function(b,l,d){return a._$(b).width(l).height(d)};a.$setVisible=function(b,l){var d=a._$(b);return l?d.show():d.hide()};a.$submit=function(b){return a._$(b).submit()};a.$supportsIECrossDomainScripting=function(){return g.support.iecors};a.$val=function(b,l){var d=a._$(b);return 1==arguments.length?d.val():d.val(l)};a._clearVars=function(){delete jQuery;
delete g;delete a;self.Clazz&&(delete J,delete JU,delete JSV,delete JZ,delete java,delete Clazz,delete ClassLoader,delete ClassLoaderProgressMonitor,delete JavaObject,delete c$,delete $_A,delete $_AB,delete $_AC,delete $_AD,delete $_AF,delete $_AI,delete $_AL,delete $_AS,delete $_Ab,delete $_B,delete $_C,delete $_D,delete $_E,delete $_F,delete $_G,delete $_H,delete $_I,delete $_J,delete $_K,delete $_L,delete $_M,delete $_N,delete $_O,delete $_P,delete $_Q,delete $_R,delete $_S,delete $_T,delete $_U,
delete $_V,delete $_W,delete $_X,delete $_Y,delete $_Z,delete $_k,delete $_s,delete $t$)};var f=document,c=window,e={};e.ua=navigator.userAgent.toLowerCase();var h;a:{h=["linux","unix","mac","win"];for(var d=h.length;d--;)if(-1!=e.ua.indexOf(h[d])){h=h[d];break a}h="unknown"}e.os=h;e.browser=function(){for(var b=e.ua,a="konqueror webkit omniweb opera webtv icab msie mozilla".split(" "),d=0;d<a.length;d++)if(0<=b.indexOf(a[d]))return a[d];return"unknown"};e.browserName=e.browser();e.browserVersion=
parseFloat(e.ua.substring(e.ua.indexOf(e.browserName)+e.browserName.length+1));e.supportsXhr2=function(){return g.support.cors||g.support.iecors};e.allowDestroy="msie"!=e.browserName;e.allowHTML5="msie"!=e.browserName||0>navigator.appVersion.indexOf("MSIE 8");e.getDefaultLanguage=function(){return navigator.language||navigator.userLanguage||"en-US"};e._webGLtest=0;e.supportsWebGL=function(){if(!a.featureDetection._webGLtest){var b;a.featureDetection._webGLtest=c.WebGLRenderingContext&&((b=f.createElement("canvas")).getContext("webgl")||
b.getContext("experimental-webgl"))?1:-1}return 0<a.featureDetection._webGLtest};e.supportsLocalization=function(){for(var b=f.getElementsByTagName("meta"),a=b.length;0<=--a;)if(0<=b[a].outerHTML.toLowerCase().indexOf("utf-8"))return!0;return!1};e.supportsJava=function(){if(!a.featureDetection._javaEnabled){if(a._isMsie)return!0;a.featureDetection._javaEnabled=navigator.javaEnabled()?1:-1}return 0<a.featureDetection._javaEnabled};e.compliantBrowser=function(){var b=!!f.getElementById,a=e.os;if("opera"==
e.browserName&&7.54>=e.browserVersion&&"mac"==a||"webkit"==e.browserName&&125.12>e.browserVersion||"msie"==e.browserName&&"mac"==a||"konqueror"==e.browserName&&3.3>=e.browserVersion)b=!1;return b};e.isFullyCompliant=function(){return e.compliantBrowser()&&e.supportsJava()};e.useIEObject="win"==e.os&&"msie"==e.browserName&&5.5<=e.browserVersion;e.useHtml4Object="mozilla"==e.browserName&&5<=e.browserVersion||"opera"==e.browserName&&8<=e.browserVersion||"webkit"==e.browserName;e.hasFileReader=c.File&&
c.FileReader;a.featureDetection=e;a._ajax=function(b){if(!b.async)return a.$ajax(b).responseText;a._ajaxQueue.push(b);1==a._ajaxQueue.length&&a._ajaxDone()};a._ajaxDone=function(){var b=a._ajaxQueue.shift();b&&a.$ajax(b)};a._grabberOptions=[["$","NCI(small molecules)"],[":","PubChem(small molecules)"],["=","RCSB(macromolecules)"]];a._getGrabberOptions=function(b){if(0==a._grabberOptions.length)return"";var l='<input type="text" id="ID_query" onkeypress="if(13==event.which){Jmol._applets[\'ID\']._search();return false}" size="32" value="" />',
d='<button id="ID_submit" onclick="Jmol._applets[\'ID\']._search()">Search</button></nobr>';1==a._grabberOptions.length?(l="<nobr>"+l+'<span style="display:none">',d="</span>"+d):l+="<br /><nobr>";for(var l=l+'<select id="ID_select">',c=0;c<a._grabberOptions.length;c++)var e=a._grabberOptions[c],l=l+('<option value="'+e[0]+'" '+(0==c?"selected":"")+">"+e[1]+"</option>");l=(l+"</select>"+d).replace(/ID/g,b._id);return"<br />"+l};a._getScriptForDatabase=function(b){return"$"==b?a.db._nciLoadScript:
":"==b?a.db._pubChemLoadScript:a.db._fileLoadScript};a._setInfo=function(b,a,d){var c=[],e="";if(0==d.indexOf("ERROR"))e=d;else switch(a){case "=":a=d.split("<dimStructure.structureId>");c=["<table>"];for(d=1;d<a.length;d++)c.push('<tr><td valign=top><a href="javascript:Jmol.search('+b._id+",'="+a[d].substring(0,4)+"')\">"+a[d].substring(0,4)+"</a></td>"),c.push("<td>"+a[d].split("Title>")[1].split("</")[0]+"</td></tr>");c.push("</table>");e=a.length-1+" matches";break;case "$":case ":":break;default:return}b._infoHeader=
e;b._info=c.join("");b._showInfo(!0)};a._loadSuccess=function(b,d){d&&(a._ajaxDone(),d(b))};a._loadError=function(b){a._ajaxDone();a.say("Error connecting to server: "+a._ajaxCall);null!=b&&b()};a._isDatabaseCall=function(b){return 0<=a.db._databasePrefixes.indexOf(b.substring(0,1))};a._getDirectDatabaseCall=function(b,d){if(d&&!a.featureDetection.supportsXhr2())return b;var c=2,e,f=a.db._DirectDatabaseCalls[b.substring(0,c)];f||(f=a.db._DirectDatabaseCalls[e=b.substring(0,--c)]);f&&":"==e&&(e=b.toLowerCase(),
isNaN(parseInt(b.substring(1)))?0==e.indexOf(":smiles:")?(f+="?POST?smiles="+b.substring(8),b=":smiles"):0==e.indexOf(":cid:")?b=":cid/"+b.substring(5):(0==e.indexOf(":name:")?b=b.substring(5):0==e.indexOf(":cas:")&&(b=b.substring(4)),b=":name/"+encodeURIComponent(b.substring(1))):b=":cid/"+b.substring(1));return b=f?f.replace(/\%FILE/,b.substring(c)):b};a._getRawDataFromServer=function(b,d,c,e,f,j){b="?call=getRawDataFromDatabase&database="+b+(0<=d.indexOf("?POST?")?"?POST?":"")+"&query="+encodeURIComponent(d)+
(f?"&encoding=base64":"")+(j?"":"&script="+encodeURIComponent(a._getScriptForDatabase(b)));return a._contactServer(b,c,e)};a._getInfoFromDatabase=function(b,d,c){if("===="==d){var e=a.db._restQueryXml.replace(/QUERY/,c),e={dataType:"text",type:"POST",contentType:"application/x-www-form-urlencoded",url:a.db._restQueryUrl,data:encodeURIComponent(e)+"&req=browser",success:function(e){a._ajaxDone();a._extractInfoFromRCSB(b,d,c,e)},error:function(){a._loadError(null)},async:a._asynchronous};return a._ajax(e)}c=
"?call=getInfoFromDatabase&database="+d+"&query="+encodeURIComponent(c);return a._contactServer(c,function(c){a._setInfo(b,d,c)})};a._extractInfoFromRCSB=function(b,d,c,e){var f=e.length/5;if(0!=f&&4==c.length&&1!=f){c=c.toUpperCase();var j=e.indexOf(c);0<j&&0<="123456789".indexOf(c.substring(0,1))&&(e=c+","+e.substring(0,j)+e.substring(j+5));50<f&&(e=e.substring(0,250));e=e.replace(/\n/g,",");e=a._restReportUrl.replace(/IDLIST/,e);a._loadFileData(b,e,function(j){a._setInfo(b,d,j)})}};a._loadFileData=
function(b,d,c,e){if(a._isDatabaseCall(d)&&(a._setQueryTerm(b,d),d=a._getDirectDatabaseCall(d,!0),a._isDatabaseCall(d))){d=a._getDirectDatabaseCall(d,!1);a._getRawDataFromServer("_",d,c,e);return}b={type:"GET",dataType:"text",url:d,async:a._asynchronous,success:function(b){a._loadSuccess(b,c)},error:function(){a._loadError(e)}};a._checkAjaxPost(b);a._ajax(b)};a._checkAjaxPost=function(b){var a=b.url.indexOf("?POST?");0<a&&(b.data=b.url.substring(a+6),b.url=b.url.substring(0,a),b.type="POST",b.contentType=
"application/x-www-form-urlencoded")};a._contactServer=function(b,d,c){b={dataType:"text",type:"GET",url:a._serverUrl+b,success:function(b){a._loadSuccess(b,d)},error:function(){a._loadError(c)},async:d?a._asynchronous:!1};a._checkAjaxPost(b);return a._ajax(b)};a._setQueryTerm=function(b,d){if(d&&b._hasOptions&&"http://"!=d.substring(0,7)){if(a._isDatabaseCall(d)){var c=d.substring(0,1);d=d.substring(1);d.substring(0,1)==c&&0<="=$".indexOf(c)&&(d=d.substring(1));var e=a._getElement(b,"select");if(e&&
e.options)for(var f=0;f<e.options.length;f++)e[f].value==c&&(e[f].selected=!0)}a._getElement(b,"query").value=d}};a._search=function(b,d,c){1<arguments.length||(d=null);a._setQueryTerm(b,d);d||(d=a._getElement(b,"query").value);if(0==d.indexOf("!"))b._script(d.substring(1));else{d&&(d=d.replace(/\"/g,""));b._showInfo(!1);var e;a._isDatabaseCall(d)?(e=d.substring(0,1),d=d.substring(1)):e=b._hasOptions?a._getElement(b,"select").value:"$";"="==e&&3==d.length&&(d="="+d);var f=e+d;d&&!(0>f.indexOf("?")&&
f==b._thisJmolModel)&&(b._thisJmolModel=f,"$"==e||":"==e?b._jmolFileType="MOL":"="==e&&(b._jmolFileType="PDB"),b._searchDatabase(d,e,c))}};a._searchDatabase=function(b,d,c,e){b._showInfo(!1);return 0<=d.indexOf("?")?(a._getInfoFromDatabase(b,c,d.split("?")[0]),!0):a.db._DirectDatabaseCalls[c]?(b._loadFile(c+d,e),!0):!1};a._syncBinaryOK="?";a._canSyncBinary=function(){if(self.VBArray)return a._syncBinaryOK=!1;if("?"!=a._syncBinaryOK)return a._syncBinaryOK;a._syncBinaryOK=!0;try{var b=new window.XMLHttpRequest;
b.open("text",a._ajaxTestSite,!1);b.hasOwnProperty("responseType")?b.responseType="arraybuffer":b.overrideMimeType&&b.overrideMimeType("text/plain; charset=x-user-defined")}catch(d){return System.out.println("JmolCore.js: synchronous binary file transfer is requested but not available"),a._alertNoBinary&&alert("JmolCore.js: synchronous binary file transfer is requested but not available"),a._syncBinaryOK=!1}return!0};a._binaryTypes=".gz .jpg .png .zip .jmol .bin .smol .spartan .mrc .pse .map .omap".split(" ");
a._isBinaryUrl=function(b){for(var d=a._binaryTypes.length;0<=--d;)if(0<=b.indexOf(a._binaryTypes[d]))return!0;return!1};a._getFileData=function(b){var d=a._isBinaryUrl(b)?"binary":"text",c="binary"==d&&!a._canSyncBinary();c&&(0<=b.indexOf("pdb.gz")&&0==b.indexOf("http://www.rcsb.org/pdb/files/"))&&(b=b.replace(/pdb\.gz/,"pdb"),c=!1,d="text");var e=0<=b.indexOf("?POST?");0==b.indexOf("file:/")&&0!=b.indexOf("file:///")&&(b="file://"+b.substring(5));var f=0>b.indexOf("://")||0==b.indexOf(document.location.protocol)&&
0<=b.indexOf(document.location.host),j=a._isDirectCall(b);if(!f&&a.$supportsIECrossDomainScripting()||c||!f&&!j)return a._getRawDataFromServer("_",b,null,null,c,!0);b=b.replace(/file:\/\/\/\//,"file://");d={dataType:d,async:!1};e?(d.type="POST",d.url=b.split("?POST?")[0],d.data=b.split("?POST?")[1]):(d.type="GET",d.url=b);b=a.$ajax(d);return!b.responseText||self.Clazz&&Clazz.instanceOf(b.response,self.ArrayBuffer)?b.response:b.responseText};a._isDirectCall=function(b){for(var d in a.db._DirectDatabaseCalls)if(0<=
d.indexOf(".")&&0<=b.indexOf(d))return!0;return!1};a._cleanFileData=function(b){return 0<=b.indexOf("\r")&&0<=b.indexOf("\n")?b.replace(/\r\n/g,"\n"):0<=b.indexOf("\r")?b.replace(/\r/g,"\n"):b};a._getFileType=function(b){var a=b.substring(0,1);if("$"==a||":"==a)return"MOL";if("="==a)return"="==b.substring(1,2)?"LCIF":"PDB";b=b.split(".").pop().toUpperCase();return b.substring(0,Math.min(b.length,3))};a._scriptLoad=function(b,a,d,c){var e=b._isJava||!b._noscript||1<d.length;e&&b._script("zap;set echo middle center;echo Retrieving data...");
if(!c)return!1;e?b._script('load "'+a+'"'+d):b._applet.viewer.openFile(a);b._checkDeferred("");return!0};a._loadFileAsynchronously=function(b,d){if(!a.featureDetection.hasFileReader)return b.setData("Local file reading is not enabled in your browser");d._localReader||(a.$after("#"+d._id+"_appletdiv",('<div id="ID" style="z-index:'+a._z.fileOpener+';position:absolute;background:#E0E0E0;left:10px;top:10px"><div style="margin:5px 5px 5px 5px;"><input type="file" id="ID_files" /><button id="ID_loadfile">load</button><button id="ID_cancel">cancel</button></div><div>').replace(/ID/g,
d._id+"_localReader")),d._localReader=a.$(d,"localReader"));a.$appEvent(d,"localReader_loadfile","click");a.$appEvent(d,"localReader_loadfile","click",function(){var c=a.$(d,"localReader_files")[0].files[0],e=new FileReader;e.onloadend=function(e){e.target.readyState==FileReader.DONE&&(a.$css(a.$(d,"localReader"),{display:"none"}),b.setData(c.name,a._toBytes(e.target.result)))};e.readAsArrayBuffer(c)});a.$appEvent(d,"localReader_cancel","click");a.$appEvent(d,"localReader_cancel","click",function(){a.$css(a.$(d,
"localReader"),{display:"none"});b.setData(null,"#CANCELED#")});a.$css(a.$(d,"localReader"),{display:"block"})};a._toBytes=function(b){b=new Uint8Array(b);for(var a=Clazz.newByteArray(b.length,0),d=b.length;0<=--d;)a[d]=b[d];return a};a._doAjax=function(b,d,c){b=b.toString();if(null!=c)return a._saveFile(b,c);d&&(b+="?POST?"+d);d=a._getFileData(b);return a._processData(d,a._isBinaryUrl(b))};a._saveFile=function(b,d){var c=a._serverUrl;if(a._localFileSaveFunction&&a._localFileSaveFunction(b,d))return"OK";
if(!c)return"Jmol._serverUrl is not defined";var e="string"==typeof d,f=e?"":"base64";e||(d=(JU?JU:J.util).Base64.getBase64(d).toString());b=b.substring(b.lastIndexOf("/")+1);e=0<=b.indexOf(".png")?"image/png":0<=b.indexOf(".jpg")?"image/jpg":"";a._formdiv||(a.$after("body",'<div id="__jsmolformdiv__" style="display:none">          <form id="__jsmolform__" method="post" target="_blank" action="">          <input name="call" value="saveFile"/>          <input id="__jsmolmimetype__" name="mimetype" value=""/>          <input id="__jsmolencoding__" name="encoding" value=""/>          <input id="__jsmolfilename__" name="filename" value=""/>          <textarea id="__jsmoldata__" name="data"></textarea>          </form>          </div>'),
a._formdiv="__jsmolform__");a.$attr(a._formdiv,"action",c+"?"+(new Date).getMilliseconds());a.$val("__jsmoldata__",d);a.$val("__jsmolfilename__",b);a.$val("__jsmolmimetype__",e);a.$val("__jsmolencoding__",f);a.$submit("__jsmolform__");a.$val("__jsmoldata__","");a.$val("__jsmolfilename__","");return"OK"};a._processData=function(b,d){"undefined"==typeof b&&(b="",d=!1);d&&(d=a._canSyncBinary());if(!d)return self.JU&&JU.SB?JU.SB.newS(b):J.util.SB.newS(b);var c;if(Clazz.instanceOf(b,self.ArrayBuffer))return a._toBytes(b);
c=Clazz.newByteArray(b.length,0);for(var e=b.length;0<=--e;)c[e]=b.charCodeAt(e)&255;return c};a._setConsoleDiv=function(b){self.Clazz&&Clazz.setConsoleDiv(b)};a._setJmolParams=function(b,d,c){for(var e in d)if(0<=";progressbar;progresscolor;boxbgcolor;boxfgcolor;allowjavascript;boxmessage;                  ;messagecallback;pickcallback;animframecallback;appletreadycallback;atommovedcallback;                  ;echocallback;evalcallback;hovercallback;language;loadstructcallback;measurecallback;                  ;minimizationcallback;resizecallback;scriptcallback;statusform;statustext;statustextarea;                  ;synccallback;usecommandthread;syncid;appletid;startupscript;".indexOf(";"+
e.toLowerCase()+";")&&("language"!=e||a.featureDetection.supportsLocalization()))c?b.put(e,!0===d[e]?Boolean.TRUE:!1===d[e]?Boolean.FALSE:d[e]):b[e]=d[e]};a._registerApplet=function(b,d){return window[b]=a._applets[b]=a._applets[d]=d};a._readyCallback=function(b,d,c,e){b=b.split("_object")[0];c=c.booleanValue?c.booleanValue():c;a._track(a._applets[b])._readyCallback(b,d,c,e)};a._getWrapper=function(b,d){var c;if(d){var e="";b._coverImage&&(c=' onclick="Jmol.coverApplet(ID, false)" title="'+b._coverTitle+
'"',e='<div id="ID_coverdiv" style="background-color:red;z-index:'+a._z.coverImage+';width:100%;height:100%;display:inline;position:absolute;top:0px;left:0px"><image id="ID_coverimage" src="'+b._coverImage+'" style="width:100%;height:100%"'+c+"/>"+('<image id="ID_coverclickgo" src="'+b._j2sPath+'/img/play_make_live.jpg" style="width:25px;height:25px;position:absolute;bottom:10px;left:10px;z-index:'+a._z.coverImage+';opacity:0.5;"'+c+" />")+"</div>");c='...<div id="ID_appletinfotablediv" style="width:Wpx;height:Hpx;position:relative;font-size:14px;text-align:left">IMG......<div id="ID_appletdiv" style="z-index:'+
a._z.header+';width:100%;height:100%;position:absolute;top:0px;left:0px;">';var f=b._height,j=b._width;if("string"!==typeof f||0>f.indexOf("%"))f+="px";if("string"!==typeof j||0>j.indexOf("%"))j+="px";c=c.replace(/IMG/,e).replace(/Hpx/g,f).replace(/Wpx/g,j)}else c='......</div>......<div id="ID_2dappletdiv" style="position:absolute;width:100%;height:100%;overflow:hidden;display:none"></div>......<div id="ID_infotablediv" style="width:100%;height:100%;position:absolute;top:0px;left:0px">.........<div id="ID_infoheaderdiv" style="height:20px;width:100%;background:yellow;display:none"><span id="ID_infoheaderspan"></span><span id="ID_infocheckboxspan" style="position:absolute;text-align:right;right:1px;"><a href="javascript:Jmol.showInfo(ID,false)">[x]</a></span></div>.........<div id="ID_infodiv" style="position:absolute;top:20px;bottom:0px;width:100%;height:100%;overflow:auto"></div>......</div>...</div>';
return c.replace(/\.\.\./g,"").replace(/[\n\r]/g,"").replace(/ID/g,b._id)};a._documentWrite=function(b){if(a._document){if(a._isXHTML&&!a._XhtmlElement){var d=document.getElementsByTagName("script");a._XhtmlElement=d.item(d.length-1);a._XhtmlAppendChild=!1}a._XhtmlElement?a._domWrite(b):a._document.write(b)}return b};a._domWrite=function(b){for(var d=[0];d[0]<b.length;){var c=a._getDomElement(b,d);if(!c)break;a._XhtmlAppendChild?a._XhtmlElement.appendChild(c):a._XhtmlElement.parentNode.insertBefore(c,
_jmol.XhtmlElement)}};a._getDomElement=function(b,a){var d=document.createElement("span");d.innerHTML=b;a[0]=b.length;return d};a._setObject=function(b,d,c){b._id=d;b.__Info={};for(var e in c)b.__Info[e]=c[e];b._width=c.width;b._height=c.height;b._noscript=!b._isJava&&c.noscript;b._console=c.console;b._console||(b._console=b._id+"_infodiv");"none"==b._console&&(b._console=null);b._color=c.color?c.color.replace(/0x/,"#"):"#FFFFFF";b._disableInitialConsole=c.disableInitialConsole;b._noMonitor=c.disableJ2SLoadMonitor;
a._j2sPath&&(c.j2sPath=a._j2sPath);b._j2sPath=c.j2sPath;b._deferApplet=c.deferApplet;b._deferUncover=c.deferUncover;b._coverImage=!b._isJava&&c.coverImage;b._isCovered=!!b._coverImage;b._coverScript=c.coverScript;b._coverTitle=c.coverTitle;b._coverTitle||(b._coverTitle=b._deferApplet?"activate 3D model":"3D model is loading...");b._containerWidth=b._width+(b._width==parseFloat(b._width)?"px":"");b._containerHeight=b._height+(b._height==parseFloat(b._height)?"px":"");b._info="";b._infoHeader=b._jmolType+
' "'+b._id+'"';b._hasOptions=c.addSelectionOptions;b._defaultModel=c.defaultModel;b._readyScript=c.script?c.script:"";b._readyFunction=c.readyFunction;b._coverImage&&!b._deferApplet&&(b._readyScript+=";javascript "+d+"._displayCoverImage(false)");b._src=c.src};a._addDefaultInfo=function(b,d){for(var c in d)"undefined"==typeof b[c]&&(b[c]=d[c]);a._use&&(b.use=a._use);"SIGNED"==b.use&&(0>b.jarFile.indexOf("Signed")&&(b.jarFile=b.jarFile.replace(/Applet/,"AppletSigned")),b.use="JAVA",b.isSigned=!0)};
a._syncedApplets=[];a._syncedCommands=[];a._syncedReady=[];a._syncReady=!1;a._isJmolJSVSync=!1;a._setReady=function(b){a._syncedReady[b]=1;for(var d=0,c=0;c<a._syncedApplets.length;c++){if(a._syncedApplets[c]==b._id)a._syncedApplets[c]=b,a._syncedReady[c]=1;else if(!a._syncedReady[c])continue;d++}d==a._syncedApplets.length&&a._setSyncReady()};a._setDestroy=function(b){a.featureDetection.allowDestroy&&a.$windowOn("beforeunload",function(){a._destroy(b)})};a._destroy=function(b){try{b._applet&&b._applet.destroy();
b._applet=null;a._unsetMouse(b._canvas);b._canvas=null;for(var d=0,c=0;c<a._syncedApplets.length;c++)a._syncedApplets[c]==b&&(a._syncedApplets[c]=null),a._syncedApplets[c]&&d++;0<d||a._clearVars()}catch(e){}};a._setSyncReady=function(){a._syncReady=!0;for(var b="",d=0;d<a._syncedApplets.length;d++)a._syncedCommands[d]&&(b+="Jmol.script(Jmol._syncedApplets["+d+"], Jmol._syncedCommands["+d+"]);");setTimeout(b,50)};a._mySyncCallback=function(b,d){if(!a._syncReady||!a._isJmolJSVSync)return 1;for(var c=
0;c<a._syncedApplets.length;c++)0<=d.indexOf(a._syncedApplets[c]._syncKeyword)&&a._syncedApplets[c]._syncScript(d);return 0};a._getElement=function(b,a){return document.getElementById(b._id+"_"+a)||{}};a._evalJSON=function(b,a){b+="";if(!b)return[];if("{"!=b.charAt(0))return 0<=b.indexOf(" | ")&&(b=b.replace(/\ \|\ /g,"\n")),b;var d=(new Function("return "+b))();return!d?null:a&&void 0!=d[a]?d[a]:d};a._sortMessages=function(b){function a(b,d){return b[0]<d[0]?1:b[0]>d[0]?-1:0}if(!b||"object"!=typeof b)return[];
for(var d=[],c=b.length-1;0<=c;c--)for(var e=0,j=b[c].length;e<j;e++)d[d.length]=b[c][e];if(0!=d.length)return d=d.sort(a)};a._setMouseOwner=function(b,d){null==b||d?a._mouseOwner=b:a._mouseOwner==b&&(a._mouseOwner=null)};a._jsGetMouseModifiers=function(b){var a=0;switch(b.button){case 0:a=16;break;case 1:a=8;break;case 2:a=4}b.shiftKey&&(a+=1);b.altKey&&(a+=8);b.ctrlKey&&(a+=2);return a};a._jsGetXY=function(b,d){if(!b.applet._ready||a._touching&&0>d.type.indexOf("touch"))return!1;d.preventDefault();
var c=a.$offset(b.id),e,f=d.originalEvent;a._mousePageX=d.pageX;a._mousePageY=d.pageY;f.targetTouches&&f.targetTouches[0]?(e=f.targetTouches[0].pageX-c.left,c=f.targetTouches[0].pageY-c.top):f.changedTouches?(e=f.changedTouches[0].pageX-c.left,c=f.changedTouches[0].pageY-c.top):(e=d.pageX-c.left,c=d.pageY-c.top);return void 0==e?null:[Math.round(e),Math.round(c),a._jsGetMouseModifiers(d)]};a._gestureUpdate=function(b,d){d.stopPropagation();d.preventDefault();var c=d.originalEvent;switch(d.type){case "touchstart":a._touching=
!0;break;case "touchend":a._touching=!1}if(!c.touches||2!=c.touches.length)return!1;switch(d.type){case "touchstart":b._touches=[[],[]];break;case "touchmove":var e=a.$offset(b.id),f=b._touches[0],j=b._touches[1];f.push([c.touches[0].pageX-e.left,c.touches[0].pageY-e.top]);j.push([c.touches[1].pageX-e.left,c.touches[1].pageY-e.top]);c=f.length;3<c&&(f.shift(),j.shift());2<=c&&b.applet._processGesture(b._touches)}return!0};a._jsSetMouse=function(b){a.$bind(b,"mousedown touchstart",function(d){a._setMouseOwner(b,
!0);d.stopPropagation();d.preventDefault();b.isDragging=!0;if("touchstart"==d.type&&a._gestureUpdate(b,d))return!1;a._setConsoleDiv(b.applet._console);var c=a._jsGetXY(b,d);if(!c)return!1;2!=d.button&&b.applet._popups&&a.Menu.hidePopups(b.applet._popups);b.applet._processEvent(501,c);return!1});a.$bind(b,"mouseup touchend",function(d){a._setMouseOwner(null);d.stopPropagation();d.preventDefault();b.isDragging=!1;if("touchend"==d.type&&a._gestureUpdate(b,d))return!1;d=a._jsGetXY(b,d);if(!d)return!1;
b.applet._processEvent(502,d);return!1});a.$bind(b,"mousemove touchmove",function(d){d.stopPropagation();d.preventDefault();if("touchmove"==d.type&&a._gestureUpdate(b,d))return!1;d=a._jsGetXY(b,d);if(!d)return!1;b.isDragging||(d[2]=0);b.applet._processEvent(b.isDragging?506:503,d);return!1});a.$bind(b,"DOMMouseScroll mousewheel",function(d){d.stopPropagation();d.preventDefault();b.isDragging=!1;var c=d.originalEvent,c=c.detail?c.detail:("mac"==a.featureDetection.os?1:-1)*c.wheelDelta;d=a._jsGetMouseModifiers(d);
b.applet._processEvent(-1,[0>c?-1:1,0,d]);return!1});a.$bind(b,"contextmenu",function(){return!1});a.$bind(b,"mouseout",function(){b.applet._applet&&b.applet._applet.viewer.startHoverWatcher(!1);b.isDragging=!1});a.$bind(b,"mouseenter",function(d){b.applet._applet&&b.applet._applet.viewer.startHoverWatcher(!0);if(0===d.buttons||0===d.which){b.isDragging=!1;d=a._jsGetXY(b,d);if(!d)return!1;b.applet._processEvent(502,d)}});b.applet._is2D&&a.$resize(function(){b.applet&&b.applet._resize()});a.$bind("body",
"mouseup touchend",function(){b.applet&&(b.isDragging=!1);a._setMouseOwner(null)})};a._jsUnsetMouse=function(b){b.applet=null;a.$bind(b,"mousedown touchstart mousemove touchmove mouseup touchend DOMMouseScroll mousewheel contextmenu mouseout mouseenter",null);a._setMouseOwner(null)};a._setDraggable=function(b){b=b.prototype;b.setContainer=function(b){this.container=b;b.obj=this;this.ignoreMouse=this.isDragging=!1;var d=this;b.bind("mousedown touchstart",function(b){if(d.ignoreMouse)return d.ignoreMouse=
!1,!0;a._setMouseOwner(d,!0);d.isDragging=!0;d.pageX=b.pageX;d.pageY=b.pageY;return!1});b.bind("mousemove touchmove",function(b){if(d.isDragging&&a._mouseOwner==d)return d.mouseMove(b),!1});b.bind("mouseup touchend",function(b){d.mouseUp(b);a._setMouseOwner(null)})};b.mouseUp=function(b){if(this.isDragging&&a._mouseOwner==this)return this.pageX0+=b.pageX-this.pageX,this.pageY0+=b.pageY-this.pageY,this.isDragging=!1;a._setMouseOwner(null)};b.setPosition=function(){if(null===a._mousePageX){var b=a.$offset(this.applet._id+
"_"+(this.applet._is2D?"canvas2d":"canvas"));a._mousePageX=b.left;a._mousePageY=b.top}this.pageX0=a._mousePageX;this.pageY0=a._mousePageY;this.container.css({top:a._mousePageY+"px",left:a._mousePageX+"px"})};b.mouseMove=function(b){this.isDragging&&a._mouseOwner==this&&this.container.css({top:this.pageY0+(b.pageY-this.pageY)+"px",left:this.pageX0+(b.pageX-this.pageX)+"px"})};b.dragBind=function(b){this.container.unbind("mousemoveoutjsmol");this.container.unbind("touchmoveoutjsmol");this.container.unbind("mouseupoutjsmol");
this.container.unbind("touchendoutjsmol");a._setMouseOwner(null);if(b){var d=this;this.container.bind("mousemoveoutjsmol touchmoveoutjsmol",function(b,a,c){d.mouseMove(c)});this.container.bind("mouseupoutjsmol touchendoutjsmol",function(b,a,c){d.mouseUp(c)})}}};a.Dialog={count:0,htDialogs:{}};SwingController=a.Dialog;a.Dialog.JSDialog=function(){};a._setDraggable(a.Dialog.JSDialog);a.Dialog.getScreenDimensions=function(b){b.width=g(window).width();b.height=g(window).height()};a.Dialog.dispose=function(b){a.$remove(b.id+
"_mover");delete a.Dialog.htDialogs[b.id];b.container.obj.dragBind(!1);System.out.println("JmolCore.js: dispose "+b.id)};a.Dialog.register=function(b,d){b.id=d+ ++a.Dialog.count;a.Dialog.htDialogs[b.id]=b;System.out.println("JmolCore.js: register "+b.id)};a.Dialog.setDialog=function(b){a._setMouseOwner(null);a.$remove(b.id);System.out.println("removed "+b.id);var d=b.id+"_mover",c=a.$("#"+d),e;System.out.println("JmolCore.js: setDialog "+b.id);c[0]?(c.html(b.html),e=c[0].jd):(a.$after("body","<div id='"+
d+"' style='position:absolute;left:0px;top:0px;'>"+b.html+"</div>"),e=new a.Dialog.JSDialog,c=a.$("#"+d),b.container=c,e.applet=b.manager.viewer.applet,e.setContainer(c),e.dialog=b,e.setPosition(),e.dragBind(!0),c[0].jd=e);a.$bind("#"+b.id+" .JButton","mousedown touchstart",function(){e.ignoreMouse=!0});a.$bind("#"+b.id+" .JComboBox","mousedown touchstart",function(){e.ignoreMouse=!0});a.$bind("#"+b.id+" .JCheckBox","mousedown touchstart",function(){e.ignoreMouse=!0});a.$bind("#"+b.id+" .JTextField",
"mousedown touchstart",function(){e.ignoreMouse=!0});a.$bind("#"+b.id+" .JTable","mousedown touchstart",function(){e.ignoreMouse=!0});a.$bind("#"+b.id+" .JScrollPane","mousedown touchstart",function(){e.ignoreMouse=!0});a.$bind("#"+b.id+" .JEditorPane","mousedown touchstart",function(){e.ignoreMouse=!0})};a.Dialog.setSelected=function(b){a.$prop(b.id,"checked",!!b.selected)};a.Dialog.setSelectedIndex=function(b){a.$prop(b.id,"selectedIndex",b.selectedIndex)};a.Dialog.setText=function(b){a.$prop(b.id,
"value",b.text)};a.Dialog.setVisible=function(b){a.$setVisible(b.id,b.visible)};a.Dialog.click=function(b,d){var c=a.Dialog.htDialogs[b.id];if(c){System.out.println("click "+b+" "+c);var e=c.toString();if(0<=e.indexOf("JCheck"))c.selected=b.checked;else if(0<=e.indexOf("JCombo"))c.selectedIndex=b.selectedIndex;else if(null!=c.text&&(c.text=b.value,d&&13!=(d.charCode||d.keyCode)))return}e=a.Dialog.htDialogs[a.$getAncestorDiv(b.id,"JDialog").id];c=c?c.name:e.registryKey+"/"+b.id;System.out.println("JmolCore.js: click "+
c);e.manager.actionPerformed(c)};a.Dialog.windowClosing=function(b){b=a.Dialog.htDialogs[a.$getAncestorDiv(b.id,"JDialog").id];System.out.println("JmolCore.js: windowClosing "+b.registryKey);b.manager.processWindowClosing(b.registryKey)};a._track=function(b){if(a._tracker&&!a._isLocal)try{var d='<iframe style="display:none" width="0" height="0" frameborder="0" tabindex="-1" src="'+(a._tracker+"&applet="+b._jmolType+"&version="+a._version+"&appver="+self.___JmolVersion+"&url="+encodeURIComponent(document.location.href))+
'"></iframe>';a.$after("body",d)}catch(c){}delete a._tracker;return b};a.getProfile=function(){window["j2s.doProfile"]=!0;if(self.Clazz)return Clazz.profile=self.JSON&&{},Clazz.getProfile()}})(Jmol,jQuery);Jmol._debugCode=!1;
(function(a){a._coreFiles=[];a.__execLog=[];a.__execStack=[];a.__execTimer=0;a.__coreSet=[];a.showExecLog=function(){return a.__execLog.join("\n")};a.__addExec=function(g){a.__execLog.push("load "+g[0]._id+" "+g[3]);a.__execStack.push(g)};a.__addCoreFile=function(g,f){if(!(0<=a.__coreSet.join("").indexOf(g))){a.__coreSet.push(g);a.__coreSet.sort();var c=a.__coreSet.join("");a._coreFiles=[f+"/core/core"+("jmol"==c?"":c)+".z.js"]}};a.__nextExecution=function(g){delete a.__execTimer;var f=a.__execStack;
0!=f.length&&(g?(g=f.shift(),a.__execLog.push("exec "+g[0]._id+" "+g[3]),g[1](g[0],g[2])):setTimeout("Jmol.__nextExecution(true)",10))};a.__loadClazz=function(g){a.__clazzLoaded?a.__nextExecution():(a.__clazzLoaded=!0,LoadClazz(),g._noMonitor&&(ClassLoaderProgressMonitor.showStatus=function(){}),LoadClazz=null,ClazzLoader.globalLoaded=function(){ClassLoaderProgressMonitor.showStatus("Application loaded.",!0);if(!a._debugCode||!a.haveCore)a.haveCore=!0,a.__nextExecution()},ClazzLoader.packageClasspath("java",
null,!0))};a.__loadClass=function(g,f){ClazzLoader.loadClass(f,function(){a.__nextExecution()})};a._Canvas2D=function(g,f,c,e){this._uniqueId=(""+Math.random()).substring(3);this._id=g;this._is2D=!0;this._isJava=!1;this._jmolType="Jmol._Canvas2D ("+c+")";switch(c){case "Jmol":this._platform="J.awtjs2d.Platform";break;case "JSV":this._isLayered=this._isJSV=!0,this._platform="JSV.awtjs2d.Platform"}if(e)return this;window[g]=this;this._createCanvas(g,f);if(!a._document||this._deferApplet)return this;
this._init();return this};a._jsSetPrototype=function(g){g._init=function(){this._setupJS();this._showInfo(!0);this._disableInitialConsole&&this._showInfo(!1)};g._createCanvas=function(f,c,e){a._setObject(this,f,c);e&&(this._GLmol=e,this._GLmol.applet=this,this._GLmol.id=this._id);e=a._getWrapper(this,!0);this._deferApplet||(a._document?(a._documentWrite(e),this._getCanvas(!1),e=""):(this._deferApplet=!0,e+='<script type="text/javascript">'+f+"._cover(false)\x3c/script>"));e+=a._getWrapper(this,!1);
c.addSelectionOptions&&(e+=a._getGrabberOptions(this));a._debugAlert&&!a._document&&alert(e);this._code=a._documentWrite(e)};g._cover=function(f){if(f||!this._deferApplet)this._displayCoverImage(f);else{var c=this._coverScript?this._coverScript:"";this._coverScript="";this._deferUncover&&(c+=";refresh;javascript "+this._id+"._displayCoverImage(false)");this._script(c,!0);this._deferUncover&&"activate 3D model"==this._coverTitle&&(a._getElement(this,"coverimage").title="3D model is loading...");this._start();
this._deferUncover||this._displayCoverImage(f);this._init&&this._init()}};g._displayCoverImage=function(f){this._coverImage&&this._isCovered!=f&&(this._isCovered=f,a._getElement(this,"coverdiv").style.display=f?"block":"none")};g._start=function(){this._deferApplet&&this._getCanvas(!1);this._defaultModel&&a._search(this,this._defaultModel);this._showInfo(!1)};g._getCanvas=function(a){this._is2D?this._createCanvas2d(a):this._GLmol.create()};g._createCanvas2d=function(f){var c=document.createElement("canvas"),
e=a.$(this,"appletdiv");if(f)try{e[0].removeChild(this._canvas),this._canvas.topLayer&&e[0].removeChild(this._canvas.topLayer),this._canvas.imageLayer&&e[0].removeChild(this._canvas.imageLayer),a._jsUnsetMouse(this._mouseInterface)}catch(h){}f=Math.round(e.width());var d=Math.round(e.height());c.applet=this;this._canvas=c;c.style.width="100%";c.style.height="100%";c.width=f;c.height=d;c.id=this._id+"_canvas2d";e.append(c);if(this._isLayered){var b=document.createElement("div");c.imageLayer=b;b.id=
this._id+"_imagelayer";e.append(b);$("#"+b.id).css({zIndex:a._z.image,position:"absolute",left:"0px",top:"0px",width:"0px",height:"0px",overflow:"hidden"});var l=document.createElement("canvas");c.topLayer=l;l.style.width="100%";l.style.height="100%";l.id=this._id+"_toplayer";l.width=f;l.height=d;e.append(l);l.applet=this;$("#"+l.id).css({background:"(0,0,0,0.001)",zIndex:a._z.top,position:"absolute",left:"0px",top:"0px",overflow:"hidden"});this._mouseInterface=l;b}else this._mouseInterface=c;a._jsSetMouse(this._mouseInterface)};
g._setupJS=function(){window["j2s.lib"]={base:this._j2sPath+"/",alias:".",console:this._console,monitorZIndex:a._z.monitorZIndex};0==a.__execStack.length&&a.__addExec([this,a.__loadClazz,null,"loadClazz"]);this._isJSV?(a.__addCoreFile("jsv",this._j2sPath),a._debugCode&&(a.__addExec([this,a.__loadClass,"JSV.appletjs.JSVApplet","load JSV"]),this._isPro&&a.__addExec([this,a.__loadClass,"JSV.appletjs.JSVAppletPro","load JSV(signed)"]))):(a.__addCoreFile("jmol",this._j2sPath),this._is2D||(a.__addExec([this,
a.__loadClass,"J.exportjs.JSExporter","load JSExporter"]),a.__addExec([this,this.__addExportHook,null,"addExportHook"])),a._debugCode&&a.__addExec([this,a.__loadClass,"J.appletjs.Jmol","load Jmol"]));a.__addExec([this,this.__startAppletJS,null,"start applet"]);this._isSigned=!0;this._ready=!1;this._applet=null;this._canScript=function(){return!0};this._savedOrientations=[];a.__execTimer&&clearTimeout(a.__execTimer);a.__execTimer=setTimeout(a.__nextExecution,50)};g.__addExportHook=function(f){GLmol.addExportHook(f);
a.__nextExecution()};g.__startAppletJS=function(f){var c=new java.util.Hashtable;a._setJmolParams(c,f.__Info,!0);c.put("appletReadyCallback","Jmol._readyCallback");c.put("applet",!0);c.put("name",f._id+"_object");c.put("syncId",a._syncId);f._color&&c.put("bgcolor",f._color);f._is2D?f._startupScript&&c.put("script",f._startupScript):c.put("script","set multipleBondSpacing 0.35;");a._syncedApplets.length&&c.put("synccallback","Jmol._mySyncCallback");c.put("signedApplet","true");c.put("platform",f._platform);
f._is2D&&c.put("display",f._id+"_canvas2d");c.put("documentBase",document.location.href);var e=f._j2sPath+"/";if(0>e.indexOf("://")){var h=document.location.href.split("#")[0].split("?")[0].split("/");h[h.length-1]=e;e=h.join("/")}c.put("codePath",e);a._registerApplet(f._id,f);f._applet=!f._isJSV?new J.appletjs.Jmol(c):f._isPro?new JSV.appletjs.JSVAppletPro(c):new JSV.appletjs.JSVApplet(c);f._is2D||(f._GLmol.applet=f);f._jsSetScreenDimensions();a.__nextExecution()};g._jsSetScreenDimensions=function(){if(this._applet){var f=
a._getElement(this,this._is2D?"canvas2d":"canvas");this._applet.viewer.setScreenDimension(f.width,f.height)}};g._loadModel=function(a,c){this._script('load DATA "model"\n'+a+'\nEND "model" '+c);this._showInfo(!1)};g._show=function(f){a.$setVisible(a.$(this,"appletdiv"),f);f&&a._repaint(this,!0)};g._canScript=function(){return!0};g._delay=function(a,c,e){this._delayID=setTimeout(function(){a.resumeEval(c,!1)},e)};g._loadFile=function(f,c){this._showInfo(!1);c||(c="");this._thisJmolModel=""+Math.random();
this._fileName=f;a._scriptLoad(this,f,c,!0)};g._createDomNode=function(a,c){a=this._id+"_"+a;var e=document.getElementById(a);e&&document.body.removeChild(e);if(c){0==c.indexOf("<?")&&(c=c.substring(c.indexOf("<",1)));if(0<=c.indexOf("/>")){for(var e=c.split("/>"),h=e.length-1;0<=--h;)for(var d=e[h],b=d.lastIndexOf("<")+1,l=b,k=d.length,g="";++l<k;)if(0<=" \t\n\r".indexOf(d.charAt(l))){g=d.substring(b,l);e[h]=d+"></"+g+">";break}c=e.join("")}e=document.createElement("_xml");e.id=a;e.innerHTML=c;e.style.display=
"none";document.body.appendChild(e);return e}};g.equals=function(a){return this==a};g.clone=function(){return this};g.hashCode=function(){return parseInt(this._uniqueId)};g._processGesture=function(a){return this._applet.viewer.mouse.processTwoPointGesture(a)};g._processEvent=function(a,c){this._applet.viewer.processMouseEvent(a,c[0],c[1],c[2],System.currentTimeMillis())};g._resize=function(){var f="__resizeTimeout_"+this._id;a[f]&&clearTimeout(a[f]);var c=this;a[f]=setTimeout(function(){a._repaint(c,
!0);a[f]=null},100)};return g};a._repaint=function(g,f){if(g&&g._applet){var c=a.$(g,"appletdiv"),e=Math.round(c.width()),c=Math.round(c.height());if(g._is2D&&(g._canvas.width!=e||g._canvas.height!=c))g._getCanvas(!0),g._applet.viewer.setDisplay(g._canvas);g._applet.viewer.setScreenDimension(e,c);f?setTimeout(function(){g._applet&&g._applet.viewer.updateJS(0,0)}):g._applet.viewer.updateJS(0,0)}};a._getHiddenCanvas=function(a,f,c,e,h){f=a._id+"_"+f;(a=document.getElementById(f))&&h&&(a=null);a||(a=
document.createElement("canvas"));a.width=a.style.width=c;a.height=a.style.height=e;a.id!=f&&(a.id=f);return a};a._loadImage=function(g,f,c,e,h){var d=f[1];if(null==h)return h=new Image,h.onload=function(){a._loadImage(g,f,null,e,h)},null!=c&&(c=J.io.Base64.getBase64(c).toString(),c=d.substring(url.lastIndexOf("/")+1),0<=c.indexOf(".png")||c.indexOf(".jpg")),h.src=d,!0;c=h.width;var b=h.height,l="echo_"+f[0],k=a._getHiddenCanvas(g.viewer.applet,l,c,b,!0);k.imageWidth=c;k.imageHeight=b;k.id=l;k.image=
h;a._setCanvasImage(k,c,b);e(k,d)};a._setCanvasImage=function(a,f,c){a.buf32=null;a.width=f;a.height=c;a.getContext("2d").drawImage(a.image,0,0,f,c)}})(Jmol);
(function(a,g){a._Applet=function(c,e,f){window[c]=this;this._jmolType="Jmol._Applet"+(e.isSigned?" (signed)":"");this._isJava=!0;this._syncKeyword="Select:";if(f)return this;this._isSigned=e.isSigned;this._readyFunction=e.readyFunction;this._ready=!1;this._isJava=!0;this._isInfoVisible=!1;this._applet=null;this._memoryLimit=e.memoryLimit||512;this._canScript=function(){return!0};this._savedOrientations=[];this._initialize=function(d,b){var c=!1;a._jarFile&&(b=a._jarFile);if(this._jarFile){var f=
this._jarFile;0<=f.indexOf("/")?(alert("This web page URL is requesting that the applet used be "+f+". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network."),"yes"==prompt("Do you want to use applet "+f+"? ","yes or no")?(d=f.substring(0,f.lastIndexOf("/")),b=f.substring(f.lastIndexOf("/")+1)):c=!0):b=f;this_isSigned=e.isSigned=0<=b.indexOf("Signed")}this._jarPath=e.jarPath=d||".";this._jarFile=e.jarFile=
"string"==typeof b?b:(b?"JmolAppletSigned":"JmolApplet")+"0.jar";c&&alert("The web page URL was ignored. Continuing using "+this._jarFile+' in directory "'+this._jarPath+'"');void 0==a.controls||a.controls._onloadResetForms()};this._create(c,e);return this};a._Applet._get=function(c,e,f){f||(f=!1);e||(e={});a._addDefaultInfo(e,{color:"#FFFFFF",width:300,height:300,addSelectionOptions:!1,serverURL:"http://your.server.here/jsmol.php",defaultModel:"",script:null,src:null,readyFunction:null,use:"HTML5",
jarPath:"java",jarFile:"JmolApplet0.jar",isSigned:!1,j2sPath:"j2s",coverImage:null,coverTitle:"",coverCommand:"",deferApplet:!1,deferUncover:!1,disableJ2SLoadMonitor:!1,disableInitialConsole:!1,debug:!1});a._debugAlert=e.debug;a.featureDetection.allowHTML5||(e.use="JAVA");e.serverURL&&(a._serverUrl=e.serverURL);for(var d=!1,b=null,l=e.use.toUpperCase().split("#")[0].split(" "),k=0;k<l.length;k++){switch(l[k]){case "JAVA":d=!0;a.featureDetection.supportsJava()&&(b=new a._Applet(c,e,f));break;case "WEBGL":b=
a._Applet._getCanvas(c,e,f,!0);break;case "HTML5":b=a._Applet._getCanvas(c,e,f,!1);break;case "IMAGE":b=new a._Image(c,e,f)}if(null!=b)break}null==b&&(f||!d?b={_jmolType:"none"}:d&&(b=new a._Applet(c,e)));return f?b:a._registerApplet(c,b)};a._Applet._getCanvas=function(c,e,f,d){return d&&a.featureDetection.supportsWebGL()?(a._Canvas3D.prototype=a._jsSetPrototype(new a._Applet(c,e,!0)),GLmol.setRefresh(a._Canvas3D.prototype),new a._Canvas3D(c,e,"Jmol",f)):!d?(a._Canvas2D.prototype=a._jsSetPrototype(new a._Applet(c,
e,!0)),new a._Canvas2D(c,e,"Jmol",f)):null};a._Applet._noJavaMsg="Either you do not have Java applets enabled in your web<br />browser or your browser is blocking this applet.<br />      Check the warning message from your browser and/or enable Java applets in<br />      your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a>";a._Applet._setCommonMethods=function(c){c._showInfo=a._Applet.prototype._showInfo;c._search=a._Applet.prototype._search;
c._readyCallback=a._Applet.prototype._readyCallback};a._Applet._createApplet=function(c,e,f){c._initialize(e.jarPath,e.jarFile);var d=c._jarFile,b="";a._isLocal&&0!=e.jarPath.indexOf("http")&&(d=d.replace(/0\.jar/,".jar"),b=' jnlp_href="'+d.replace(/\.jar/,".jnlp")+'"');var l=0<=c._containerWidth.indexOf("px")?c._containerWidth:"100%",k=0<=c._containerHeight.indexOf("px")?c._containerHeight:"100%",l=' style="width:'+l+";height:"+k+'" ',b="name='"+c._id+"_object' id='"+c._id+"_object' \n"+l+b+"\n";
f.codebase=c._jarPath;f.codePath=f.codebase+"/";0>f.codePath.indexOf("://")&&(k=g.location.href.split("#")[0].split("?")[0].split("/"),k[k.length-1]=f.codePath,f.codePath=k.join("/"));f.archive=d;f.mayscript="true";f.java_arguments="-Xmx"+Math.round(e.memoryLimit||c._memoryLimit)+"m";f.permissions=c._isSigned?"all-permissions":"sandbox";f.documentLocation=g.location.href;f.documentBase=g.location.href.split("#")[0].split("?")[0];f.jarPath=e.jarPath;a._syncedApplets.length&&(f.synccallback="Jmol._mySyncCallback");
c._startupScript&&(f.script=c._startupScript);var k="\n",p;for(p in f)f[p]&&(k+="  <param name='"+p+"' value='"+f[p]+"' />\n");k=a.featureDetection.useIEObject||a.featureDetection.useHtml4Object?"<object "+b+(a.featureDetection.useIEObject?" classid='clsid:8AD9C840-044E-11D1-B3E9-00805F499D93' codebase='http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab'>":" type='application/x-java-applet'>")+k+"<p style='background-color:yellow;"+l.split('"')[1]+";text-align:center;vertical-align:middle;'>\n"+
a._Applet._noJavaMsg+"</p></object>\n":"<applet "+b+" code='"+f.code+"' codebase='"+c._jarPath+"' archive='"+d+"' mayscript='true'>\n"+k+"<table bgcolor='yellow'><tr><td align='center' valign='middle' "+l+">\n"+a._Applet._noJavaMsg+"</td></tr></table></applet>\n";k=a._getWrapper(c,!0)+k+a._getWrapper(c,!1)+(e.addSelectionOptions?a._getGrabberOptions(c):"");a._debugAlert&&alert(k);c._code=a._documentWrite(k)};var f=a._Applet.prototype;f._create=function(c,e){a._setObject(this,c,e);var f={syncId:a._syncId,
progressbar:"true",progresscolor:"blue",boxbgcolor:this._color||"black",boxfgcolor:"white",boxmessage:"Downloading JmolApplet ...",script:this._color?'background "'+this._color+'"':"",code:"JmolApplet.class"};a._setJmolParams(f,e);var d;e.inlineModel?(d=e.inlineModel,d=d.replace(/\r|\n|\r\n/g,0<=d.indexOf("|")?"\\/n":"|").replace(/'/g,"&#39;"),a._debugAlert&&alert("inline model:\n"+d)):d="";f.loadInline=d;f.appletReadyCallback="Jmol._readyCallback";a._syncedApplets.length&&(f.synccallback="Jmol._mySyncCallback");
f.java_arguments="-Xmx"+Math.round(e.memoryLimit||this._memoryLimit)+"m";this._initialize(e.jarPath,e.jarFile);a._Applet._createApplet(this,e,f)};f._readyCallback=function(c,e,f,d){f&&(a._setDestroy(this),this._ready=!0,c=this._readyScript,this._applet=d,this._defaultModel?a._search(this,this._defaultModel,c?";"+c:""):c?this._script(c):this._src&&this._script('load "'+this._src+'"'),this._showInfo(!0),this._showInfo(!1),this._setDragDrop(),this._readyFunction&&this._readyFunction(this),a._setReady(this),
(d=this._2dapplet)&&(d._isEmbedded&&d._ready&&d.__Info.visible)&&this._show2d(!0))};f._setDragDrop=function(){var c=this;a.$appEvent(c,"appletdiv","dragover",function(a){a=a.originalEvent;a.stopPropagation();a.preventDefault();a.dataTransfer.dropEffect="copy"});a.$appEvent(c,"appletdiv","drop",function(e){e=e.originalEvent;e.stopPropagation();e.preventDefault();var f=e.dataTransfer.files[0];e=new FileReader;e.onloadend=function(d){if(d.target.readyState==FileReader.DONE){var b="cache://DROP_"+f.name;
d=a._toBytes(d.target.result);c._applet.viewer.cacheFileByName("cache://DROP_*",!1);c._applet.viewer.cachePut(b,d);c._applet.viewer.openFileAsyncSpecial(b,1)}};e.readAsArrayBuffer(f)})};f._showInfo=function(c){c&&this._2dapplet&&this._2dapplet._show(!1);a.$html(a.$(this,"infoheaderspan"),this._infoHeader);this._info&&a.$html(a.$(this,"infodiv"),this._info);if(!this._isInfoVisible!=!c){this._isInfoVisible=c;if(this._isJava){var e=c?2:"100%";a.$setSize(a.$(this,"appletdiv"),e,e)}a.$setVisible(a.$(this,
"infotablediv"),c);a.$setVisible(a.$(this,"infoheaderdiv"),c);this._show(!c)}};f._show2d=function(a){this._2dapplet._show2d(a);this._2dapplet._isEmbedded&&(this._showInfo(!1),this._show(!a))};f._show=function(c){var e=!c?2:"100%";a.$setSize(a.$(this,"object"),e,e);this._isJava||a.$setVisible(a.$(this,"appletdiv"),c)};f._search=function(c,e){a._search(this,c,e)};f._loadModel=function(a,e){!e&&this._noscript?this._applet.viewer.loadInline(a,"\x00"):this._applet.script('load DATA "model"\n'+a+'\nEND "model" '+
e)};f._clearConsole=function(){this._console==this._id+"_infodiv"&&(this.info="");self.Clazz&&(a._setConsoleDiv(this._console),Clazz.Console.clear())};f._addScript=function(a){this._readyScript||(this.Script=";");this._readyScript+=";"+a;return!0};f._script=function(c){if(!this._ready)return this._addScript(c);a._setConsoleDiv(this._console);this._applet.script(c)};f._syncScript=function(a){this._applet.syncScript(a)};f._scriptCheck=function(a){return this._ready&&this._applet.scriptCheck(a)};f._scriptWait=
function(a){a=this._scriptWaitAsArray(a);for(var e="",f=a.length;0<=--f;)for(var d=0,b=a[f].length;d<b;d++)e+=a[f][d]+"\n";return e};f._scriptEcho=function(a){a=this._scriptWaitAsArray(a);for(var e="",f=a.length;0<=--f;)for(var d=a[f].length;0<=--d;)"scriptEcho"==a[f][d][1]&&(e+=a[f][d][3]+"\n");return e.replace(/ \| /g,"\n")};f._scriptMessage=function(a){a=this._scriptWaitAsArray(a);for(var e="",f=a.length;0<=--f;)for(var d=a[f].length;0<=--d;)"scriptStatus"==a[f][d][1]&&(e+=a[f][d][3]+"\n");return e.replace(/ \| /g,
"\n")};f._scriptWaitOutput=function(a){var e="";try{a&&(e+=this._applet.scriptWaitOutput(a))}catch(f){}return e};f._scriptWaitAsArray=function(c){var e="";try{if(this._getStatus("scriptEcho,scriptMessage,scriptStatus,scriptError"),c&&(e+=this._applet.scriptWait(c),e=a._evalJSON(e,"jmolStatus"),"object"==typeof e))return e}catch(f){}return[[e]]};f._getStatus=function(c){return a._sortMessages(this._getPropertyAsArray("jmolStatus",c))};f._getPropertyAsArray=function(c,e){return a._evalJSON(this._getPropertyAsJSON(c,
e),c)};f._getPropertyAsString=function(a,e){void 0==e&&(e="");return this._applet.getPropertyAsString(a,e)+""};f._getPropertyAsJSON=function(a,e){void 0==e&&(e="");try{return this._applet.getPropertyAsJSON(a,e)+""}catch(f){return""}};f._getPropertyAsJavaObject=function(a,e){void 0==e&&(e="");return this._applet.getProperty(a,e)};f._evaluate=function(a){a=""+this._getPropertyAsJavaObject("evaluate",a);var e=a.replace(/\-*\d+/,"");if(""==e&&!isNaN(parseInt(a)))return parseInt(a);e=a.replace(/\-*\d*\.\d*/,
"");return""==e&&!isNaN(parseFloat(a))?parseFloat(a):a};f._saveOrientation=function(a){return this._savedOrientations[a]=this._getPropertyAsArray("orientationInfo","info").moveTo};f._restoreOrientation=function(a){a=this._savedOrientations[a];return!a||""==a?a.replace(/1\.0/,"0"):this._scriptWait(a)};f._restoreOrientationDelayed=function(a,e){1>arguments.length&&(e=1);var f=this._savedOrientations[a];return!f||""==f?f.replace(/1\.0/,e):this._scriptWait(f)};f._resizeApplet=function(c){function e(d,
b){var c=""+d;return 0==c.length?b?"":a._allowedJmolSize[2]:c.indexOf("%")==c.length-1?c:1>=(d=parseFloat(d))&&0<d?100*d+"%":(isNaN(d=Math.floor(d))?a._allowedJmolSize[2]:d<a._allowedJmolSize[0]?a._allowedJmolSize[0]:d>a._allowedJmolSize[1]?a._allowedJmolSize[1]:d)+(b?b:"")}var f;"object"==typeof c&&null!=c?(f=c[0]||c.width,c=c[1]||c.height):f=c;f=[e(f,"px"),e(c,"px")];c=a._getElement(this,"appletinfotablediv");c.style.width=f[0];c.style.height=f[1];this._containerWidth=f[0];this._containerHeight=
f[1];this._is2D&&a._repaint(this,!0)};f._loadFile=function(c,e){this._showInfo(!1);e||(e="");this._thisJmolModel=""+Math.random();this._fileName=c;if(!a._scriptLoad(this,c,e,this._isSigned)){var f=this;a._loadFileData(this,c,function(a){f._loadModel(a,e)})}};f._searchDatabase=function(c,e,f){if(this._2dapplet&&this._2dapplet._isEmbedded&&a.$(this,"2dappletdiv:visible")[0])return this._2dapplet._searchDatabase(c,e,f);this._showInfo(!1);if(0<=c.indexOf("?"))a._getInfoFromDatabase(this,e,c.split("?")[0]);
else{f||(f=a._getScriptForDatabase(e));var d=e+c;if(a.db._DirectDatabaseCalls[e])this._loadFile(d,f);else if(f=";"+f,!a._scriptLoad(this,d,f,this._isSigned)){var b=this;a._getRawDataFromServer(e,c,function(a){b._loadModel(a,f)})}}};f._isDeferred=function(){return this._cover&&this._isCovered&&this._deferApplet};f._checkDeferred=function(a){return this._isDeferred()?(this._coverScript=a,this._cover(!1),!0):!1};a._Image=function(a,e,f){this._jmolType="image";if(f)return this;this._create(a,e);return this};
f=a._Image.prototype;f._create=function(c,e){a._setObject(this,c,e);this._src||(this._src="");var f=a._getWrapper(this,!0)+'<img id="'+c+'_image" width="'+e.width+'" height="'+e.height+'" src=""/>'+a._getWrapper(this,!1)+(e.addSelectionOptions?a._getGrabberOptions(this):"");a._debugAlert&&alert(f);this._code=a._documentWrite(f);this._ready=!1;a._document&&this._readyCallback(c,null,this._ready=!0,null)};a._Applet._setCommonMethods(f);f._canScript=function(a){var e=a.toLowerCase().replace(/[\",\']/g,
""),f=e.length;return 0<=a.indexOf("#alt:LOAD")||0>e.indexOf(";")&&0>e.indexOf("\n")&&(0==e.indexOf("script ")||0==e.indexOf("load "))&&(e.indexOf(".png")==f-4||e.indexOf(".jpg")==f-4)};f._script=function(c){var e=c.toLowerCase().replace(/[\",\']/g,""),f=e.length;if(0>e.indexOf(";")&&0>e.indexOf("\n")&&(0==e.indexOf("script ")||0==e.indexOf("load "))&&(e.indexOf(".png")==f-4||e.indexOf(".pngj")==f-5||e.indexOf(".jpg")==f-4)){c=c.substring(c.indexOf(" ")+1);f=c.length;for(e=0;e<f;e++)switch(c.charAt(e)){case " ":continue;
case '"':c=c.substring(e+1,c.indexOf('"',e+1));e=f;continue;case "'":c=c.substring(e+1,c.indexOf("'",e+1));e=f;continue;default:c=c.substring(e),e=f}c=c.replace(/\.min\.png/,".all.png");g.getElementById(this._id+"_image").src=c}else if(0<=c.indexOf("#alt:LOAD ")){c=c.split("#alt:LOAD ")[1];if(0<=c.indexOf("??")){f=c.split("??")[0];c=prompt(c.split("??")[1],"");if(!c)return;a.db._DirectDatabaseCalls[c.substring(0,1)]||(c=f+c)}this._loadFile(c)}};f._show=function(c){a._getElement(this,"appletdiv").style.display=
c?"block":"none"};f._loadFile=function(c,f){this._showInfo(!1);this._thisJmolModel=""+Math.random();f=f?f:"";if(a._isDatabaseCall(c))c.substring(0,1),c=a._getDirectDatabaseCall(c,!1);else if(0>c.indexOf("://")){var h=g.location.href,d=h.lastIndexOf("/");c=h.substring(0,d+1)+c}h=a._serverUrl+"?call=getImageForFileLoad&file="+escape(c)+"&width="+this._width+"&height="+this._height+"&params="+encodeURIComponent(f+";frank off;");a._getElement(this,"image").src=h};f._searchDatabase=function(c,f,g){c.indexOf("?")==
c.length-1?a._getInfoFromDatabase(this,f,c.split("?")[0]):(this._showInfo(!1),g||(g=a._getScriptForDatabase(f)),c=a._serverUrl+"?call=getImageFromDatabase&database="+f+"&query="+c+"&width="+this._width+"&height="+this._height+"&script="+encodeURIComponent(g+";frank off;"),a._getElement(this,"image").src=c)}})(Jmol,document);
(function(a){var g=a.controls={_hasResetForms:!1,_scripts:[""],_checkboxMasters:{},_checkboxItems:{},_actions:{},_buttonCount:0,_checkboxCount:0,_radioGroupCount:0,_radioCount:0,_linkCount:0,_cmdCount:0,_menuCount:0,_previousOnloadHandler:null,_control:null,_element:null,_appletCssClass:null,_appletCssText:"",_buttonCssClass:null,_buttonCssText:"",_checkboxCssClass:null,_checkboxCssText:"",_radioCssClass:null,_radioCssText:"",_linkCssClass:null,_linkCssText:"",_menuCssClass:null,_menuCssText:""};
g._addScript=function(a,c){var e=g._scripts.length;g._scripts[e]=[a,c];return e};g._getIdForControl=function(a,c){return"string"==typeof a?a:!c||!a._canScript||a._canScript(c)?a._id:null};g._radio=function(a,c,e,h,d,b,l,k){var p=g._getIdForControl(a,c);if(null==p)return null;++g._radioCount;void 0!=b&&null!=b||(b="jmolRadioGroup"+(g._radioGroupCount-1));if(!c)return"";void 0!=l&&null!=l||(l="jmolRadio"+(g._radioCount-1));void 0!=e&&null!=e||(e=c.substring(0,32));d||(d="");a="</span>";g._actions[l]=
g._addScript(p,c);c='<span id="span_'+l+'"'+(k?' title="'+k+'"':"")+"><input name='"+b+"' id='"+l+"' type='radio' onclick='Jmol.controls._click(this);return true;' onmouseover='Jmol.controls._mouseOver(this);return true;' onmouseout='Jmol.controls._mouseOut()' "+(h?"checked='true' ":"")+g._radioCssText+" />";0<=e.toLowerCase().indexOf("<td>")&&(c+=a,a="");return c+('<label for="'+l+'">'+e+"</label>"+a+d)};g._scriptExecute=function(f,c){var e=a._applets[c[0]],g=c[1];if("object"==typeof g)g[0](f,g,
e);else"function"==typeof g?g(e):a.script(e,g)};g.__checkScript=function(a,c){var e=0<=c.value.indexOf("JSCONSOLE ")||""===a._scriptCheck(c.value);c.style.color=e?"black":"red";return e};g.__getCmd=function(a,c){if(c._cmds&&c._cmds.length){var e=c._cmds[c._cmdpt=(c._cmdpt+c._cmds.length+a)%c._cmds.length];setTimeout(function(){c.value=e},10);c._cmdadd=1;c._cmddir=a}};g._commandKeyPress=function(f,c,e){f=13==f?13:window.event?window.event.keyCode:f?f.keyCode||f.which:0;var h=document.getElementById(c),
d=a._applets[e];switch(f){case 13:c=h.value;if(g.__checkScript(d,h)&&(g._scriptExecute(h,[e,c])||1))h._cmds||(h._cmds=[],h._cmddir=0,h._cmdpt=-1,h._cmdadd=0),c&&0==h._cmdadd?(++h._cmdpt,h._cmds.splice(h._cmdpt,0,c),h._cmdadd=0,h._cmddir=0):h._cmdadd=0,h.value="";return!1;case 27:return setTimeout(function(){h.value=""},20),!1;case 38:g.__getCmd(-1,h);break;case 40:g.__getCmd(1,h);break;default:h._cmdadd=0}setTimeout(function(){g.__checkScript(d,h)},20);return!0};g._click=function(a,c){g._element=
a;1==arguments.length&&(c=g._actions[a.id]);g._scriptExecute(a,g._scripts[c])};g._menuSelected=function(a){var c=a.value;if(void 0!=c)g._scriptExecute(a,g._scripts[c]);else{c=a.length;if("number"==typeof c)for(var e=0;e<c;++e)if(a[e].selected){g._click(a[e],a[e].value);return}alert("?Que? menu selected bug #8734")}};g._cbNotifyMaster=function(a){var c=!0,e=!0,h;for(h in a.chkGroup)a.chkGroup[h].checked?e=!1:c=!1;c&&(a.chkMaster.checked=!0);e&&(a.chkMaster.checked=!1);(c||e)&&g._checkboxItems[a.chkMaster.id]&&
g._cbNotifyMaster(g._checkboxItems[a.chkMaster.id])};g._cbNotifyGroup=function(a,c){for(var e in a.chkGroup){var h=a.chkGroup[e];h.checked!=c&&(h.checked=c,g._cbClick(h));g._checkboxMasters[h.id]&&g._cbNotifyGroup(g._checkboxMasters[h.id],c)}};g._cbSetCheckboxGroup=function(a,c,e){var h=a;"number"==typeof h&&(h="jmolCheckbox"+h);(a=document.getElementById(h))||alert("jmolSetCheckboxGroup: master checkbox not found: "+h);var d=g._checkboxMasters[h]={};d.chkMaster=a;d.chkGroup={};"string"==typeof c?
(c=e,h=1):h=0;for(a=h;a<c.length;a++)h=c[a],"number"==typeof h&&(h="jmolCheckbox"+h),(checkboxItem=document.getElementById(h))||alert("jmolSetCheckboxGroup: group checkbox not found: "+h),d.chkGroup[h]=checkboxItem,g._checkboxItems[h]=d};g._cbClick=function(a){g._control=a;var c=g._actions[a.id][0],e=g._actions[a.id][1];g._click(a,a.checked?c:e);g._checkboxMasters[a.id]&&g._cbNotifyGroup(g._checkboxMasters[a.id],a.checked);g._checkboxItems[a.id]&&g._cbNotifyMaster(g._checkboxItems[a.id])};g._cbOver=
function(a){var c=g._actions[a.id][0],e=g._actions[a.id][1];window.status=g._scripts[a.checked?e:c]};g._mouseOver=function(a,c){1==arguments.length&&(c=g._actions[a.id]);window.status=g._scripts[c]};g._mouseOut=function(){window.status=" ";return!0};g._onloadResetForms=function(){g._hasResetForms||(g._hasResetForms=!0,g._previousOnloadHandler=window.onload,window.onload=function(){if(0<g._buttonCount+g._checkboxCount+g._menuCount+g._radioCount+g._radioGroupCount)for(var a=document.forms,c=a.length;0<=
--c;)a[c].reset();g._previousOnloadHandler&&g._previousOnloadHandler()})};g._getButton=function(f,c,e,h,d){f=g._getIdForControl(f,c);if(null==f)return"";void 0!=h&&null!=h||(h="jmolButton"+g._buttonCount);void 0!=e&&null!=e||(e=c.substring(0,32));++g._buttonCount;g._actions[h]=g._addScript(f,c);c='<span id="span_'+h+'"'+(d?' title="'+d+'"':"")+"><input type='button' name='"+h+"' id='"+h+"' value='"+e+"' onclick='Jmol.controls._click(this)' onmouseover='Jmol.controls._mouseOver(this);return true' onmouseout='Jmol.controls._mouseOut()' "+
g._buttonCssText+" /></span>";a._debugAlert&&alert(c);return a._documentWrite(c)};g._getCheckbox=function(f,c,e,h,d,b,l){var k=g._getIdForControl(f,c);null!=k&&(k=g._getIdForControl(f,e));if(null==k)return"";void 0!=b&&null!=b||(b="jmolCheckbox"+g._checkboxCount);++g._checkboxCount;if(void 0==c||null==c||void 0==e||null==e)alert("jmolCheckbox requires two scripts");else if(void 0==h||null==h)alert("jmolCheckbox requires a label");else return g._actions[b]=[g._addScript(k,c),g._addScript(k,e)],f="</span>",
d='<span id="span_'+b+'"'+(l?' title="'+l+'"':"")+"><input type='checkbox' name='"+b+"' id='"+b+"' onclick='Jmol.controls._cbClick(this)' onmouseover='Jmol.controls._cbOver(this);return true' onmouseout='Jmol.controls._mouseOut()' "+(d?"checked='true' ":"")+g._checkboxCssText+" />",0<=h.toLowerCase().indexOf("<td>")&&(d+=f,f=""),d+='<label for="'+b+'">'+h+"</label>"+f,a._debugAlert&&alert(d),a._documentWrite(d)};g._getCommandInput=function(f,c,e,h,d){f=g._getIdForControl(f,"x");if(null==f)return"";
void 0!=h&&null!=h||(h="jmolCmd"+g._cmdCount);void 0!=c&&null!=c||(c="Execute");void 0!=e&&!isNaN(e)||(e=60);++g._cmdCount;c='<span id="span_'+h+'"'+(d?' title="'+d+'"':"")+"><input name='"+h+"' id='"+h+"' size='"+e+"' onkeydown='return Jmol.controls._commandKeyPress(event,\""+h+'","'+f+"\")' /><input  type='button' name='"+h+"Btn' id='"+h+"Btn' value = '"+c+"' onclick='Jmol.controls._commandKeyPress(13,\""+h+'","'+f+"\")' /></span>";a._debugAlert&&alert(c);return a._documentWrite(c)};g._getLink=
function(f,c,e,h,d){f=g._getIdForControl(f,c);if(null==f)return"";void 0!=h&&null!=h||(h="jmolLink"+g._linkCount);void 0!=e&&null!=e||(e=c.substring(0,32));++g._linkCount;c=g._addScript(f,c);e='<span id="span_'+h+'"'+(d?' title="'+d+'"':"")+"><a name='"+h+"' id='"+h+"' href='javascript:Jmol.controls._click(null,"+c+");' onmouseover='Jmol.controls._mouseOver(null,"+c+");return true;' onmouseout='Jmol.controls._mouseOut()' "+g._linkCssText+">"+e+"</a></span>";a._debugAlert&&alert(e);return a._documentWrite(e)};
g._getMenu=function(f,c,e,h,d){var b=g._getIdForControl(f,null);void 0!=h&&null!=h||(h="jmolMenu"+g._menuCount);++g._menuCount;b=typeof c;if(null!=b&&"object"==b&&c.length){var l=c.length;"number"!=typeof e||1==e?e=null:0>e&&(e=l);e='<span id="span_'+h+'"'+(d?' title="'+d+'"':"")+"><select name='"+h+"' id='"+h+"' onChange='Jmol.controls._menuSelected(this)'"+(e?" size='"+e+"' ":"")+g._menuCssText+">";for(h=0;h<l;++h){var k=c[h],b=typeof k,p=null,q=d=null;"object"==b&&null!=k?(p=k[0],d=k[1],q=k[2]):
p=d=k;b=g._getIdForControl(f,p);if(null==b)return"";null==d&&(d=p);"#optgroup"==p?e+="<optgroup label='"+d+"'>":"#optgroupEnd"==p?e+="</optgroup>":(b=g._addScript(b,p),e+="<option value='"+b+(q?"' selected='true'>":"'>")+d+"</option>")}e+="</select></span>";a._debugAlert&&alert(e);return a._documentWrite(e)}};g._getRadio=function(f,c,e,h,d,b,l,k){0==g._radioGroupCount&&++g._radioGroupCount;b||(b="jmolRadioGroup"+(g._radioGroupCount-1));f=g._radio(f,c,e,h,d,b,l?l:b+"_"+g._radioCount,k?k:0);if(null==
f)return"";a._debugAlert&&alert(f);return a._documentWrite(f)};g._getRadioGroup=function(f,c,e,h,d,b){var l=typeof c;if("object"!=l||null==l||!c.length)alert("invalid arrayOfRadioButtons");else{void 0!=e&&null!=e||(e="&#xa0; ");var k=c.length;++g._radioGroupCount;h||(h="jmolRadioGroup"+(g._radioGroupCount-1));for(var p="<span id='"+(d?d:h)+"'>",q=0;q<k;++q){q==k-1&&(e="");var j=c[q],l=typeof j,m=null,p="object"==l?p+(m=g._radio(f,j[0],j[1],j[2],e,h,3<j.length?j[3]:(d?d:h)+"_"+q,4<j.length?j[4]:0,
b)):p+(m=g._radio(f,j,null,null,e,h,(d?d:h)+"_"+q,b));if(null==m)return""}p+="</span>";a._debugAlert&&alert(p);return a._documentWrite(p)}}})(Jmol);
(function(a){var g=function(a){a="&"+a+"=";return decodeURI(("&"+document.location.search.substring(1)+a).split(a)[1].split("&")[0])};a._j2sPath=g("_J2S");a._jarFile=g("_JAR");a._use=g("_USE");a.getVersion=function(){return a._jmolInfo.version};a.getApplet=function(f,c,e){return a._Applet._get(f,c,e)};a.getJMEApplet=function(f,c,e,g){return a._JMEApplet._get(f,c,e,g)};a.getJSVApplet=function(f,c,e){return a._JSVApplet._get(f,c,e)};a.loadFile=function(a,c,e){a._loadFile(c,e)};a.script=function(a,c){a._checkDeferred(c)||
a._script(c)};a.scriptCheck=function(a,c){return a&&a._scriptCheck&&a._ready&&a._scriptCheck(c)};a.scriptWait=function(a,c){return a._scriptWait(c)};a.scriptEcho=function(a,c){return a._scriptEcho(c)};a.scriptMessage=function(a,c){return a._scriptMessage(c)};a.scriptWaitOutput=function(a,c){return a._scriptWait(c)};a.scriptWaitAsArray=function(a,c){return a._scriptWaitAsArray(c)};a.search=function(a,c,e){a._search(c,e)};a.evaluateVar=function(a,c){2<=arguments.length||(c="");return a._getPropertyAsArray("variableInfo",
c)};a.evaluate=function(a,c){return a._evaluate(c)};a.getAppletHtml=function(f,c){if(c){var e=a._document;a._document=null;f=a.getApplet(f,c);a._document=e}return f._code};a.getPropertyAsArray=function(a,c,e){return a._getPropertyAsArray(c,e)};a.getPropertyAsJavaObject=function(a,c,e){return a._getPropertyAsJavaObject(c,e)};a.getPropertyAsJSON=function(a,c,e){return a._getPropertyAsJSON(c,e)};a.getPropertyAsString=function(a,c,e){return a._getPropertyAsString(c,e)};a.getStatus=function(a,c){return a._getStatus(c)};
a.resizeApplet=function(a,c){return a._resizeApplet(c)};a.restoreOrientation=function(a,c){return a._restoreOrientation(c)};a.restoreOrientationDelayed=function(a,c,e){return a._restoreOrientationDelayed(c,e)};a.saveOrientation=function(a,c){return a._saveOrientation(c)};a.say=function(a){alert(a)};a.clearConsole=function(a){a._clearConsole()};a.getInfo=function(a){return a._info};a.setInfo=function(a,c,e){a._info=c;2<arguments.length&&a._showInfo(e)};a.showInfo=function(a,c){a._showInfo(c)};a.show2d=
function(a,c){a._show2d(c)};a.jmolBr=function(){return a._documentWrite("<br />")};a.jmolButton=function(f,c,e,g,d){return a.controls._getButton(f,c,e,g,d)};a.jmolCheckbox=function(f,c,e,g,d,b,l){return a.controls._getCheckbox(f,c,e,g,d,b,l)};a.jmolCommandInput=function(f,c,e,g,d){return a.controls._getCommandInput(f,c,e,g,d)};a.jmolHtml=function(f){return a._documentWrite(f)};a.jmolLink=function(f,c,e,g,d){return a.controls._getLink(f,c,e,g,d)};a.jmolMenu=function(f,c,e,g,d){return a.controls._getMenu(f,
c,e,g,d)};a.jmolRadio=function(f,c,e,g,d,b,l,k){return a.controls._getRadio(f,c,e,g,d,b,l,k)};a.jmolRadioGroup=function(f,c,e,g,d,b){return a.controls._getRadioGroup(f,c,e,g,d,b)};a.setCheckboxGroup=function(f,c){a.controls._cbSetCheckboxGroup(f,c,arguments)};a.setDocument=function(f){a._document=f};a.setXHTML=function(f){a._isXHTML=!0;a._XhtmlElement=null;a._XhtmlAppendChild=!1;f&&(a._XhtmlElement=document.getElementById(f),a._XhtmlAppendChild=!0)};a.setAppletCss=function(f,c){null!=f&&(a.controls._appletCssClass=
f);a.controls._appletCssText=c?c+" ":f?'class="'+f+'" ':""};a.setButtonCss=function(f,c){null!=f&&(a.controls._buttonCssClass=f);a.controls._buttonCssText=c?c+" ":f?'class="'+f+'" ':""};a.setCheckboxCss=function(f,c){null!=f&&(a.controls._checkboxCssClass=f);a.controls._checkboxCssText=c?c+" ":f?'class="'+f+'" ':""};a.setRadioCss=function(f,c){null!=f&&(a.controls._radioCssClass=f);a.controls._radioCssText=c?c+" ":f?'class="'+f+'" ':""};a.setLinkCss=function(f,c){null!=f&&(a.controls._linkCssClass=
f);a.controls._linkCssText=c?c+" ":f?'class="'+f+'" ':""};a.setMenuCss=function(f,c){null!=f&&(a.controls._menuCssClass=f);a.controls._menuCssText=c?c+" ":f?'class="'+f+'" ':""};a.setAppletSync=function(f,c,e){a._syncedApplets=f;a._syncedCommands=c;a._syncedReady={};a._isJmolJSVSync=e};a.setGrabberOptions=function(f){a._grabberOptions=f};a.setAppletHtml=function(f,c){f._code&&(a.$html(c,f._code),f._init&&!f._deferApplet&&f._init())};a.coverApplet=function(a,c){a._cover&&a._cover(c)}})(Jmol);
LoadClazz=function(){window["j2s.clazzloaded"]||(window["j2s.clazzloaded"]=!1);window["j2s.clazzloaded"]||(window["j2s.clazzloaded"]=!0,window["j2s.object.native"]=!0,Class=Clazz=function(){},function(a){a.debuggingBH=!1;a.profile=window["j2s.doProfile"]&&self.JSON?{}:null;a.getProfile=function(){var d="";if(a.profile){var d=[],b;for(b in a.profile){var c=""+a.profile[b];d.push("        ".substring(c.length)+c+"\t"+b)}d=d.sort().reverse().join("\r\n");a.profile={}}return d};a.addProfile=function(d,
b,c){d=d.__CLASS_NAME__+" "+b+" "+JSON.stringify(c);a.profile[d]||(a.profile[d]=0);a.profile[d]++};NullObject=function(){};JavaObject=Object;a.supportsNativeObject=window["j2s.object.native"];JavaObject=a.supportsNativeObject?function(){}:Object;ClazzLoaderProgressMonitor=ClassLoaderProgressMonitor={};a.Console={};a.dateToString=Date.prototype.toString;a.getSignature=function(a,b,c,e){return e?a[b]=c:a[b]};a.addProto=function(d,b,c){a.getSignature(d,b,c,!0)};var g=JavaObject.prototype;a.addProto(g,
"equals",function(a){return this==a});a.addProto(g,"hashCode",function(){try{return this.toString().hashCode()}catch(a){var b=":",c;for(c in this)b+=c+":";return b.hashCode()}});a.addProto(g,"getClass",function(){return a.getClass(this)});a.addProto(g,"clone",function(){return a.clone(this)});a.clone=function(a){var b=new a.constructor,c;for(c in a)b[c]=a[c];return b};a.addProto(g,"finalize",function(){});a.addProto(g,"notify",function(){});a.addProto(g,"notifyAll",function(){});a.addProto(g,"wait",
function(){});a.addProto(g,"to$tring",Object.prototype.toString);a.addProto(g,"toString",function(){return null!=this.__CLASS_NAME__?"["+this.__CLASS_NAME__+" object]":this.to$tring.apply(this,arguments)});if(a.supportsNativeObject){a.extendedObjectMethods="equals hashCode getClass clone finalize notify notifyAll wait to$tring toString".split(" ");for(g=0;g<a.extendedObjectMethods.length;g++){var f=a.extendedObjectMethods[g];Array.prototype[f]=JavaObject.prototype[f]}JavaObject.__CLASS_NAME__="Object";
JavaObject.getClass=function(){return JavaObject}}a.extendJO=function(d,b){b&&(d.__CLASS_NAME__=d.prototype.__CLASS_NAME__=b);if(a.supportsNativeObject)for(var c=0;c<a.extendedObjectMethods.length;c++){var e=a.extendedObjectMethods[c];a.getSignature(d.prototype,e,JavaObject.prototype[e],!0)}};a.extractClassName=function(a){a=a.substring(1,a.length-1);return 0<=a.indexOf("Array")?"Array":0<=a.indexOf("object ")?a.substring(7):a};a.getClassName=function(d,b){if(null==d)return"NullObject";if(d instanceof
a.CastedNull)return d.clazzName;switch(typeof d){case "number":return"Number";case "boolean":return"Boolean";case "string":return"String";case "function":if(null!=d.__CLASS_NAME__)return b?d.__CLASS_NAME__:"Class";var c=d.toString(),e=c.indexOf("function");if(0>e)return"["==c.charAt(0)?a.extractClassName(c):c.replace(/[^a-zA-Z0-9]/g,"");var e=e+8,f=c.indexOf("(",e);if(0>f)return"Object";c=c.substring(e,f);if(0<=c.indexOf("Array"))return"Array";c=c.replace(/^\s+/,"").replace(/\s+$/,"");return"anonymous"==
c||""==c?"Function":c;case "object":if(null!=d.__CLASS_NAME__)return d.__CLASS_NAME__;if(null==d.constructor)return"Object";if(null==d.constructor.__CLASS_NAME__){if(d instanceof Number)return"Number";if(d instanceof Boolean)return"Boolean";if(d instanceof Array)return"Array";c=d.toString();if("["==c.charAt(0))return a.extractClassName(c)}}return a.getClassName(d.constructor,!0)};a.getClass=function(d){if(null==d)return JavaObject;if("function"==typeof d)return d;var b=null;if(d instanceof a.CastedNull)b=
d.clazzName;else{if("string"==typeof d)return String;if("object"==typeof d)if(null!=d.__CLASS_NAME__)b=d.__CLASS_NAME__;else return null==d.constructor?JavaObject:d.constructor}return null!=b?a.evalType(b,!0):d.constructor};a.extendsProperties=function(d,b){for(var c in b)"b$"!=c&&("prototype"!=c&&"superClazz"!=c&&"__CLASS_NAME__"!=c&&"implementz"!=c&&!a.checkInnerFunction(b,c))&&(d[c]=b[c])};a.checkInnerFunction=function(d,b){for(var c=0;c<a.innerFunctionNames.length;c++)if(b==a.innerFunctionNames[c]&&
a.innerFunctions[b]===d[b])return!0;return!1};a.implementsProperties=function(d,b){for(var c in b)"b$"!=c&&("prototype"!=c&&"superClazz"!=c&&"__CLASS_NAME__"!=c&&"implementz"!=c)&&!("function"==typeof b[c]&&a.checkInnerFunction(b,c))&&(d[c]=b[c],d.prototype[c]=b[c])};a.args4InheritClass=function(){};a.inheritArgs=new a.args4InheritClass;a.inheritClass=function(d,b,c){a.extendsProperties(d,b);a.isClassUnloaded(d)||(d.prototype=null!=c?c:b!==Number?new b(a.inheritArgs):new Number);d.superClazz=b;d.prototype.__CLASS_NAME__=
d.__CLASS_NAME__};a.implementOf=function(d,b){if(2<=arguments.length){null==d.implementz&&(d.implementz=[]);var c=d.implementz;if(2==arguments.length)if("function"==typeof b)c[c.length]=b,a.implementsProperties(d,b);else{if(b instanceof Array)for(var e=0;e<b.length;e++)c[c.length]=b[e],a.implementsProperties(d,b[e])}else for(e=1;e<arguments.length;e++)c[c.length]=arguments[e],a.implementsProperties(d,arguments[e])}};a.extendInterface=a.implementOf;a.equalsOrExtendsLevel=function(d,b){if(d===b)return 0;
if(null!=d.implementz)for(var c=d.implementz,e=0;e<c.length;e++){var f=a.equalsOrExtendsLevel(c[e],b);if(0<=f)return f+1}return-1};a.getInheritedLevel=function(d,b){if(d===b)return 0;var c="string"==typeof d,e="string"==typeof b;if(c&&("void"==d||"unknown"==d)||e&&("void"==b||"unknown"==b))return-1;if((c&&"NullObject"==d||NullObject===d)&&b!==Number&&b!==Boolean&&b!==NullObject)return 0;c&&(d=a.evalType(d));e&&(b=a.evalType(b));if(null==b||null==d)return-1;c=0;for(e=d;e!==b&&10>c;){if(null!=e.implementz)for(var f=
e.implementz,g=0;g<f.length;g++){var j=a.equalsOrExtendsLevel(f[g],b);if(0<=j)return c+j+1}e=e.superClazz;if(null==e)return b===Object||b===JavaObject?c+1.5:-1;c++}return c};a.instanceOf=function(d,b){if(null==d)return!1==b;if(null==b)return!1;if(d instanceof b)return!0;var c=a.getClassName(d);return 0<=a.getInheritedLevel(c,b)};a.superCall=function(d,b,c,e){var f=null,g=-1,j=d[c];if(null!=j)if(null!=j.claxxOwner)j.claxxOwner!==b&&(f=j);else if(null==j.stacks&&!(null!=j.lastClaxxRef&&null!=j.lastClaxxRef.prototype[c]&&
null!=j.lastClaxxRef.prototype[c].stacks))f=j;else{var m=j.stacks;null==m&&(m=j.lastClaxxRef.prototype[c].stacks);for(g=m.length-1;0<=g;g--)if(b===m[g]){0<g?(g--,f=m[g].prototype[c]):f=m[0].prototype[c]["\\unknown"];break}else if(0<a.getInheritedLevel(b,m[g])){f=m[g].prototype[c];break}}if(null!=f)return 0==g&&"construct"==c&&(g=j.stacks,null!=g&&(null==g[0].superClazz&&null!=g[0].con$truct)&&g[0].con$truct.apply(d,[])),a.tracingCalling?(g=arguments.callee.caller,g===a.superConstructor&&(g=g.arguments.callee.caller),
a.pu$hCalling(new a.callingStack(g,b)),f=f.apply(d,null==e?[]:e),a.p0pCalling(),f):f.apply(d,null==e?[]:e);if("construct"!=c)throw a.alert(["j2slib","no class found",e.typeString]),new a.MethodNotFoundException(d,b,c,a.getParamsType(e).typeString);};a.superConstructor=function(d,b,c){a.superCall(d,b,"construct",c);null!=b.con$truct&&b.con$truct.apply(d,[])};a.CastedNull=function(d){this.clazzName=null!=d?d instanceof String?d:d instanceof Function?a.getClassName(d,!0):""+d:"Object";this.toString=
function(){return null};this.valueOf=function(){return null}};a.castNullAs=function(d){return new a.CastedNull(d)};a.MethodException=function(){};a.MethodNotFoundException=function(){this.toString=function(){return"MethodNotFoundException"}};a.getParamsType=function(d){var b=d.length;switch(b){case 0:var c=["void"];c.typeString="\\void";return c;case 1:if(c=d[0],null!=c&&"number"==typeof c)return c=["Number"],c.typeString="\\Number",c}c=[];c.hasCastedNull=!1;if(null!=d)for(var e=0;e<b;e++)c[e]=a.getClassName(d[e]),
d[e]instanceof a.CastedNull&&(c.hasCastedNull=!0);c.typeString="\\"+c.join("\\");return c};a.searchAndExecuteMethod=function(d,b,c,e){var f=d[c],g=a.getParamsType(e);a.profile&&a.addProfile(b,c,g);if(f.lastParams==g.typeString&&f.lastClaxxRef===b){b=null;if(g.hasCastedNull){b=[];for(g=0;g<e.length;g++)b[g]=e[g]instanceof a.CastedNull?null:e[g]}else b=e;if(null!=f.lastMethod)return f.lastMethod.apply(d,b)}else{f.lastParams=g.typeString;f.lastClaxxRef=b;var j=f.stacks;null==j&&(j=b.prototype[c].stacks);
for(var m=!1,r=j.length-1;-1<r;r--)if(m||j[r]===b){m=a.tryToSearchAndExecute(c,d,j[r].prototype[c],g,e,f);if(!(m instanceof a.MethodException))return m;m=!0}if("construct"!=c)throw new a.MethodNotFoundException(d,b,c,g.typeString);}};a.tracingCalling=!1;a.tryToSearchAndExecute=function(d,b,c,e,f,g){var j=[],m=!0,r;for(r in c)if(92==r.charCodeAt(0)){var s=r.substring(1).split("\\");s.length==e.length&&(j[j.length]=s);m=!1}else if(m&&"funParams"==r&&null!=c.funParams){r=c.funParams;s=r.substring(1).split("\\");
s.length==e.length&&(j[0]=s);break}if(0==j.length)return new a.MethodException;r=a.searchMethod(j,e);if(null!=r){j=null;j=m?c:c["\\"+r];m=null;if(e.hasCastedNull){m=[];for(r=0;r<f.length;r++)m[r]=f[r]instanceof a.CastedNull?null:f[r]}else m=f;if(a.tracingCalling){s=arguments.callee.caller;s=s=s.arguments.callee.caller;if(r="construct"==j.exName&&0<=a.getInheritedLevel(j.exClazz,Throwable)&&!a.initializingException){a.initializingException=!0;var u=s.arguments.callee.caller.arguments.callee.caller,
h=u.arguments.callee,t=h.claxxReference;null==t&&(t=h.exClazz);null==t&&(t=h.claxxOwner);a.pu$hCalling(new a.callingStack(u,t))}if(u=s!==a.instantialize&&s!==a.superCall)h=s.arguments.callee,t=h.claxxReference,null==t&&(t=h.exClazz),null==t&&(t=h.claxxOwner),a.pu$hCalling(new a.callingStack(s,t));g.lastMethod=j;j=j.apply(b,m);u&&a.p0pCalling();r&&a.p0pCalling();return j}g.lastMethod=j;return j.apply(b,m)}return new a.MethodException};a.initializingException=!1;a.searchMethod=function(d,b){for(var c=
[],e=0;e<d.length;e++){for(var f=[],g=!0,j=0;j<d[e].length;j++)if(f[j]=a.getInheritedLevel(b[j],d[e][j]),0>f[j]){g=!1;break}g&&(f[b.length]=e,c[c.length]=f)}if(0==c.length)return null;f=c[0];for(e=1;e<c.length;e++){g=!0;for(j=0;j<b.length;j++)if(f[j]<c[e][j]){g=!1;break}g&&(f=c[e])}return d[f[b.length]].join("\\")};a.generateDelegatingMethod=function(a,b){var c=function(){var a=arguments;return SAEM(this,a.callee.claxxReference,a.callee.methodName,a)};c.methodName=b;c.claxxReference=a;return c};SAEM=
a.searchAndExecuteMethod;a.expExpandParameters=function(a,b){return"N"==b?"Number":"B"==b?"Boolean":"S"==b?"String":"O"==b?"Object":"A"==b?"Array":"Unknown"};a.formatParameters=function(d){return null==d||0==d.length?"\\void":d.replace(/~([NABSO])/g,a.expExpandParameters).replace(/\s+/g,"").replace(/^|,/g,"\\").replace(/\$/g,"org.eclipse.s")};a.overrideMethod=function(d,b,c,e){a.assureInnerClass&&a.assureInnerClass(d,c);c.exName=b;e=a.formatParameters(e);c.funParams=e;c.claxxOwner=d;return a.getSignature(d.prototype,
b,c,!0)};a.defineMethod=function(d,b,c,e){a.assureInnerClass&&a.assureInnerClass(d,c);c.exName=b;e=a.formatParameters(e);var f=d.prototype,g=a.getSignature(f,b,c,!1);if(null==g||g.claxxOwner===d&&g.funParams==e)return c.funParams=e,c.claxxOwner=d,c.exClazz=d,delete $fz,a.getSignature(f,b,c,!0);var j=null,m=[];null==g.stacks?(j=g,null!=g.claxxOwner&&(m[0]=j.claxxOwner)):m=g.stacks;if(null==g.stacks||g.claxxReference!==d){g=a.getSignature(f,b,a.generateDelegatingMethod(d,b,g),!0);f=[];for(b=0;b<m.length;b++)f[b]=
m[b];g.stacks=f}m=g.stacks;if(0==m.length)m[0]=d;else{f=!1;for(b=m.length-1;0<=b;b--)if(m[b]===d){f=!0;break}f||(m[m.length]=d)}null!=j&&(j.claxxOwner===d?(g[j.funParams]=j,j.claxxOwner=null,j.funParams=null):null==j.claxxOwner&&(g["\\unknown"]=j));c.exClazz=d;g[e]=c;delete $fz;return g};a.makeConstructor=function(d,b,c){a.defineMethod(d,"construct",b,c);null!=d.con$truct&&(d.con$truct.index=d.con$truct.stacks.length)};a.overrideConstructor=function(d,b,c){a.overrideMethod(d,"construct",b,c);null!=
d.con$truct&&(d.con$truct.index=d.con$truct.stacks.length)};a.allPackage={};a.allClasses={};a.lastPackageName=null;a.lastPackage=null;a.unloadedClasses=[];a.isClassUnloaded=function(d){d=a.getClassName(d,!0);return null!=a.unloadedClasses[d]};a.declarePackage=function(d){if(a.lastPackageName==d)return a.lastPackage;if(null!=d&&0!=d.length){for(var b=d.split(/\./),c=a.allPackage,e=0;e<b.length;e++)null==c[b[e]]&&(c[b[e]]={__PKG_NAME__:null!=c.__PKG_NAME__?c.__PKG_NAME__+"."+b[e]:b[e]},0==e&&(window[b[e]]=
c[b[e]])),c=c[b[e]];a.lastPackageName=d;return a.lastPackage=c}};a.evalType=function(d,b){var c=d.lastIndexOf(".");if(-1!=c){var e=d.substring(0,c),e=a.declarePackage(e),c=d.substring(c+1);return e[c]}return b?window[d]:"number"==d?Number:"object"==d?JavaObject:"string"==d?String:"boolean"==d?Boolean:"function"==d?Function:"void"==d||"undefined"==d||"unknown"==d?d:"NullObject"==d?NullObject:window[d]};a.defineType=function(d,b,c,e){var f=a.unloadedClasses[d];null!=f&&(b=f);f=d.lastIndexOf(".");if(-1!=
f){var g=d.substring(0,f),g=a.declarePackage(g),f=d.substring(f+1);if(null!=g[f])return g[f];g[f]=b}else{if(null!=window[d])return window[d];window[d]=b}a.decorateAsType(b,d,c,e);d=a.innerFunctions;b.defineMethod=d.defineMethod;b.defineStaticMethod=d.defineStaticMethod;b.makeConstructor=d.makeConstructor;return b};a.isSafari=-1!=navigator.userAgent.indexOf("Safari");a.isSafari4Plus=!1;a.isSafari&&(g=navigator.userAgent,f=g.indexOf("Version/"),-1!=f&&(g=g.substring(f+8),g=parseFloat(g),a.isSafari4Plus=
4<=g));a.instantialize=function(d,b){if(!(null!=b&&1==b.length&&null!=b[0]&&b[0]instanceof a.args4InheritClass)){d instanceof Number&&(d.valueOf=function(){return this});if(a.isSafari4Plus){for(var c=[],e=0;e<b.length;e++)c[e]=b[e];b=c}c=d.construct;null!=c?null==d.con$truct?c.apply(d,b):null==d.getClass().superClazz?(d.con$truct.apply(d,[]),c.apply(d,b)):null!=c.claxxOwner&&c.claxxOwner===d.getClass()||null!=c.stacks&&c.stacks[c.stacks.length-1]==d.getClass()?c.apply(d,b):(null!=c.claxxOwner&&null==
c.claxxOwner.superClazz&&null!=c.claxxOwner.con$truct?c.claxxOwner.con$truct.apply(d,[]):null!=c.stacks&&(1==c.stacks.length&&null==c.stacks[0].superClazz)&&c.stacks[0].con$truct.apply(d,[]),c.apply(d,b),d.con$truct.apply(d,[])):null!=d.con$truct&&d.con$truct.apply(d,[])}};a.innerFunctionNames="equals hashCode getName getClassLoader getResource getResourceAsStream defineMethod defineStaticMethod makeConstructor".split(" ");a.innerFunctions={equals:function(a){return this===a},hashCode:function(){return this.getName().hashCode()},
toString:function(){return"class "+this.getName()},getName:function(){return a.getClassName(this,!0)},getClassLoader:function(){var d=this.__CLASS_NAME__,b=ClazzLoader.getClasspathFor(d),c=b.lastIndexOf(d.replace(/\./g,"/")),b=-1!=c?b.substring(0,c):ClazzLoader.getClasspathFor(d,!0),d=ClassLoader.requireLoaderByBase(b);d.getResourceAsStream=a.innerFunctions.getResourceAsStream;d.getResource=a.innerFunctions.getResource;return d},getResource:function(a){return this.getResourceAsStream(a).url},getResourceAsStream:function(d){var b=
null;if(null==d)return b;null!=java.io.InputStream?b=new java.io.InputStream:(b=new JavaObject,b.__CLASS_NAME__="java.io.InputStream",b.close=NullObject);b.read=function(){return 0};d=d.replace(/\\/g,"/");var c=null,e=this.__CLASS_NAME__;2==arguments.length&&0!=d.indexOf("/")&&(d="/"+d);if(0==d.indexOf("/"))if(2==arguments.length?(c=arguments[1],null==c&&(c=ClazzLoader.binaryFolders[0])):null!=window.ClazzLoader&&(c=ClazzLoader.getClasspathFor(e,!0)),null==c||0==c.length)b.url=d.substring(1);else{var c=
c.replace(/\\/g,"/"),f=c.length,f=c.charAt(f-1);"/"!=f&&(c+="/");b.url=c+d.substring(1)}else{if(null!=this.base)c=this.base;else if(null!=window.ClazzLoader)if(c=ClazzLoader.getClasspathFor(e),f=c.lastIndexOf(e.replace(/\./g,"/")),-1!=f)c=c.substring(0,f);else if(f=-1,c.indexOf(".z.js")==c.length-5&&-1!=(f=c.lastIndexOf("/")))for(var c=c.substring(0,f+1),f=e.split(/\./),g=1;g<f.length;g++){for(var j="/",m=0;m<g;m++)j+=f[m]+"/";if(j.length>c.length)break;if(c.indexOf(j)==c.length-j.length){c=c.substring(0,
c.length-j.length+1);break}}else c=ClazzLoader.getClasspathFor(e,!0);else f=a.binaryFolders,null!=f&&0!=f.length&&(c=f[0]);if(null==c||0==c.length)c="j2s/";c=c.replace(/\\/g,"/");f=c.length;f=c.charAt(f-1);"/"!=f&&(c+="/");null!=this.base?b.url=c+d:(f=e.lastIndexOf("."),b.url=-1==f||null!=this.base?c+d:c+e.substring(0,f).replace(/\./g,"/")+"/"+d)}return b},defineMethod:function(d,b,c){a.defineMethod(this,d,b,c)},defineStaticMethod:function(d,b,c){a.defineMethod(this,d,b,c);this[d]=this.prototype[d]},
makeConstructor:function(d,b){a.makeConstructor(this,d,b)}};a.decorateFunction=function(d,b,c){null!=window.ClazzLoader&&ClazzLoader.checkInteractive();var e=null;null==b?(e=c,window[c]=d):null!=b.__PKG_NAME__?(e=b.__PKG_NAME__+"."+c,b[c]=d,b===java.lang&&(window[c]=d)):(e=b.__CLASS_NAME__+"."+c,b[c]=d);a.extendJO(d,e);b=a.innerFunctionNames;for(c=0;c<b.length;c++)d[b[c]]=a.innerFunctions[b[c]];null!=window.ClazzLoader&&(d=ClazzLoader.findClass(e),null!=d&&d.status==ClazzNode.STATUS_KNOWN&&window.setTimeout(function(a){return function(){ClazzLoader.updateNode(a)}}(d),
1))};a.currentPath="";a.declareInterface=function(d,b,c){var e=function(){};a.decorateFunction(e,d,b,"Clazz.declareInterface");null!=c&&a.implementOf(e,c);return e};a.decorateAsClass=function(d,b,c,e,f,g,j){var m=null;null!=b&&(m=b.__PKG_NAME__,null==m&&(m=b.__CLASS_NAME__));m=a.unloadedClasses[(null==m?"":m+".")+c];null!=m&&(d=m);a.decorateFunction(d,b,c,j+"...Clazz.decorateAsClass");null!=g?a.inheritClass(d,e,g):null!=e&&a.inheritClass(d,e);null!=f&&a.implementOf(d,f);return d};a.declareType=function(d,
b,c,e,f){return a.decorateAsClass(function(){a.instantialize(this,arguments)},d,b,c,e,f,"Clazz.declareType")};a.declareAnonymous=function(d,b,c,e,f){return a.decorateAsClass(function(){a.prepareCallback(this,arguments);a.instantialize(this,arguments)},d,b,c,e,f,"Clazz.declareAnonymous")};a.decorateAsType=function(d,b,c,e,f,g){a.extendJO(d,b);d.equals=a.innerFunctions.equals;d.getName=a.innerFunctions.getName;if(g)for(b=0;b<a.innerFunctionNames.length;b++)g=a.innerFunctionNames[b],d[g]=a.innerFunctions[g];
null!=f?a.inheritClass(d,c,f):null!=c&&a.inheritClass(d,c);null!=e&&a.implementOf(d,e);return d};a._ex_reg=function(a,b,c){c||(c="[^\\s]+");var e=a.indexOf(b);a=a.substring(0,e)+c+a.substring(e+b.length);return RegExp("^"+a+"$")};try{null.hello()}catch(c){/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)?(g=c.message.indexOf(":"),f=c.message.indexOf(":",g+2),a._NPEMsgFragment=c.message.substr(g+1,f-g-20),a._isNPEExceptionPredicate=function(d){return-1!=d.message.indexOf(a._NPEMsgFragment)}):-1!=navigator.userAgent.toLowerCase().indexOf("webkit")?
(a._exceptionNPERegExp=a._ex_reg(c.message,"hello"),a._isNPEExceptionPredicate=function(d){return a._exceptionNPERegExp.test(d.message)}):(a._exceptionNPERegExp=a._ex_reg(c.message,"$$o$$"),a._isNPEExceptionPredicate=function(d){return a._exceptionNPERegExp.test(d.message)})}a.exceptionOf=function(d,b){return d.__CLASS_NAME__?a.instanceOf(d,b):b==Error?(0<=(""+d).indexOf("Error")&&System.out.println(a.getStackTrace()),0<=(""+d).indexOf("Error")):b==Exception||b==Throwable||b==NullPointerException&&
a._isNPEExceptionPredicate(d)};a.getStackTrace=function(a){var b="";a||(a=25);for(var c=arguments.callee.caller,e=0;e<a&&c;e++)b+=e+" "+(c.exName?(c.claxxOwner?c.claxxOwner.__CLASS_NAME__+".":"")+c.exName:c.toString?c.toString().substring(0,c.toString().indexOf("{")):"<native method>")+"\n",c=c.caller;return b};Number.prototype._numberToString=Number.prototype.toString;a.declarePackage("java.io");a.declarePackage("java.lang.annotation");a.declarePackage("java.lang.instrument");a.declarePackage("java.lang.management");
a.declarePackage("java.lang.reflect");a.declarePackage("java.lang.ref");java.lang.ref.reflect=java.lang.reflect;a.declarePackage("java.util");a.declareInterface(java.io,"Closeable");a.declareInterface(java.io,"DataInput");a.declareInterface(java.io,"DataOutput");a.declareInterface(java.io,"Externalizable");a.declareInterface(java.io,"Flushable");a.declareInterface(java.io,"Serializable");a.declareInterface(java.lang,"Iterable");a.declareInterface(java.lang,"CharSequence");a.declareInterface(java.lang,
"Cloneable");a.declareInterface(java.lang,"Appendable");a.declareInterface(java.lang,"Comparable");a.declareInterface(java.lang,"Runnable");a.declareInterface(java.util,"Comparator");java.lang.ClassLoader={__CLASS_NAME__:"ClassLoader"};if(null!=window.Clazz&&null==window.Clazz.unloadClass){a.MethodNotFoundException=function(d,b,c,e){d="";null!=e&&(d=e.substring(1).replace(/\\/g,","));this.message=(null!=c&&"construct"!=c?"Method":"Constructor")+" "+a.getClassName(b,!0)+"."+c+"("+d+") is not found!";
this.toString=function(){return"MethodNotFoundException:"+this.message}};a.prepareCallback=function(d,b){var c=b[0];if(null!=d&&null!=c&&c!==window){var e=[];if(null!=d.b$)for(var f in d.b$)"length"!=f&&(e[f]=d.b$[f]);d.b$=e;var g=a.getClassName(c,!0);e[g.replace(/org\.eclipse\.swt\./,"$wt.")]=c;for(g=a.getClass(c);null!=g.superClazz;)g=g.superClazz,e[a.getClassName(g,!0).replace(/org\.eclipse\.swt\./,"$wt.")]=c;c=c.b$;if(null!=c&&c instanceof Array)for(f in c)"length"!=f&&(e[f]=c[f])}for(e=0;e<b.length-
1;e++)b[e]=b[e+1];b.length--};a.innerTypeInstance=function(d,b,c){null==d&&(d=arguments.callee.caller);var e=null;if(null==c&&null==b.$finals)if(3==arguments.length)e=new d(b);else if(4==arguments.length)e=b.__CLASS_NAME__==d.__CLASS_NAME__&&arguments[3]===a.inheritArgs?b:new d(b,arguments[3]);else if(5==arguments.length)e=new d(b,arguments[3],arguments[4]);else if(6==arguments.length)e=new d(b,arguments[3],arguments[4],arguments[5]);else if(7==arguments.length)e=new d(b,arguments[3],arguments[4],
arguments[5],arguments[6]);else if(8==arguments.length)e=new d(b,arguments[3],arguments[4],arguments[5],arguments[6],arguments[7]);else if(9==arguments.length)e=new d(b,arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8]);else if(10==arguments.length)e=new d(b,arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9]);else{for(var e=new d(b,a.inheritArgs),f=[],g=3;g<arguments.length;g++)f[g-3]=arguments[g];a.instantialize(e,f)}else{e=new d(b,
a.inheritArgs);if(null!=c&&null==b.f$)e.f$=c;else if(null==c&&null!=b.f$)e.f$=b.f$;else if(null!=c&&null!=b.f$){f={};for(g in b.f$)f[g]=b.f$[g];for(g in c)f[g]=c[g];e.f$=f}f=[];for(g=3;g<arguments.length;g++)f[g-3]=arguments[g];a.instantialize(e,f)}return e};a.cloneFinals=function(){for(var a={},b=arguments.length/2,c=0;c<b;c++)a[arguments[c+c]]=arguments[c+c+1];return a};a.isClassDefined=a.isDefinedClass=function(d){if(null!=d&&0!=d.length){if(a.allClasses[d])return!0;for(var b=d.split(/\./),c=null,
e=0;e<b.length;e++)if(null==c){if(null==a.allPackage[b[0]])return!1;c=a.allPackage[b[0]]}else{if(null==c[b[e]])return!1;c=c[b[e]]}if(null!=c)return a.allClasses[d]=!0}return!1};a.defineEnumConstant=function(d,b,c,e,f){var g=null,g=null!=f?new f:new d;a.superConstructor(g,d,[b,c]);null!=e&&0!=e.length&&g.construct.apply(g,e);d[b]=g;d.prototype[b]=g;null==d["$ values"]&&(d["$ values"]=[],d.values=function(){return this["$ values"]});d["$ values"].push(g);return g};a.floatToInt=function(a){return 0>
a?Math.ceil(a):Math.floor(a)};a.floatToByte=a.floatToShort=a.floatToLong=a.floatToInt;a.doubleToByte=a.doubleToShort=a.doubleToLong=a.doubleToInt=a.floatToInt;a.floatToChar=function(a){return String.fromCharCode(0>a?Math.ceil(a):Math.floor(a))};a.doubleToChar=a.floatToChar;self.Int32Array&&self.Int32Array!=Array?(a.haveInt32=!0,Int32Array.prototype.sort||(Int32Array.prototype.sort=Array.prototype.sort)):(Int32Array=function(a){a||(a=0);var b=Array(a);b.toString=function(){return"[object Int32Array]"};
for(var c=0;c<a;c++)b[c]=0;return b},a.haveInt32=!1,Int32Array.prototype.sort=Array.prototype.sort,Int32Array.prototype.int32Fake=function(){});self.Float64Array&&self.Float64Array!=Array?(a.haveFloat64=!0,Float64Array.prototype.sort||(Float64Array.prototype.sort=Array.prototype.sort)):(a.haveFloat64=!1,Float64Array=function(a){a||(a=0);for(var b=Array(a),c=0;c<a;c++)b[c]=0;return b},Float64Array.prototype.sort=Array.prototype.sort,Float64Array.prototype.float64Fake=function(){},Float64Array.prototype.toString=
function(){return"[object Float64Array]"});a.newArray=function(){if(arguments[0]instanceof Array)var d=arguments[0],b=arguments[1];else d=arguments,b=Array;if(1>=d.length)return[];var c=d[0];"string"==typeof c&&(c=c.charCodeAt(0));var e=d.length-1,f=d[e];if(2==d.length){if(null==f)return Array(c);if(!0===b&&a.haveInt32)return new Int32Array(c);if(!1===b&&a.haveFloat64)return new Float64Array(c);if(b==Array&&null==f)return Array(c);for(var d=!0===b?new Int32Array:!1===b?new Float64Array:Array(c),g=
c;0<=--g;)d[g]=f;return d}for(var j=Array(e),g=0;g<e;g++)j[g]=d[g+1];d=Array(c);if(null==f||0<=f||2<e)for(g=0;g<c;g++)d[g]=a.newArray(j,b);return d};a.newArray32=function(d,b){var c=d[0];"string"==typeof c&&(c=c.charCodeAt(0));var e=d.length-1,f=d[e];switch(d.length){case 0:case 1:return alert("ERROR IN newArray32 -- args length < 2"),[];case 2:if(0>f)return Array(c);try{return b?new Int32Array(c):new Float64Array(c)}catch(g){alert(c+" "+arguments.callee.caller.arguments.callee.caller+g)}}for(f=Array(e);0<=
--e;)f[e]=d[e+1];for(var j=Array(c),e=0;e<c;e++)j[e]=a.newArray(f,b);return j};a.newInt32Array=function(){return a.newArray32(arguments,!0)};a.newFloat64Array=function(){return a.newArray32(arguments,!1)};a.newFloatArray=a.newDoubleArray=a.newFloat64Array;a.newIntArray=a.newLongArray=a.newShortArray=a.newByteArray=a.newInt32Array;a.newCharArray=a.newBooleanArray=a.newArray;$_AI=a.newIntArray;$_AF=a.newFloatArray;$_AD=a.newDoubleArray;$_AL=a.newLongArray;$_AS=a.newShortArray;$_AB=a.newByteArray;$_AC=
a.newCharArray;$_Ab=a.newBooleanArray;a.arrayIs=function(a,b){return a.constructor&&a.constructor!=Number&&0<=a.constructor.toString().indexOf(b)};a.isAS=function(d){return d&&"object"==typeof d&&a.arrayIs(d," Array")&&("string"==typeof d[0]||"undefined"==typeof d[0])};a.isASS=function(d){return d&&"object"==typeof d&&a.isAS(d[0])};a.isAP=function(d){return d&&"J.util.Point3f"==a.getClassName(d[0])};a.isAI=function(d){return d&&"object"==typeof d&&(a.haveInt32?a.arrayIs(d,"Int32Array"):d.int32Fake?
!0:!1)};a.isAII=function(d){return d&&"object"==typeof d&&a.isAI(d[0])};a.isAF=function(d){return d&&"object"==typeof d&&(a.haveFloat64?a.arrayIs(d,"Float64Array"):d.float64Fake?!0:!1)};a.isAFF=function(d){return d&&"object"==typeof d&&a.isAF(d[0])};a.isAFFF=function(d){return d&&"object"==typeof d&&a.isAFF(d[0])};a.isAFloat=function(d){return d&&"object"==typeof d&&a.arrayIs(d," Array")&&a.instanceOf(d[0],Float)};a.makeFunction=function(a){return function(b){null==b&&(b=window.event);null!=a.setEvent&&
a.setEvent(b);a.run();if(1==a.returnSet)return a.returnNumber;if(2==a.returnSet)return a.returnBoolean;if(3==a.returnSet)return a.returnObject}};a.defineStatics=function(a){for(var b=0;b<(arguments.length-1)/2;b++){var c=arguments[b+b+1];a[c]=a.prototype[c]=arguments[b+b+2]}};a.prepareFields=function(d,b){var c=[];if(null!=d.con$truct)for(var e=d.con$truct.stacks,f=0;f<e.length;f++)c[f]=e[f];a.addProto(d.prototype,"con$truct",d.con$truct=function(){var a=arguments.callee.stacks;if(null!=a)for(var b=
0;b<a.length;b++)a[b].apply(this,[])});c[c.length]=b;d.con$truct.stacks=c;d.con$truct.index=0};a.registerSerializableFields=function(a){var b=arguments,c=b.length,e=[];if(null!=a.declared$Fields)for(var f=0;f<a.declared$Fields.length;f++)e[f]=a.declared$Fields[f];a.declared$Fields=e;if(0<c&&1==c%2){e=a.declared$Fields;for(f=1;f<=(c-1)/2;f++){for(var g={name:b[f+f-1],type:b[f+f]},j=!1,m=0;m<e.length;m++)if(e[m].name==g.name){e[m].type=g.type;j=!0;break}j||(e[e.length]=g)}}};a.getMixedCallerMethod=
function(d){var b={};d=d.callee.caller;if(null==d||d!==a.tryToSearchAndExecute&&(d=d.arguments.callee.caller,null==d)||d!==a.tryToSearchAndExecute)return null;d=d.arguments.callee.caller;if(null==d||d!==a.searchAndExecuteMethod)return null;b.claxxRef=d.arguments[1];b.fxName=d.arguments[2];b.paramTypes=a.getParamsType(d.arguments[3]);d=d.arguments.callee.caller;if(null==d)return null;d=d.arguments.callee.caller;if(null==d)return null;b.caller=d;return b};a.checkPrivateMethod=function(d){var b=a.getMixedCallerMethod(d);
if(null==b)return null;var c=b.claxxRef.prototype[b.caller.exName];if(null==c)return null;var e=null;if(null!=c.claxxOwner)e=c.claxxOwner.prototype[b.fxName];else for(var c=c.stacks,f=c.length-1;0<=f;f--){var g=c[f].prototype[b.caller.exName];if(g===b.caller)e=c[f].prototype[b.fxName];else if(null!=g)for(var j in g)if(0==j.indexOf("\\")&&g[j]===b.caller){e=c[f].prototype[b.fxName];break}if(null!=e)break}null!=e&&null==e.claxxOwner&&(e=e["\\"+b.paramTypes]);return null!=e&&e.isPrivate&&e!==d.callee?
e:null};c$=$fz=null;a.cla$$$tack=[];a.pu$h=function(){null!=c$&&(a.cla$$$tack[a.cla$$$tack.length]=c$)};a.p0p=function(){if(0<a.cla$$$tack.length){var d=a.cla$$$tack[a.cla$$$tack.length-1];a.cla$$$tack.length--;return d}return null};a.tracingCalling=!1;a.initializingException=!1;a.callingStack=function(a,b){this.caller=a;this.owner=b};a.callingStackTraces=[];a.pu$hCalling=function(d){a.callingStackTraces[a.callingStackTraces.length]=d};a.p0pCalling=function(){var d=a.callingStackTraces.length;return 0<
d?(d=a.callingStackTraces[d-1],a.callingStackTraces.length--,d):null};a.load=function(a,b,c,e){null!=e&&e();delete c$};java.lang.Object=JavaObject;JavaObject.getName=a.innerFunctions.getName;System={props:null,$props:{},arraycopy:function(a,b,c,e,f){if(a!==c)for(var g=0;g<f;g++)c[e+g]=a[b+g];else{for(var j=[],g=0;g<f;g++)j[g]=a[b+g];for(g=0;g<f;g++)c[e+g]=j[g]}},currentTimeMillis:function(){return(new Date).getTime()},gc:function(){},getProperties:function(){return System.props},getProperty:function(a,
b){if(System.props)return System.props.getProperty(a,b);var c=System.$props[a];return null!=c?c:1==arguments.length?null:null!=b?b:a},getSecurityManager:function(){return null},setProperties:function(a){System.props=a},setProperty:function(a,b){if(null==System.props)return System.$props[a]=b;System.props.setProperty(a,b)}};System.setProperty("line.separator",0<=navigator.userAgent.indexOf("Windows")?"\r\n":"\n");System.out=new JavaObject;System.out.__CLASS_NAME__="java.io.PrintStream";System.out.print=
function(){};System.out.printf=function(){};System.out.println=function(){};System.err=new JavaObject;System.err.__CLASS_NAME__="java.io.PrintStream";System.err.print=function(){};System.err.printf=function(){};System.err.println=function(){};a.popup=a.assert=a.log=a.error=window.alert;Thread=function(){};Thread.J2S_THREAD=Thread.prototype.J2S_THREAD=new Thread;Thread.currentThread=Thread.prototype.currentThread=function(){return this.J2S_THREAD};a.intCast=function(a){var b=(a&4278190080)>>24,c=(a&
16711680)>>16,e=(a&65280)>>8;a&=255;return 0!=(b&128)?-(((b&127)<<24)+(c<<16)+(e<<8)+a+1):(b<<24)+(c<<16)+(e<<8)+a};a.shortCast=function(){var a=(n&65280)>>8,b=n&255;return 0!=(a&128)?-(((a&127)<<8)+b+1):(a<<8)+b4};a.byteCast=function(a){return 0!=(a&128)?-((a&127)+1):a&255};a.charCast=function(a){return String.fromCharCode(a&255).charAt(0)};a.floatCast=function(a){return a};a.longMasks=[];a.longReverseMasks=[];a.longBits=[];g=[1];for(f=1;53>f;f++)g[f]=g[f-1]+g[f-1];a.longBits=g;a.longMasks[52]=g[52];
for(f=51;0<=f;f--)a.longMasks[f]=a.longMasks[f+1]+g[f];a.longReverseMasks[0]=g[0];for(f=1;52>f;f++)a.longReverseMasks[f]=a.longReverseMasks[f-1]+g[f];a.longLeftShift=function(d,b){if(0==b)return d;if(64<=b)return 0;if(52<b)return error("[Java2Script] Error : JavaScript does not support long shift!"),d;if(0!=(d&a.longMasks[b-1]))return error("[Java2Script] Error : Such shift operator results in wrong calculation!"),d;var c=d&a.longMasks[20+b];return 0!=c?c*a.longBits[b]+(d&a.longReverseMasks[32-b])<<
0:d<<b};a.intLeftShift=function(a,b){return a<<b&4294967295};a.longRightShift=function(d,b){return 0!=(d&a.longMasks[20])?Math.round((d&a.longMasks[20])/a.longBits[32-b])+(d&a.longReverseMasks[b])>>b:d>>b};a.intRightShift=function(a,b){return a>>b};a.long0RightShift=function(a,b){return a>>>b};a.int0RightShift=function(a,b){return a>>>b};$_L=a.load;$_W=a.declareAnonymous;$_T=a.declareType;$_J=a.declarePackage;$_C=a.decorateAsClass;$_Z=a.instantialize;$_I=a.declareInterface;$_D=a.isClassDefined;$_H=
a.pu$h;$_P=a.p0p;$_B=a.prepareCallback;$_N=a.innerTypeInstance;$_K=a.makeConstructor;$_U=a.superCall;$_R=a.superConstructor;$_M=a.defineMethod;$_V=a.overrideMethod;$_S=a.defineStatics;$_E=a.defineEnumConstant;$_F=a.cloneFinals;$_Y=a.prepareFields;$_A=a.newArray;$_O=a.instanceOf;$_G=a.inheritArgs;$_X=a.checkPrivateMethod;$_Q=a.makeFunction;$_s=a.registerSerializableFields;$_k=a.overrideConstructor;a.declarePackage("java.lang.reflect");a.declarePackage("java.security");a.innerFunctionNames=a.innerFunctionNames.concat("getSuperclass isAssignableFrom getMethods getMethod getDeclaredMethods getDeclaredMethod getConstructor getModifiers isArray newInstance".split(" "));
a.innerFunctions.getSuperclass=function(){return this.superClazz};a.innerFunctions.isAssignableFrom=function(c){return 0<=a.getInheritedLevel(c,this)};a.innerFunctions.getConstructor=function(){return new java.lang.reflect.Constructor(this,[],[],java.lang.reflect.Modifier.PUBLIC)};a.innerFunctions.getDeclaredMethods=a.innerFunctions.getMethods=function(){var a=[],b=this.prototype,c;for(c in b)"function"==typeof b[c]&&null==b[c].__CLASS_NAME__&&(a[a.length]=new java.lang.reflect.Method(this,c,[],java.lang.Void,
[],java.lang.reflect.Modifier.PUBLIC));b=this;for(c in b)"function"==typeof b[c]&&null==b[c].__CLASS_NAME__&&(a[a.length]=new java.lang.reflect.Method(this,c,[],java.lang.Void,[],java.lang.reflect.Modifier.PUBLIC|java.lang.reflect.Modifier.STATIC));return a};a.innerFunctions.getDeclaredMethod=a.innerFunctions.getMethod=function(a){var b=this.prototype,c;for(c in b)if(a==c&&"function"==typeof b[c]&&null==b[c].__CLASS_NAME__)return new java.lang.reflect.Method(this,c,[],java.lang.Void,[],java.lang.reflect.Modifier.PUBLIC);
b=this;for(c in b)if(a==c&&"function"==typeof b[c]&&null==b[c].__CLASS_NAME__)return new java.lang.reflect.Method(this,c,[],java.lang.Void,[],java.lang.reflect.Modifier.PUBLIC|java.lang.reflect.Modifier.STATIC);return null};a.innerFunctions.getModifiers=function(){return java.lang.reflect.Modifier.PUBLIC};a.innerFunctions.isArray=function(){return!1};a.innerFunctions.newInstance=function(){return new this};g=a.innerFunctionNames;for(f=0;f<g.length;f++)JavaObject[g[f]]=a.innerFunctions[g[f]],Array[g[f]]=
a.innerFunctions[g[f]];Array.isArray=function(){return!0};a.forName=function(c){if(a.isClassDefined(c))return a.evalType(c);if(null!=window.ClazzLoader)return ClazzLoader.setLoadingMode("xhr.sync"),ClazzLoader.loadClass(c),a.evalType(c);a.alert("[Java2Script] Error: No ClassLoader!")};a.cleanDelegateMethod=function(a){null!=a&&("function"==typeof a&&null!=a.lastMethod&&null!=a.lastParams&&null!=a.lastClaxxRef)&&(a.lastMethod=null,a.lastParams=null,a.lastClaxxRef=null)};a.unloadClass=function(c){var b=
a.evalType(c);if(null!=b){a.unloadedClasses[c]=b;for(var e=c.split(/\./),f=null,g=0;g<e.length-1;g++)f=null==f?a.allPackage[e[0]]:f[e[g]];if(null==f){a.allPackage[e[0]]=null;window[e[0]]=null;for(var h in window)0==h.indexOf(c+"$")&&(a.unloadClass(h),window[h]=null)}else for(h in f[e[e.length-1]]=null,f)0==h.indexOf(e[e.length-1]+"$")&&(a.unloadClass(f.__PKG_NAME__+"."+h),f[h]=null);if(!0==a.allClasses[c])for(h in a.allClasses[c]=!1,a.allClasses)0==h.indexOf(c+"$")&&(a.allClasses[h]=!1);for(var j in b)a.cleanDelegateMethod(b[j]);
for(j in b.prototype)a.cleanDelegateMethod(b.prototype[j]);null!=window.ClazzLoader&&ClazzLoader.unloadClassExt(c);return!0}return!1}}ClazzLoader=function(){};ClazzNode=function(){ClazzLoader.initNode(this)};(function(a,b,c){b.initNode=function(a){a.parents=[];a.musts=[];a.optionals=[];a.declaration=null;a.name=null;a.path=null;a.status=0;a.random=0.13412;a.optionalsLoaded=null};c.prototype.toString=function(){return this.name||this.path||"ClazzNode"};c.STATUS_UNKNOWN=0;c.STATUS_KNOWN=1;c.STATUS_CONTENT_LOADED=
2;c.STATUS_MUSTS_LOADED=3;c.STATUS_DECLARED=4;c.STATUS_OPTIONALS_LOADED=5;b.loaders=[];b.requireLoaderByBase=function(a){for(var c=0;c<b.loaders.length;c++)if(b.loaders[c].base==a)return b.loaders[c];c=new b;c.base=a;return b.loaders[b.loaders.length]=c};b.clazzTreeRoot=new c;b.loadedScripts={};b.inLoadingThreads=0;b.maxLoadingThreads=6;b.userAgent=navigator.userAgent.toLowerCase();b.isOpera=-1!=b.userAgent.indexOf("opera");b.isIE=-1!=b.userAgent.indexOf("msie")&&!b.isOpera;b.isGecko=-1!=b.userAgent.indexOf("gecko");
if(b.isOpera){b.maxLoadingThreads=1;var e=b.userAgent.indexOf("opera/");if(-1!=e){var f=9;try{f=parseFloat(b.userAgent.subString(e+6))}catch(g){}9.6<=f&&(b.maxLoadingThreads=6)}}null!=window.Clazz&&a.isClassDefined?b.isClassDefined=a.isClassDefined:(b.definedClasses={},b.isClassDefined=function(a){return!0==b.definedClasses[a]});b.isAsynchronousLoading=!0;b.isUsingXMLHttpRequest=!1;b.loadingTimeLag=-1;b.setLoadingMode=function(a,c){null!=a&&("string"==typeof a?(a=a.toLowerCase(),0==a.length||-1!=
a.indexOf("script")?(b.isUsingXMLHttpRequest=!1,b.isAsynchronousLoading=!0):(b.isUsingXMLHttpRequest=!0,b.isAsynchronousLoading=-1!=a.indexOf("async")?!0:!1),b.isAsynchronousLoading=!1):a==b.MODE_SCRIPT?(b.isUsingXMLHttpRequest=!1,b.isAsynchronousLoading=!0):(b.isUsingXMLHttpRequest=!0,b.isAsynchronousLoading=a==b.MODE_XHR_ASYNC?!0:!1));b.loadingTimeLag=b.isAsynchronousLoading&&0<=c?c:-1};b.MODE_SCRIPT=0;b.MODE_SCRIPT_ASYNC=0;b.MODE_XHR=3;b.MODE_XHR_SYNC=3;b.MODE_XHR_ASYNC=1;b.unwrapArray=function(a){if(null==
a||0==a.length)return a;for(var b=null,c=0;c<a.length;c++)if(null!=a[c]){if("$"==a[c].charAt(0))if("."==a[c].charAt(1)){if(null==b)continue;var d=b.lastIndexOf(".");-1!=d&&(b=b.substring(0,d),a[c]=b+a[c].substring(1))}else a[c]="org.eclipse.s"+a[c].substring(1);b=a[c]}return a};b.classQueue=[];b.classpathMap={};b.packageClasspath=function(a,c,d){var e=b.classpathMap,f=!0==d&&null!=e["@"+a];d&&(null==e["@java"]&&0!=a.indexOf("java"))&&b.assurePackageClasspath("java");if(a instanceof Array){b.unwrapArray(a);
for(e=0;e<a.length;e++)b.packageClasspath(a[e],c,d)}else{if("java"==a||"java.*"==a){var g="@net.sf.j2s.ajax";null==e[g]&&null!=c&&(e[g]=c);g="@net.sf.j2s";null==e[g]&&null!=c&&(e[g]=c)}else"swt"==a?a="org.eclipse.swt":"ajax"==a?a="net.sf.j2s.ajax":"j2s"==a&&(a="net.sf.j2s");a.lastIndexOf(".*")==a.length-2&&(a=a.substring(0,a.length-2));null!=c&&(e["@"+a]=c);!0==d&&(!0!=window[a+".registered"]&&!f)&&(b.pkgRefCount++,"java"==a&&(a="core"),b.loadClass(a+".package",function(){b.pkgRefCount--;0==b.pkgRefCount&&
b.runtimeLoaded()},!0))}};b.pkgRefCount=0;b.jarClasspath=function(a,c){c instanceof Array||(c=[classes]);b.unwrapArray(c);for(var d=0;d<c.length;d++)b.classpathMap["#"+c[d]]=a;b.classpathMap["$"+a]=c};b.registerPackages=function(c,e){b.checkInteractive();for(var f=b.getClasspathFor(c+".*",!0),g=0;g<e.length;g++)null!=window.Clazz&&a.declarePackage(c+"."+e[g]),b.packageClasspath(c+"."+e[g],f)};b.multipleSites=function(a){var c=window["j2s.update.delta"];if(null!=c&&c instanceof Array&&3<=c.length)for(var d=
null,e=null,f=0;f<c.length/3;f++){var g=c[f+f+f];"$"!=g&&(d=g);g=c[f+f+f+1];"$"!=g&&(e=g);var g=c[f+f+f+2],h=d+"/"+g,l=a.indexOf(h);if(-1!=l&&l==a.length-h.length){a=a.substring(0,l)+e+"/"+g;break}}c=a.length;if(1<b.maxLoadingThreads&&(15<c&&"http://archive."==a.substring(0,15)||9<c&&"http://a."==a.substring(0,9)))if(d=a.lastIndexOf("/"),d<c-3)return e=a.charCodeAt(d+1),f=a.charCodeAt(d+2),l=3*(c-d)+5*e+7*f,a.substring(0,7)+"aeiouy".split("")[l%6]+a.substring(8);return a};b.getClasspathFor=function(a,
c,d){var e=b.classpathMap["#"+a],f=null;if(null!=e){if(!c&&null==d)return b.multipleSites(e);var g=e.lastIndexOf(a.replace(/\./g,"/"));-1!=g?f=e.substring(0,g):(g=a.lastIndexOf("."),-1!=g&&(g=e.lastIndexOf(a.substring(0,g).replace(/\./g,"/")),-1!=g&&(f=e.substring(0,g))))}else for(g=a.lastIndexOf(".");-1!=g;){e=a.substring(0,g);f=b.classpathMap["@"+e];if(null!=f)break;g=a.lastIndexOf(".",g-2)}f=b.assureBase(f);if(c)return b.multipleSites(f);if(a.lastIndexOf(".*")==a.length-2)return a=f+a.substring(0,
g+1).replace(/\./g,"/"),b.multipleSites(a);null==d?d=".js":"."!=d.charAt(0)&&(d="."+d);a=f+a.replace(/\./g,"/")+d;return b.multipleSites(a)};b.assureBase=function(c){null==c&&(c=null!=window.Clazz&&null!=a.binaryFolders&&0!=a.binaryFolders.length?a.binaryFolders[0]:null!=b.binaryFolders&&0!=b.binaryFolders.length?b.binaryFolders[0]:"j2s");c.lastIndexOf("/")!=c.length-1&&(c+="/");return c};b.excludeClassMap={};b.ignore=function(){var a=null;1==arguments.length&&arguments[0]instanceof Array&&(a=arguments[0]);
if(null==a)for(var a=[],c=0;c<arguments.length;c++)a[a.length]=arguments[c];b.unwrapArray(a);for(c=0;c<a.length;c++)b.excludeClassMap["@"+a[c]]=!0};b.isClassExcluded=function(a){return!0==b.excludeClassMap["@"+a]};b.scriptLoading=function(){};b.scriptLoaded=function(){};b.scriptInited=function(){};b.scriptCompleted=function(){};b.classUnloaded=function(){};b.classReloaded=function(){};b.globalLoaded=function(){};b.keepOnLoading=!0;b.mapPath2ClassNode={};b.xhrOnload=function(c,e){if(400<=c.status||
null==c.responseText||0==c.responseText.length){a.alert("xhronload error"+c.responseText);var f=b.failedScripts;null==f[e]?(f[e]=1,b.loadedScripts[e]=!1,b.loadScript(e,"xhrOnload 2nd try")):(a.alert("[Java2Script] ClazzLoader.xhrOnload Error in loading "+e+"!"),b.tryToLoadNext(e))}else b.evaluate(e,c.responseText)};b.evaluate=function(c,e){try{eval(e)}catch(f){throw alert(f),a.alert("[Java2Script] Script error: "+f.message),f;}b.scriptLoaded(c);b.tryToLoadNext(c)};b.emptyOnRSC=function(){};b.failedScripts=
{};b.failedHandles={};b.takeAnotherTry=!0;b.generateRemovingFunction=function(a){return function(){if("interactive"!=a.readyState){try{null!=a.parentNode&&a.parentNode.removeChild(a)}catch(b){}a=null}}};b.removeScriptNode=function(a){window["j2s.script.debugging"]||window.setTimeout(b.generateRemovingFunction(a),1)};b.generatingXHROnload=function(a,c){return function(){b.xhrOnload(a,c);c=a=null}};b.generatingXHRCallback=function(a,c){return function(){if(4==a.readyState){0<b.inLoadingThreads&&b.inLoadingThreads--;
var d=b.generatingXHROnload(a,c);isActiveX?(a.onreadystatechange=b.emptyOnRSC,window.setTimeout(d,0>b.loadingTimeLag?0:b.loadingTimeLag)):(a.onreadystatechange=null,0<=b.loadingTimeLag?window.setTimeout(d,b.loadingTimeLag):b.xhrOnload(a,c));c=a=null}}};b.loadingNextByPath=function(a){0<=b.loadingTimeLag?window.setTimeout(function(){b.tryToLoadNext(a)},b.loadingTimeLag):b.tryToLoadNext(a)};b.ieToLoadScriptAgain=function(a,c){return window.setTimeout(function(){b.takeAnotherTry&&(b.failedScripts[a]=
0,b.loadedScripts[a]=!1,0<b.inLoadingThreads&&b.inLoadingThreads--,b.loadScript(a,"ietoloadscriptAgain"))},c?500:15E3)};b.w3cFailedLoadingTest=function(a){return window.setTimeout(function(){a.onerror();a=a.timeoutHandle=null},500)};b.generatingW3CScriptOnCallback=function(c,e){return function(){e&&a.debuggingBH&&a.alert("############ forError="+e+" path="+c+" ####"+(e?"NOT":"")+"LOADED###");b.isGecko&&null!=this.timeoutHandle&&(window.clearTimeout(this.timeoutHandle),this.timeoutHandle=null);0<b.inLoadingThreads&&
b.inLoadingThreads--;this.onerror=this.onload=null;if(e){var f=b.failedScripts;if(null==f[c]&&b.takeAnotherTry){f[c]=1;e||(b.innerLoadedScripts[this.src]=!1);b.loadedScripts[c]=!1;b.loadScript(c,"w3c script failed");b.removeScriptNode(this);return}e&&b.scriptLoaded(c)}else b.scriptLoaded(c);b.loadingNextByPath(c);b.removeScriptNode(this)}};b.generatingIEScriptOnCallback=function(c){return function(){var e=b.failedHandles,f=b.failedScripts,g=""+this.readyState,h="loading"==g&&(0==this.src.indexOf("file:")||
"file:"==window.location.protocol&&0!=this.src.indexOf("http"));if("loaded"!=g&&"complete"!=g){if(null==f[c]){e[c]=b.ieToLoadScriptAgain(c,h);return}if(1==f[c])return}null!=e[c]&&(window.clearTimeout(e[c]),e[c]=null);if((h||"loaded"==g)&&!b.innerLoadedScripts[this.src]){if(!h&&(null==f[c]||0==f[c])&&b.takeAnotherTry){0<b.inLoadingThreads&&b.inLoadingThreads--;f[c]=1;b.loadedScripts[c]=!1;b.loadScript(c,"local or loaded failed");b.removeScriptNode(this);return}a.alert("[Java2Script] generatingIEScriptOnCallback Error in loading "+
c+"!")}0<b.inLoadingThreads&&b.inLoadingThreads--;b.scriptLoaded(c);this.onreadystatechange=null;b.loadingNextByPath(c);b.removeScriptNode(this)}};a.transport=null;b.loadScript=function(c,e,f){a.currentPath=c;f=!0==f;if(b.loadedScripts[c]&&!f)b.tryToLoadNext(c);else{b.loadedScripts[c]=!0;for(var g=b.classQueue,h=0;h<g.length;h++)if(g[h]==c){for(var l=h;l<g.length-1;l++)g[h]=g[h+1];g.length--;break}System.out.println("loading... "+c+(e?" -- required by "+e:""));if(b.isUsingXMLHttpRequest)if(b.scriptLoading(c),
b.isAsynchronousLoading){if(!a.transport){if(window.XMLHttpRequest)a.transport=new XMLHttpRequest;else try{a.transport=new ActiveXObject("Msxml2.XMLHTTP")}catch(k){a.transport=new ActiveXObject("Microsoft.XMLHTTP")}if(null==a.transport){a.alert("[Java2Script] XMLHttpRequest not supported!");return}}f=a.transport;try{f.open("GET",c,b.isAsynchronousLoading)}catch(p){alert(p+" "+c)}f.onreadystatechange=b.generatingXHRCallback(f,c);b.inLoadingThreads++;try{f.send(null)}catch(q){a.alert("[Java2Script] Loading file error: "+
q.message),b.xhrOnload(f,c)}}else self.Jmol?f=Jmol._getFileData(c):(e=jQuery.ajax({type:"GET",dataType:"text",async:!1,url:c,cached:!0}),f=e.responseText,null==f&&e.state&&(f="alert('error loading file "+c+" state="+e.state()+"')")),b.evaluate(c,f);else if(e=document.createElement("SCRIPT"),e.type="text/javascript",e.src=b.isChrome&&b.reloadingClasses[c]?c+"?"+Math.floor(1E5*Math.random()):c,g=document.getElementsByTagName("HEAD")[0],f)g.appendChild(e);else{e.defer=!0;if("undefined"==typeof e.onreadystatechange||
!b.isIE){if(b.isGecko&&(0==c.indexOf("file:")||"file:"==window.location.protocol&&0!=c.indexOf("http")))e.timeoutHandle=b.w3cFailedLoadingTest(e);e.onload=b.generatingW3CScriptOnCallback(c,!1);e.onerror=b.generatingW3CScriptOnCallback(c,!0);b.isOpera&&(b.needOnloadCheck=!0)}else b.needOnloadCheck=!0,e.onreadystatechange=b.generatingIEScriptOnCallback(c);b.inLoadingThreads++;g.appendChild(e);b.scriptLoading(c)}}};b.isResourceExisted=function(a,b,c){if(null!=a&&null!=document.getElementById(a))return!0;
if(null!=b){var d=b;null!=c&&0==b.indexOf(c)&&(d=b.substring(c.length));if(b.lastIndexOf(".css")==b.length-4){var e=document.getElementsByTagName("LINK");for(b=0;b<e.length;b++){var f=e[b].href;c=f.lastIndexOf(d);if(-1!=c&&c==f.length-d.length)return!0}if(!0==window["css."+a])return!0}else if(b.lastIndexOf(".js")==b.length-4){a=document.getElementsByTagName("SCRIPT");for(b=0;b<a.length;b++)if(e=a[b].src,c=e.lastIndexOf(d),-1!=c&&c==e.length-d.length)return!0}}return!1};b.queueBe4SWT=[];b.lockQueueBe4SWT=
!0;b.isLoadingEntryClass=!0;b.besidesJavaPackage=!1;b.tryToLoadNext=function(a){if(b.lockQueueBe4SWT&&0!=b.pkgRefCount&&a.lastIndexOf("package.js")!=a.length-10&&!b.isOpera){var d=b.queueBe4SWT;d[d.length]=a}else{var e=b.mapPath2ClassNode["@"+a];if(null!=e){var f=b.classpathMap["$"+a];if(null!=f)for(a=0;a<f.length;a++){var g=f[a];if(g!=e.name)if(d=b.findClass(g),null!=d)d.status<c.STATUS_CONTENT_LOADED&&(d.status=c.STATUS_CONTENT_LOADED,b.updateNode(d));else{d=new c;d.name=g;var h=b.classpathMap["#"+
g];null==h&&(alert(g),error("Java2Script implementation error! Please report this bug!"));d.path=h;b.mappingPathNameNode(d.path,g,d);d.status=c.STATUS_CONTENT_LOADED;b.addChildClassNode(b.clazzTreeRoot,d,-1);b.updateNode(d)}}if(e instanceof Array)for(a=0;a<e.length;a++)e[a].status<c.STATUS_CONTENT_LOADED&&(e[a].status=c.STATUS_CONTENT_LOADED,b.updateNode(e[a]));else if(e.status<c.STATUS_CONTENT_LOADED){d=!1;f=document.getElementsByTagName("SCRIPT");for(a=0;a<f.length;a++)if(b.isIE){if(null!=f[a].onreadystatechange&&
f[a].onreadystatechange.path==e.path&&"interactive"==f[a].readyState){d=!0;break}}else if(null!=f[a].onload&&f[a].onload.path==e.path){d=!0;break}d||(e.status=c.STATUS_CONTENT_LOADED,b.updateNode(e))}if(b.keepOnLoading){e=!1;d=b.findNextMustClass(b.clazzTreeRoot,c.STATUS_KNOWN);if(null!=d)for(b.loadClassNode(d);b.inLoadingThreads<b.maxLoadingThreads;){a=b.findNextMustClass(b.clazzTreeRoot,c.STATUS_KNOWN);if(null==a)break;b.loadClassNode(a)}else if(f=b.classQueue,0!=f.length){d=f[0];for(a=0;a<f.length-
1;a++)f[a]=f[a+1];f.length--;!b.loadedScripts[d.path]||0!=f.length||!b.isLoadingEntryClass||null!=d.musts&&0!=d.musts.length||null!=d.optionals&&0!=d.optionals.length?(b.addChildClassNode(b.clazzTreeRoot,d,1),b.loadScript(d.path,d.requiredBy)):b.isLoadingEntryClass&&(b.isLoadingEntryClass=!1)}else if(d=b.findNextOptionalClass(c.STATUS_KNOWN),null!=d)for(b.loadClassNode(d);b.inLoadingThreads<b.maxLoadingThreads;){a=b.findNextOptionalClass(c.STATUS_KNOWN);if(null==a)break;b.loadClassNode(a)}else e=
!0;if(e&&0==b.inLoadingThreads){for(;null!=(d=b.findNextMustClass(b.clazzTreeRoot,c.STATUS_CONTENT_LOADED));)b.updateNode(d);for(a=null;null!=(d=b.findNextOptionalClass(c.STATUS_CONTENT_LOADED));)a===d&&(d.status=c.STATUS_OPTIONALS_LOADED),b.updateNode(d),a=d;for(;!(b.tracks=[],!b.checkOptionalCycle(b.clazzTreeRoot)););for(a=null;null!=(d=b.findNextMustClass(b.clazzTreeRoot,c.STATUS_DECLARED))&&a!==d;)b.updateNode(d),a=d;for(a=null;null!=(d=b.findNextOptionalClass(c.STATUS_DECLARED))&&a!==d;)b.updateNode(d),
a=d;for(e=[];null!=(d=b.findNextMustClass(b.clazzTreeRoot,c.STATUS_DECLARED));)e[e.length]=d,d.status=c.STATUS_OPTIONALS_LOADED;for(;null!=(d=b.findNextOptionalClass(c.STATUS_DECLARED));)e[e.length]=d,d.status=c.STATUS_OPTIONALS_LOADED;for(a=0;a<e.length;a++)b.destroyClassNode(e[a]);for(a=0;a<e.length;a++)d=e[a].optionalsLoaded,null!=d&&(e[a].optionalsLoaded=null,d());b.globalLoaded()}}}}};b.tracks=[];b.checkOptionalCycle=function(a){for(var d=b.tracks,e=d.length,f=-1,g=0;g<d.length;g++)if(d[g]===
a&&d[g].status>=c.STATUS_DECLARED){f=g;break}d[d.length]=a;if(-1!=f){for(g=f;g<d.length;g++){d[g].status=c.STATUS_OPTIONALS_LOADED;b.destroyClassNode(d[g]);for(a=0;a<d[g].parents.length;a++)b.updateNode(d[g].parents[a]);d[g].parents=[];a=d[g].optionalsLoaded;null!=a&&(d[g].optionalsLoaded=null,a())}d.length=0;return!0}for(g=0;g<a.musts.length;g++)if(a.musts[g].status==c.STATUS_DECLARED&&b.checkOptionalCycle(a.musts[g]))return!0;for(g=0;g<a.optionals.length;g++)if(a.optionals[g].status==c.STATUS_DECLARED&&
b.checkOptionalCycle(a.optionals[g]))return!0;d.length=e;return!1};b.updateNode=function(a){if(null==a.name||a.status>=c.STATUS_OPTIONALS_LOADED)b.destroyClassNode(a);else{var d=!1;if(null==a.musts||0==a.musts.length||null==a.declaration)d=!0;else for(var d=!0,e=a.musts.length,f=e-1;0<=f;f--){var g=a.musts[f];g.requiredBy=a;if(g.status<c.STATUS_DECLARED){if(b.isClassDefined(g.name)){var h=[];g.status=c.STATUS_OPTIONALS_LOADED;b.destroyClassNode(g);if(null!=g.declaration&&null!=g.declaration.clazzList){for(var k=
g.declaration.clazzList,p=0;p<k.length;p++){var q=b.findClass(k[p]);q.status!=c.STATUS_OPTIONALS_LOADED&&q!==g&&(q.status=g.status,q.declaration=null,b.destroyClassNode(q),null!=q.optionalsLoaded&&(h[h.length]=q))}g.declaration=null}null!=g.optionalsLoaded&&(h[h.length]=g);for(p=0;p<h.length;p++)g=h[p].optionalsLoaded,null!=g&&(h[p].optionalsLoaded=null,g())}else g.status==c.STATUS_CONTENT_LOADED&&b.updateNode(g),g.status<c.STATUS_DECLARED&&(d=!1);a.musts.length!=e&&(f=e=a.musts.length,d=!0)}}if(d){if(a.status<
c.STATUS_DECLARED&&(f=a.declaration,null!=f&&(!1==f.executed?(f(),f.executed=!0):f()),a.status=c.STATUS_DECLARED,null!=b.definedClasses&&(b.definedClasses[a.name]=!0),b.scriptInited(a.path),null!=a.declaration&&null!=a.declaration.clazzList)){k=a.declaration.clazzList;for(p=0;p<k.length;p++)q=b.findClass(k[p]),q.status!=c.STATUS_DECLARED&&q!==a&&(q.status=c.STATUS_DECLARED,null!=b.definedClasses&&(b.definedClasses[q.name]=!0),b.scriptInited(q.path))}d=c.STATUS_DECLARED;k=!1;if((null==a.optionals||
0==a.optionals.length)&&(null==a.musts||0==a.musts.length)||a.status>c.STATUS_KNOWN&&null==a.declaration)k=!0;else{k=!0;for(f=0;f<a.musts.length;f++)if(g=a.musts[f],g.status<c.STATUS_OPTIONALS_LOADED){k=!1;break}if(k)for(f=0;f<a.optionals.length;f++)if(g=a.optionals[f],g.status<c.STATUS_OPTIONALS_LOADED){k=!1;break}}if(k){d=c.STATUS_OPTIONALS_LOADED;a.status=d;b.scriptCompleted(a.path);g=a.optionalsLoaded;if(null!=g&&(a.optionalsLoaded=null,g(),!b.keepOnLoading))return!1;b.destroyClassNode(a);if(null!=
a.declaration&&null!=a.declaration.clazzList){k=a.declaration.clazzList;for(p=0;p<k.length;p++)if(q=b.findClass(k[p]),q.status!=d&&q!==a){q.status=d;q.declaration=null;b.scriptCompleted(q.path);g=q.optionalsLoaded;if(null!=g&&(q.optionalsLoaded=null,g(),!b.keepOnLoading))return!1;b.destroyClassNode(a)}}}b.updateParents(a,d)}}};b.updateParents=function(a,d){if(!(null==a.parents||0==a.parents.length)){for(var e=0;e<a.parents.length;e++){var f=a.parents[e];f.status>=d||b.updateNode(f)}d==c.STATUS_OPTIONALS_LOADED&&
(a.parents=[])}};b.findNextMustClass=function(a,d){if(null!=a){if(null!=a.musts&&0!=a.musts.length)for(var e=0;e<a.musts.length;e++){var f=a.musts[e];if(f.status==d&&(d!=c.STATUS_KNOWN||!0!=b.loadedScripts[f.path])&&(d==c.STATUS_DECLARED||!b.isClassDefined(f.name)))return f;f=b.findNextMustClass(f,d);if(null!=f)return f}if(a.status==d&&(d!=c.STATUS_KNOWN||!0!=b.loadedScripts[a.path])&&(d==c.STATUS_DECLARED||!b.isClassDefined(a.name)))return a}return null};b.usedRandoms={};b.usedRandoms["r0.13412"]=
0.13412;b.findNextOptionalClass=function(a){for(var c=0;;){var c=Math.random(),d="r"+c;if(b.usedRandoms[d]!=c){b.usedRandoms[d]=c;break}}b.clazzTreeRoot.random=c;return b.findNodeNextOptionalClass(b.clazzTreeRoot,a)};b.findNodeNextOptionalClass=function(a,d){var e=b.clazzTreeRoot.random;if(null!=a.musts&&0!=a.musts.length){var f=b.searchClassArray(a.musts,e,d);if(null!=f&&(d!=c.STATUS_KNOWN||!0!=b.loadedScripts[f.path])&&(d==c.STATUS_DECLARED||!b.isClassDefined(f.name)))return f}return null!=a.optionals&&
0!=a.optionals.length&&(f=b.searchClassArray(a.optionals,e,d),null!=f&&(d!=c.STATUS_KNOWN||!0!=b.loadedScripts[f.path])&&(d==c.STATUS_DECLARED||!b.isClassDefined(f.name)))?f:a.status==d&&(d!=c.STATUS_KNOWN||!0!=b.loadedScripts[a.path])&&(d==c.STATUS_DECLARED||!b.isClassDefined(a.name))?a:null};b.searchClassArray=function(a,d,e){for(var f=0;f<a.length;f++){var g=a[f];if(g.status==e&&(e!=c.STATUS_KNOWN||!0!=b.loadedScripts[g.path])&&(e==c.STATUS_DECLARED||!b.isClassDefined(g.name))||g.random!=d&&(g.random=
d,g=b.findNodeNextOptionalClass(g,e),null!=g))return g}return null};b.innerLoadedScripts={};b.interactiveScript=null;b.needOnloadCheck=!1;b.checkInteractive=function(){if(b.needOnloadCheck){var a=b.interactiveScript;if(!(null!=a&&"interactive"==a.readyState)){b.interactiveScript=null;for(var a=document.getElementsByTagName("SCRIPT"),c=0;c<a.length;c++)"interactive"==a[c].readyState&&null!=a[c].onreadystatechange?(b.interactiveScript=a[c],b.innerLoadedScripts[a[c].src]=!0):b.isOpera&&"loaded"==a[c].readyState&&
(null!=a[c].src&&0!=a[c].src.length)&&(b.innerLoadedScripts[a[c].src]=!0)}}};b.load=function(a,d,e,f){b.checkInteractive();if(d instanceof Array){b.unwrapArray(d);for(var g=0;g<d.length;g++)b.load(a,d[g],e,f,d)}else{"$"==d.charAt(0)&&(d="org.eclipse.s"+d.substring(1));var h=b.mapPath2ClassNode["#"+d];if(null==h){var k=b.findClass(d),h=null!=k?k:new c;h.name=d;g=b.classpathMap["#"+d];null==g&&(g="unknown");h.path=g;b.mappingPathNameNode(h.path,d,h);h.status=c.STATUS_KNOWN;b.addChildClassNode(b.clazzTreeRoot,
h,-1)}if(null!=a&&0!=a.length){b.unwrapArray(a);for(g=0;g<a.length;g++)if(k=a[g],!(null==k||0==k.length)&&!b.isClassDefined(k)&&!b.isClassExcluded(k))k=b.findClass(k),null==k&&(k=new c,k.name=a[g],k.status=c.STATUS_KNOWN),k.requiredBy=h,b.addChildClassNode(h,k,1)}5==arguments.length&&null!=f&&(f.status=h.status,f.clazzList=arguments[4]);h.declaration=f;null!=f&&(h.status=c.STATUS_CONTENT_LOADED);if(null!=e&&0!=e.length){b.unwrapArray(e);for(g=0;g<e.length;g++)if(k=e[g],!(null==k||0==k.length)&&!b.isClassDefined(k)&&
!b.isClassExcluded(k))k=b.findClass(k),null==k&&(k=new c,k.name=e[g],k.status=c.STATUS_KNOWN),b.addChildClassNode(h,k,-1)}}};null!=window.Clazz&&(a.load=b.load,null!=window.$_L&&($_L=a.load));b.findClass=function(a){for(var c=0;;){var c=Math.random(),d="r"+c;if(b.usedRandoms[d]!=c){b.usedRandoms[d]=c;break}}b.clazzTreeRoot.random=c;return b.findClassUnderNode(a,b.clazzTreeRoot)};b.findClassUnderNode=function(a,c){var d=b.clazzTreeRoot.random;if(c.name==a)return c;for(var e=0;e<c.musts.length;e++){var f=
c.musts[e];if(f.name==a||f.random!=d&&(f.random=d,f=b.findClassUnderNode(a,f),null!=f))return f}for(e=0;e<c.optionals.length;e++)if(f=c.optionals[e],f.name==a||f.random!=d&&(f.random=d,f=b.findClassUnderNode(a,f),null!=f))return f;return null};b.mappingPathNameNode=function(a,c,d){var e=b.mapPath2ClassNode,f="@"+a;a=e[f];if(null!=a)if(a instanceof Array){for(var f=!1,g=0;g<a.length;g++)if(a[g].name==c){f=!0;break}f||(a[a.length]=d)}else g=[],g[0]=a,g[1]=d,e[f]=g;else e[f]=d;e["#"+c]=d};b.loadClassNode=
function(a){var c=a.name;if(!b.isClassDefined(c)&&!b.isClassExcluded(c)){var d=b.getClasspathFor(c);a.path=d;b.mappingPathNameNode(d,c,a);if(!b.loadedScripts[d])return b.loadScript(d,a.requiredBy),!0}return!1};b.runtimeKeyClass="java.lang.String";b.queueBe4KeyClazz=[];b.getJ2SLibBase=function(){var a=window["j2s.lib"];if(null!=a)return null==a.base&&(a.base="http://archive.java2script.org/"),a.base+("."==a.alias?"":(a.alias?a.alias:a.version?a.version:"1.0.0")+"/");for(var a=document.getElementsByTagName("SCRIPT"),
c=0;c<a.length;c++){var d=a[c].src,e=d.indexOf("j2slib.z.js");if(-1!=e)return d.substring(0,e);e=d.indexOf("j2slibcore.z.js");if(-1!=e)return d.substring(0,e);e=b.classpathMap["@java"];if(null!=e)return e;e=d.indexOf("java/lang/ClassLoader.js");if(-1!=e)return d.substring(0,e)}return null};b.J2SLibBase=null;b.fastGetJ2SLibBase=function(){null==b.J2SLibBase&&(b.J2SLibBase=b.getJ2SLibBase());return b.J2SLibBase};b.assurePackageClasspath=function(a){var c=window[a+".registered"];!1!=c&&(!0!=c&&null==
b.classpathMap["@"+a])&&(window[a+".registered"]=!1,c=b.fastGetJ2SLibBase(),null==c&&(c="j2s"),b.packageClasspath(a,c,!0))};b.loadClass=function(e,f,g,h){if("boolean"==typeof f)return a.evalType(e);b.assurePackageClasspath("java");b.assurePackageClasspath("core");(0==e.indexOf("org.eclipse.swt")||0==e.indexOf("$wt"))&&b.assurePackageClasspath("org.eclipse.swt");0==e.indexOf("junit")&&b.assurePackageClasspath("junit");b.keepOnLoading=!0;if(!g&&(0!=b.pkgRefCount&&e.lastIndexOf(".package")!=e.length-
8||!b.isClassDefined(b.runtimeKeyClass)&&0!=e.indexOf("java.")))h=b.queueBe4KeyClazz,h[h.length]=[e,f];else if(!b.isClassDefined(e)&&!b.isClassExcluded(e)){var k=b.getClasspathFor(e),p=b.loadedScripts[k];h=b.classQueue;if(!p)for(g=h.length-1;0<=g;g--)if(h[g].path==k||h[g].name==e)p=!0;if(p){if(null!=f&&(p=b.findClass(e),null!=p))if(null==p.optionalsLoaded)p.optionalsLoaded=f;else if(f!=p.optionalsLoaded){var q=p.optionalsLoaded;p.optionalsLoaded=function(){q();f()}}}else{p=null;null!=a.unloadedClasses[e]&&
(p=b.findClass(e));null==p&&(p=new c);p.name=e;p.path=k;b.mappingPathNameNode(k,e,p);p.optionalsLoaded=f;p.status=c.STATUS_KNOWN;var v=!1;for(g=h.length-1;0<=g;g--)if(h[g].status!=c.STATUS_OPTIONALS_LOADED){v=!0;break}if(k.lastIndexOf("package.js")==k.length-10){k=!1;for(g=h.length-1;0<=g;g--){e=h[g].name;if(e.lastIndexOf("package.js")==e.length-10){h[g+1]=p;k=!0;break}h[g+1]=h[g]}k||(h[0]=p)}else v&&(h[h.length]=p);v||(e=!1,null!=f&&(e=b.isLoadingEntryClass,b.isLoadingEntryClass=!0),b.addChildClassNode(b.clazzTreeRoot,
p,1),b.loadScript(p.path),null!=f&&(b.isLoadingEntryClass=e))}}else if(null!=f&&b.isClassDefined(e)&&(e=b.findClass(e),null==e||e.status>=c.STATUS_OPTIONALS_LOADED))h?window.setTimeout(f,25):f()};b.loadJ2SApp=function(c,e,f){if(null!=c){var g=c;"$"==c.charAt(0)&&(g="org.eclipse.s"+c.substring(1));var h=-1;if(-1!=(h=g.indexOf("@")))c=g.substring(h+1),b.setPrimaryFolder(c),g=g.substring(0,h),h=g.lastIndexOf("."),-1!=h&&(h=g.substring(0,h),b.packageClasspath(h,c));if(null==e||!(e instanceof Array))e=
[];if(null==f){var l=g,k=e;f=function(){a.evalType(l).main(k)}}else f=f(g,e);b.loadClass(g,f)}};b.loadJUnit=function(c,e){b.loadJ2SApp(c,e,function(c){return function(){b.loadClass("junit.textui.TestRunner",function(){junit.textui.TestRunner.run(a.evalType(c))})}})};b.runtimeLoaded=function(){if(0==b.pkgRefCount&&b.isClassDefined(b.runtimeKeyClass)){for(var a=b.queueBe4KeyClazz,c=0;c<a.length;c++)b.loadClass(a[c][0],a[c][1]);b.queueBe4KeyClazz=[]}};b.loadZJar=function(a,c){var d=c,e=c instanceof Array;
e&&(d=c[c.length-1]);b.jarClasspath(a,e?c:[c]);c==b.runtimeKeyClass?b.loadClass(d,b.runtimeLoaded,!0):b.loadClass(d,null,!0)};b._nodeMap={};b._allNodes=[];b.addChildClassNode=function(a,c,d){var e=!1,f=null;1==d?(f=a.musts,c.requiredBy||(c.requiredBy=a),a.requires||(a.requires=[],a.requiresMap={}),a.requiresMap[c.name]||(a.requiresMap[c.name]=c,a.requires.push[c])):f=a.optionals;b._nodeMap[c.name]||(b._allNodes.push(c),b._nodeMap[c.name]=c);for(d=0;d<f.length;d++)if(f[d].name==c.name){e=!0;break}if(!e){f[f.length]=
c;if(0==c.name.indexOf("org.eclipse.swt")||0==c.name.indexOf("$wt"))window["swt.lazy.loading.callback"]=b.swtLazyLoading,b.assurePackageClasspath("org.eclipse.swt");b.isLoadingEntryClass&&(0!=c.name.indexOf("java")&&0!=c.name.indexOf("net.sf.j2s.ajax"))&&(b.besidesJavaPackage&&(b.isLoadingEntryClass=!1),b.besidesJavaPackage=!0)}e=!1;for(d=0;d<c.parents.length;d++)if(c.parents[d].name==a.name){e=!0;break}!e&&(null!=a.name&&a!=b.clazzTreeRoot&&a!=c)&&(c.parents[c.parents.length]=a)};b.swtLazyLoading=
function(){b.lockQueueBe4SWT=!1;for(var a=b.queueBe4SWT,c=0;c<a.length;c++)b.tryToLoadNext(a[c]);b.queueBe4SWT=[]};b.removeFromArray=function(a,b){if(null==b||null==a)return!1;for(var c=0,d=0;d<b.length;d++)b[d]!==a&&(c<d&&(b[c]=b[d]),c++);b.length=c;return!1};b.destroyClassNode=function(a){var c=a.parents;if(null!=c)for(var d=0;d<c.length;d++)b.removeFromArray(a,c[d].musts)||b.removeFromArray(a,c[d].optionals)};b.unloadClassExt=function(a){null!=b.definedClasses&&(b.definedClasses[a]=!1);if(null!=
b.classpathMap["#"+a]){var d=b.classpathMap["#"+a];b.classpathMap["#"+a]=null;for(var e=b.classpathMap["$"+d],f=!1,g=0;g<e.length;g++)if(e[g]==a){for(f=g;f<e.length-1;f++)e[f]=e[f+1];e.length--;f=!0;break}f&&(b.classpathMap["$"+d]=e)}d=b.findClass(a);null!=d&&(d.status=c.STATUS_KNOWN,b.loadedScripts[d.path]=!1);d=b.getClasspathFor(a);b.loadedScripts[d]=!1;b.innerLoadedScripts[d]&&(b.innerLoadedScripts[d]=!1);b.classUnloaded(a)};b.assureInnerClass=function(b,c){var e=b.__CLASS_NAME__;if(a.unloadedClasses[e]&&
-1==e.indexOf("$")){var f=[],e=e+"$",g;for(g in a.unloadedClasses)null!=a.unloadedClasses[g]&&0==g.indexOf(e)&&(f[f.length]=g);if(0!=f.length&&(f=""+c,g=f.indexOf(e),-1!=g)){var h=f.indexOf('"',g+e.length);-1!=h&&(e=f.substring(g,h),null!=a.unloadedClasses[e]&&(g=f.indexOf("{",h),-1!=g&&(g++,h=f.indexOf("("+e+",",g+3),-1!=h&&(h=f.lastIndexOf("}",h-1),-1!=h&&(f=f.substring(g,h),eval(f),a.unloadedClasses[e]=null)))))}}};ClassLoader=b})(a,ClazzLoader,ClazzNode);var e=ClazzLoaderProgressMonitor;e.fadeOutTimer=
null;e.fadeAlpha=0;e.monitorEl=null;e.lastScrollTop=0;e.bindingParent=null;e.DEFAULT_OPACITY=self.Jmol&&Jmol._j2sLoadMonitorOpacity?Jmol._j2sLoadMonitorOpacity:55;e.clearChildren=function(a){if(null!=a)for(var b=a.childNodes.length-1;0<=b;b--){var c=a.childNodes[b];if(null!=c){null!=c.childNodes&&0!=c.childNodes.length&&this.clearChildren(c);try{a.removeChild(c)}catch(e){}}}};e.setAlpha=function(a){null!=this.fadeOutTimer&&a==this.DEFAULT_OPACITY&&(window.clearTimeout(this.fadeOutTimer),this.fadeOutTimer=
null);this.fadeAlpha=a;navigator.userAgent.toLowerCase();this.monitorEl.style.filter="Alpha(Opacity="+a+")";this.monitorEl.style.opacity=a/100};e.hiddingOnMouseOver=function(){this.style.display="none"};e.attached=!1;e.cleanup=function(){var a=ClassLoaderProgressMonitor;a.monitorEl=null;a.bindingParent=null;a.attached=!1};e.createHandle=function(){var a=document.createElement("DIV");a.id="clazzloader-status";a.style.cssText="position:absolute;bottom:4px;left:4px;padding:2px 8px;z-index:"+(window["j2s.lib"].monitorZIndex||
3333)+";background-color:#8e0000;color:yellow;font-family:Arial, sans-serif;font-size:10pt;white-space:nowrap;";a.onmouseover=this.hiddingOnMouseOver;this.monitorEl=a;null==this.bindingParent?document.body.appendChild(a):this.bindingParent.appendChild(a);return a};e.fadeOut=function(){"none"!=this.monitorEl.style.display&&(this.fadeAlpha==this.DEFAULT_OPACITY?(this.fadeOutTimer=window.setTimeout(function(){ClassLoaderProgressMonitor.fadeOut()},750),this.fadeAlpha-=5):0<=this.fadeAlpha-10?(this.setAlpha(this.fadeAlpha-
10),this.fadeOutTimer=window.setTimeout(function(){ClassLoaderProgressMonitor.fadeOut()},40)):this.monitorEl.style.display="none")};e.getFixedOffsetTop=function(){if(null!=this.bindingParent){var a=this.bindingParent;return a.scrollTop}var b=navigator.userAgent,a=document.body,c=a.parentNode,e=c.clientHeight,a=a.scrollTop+a.offsetTop,f=c.scrollTop+c.offsetTop;return-1==b.indexOf("Opera")&&document.all?0==e?a:f:-1!=b.indexOf("Gecko")?e==c.offsetHeight&&e==c.scrollHeight?a:f:a};e.showStatus=function(a,
b){null==this.monitorEl&&(this.createHandle(),this.attached||(this.attached=!0));this.clearChildren(this.monitorEl);this.monitorEl.appendChild(document.createTextNode(""+a));"none"==this.monitorEl.style.display&&(this.monitorEl.style.display="");this.setAlpha(this.DEFAULT_OPACITY);var c=this.getFixedOffsetTop();this.lastScrollTop!=c&&(this.lastScrollTop=c,this.monitorEl.style.bottom=this.lastScrollTop+4+"px");b&&this.fadeOut()};null!=window.ClazzLoader&&(ClazzLoader.scriptLoading=function(a){e.showStatus("Loading "+
a+"...")},ClazzLoader.scriptLoaded=function(a){e.showStatus(a+" loaded.",!0)},ClazzLoader.globalLoaded=function(){e.showStatus("Application loaded.",!0)},ClazzLoader.classUnloaded=function(a){e.showStatus("Class "+a+" is unloaded.",!0)},ClazzLoader.classReloaded=function(a){e.showStatus("Class "+a+" is reloaded.",!0)},g=navigator.userAgent.toLowerCase(),-1!=g.indexOf("msie")&&-1==g.indexOf("opera")&&ClazzLoader.setLoadingMode("script",5));var h=a.Console;h.maxTotalLines=1E4;h.setMaxTotalLines=function(a){h.maxTotalLines=
0>=a?999999:a};h.maxLatency=40;h.setMaxLatency=function(a){h.maxLatency=0>=a?40:a};h.pinning=!1;h.enablePinning=function(a){h.pinning=a};h.linesCount=0;h.metLineBreak=!1;h.splitNeedFixed=2!="\n".split(/\n/).length;h.splitIntoLineByR=function(a){for(var b=[],c=0,e=-1;;)if(c=a.indexOf("\r",e+1),-1!=c){if(b[b.length]=a.substring(e+1,c),e=c,e+1==a.length){b[b.length]="";break}}else{b[b.length]=a.substring(e+1);break}return b};h.splitIntoLines=function(a){var b=[];if(null==a)return b;for(var c=0,e=-1;;){var c=
a.indexOf("\n",e+1),f=null;-1!=c?(f=0<c&&"\r"==a.charAt(c-1)?a.substring(e+1,c-1):a.substring(e+1,c),e=c):f=a.substring(e+1);for(var f=h.splitIntoLineByR(f),g=0;g<f.length;g++)b[b.length]=f[g];if(-1==c)break;else if(e+1==a.length){b[b.length]="";break}}return b};h.createConsoleWindow=function(){var a=document.createElement("DIV");a.style.cssText="font-family:monospace, Arial, sans-serif;";document.body.appendChild(a);return a};h.consoleOutput=function(a,b){var c=window["j2s.lib"];(c=c&&c.console)&&
"string"==typeof c&&(c=document.getElementById(c));if(!c)return!1;if(h.linesCount>h.maxTotalLines){for(var e=0;e<h.linesCount-h.maxTotalLines;e++)null!=c&&0<c.childNodes.length&&c.removeChild(c.childNodes[0]);h.linesCount=h.maxTotalLines}var f=!1;a="undefined"==typeof a?"":null==a?"null":""+a;0<a.length&&(e=a.charAt(a.length-1),"\n"==e?(a=1<a.length?"\r"==a.charAt(a.length-2)?a.substring(0,a.length-2):a.substring(0,a.length-1):"",f=!0):"\r"==e&&(a=a.substring(0,a.length-1),f=!0));var g=null;a=a.replace(/\t/g,
h.c160);if(h.splitNeedFixed)try{g=h.splitIntoLines(a)}catch(j){window.popup(j.message)}else g=a.split(/\r\n|\r|\n/g);for(e=0;e<g.length;e++){var m=null;if(h.metLineBreak||0==h.linesCount||1>c.childNodes.length)m=document.createElement("DIV"),c.appendChild(m),m.style.whiteSpace="nowrap",h.linesCount++;else try{m=c.childNodes[c.childNodes.length-1]}catch(r){m=document.createElement("DIV"),c.appendChild(m),m.style.whiteSpace="nowrap",h.linesCount++}var s=document.createElement("SPAN");m.appendChild(s);
s.style.whiteSpace="nowrap";null!=b&&(s.style.color=b);0==g[e].length&&(g[e]=String.fromCharCode(160));s.appendChild(document.createTextNode(g[e]));h.pinning||(c.scrollTop+=100);h.metLineBreak=e!=g.length-1?!0:f}f=c.parentNode.className;!h.pinning&&(null!=f&&-1!=f.indexOf("composite"))&&(c.parentNode.scrollTop=c.parentNode.scrollHeight);h.lastOutputTime=(new Date).getTime()};h.clear=function(){try{h.metLineBreak=!0;var a=window["j2s.lib"],b=a&&a.console;if(b&&(b=document.getElementById(b))){for(var c=
b.childNodes,e=c.length-1;0<=e;e--)b.removeChild(c[e]);h.linesCount=0}}catch(f){}};a.alert=function(a){h.consoleOutput(a+"\r\n")};h.c160=String.fromCharCode(160);h.c160+=h.c160+h.c160+h.c160;System.out.print=function(a){h.consoleOutput(a)};System.out.println=function(a){h.consoleOutput("undefined"==typeof a?"\r\n":null==a?"null\r\n":a+"\r\n")};System.err.__CLASS_NAME__="java.io.PrintStream";System.err.print=function(a){h.consoleOutput(a,"red")};System.err.println=function(a){h.consoleOutput("undefined"==
typeof a?"\r\n":null==a?"null\r\n":a+"\r\n","red")};a.setConsoleDiv=function(a){window["j2s.lib"]&&(window["j2s.lib"].console=a)}}(Clazz),Clazz.binaryFolders=ClazzLoader.binaryFolders=[ClazzLoader.getJ2SLibBase()],ClazzLoader.registerPackages("java","io lang lang.reflect util util.regex util.zip net text".split(" ")),window.reflect=java.lang.reflect,ClazzLoader.ignore("net.sf.j2s.ajax.HttpRequest java.util.MapEntry.Type java.net.UnknownServiceException java.lang.Runtime java.security.AccessController java.security.PrivilegedExceptionAction java.io.File java.io.FileInputStream java.io.FileWriter java.io.OutputStreamWriter java.util.Calendar java.text.SimpleDateFormat java.text.DateFormat java.util.concurrent.Executors".split(" ")))};
