(function(X,ca,da,N,ea,E,q,H,K,F,I,Y,L,fa,B,G,P,O,Z,S,T,ga,U,ha,ia,V,ja,ka,la,M,ma,na,oa,pa,$,aa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,d,k){E("J.api");U(J.api,"JmolParallelProcessor");E("J.api");U(J.api,"JmolScriptEvaluator");E("J.api");U(J.api,"JmolScriptFunction");E("J.api");U(J.api,"JmolScriptManager");E("JS");H(["J.thread.JmolThread"],"JS.CommandWatcherThread",["java.lang.Thread","JU.Logger"],function(){c$=F(function(){this.scriptManager=null;K(this,arguments)},JS,"CommandWatcherThread",
J.thread.JmolThread);L(c$,function(){T(this,JS.CommandWatcherThread,[])});k(c$,"setManager",function(a,b){this.scriptManager=a;this.setViewer(b,"CommmandWatcherThread");return 0},"~O,JV.Viewer,~O");k(c$,"run",function(){for(Thread.currentThread().setPriority(1);!this.stopped;)try{Thread.sleep(50),this.stopped||this.scriptManager.runScriptNow()}catch(a){if(B(a,InterruptedException)){var b=a;JU.Logger.warn("CommandWatcher InterruptedException! "+this);break}else if(B(a,Exception)){b=a;JU.Logger.warn("CommandWatcher Exception! script processing ERROR:\n\n"+
b.toString());break}else throw a;}});k(c$,"run1",function(){},"~N");P(c$,"commandDelay",50)});E("JS");H(["J.thread.JmolThread"],"JS.FileLoadThread",null,function(){c$=F(function(){this.key=this.cacheName=this.fileName=null;K(this,arguments)},JS,"FileLoadThread",J.thread.JmolThread);L(c$,function(a,b,c,e,f){this.setViewer(b,"FileLoadThread");this.fileName=c;this.key=e;this.cacheName=f;this.setEval(a);this.sc.pc--},"J.api.JmolScriptEvaluator,JV.Viewer,~S,~S,~S");k(c$,"run1",function(a){for(;;)switch(a){case -1:a=
0;break;case 0:if(this.stopped||!this.vwr.testAsync&&this.eval.isStopped()){a=-2;break}return Jmol._loadFileAsynchronously(this,this.vwr.html5Applet,this.fileName,null);case 1:a=this.vwr.fm.getFileAsBytes(this.fileName,null);this.setData(this.fileName,this.fileName,a,null);return;case -2:this.resumeEval();return}},"~N");d(c$,"setData",function(a,b,c){var e=a.equals("#CANCELED#");this.sc.parentContext.htFileCache.put(this.key,e?a:this.cacheName=this.cacheName.substring(0,this.cacheName.lastIndexOf("_")+
1)+a);this.vwr.cachePut(this.cacheName,c);null!=b&&this.vwr.cachePut(this.vwr.fm.getFilePath(a,!0,!1),c);this.run1(-2)},"~S,~S,~O,~O")});E("JS");H(["JS.ScriptTokenParser","JU.Lst"],"JS.ScriptCompiler","java.lang.Boolean $.Float java.util.Hashtable JU.AU $.BS $.M34 $.M4 $.PT $.SB J.api.Interface J.i18n.GT J.io.JmolBinary JM.BondSet $.Group JS.ContextToken $.SV $.ScriptContext $.ScriptError $.ScriptFlowContext $.ScriptFunction $.ScriptManager $.ScriptParam $.T JU.Escape $.Logger JV.Viewer".split(" "),
function(){c$=F(function(){this.filename=null;this.isSilent=!1;this.lineIndices=this.lineNumbers=this.aatokenCompiled=this.contextVariables=null;this.lnLength=8;this.haveComments=this.isCheckOnly=this.isShowScriptOutput=this.preDefining=!1;this.vBraces=this.lltoken=this.ltoken=this.flowContext=this.thisFunction=this.scriptExtensions=null;this.iBrace=this.setEqualPt=this.forPoint3=this.ptSemi=this.bracketCount=this.setBraceCount=this.braceCount=this.parenCount=this.nSemiSkip=this.cchScript=this.cchToken=
this.ichBrace=0;this.endOfLine=this.needRightParen=this.isEndOfCommand=this.iHaveQuotedString=!1;this.comment=null;this.tokLastMath=0;this.checkImpliedScriptCmd=!1;this.vFunctionStack=null;this.implicitString=this.isUserToken=this.isComment=this.isShowCommand=this.allowMissingEnd=!1;this.afterWhite=this.tokInitialPlusPlus=0;this.isDotDot=!1;this.vPush=this.identLC=this.ident=null;this.pushCount=0;this.chFirst="\x00";this.afterMath=0;K(this,arguments)},JS,"ScriptCompiler",JS.ScriptTokenParser);S(c$,
function(){this.vPush=new JU.Lst});L(c$,function(a){this.vwr=a},"JV.Viewer");d(c$,"compile",function(a,b,c,e,f,h){this.isCheckOnly=h;this.filename=a;this.isSilent=e;this.script=b;this.logMessages=!e&&!c&&f;this.preDefining="#predefine"===a;a=this.compile0(!0);this.atokenInfix=null;a||this.handleError();c=new JS.ScriptContext;a=0==this.iBrace&&0==this.parenCount&&0==this.braceCount&&0==this.bracketCount;c.isComplete=a;c.script=b;c.scriptExtensions=this.scriptExtensions;c.errorType=this.errorType;null!=
this.errorType&&(c.iCommandError=this.iCommand,this.setAaTokenCompiled());c.saveTokens(this.aatokenCompiled);c.errorMessage=this.errorMessage;c.errorMessageUntranslated=null==this.errorMessageUntranslated?this.errorMessage:this.errorMessageUntranslated;this.allowMissingEnd&&(null!=c.errorMessage&&0<=c.errorMessageUntranslated.indexOf("missing END"))&&(c.errorMessage=c.errorMessageUntranslated);c.lineIndices=this.lineIndices;c.lineNumbers=this.lineNumbers;c.vars=this.contextVariables;return c},"~S,~S,~B,~B,~B,~B");
d(c$,"newContextVariable",function(a){this.theToken=JS.T.o(1073741824,a);if(0<this.pushCount){var b=this.vPush.get(this.pushCount-1);b.addName(a);if(364558!=b.tok)return}null==this.thisFunction?(null==this.contextVariables&&(this.contextVariables=new java.util.Hashtable),JS.ScriptCompiler.addContextVariable(this.contextVariables,a)):this.thisFunction.addVariable(a,!1)},"~S");c$.addContextVariable=d(c$,"addContextVariable",function(a,b){a.put(b,JS.SV.newS("").setName(b))},"java.util.Map,~S");d(c$,
"isContextVariable",function(a){for(var b=this.vPush.size();0<=--b;){var c=this.vPush.get(b);if(null!=c.contextVariables&&c.contextVariables.containsKey(a))return!0}return null!=this.thisFunction?this.thisFunction.isVariable(a):null!=this.contextVariables&&this.contextVariables.containsKey(a)},"~S");d(c$,"cleanScriptComments",function(a){0<=a.indexOf("\u201c")&&(a=a.$replace("\u201c",'"'));0<=a.indexOf("\u201d")&&(a=a.$replace("\u201d",'"'));0<=a.indexOf("\ufeff")&&(a=a.$replace("\ufeff"," "));var b=
a.indexOf("\u0001##");0<=b&&(this.scriptExtensions=a.substring(b+1),a=a.substring(0,b),this.allowMissingEnd=0<=this.scriptExtensions.indexOf("##noendcheck"));this.haveComments=0<=a.indexOf("#");return J.io.JmolBinary.getEmbeddedScript(a)},"~S");d(c$,"addTokenToPrefix",function(a){this.logMessages&&JU.Logger.info("addTokenToPrefix"+a);this.ltoken.addLast(a);0!=a.tok&&(this.lastToken=a)},"JS.T");d(c$,"compile0",function(a){this.vFunctionStack=new JU.Lst;this.htUserFunctions=new java.util.Hashtable;
this.script=this.cleanScriptComments(this.script);this.ichToken=this.script.indexOf("# Jmol state version ");if(this.isStateScript=0<=this.ichToken)this.ptSemi=this.script.indexOf(";",this.ichToken),this.ptSemi>=this.ichToken&&JS.ScriptManager.setStateScriptVersion(this.vwr,this.script.substring(this.ichToken+21,this.ptSemi).trim());this.cchScript=this.script.length;this.errorLine=this.errorMessageUntranslated=this.errorMessage=this.errorType=this.flowContext=this.thisFunction=this.aatokenCompiled=
this.lineIndices=this.lineNumbers=this.contextVariables=null;this.ichBrace=this.ichComment=this.ichCurrentCommand=this.ichToken=this.nSemiSkip=0;this.lineCurrent=1;this.tokLastMath=this.iCommand=0;this.lastToken=JS.T.tokenOff;this.vBraces=new JU.Lst;this.vPush=new JU.Lst;this.parenCount=this.braceCount=this.iBrace=this.pushCount=0;this.isDotDot=!1;this.ptSemi=-10;this.cchToken=0;this.lnLength=8;this.lineNumbers=V(this.lnLength,0);this.lineIndices=G(this.lnLength,2,0);this.isNewSet=this.isSetBrace=
!1;this.ptNewSetModifier=1;this.checkImpliedScriptCmd=this.iHaveQuotedString=this.isShowScriptOutput=!1;this.lltoken=new JU.Lst;this.ltoken=new JU.Lst;this.tokCommand=0;this.tokenAndEquals=this.lastFlowCommand=null;this.bracketCount=this.setBraceCount=this.tokInitialPlusPlus=0;this.forPoint3=-1;this.setEqualPt=2147483647;this.endOfLine=!1;this.comment=null;this.needRightParen=this.isEndOfCommand=!1;this.theTok=0;for(var b=1;;this.ichToken+=this.cchToken){if(0==(this.nTokens=this.ltoken.size()))null!=
this.thisFunction&&0==this.thisFunction.chpt0&&(this.thisFunction.chpt0=this.ichToken),this.ichCurrentCommand=this.ichToken,b=this.lineCurrent;if(!this.lookingAtLeadingWhitespace()){this.endOfLine=!1;if(!this.isEndOfCommand){this.endOfLine=this.lookingAtEndOfLine();switch(this.endOfLine?0:this.lookingAtComment()){case 2:continue;case 3:this.isEndOfCommand=!0;continue;case 1:this.isEndOfCommand=!0,this.comment=this.script.substring(this.ichToken,this.ichToken+this.cchToken).trim()}this.isEndOfCommand=
this.isEndOfCommand||this.endOfLine||this.lookingAtTerminator()}if(this.isEndOfCommand){this.isEndOfCommand=!1;switch(this.processTokenList(b,a)){case 2:continue;case 4:return!1}this.checkImpliedScriptCmd=!1;if(this.ichToken<this.cchScript)continue;this.setAaTokenCompiled();return null==this.flowContext||this.errorStr(11,JS.T.nameOf(this.flowContext.token.tok))}if(0<this.nTokens&&!this.isDotDot)switch(this.checkSpecialParameterSyntax()){case 2:continue;case 4:return!1}if(this.lookingAtLookupToken(this.ichToken)){switch(this.parseKnownToken()){case 2:continue;
case 4:return!1}switch(this.parseCommandParameter()){case 2:continue;case 4:return!1}this.addTokenToPrefix(this.theToken)}else{if(0==this.nTokens||(this.isNewSet||this.isSetBrace)&&this.nTokens==this.ptNewSetModifier){if(0==this.nTokens){if(this.lookingAtString(!0)){this.addTokenToPrefix(this.setCommand(JS.T.tokenScript));this.cchToken=0;continue}this.lookingAtImpliedString(!0,!0,!0)&&(this.ichEnd=this.ichToken+this.cchToken)}return this.commandExpected()}return this.errorStr(19,this.script.substring(this.ichToken,
this.ichToken+1))}}}},"~B");d(c$,"setAaTokenCompiled",function(){this.aatokenCompiled=this.lltoken.toArray(Array(this.lltoken.size()))});d(c$,"lookingAtLeadingWhitespace",function(){for(var a=this.ichToken;JS.ScriptCompiler.isSpaceOrTab(this.charAt(a));)++a;this.isLineContinuation(a,!0)&&(a+=1+this.nCharNewLine(a+1));this.cchToken=a-this.ichToken;if(0==this.cchToken)return!1;this.afterWhite=a;return!0});d(c$,"isLineContinuation",function(a,b){var c=a+2<this.cchScript&&"\\"==this.script.charAt(a)&&
0<this.nCharNewLine(a+1)||b&&this.lookingAtMathContinuation(a);c&&this.lineCurrent++;return c},"~N,~B");d(c$,"lookingAtMathContinuation",function(a){var b;if(0==(b=this.nCharNewLine(a))||1048586==this.lastToken.tok)return!1;if(0<this.parenCount||0<this.bracketCount)return!0;if((1085443!=this.tokCommand||!this.isNewSet)&&36865!=this.tokCommand&&36869!=this.tokCommand)return!1;if(this.lastToken.tok==this.tokLastMath)return!0;for(a+=b;JS.ScriptCompiler.isSpaceOrTab(this.charAt(a));)++a;return this.lookingAtLookupToken(a)&&
1==this.tokLastMath},"~N");d(c$,"lookingAtEndOfLine",function(){return this.ichToken>=this.cchScript?(this.ichEnd=this.cchScript,!0):0<(this.cchToken=this.nCharNewLine(this.ichEnd=this.ichToken))});d(c$,"nCharNewLine",function(a){var b;return"\r"!=(b=this.charAt(a))?"\n"==b?1:0:"\n"==this.charAt(++a)?2:1},"~N");d(c$,"lookingAtTerminator",function(){var a=";"==this.script.charAt(this.ichToken);a&&0<this.nTokens&&(this.ptSemi=this.nTokens);if(!a||0<this.nSemiSkip--)return!1;this.cchToken=1;return!0});
d(c$,"lookingAtComment",function(){var a=this.script.charAt(this.ichToken),b=this.ichToken,c=-1;if(this.ichToken==this.ichCurrentCommand&&"$"==a&&(this.isShowScriptOutput||0==this.ichToken)){this.isShowCommand=this.isShowScriptOutput=!0;if("["==this.charAt(++b))for(;"]"!=a&&!this.eol(a=this.charAt(b));)++b;this.cchToken=b-this.ichToken;return 2}this.isShowScriptOutput&&!this.isShowCommand&&(c=b);if("/"==a&&b+1<this.cchScript)switch(this.script.charAt(++b)){case "/":c=this.ichToken;this.ichEnd=b-1;
break;case "*":this.ichEnd=b-1;b="*"==(a=this.charAt(++b))?"**/":"*/";b=this.script.indexOf(b,this.ichToken+2);if(0>b)return this.ichToken=this.cchScript,3;this.incrementLineCount(this.script.substring(this.ichToken,b));this.cchToken=b+("*"==a?3:2)-this.ichToken;return 2;default:return 0}var e=0>c;if(e&&!this.haveComments)return 0;this.ichComment>b&&(b=this.ichComment);for(;b<this.cchScript;b++){if(this.eol(a=this.script.charAt(b))){this.ichEnd=b;if(0<b&&this.isLineContinuation(b-1,!1)){b+=this.nCharNewLine(b);
continue}if(!e&&";"==a)continue;break}0<=c||"#"==a&&(c=b)}if(0>c)return 0;this.ichComment=c;if(e&&0==this.nTokens&&3<=this.cchScript-c&&"j"==this.script.charAt(c+1)&&"c"==this.script.charAt(c+2))return this.cchToken=b-this.ichToken,2;if(c!=this.ichToken)return 0;if(e&&this.cchScript>this.ichToken+3&&"j"==this.script.charAt(this.ichToken+1)&&"x"==this.script.charAt(this.ichToken+2)&&JS.ScriptCompiler.isSpaceOrTab(this.script.charAt(this.ichToken+3)))return this.cchToken=4,2;if(b==this.ichToken)return 0;
this.cchToken=b-this.ichToken;return 0==this.nTokens?1:2});d(c$,"charAt",function(a){return a<this.cchScript?this.script.charAt(a):"\x00"},"~N");d(c$,"processTokenList",function(a,b){if(0<this.nTokens||null!=this.comment){if(0==this.nTokens)this.ichCurrentCommand=this.ichToken,null!=this.comment&&(this.isComment=!0,this.addTokenToPrefix(JS.T.o(0,this.comment)));else if(0<this.setBraceCount&&this.endOfLine&&this.ichToken<this.cchScript)return 2;if(this.wasImpliedScript())return 2;this.isNewSet&&2<
this.nTokens&&1048583==this.tokAt(2)&&(1276117011==this.tokAt(3)||1141899269==this.tokAt(3)||1276384259==this.tokAt(3)||1276383249==this.tokAt(3))?(this.ltoken.set(0,JS.T.tokenSet),this.ltoken.add(1,1276383249==this.tokAt(3)?JS.T.tokenAll:this.ltoken.get(1))):0!=this.tokInitialPlusPlus&&(this.isNewSet||this.checkNewSetCommand(),this.tokenizePlusPlus(this.tokInitialPlusPlus,!0),this.ichCurrentCommand-=2);this.iCommand=this.lltoken.size();null!=this.thisFunction&&0>this.thisFunction.cmdpt0&&(this.thisFunction.cmdpt0=
this.iCommand);if(1==this.nTokens&&1==this.braceCount)if(null==this.lastFlowCommand){this.parenCount=this.setBraceCount=this.braceCount=0;this.ltoken.remove(0);this.iBrace++;var c=JS.ContextToken.newContext(!0);this.addTokenToPrefix(this.setCommand(c));this.pushCount++;this.vPush.addLast(c);this.vBraces.addLast(this.tokenCommand)}else this.parenCount=this.setBraceCount=0,this.setCommand(this.lastFlowCommand),102439!=this.lastFlowCommand.tok&&1048586==this.tokAt(0)&&this.ltoken.remove(0),this.lastFlowCommand=
null;if(0<this.bracketCount||0<this.setBraceCount||0<this.parenCount||1==this.braceCount&&!this.checkFlowStartBrace(!0))return this.error(1==this.nTokens?2:4),4;this.needRightParen&&(this.addTokenToPrefix(JS.T.tokenRightParen),this.needRightParen=!1);if(1074790550==this.tokAt(1)&&JS.T.tokAttr(this.tokCommand,135168))switch(this.tokAt(2)){case 0:case 4:case 1060866:break;default:c=this.ltoken.remove(2),this.ltoken.add(2,JS.T.o(4,2==c.tok?""+c.intValue:c.value.toString()))}if(0<this.ltoken.size()){if(b&&
!this.compileCommand())return 4;this.logMessages&&JU.Logger.debug("-------------------------------------");c=!0;switch(this.tokCommand){case 364558:case 102436:case 135368713:case 1150985:c=0<this.atokenInfix.length&&2147483647!=this.atokenInfix[0].intValue}c&&(this.iCommand==this.lnLength&&(this.lineNumbers=JU.AU.doubleLengthShort(this.lineNumbers),c=G(2*this.lnLength,2,0),System.arraycopy(this.lineIndices,0,c,0,this.lnLength),this.lineIndices=c,this.lnLength*=2),this.lineNumbers[this.iCommand]=
a,this.lineIndices[this.iCommand][0]=this.ichCurrentCommand,this.lineIndices[this.iCommand][1]=Math.max(this.ichCurrentCommand,Math.min(this.cchScript,this.ichEnd==this.ichCurrentCommand?this.ichToken:this.ichEnd)),this.lltoken.addLast(this.atokenInfix),this.iCommand=this.lltoken.size());1085443==this.tokCommand&&(this.lastFlowCommand=null)}this.setCommand(null);this.comment=null;this.iHaveQuotedString=this.isNewSet=this.isSetBrace=this.needRightParen=!1;this.ptNewSetModifier=1;this.ltoken.clear();
this.tokInitialPlusPlus=this.nTokens=this.nSemiSkip=0;this.tokenAndEquals=null;this.ptSemi=-10;this.forPoint3=-1;this.setEqualPt=2147483647}if(this.endOfLine){if(null!=this.flowContext&&this.flowContext.checkForceEndIf())return this.isComment||this.forceFlowEnd(this.flowContext.token),this.isEndOfCommand=!0,this.cchToken=0,this.ichCurrentCommand=this.ichToken,this.lineCurrent--,2;this.isShowCommand=this.isComment=!1;++this.lineCurrent}if(this.ichToken>=this.cchScript){this.setCommand(JS.T.tokenAll);
this.theTok=0;switch(this.checkFlowEndBrace()){case 4:return 4;case 2:return this.isEndOfCommand=!0,this.cchToken=0,2}this.ichToken=this.cchScript}return 0},"~N,~B");d(c$,"wasImpliedScript",function(){if(2<=this.nTokens&&(135271429==this.tokCommand||4124==this.tokCommand)&&this.checkImpliedScriptCmd){var a=2==this.nTokens?this.lastToken.value.toString().toUpperCase():null;if(2<this.nTokens?!(269484048==this.tokAt(2)&&this.ltoken.get(1).value.toString().endsWith(".spt")):a.endsWith(".SORT")||a.endsWith(".REVERSE")||
a.endsWith(".POP")||0<=a.indexOf(".SORT(")||0<=a.indexOf(".REVERSE(")||0<=a.indexOf(".POP(")||0<=a.indexOf(".PUSH(")||a.endsWith("++")||a.endsWith("--")||a.endsWith("=")||0!=this.tokInitialPlusPlus)return this.ichToken=this.ichCurrentCommand,this.nTokens=0,this.ltoken.clear(),this.tokCommand=this.cchToken=0,!0}return!1});d(c$,"compileCommand",function(){switch(this.ltoken.size()){case 0:return this.atokenInfix=[],!0;case 4:if(this.isNewSet&&this.tokenAt(2).value.equals(".")&&this.tokenAt(3).value.equals("spt")){var a=
this.tokenAt(1).value+"."+this.tokenAt(3).value;this.ltoken.clear();this.addTokenToPrefix(JS.T.tokenScript);this.addTokenToPrefix(JS.T.o(4,a));this.isNewSet=!1}}this.setCommand(this.tokenAt(0));a=this.ltoken.size();1==a&&JS.T.tokAttr(this.tokCommand,524288)&&this.addTokenToPrefix(JS.T.tokenOn);if(null!=this.tokenAndEquals){for(var b,c=0,c=1;c<a&&269484242!=this.tokAt(c);c++);a=c;c++;if(this.ltoken.size()<c)JU.Logger.error("COMPILER ERROR! - andEquals ");else{for(b=1;b<a;b++,c++)this.ltoken.add(c,
this.tokenAt(b));this.ltoken.set(a,JS.T.tokenEquals);this.ltoken.add(c,this.tokenAndEquals);this.ltoken.add(++c,JS.T.tokenLeftParen);this.addTokenToPrefix(JS.T.tokenRightParen)}}this.atokenInfix=this.ltoken.toArray(Array(this.ltoken.size()));if(this.logMessages){JU.Logger.debug("token list:");for(c=0;c<this.atokenInfix.length;c++)JU.Logger.debug(c+": "+this.atokenInfix[c]);JU.Logger.debug("vBraces list:");for(c=0;c<this.vBraces.size();c++)JU.Logger.debug(c+": "+this.vBraces.get(c));JU.Logger.debug("-------------------------------------")}return this.compileExpressions()});
d(c$,"tokenAt",function(a){return this.ltoken.get(a)},"~N");k(c$,"tokAt",function(a){return a<this.ltoken.size()?this.tokenAt(a).tok:0},"~N");d(c$,"setCommand",function(a){this.tokenCommand=a;null==a?this.tokCommand=0:(this.tokCommand=this.tokenCommand.tok,this.isMathExpressionCommand=1073741824==this.tokCommand||JS.T.tokAttr(this.tokCommand,36864),this.isSetOrDefine=1085443==this.tokCommand||1060866==this.tokCommand,this.isCommaAsOrAllowed=JS.T.tokAttr(this.tokCommand,12288),this.implicitString=
JS.T.tokAttr(this.tokCommand,20480));return a},"JS.T");d(c$,"replaceCommand",function(a){this.ltoken.remove(0);this.ltoken.add(0,this.setCommand(a))},"JS.T");d(c$,"getPrefixToken",function(){this.ident=this.script.substring(this.ichToken,this.ichToken+this.cchToken);this.identLC=this.ident.toLowerCase();var a=this.isContextVariable(this.identLC),b=this.ident,c=null;0==this.nTokens&&(this.isUserToken=a);if(1==this.nTokens&&(135368713==this.tokCommand||102436==this.tokCommand||36868==this.tokCommand)||
0!=this.nTokens&&a||!this.isDotDot&&this.isUserFunction(this.identLC)&&null!=(c=this.ident)&&(null==this.thisFunction||!this.thisFunction.name.equals(this.identLC)))this.ident=null==c?this.identLC:c,this.theToken=null;else if(1==this.ident.length||269484066==this.lastToken.tok){if(null==(this.theToken=JS.T.getTokenFromName(this.ident))&&null!=(this.theToken=JS.T.getTokenFromName(this.identLC)))this.theToken=JS.T.tv(this.theToken.tok,this.theToken.intValue,this.ident)}else if(this.theToken=JS.T.getTokenFromName(this.identLC),
null!=this.theToken&&(1048583==this.lastToken.tok||269484096==this.lastToken.tok))this.theToken=JS.T.o(this.theToken.tok,this.ident);null==this.theToken&&(0==this.identLC.indexOf("property_")?this.theToken=JS.T.o(1716520985,this.identLC):null!=b?(this.theToken=JS.SV.newSV(1073741824,2147483647,this.ident),this.theToken.myName=b):this.theToken=JS.T.o(1073741824,this.ident));this.theTok=this.theToken.tok});d(c$,"checkSpecialParameterSyntax",function(){if(this.lookingAtString(!this.implicitString)){if(0>
this.cchToken)return this.ERROR(4);var a=this.getUnescapedStringLiteral(null!=this.lastToken&&!this.iHaveQuotedString&&1073741983!=this.lastToken.tok&&(1085443==this.tokCommand&&2==this.nTokens&&545259546==this.lastToken.tok||135271427==this.tokCommand||1610616835==this.tokCommand||135271429==this.tokCommand||4124==this.tokCommand));this.iHaveQuotedString=!0;if((135271427==this.tokCommand||135174==this.tokCommand)&&135270408==this.lastToken.tok||135270408==this.tokCommand&&0>a.indexOf("@")){if(!this.getData(a))return this.ERROR(11,
"data")}else this.addTokenToPrefix(JS.T.o(4,a)),this.implicitString&&(this.ichEnd=this.ichToken+this.cchToken,this.isEndOfCommand=!0);return 2}if(this.nTokens==this.ptNewSetModifier){var a=this.script.charAt(this.ichToken),b=0<="+-\\*/&|=".indexOf(a),c=b||"."==a||"["==a,e=this.charAt(this.ichToken+1);if(!this.isNewSet&&this.isUserToken&&c&&("="==a||e==a||"="==e))this.isNewSet=!0;if(this.isNewSet||1085443==this.tokCommand||JS.T.tokAttr(this.tokCommand,536870912))if("="==a&&(this.setEqualPt=this.ichToken),
JS.T.tokAttr(this.tokCommand,536870912)&&"="==a||(this.isNewSet||this.isSetBrace)&&c)switch(this.setCommand(b?JS.T.tokenSet:"["==a&&!this.isSetBrace||"."==a&&"."==e?JS.T.tokenSetArray:JS.T.tokenSetProperty),this.ltoken.add(0,this.tokenCommand),this.cchToken=1,a){case "[":return this.tokLastMath=1,this.addTokenToPrefix(JS.T.tokenArrayOpen),this.bracketCount++,2;case ".":if("."==e)return this.addTokenToPrefix(JS.T.tokenArrayOpen),this.cchToken=2,this.isDotDot=!0,2;this.addTokenToPrefix(JS.T.o(1048583,
"."));return 2;case "-":case "+":case "*":case "/":case "\\":case "&":case "|":if(0==e.charCodeAt(0))return this.ERROR(4);if(e!=a&&"="!=e)return this.ERROR(1,'"'+a+'"');break;default:return this.lastToken=JS.T.tokenMinus,2}}switch(this.tokCommand){case 135270926:if(2==this.nTokens)4120==this.lastToken.tok&&(this.iHaveQuotedString=!0);else if(!this.iHaveQuotedString&&1073741925!=this.lastToken.tok&&1073742189!=this.lastToken.tok)return 0;case 135271427:case 135271429:case 4124:case 1276121098:if("@"==
this.script.charAt(this.ichToken))return this.iHaveQuotedString=!0,0;if(135271427==this.tokCommand){if(1==this.nTokens||2==this.nTokens&&1073741839==this.tokAt(1))if(a=JV.Viewer.isDatabaseCode(this.charAt(this.ichToken)),this.lookingAtLoadFormat(a)){var f=this.script.substring(this.ichToken,this.ichToken+this.cchToken),h=JS.T.getTokenFromName(f.toLowerCase());switch(null==h?0:h.tok){case 1073742015:case 1073742077:case 1073741839:case 1610616855:case 4130:case 1073877011:if(1!=this.nTokens)return 4;
case 135270408:case 1229984263:case 1073741983:case 1095766030:case 135267336:case 536870926:case 1073741849:this.addTokenToPrefix(h);break;default:h=a?4:JU.PT.isOneOf(f=f.toLowerCase(),";xyz;vxyz;vibration;temperature;occupancy;partialcharge;")?1073741824:0,0!=h&&(this.addTokenToPrefix(JS.T.o(h,f)),this.iHaveQuotedString=4==h)}return 2}if("{"==this.script.charAt(this.ichToken)||0<this.parenCount)break;if(null!=(a=this.lookingAtBitset()))return this.addTokenToPrefix(JS.T.o(10,a)),2}if(!this.iHaveQuotedString&&
this.lookingAtImpliedString(135270926==this.tokCommand,135271427==this.tokCommand,1<this.nTokens||135271429!=this.tokCommand&&4124!=this.tokCommand)){a=this.script.substring(this.ichToken,this.ichToken+this.cchToken);if(135271429==this.tokCommand)if(a.startsWith("javascript:"))this.lookingAtImpliedString(!0,!0,!0),a=this.script.substring(this.ichToken,this.ichToken+this.cchToken);else if(0<=a.toUpperCase().indexOf(".PUSH("))return this.cchToken=0,this.iHaveQuotedString=!0,2;this.iHaveQuotedString=
!0;this.addTokenToPrefix(JS.T.o(4,a));return 2}break;case 4156:if(1==this.nTokens&&this.lookForSyncID())return f=this.script.substring(this.ichToken,this.ichToken+this.cchToken),h=JU.PT.parseInt(f),-2147483648==h||1E3>Math.abs(h)?this.addTokenToPrefix(JS.T.o(1073741824,f)):this.addTokenToPrefix(JS.T.i(h)),2;break;case 135270422:if(2==this.nTokens&&4115==this.lastToken.tok&&(this.iHaveQuotedString=!0),!this.iHaveQuotedString){if("@"==this.script.charAt(this.ichToken))return this.iHaveQuotedString=
!0,0;if(this.lookingAtImpliedString(!0,!0,!0)){b=this.cchToken;a=this.script.substring(this.ichToken,this.ichToken+this.cchToken);if(0>a.indexOf(" ")&&0<=a.indexOf("."))return this.addTokenToPrefix(JS.T.o(4,a)),this.iHaveQuotedString=!0,2;this.cchToken=b}}}if((this.implicitString=(new Boolean(this.implicitString&1==this.nTokens)).valueOf())&&(!(135271429==this.tokCommand||4124==this.tokCommand)||!this.iHaveQuotedString)&&this.lookingAtImpliedString(!0,!0,!0))return a=this.script.substring(this.ichToken,
this.ichToken+this.cchToken),1826248716==this.tokCommand&&JU.PT.isOneOf(a.toLowerCase(),";on;off;hide;display;")?this.addTokenToPrefix(JS.T.getTokenFromName(a.toLowerCase())):this.addTokenToPrefix(JS.T.o(4,a)),2;if(this.lookingAtObjectID())return this.addTokenToPrefix(JS.T.getTokenFromName("$")),this.addTokenToPrefix(JS.T.o(1073741824,this.script.substring(this.ichToken,this.ichToken+this.cchToken))),2;if(!Float.isNaN(a=this.lookingAtExponential()))return this.addNumber(3,2147483647,Float.$valueOf(a)),
2;if(this.lookingAtDecimal())return a=JU.PT.fVal(this.script.substring(this.ichToken,this.ichToken+this.cchToken)),f=JS.ScriptParam.getFloatEncodedInt(this.script.substring(this.ichToken,this.ichToken+this.cchToken)),this.addNumber(3,f,Float.$valueOf(a)),2;if(this.lookingAtSeqcode()){a=this.script.charAt(this.ichToken);try{f="*"==a||"^"==a?2147483647:Integer.parseInt(this.script.substring(this.ichToken,this.ichToken+this.cchToken-2));h=this.script.charAt(this.ichToken+this.cchToken-1);"^"==h&&(h=
" ");0>f&&(f=-f,this.addTokenToPrefix(JS.T.tokenMinus));var d=JM.Group.getSeqcodeFor(f,h);this.addTokenToPrefix(JS.T.tv(5,d,"seqcode"))}catch(g){if(B(g,NumberFormatException))return this.ERROR(9,""+a);throw g;}return 2}f=this.lookingAtInteger();if(2147483647!=f){h=this.script.substring(this.ichToken,this.ichToken+this.cchToken);if(102407==this.tokCommand||102408==this.tokCommand){if(1!=this.nTokens)return this.ERROR(0);d=null==this.flowContext?null:this.flowContext.getBreakableContext(f=Math.abs(f));
if(null==d)return this.ERROR(1,this.tokenCommand.value);this.tokenAt(0).intValue=d.pt0}0==f&&h.equals("-0")&&this.addTokenToPrefix(JS.T.tokenMinus);this.addNumber(2,f,h);return 2}if(!this.isMathExpressionCommand&&0==this.parenCount||1073741824!=this.lastToken.tok&&!JS.ScriptTokenParser.tokenAttr(this.lastToken,135266304)){f="["==this.script.charAt(this.ichToken);a=this.lookingAtBitset();if(null!=a)return this.addTokenToPrefix(JS.T.o(10,f?JM.BondSet.newBS(a,null):a)),2;if(f&&(f=this.lookingAtMatrix(),
q(f,JU.M34)))return this.addTokenToPrefix(JS.T.o(q(f,JU.M4)?12:11,f)),2}return 0});d(c$,"addNumber",function(a,b,c){this.addTokenToPrefix(this.afterWhite==this.ichToken?JS.SV.newSV(a,b,c):JS.T.tv(a,b,c))},"~N,~N,~O");d(c$,"lookingAtMatrix",function(){var a,b;if(this.ichToken+4>=this.cchScript||"["!=this.script.charAt(this.ichToken)||"["!=this.script.charAt(this.ichToken+1)||0>(a=this.script.indexOf("]]",this.ichToken))||null==(b=JU.Escape.unescapeMatrix(this.script.substring(this.ichToken,a+2))))return null;
this.cchToken=a+2-this.ichToken;return b});d(c$,"parseKnownToken",function(){this.getPrefixToken();var a;if(this.isDotDot)return 269484096==this.theTok?this.bracketCount++:(this.addTokenToPrefix(JS.T.o(4,this.ident)),this.addTokenToPrefix(JS.T.tokenArrayClose)),this.isDotDot=!1,2;0!=this.tokLastMath&&(this.tokLastMath=this.theTok);if(null!=this.flowContext&&102410==this.flowContext.token.tok&&null!=this.flowContext.$var&&102411!=this.theTok&&102413!=this.theTok&&102410!=this.lastToken.tok)return this.ERROR(1,
this.ident);if(1060866==this.lastToken.tok&&1048586!=this.theTok&&1!=this.nTokens)return this.addTokenToPrefix(1060866==this.theTok?this.lastToken:JS.T.o(4,this.ident)),2;switch(this.theTok){case 1073741824:if(0==this.nTokens&&!this.checkImpliedScriptCmd){if("'"==this.ident.charAt(0))return this.addTokenToPrefix(this.setCommand(JS.T.tokenScript)),this.cchToken=0,2;if("."==this.charAt(this.ichToken+this.cchToken))return this.addTokenToPrefix(this.setCommand(JS.T.tokenScript)),this.nTokens=1,this.cchToken=
0,this.checkImpliedScriptCmd=!0,2}break;case 269484242:if(this.nSemiSkip==this.forPoint3&&this.nTokens==this.ptSemi+2)return a=this.lastToken,this.addTokenToPrefix(JS.T.tokenEquals),this.addTokenToPrefix(a),a=JS.T.getTokenFromName(this.ident.substring(0,1)),this.addTokenToPrefix(a),this.addTokenToPrefix(JS.T.tokenLeftParen),this.needRightParen=!0,2;this.checkNewSetCommand();if(1085443==this.tokCommand){this.tokenAndEquals=JS.T.getTokenFromName(this.ident.substring(0,1));this.setEqualPt=this.ichToken;
break}if(554176565==this.tokCommand||554176526==this.tokCommand){this.addTokenToPrefix(this.tokenCommand);this.replaceCommand(JS.T.tokenSet);this.tokenAndEquals=JS.T.getTokenFromName(this.ident.substring(0,1));this.setEqualPt=this.ichToken;break}return 2;case 1150985:if(135174==this.tokCommand||4103==this.tokCommand&&1==this.nTokens)break;case 364548:null!=this.flowContext&&(this.flowContext.forceEndIf=!1);case 364547:if(0<this.nTokens)return this.isEndOfCommand=!0,this.cchToken=0,2;break;case 135369224:if(0<
this.bracketCount)break;case 102411:case 102413:case 102402:case 135369225:case 102410:case 102406:case 102412:if(1<this.nTokens&&1085443!=this.tokCommand&&0==this.nSemiSkip)return this.isEndOfCommand=!0,null!=this.flowContext&&(this.flowContext.forceEndIf=!0),this.cchToken=0,2;break;case 269484225:case 269484226:if(this.afterWhite==this.ichToken||this.afterMath==this.ichToken)this.theToken=JS.T.tv(this.theToken.tok,-1,this.theToken.value);!this.isNewSet&&1==this.nTokens&&this.checkNewSetCommand();
if(this.isNewSet&&0==this.parenCount&&0==this.bracketCount&&this.ichToken<=this.setEqualPt)return this.tokenizePlusPlus(this.theTok,!1),2;if(this.nSemiSkip==this.forPoint3&&this.nTokens==this.ptSemi+2)return a=this.lastToken,this.addTokenToPrefix(JS.T.tokenEquals),this.addTokenToPrefix(a),this.addTokenToPrefix(269484225==this.theTok?JS.T.tokenMinus:JS.T.tokenPlus),this.addTokenToPrefix(JS.T.i(1)),2;break;case 269484436:0==this.parenCount&&0==this.bracketCount&&(this.setEqualPt=this.ichToken);break;
case 1048583:1085443==this.tokCommand&&(0==this.parenCount&&0==this.bracketCount&&this.ichToken<this.setEqualPt&&1<this.ltoken.size()&&1048586==this.ltoken.get(1).tok)&&(this.ltoken.set(0,JS.T.tokenSetProperty),this.ltoken.add(1,JS.T.tokenExpressionBegin),this.addTokenToPrefix(JS.T.tokenExpressionEnd),this.setEqualPt=0);break;case 1048586:if(this.braceCount++,1==this.braceCount&&0==this.parenCount&&this.checkFlowStartBrace(!1))return this.isEndOfCommand=!0,null!=this.flowContext&&(this.flowContext.forceEndIf=
!1),2;case 269484048:this.parenCount++;if(1<this.nTokens&&(135280133==this.lastToken.tok||135369224==this.lastToken.tok||135369225==this.lastToken.tok))this.nSemiSkip+=2;break;case 1048590:if(0<this.iBrace&&0==this.parenCount&&0==this.braceCount)if(this.ichBrace=this.ichToken,0==this.nTokens)this.braceCount=this.parenCount=1;else return this.wasImpliedScript()||(this.braceCount=this.parenCount=this.nSemiSkip=0,102411!=this.theToken.tok&&102413!=this.theToken.tok&&this.vBraces.addLast(this.theToken),
this.iBrace++,this.isEndOfCommand=!0,this.ichEnd=this.ichToken),2;this.braceCount--;case 269484049:this.parenCount--;if(0>this.parenCount)return this.ERROR(16,this.ident);0==this.parenCount&&(this.nSemiSkip=0);this.needRightParen&&(this.addTokenToPrefix(JS.T.tokenRightParen),this.needRightParen=!1);break;case 269484096:0<this.ichToken&&JU.PT.isWhitespace(this.script.charAt(this.ichToken-1))&&this.addTokenToPrefix(JS.T.tokenSpaceBeforeSquare);this.bracketCount++;break;case 269484097:this.bracketCount--;
if(0>this.bracketCount)return this.ERROR(16,"]");break;case 1048584:return this.isDotDot=!0,this.addTokenToPrefix(JS.T.tokenArrayOpen),2}return 0});d(c$,"tokenizePlusPlus",function(a,b){b&&(this.setCommand(JS.T.tokenSet),1==this.nTokens&&this.ltoken.add(0,this.tokenCommand));this.nTokens=this.ltoken.size();this.addTokenToPrefix(JS.T.tokenEquals);this.setEqualPt=0;for(var c=1;c<this.nTokens;c++)this.addTokenToPrefix(this.ltoken.get(c));this.addTokenToPrefix(269484225==a?JS.T.tokenMinus:JS.T.tokenPlus);
this.addTokenToPrefix(JS.T.i(1))},"~N,~B");d(c$,"checkNewSetCommand",function(){var a=this.ltoken.get(0).value.toString();if(!this.isContextVariable(a.toLowerCase()))return!1;a=this.setNewSetCommand(!1,a);this.setCommand(JS.T.tokenSet);this.ltoken.add(0,this.tokenCommand);this.ltoken.set(1,a);return!0});d(c$,"parseCommandParameter",function(){this.nTokens=this.ltoken.size();switch(this.tokCommand){case 0:this.lastToken=JS.T.tokenOff;this.ichCurrentCommand=this.ichEnd=this.ichToken;this.setCommand(this.theToken);
JS.T.tokAttr(this.tokCommand,102400)&&(this.lastFlowCommand=this.tokenCommand);var a=this.checkFlowEndBrace();if(4==a)return 4;if(2==a)return this.isEndOfCommand=!0,this.cchToken=0,2;if(JS.T.tokAttr(this.tokCommand,102400)){if(!this.checkFlowCommand(this.tokenCommand.value))return 4;this.theToken=this.tokenCommand;102411==this.theTok&&(this.addTokenToPrefix(this.tokenCommand),this.theToken=JS.T.tokenLeftParen);break}if(269484066==this.theTok){this.braceCount++;this.isEndOfCommand=!0;break}if(1048590==
this.theTok)return this.vBraces.addLast(this.tokenCommand),this.iBrace++,this.tokCommand=0,2;1048586!=this.theTok&&(this.lastFlowCommand=null);if(269484128==this.theTok){this.setCommand(this.theToken=JS.T.o(4143,"resume"));this.addTokenToPrefix(this.theToken);this.theToken=JS.T.o(14,"context");break}if(JS.T.tokAttr(this.tokCommand,4096))break;if(this.isSetBrace=1048586==this.theTok)this.lookingAtSetBraceSyntax()||(this.isEndOfCommand=!0,null!=this.flowContext&&(this.flowContext.forceEndIf=!1));else switch(this.theTok){case 269484226:case 269484225:return this.tokInitialPlusPlus=
this.theTok,this.tokCommand=0,2;case 1073741824:case 36868:case 1060866:case 269484048:break;default:if(!JS.T.tokAttr(this.theTok,1073741824)&&!JS.T.tokAttr(this.theTok,536870912)&&!this.isContextVariable(this.identLC))return this.commandExpected(),4}this.theToken=this.setNewSetCommand(this.isSetBrace,this.ident);break;case 102412:switch(this.nTokens){case 1:if(269484048!=this.theTok)return this.ERROR(15,"(");break;case 2:269484049!=this.theTok&&(this.tokenCommand.name0=this.ident);this.newContextVariable(this.ident);
break;case 3:if(269484049!=this.theTok)return this.ERROR(15,")");this.isEndOfCommand=!0;this.ichEnd=this.ichToken+1;this.flowContext.setLine();break;default:return this.ERROR(0)}break;case 102436:case 135368713:if(0==this.tokenCommand.intValue){if(1!=this.nTokens)break;this.tokenCommand.value=this.ident;return 2}if(1==this.nTokens){null!=this.thisFunction&&this.vFunctionStack.add(0,this.thisFunction);this.thisFunction=102436==this.tokCommand?JS.ScriptCompiler.newScriptParallelProcessor(this.ident,
this.tokCommand):new JS.ScriptFunction(this.ident,this.tokCommand);this.htUserFunctions.put(this.ident,Boolean.TRUE);this.flowContext.setFunction(this.thisFunction);break}if(2==this.nTokens){if(269484048!=this.theTok)return this.ERROR(15,"(");break}if(3==this.nTokens&&269484049==this.theTok)break;if(0==this.nTokens%2){if(269484080!=this.theTok&&269484049!=this.theTok)return this.ERROR(15,")");break}this.thisFunction.addVariable(this.ident,!0);break;case 102411:if(1<this.nTokens&&0==this.parenCount&&
0==this.braceCount&&269484066==this.theTok)return this.addTokenToPrefix(JS.T.tokenRightParen),this.braceCount=1,this.isEndOfCommand=!0,this.cchToken=0,2;break;case 102413:if(1<this.nTokens)return this.braceCount=1,this.isEndOfCommand=!0,this.cchToken=0,2;break;case 364547:if(1==this.nTokens&&135369225!=this.theTok)return this.isEndOfCommand=!0,this.cchToken=0,2;if(1!=this.nTokens||135369225!=this.theTok&&1048586!=this.theTok)return this.ERROR(0);this.replaceCommand(this.flowContext.token=JS.ContextToken.newCmd(102402,
"elseif"));this.tokCommand=102402;return 2;case 1150985:if(1!=this.nTokens)return this.ERROR(0);if(!this.checkFlowEnd(this.theTok,this.ident,this.ichCurrentCommand))return 4;if(135368713==this.theTok||102436==this.theTok)return 2;break;case 102410:case 102406:2<this.nTokens&&(0==this.braceCount&&0==this.parenCount)&&(this.isEndOfCommand=!0,this.ichEnd=this.ichToken+1,this.flowContext.setLine());break;case 102402:case 135369225:2<this.nTokens&&(0==this.braceCount&&0==this.parenCount)&&(this.isEndOfCommand=
!0,this.ichEnd=this.ichToken+1,this.flowContext.setLine());break;case 102439:this.isEndOfCommand=!0;this.ichEnd=this.ichToken+1;this.flowContext.setLine();break;case 135369224:if(1==this.nTokens){if(269484048!=this.theTok)return this.ERROR(19,this.ident);this.forPoint3=this.nSemiSkip=0;this.nSemiSkip+=2}else 3==this.nTokens&&36868==this.tokAt(2)?this.newContextVariable(this.ident):(3==this.nTokens||4==this.nTokens)&&1276116993==this.theTok?(this.nSemiSkip-=2,this.forPoint3=2,this.addTokenToPrefix(this.theToken),
this.theToken=JS.T.tokenLeftParen):0==this.braceCount&&0==this.parenCount&&(this.isEndOfCommand=!0,this.ichEnd=this.ichToken+1,this.flowContext.setLine());break;case 36868:if(1==this.nTokens){this.replaceCommand(JS.T.tokenSetVar);this.newContextVariable(this.ident);break}else{if(this.ident.equals(","))return 2;if(JU.PT.isLetter(this.ident.charAt(0))){this.newContextVariable(this.ident);break}else{if(2!=this.nTokens||this.ident.equals("["))return this.ERROR(0);this.replaceCommand(JS.T.tokenSet)}}case 1085443:1048586==
this.theTok?this.setBraceCount++:1048590==this.theTok&&(this.setBraceCount--,this.isSetBrace&&(0==this.setBraceCount&&2147483647==this.ptNewSetModifier)&&(this.ptNewSetModifier=this.nTokens+1));if(this.nTokens==this.ptNewSetModifier){a=this.tokenAt(0);if(269484048==this.theTok||this.isUserFunction(a.value.toString())){this.ltoken.set(0,this.setCommand(JS.T.tv(1073741824,0,a.value)));this.setBraceCount=0;break}if(1073741824!=this.theTok&&269484242!=this.theTok&&1060866!=this.theTok&&!JS.T.tokAttr(this.theTok,
536870912))return this.isNewSet?this.commandExpected():this.errorIntStr2(18,"SET",": "+this.ident),4;if(1==this.nTokens&&(269484226==this.lastToken.tok||269484225==this.lastToken.tok)){this.replaceCommand(JS.T.tokenSet);this.addTokenToPrefix(this.lastToken);break}}break;case 135271427:if(1060866==this.theTok&&(1==this.nTokens||1073741940==this.lastToken.tok||1073742152==this.lastToken.tok))return this.addTokenToPrefix(JS.T.tokenDefineString),2;1073741848==this.theTok&&(this.iHaveQuotedString=!1);
break;case 1610625028:case 12294:case 12295:case 135280133:case 12291:case 1060866:if(1060866==this.tokCommand){if(1==this.nTokens){if(1073741824!=this.theTok)if(this.preDefining){if(!JS.T.tokAttr(this.theTok,3145728))return this.errorStr2("ERROR IN Token.java or JmolConstants.java -- the following term was used in JmolConstants.java but not listed as predefinedset in Token.java: "+this.ident,null),4}else JS.T.tokAttr(this.theTok,3145728)?JU.Logger.warn("WARNING: predefined term '"+this.ident+"' has been redefined by the user until the next file load."):
!this.isCheckOnly&&1<this.ident.length&&(JU.Logger.warn("WARNING: redefining "+this.ident+"; was "+this.theToken+"not all commands may continue to be functional for the life of the applet!"),this.theTok=this.theToken.tok=1073741824,JS.T.addToken(this.ident,this.theToken));this.addTokenToPrefix(this.theToken);this.lastToken=JS.T.tokenComma;return 2}if(2==this.nTokens&&269484436==this.theTok)return this.ltoken.add(0,JS.T.tokenSet),2}if(0==this.bracketCount&&1073741824!=this.theTok&&!JS.T.tokAttr(this.theTok,
1048576)&&!JS.T.tokAttr(this.theTok,1073741824)&&(this.theTok&480)!=this.theTok)return this.ERROR(9,this.ident);break;case 12289:if(1073741824!=this.theTok&&1048582!=this.theTok&&!JS.T.tokAttr(this.theTok,1048576))return this.ERROR(9,this.ident);break;case 135190:case 135188:case 135180:a=this.charAt(this.ichToken+this.cchToken),0==this.parenCount&&(0==this.bracketCount&&0<=".:/\\+-!?".indexOf(a)&&!("-"==a&&this.ident.equals("=")))&&this.checkUnquotedFileName()}return 0});c$.newScriptParallelProcessor=
d(c$,"newScriptParallelProcessor",function(a,b){var c=J.api.Interface.getInterface("JS.ScriptParallelProcessor",null,null);c.set(a,b);return c},"~S,~N");d(c$,"setNewSetCommand",function(a,b){this.tokCommand=1085443;this.isNewSet=!a&&!this.isUserFunction(b);this.setBraceCount=a?1:0;this.bracketCount=0;this.setEqualPt=2147483647;this.ptNewSetModifier=this.isNewSet?b.equals("(")?2:1:2147483647;return a||269484048==this.theToken.tok||536870918==this.theToken.tok||269484226==this.theToken.tok||269484225==
this.theToken.tok?this.theToken:JS.T.o(1073741824,b)},"~B,~S");d(c$,"checkUnquotedFileName",function(){for(var a=this.ichToken,b;++a<this.cchScript&&!JU.PT.isWhitespace(b=this.script.charAt(a))&&"#"!=b&&";"!=b&&"}"!=b;);b=this.script.substring(this.ichToken,a).$replace("\\","/");this.cchToken=a-this.ichToken;this.theToken=JS.T.o(4,b)});d(c$,"checkFlowStartBrace",function(a){if(!JS.T.tokAttr(this.tokCommand,102400)||102407==this.tokCommand||102408==this.tokCommand)return!1;a&&(102411!=this.tokenCommand.tok&&
102413!=this.tokenCommand.tok&&(this.iBrace++,this.vBraces.addLast(this.tokenCommand),this.lastFlowCommand=null),this.parenCount=this.braceCount=0);return!0},"~B");d(c$,"checkFlowEndBrace",function(){if(0>=this.iBrace||1048590!=this.vBraces.get(this.iBrace-1).tok)return 0;this.vBraces.remove(--this.iBrace);var a=this.vBraces.remove(--this.iBrace);1048586==this.theTok&&(this.braceCount--,this.parenCount--);if(1276384259==a.tok)return this.vPush.remove(--this.pushCount),this.addTokenToPrefix(this.setCommand(JS.ContextToken.newContext(!1))),
this.isEndOfCommand=!0,2;switch(null==this.flowContext?0:this.flowContext.token.tok){case 135369225:case 102402:case 364547:if(364547==this.tokCommand||102402==this.tokCommand)return 0;break;case 102410:case 102411:case 102413:if(102411==this.tokCommand||102413==this.tokCommand)return 0}return this.forceFlowEnd(a)});d(c$,"forceFlowEnd",function(a){var b=this.tokenCommand;this.setCommand(JS.T.o(1150985,"end"));if(!this.checkFlowCommand("end"))return 0;this.addTokenToPrefix(this.tokenCommand);switch(a.tok){case 135369225:case 364547:case 102402:a=
JS.T.tokenIf;break;case 102413:case 102411:a=JS.T.tokenSwitch;break;default:a=JS.T.getTokenFromName(a.value)}if(!this.checkFlowEnd(a.tok,a.value,this.ichBrace))return 4;135368713!=a.tok&&(102436!=a.tok&&364558!=a.tok)&&this.addTokenToPrefix(a);this.setCommand(b);return 2},"JS.T");c$.isBreakableContext=d(c$,"isBreakableContext",function(a){return 135369224==a||102439==a||102406==a||102411==a||102413==a},"~N");d(c$,"checkFlowCommand",function(a){var b=this.lltoken.size(),c=!1,e=!0;switch(this.tokCommand){case 135368713:case 102436:if(null!=
this.flowContext)return this.errorStr(1,JS.T.nameOf(this.tokCommand));break;case 1150985:if(null==this.flowContext)return this.errorStr(1,a);c=!0;135368713!=this.flowContext.token.tok&&(102436!=this.flowContext.token.tok&&364558!=this.flowContext.token.tok)&&this.setCommand(JS.T.tv(this.tokCommand,0<this.flowContext.ptDefault?this.flowContext.ptDefault:-this.flowContext.pt0,a));break;case 364548:c=!0;if(null==this.flowContext||135369225!=this.flowContext.token.tok&&102439!=this.flowContext.token.tok&&
364547!=this.flowContext.token.tok&&102402!=this.flowContext.token.tok)return this.errorStr(1,a);break;case 364547:if(null==this.flowContext||135369225!=this.flowContext.token.tok&&102402!=this.flowContext.token.tok)return this.errorStr(1,a);this.flowContext.token.intValue=this.flowContext.setPt0(b,!1);break;case 102407:case 102408:var e=!1,f=null==this.flowContext?null:this.flowContext.getBreakableContext(0);if(102408==this.tokCommand)for(;null!=f&&135369224!=f.token.tok&&102406!=f.token.tok;)f=
f.getParent();if(null==f)return this.errorStr(1,a);this.setCommand(JS.T.tv(this.tokCommand,f.pt0,a));break;case 102413:if(null==this.flowContext||102410!=this.flowContext.token.tok&&102411!=this.flowContext.token.tok&&0<this.flowContext.ptDefault)return this.errorStr(1,a);this.flowContext.token.intValue=this.flowContext.setPt0(b,!0);break;case 102411:if(null==this.flowContext||102410!=this.flowContext.token.tok&&102411!=this.flowContext.token.tok&&102413!=this.flowContext.token.tok)return this.errorStr(1,
a);this.flowContext.token.intValue=this.flowContext.setPt0(b,!1);break;case 102402:if(null==this.flowContext||135369225!=this.flowContext.token.tok&&102402!=this.flowContext.token.tok&&364547!=this.flowContext.token.tok)return this.errorStr(1,"elseif");this.flowContext.token.intValue=this.flowContext.setPt0(b,!1)}if(c)this.flowContext.token.intValue=102412==this.tokCommand?-b:b,364548==this.tokCommand&&(this.flowContext=this.flowContext.getParent());else if(e)switch(a=JS.ContextToken.newCmd(this.tokCommand,
this.tokenCommand.value),102410==this.tokCommand&&a.addName("_var"),this.setCommand(a),this.tokCommand){case 364558:this.flowContext=new JS.ScriptFlowContext(this,a,b,this.flowContext);null!=this.thisFunction&&this.vFunctionStack.add(0,this.thisFunction);this.thisFunction=JS.ScriptCompiler.newScriptParallelProcessor("",this.tokCommand);this.flowContext.setFunction(this.thisFunction);this.pushCount++;this.vPush.addLast(a);break;case 364547:case 102402:this.flowContext.token=a;break;case 102411:case 102413:a.contextVariables=
this.flowContext.token.contextVariables;this.flowContext.token=a;break;case 102439:case 135369224:case 102406:case 102412:this.pushCount++,this.vPush.addLast(a);default:this.flowContext=new JS.ScriptFlowContext(this,a,b,this.flowContext)}return!0},"~S");d(c$,"checkFlowEnd",function(a,b,c){if(null==this.flowContext||this.flowContext.token.tok!=a){var e=!0;switch(a){case 135369225:e=364547==this.flowContext.token.tok||102402==this.flowContext.token.tok;break;case 102410:e=102411==this.flowContext.token.tok||
102413==this.flowContext.token.tok;break;default:e=!1}if(!e)return this.errorStr(1,"end "+b)}switch(a){case 135369225:case 102410:break;case 102412:case 135369224:case 102439:case 102406:this.vPush.remove(--this.pushCount);break;case 102436:case 135368713:case 364558:this.isCheckOnly||(this.addTokenToPrefix(JS.T.o(a,this.thisFunction)),JS.ScriptFunction.setFunction(this.thisFunction,this.script,c,this.lltoken.size(),this.lineNumbers,this.lineIndices,this.lltoken));this.thisFunction=0==this.vFunctionStack.size()?
null:this.vFunctionStack.remove(0);this.tokenCommand.intValue=0;364558==a&&this.vPush.remove(--this.pushCount);break;default:return this.errorStr(19,"end "+b)}this.flowContext=this.flowContext.getParent();return!0},"~N,~S,~N");d(c$,"getData",function(a){this.addTokenToPrefix(JS.T.o(4,a));this.ichToken+=a.length+2;"\r"==this.charAt(this.ichToken)&&(this.lineCurrent++,this.ichToken++);"\n"==this.charAt(this.ichToken)&&(this.lineCurrent++,this.ichToken++);var b=this.script.indexOf(this.chFirst+a+this.chFirst,
this.ichToken)-4;if(0>b||!this.script.substring(b,b+4).equalsIgnoreCase("END "))return!1;var c=this.script.substring(this.ichToken,b);this.incrementLineCount(c);this.addTokenToPrefix(JS.T.o(135270408,c));this.addTokenToPrefix(JS.T.o(1073741824,"end"));this.addTokenToPrefix(JS.T.o(4,a));this.cchToken=b-this.ichToken+a.length+6;return!0},"~S");d(c$,"incrementLineCount",function(a){var b,c=a.indexOf("\r"),e=a.indexOf("\n");if(0>c&&0>e)return 0;var f=this.lineCurrent;if(0>c||e<c)c=e;for(e=a.length;--e>=
c;)("\n"==(b=a.charAt(e))||"\r"==b)&&this.lineCurrent++;return this.lineCurrent-f},"~S");c$.isSpaceOrTab=d(c$,"isSpaceOrTab",function(a){return" "==a||"\t"==a},"~S");d(c$,"eol",function(a){return"\x00"==a||"\r"==a||"\n"==a||";"==a&&0>=this.nSemiSkip},"~S");d(c$,"lookingAtSetBraceSyntax",function(){for(var a=this.ichToken,b=1;++a<this.cchScript&&0<b;)switch(this.script.charAt(a)){case "{":b++;break;case "}":b--}if("["==this.charAt(a)&&1==++b)for(;++a<this.cchScript&&0<b;)switch(this.script.charAt(a)){case "[":b++;
break;case "]":"["==this.charAt(a+1)?a++:b--}return"."==this.charAt(a)&&0==b?!0:!1});d(c$,"lookingAtString",function(a){if(this.ichToken+2>this.cchScript)return!1;this.chFirst=this.script.charAt(this.ichToken);if('"'!=this.chFirst&&(!a||"'"!=this.chFirst))return!1;a=this.ichToken;for(var b,c=!1;++a<this.cchScript;){b=this.script.charAt(a);if(b==this.chFirst&&!c)break;c="\\"==b?!c:!1}a==this.cchScript?(this.cchToken=-1,this.ichEnd=this.cchScript):this.cchToken=++a-this.ichToken;return!0},"~B");d(c$,
"getUnescapedStringLiteral",function(a){if(a&&(a=this.script.substring(this.ichToken+1,this.ichToken+this.cchToken-1),0<=a.indexOf("\\u")&&(a=JU.Escape.unescapeUnicode(a)),0!=a.indexOf(";base64,")))return a;a=JU.SB.newN(this.cchToken-2);for(var b=this.ichToken+this.cchToken-1,c=this.ichToken+1;c<b;){var e=this.script.charAt(c++);if("\\"==e&&c<b)switch(e=this.script.charAt(c++),e){case "n":e="\n";break;case "t":e="\t";break;case "r":e="\r";case '"':case "\\":case "'":break;case "x":case "u":var f=
"x"==e?2:4;if(c<b){for(e=0;0<=--f&&c<b;){var h=this.script.charAt(c),h=JU.Escape.getHexitValue(h);if(0>h)break;e<<=4;e+=h;++c}e=String.fromCharCode(e)}}a.appendC(e)}return a.toString()},"~B");d(c$,"lookingAtLoadFormat",function(a){for(var b=this.ichToken,c;JU.PT.isLetterOrDigit(c=this.charAt(b))&&(a||JU.PT.isLetter(c))||a&&!this.eol(c)&&!JU.PT.isWhitespace(c);)++b;if(!a&&b==this.ichToken||!JS.ScriptCompiler.isSpaceOrTab(c))return!1;this.cchToken=b-this.ichToken;return!0},"~B");d(c$,"lookingAtImpliedString",
function(a,b,c){var e=this.ichToken,f=this.script.charAt(e),h=1074790550==this.lastToken.tok,d=JS.T.tokAttr(this.tokCommand,20480)&&1==(this.tokCommand&1),g="@"==f;if(g&&(e+3<this.cchScript&&"{"==this.script.charAt(e+1))&&(h||!d))return!1;for(var d=h=-1,C=!0,n=0;C&&!this.eol(f=this.charAt(e));){switch(f){case "(":if(!c&&(4124==this.tokCommand||5<=e&&(this.script.substring(e-4,e).equals(".spt")||this.script.substring(e-4,e).equals(".png")||this.script.substring(e-5,e).equals(".pngj")))){C=!1;continue}break;
case "=":if(!b){C=!1;continue}break;case "{":n++;break;case "}":if(n--,0>n&&(0<this.braceCount||0<this.iBrace)){C=!1;continue}default:JU.PT.isWhitespace(f)?0>h&&(h=e):d=e}++e}a?e=d+1:0<h&&(e=h);return g&&(!a||0>h&&0>=n&&1<e-this.ichToken)?!1:0<(this.cchToken=e-this.ichToken)},"~B,~B,~B");d(c$,"lookingAtExponential",function(){if(this.ichToken==this.cchScript)return NaN;var a=this.ichToken,b=a;"-"==this.script.charAt(a)&&++a;for(var c=!1,e="X";JU.PT.isDigit(e=this.charAt(a));)++a,c=!0;for(a<this.cchScript&&
"."==e&&++a;JU.PT.isDigit(e=this.charAt(a));)++a,c=!0;if(a==this.cchScript||!c||(c="E"!=e&&"e"!=e)||++a==this.cchScript)return NaN;e=this.script.charAt(a);for(("-"==e||"+"==e)&&a++;JU.PT.isDigit(this.charAt(a));)a++,c=!0;if(!c)return NaN;this.cchToken=a-this.ichToken;return JU.PT.dVal(this.script.substring(b,a))});d(c$,"lookingAtDecimal",function(){if(this.ichToken==this.cchScript)return!1;var a=this.ichToken;"-"==this.script.charAt(a)&&++a;for(var b=!1,c;JU.PT.isDigit(c=this.charAt(a++));)b=!0;if("."!=
c)return!1;if(!this.eol(c=this.charAt(a)))if(JU.PT.isLetter(c)||"?"==c||"*"==c||JU.PT.isLetter(c=this.charAt(a+1))||"?"==c)return!1;for(;JU.PT.isDigit(this.charAt(a));)++a,b=!0;this.cchToken=a-this.ichToken;return b});d(c$,"lookingAtSeqcode",function(){var a=this.ichToken,b;if("^"==this.charAt(a+1)&&"*"==this.script.charAt(a))b="^",++a;else for("-"==this.script.charAt(a)&&++a;JU.PT.isDigit(b=this.charAt(a));)++a;if("^"!=b)return!1;a++;b=a==this.cchScript?" ":this.script.charAt(a++);if(" "!=b&&"*"!=
b&&"?"!=b&&!JU.PT.isLetter(b))return!1;this.cchToken=a-this.ichToken;return!0});d(c$,"lookingAtInteger",function(){if(this.ichToken==this.cchScript)return 2147483647;var a=this.ichToken;"-"==this.script.charAt(this.ichToken)&&++a;for(var b=a;JU.PT.isDigit(this.charAt(a));)++a;if(b==a)return 2147483647;this.cchToken=a-this.ichToken;try{return Integer.parseInt(this.ident=this.script.substring(this.ichToken,a))}catch(c){if(!B(c,NumberFormatException))throw c;}return 2147483647});d(c$,"lookingAtBitset",
function(){if(this.script.indexOf("({null})",this.ichToken)==this.ichToken)return this.cchToken=8,new JU.BS;var a;if(this.ichToken+4>this.cchScript||"{"!=this.script.charAt(this.ichToken+1)||0>(a=this.script.indexOf("}",this.ichToken))||a+1==this.cchScript)return null;var b=JU.BS.unescape(this.script.substring(this.ichToken,a+2));null!=b&&(this.cchToken=a+2-this.ichToken);return b});d(c$,"lookingAtObjectID",function(){var a=1==this.nTokens,b=this.ichToken;if("$"!=this.charAt(b)||'"'==this.charAt(++b))return!1;
for(;b<this.cchScript;){var c;if(JU.PT.isWhitespace(c=this.script.charAt(b))){if(b==this.ichToken+1)return!1;break}if(!JU.PT.isLetterOrDigit(c))switch(c){default:return!1;case "*":if(!a)return!1;case "~":case "_":}b++}this.cchToken=b-++this.ichToken;return!0});d(c$,"lookingAtLookupToken",function(a){if(a==this.cchScript)return!1;var b=a;this.afterMath=0!=this.tokLastMath?a:0;this.tokLastMath=0;var c;switch(c=this.script.charAt(a++)){case "-":case "+":case "&":case "|":case "*":if(a<this.cchScript)if(this.script.charAt(a)==
c){++a;if("-"==c||"+"==c)break;"&"==c&&this.charAt(a)==c&&++a}else"="==this.script.charAt(a)&&++a;this.tokLastMath=1;break;case "/":if("/"==this.charAt(a))break;case "\\":case "!":"="==this.charAt(a)&&++a;this.tokLastMath=1;break;case ")":case "]":case "}":break;case ".":"."==this.charAt(a)&&++a;break;case "@":case "{":this.tokLastMath=2;break;case ":":this.tokLastMath=1;break;case "(":case ",":case "$":case ";":case "[":case "%":this.tokLastMath=1;break;case "<":case "=":case ">":("<"==(c=this.charAt(a))||
"="==c||">"==c)&&++a;this.tokLastMath=1;break;default:if(!JU.PT.isLetter(c)&&!this.isDotDot)return!1;case "~":case "_":case "'":case "?":"?"==c&&(this.tokLastMath=1);for(;JU.PT.isLetterOrDigit(c=this.charAt(a))||"_"==c||"*"==c&&"?"==this.charAt(a-1)||"?"==c||"~"==c||"'"==c||"\\"==c&&"?"==this.charAt(a+1)||"^"==c&&a>b&&JU.PT.isDigit(this.charAt(a-1));)++a}this.cchToken=a-b;return!0},"~N");d(c$,"lookForSyncID",function(){var a;if('"'==(a=this.charAt(this.ichToken))||"@"==a||"\x00"==a)return!1;for(var b=
this.ichToken;!JS.ScriptCompiler.isSpaceOrTab(a=this.charAt(b))&&"#"!=a&&"}"!=a&&!this.eol(a);)++b;this.cchToken=b-this.ichToken;return!0});d(c$,"ERROR",function(a){this.errorIntStr2(a,null,null);return 4},"~N");d(c$,"ERROR",function(a,b){this.errorStr(a,b);return 4},"~N,~S");d(c$,"handleError",function(){this.errorType=this.errorMessage;this.errorLine=this.script.substring(this.ichCurrentCommand,this.ichEnd<=this.ichCurrentCommand?this.ichToken:this.ichEnd);var a=(this.ichToken<this.ichEnd?this.errorLine.substring(0,
this.ichToken-this.ichCurrentCommand)+" >>>> "+this.errorLine.substring(this.ichToken-this.ichCurrentCommand):this.errorLine)+" <<<<";this.errorMessage=J.i18n.GT._("script compiler ERROR: ")+this.errorMessage+JS.ScriptError.getErrorLineMessage(null,this.filename,this.lineCurrent,this.iCommand,a);if(!this.isSilent){for(this.ichToken=Math.max(this.ichEnd,this.ichToken);!this.lookingAtEndOfLine()&&!this.lookingAtTerminator();)this.ichToken++;this.errorLine=this.script.substring(this.ichCurrentCommand,
this.ichToken);this.vwr.addCommand(this.errorLine+"#??");JU.Logger.error(this.errorMessage)}return!1});P(c$,"OK",0,"OK2",1,"CONTINUE",2,"EOL",3,"$ERROR",4)});E("JS");H(["J.thread.JmolThread"],"JS.ScriptDelayThread",null,function(){c$=F(function(){this.seconds=this.millis=0;this.isPauseDelay=this.doPopPush=!1;K(this,arguments)},JS,"ScriptDelayThread",J.thread.JmolThread);L(c$,function(a,b,c){T(this,JS.ScriptDelayThread,[]);this.setViewer(b,"ScriptDelayThread");this.millis=c;this.setEval(a)},"J.api.JmolScriptEvaluator,JV.Viewer,~N");
k(c$,"run1",function(a){for(;;)switch(a){case -1:var b;this.doPopPush=0<this.millis;this.isPauseDelay=-100==this.millis;if(this.doPopPush){if(0<(b=this.vwr.getDelayMaximumMs())&&this.millis>b)this.millis=b}else this.millis=-this.millis;this.millis-=System.currentTimeMillis()-this.startTime;this.isJS?this.seconds=0:(this.seconds=N(this.millis/1E3),this.millis-=1E3*this.seconds,0>=this.millis&&(this.millis=1));this.doPopPush&&this.vwr.popHoldRepaint("scriptDelayThread INIT");a=0;break;case 0:if(this.stopped||
this.eval.isStopped()){a=-2;break}if(!this.runSleep(0<this.seconds--?1E3:this.millis,-2))return;0>this.seconds&&(this.millis=0);a=0<this.seconds||0<this.millis?0:-2;break;case -2:this.doPopPush&&this.vwr.pushHoldRepaintWhy("delay FINISH");this.isPauseDelay&&this.eval.notifyResumeStatus();this.resumeEval();return}},"~N");P(c$,"PAUSE_DELAY",-100)});E("JS");H(["J.api.JmolScriptEvaluator"],"JS.ScriptError",["java.lang.NullPointerException","JU.PT","J.i18n.GT","JS.ScriptException"],function(){c$=F(function(){this.vwr=
null;this.$error=this.ignoreError=this.chk=!1;this.errorType=this.errorMessageUntranslated=this.errorMessage=null;this.iCommandError=0;K(this,arguments)},JS,"ScriptError",null,J.api.JmolScriptEvaluator);k(c$,"getErrorMessage",function(){return this.errorMessage});k(c$,"getErrorMessageUntranslated",function(){return null==this.errorMessageUntranslated?this.errorMessage:this.errorMessageUntranslated});d(c$,"invArg",function(){this.error(22)});d(c$,"bad",function(){this.error(2)});d(c$,"integerOutOfRange",
function(a,b){this.errorOrWarn(21,""+a,""+b,null,!0)},"~N,~N");d(c$,"numberOutOfRange",function(a,b){this.errorOrWarn(36,""+a,""+b,null,!0)},"~N,~N");d(c$,"error",function(a){this.errorOrWarn(a,null,null,null,!1)},"~N");d(c$,"errorStr",function(a,b){this.errorOrWarn(a,b,null,null,!1)},"~N,~S");d(c$,"errorStr2",function(a,b,c){this.errorOrWarn(a,b,c,null,!1)},"~N,~S,~S");d(c$,"errorMore",function(a,b,c,e){this.errorOrWarn(a,b,c,e,!1)},"~N,~S,~S,~S");d(c$,"warning",function(a,b,c){this.errorOrWarn(a,
b,c,null,!0)},"~N,~S,~S");d(c$,"errorOrWarn",function(a,b,c,e,f){var h=this.ignoreError?null:JS.ScriptError.errorString(a,b,c,e,!0);a=this.ignoreError||!J.i18n.GT.getDoTranslate()?null:JS.ScriptError.errorString(a,b,c,e,!1);f||this.evalError(h,a);this.showString(h)},"~N,~S,~S,~S,~B");d(c$,"evalError",function(a,b){if(this.ignoreError)throw new NullPointerException;this.chk||(this.setCursorWait(!1),this.vwr.setBooleanProperty("refreshing",!0),this.vwr.setStringProperty("_errormessage",b));throw new JS.ScriptException(this,
a,b,!0);},"~S,~S");d(c$,"setCursorWait",function(a){this.chk||this.vwr.setCursor(a?3:0)},"~B");c$.errorString=d(c$,"errorString",function(a,b,c,e,f){e=!1;!f&&!0==(e=J.i18n.GT.getDoTranslate())&&J.i18n.GT.setDoTranslate(!1);switch(a){default:a="Unknown error message number: "+a;break;case 0:a=J.i18n.GT._("x y z axis expected");break;case 1:a=J.i18n.GT._("{0} not allowed with background model displayed");break;case 2:a=J.i18n.GT._("bad argument count");break;case 3:a=J.i18n.GT._("Miller indices cannot all be zero.");
break;case 4:a=J.i18n.GT._("bad [R,G,B] color");break;case 5:a=J.i18n.GT._("boolean expected");break;case 6:a=J.i18n.GT._("boolean or number expected");break;case 7:a=J.i18n.GT._("boolean, number, or {0} expected");break;case 56:a=J.i18n.GT._("cannot set value");break;case 8:a=J.i18n.GT._("color expected");break;case 9:a=J.i18n.GT._("a color or palette name (Jmol, Rasmol) is required");break;case 10:a=J.i18n.GT._("command expected");break;case 11:a=J.i18n.GT._("{x y z} or $name or (atom expression) required");
break;case 12:a=J.i18n.GT._("draw object not defined");break;case 13:a=J.i18n.GT._("unexpected end of script command");break;case 14:a=J.i18n.GT._("valid (atom expression) expected");break;case 15:a=J.i18n.GT._("(atom expression) or integer expected");break;case 16:a=J.i18n.GT._("filename expected");break;case 17:a=J.i18n.GT._("file not found");break;case 18:a=J.i18n.GT._("incompatible arguments");break;case 19:a=J.i18n.GT._("insufficient arguments");break;case 20:a=J.i18n.GT._("integer expected");
break;case 21:a=J.i18n.GT._("integer out of range ({0} - {1})");break;case 22:a=J.i18n.GT._("invalid argument");break;case 23:a=J.i18n.GT._("invalid parameter order");break;case 24:a=J.i18n.GT._("keyword expected");break;case 25:a=J.i18n.GT._("no MO coefficient data available");break;case 26:a=J.i18n.GT._("An MO index from 1 to {0} is required");break;case 27:a=J.i18n.GT._("no MO basis/coefficient data available for this frame");break;case 28:a=J.i18n.GT._("no MO occupancy data available");break;
case 29:a=J.i18n.GT._("Only one molecular orbital is available in this file");break;case 30:a=J.i18n.GT._("{0} require that only one model be displayed");break;case 55:a=J.i18n.GT._("{0} requires that only one model be loaded");break;case 31:a=J.i18n.GT._("No data available");break;case 32:a=J.i18n.GT._("No partial charges were read from the file; Jmol needs these to render the MEP data.");break;case 33:a=J.i18n.GT._("No unit cell");break;case 34:a=J.i18n.GT._("number expected");break;case 35:a=J.i18n.GT._("number must be ({0} or {1})");
break;case 36:a=J.i18n.GT._("decimal number out of range ({0} - {1})");break;case 37:a=J.i18n.GT._("object name expected after '$'");break;case 38:a=J.i18n.GT._("plane expected -- either three points or atom expressions or {0} or {1} or {2}");break;case 39:a=J.i18n.GT._("property name expected");break;case 40:a=J.i18n.GT._("space group {0} was not found.");break;case 41:a=J.i18n.GT._("quoted string expected");break;case 42:a=J.i18n.GT._("quoted string or identifier expected");break;case 43:a=J.i18n.GT._("too many rotation points were specified");
break;case 44:a=J.i18n.GT._("too many script levels");break;case 45:a=J.i18n.GT._("unrecognized atom property");break;case 46:a=J.i18n.GT._("unrecognized bond property");break;case 47:a=J.i18n.GT._("unrecognized command");break;case 48:a=J.i18n.GT._("runtime unrecognized expression");break;case 49:a=J.i18n.GT._("unrecognized object");break;case 50:a=J.i18n.GT._("unrecognized {0} parameter");break;case 51:a=J.i18n.GT._("unrecognized {0} parameter in Jmol state script (set anyway)");break;case 52:a=
J.i18n.GT._("unrecognized SHOW parameter --  use {0}");break;case 53:a="{0}";break;case 54:a=J.i18n.GT._('write what? {0} or {1} "filename"')}0>a.indexOf("{0}")?null!=b&&(a+=": "+b):(a=JU.PT.rep(a,"{0}",b),0<=a.indexOf("{1}")?a=JU.PT.rep(a,"{1}",c):null!=c&&(a+=": "+c),0<=a.indexOf("{2}")&&(a=JU.PT.rep(a,"{2}",c)));e&&J.i18n.GT.setDoTranslate(!0);return a},"~N,~S,~S,~S,~B");c$.getErrorLineMessage=d(c$,"getErrorLineMessage",function(a,b,c,e,f){var h="\n----";if(null!=b||null!=a)h+="line "+c+" command "+
(e+1)+" of "+(null==a?b:a.equals("try")?"try":"function "+a)+":";return h+("\n         "+f)},"~S,~S,~N,~N,~S");d(c$,"setErrorMessage",function(a){this.errorMessageUntranslated=null;null==a?(this.$error=!1,this.errorMessage=this.errorType=null,this.iCommandError=-1):(this.$error=!0,null==this.errorMessage&&(this.errorMessage=J.i18n.GT._("script ERROR: ")),this.errorMessage+=a)},"~S");P(c$,"ERROR_axisExpected",0,"ERROR_backgroundModelError",1,"ERROR_badArgumentCount",2,"ERROR_badMillerIndices",3,"ERROR_badRGBColor",
4,"ERROR_booleanExpected",5,"ERROR_booleanOrNumberExpected",6,"ERROR_booleanOrWhateverExpected",7,"ERROR_colorExpected",8,"ERROR_colorOrPaletteRequired",9,"ERROR_commandExpected",10,"ERROR_coordinateOrNameOrExpressionRequired",11,"ERROR_drawObjectNotDefined",12,"ERROR_endOfStatementUnexpected",13,"ERROR_expressionExpected",14,"ERROR_expressionOrIntegerExpected",15,"ERROR_filenameExpected",16,"ERROR_fileNotFoundException",17,"ERROR_incompatibleArguments",18,"ERROR_insufficientArguments",19,"ERROR_integerExpected",
20,"ERROR_integerOutOfRange",21,"ERROR_invalidArgument",22,"ERROR_invalidParameterOrder",23,"ERROR_keywordExpected",24,"ERROR_moCoefficients",25,"ERROR_moIndex",26,"ERROR_moModelError",27,"ERROR_moOccupancy",28,"ERROR_moOnlyOne",29,"ERROR_multipleModelsDisplayedNotOK",30,"ERROR_noData",31,"ERROR_noPartialCharges",32,"ERROR_noUnitCell",33,"ERROR_numberExpected",34,"ERROR_numberMustBe",35,"ERROR_numberOutOfRange",36,"ERROR_objectNameExpected",37,"ERROR_planeExpected",38,"ERROR_propertyNameExpected",
39,"ERROR_spaceGroupNotFound",40,"ERROR_stringExpected",41,"ERROR_stringOrIdentifierExpected",42,"ERROR_tooManyPoints",43,"ERROR_tooManyScriptLevels",44,"ERROR_unrecognizedAtomProperty",45,"ERROR_unrecognizedBondProperty",46,"ERROR_unrecognizedCommand",47,"ERROR_unrecognizedExpression",48,"ERROR_unrecognizedObject",49,"ERROR_unrecognizedParameter",50,"ERROR_unrecognizedParameterWarning",51,"ERROR_unrecognizedShowParameter",52,"ERROR_what",53,"ERROR_writeWhat",54,"ERROR_multipleModelsNotOK",55,"ERROR_cannotSet",
56)});E("JS");H(["JS.ScriptExpr"],"JS.ScriptEval","java.lang.Boolean $.Float $.NullPointerException $.Thread java.util.Arrays $.Hashtable javajs.awt.Font JU.AU $.BArray $.BS $.Base64 $.Lst $.M3 $.M4 $.Measure $.P3 $.P4 $.PT $.Quat $.SB $.V3 J.api.Interface $.JmolParallelProcessor J.atomdata.RadiusData J.c.PAL $.STR $.VDW J.i18n.GT J.io.JmolBinary JM.BondSet $.Group JS.FileLoadThread $.SV $.ScriptCompiler $.ScriptContext $.ScriptDelayThread $.ScriptInterruption $.ScriptManager $.ScriptMathProcessor $.T JU.BSUtil $.ColorEncoder $.Edge $.Elements $.Escape $.Logger $.Parser $.SimpleUnitCell $.Txt JV.ActionManager $.FileManager $.JC $.StateManager $.Viewer".split(" "),
function(){c$=F(function(){this.sm=null;this.isJS=!1;this.fileLoadThread=this.scriptDelayThread=null;this.allowJSThreads=!0;this.executing=this.executionStepping=this.executionPaused=this.executionStopped=this.tQuiet=this.listCommands=this.isCmdLine_c_or_C_Option=this.isCmdLine_C_Option=this.debugScript=this.historyDisabled=!1;this.timeEndExecution=this.timeBeginExecution=0;this.mustResumeEval=!1;this.outputBuffer=this.compiler=this.currentThread=null;this.contextPath="";this.functionName=this.scriptFileName=
null;this.$isStateScript=!1;this.scriptLevel=0;this.scriptExtensions=this.script=this.lineIndices=this.lineNumbers=this.aatoken=null;this.pc=0;this.fullCommand=this.thisCommand=null;this.pcEnd=this.lineEnd=0;this.forceNoAddHydrogens=!1;this.parallelProcessor=null;this.pcResume=-1;K(this,arguments)},JS,"ScriptEval",JS.ScriptExpr);k(c$,"getAllowJSThreads",function(){return this.allowJSThreads});d(c$,"doReport",function(){return!this.tQuiet&&this.scriptLevel<=JS.ScriptEval.scriptReportingLevel});k(c$,
"isStateScript",function(){return this.$isStateScript});k(c$,"setStatic",function(a,b){switch(a){case 553648167:return 10<=b&&(JS.ScriptEval.contextDepthMax=b),JS.ScriptEval.contextDepthMax;case 553648148:return 0<=b&&(JS.ScriptEval.commandHistoryLevelMax=b),JS.ScriptEval.commandHistoryLevelMax;case 553648168:return 0<=b&&(JS.ScriptEval.scriptReportingLevel=b),JS.ScriptEval.scriptReportingLevel}return 0},"~N,~N");k(c$,"getScript",function(){return this.script});L(c$,function(){this.currentThread=
Thread.currentThread()});k(c$,"setViewer",function(a){this.vwr=a;this.compiler=null==this.compiler?a.compiler:this.compiler;this.isJS=a.isSingleThreaded;return this},"JV.Viewer");k(c$,"setCompiler",function(){this.vwr.compiler=this.compiler=new JS.ScriptCompiler(this.vwr)});k(c$,"compileScriptString",function(a,b){this.clearState(b);this.contextPath="[script]";return this.compileScript(null,a,this.debugScript)},"~S,~B");k(c$,"compileScriptFile",function(a,b){this.clearState(b);this.contextPath=a;
return this.compileScriptFileInternal(a,null,null,null)},"~S,~B");k(c$,"evaluateCompiledScript",function(a,b,c,e,f,h){var d=this.isCmdLine_C_Option;this.isCmdLine_C_Option=b;this.chk=this.isCmdLine_c_or_C_Option=a;this.historyDisabled=c;this.outputBuffer=f;this.currentThread=Thread.currentThread();this.allowJSThreads=h;this.listCommands=e;this.timeBeginExecution=System.currentTimeMillis();this.executionStepping=this.executionStopped=this.executionPaused=!1;this.executing=!0;this.vwr.pushHoldRepaintWhy("runEval");
this.setScriptExtensions();this.executeCommands(!1,!0);this.isCmdLine_C_Option=d;this.$isStateScript&&JS.ScriptManager.setStateScriptVersion(this.vwr,null)},"~B,~B,~B,~B,JU.SB,~B");d(c$,"useThreads",function(){return!this.chk&&!this.vwr.headless&&!this.vwr.autoExit&&this.vwr.haveDisplay&&null==this.outputBuffer&&this.allowJSThreads});d(c$,"executeCommands",function(a,b){var c=!1;try{if(!this.dispatchCommands(!1,!1,a))return}catch(e){if(B(e,Error))this.vwr.handleError(e,!1),this.setErrorMessage(""+
e+" "+this.vwr.getShapeErrorState()),this.errorMessageUntranslated=""+e,this.report(this.errorMessage),c=!0;else if(B(e,JS.ScriptException)){if(q(e,JS.ScriptInterruption)&&(!a||!e.isError))return;if(a){this.vwr.setStringProperty("_errormessage",""+e);return}this.setErrorMessage(e.toString());this.errorMessageUntranslated=e.getErrorMessageUntranslated();this.report(this.errorMessage);this.vwr.notifyError(null!=this.errorMessage&&0<=this.errorMessage.indexOf("java.lang.OutOfMemoryError")?"Error":"ScriptException",
this.errorMessage,this.errorMessageUntranslated);c=!0}else throw e;}if(c||!this.isJS||!this.allowJSThreads)this.vwr.setTainted(!0),this.vwr.popHoldRepaint("executeCommands "+(0<this.scriptLevel?"\u0001## REPAINT_IGNORE ##":""));this.timeEndExecution=System.currentTimeMillis();null==this.errorMessage&&this.executionStopped?this.setErrorMessage("execution interrupted"):!this.tQuiet&&b&&this.vwr.scriptStatus("Script completed");this.executing=this.chk=this.isCmdLine_c_or_C_Option=this.historyDisabled=
!1;c=this.getErrorMessageUntranslated();this.vwr.setErrorMessage(this.errorMessage,c);!this.tQuiet&&b&&this.vwr.setScriptStatus("Jmol script terminated",this.errorMessage,1+(this.timeEndExecution-this.timeBeginExecution),c)},"~B,~B");k(c$,"resumeEval",function(a){this.setErrorMessage(null);this.executionStopped||null==a||!a.mustResumeEval?this.resumeViewer("resumeEval"):(this.executionPaused||a.pc++,this.thisContext=a,0<a.scriptLevel&&(this.scriptLevel=a.scriptLevel-1),this.restoreScriptContext(a,
!0,!1,!1),this.pcResume=a.pc,this.executeCommands(a.isTryCatch,0>=this.scriptLevel),this.pcResume=-1)},"JS.ScriptContext");d(c$,"resumeViewer",function(a){this.vwr.setTainted(!0);this.vwr.popHoldRepaint(a+(this.chk?"\u0001## REPAINT_IGNORE ##":""));this.vwr.queueOnHold=!1},"~S");k(c$,"runScript",function(a){this.vwr.isPreviewOnly||this.runScriptBuffer(a,this.outputBuffer)},"~S");k(c$,"runScriptBuffer",function(a,b){this.pushContext(null,"runScriptBuffer");this.contextPath+=" >> script() ";this.outputBuffer=
b;this.allowJSThreads=!1;this.compileScript(null,a+"\u0001## EDITOR_IGNORE ##\u0001## REPAINT_IGNORE ##",!1)&&this.dispatchCommands(!1,!1,!1);this.popContext(!1,!1)},"~S,JU.SB");k(c$,"checkScriptSilent",function(a){a=this.compiler.compile(null,a,!1,!0,!1,!0);if(null!=a.errorType)return a;this.restoreScriptContext(a,!1,!1,!1);this.chk=!0;this.isCmdLine_c_or_C_Option=this.isCmdLine_C_Option=!1;this.pc=0;try{this.dispatchCommands(!1,!1,!1)}catch(b){if(B(b,JS.ScriptException))this.setErrorMessage(b.toString()),
a=this.getScriptContext("checkScriptSilent");else throw b;}this.chk=!1;return a},"~S");c$.getContextTrace=d(c$,"getContextTrace",function(a,b,c,e){null==c&&(c=new JU.SB);c.append(JS.ScriptError.getErrorLineMessage(b.functionName,b.scriptFileName,b.lineNumbers[b.pc],b.pc,JS.ScriptEval.statementAsString(a,b.statement,e?b.iToken:9999,!1)));null!=b.parentContext&&JS.ScriptEval.getContextTrace(a,b.parentContext,c,!1);return c},"JV.Viewer,JS.ScriptContext,JU.SB,~B");k(c$,"setDebugging",function(){this.debugHigh=
(this.debugScript=this.vwr.getBoolean(603979825))&&JU.Logger.debugging});k(c$,"haltExecution",function(){this.resumePausedExecution();this.executionStopped=!0});k(c$,"pauseExecution",function(a){!this.chk&&!this.vwr.headless&&(a&&!this.isJS&&this.delayScript(-100),this.vwr.popHoldRepaint("pauseExecution "+a),this.executionStepping=!1,this.executionPaused=!0)},"~B");k(c$,"stepPausedExecution",function(){this.executionStepping=!0;this.executionPaused=!1});k(c$,"resumePausedExecution",function(){this.executionStepping=
this.executionPaused=!1});k(c$,"isExecuting",function(){return this.executing&&!this.executionStopped});k(c$,"isPaused",function(){return this.executionPaused});k(c$,"isStepping",function(){return this.executionStepping});k(c$,"isStopped",function(){return this.executionStopped||!this.isJS&&this.currentThread!==Thread.currentThread()});k(c$,"getNextStatement",function(){return this.pc<this.aatoken.length?JS.ScriptError.getErrorLineMessage(this.functionName,this.scriptFileName,this.getLinenumber(null),
this.pc,JS.ScriptEval.statementAsString(this.vwr,this.aatoken[this.pc],-9999,this.debugHigh)):""});d(c$,"getCommand",function(a,b){if(a>=this.lineIndices.length)return"";if(b){for(var c=-1,e=this.script.length,f=0;f<this.lineNumbers.length;f++)if(this.lineNumbers[f]==this.lineNumbers[a])0>c&&(c=this.lineIndices[f][0]),e=this.lineIndices[f][1];else if(0==this.lineNumbers[f]||this.lineNumbers[f]>this.lineNumbers[a])break;f=this.script;0<=f.indexOf("\u0001")&&(f=f.substring(0,f.indexOf("\u0001")));e==
f.length-1&&f.endsWith("}")&&e++;return c==f.length||e<c?"":f.substring(Math.max(c,0),Math.min(f.length,e))}c=this.lineIndices[a][0];e=this.lineIndices[a][1];f="";if(0>c||e<=c||e>this.script.length)return"";try{f=this.script.substring(c,e),0<=f.indexOf("\\\n")&&(f=JU.PT.rep(f,"\\\n","  ")),0<=f.indexOf("\\\r")&&(f=JU.PT.rep(f,"\\\r","  ")),0<f.length&&!f.endsWith(";")&&(f+=";")}catch(h){if(B(h,Exception))JU.Logger.error("darn problem in Eval getCommand: ichBegin="+c+" ichEnd="+e+" len = "+this.script.length+
"\n"+h);else throw h;}return f},"~N,~B,~B");d(c$,"logDebugScript",function(a,b){this.iToken=-9999;if(this.debugHigh){0<a.length&&JU.Logger.debug(a[0].toString());for(var c=1;c<a.length;++c)null!=a[c]&&JU.Logger.debug(a[c].toString());var c=new JU.SB,e=0<b?"                          ".substring(0,2*b):"";c.append(e).append(JS.ScriptEval.statementAsString(this.vwr,a,this.iToken,this.debugHigh));this.vwr.scriptStatus(c.toString())}else c=this.getCommand(this.pc,!1,!1),""!==c&&this.vwr.scriptStatus(c)},
"~A,~N");k(c$,"evaluateExpression",function(a,b,c){var e=(new JS.ScriptEval).setViewer(this.vwr);try{e.thisContext=this.thisContext,e.contextVariables=this.contextVariables,e.pushContext(null,"evalExp"),e.allowJSThreads=!1}catch(f){if(!B(f,JS.ScriptException))throw f;}var h=this.executing;a=e.evaluate(a,b,c);this.executing=h;return a},"~O,~B,~B");d(c$,"evaluate",function(a,b,c){try{if(q(a,String)){if(this.compileScript(null,"e_x_p_r_e_s_s_i_o_n = "+a,!1)){if(c)return this.aatoken[0];this.setStatement(this.aatoken[0]);
return b?this.parameterExpressionList(2,-1,!1).get(0):this.parameterExpressionString(2,0)}}else if(q(a,Array)){var e=this.atomExpression(a,0,0,!0,!1,!0,!1);return b?JS.SV.newV(10,e):e}}catch(f){if(B(f,Exception))JU.Logger.error("Error evaluating: "+a+"\n"+f);else throw f;}return b?JS.SV.getVariable("ERROR"):"ERROR"},"~O,~B,~B");k(c$,"checkSelect",function(a,b){var c=!1;try{this.pushContext(null,"checkSelect"),c=this.parameterExpressionSelect(a,b)}catch(e){if(B(e,Exception))JU.Logger.error("checkSelect "+
e);else throw e;}this.popContext(!1,!1);return c},"java.util.Map,~A");k(c$,"getAtomBitSet",function(a){if(q(a,JU.BS))return a;var b=new JU.BS;try{this.pushContext(null,"getAtomBitSet");var c="select ("+a+")",c=JU.PT.replaceAllCharacters(c,"\n\r","),("),c=JU.PT.rep(c,"()","(none)");this.compileScript(null,c,!1)&&(this.st=this.aatoken[0],b=this.atomExpression(this.st,1,0,!1,!1,!0,!0));this.popContext(!1,!1)}catch(e){if(B(e,Exception))JU.Logger.error("getAtomBitSet "+a+"\n"+e);else throw e;}return b},
"~O");k(c$,"getAtomBitSetVector",function(a,b){for(var c=new JU.Lst,e=this.getAtomBitSet(b),f=e.nextSetBit(0);0<=f;f=e.nextSetBit(f+1))c.addLast(Integer.$valueOf(f));return c},"~N,~O");d(c$,"compileScript",function(a,b,c){this.scriptFileName=a;b=this.fixScriptPath(b,a);this.restoreScriptContext(this.compiler.compile(a,b,!1,!1,c&&JU.Logger.debugging,!1),!1,!1,!1);this.forceNoAddHydrogens=(this.$isStateScript=this.compiler.isStateScript)&&0>this.script.indexOf("pdbAddHydrogens");a=this.script;this.pc=
this.setScriptExtensions();!this.chk&&(this.vwr.scriptEditorVisible&&0>b.indexOf("\u0001## EDITOR_IGNORE ##"))&&this.vwr.scriptStatus("");this.script=a;return!this.$error},"~S,~S,~B");d(c$,"fixScriptPath",function(a,b){if(null!=b&&0<=a.indexOf("$SCRIPT_PATH$")){var c=b,e=Math.max(b.lastIndexOf("|"),b.lastIndexOf("/")),c=c.substring(0,e+1);a=JU.PT.rep(a,"$SCRIPT_PATH$/",c);a=JU.PT.rep(a,"$SCRIPT_PATH$",c)}return a},"~S,~S");d(c$,"setScriptExtensions",function(){var a=this.scriptExtensions;if(null==
a)return 0;var b=a.indexOf("##SCRIPT_STEP");0<=b&&(this.executionStepping=!0);b=a.indexOf("##SCRIPT_START=");if(0>b)return 0;b=JU.PT.parseInt(a.substring(b+15));if(-2147483648==b)return 0;for(this.pc=0;this.pc<this.lineIndices.length&&!(this.lineIndices[this.pc][0]>b||this.lineIndices[this.pc][1]>=b);this.pc++);0<this.pc&&(this.pc<this.lineIndices.length&&this.lineIndices[this.pc][0]>b)&&--this.pc;return this.pc});d(c$,"compileScriptFileInternal",function(a,b,c,e){if(0==a.toLowerCase().indexOf("javascript:"))return this.compileScript(a,
this.vwr.jsEval(a.substring(11)),this.debugScript);var f=Array(2);f[0]=a;if(!this.vwr.fm.getFileDataAsString(f,-1,!1,!0,!1))return this.setErrorMessage("io error reading "+f[0]+": "+f[1]),!1;if(0<=("\n"+f[1]).indexOf("\nJmolManifest.txt\n")){var h;if(a.endsWith(".all.pngj")||a.endsWith(".all.png"))h="|state.spt",a+="|";else{f[0]=a+="|JmolManifest.txt";if(!this.vwr.fm.getFileDataAsString(f,-1,!1,!0,!1))return this.setErrorMessage("io error reading "+f[0]+": "+f[1]),!1;h=J.io.JmolBinary.getManifestScriptPath(f[1])}if(null!=
h&&0<h.length&&(f[0]=a=a.substring(0,a.lastIndexOf("|"))+h,!this.vwr.fm.getFileDataAsString(f,-1,!1,!0,!1)))return this.setErrorMessage("io error reading "+f[0]+": "+f[1]),!1}this.scriptFileName=a;f[1]=J.io.JmolBinary.getEmbeddedScript(f[1]);f=this.fixScriptPath(f[1],f[0]);null==e&&(e=this.vwr.fm.getFilePath(a,!1,!1),e=e.substring(0,Math.max(e.lastIndexOf("|"),e.lastIndexOf("/"))));f=JV.FileManager.setScriptFileReferences(f,b,c,e);return this.compileScript(a,f,this.debugScript)},"~S,~S,~S,~S");k(c$,
"evalFunctionFloat",function(a,b,c){try{for(var e=0;e<c.length;e++)b.get(e).value=Float.$valueOf(c[e]);return JS.SV.fValue(this.runFunctionAndRet(a,a.name,b,null,!0,!1,!1))}catch(f){if(B(f,Exception))return NaN;throw f;}},"~O,~O,~A");k(c$,"getUserFunctionResult",function(a,b,c){return this.runFunctionAndRet(null,a,b,c,!0,!0,!1)},"~S,JU.Lst,JS.SV");d(c$,"runFunctionAndRet",function(a,b,c,e,f,h,d){if(null==a){b=b.toLowerCase();a=this.vwr.getFunction(b);if(null==a)return null;h&&(this.contextPath+=" >> function "+
b)}else h&&(this.contextPath+=" >> "+b);this.pushContext(null,"runFunctionAndRet ");this.allowJSThreads&&(this.allowJSThreads=d);h=364558==a.getTok();this.thisContext.isTryCatch=h;this.thisContext.isFunction=!h;this.functionName=b;if(h){this.resetError();this.thisContext.displayLoadErrorsSave=this.vwr.displayLoadErrors;this.thisContext.tryPt=++this.vwr.tryPt;this.vwr.displayLoadErrors=!1;this.restoreFunction(a,c,e);this.contextVariables.put("_breakval",JS.SV.newI(2147483647));this.contextVariables.put("_errorval",
JS.SV.newS(""));a=this.contextVariables;for(this.executeCommands(!0,!1);this.thisContext.tryPt>this.vwr.tryPt;)this.popContext(!1,!1);this.processTry(a);return null}q(a,J.api.JmolParallelProcessor)?(this.parallelProcessor=a,this.restoreFunction(a,c,e),this.dispatchCommands(!1,!0,!1),a.runAllProcesses(this.vwr)):(this.restoreFunction(a,c,e),this.dispatchCommands(!1,!0,!1));a=f?this.getContextVariableAsVariable("_retval"):null;this.popContext(!1,!1);return a},"J.api.JmolScriptFunction,~S,JU.Lst,JS.SV,~B,~B,~B");
d(c$,"processTry",function(a){this.vwr.displayLoadErrors=this.thisContext.displayLoadErrorsSave;this.popContext(!1,!1);var b=this.vwr.getP("_errormessage");0<b.length&&(a.put("_errorval",JS.SV.newS(b)),this.resetError());a.put("_tryret",a.get("_retval"));b=a.get("_tryret");if(null!=b.value||2147483647!=b.intValue)this.cmdReturn(b);else{b=a.get("_errorval").value;if(0==b.length&&(a=a.get("_breakval").intValue,2147483647!=a)){this.breakAt(this.pc-a);return}this.pc+1<this.aatoken.length&&102412==this.aatoken[this.pc+
1][0].tok&&(a=this.aatoken[this.pc+1][0],null!=a.contextVariables&&null!=a.name0&&a.contextVariables.put(a.name0,JS.SV.newS(b)),a.intValue=(0<b.length?1:-1)*Math.abs(a.intValue))}},"java.util.Map");d(c$,"breakAt",function(a){if(0>a)this.getContextVariableAsVariable("_breakval").intValue=-a,this.pcEnd=this.pc;else{var b=Math.abs(this.aatoken[a][0].intValue),c=this.aatoken[a][0].tok;if(102411==c||102413==c)this.theToken=this.aatoken[b--][0],a=Math.abs(this.theToken.intValue),1150985!=this.theToken.tok&&
(this.theToken.intValue=-a);else for(this.pc=-1;this.pc!=a&&null!=this.thisContext;){for(;null!=this.thisContext&&!JS.ScriptCompiler.isBreakableContext(this.thisContext.token.tok);)this.popContext(!0,!1);this.pc=this.thisContext.pc;this.popContext(!0,!1)}this.pc=b}},"~N");d(c$,"restoreFunction",function(a,b,c){this.aatoken=a.aatoken;this.lineNumbers=a.lineNumbers;this.lineIndices=a.lineIndices;this.script=a.script;this.pc=0;null!=a.names&&(this.contextVariables=new java.util.Hashtable,a.setVariables(this.contextVariables,
b));null!=c&&this.contextVariables.put("_x",c)},"J.api.JmolScriptFunction,JU.Lst,JS.SV");k(c$,"clearDefinedVariableAtomSets",function(){this.vwr.definedAtomSets.remove("# variable")});d(c$,"defineSets",function(){if(!this.vwr.definedAtomSets.containsKey("# static")){for(var a=0;a<JV.JC.predefinedStatic.length;a++)this.defineAtomSet(JV.JC.predefinedStatic[a]);this.defineAtomSet("# static")}if(!this.vwr.definedAtomSets.containsKey("# variable")){for(a=0;a<JV.JC.predefinedVariable.length;a++)this.defineAtomSet(JV.JC.predefinedVariable[a]);
for(a=JU.Elements.elementNumberMax;0<=--a;){var b=" elemno="+a;this.defineAtomSet("@"+JU.Elements.elementNameFromNumber(a)+b);this.defineAtomSet("@_"+JU.Elements.elementSymbolFromNumber(a)+b)}for(a=4;0<=--a;)b="@"+JU.Elements.altElementNameFromIndex(a)+" _e="+JU.Elements.altElementNumberFromIndex(a),this.defineAtomSet(b);for(a=JU.Elements.altElementMax;4<=--a;){var c=JU.Elements.altElementNumberFromIndex(a),e=" _e="+c,b="@_"+JU.Elements.altElementSymbolFromIndex(a);this.defineAtomSet(b+e);b="@_"+
JU.Elements.altIsotopeSymbolFromIndex(a);this.defineAtomSet(b+e);b="@_"+JU.Elements.altIsotopeSymbolFromIndex2(a);this.defineAtomSet(b+e);b="@"+JU.Elements.altElementNameFromIndex(a);1<b.length&&this.defineAtomSet(b+e);b=JU.Elements.getElementNumber(c);c=JU.Elements.getNaturalIsotope(b);0<c&&(e=JU.Elements.elementSymbolFromNumber(b),this.defineAtomSet("@_"+e+c+" _e="+b),this.defineAtomSet("@_"+c+e+" _e="+b))}this.defineAtomSet("# variable")}});d(c$,"defineAtomSet",function(a){if(0==a.indexOf("#"))this.vwr.definedAtomSets.put(a,
Boolean.TRUE);else{var b=this.compiler.compile("#predefine",a,!0,!1,!1,!1);if(null!=b.errorType)this.vwr.scriptStatus("JmolConstants.java ERROR: predefined set compile error:"+a+"\ncompile error:"+b.errorMessageUntranslated);else if(1!=b.getTokenCount())this.vwr.scriptStatus("JmolConstants.java ERROR: predefinition does not have exactly 1 command:"+a);else if(b=b.getToken(0),2>=b.length)this.vwr.scriptStatus("JmolConstants.java ERROR: bad predefinition length:"+a);else{var c=b[1].tok;!JS.T.tokAttr(c,
1073741824)&&!JS.T.tokAttr(c,3145728)?this.vwr.scriptStatus("JmolConstants.java ERROR: invalid variable name:"+a):(a=b[1].value.toLowerCase(),a.startsWith("dynamic_")&&(a="!"+a.substring(8)),this.vwr.definedAtomSets.put(a,b))}}},"~S");k(c$,"lookupIdentifierValue",function(a){var b=this.lookupValue(a,!1);if(null!=b)return JU.BSUtil.copy(b);b=this.getAtomBits(1073741824,a);return null==b?new JU.BS:b},"~S");d(c$,"lookupValue",function(a,b){if(this.chk)return new JU.BS;this.defineSets();a=a.toLowerCase();
var c=this.vwr.definedAtomSets.get(a),e=!1;null==c&&(c=this.vwr.definedAtomSets.get("!"+a),e=null!=c);if(q(c,JU.BS))return c;if(q(c,Array))return this.pushContext(null,"lookupValue"),c=this.atomExpression(c,-2,0,!0,!1,!0,!0),this.popContext(!1,!1),e||this.vwr.definedAtomSets.put(a,c),c;if(a.equals("water"))return c=this.vwr.ms.getAtoms(1613758488,null),e||this.vwr.definedAtomSets.put(a,c),c;if(b)return null;e=a.length;if(5>e||"s"!=a.charAt(e-1))return null;a=a.endsWith("ies")?a.substring(0,e-3)+"y":
a.substring(0,e-1);return this.lookupValue(a,!0)},"~S,~B");k(c$,"deleteAtomsInVariables",function(a){for(var b,c=this.vwr.definedAtomSets.entrySet().iterator();c.hasNext()&&((b=c.next())||1);){var e=b.getValue();q(e,JU.BS)&&(JU.BSUtil.deleteBits(e,a),b.getKey().startsWith("!")||this.vwr.g.setUserVariable("@"+b.getKey(),JS.SV.newV(10,e)))}},"JU.BS");k(c$,"getThisContext",function(){return this.thisContext});d(c$,"clearState",function(a){this.thisContext=null;this.scriptLevel=0;this.setErrorMessage(null);
this.contextPath="";this.tQuiet=a},"~B");k(c$,"pushContextDown",function(a){this.scriptLevel--;this.pushContext2(null,a)},"~S");d(c$,"pushContext",function(a,b){this.scriptLevel==JS.ScriptEval.contextDepthMax&&this.error(44);this.pushContext2(a,b)},"JS.ContextToken,~S");d(c$,"pushContext2",function(a,b){this.thisContext=this.getScriptContext(b);this.thisContext.token=a;if(null==a)this.scriptLevel=++this.thisContext.scriptLevel;else if(this.thisContext.scriptLevel=-1,this.contextVariables=new java.util.Hashtable,
null!=a.contextVariables)for(var c,e=a.contextVariables.keySet().iterator();e.hasNext()&&((c=e.next())||1);)JS.ScriptCompiler.addContextVariable(this.contextVariables,c);(this.debugHigh||this.isCmdLine_c_or_C_Option)&&JU.Logger.info("--\x3e>----------------------".substring(0,Math.min(15,this.scriptLevel+5))+this.scriptLevel+" "+this.scriptFileName+" "+a+" "+this.thisContext.id+" "+b+" path="+this.thisContext.contextPath)},"JS.ContextToken,~S");k(c$,"getScriptContext",function(a){var b=new JS.ScriptContext;
this.debugHigh&&JU.Logger.info("creating context "+b.id+" for "+a+" path="+this.contextPath);b.scriptLevel=this.scriptLevel;b.parentContext=this.thisContext;b.contextPath=this.contextPath;b.scriptFileName=this.scriptFileName;b.parallelProcessor=this.parallelProcessor;b.functionName=this.functionName;b.script=this.script;b.lineNumbers=this.lineNumbers;b.lineIndices=this.lineIndices;b.saveTokens(this.aatoken);b.statement=this.st;b.statementLength=this.slen;b.pc=b.pc0=this.pc;b.lineEnd=this.lineEnd;
b.pcEnd=this.pcEnd;b.iToken=this.iToken;b.theToken=this.theToken;b.theTok=this.theTok;b.outputBuffer=this.outputBuffer;b.vars=this.contextVariables;b.isStateScript=this.$isStateScript;b.errorMessage=this.errorMessage;b.errorType=this.errorType;b.iCommandError=this.iCommandError;b.chk=this.chk;b.executionStepping=this.executionStepping;b.executionPaused=this.executionPaused;b.scriptExtensions=this.scriptExtensions;b.mustResumeEval=this.mustResumeEval;b.allowJSThreads=this.allowJSThreads;return b},
"~S");d(c$,"popContext",function(a,b){if(null!=this.thisContext){0<this.thisContext.scriptLevel&&(this.scriptLevel=this.thisContext.scriptLevel-1);var c=a?this.getScriptContext("popFlow"):null;this.restoreScriptContext(this.thisContext,!0,a,b);null!=c&&this.restoreScriptContext(c,!0,!1,!0);if(this.debugHigh||this.isCmdLine_c_or_C_Option)JU.Logger.info("--<<------------".substring(0,Math.min(15,this.scriptLevel+5))+(this.scriptLevel+1)+" "+this.scriptFileName+" isFlow "+a+" thisContext="+(null==this.thisContext?
"":""+this.thisContext.id)+" pc="+this.pc+"--\x3e"+this.pc+" path="+(null==this.thisContext?"":this.thisContext.contextPath))}},"~B,~B");d(c$,"restoreScriptContext",function(a,b,c,e){this.executing=!this.chk;if(null!=a){if(!c&&(this.st=a.statement,this.slen=a.statementLength,this.pc=a.pc,this.lineEnd=a.lineEnd,this.pcEnd=a.pcEnd,e))return;this.mustResumeEval=a.mustResumeEval;this.script=a.script;this.lineNumbers=a.lineNumbers;this.lineIndices=a.lineIndices;this.aatoken=a.restoreTokens();this.contextVariables=
a.vars;this.scriptExtensions=a.scriptExtensions;b?(this.contextPath=a.contextPath,e=null==this.contextPath?-1:this.contextPath.indexOf(" >> "),0<=e&&(this.contextPath=this.contextPath.substring(0,e)),this.scriptFileName=a.scriptFileName,this.parallelProcessor=a.parallelProcessor,this.functionName=a.functionName,this.iToken=a.iToken,this.theToken=a.theToken,this.theTok=a.theTok,this.outputBuffer=a.outputBuffer,this.$isStateScript=a.isStateScript,this.thisContext=a.parentContext,this.allowJSThreads=
a.allowJSThreads,(this.debugHigh||this.isCmdLine_c_or_C_Option)&&JU.Logger.info("--r------------".substring(0,Math.min(15,this.scriptLevel+5))+this.scriptLevel+" "+this.scriptFileName+" isPop "+b+" isFlow "+c+" context.id="+a.id+" pc="+this.pc+"--\x3e"+a.pc+" "+this.contextPath)):(this.$error=null!=a.errorType,this.errorMessage=a.errorMessage,this.errorMessageUntranslated=a.errorMessageUntranslated,this.iCommandError=a.iCommandError,this.errorType=a.errorType)}},"JS.ScriptContext,~B,~B,~B");d(c$,
"setException",function(a,b,c){a.untranslated=null==c?b:c;c="!".equals(c);this.errorType=b;this.iCommandError=this.pc;if(null==a.message)a.message="";else{for(var e=JS.ScriptEval.getContextTrace(this.vwr,this.getScriptContext("setException"),null,!0).toString();null!=this.thisContext&&!this.thisContext.isTryCatch;)this.popContext(!1,!1);a.message+=e;a.untranslated+=e;this.resumeViewer(c?"throw context":"scriptException");if(!c&&!(null!=this.thisContext||this.chk||0<=b.indexOf("NOTE: file recognized as a script file: ")))JU.Logger.error("eval ERROR: "+
this.toString()),this.vwr.autoExit&&this.vwr.exitJmol()}},"JS.ScriptException,~S,~S");c$.statementAsString=d(c$,"statementAsString",function(a,b,c,e){if(0==b.length)return"";var f=new JU.SB,h=b[0].tok;switch(h){case 0:return b[0].value;case 1150985:if(2==b.length&&(135368713==b[1].tok||102436==b[1].tok))return b[1].value.toString()}for(var d=!0,g=!1,C=!1,h=1<b.length&&1085443==h&&b[0].value.equals("")&&(61==b[0].intValue||35==b[0].intValue)&&1048577!=b[1].tok,n=b.length,m=0;m<n;++m){var l=b[m];if(null==
l){n=m;break}c==m-1&&f.append(" <<");0!=m&&f.appendC(" ");if(2==m&&h&&((h=269484436!=l.tok)||35==b[0].intValue))if(f.append(h?"= ":"== "),!h)continue;c==m&&1048578!=l.tok&&f.append(">> ");switch(l.tok){case 1048577:d&&f.append("{");continue;case 1048578:C&&m==b.length-1&&(d=!1);d&&f.append("}");continue;case 269484096:case 269484097:break;case 1048586:case 1048590:g=1048586==l.tok;break;case 1060866:if(0<m&&l.value.equals("define")){f.append("@");m+1<b.length&&1048577==b[m+1].tok&&(d||(C=!0),d=!0);
continue}break;case 1048589:f.append("true");continue;case 1048588:f.append("false");continue;case 135280133:break;case 2:f.appendI(l.intValue);continue;case 8:case 9:case 10:f.append(JS.SV.sValue(l));continue;case 6:if(Boolean.TRUE===l.value.get("$_BINARY_$")){f.append("<BINARY DATA>");continue}case 7:f.append(l.escape());continue;case 5:f.appendC("^");continue;case 1048615:2147483647!=l.intValue?f.appendI(l.intValue):f.append(JM.Group.getSeqcodeStringFor(JS.ScriptExpr.getSeqCode(l))),l=b[++m],f.appendC(" "),
f.append(g?"-":"- ");case 1048614:2147483647!=l.intValue?f.appendI(l.intValue):f.append(JM.Group.getSeqcodeStringFor(JS.ScriptExpr.getSeqCode(l)));continue;case 1048609:f.append("*:");f.append(a.getChainIDStr(l.intValue));continue;case 1048607:f.append("*%");null!=l.value&&f.append(l.value.toString());continue;case 1048610:f.append("*/");case 1048611:case 3:2147483647>l.intValue?f.append(JU.Escape.escapeModelFileNumber(l.intValue)):f.append(""+l.value);continue;case 1048613:f.appendC("[");l=6*l.intValue+
1;f.append(JM.Group.standardGroupList.substring(l,l+3).trim());f.appendC("]");continue;case 1048612:f.appendC("[");f.appendO(l.value);f.appendC("]");continue;case 1048608:f.append("*.");break;case 1095761925:if(q(l.value,JU.P3)){l=l.value;f.append("cell=").append(JU.Escape.eP(l));continue}break;case 4:f.append('"').appendO(l.value).append('"');continue;case 269484436:case 269484434:case 269484433:case 269484432:case 269484435:case 269484437:1716520985==l.intValue?f.append(b[++m].value).append(" "):
2147483647!=l.intValue&&f.append(JS.T.nameOf(l.intValue)).append(" ");break;case 364558:continue;case 1150985:f.append("end");continue;default:if(JS.T.tokAttr(l.tok,1073741824)||!e)break;f.appendC("\n").append(l.toString()).appendC("\n");continue}null!=l.value&&f.append(l.value.toString())}c>=n-1&&9999!=c&&f.append(" <<");return f.toString()},"JV.Viewer,~A,~N,~B");k(c$,"setObjectPropSafe",function(a,b){try{return this.setObjectProp(a,b,-1)}catch(c){if(B(c,JS.ScriptException))return null;throw c;}},
"~S,~N");k(c$,"restrictSelected",function(a,b){this.chk||this.sm.restrictSelected(a,b)},"~B,~B");k(c$,"showString",function(a){this.showStringPrint(a,!1)},"~S");d(c$,"showStringPrint",function(a,b){this.chk||null==a||(null!=this.outputBuffer&&JU.Logger.isActiveLevel(3)?this.outputBuffer.append(a).appendC("\n"):this.vwr.showString(a,b))},"~S,~B");d(c$,"report",function(a){this.chk||(null!=this.outputBuffer?this.outputBuffer.append(a).appendC("\n"):this.vwr.scriptStatus(a))},"~S");d(c$,"addProcess",
function(a,b,c){if(null!=this.parallelProcessor){for(var e=Array(c),f=0;f<a.size();f++)e[f+1-b]=a.get(f);a=this.getScriptContext("addProcess");a.saveTokens(e);a.pc=1-b;a.pcEnd=c;this.parallelProcessor.addProcess("p"+ ++JS.ScriptEval.iProcess,a)}},"JU.Lst,~N,~N");d(c$,"checkContinue",function(){if(this.executionStopped)return!1;if(this.executionStepping&&this.isCommandDisplayable(this.pc))this.vwr.setScriptStatus("Next: "+this.getNextStatement(),"stepping -- type RESUME to continue",0,null),this.executionPaused=
!0;else if(!this.executionPaused)return!0;JU.Logger.debugging&&JU.Logger.debug("script execution paused at command "+(this.pc+1)+" level "+this.scriptLevel+": "+this.thisCommand);for(this.refresh(!1);this.executionPaused;){this.vwr.popHoldRepaint("pause \u0001## REPAINT_IGNORE ##");var a=this.vwr.getInsertedCommand();if(0<a.length){this.resumePausedExecution();this.setErrorMessage(null);var b=this.getScriptContext("script insertion");this.pc--;try{this.runScript(a)}catch(c){if(B(c,Exception))this.setErrorMessage(""+
c);else if(B(c,Error))this.setErrorMessage(""+c);else throw c;}this.$error&&(this.report(this.errorMessage),this.setErrorMessage(null));this.restoreScriptContext(b,!0,!1,!1);this.pauseExecution(!1)}this.doDelay(-100);this.vwr.pushHoldRepaintWhy("pause")}this.notifyResumeStatus();return!this.$error&&!this.executionStopped});d(c$,"delayScript",function(a){this.vwr.autoExit||(this.stopScriptThreads(),this.scriptDelayThread=new JS.ScriptDelayThread(this,this.vwr,a),this.scriptDelayThread.run())},"~N");
d(c$,"doDelay",function(a){if(this.useThreads()){if(this.isJS)throw new JS.ScriptInterruption(this,"delay",a);this.delayScript(a)}},"~N");k(c$,"evalParallel",function(a,b){return this.getCmdExt().evalParallel(a,b)},"JS.ScriptContext,JV.ShapeManager");d(c$,"isCommandDisplayable",function(a){return a>=this.aatoken.length||a>=this.pcEnd||null==this.aatoken[a]?!1:this.lineIndices[a][1]>this.lineIndices[a][0]},"~N");k(c$,"loadFileResourceAsync",function(a){this.loadFileAsync(null,a,-Math.abs(a.hashCode()),
!1)},"~S");d(c$,"loadFileAsync",function(a,b,c,e){if(null!=this.vwr.fm.cacheGet(b,!1))return b;null!=a&&(a="cache://local"+a);var f=this.pc+"_"+c+"_"+b,h;if(null==this.thisContext||null==this.thisContext.htFileCache)this.pushContext(null,"loadFileAsync"),this.thisContext.htFileCache=new java.util.Hashtable;h=this.thisContext.htFileCache.get(f);if(null!=h&&0<h.length)return this.fileLoadThread=null,this.popContext(!1,!1),this.vwr.queueOnHold=!1,("#CANCELED#".equals(h)||"#CANCELED#".equals(this.vwr.fm.cacheGet(h,
!1)))&&this.evalError("#CANCELED#",null),h;this.thisContext.htFileCache.put(f,h=a+System.currentTimeMillis());e&&this.vwr.cacheFileByName(a+"*",!1);this.fileLoadThread=new JS.FileLoadThread(this,this.vwr,b,f,h);this.vwr.testAsync?this.fileLoadThread.start():this.fileLoadThread.run();0>c&&(this.fileLoadThread=null);throw new JS.ScriptInterruption(this,"load",1);},"~S,~S,~N,~B");d(c$,"logLoadInfo",function(a){0<a.length&&JU.Logger.info(a);a=new JU.SB;var b=this.vwr.ms.mc;1<b&&a.append((this.vwr.am.isMovie?
this.vwr.am.getFrameCount()+" frames":b+" models")+"\n");for(var c=0;c<b;c++){var e=this.vwr.ms.getInfo(c,"moData");null!=e&&e.containsKey("mos")&&a.appendI(e.get("mos").size()).append(" molecular orbitals in model ").append(this.vwr.getModelNumberDotted(c)).append("\n")}0<a.length()&&this.vwr.showString(a.toString(),!1)},"~S");k(c$,"notifyResumeStatus",function(){!this.chk&&(!this.executionStopped&&!this.executionStepping)&&this.vwr.scriptStatus("script execution "+(this.$error||this.executionStopped?
"interrupted":"resumed"));JU.Logger.debugging&&JU.Logger.debug("script execution resumed")});k(c$,"refresh",function(a){this.chk||(this.vwr.setTainted(!0),this.vwr.requestRepaintAndWait("refresh cmd"),this.isJS&&a&&this.doDelay(10))},"~B");k(c$,"stopScriptThreads",function(){null!=this.scriptDelayThread&&(this.scriptDelayThread.interrupt(),this.scriptDelayThread=null);null!=this.fileLoadThread&&(this.fileLoadThread.interrupt(),this.fileLoadThread.resumeEval(),null!=this.thisContext&&this.popContext(!1,
!1),this.fileLoadThread=null)});d(c$,"getErrorLineMessage2",function(){return JS.ScriptError.getErrorLineMessage(this.functionName,this.scriptFileName,this.getLinenumber(null),this.pc,JS.ScriptEval.statementAsString(this.vwr,this.st,-9999,this.debugHigh))});d(c$,"getLinenumber",function(a){return null==a?this.lineNumbers[this.pc]:a.lineNumbers[a.pc]},"JS.ScriptContext");d(c$,"dispatchCommands",function(a,b,c){null==this.sm&&(this.sm=this.vwr.shm);this.debugScript=this.debugHigh=!1;this.chk||this.setDebugging();
0==this.pcEnd&&(this.pcEnd=2147483647);0==this.lineEnd&&(this.lineEnd=2147483647);if(null==this.aatoken)return!0;this.tQuiet||(this.tQuiet=0>this.vwr.getInt(536870922));var e=this.isJS&&!b&&this.useThreads()&&0<=this.vwr.getInt(536870922);this.commandLoop(e);if(this.chk)return!0;var f=this.vwr.getInsertedCommand();"".equals(f)?a&&(this.debugScript&&this.vwr.getBoolean(603979880))&&this.vwr.getChimeMessenger().update(null):this.runScriptBuffer(f,null);return!this.mustResumeEval&&!e||b?!0:!c&&this.mustResumeEval||
null==this.thisContext?(a=null==this.thisContext,this.resumeEval(this.thisContext),this.mustResumeEval=!1,a):!0},"~B,~B,~B");d(c$,"commandLoop",function(a){var b="",c=!1,e=null,f=System.currentTimeMillis();if(this.debugScript&&this.debugHigh&&!this.chk){for(var h=this.pc;h<this.aatoken.length&&h<this.pcEnd;h++)JU.Logger.info("Command "+h),this.debugScript&&this.logDebugScript(this.aatoken[h],0);JU.Logger.info("-----")}for(;this.pc<this.aatoken.length&&this.pc<this.pcEnd;this.pc++){a&&(!this.executionPaused&&
1E3<System.currentTimeMillis()-f&&(this.pc--,this.doDelay(-1)),f=System.currentTimeMillis());if(!this.chk&&!this.checkContinue())break;if(this.lineNumbers[this.pc]>this.lineEnd)break;this.debugHigh&&(h=0,h=System.currentTimeMillis(),this.vwr.scriptStatus("Eval.dispatchCommands():"+h),this.vwr.scriptStatus(this.script));this.debugScript&&!this.chk&&JU.Logger.info("Command "+this.pc+(null==this.thisContext?"":" path="+this.thisContext.contextPath));this.theToken=0==this.aatoken[this.pc].length?null:
this.aatoken[this.pc][0];if(!this.historyDisabled&&(!this.chk&&this.scriptLevel<=JS.ScriptEval.commandHistoryLevelMax&&!this.tQuiet)&&(h=this.getCommand(this.pc,!0,!0),null!=this.theToken&&0<h.length&&!h.equals(b)&&(135368713==this.theToken.tok||102436==this.theToken.tok||!JS.T.tokAttr(this.theToken.tok,102400))))this.vwr.addCommand(b=h);!this.chk&&a&&(h=this.vwr.getInsertedCommand(),"".equals(h)||this.runScript(h));if(this.setStatement(this.aatoken[this.pc])){this.thisCommand=this.getCommand(this.pc,
!1,!0);(this.debugHigh||this.debugScript)&&JU.Logger.info(this.thisCommand);h=this.getCommand(this.pc+1,!1,!0);this.fullCommand=this.thisCommand+(h.startsWith("#")?h:"");this.getToken(0);this.iToken=0;if((this.listCommands||!this.chk&&0<this.scriptLevel)&&!this.isJS)if(h=this.vwr.getInt(536870922),this.listCommands||0<h)0<h&&this.delayScript(-h),this.vwr.scriptEcho("$["+this.scriptLevel+"."+this.lineNumbers[this.pc]+"."+(this.pc+1)+"] "+this.thisCommand);if(null!=e&&(1150985!=this.theTok||2>this.slen||
102439!=this.st[1].tok))e.addLast(this.st);else{if(this.chk){if(this.isCmdLine_c_or_C_Option&&JU.Logger.info(this.thisCommand),1==this.slen&&135368713!=this.st[0].tok&&102436!=this.st[0].tok)continue}else this.debugScript&&this.logDebugScript(this.st,0),0==this.scriptLevel&&this.vwr.g.logCommands&&this.vwr.log(this.thisCommand),this.debugHigh&&null!=this.theToken&&JU.Logger.debug(this.theToken.toString());if(null!=this.theToken)switch(h=this.theToken.tok,h){case 1085443:this.cmdSet();continue;case 135369224:c=
this.cmdFor(h,c);continue;case 102439:this.pushContext(this.theToken,"PROCESS");null!=this.parallelProcessor&&(e=new JU.Lst);continue;default:if(JS.T.tokAttr(h,102400)){c=this.cmdFlow(h,c,e);102439==this.theTok&&(e=null);continue}this.processCommand(h);this.setCursorWait(!1);this.executionStepping&&(this.executionPaused=this.isCommandDisplayable(this.pc+1))}}}else JU.Logger.info(this.getCommand(this.pc,!0,!1)+" -- STATEMENT CONTAINING @{} SKIPPED")}},"~B");d(c$,"processCommand",function(a){if(JS.T.tokAttr(this.theToken.tok,
135168))this.processShapeCommand(a);else switch(a){case 0:!this.chk&&this.vwr.getBoolean(603979880)&&this.vwr.getChimeMessenger().showHash(this.outputBuffer,this.theToken.value);break;case 1276384259:this.pushContext(this.theToken,"PUSH");break;case 1276383249:this.popContext(!0,!1);break;case 269484066:break;case 4097:this.cmdAnimation();break;case 1610616835:this.cmdBackground(1);break;case 4100:this.cmdBind();break;case 4101:this.cmdBondorder();break;case 1069064:this.cmdCD();break;case 12289:this.cmdCenter(1);
break;case 1766856708:this.cmdColor();break;case 1060866:this.cmdDefine();break;case 528397:this.cmdDelay();break;case 12291:this.cmdDelete();break;case 554176526:this.cmdSlab(!0);break;case 1610625028:this.cmdDisplay(!0);break;case 266255:case 266281:if(this.chk)break;0<this.pc&&266255==this.theToken.tok&&this.vwr.clearScriptQueue();this.executionStopped=0<this.pc||!this.vwr.g.useScriptQueue;break;case 266256:if(this.chk)break;null!=this.outputBuffer&&JU.Logger.warn(this.outputBuffer.toString());
this.vwr.exitJmol();break;case 1229984263:this.cmdFile();break;case 1060869:this.cmdFixed();break;case 4114:this.cmdFont(-1,0);break;case 4115:case 1095766030:this.cmdModel(1);break;case 1073741824:this.cmdFunc();break;case 1276121098:this.cmdGetProperty();break;case 20500:if(this.vwr.headless)break;this.cmdGoto(!0);break;case 20482:this.cmdHelp();break;case 12294:this.cmdDisplay(!1);break;case 1612189718:this.cmdHbond();break;case 1610616855:this.cmdHistory(1);break;case 544771:this.cmdHover();break;
case 266265:this.chk||this.vwr.initialize(!this.$isStateScript);break;case 4122:this.cmdInvertSelected();break;case 135287308:this.cmdScript(135287308,null,null);break;case 135271427:this.cmdLoad();break;case 36869:this.cmdLog();break;case 528411:this.cmdLoop();break;case 20485:this.cmdMessage();break;case 4128:this.cmdMove();break;case 4129:this.cmdMoveto();break;case 20487:this.cmdPause();break;case 36865:this.cmdPrint();break;case 135304707:this.cmdPrompt();break;case 4139:case 4165:this.cmdUndoRedoMove();
break;case 266284:this.refresh(!0);break;case 4141:this.cmdReset();break;case 12295:this.cmdRestrict();break;case 4143:if(0==this.slen){this.chk||this.resumePausedExecution();break}case 4142:this.cmdRestore();break;case 36866:this.cmdReturn(null);break;case 528432:this.cmdRotate(!1,!1);break;case 4145:this.cmdRotate(!1,!0);break;case 4146:this.cmdSave();break;case 135271429:this.cmdScript(135271429,null,null);break;case 135280133:this.cmdSelect(1);break;case 1611141171:this.cmdSelectionHalos(1);break;
case 554176565:this.cmdSlab(!1);break;case 1611141175:this.cmdRotate(!0,!1);break;case 1611141176:this.cmdSsbond();break;case 266298:this.cmdPause()&&this.stepPausedExecution();break;case 1641025539:this.cmdStructure();break;case 3158024:this.cmdSubset();break;case 4156:this.cmdSync();break;case 36870:this.cmdThrow();break;case 536875070:this.cmdTimeout(1);break;case 4160:this.cmdTranslate(!1);break;case 4162:this.cmdTranslate(!0);break;case 4164:this.cmdUnbind();break;case 36868:break;case 4166:this.cmdVibration();
break;case 1060873:this.cmdZap(!0);break;case 4168:this.cmdZoom(!1);break;case 4170:this.cmdZoom(!0);break;default:this.checkExtension(this.theToken.tok)}},"~N");d(c$,"checkExtension",function(a){switch(a){case 4098:case 135270423:case 4102:case 4103:case 4105:case 135270405:case 1095766024:case 4106:case 528395:case 1612189718:case 4120:case 528443:case 4124:case 1052701:case 4126:case 1276121113:case 4130:case 135270408:case 4131:case 4133:case 135270418:case 1052714:case 135270926:case 135270422:this.getCmdExt().dispatch(this.theToken.tok,
!1,this.st);break;default:this.error(47)}},"~N");d(c$,"processShapeCommand",function(a){var b=0;switch(a){case 1611272194:b=34;break;case 1115297793:b=9;break;case 1679429641:b=32;break;case 1113200642:b=11;break;case 135174:b=23;break;case 135402505:b=25;break;case 135175:b=17;break;case 1113198595:b=16;break;case 135176:b=22;break;case 537022465:b=31;break;case 1113198596:b=20;break;case 1611272202:b=36;break;case 1113198597:b=19;break;case 1113200646:b=8;break;case 135180:b=24;break;case 1826248716:b=
5;break;case 135182:b=26;break;case 537006096:case 1746538509:b=6;break;case 1113200647:b=13;break;case 1073877010:b=27;break;case 1073877011:b=28;break;case 135190:b=30;break;case 135188:b=29;break;case 1276252167:b=21;break;case 1113200649:b=14;break;case 1113200650:b=15;break;case 1113200651:b=0;break;case 1113200652:b=7;break;case 1650071565:b=12;break;case 1708058:b=4;break;case 1113200654:b=10;break;case 1614417948:b=33;break;case 135198:b=18;break;case 659488:b=1;break;default:this.error(47)}if(null==
this.sm.getShape(b)&&2==this.slen)switch(this.st[1].tok){case 1048588:case 12291:case 1048587:return}switch(a){case 1115297793:case 1113200642:case 1113200647:case 1113200649:case 1113200650:case 1650071565:case 1113200654:this.setSizeBio(b);return;case 1113198595:case 1113198597:this.cmdDots(b);return;case 1113200646:case 1113200651:case 1113200652:this.setSize(b,1113200646==a?-1E3:1);return;case 1826248716:this.cmdLabel(1);return;case 135198:this.cmdVector();return;case 659488:this.cmdWireframe();
return}switch(a){case 1611272194:this.cmdAxes(1);break;case 1679429641:this.cmdBoundbox(1);break;case 537022465:this.cmdEcho(1);break;case 1611272202:this.cmdFrank(1);break;case 1614417948:this.cmdUnitcell(1);break;case 1113198596:case 537006096:case 1746538509:case 1276252167:case 1708058:this.getCmdExt().dispatch(b,!1,this.st);break;case 135174:case 135402505:case 135175:case 135176:case 135180:case 135182:case 1073877010:case 1073877011:case 135190:case 135188:this.getIsoExt().dispatch(b,!1,this.st)}},
"~N");d(c$,"cmdAnimation",function(){var a=!1;switch(this.getToken(1).tok){case 1048589:a=!0;case 1048588:this.chk||this.vwr.setAnimationOn(a);break;case 1073742030:a=I(this.floatParameter(2));this.chk||this.vwr.am.setMorphCount(Math.abs(a));break;case 1610625028:this.iToken=2;a=1048579==this.tokAt(2)?null:this.atomExpressionAt(2);this.checkLength(this.iToken+1);this.chk||this.vwr.setAnimDisplay(a);break;case 4115:this.isArrayParameter(2)?this.setFrameSet(2):this.cmdModel(2);break;case 1073742024:var b=
a=1;5<this.slen&&this.bad();var c=JS.T.getTokFromName(this.paramAsStr(2));switch(c){case 1073742070:a=b=0;break;case 528411:case 1073742082:break;default:this.invArg()}4<=this.slen&&(a=b=this.floatParameter(3),5==this.slen&&(b=this.floatParameter(4)));this.chk||this.vwr.am.setAnimationReplayMode(c,a,b);break;case 1073741918:a=2;b=0;switch(this.tokAt(a)){case 269484192:b=-this.intParameter(++a);break;case 269484193:b=this.intParameter(++a);break;case 2:b=this.intParameter(a);break;default:this.invArg()}this.checkLength(++a);
1!=b&&-1!=b&&this.errorStr2(35,"-1","1");this.chk||this.vwr.am.setAnimationDirection(b);break;case 1074790526:this.setIntProperty("animationFps",this.intParameter(this.checkLast(2)));break;default:this.frameControl(1)}});d(c$,"setFrameSet",function(a){a=this.expandFloatArray(this.floatParameterSet(a,0,2147483647),1);this.checkLength(this.iToken+1);if(!this.chk){var b=new java.util.Hashtable;0<a.length&&b.put("frames",a);b.put("currentFrame",Integer.$valueOf(0));this.vwr.am.setMovie(b)}},"~N");d(c$,
"cmdAxes",function(a){var b=this.tickParamAsStr(a,!0,!0,!1);a=this.iToken+1;var c=this.tokAt(a),e=this.optParameterAsString(a).toLowerCase();if(this.slen==a+1&&JU.PT.isOneOf(e,";window;unitcell;molecular;"))this.setBooleanProperty("axes"+e,!0);else{switch(c){case 12289:a=this.centerParameter(a+1);this.setShapeProperty(34,"origin",a);this.checkLast(this.iToken);return;case 1141899272:a=this.stringParameter(a+1);JU.PT.isOneOf(a,";a;b;c;ab;ac;bc;abc;")||this.invArg();this.setShapeProperty(34,"type",
a);this.checkLast(this.iToken);return;case 1073742138:this.setFloatProperty("axesScale",this.floatParameter(this.checkLast(++a)));return;case 1826248716:switch(c=this.tokAt(a+1)){case 1048588:case 1048589:this.checkLength(a+2);this.setShapeProperty(34,"labels"+(1048589==c?"On":"Off"),null);return}b=null;switch(this.slen-a){case 7:this.setShapeProperty(34,"labels",M(-1,[this.paramAsStr(++a),this.paramAsStr(++a),this.paramAsStr(++a),this.paramAsStr(++a),this.paramAsStr(++a),this.paramAsStr(++a)]));
break;case 5:b=this.paramAsStr(a+4);case 4:this.setShapeProperty(34,"labels",M(-1,[this.paramAsStr(++a),this.paramAsStr(++a),this.paramAsStr(++a),b]));break;default:this.bad()}return}e.equals("position")?(1048588==this.tokAt(++a)?a=new JU.P3:(a=this.xypParameter(a),null==a&&this.invArg()),this.setShapeProperty(34,"position",a)):(a=this.getSetAxesTypeMad(a),this.chk||2147483647==a||(this.setObjectMad(34,"axes",a),null!=b&&this.setShapeProperty(34,"tickInfo",b)))}},"~N");d(c$,"cmdBackground",function(a){this.getToken(a);
if(4120==this.theTok){var b=null;switch(this.tokAt(++a)){case 15:case 6:b=this.getToken(a).value;break;default:a=this.paramAsStr(this.checkLast(a));if(this.chk)return;if(a.equalsIgnoreCase("none")||0==a.length){this.vwr.setBackgroundImage(null,null);return}b=a.startsWith(";base64,")?new JU.BArray(JU.Base64.decodeBase64(a)):a}if(this.vwr.fm.loadImage(b,null,!this.useThreads()))throw new JS.ScriptInterruption(this,"backgroundImage",1);}else 1048587==this.theTok||this.isColorParam(a)?(a=this.getArgbParamLast(a,
!0),this.chk||(this.setObjectArgb("background",a),this.vwr.setBackgroundImage(null,null))):(b=this.getShapeType(this.theTok),this.colorShape(b,a+1,!0))},"~N");d(c$,"cmdBind",function(){var a=this.stringParameter(1),b=this.paramAsStr(2);this.checkLength(3);this.chk||this.vwr.bindAction(a,b)});d(c$,"cmdBondorder",function(){this.checkLength(-3);var a=0;switch(this.getToken(1).tok){case 2:case 3:131071==(a=JU.Edge.getBondOrderFromFloat(this.floatParameter(1)))&&this.invArg();break;default:131071==(a=
JS.ScriptParam.getBondOrderFromString(this.paramAsStr(1)))&&this.invArg(),33==a&&3==this.tokAt(2)&&(a=JS.ScriptParam.getPartialBondOrderFromFloatEncodedInt(this.st[2].intValue))}this.setShapeProperty(1,"bondOrder",Integer.$valueOf(a))});d(c$,"cmdBoundbox",function(a){var b=this.tickParamAsStr(a,!1,!0,!1);a=this.iToken+1;var c=1;if(1073742138==this.tokAt(a)&&(c=this.floatParameter(++a),!this.chk&&0==c&&this.invArg(),a++,a==this.slen)){this.chk||this.vwr.ms.setBoundBox(null,null,!0,c);return}var e=
1073741902==this.tokAt(a);e&&a++;if(this.isCenterParameter(a)){this.expressionResult=null;var f=a,h=this.centerParameter(a);a=this.iToken+1;if(e||this.isCenterParameter(a))f=e?this.centerParameter(a):this.getPoint3f(a,!0),a=this.iToken+1,this.chk||this.vwr.ms.setBoundBox(h,f,e,c);else if(null!=this.expressionResult&&q(this.expressionResult,JU.BS))this.chk||this.vwr.calcBoundBoxDimensions(this.expressionResult,c);else if(null==this.expressionResult&&1048582==this.tokAt(f)){if(this.chk)return;a=this.getObjectBoundingBox(this.objectNameParameter(++f));
null==a&&this.invArg();this.vwr.ms.setBoundBox(a[0],a[1],!0,c);a=this.iToken+1}else this.invArg();if(a==this.slen)return}c=this.getSetAxesTypeMad(a);this.chk||2147483647==c||(null!=b&&this.setShapeProperty(32,"tickInfo",b),this.setObjectMad(32,"boundbox",c))},"~N");d(c$,"cmdCD",function(){if(!this.chk){var a=1==this.slen?null:this.paramAsStr(1);this.showString(this.vwr.cd(a))}});d(c$,"cmdCenter",function(a){1==this.slen?this.vwr.setNewRotationCenter(null):(a=this.centerParameter(a),null==a&&this.invArg(),
this.chk||this.vwr.setNewRotationCenter(a))},"~N");d(c$,"cmdColor",function(){var a=1;if(this.isColorParam(1))this.theTok=1141899265;else{var b=0,a=2,c=this.getToken(1).tok;switch(c){case 1048582:this.setObjectProperty();return;case 1087373315:case 3145730:case 1087373316:case 1073741946:case 1632634891:case 1087373318:case 1114638362:case 1087373322:case 1073741991:case 1095761936:case 1073742029:case 1048587:case 1073742074:case 1112541195:case 1095761937:case 1716520985:case 1073742116:case 1073742110:case 1113200651:case 1073742144:case 1112539150:case 1641025539:case 1112539151:case 1112541196:case 603979967:case 1073742186:case 1649412120:this.theTok=
1141899265;a=1;break;case 4:a=1;b=this.stringParameter(a++);this.isArrayParameter(a)&&(b=b+="="+JS.SV.sValue(JS.SV.getVariableAS(this.stringParameterSet(a))).$replace("\n"," "),a=this.iToken+1);c=603979967==this.tokAt(a);this.chk||this.vwr.setPropertyColorScheme(b,c,!0);c&&++a;if(1073742114==this.tokAt(a)||1073741826==this.tokAt(a))b=this.floatParameter(++a),a=this.floatParameter(++a),this.chk||this.vwr.cm.setPropertyColorRange(b,a);return;case 1073742114:case 1073741826:b=this.floatParameter(2);
a=this.floatParameter(this.checkLast(3));this.chk||this.vwr.cm.setPropertyColorRange(b,a);return;case 1610616835:b=this.getArgbParamLast(2,!0);this.chk||this.setObjectArgb("background",b);return;case 10:case 1048577:a=-1;this.theTok=1141899265;break;case 1073742134:b=this.getArgbParamLast(2,!1);this.chk||this.vwr.cm.setRubberbandArgb(b);return;case 536870920:case 1611141171:a=2;1073742074==this.tokAt(2)&&a++;b=this.getArgbParamLast(a,!0);if(this.chk)return;this.sm.loadShape(8);this.setShapeProperty(8,
1611141171==c?"argbSelection":"argbHighlight",Integer.$valueOf(b));return;case 1611272194:case 1679429641:case 1614417948:case 1073741824:case 1613758476:c=this.paramAsStr(1);if(this.checkToken(2))switch(b=this.getToken(2).tok,b){case 1048587:b=1073741991;break;case 1073741991:case 1073742116:case 1073742110:break;default:b=this.getArgbParam(2)}0==b&&this.error(9);this.checkLast(this.iToken);if(c.equalsIgnoreCase("axes")||0<=JV.StateManager.getObjectIdFromName(c)){this.setObjectArgb(c,b);return}if(this.setElementColor(c,
b))return;this.invArg();break;case 135180:case 135402505:this.setShapeProperty(JV.JC.shapeTokenIndex(c),"thisID","+PREVIOUS_MESH+")}}this.colorShape(this.getShapeType(this.theTok),a,!1)});d(c$,"cmdDefine",function(){(3>this.slen||!q(this.getToken(1).value,String))&&this.invArg();var a=this.getToken(1).value.toLowerCase();-2147483648!=JU.PT.parseInt(a)&&this.invArg();if(!this.chk){var b=a.startsWith("site_");if(0==a.indexOf("dynamic_")||b){for(var c=Array(this.slen),e=this.slen;0<=--e;)c[e]=this.st[e];
this.vwr.definedAtomSets.put("!"+(b?a:a.substring(8)),c)}else b=this.atomExpressionAt(2),this.vwr.definedAtomSets.put(a,b),this.chk||this.vwr.g.setUserVariable("@"+a,JS.SV.newV(10,b))}});d(c$,"cmdDelay",function(){var a=0;switch(this.getToken(1).tok){case 1048589:a=1;break;case 2:a=1E3*this.intParameter(1);break;case 3:a=I(1E3*this.floatParameter(1));break;default:this.error(34)}this.refresh(!1);this.doDelay(Math.abs(a))});d(c$,"cmdDelete",function(){if(1048582==this.tokAt(1))4==this.slen&&this.optParameterAsString(2).equals("saved")&&
4==this.slen?(this.vwr.stm.deleteSaved(this.optParameterAsString(3)),this.doReport()&&this.report(J.i18n.GT.o(J.i18n.GT._("show saved: {0}"),this.vwr.stm.listSavedStates()))):this.setObjectProperty();else{var a=1==this.slen?null:this.atomExpression(this.st,1,0,!0,!1,!0,!1);this.chk||(null==a&&(a=this.vwr.getAllAtoms()),a=this.vwr.deleteAtoms(a,!1),this.doReport()&&this.report(J.i18n.GT.i(J.i18n.GT._("{0} atoms deleted"),a)))}});d(c$,"cmdDisplay",function(a){var b=null,c=0,e=1,f;switch(f=this.tokAt(1)){case 1276118017:case 1073742119:c=
f,f=this.tokAt(++e)}var h=1087373318==f;h&&(f=this.tokAt(++e));switch(f){case 1048582:this.setObjectProperty();return;case 0:break;default:b=4==this.slen&&1678770178==this.tokAt(2)?JM.BondSet.newBS(JU.BSUtil.newBitSet2(0,this.vwr.ms.bondCount),null):this.atomExpressionAt(e)}this.chk||(q(b,JM.BondSet)?this.vwr.ms.displayBonds(b,a):this.vwr.displayAtoms(b,a,h,c,this.tQuiet))},"~B");d(c$,"cmdDots",function(a){this.chk||this.sm.loadShape(a);this.setShapeProperty(a,"init",null);for(var b=NaN,c=J.atomdata.RadiusData.EnumType.ABSOLUTE,
e=1;;){switch(this.getToken(e).tok){case 1073742072:this.restrictSelected(!1,!1);case 1048589:b=1;c=J.atomdata.RadiusData.EnumType.FACTOR;break;case 1048588:b=0;break;case 1073741976:this.setShapeProperty(a,"ignore",this.atomExpressionAt(e+1));e=this.iToken+1;continue;case 2:var f=this.intParameter(e);if(1666189314==this.tokAt(e+1)){e++;this.setShapeProperty(a,"atom",Integer.$valueOf(f));this.setShapeProperty(a,"radius",Float.$valueOf(this.floatParameter(++e)));1766856708==this.tokAt(++e)&&(this.setShapeProperty(a,
"colorRGB",Integer.$valueOf(this.getArgbParam(++e))),e++);10!=this.getToken(e).tok&&this.invArg();this.setShapeProperty(a,"dots",this.st[e].value);return}}break}b=Float.isNaN(b)?this.encodeRadiusParameter(e,!1,!0):new J.atomdata.RadiusData(null,b,c,J.c.VDW.AUTO);null!=b&&(Float.isNaN(b.value)&&this.invArg(),this.setShapeSize(a,b))},"~N");d(c$,"cmdEcho",function(a){if(!this.chk){a=this.optParameterAsString(a);var b=!0;this.vwr.ms.getEchoStateActive()&&(a.startsWith("\u0001")&&(a=a.substring(1),b=!1),
null!=a&&this.setShapeProperty(31,"text",a));b&&this.vwr.getRefreshing()&&this.showString(JU.Txt.formatText(this.vwr,a))}},"~N");d(c$,"cmdFile",function(){var a=this.intParameter(this.checkLast(1));if(!this.chk){var b=this.vwr.ms.getModelNumberIndex(1E6*a+1,!1,!1),c=-1;0<=b&&(c=this.vwr.ms.getModelNumberIndex(1E6*(a+1)+1,!1,!1),0>c&&(c=this.vwr.ms.mc),c--);this.vwr.setAnimationOn(!1);this.vwr.am.setAnimationDirection(1);this.vwr.setAnimationRange(b,c);this.vwr.setCurrentModelIndex(-1)}});d(c$,"cmdFixed",
function(){var a=1==this.slen?null:this.atomExpressionAt(1);this.chk||this.vwr.setMotionFixedAtoms(a)});d(c$,"cmdFor",function(a,b){var c=this.theToken,e=this.st[0].intValue,f=c.loopVars,e=this.st[0].intValue,h=G(2,0),d=null,g=null,C=null,n=0,m=!0,l=!1,x=0,p=null;if(b&&null!=f)if(a=1276116993,C=f[0],g=f[1],d=f[1].value,x=++g.intValue,2==g.tok){l=0>x;c=d[0];m=d[1];if(m=c!=m&&m<c==l)C.intValue=d[0]=c+(l?-1:1);x=-1}else 7==g.tok?((m=x<=d.size())&&C.setv(JS.SV.selectItemVar(g)),x=-1):(this.isBondSet=
q(d,JM.BondSet),x=d.nextSetBit(x),m=0<=x);else{for(var r=1,k=0;r<this.slen&&2>x;r++)switch(a=this.tokAt(r)){case 1048591:0<k?k--:h[x++]=r;break;case 1276116993:case 1073741952:p=this.paramAsStr(r-1);k-=2;if(1048577==this.tokAt(++r)||10==this.tokAt(r))n=10,d=this.atomExpressionAt(r),this.isBondSet&&(d=JM.BondSet.newBS(d,null)),m=0<=d.nextSetBit(0);else switch(n=this.parameterExpressionList(-r,1,!1),(null==n||1>n.size())&&this.invArg(),r=n.get(0),n=r.tok){case 10:d=JS.SV.getBitSet(r,!1);m=0<=d.nextSetBit(0);
break;case 7:d=r.getList();x=d.size();if((m=0<x)&&1073741952==a)d=G(-1,[JS.SV.iValue(d.get(0)),JS.SV.iValue(d.get(x-1))]),l=d[1]<d[0],a=1276116993,n=2;break;case 6:var r=r.getMap(),D=r.keySet().size();if(m=0<D)d=Array(D),r.keySet().toArray(d),java.util.Arrays.sort(d);break;default:this.invArg()}r=this.iToken;break;case 135280133:k+=2}b||this.pushContext(c,"FOR");null==p&&(x=b?null==d?h[1]+1:2:2,36868==this.tokAt(x)&&x++,p=this.paramAsStr(x),(l=p.equals("--")||p.equals("++"))&&(p=this.paramAsStr(++x)));
if(m)if(1276116993==a)C=this.getForVar(p),2==n?(C.tok=2,C.intValue=d[0],g=JS.SV.newV(2,d),g.intValue=l?-2147483648:0,x=-1):(g=JS.SV.getVariable(d),10==n?x=d.nextSetBit(0):(g.intValue=1,C.setv(JS.SV.selectItemVar(g)),x=-1)),null==f&&(f=c.loopVars=Array(2)),f[0]=C,f[1]=g;else{if(JS.T.tokAttr(this.tokAt(x),1073741824)||null!=(g=this.getContextVariableAsVariable(p)))!l&&269484436!=this.getToken(++x).tok&&this.invArg(),l&&(x-=2),this.setVariable(++x,this.slen-1,p,!1);m=this.parameterExpressionBoolean(h[0]+
1,h[1])}}m&&(1276116993==a&&0<=x)&&(g.intValue=x,C.tok=10,this.isBondSet?(C.value=new JM.BondSet,C.value.set(x)):C.value=JU.BSUtil.newAndSetBit(x));e++;m||this.popContext(!0,!1);b=!1;!m&&!this.chk&&(this.pc=Math.abs(e)-1);return b},"~N,~B");d(c$,"cmdFlow",function(a,b,c){var e,f=this.st[0].intValue,h=0>f&&!this.chk;e=!0;var d=0;switch(a){case 135368713:case 102436:return this.cmdFunc(),b;case 364558:return b;case 102412:e=this.theToken;this.pushContext(e,"CATCH");!h&&null!=e.name0&&this.contextVariables.put(e.name0,
e.contextVariables.get(e.name0));e=!h;this.st[0].intValue=-Math.abs(f);break;case 102410:case 102413:case 102411:d=Math.abs(this.aatoken[Math.abs(f)][0].intValue);switch(h?0:this.cmdFlowSwitch(this.theToken,a)){case 0:d=-d;e=!1;break;case -1:e=!1}this.aatoken[this.pc][0].intValue=Math.abs(f);this.theToken=this.aatoken[Math.abs(f)][0];1150985!=this.theToken.tok&&(this.theToken.intValue=d);break;case 135369225:case 102402:e=!h&&this.parameterExpressionBoolean(1,0);if(this.chk)break;d=Math.abs(this.aatoken[Math.abs(f)][0].intValue);
this.aatoken[Math.abs(f)][0].intValue=h||e?-d:d;102412==a&&(this.aatoken[this.pc][0].intValue=-f);break;case 364547:this.checkLength(1);0>f&&!this.chk&&(this.pc=-f-1);break;case 364548:this.checkLength(1);break;case 102406:b||this.pushContext(this.theToken,"WHILE");b=!1;!this.parameterExpressionBoolean(1,0)&&!this.chk&&(this.pc=f,this.popContext(!0,!1));break;case 102407:if(!this.chk){this.breakAt(f);break}if(1==this.slen)break;h=this.intParameter(this.checkLast(1));if(this.chk)break;for(a=0;a<h;a++)this.popContext(!0,
!1);break;case 102408:b=!0;this.chk||(this.pc=f-1);1<this.slen&&this.intParameter(this.checkLast(1));break;case 1150985:switch(this.getToken(this.checkLast(1)).tok){case 364558:b=this.getToken(1).value;if(this.chk)return!1;this.runFunctionAndRet(b,"try",null,null,!0,!0,!0);return!1;case 135368713:case 102436:return this.vwr.addFunction(this.theToken.value),b;case 102412:this.popContext(!0,!1);break;case 102439:this.addProcess(c,f,this.pc);this.popContext(!0,!1);break;case 102410:if(0<f&&-1==this.cmdFlowSwitch(this.aatoken[f][0],
0)){for(;f<this.pc&&!(102413!=(a=this.aatoken[f][0].tok)&&102411!=a);f++);e=this.pc==f}break;case 135369224:case 102406:e=!1,b=!0}}!e&&!this.chk&&(this.pc=Math.abs(f)-1);return b},"~N,~B,JU.Lst");d(c$,"cmdFlowSwitch",function(a,b){102410==b&&a.addName("_var");var c=a.contextVariables.get("_var");if(null==c)return 1;if(0==b)return a.contextVariables.remove("_var"),-1;if(102413==b)return-1;var e=this.parameterExpressionToken(1);if(102411==b)return(c=JS.SV.areEqual(c,e))&&a.contextVariables.remove("_var"),
c?1:-1;a.contextVariables.put("_var",e);return 1},"JS.ContextToken,~N");d(c$,"cmdFont",function(a,b){var c="SansSerif",e="Plain",f=0,h=-1;switch(this.iToken=this.slen){case 6:h=this.floatParameter(5),5<=h&&(h=this.vwr.tm.getZoomSetting()/h/this.vwr.getScalePixelsPerAngstrom(!1));case 5:1073741824!=this.getToken(4).tok&&this.invArg(),e=this.paramAsStr(4);case 4:1073741824!=this.getToken(3).tok&&this.invArg();c=this.paramAsStr(3);this.isFloatParameter(2)||this.error(34);b=this.floatParameter(2);a=this.getShapeType(this.getToken(1).tok);
break;case 3:this.isFloatParameter(2)||this.error(34);-1==a?(a=this.getShapeType(this.getToken(1).tok),b=this.floatParameter(2)):1<=b&&(b+=f=5);break;default:if(5==a){b=13;break}this.bad()}if(5==a){if(0>b||1<=b&&(6>b||63<b)){this.integerOutOfRange(6-f,63-f);return}this.setShapeProperty(5,"setDefaults",this.vwr.slm.noneSelected)}this.chk||(0<=javajs.awt.Font.getFontStyleID(c)&&(e=c,c="SansSerif"),c=this.vwr.getFont3D(c,e,b),this.sm.loadShape(a),this.setShapeProperty(a,"font",c),0<=h&&this.setShapeProperty(a,
"scalereference",Float.$valueOf(h)))},"~N,~N");d(c$,"cmdFrank",function(a){var b=!0;if(this.slen>a)switch(this.getToken(this.checkLast(a)).tok){case 1048589:break;case 1048588:b=!1;break;default:this.error(5)}this.setBooleanProperty("frank",b)},"~N");d(c$,"cmdFunc",function(){if(!this.chk||this.isCmdLine_c_or_C_Option){var a=this.getToken(0).value.toLowerCase();this.vwr.isFunction(a)||this.error(10);var b=1==this.slen||3==this.slen&&269484048==this.tokAt(1)&&269484049==this.tokAt(2)?null:this.parameterExpressionList(1,
-1,!1);this.chk||this.runFunctionAndRet(null,a,b,null,!1,!0,!0)}});d(c$,"cmdGetProperty",function(){if(!this.chk){var a="",b=a=this.optParameterAsString(1);0<=b.indexOf(".")&&(b=b.substring(0,b.indexOf(".")));0<=b.indexOf("[")&&(b=b.substring(0,b.indexOf("[")));var b=this.vwr.getPropertyNumber(b),c="";switch(this.tokAt(2)){default:c=this.optParameterAsString(2);break;case 1048577:case 10:if(c=this.atomExpressionAt(2),a.equalsIgnoreCase("bondInfo"))switch(this.tokAt(++this.iToken)){case 1048577:case 10:c=
M(-1,[c,this.atomExpressionAt(this.iToken)])}}if(0<a.length&&0>b)c=a="";else if(0<=b&&3>this.slen){if((c=this.vwr.getDefaultPropertyParam(b)).equals("(visible)"))c=this.vwr.ms.getVisibleSet(!0)}else if(b==this.vwr.getPropertyNumber("fileContents")){b=c.toString();for(c=3;c<this.slen;c++)b+=this.paramAsStr(c);c=b}a=this.vwr.getProperty("readable",a,c);this.showString(a)}});d(c$,"cmdGoto",function(a){a=a?this.paramAsStr(this.checkLast(1)):null;for(var b=null==a?this.aatoken.length-1:-1,c=null,e=b+1;e<
this.aatoken.length;e++){var c=this.aatoken[e],f=c[0].tok;switch(f){case 20485:case 0:c=c[c.length-1].value;0==f&&(c=c.substring(c.startsWith("#")?1:2));break;default:continue}if(c.equalsIgnoreCase(a)){b=e;break}}0>b&&this.invArg();null==a&&(b=0);f=b<this.pc?1:-1;c=0;for(e=b;e!=this.pc;e+=f)switch(this.aatoken[e][0].tok){case 1276384259:case 102439:case 135369224:case 102412:case 102406:c++;break;case 1276383249:c--;break;case 1150985:switch(this.aatoken[e][1].tok){case 102439:case 135369224:case 102412:case 102406:c--}}if(null==
a)for(b=2147483647;0<c;--c)this.popContext(!1,!1);0!=c&&this.invArg();this.chk||(this.pc=b-1)},"~B");d(c$,"cmdHbond",function(){if(2==this.slen&&4102==this.getToken(1).tok){if(!this.chk){var a=this.vwr.autoHbond(null,null,!1);this.report(J.i18n.GT.i(J.i18n.GT._("{0} hydrogen bonds"),Math.abs(a)))}}else 2==this.slen&&12291==this.getToken(1).tok?this.chk||this.checkExtension(1612189718):(a=this.getMadParameter(),2147483647!=a&&(this.setShapeProperty(1,"type",Integer.$valueOf(30720)),this.setShapeSizeBs(1,
a,null),this.setShapeProperty(1,"type",Integer.$valueOf(1023))))});d(c$,"cmdHelp",function(){if(!this.chk){var a=this.optParameterAsString(1).toLowerCase(),b=0;a.startsWith("mouse")&&0<=(b=a.indexOf(" "))&&b==a.lastIndexOf(" ")?this.showString(this.vwr.getBindingInfo(a.substring(b+1))):(JS.T.tokAttr(JS.T.getTokFromName(a),4096)&&(a="?command="+a),this.vwr.getHelp(a))}});d(c$,"cmdHistory",function(a){if(1==this.slen)this.showString(this.vwr.getSetHistory(2147483647));else if(2==a)a=this.intParameter(this.checkLast(2)),
0>a&&this.invArg(),this.chk||this.vwr.getSetHistory(0==a?0:-2-a);else switch(this.getToken(this.checkLast(1)).tok){case 1048589:case 1073741882:this.chk||this.vwr.getSetHistory(-2147483648);break;case 1048588:this.chk||this.vwr.getSetHistory(0);break;default:this.errorStr(24,"ON, OFF, CLEAR")}},"~N");d(c$,"cmdHover",function(){if(!this.chk){var a=this.paramAsStr(1);a.equalsIgnoreCase("on")?a="%U":a.equalsIgnoreCase("off")&&(a=null);this.vwr.setHoverLabel(a)}});d(c$,"cmdInvertSelected",function(){var a=
null,b=null,c=null,e=-2147483648;switch(this.tokAt(1)){case 0:if(this.chk)return;c=this.vwr.bsA();a=this.vwr.ms.getAtomSetCenter(c);this.vwr.invertAtomCoordPt(a,c);return;case 528443:e=this.atomExpressionAt(2).nextSetBit(0);c=this.atomExpressionAt(this.iToken+1);break;case 135266320:a=this.centerParameter(2);break;case 135266319:b=this.planeParameter(1);break;case 135267841:b=this.hklParameter(2)}this.checkLengthErrorPt(this.iToken+1,1);null==b&&(null==a&&-2147483648==e)&&this.invArg();this.chk||
-1!=e&&this.vwr.invertSelected(a,b,e,c)});d(c$,"cmdLabel",function(a){if(!this.chk){this.sm.loadShape(5);var b=null;switch(this.getToken(a).tok){case 1048589:b=this.vwr.getStandardLabelFormat(0);break;case 1048588:break;case 12294:case 1610625028:this.setShapeProperty(5,"display",1610625028==this.theTok?Boolean.TRUE:Boolean.FALSE);return;case 7:b=this.theToken.value;break;default:b=this.paramAsStr(a)}this.sm.setLabel(b,this.vwr.bsA())}},"~N");d(c$,"cmdLoad",function(){var a=!this.chk||this.isCmdLine_C_Option,
b=!1,c=!1,e=!1,f=!1,h=!1,d=this.vwr.async,g=!1,C=!1,n=this.vwr.getBoolean(603979792),m,l=135270408==this.tokAt(0)?0:1,x=null,p=this.vwr.ms.mc-(this.vwr.fm.getFileName().equals("zapped")?1:0),r=this.vwr.ms.ac,k=(new JU.SB).append("load"),q=1,u=new java.util.Hashtable;this.$isStateScript&&(u.put("isStateScript",Boolean.TRUE),this.forceNoAddHydrogens&&u.put("doNotAddHydrogens",Boolean.TRUE));var v=null,y=null,t=null,w=null,w=new JU.SB,z=0,s;if(1==this.slen)l=0;else{v=this.paramAsStr(l);if(2==this.slen&&
!this.chk&&(v.endsWith(".spt")||v.endsWith(".png")||v.endsWith(".pngj"))){this.cmdScript(0,v,null);return}s=this.tokAt(l);switch(s){case 1073877011:case 1610616855:case 1073742015:b=this.paramAsStr(this.checkLast(2));if(!this.chk)switch(s){case 1073877011:u.put("service","nbo");u.put("mode",Integer.$valueOf(1));u.put("action","load");u.put("value",b);u.put("sync",Boolean.TRUE);this.vwr.sm.processService(u);this.runScript(u.get("ret"));break;case 1610616855:this.vwr.setHistory(b);break;case 1073742015:this.vwr.setMenu(b,
!0)}return;case 135270408:h=!0;k.append(" /*data*/ data");m=this.stringParameter(++l).toLowerCase();var A=m.indexOf("@");0<=A&&(m=m.$replace("@","_"));k.append(" ").append(JU.PT.esc(m));var b=m.startsWith("append"),C=0<=m.indexOf("orientation"),B=0<=A?""+this.getParameter(m.substring(A+1),4,!0):this.paramAsStr(++l),B=JV.Viewer.fixInlineString(B,this.vwr.getInlineChar());u.put("fileData",B);u.put("isData",Boolean.TRUE);k.appendC("\n").append(B).append(" end ").append(JU.PT.esc(m));0>A&&(l+=2);break;
case 4130:f=b=!0;n=!1;k.append(" mutate");v=this.optParameterAsString(++l);s=JS.T.getTokFromName(v);break;case 1073741839:b=!0;k.append(" append");v=this.optParameterAsString(++l);s=JS.T.getTokFromName(v);break;case 1073742077:C=!0;k.append(" orientation");this.vwr.stm.saveOrientation("preload",null);v=this.optParameterAsString(++l);s=JS.T.getTokFromName(v);break;case 1073741824:l++,k.append(" "+v),z=1073741824==s&&JU.PT.isOneOf(v.toLowerCase(),";xyz;vxyz;vibration;temperature;occupancy;partialcharge;")?
JS.T.getTokFromName(v):0,0!=z&&(u.put("atomDataOnly",Boolean.TRUE),u.put("modelNumber",Integer.$valueOf(1)),4166==z&&(z=1146095631),t=this.vwr.fm.getFileInfo(),b=!0)}switch(s){case 1229984263:l++;k.append(" "+v);this.optParameterAsString(l).equals("+")&&(g=!0,l++,k.append(" +"));7==this.tokAt(l)&&(y=this.stringParameterSet(l),l=this.iToken,l+1!=this.slen&&this.invArg(),null!=y&&(q=y.length));break;case 1073741983:c=!0;l++;k.append(" "+v);break;case 135267336:e=!0;l++;break;case 1073741849:d=!0;u.put("async",
Boolean.TRUE);l++;break;case 536870926:case 1095766030:l++;k.append(" "+v);536870926==s&&u.put("isTrajectory",Boolean.TRUE);if(this.isPoint3f(l))s=this.getPoint3f(l,!1),l=this.iToken+1,u.put("firstLastStep",G(-1,[I(s.x),I(s.y),I(s.z)])),k.append(" "+JU.Escape.eP(s));else switch(this.tokAt(l)){case 10:m=this.getToken(l++).value;u.put("bsModels",m);k.append(" "+JU.Escape.eBS(m));break;default:u.put("firstLastStep",G(-1,[0,-1,1]))}break;case 1073741824:break;default:v="fileset"}null==y&&4!=this.getToken(l).tok&&
this.error(16)}s=l;m=null;1073741848==this.tokAt(s+1)&&(m=this.stringParameter(l+=2),""!==this.vwr.fm.getPathForAllFiles()&&(m=null,s=l));var E=B=A=null;if(this.slen==l+1){if(0==l||null==y&&0==(A=this.paramAsStr(s)).length)A=this.getFullPathName();if(null==A&&null==y){this.cmdZap(!1);return}if(null==y&&!c)if(e)A="$"+A;else{if(0<=A.indexOf("[]"))return;0==A.indexOf("[")&&(y=JU.Escape.unescapeStringArray(A),null!=y&&(1==l&&k.append(" files"),q=y.length))}if(null!=y)for(e=0;e<q;e++)k.append(" /*file*/").append(JU.PT.esc(y[e]))}else if(this.isLoadOption(this.getToken(l+
1).tok)){if(0==(A=this.paramAsStr(s)).length&&null==(A=this.getFullPathName())){this.cmdZap(!1);return}(s==l||null!=m)&&l++;if(0<=A.indexOf("[]"))return;if(1073742010==(s=this.tokAt(l)))e=this.stringParameter(++l),u.put("manifest",e),w.append(" MANIFEST "+JU.PT.esc(e)),s=this.tokAt(++l);switch(s){case 2:case 7:case 269484096:case 1073742195:l=this.getLoadModelIndex(l,w,u)}l=this.getCmdExt().getLoadSymmetryParams(l,w,u);1073741839==this.tokAt(l)&&(135270408==this.tokAt(++l)?(l+=2,B=this.getToken(l++).value,
E=this.stringParameter(++l),++l):(E=this.stringParameter(l++),B=this.stringParameter(l++)),u.put(E,B));1073741940==this.tokAt(l)&&(x=this.stringParameter(++l))}else q=new JU.Lst,1==l&&(l++,k.append(" "+v)),x=this.getLoadFilesList(l,k,w,u,q),y=q.toArray(Array(q=q.size())),!g&&0<=k.indexOf("/*concat*/")&&(g=!0);if(a){null!=y&&(A="fileSet");null!=B&&w.append(' APPEND data "'+E+'"\n'+B+(B.endsWith("\n")?"":"\n")+'end "'+E+'"');null==x&&(x=this.vwr.g.defaultLoadFilter);0<x.length&&(0<=x.toUpperCase().indexOf("DOCACHE")&&
!this.$isStateScript&&!b&&this.vwr.cacheClear(),u.put("filter",x),x.equalsIgnoreCase("2d")&&(x="2D-noMin"),w.append(" FILTER "+JU.PT.esc(x)));a=!1;if(null==y)if(c)u.put("fileData",A);else if(A.startsWith("@")&&1<A.length)a=!0,d=this.getStringParameter(A.substring(1),!1),u.put("fileData",d),k=(new JU.SB).append("{\n    var ").append(A.substring(1)).append(" = ").append(JU.PT.esc(d)).append(";\n    ").appendSB(k);else if((this.vwr.testAsync||this.vwr.isJS)&&(d||A.startsWith("?")))m=null,A=this.loadFileAsync("LOAD"+
(b?"_APPEND_":"_"),A,l,!b&&this.pc!=this.pcResume);d=null;null!=m&&(m.equals(".")&&(m=this.vwr.fm.getFilePath(A,!1,!0)),(0==m.length||this.vwr.fm.getFilePath(m,!1,!1).equalsIgnoreCase(this.vwr.fm.getFilePath(A,!1,!1)))&&this.invArg(),l=M(-1,[m]),d=this.vwr.getOutputChannel(m,l),null==d?JU.Logger.error("Could not create output stream for "+l[0]):u.put("outputChannel",d));if(null==y&&0==z){k.append(" ");a||c?k.append(JU.PT.esc(A)):h||(null!=m&&(m=this.vwr.fm.getFilePath(m,!1,!1)),!A.equals("string")&&
!A.equals("string[]")&&k.append("/*file*/").append(null!=m?JU.PT.esc(m):"$FILENAME$"));if(!g&&(A.startsWith("=")||A.startsWith("*"))&&1<A.indexOf("/")){g=!0;s=A.indexOf("/");c=A.substring(1,s);h=A.substring(s+1);A=A.substring(0,s);if(0<=(s=A.indexOf(".")))A=A.substring(0,s);0<=";dssr;rna3d;dom;val;".indexOf(";"+h+";")?(A.startsWith("=")&&(A+=".cif"),y=h.equals("all")?M(-1,[A,"*dom/"+c,"*val/"+c]):M(-1,[A,"*"+h+"/"+c]),A="fileSet",k=null,a=!1,w.setLength(0)):A+="/"+h}0<w.length()&&k.append(" /*options*/ ").append(w.toString());
a&&k.append("\n  }");null!=k&&u.put("loadScript",k)}this.setCursorWait(!0);(c=this.vwr.getBoolean(603979934))&&JU.Logger.startTimer("load");!this.$isStateScript&&!b&&this.vwr.setBooleanProperty("legacyJavaFloat",!1);f&&u.put("isMutate",Boolean.TRUE);w=this.vwr.loadModelFromFile(null,A,y,null,b,u,k,w,z,g);c&&this.showString(JU.Logger.getTimerMsg("load",0));null!=d&&(this.vwr.fm.setFileInfo(M(-1,[m])),JU.Logger.info(J.i18n.GT.o(J.i18n.GT._("file {0} created"),m)),this.showString(this.vwr.fm.getFilePath(m,
!1,!1)+" created"),d.closeChannel());if(0<z)this.vwr.fm.setFileInfo(t),null!=w&&!this.isCmdLine_c_or_C_Option&&this.evalError(w,null);else{if(null!=w&&!this.isCmdLine_c_or_C_Option){if(0==w.indexOf("NOTE: file recognized as a script file: ")){A=w.substring(40).trim();this.cmdScript(0,A,null);return}if(this.vwr.async&&w.startsWith(JV.JC.READER_NOT_FOUND))throw new JS.ScriptInterruption(this,"async",1);this.evalError(w,null)}this.debugHigh&&this.report("Successfully loaded:"+(null==y?u.get("fullPathName"):
v));this.finalizeLoad(b,n,g,C,q,r,p)}}});d(c$,"getLoadFilesList",function(a,b,c,e,f){for(var h=null,d=null,g=null,C=null;a<this.slen;){switch(this.tokAt(a)){case 269484193:b.append("/*concat*/ +");++a;continue;case 2:case 7:case 269484096:case 1073742195:a=this.getLoadModelIndex(a,c,e);continue;case 1073741940:d=this.stringParameter(++a);++a;continue;case 1048581:e.remove("isTrajectory");null==h&&(h=new JU.Lst,g=JU.P3.new3(0,-1,1));this.isPoint3f(++a)?(g=this.getPoint3f(a,!1),a=this.iToken+1):10==
this.tokAt(a)&&(C=this.getToken(a).value,g=null,a=this.iToken+1);break;case 1073741824:this.invArg()}f.addLast(this.paramAsStr(a++));null!=g?(h.addLast(G(-1,[I(g.x),I(g.y),I(g.z)])),b.append(" COORD "+JU.Escape.eP(g))):null!=C&&(h.addLast(C),b.append(" COORD "+JU.Escape.eBS(C)));b.append(" /*file*/$FILENAME"+f.size()+"$")}null!=h&&e.put("firstLastSteps",h);return d},"~N,JU.SB,JU.SB,java.util.Map,JU.Lst");d(c$,"isLoadOption",function(a){switch(a){case 1073742010:case 2:case 7:case 269484096:case 1073742195:case 1048586:case 8:case 1073742080:case 1095761926:case 1073742163:case 1073741938:case 1073742114:case 1073742152:case 1614417948:case 1073742066:case 1073741839:return!0;
case 1073741940:case 1073741824:return 1048581!=this.tokAt(this.iToken+2)}return!1},"~N");d(c$,"getLoadModelIndex",function(a,b,c){switch(this.tokAt(a)){case 2:c.remove("firstLastStep");c.remove("bsModel");c.put("useFileModelNumbers",Boolean.TRUE);a=this.intParameter(a);b.append(" ").appendI(a);0>a?c.put("vibrationNumber",Integer.$valueOf(-a)):c.put("modelNumber",Integer.$valueOf(a));break;case 7:case 269484096:case 1073742195:c.remove("firstLastStep");for(var e=this.floatParameterSet(a,1,2147483647),
f=new JU.BS,h=G(e.length,0),d=0;d<e.length;d++)a=I(e[d]),1<=e[d]&&e[d]==a?f.set(a-1):this.invArg(),h[d]=a;b.append(" "+JU.Escape.eAI(h));c.put("bsModels",f);c.put("useFileModelNumbers",Boolean.TRUE)}return this.iToken+1},"~N,JU.SB,java.util.Map");d(c$,"finalizeLoad",function(a,b,c,e,f,h,d){if(a&&(b||1<f))this.vwr.setAnimationRange(-1,-1),this.vwr.setCurrentModelIndex(d);0==this.scriptLevel&&(!a&&(c||2>f))&&this.vwr.showString(this.vwr.ms.getInfoM("modelLoadNote"),!1);b=this.vwr.ms.getInfoM("centroidMinMax");
JU.AU.isAI(b)&&0<this.vwr.ms.ac&&(a=JU.BSUtil.newBitSet2(a?h:0,this.vwr.ms.ac),this.vwr.ms.setCentroid(a,b));a=this.vwr.g.defaultLoadScript;h="";0<a.length&&(h+="\nUsing defaultLoadScript: "+a);var g;b=this.vwr.ms.msInfo;null!=b&&this.vwr.allowEmbeddedScripts()&&null!=(g=b.remove("jmolscript"))&&0<g.length?(h+="\nAdding embedded #jmolscript: "+g,a+=";"+g,this.setStringProperty("_loadScript",a),a="allowEmbeddedScripts = false;try{"+a+"} allowEmbeddedScripts = true;"):this.setStringProperty("_loadScript",
"");this.logLoadInfo(h);g=null==b?null:b.remove("sitescript");null!=g&&(a=g+";"+a);e&&(a+=";restore orientation preload");0<a.length&&!this.isCmdLine_c_or_C_Option&&this.runScript(a)},"~B,~B,~B,~B,~N,~N,~N");d(c$,"cmdLog",function(){1==this.slen&&this.bad();if(!this.chk){var a=this.parameterExpressionString(1,0);1048588==this.tokAt(1)?this.setStringProperty("logFile",""):this.vwr.log(a)}});d(c$,"cmdLoop",function(){this.vwr.headless||(this.chk||(this.pc=-1),this.cmdDelay())});d(c$,"cmdMessage",function(){var a=
this.paramAsStr(this.checkLast(1));this.chk||(a=JU.Txt.formatText(this.vwr,a),null==this.outputBuffer&&this.vwr.warn(a),a.startsWith("_")||this.report(a))});d(c$,"cmdModel",function(a){var b=4115==this.theTok,c=!0;if(1==this.slen&&1==a){a=this.vwr.am.cmi;var e;if(!this.chk&&0<=a&&0<=(e=this.vwr.ms.getJmolDataSourceFrame(a)))this.vwr.setCurrentModelIndex(e==a?-2147483648:e)}else{switch(this.tokAt(1)){case 2:if(b&&2==this.slen){this.chk||this.vwr.am.setFrame(this.intParameter(1)-1);return}break;case 1048577:case 10:var f=
this.atomExpressionAt(1).nextSetBit(0);this.checkLength(this.iToken+1);if(this.chk||0>f)return;c=new JU.BS;c.set(f);this.vwr.setCurrentModelIndex(this.vwr.ms.getModelBS(c,!1).nextSetBit(0));return;case 1073741904:this.iToken=1;c=2==this.tokAt(2)?this.intParameter(++this.iToken):1;this.checkLength(this.iToken+1);!this.chk&&0<c&&this.vwr.ms.createModels(c);return;case 1074790550:this.checkLength(3);c=this.stringParameter(2);this.chk||this.vwr.setCurrentModelID(c);return;case 528397:c=0;this.checkLength(3);
switch(this.getToken(2).tok){case 2:case 3:c=Y(1E3*this.floatParameter(2));break;default:this.error(20)}this.chk||this.vwr.setFrameDelayMs(c);return;case 1073742166:0<this.checkLength23()&&(this.chk||this.vwr.setFrameTitleObj(2==this.slen?"@{_modelName}":7==this.tokAt(2)?JS.SV.strListValue(this.st[2]):this.paramAsStr(2)));return;case 1073741832:a=1048587==this.tokAt(2);c=2==this.slen||a?null:this.atomExpressionAt(2);a&&(this.iToken=2);a=1060869==this.tokAt(this.iToken+1);this.checkLength(this.iToken+
(a?2:1));this.chk||this.vwr.setFrameOffsets(c,a);return}if(269484192==this.getToken(a).tok)++a,(2!=this.getToken(this.checkLast(a)).tok||1!=this.intParameter(a))&&this.invArg(),this.chk||this.vwr.setAnimation(1073742108);else{var b=e=!1,h=null,d=null,g=!1,C=!1,n=G(-1,[-1,-1]),m=0,l=0,k=null,p=this.vwr.haveFileSet();if(this.isArrayParameter(1))this.setFrameSet(1),g=!0;else for(f=a;f<this.slen;f++)switch(this.getToken(f).tok){case 1073741832:2!=f&&this.invArg();k=this.centerParameter(3);this.checkLength(f=
this.iToken+1);break;case 1048579:case 269484209:this.checkLength(a+(b?2:1));g=!0;break;case 269484192:1!=m&&this.invArg();C=!0;break;case 1048587:this.checkLength(a+1);break;case 3:if(c=!1,0>(l=this.floatParameter(f))){this.checkLength(f+1);this.chk||this.vwr.am.morph(-l);return}case 2:case 4:2==m&&this.invArg();var r=4==this.theTok?JS.ScriptParam.getFloatEncodedInt(this.theToken.value):this.theToken.intValue;0>r&&1==m&&(C=!0,r=-r,p&&1E6>r&&(r*=1E6));3==this.theTok&&(p&&l==I(l))&&(r=1E6*I(l));if(2147483647==
r){c=!1;n[m++]=this.chk||1!=f?0:this.vwr.getModelIndexFromId(this.theToken.value.toString());break}if(-1==r){this.checkLength(a+1);this.chk||this.vwr.setAnimation(1073742108);return}1E3<=r&&(1E6>r&&p)&&(r=1E6*N(r/1E3)+r%1E3);!c&&(0==r&&0==m)&&(g=!0);1E6<=r&&(c=!1);n[m++]=r;break;case 1073742096:e=!0;break;case 1073742114:b=!0;break;case 1716520985:h=this.stringParameter(3);f=this.setVariable(4,-1,"",!1);null!=f&&(d=JS.SV.oValue(f));f=this.slen;break;default:this.frameControl(a);return}if(!this.chk)if(b&&
0==m&&(g=!0),g)this.vwr.setAnimationOn(!1),this.vwr.setAnimationRange(-1,-1),b||this.vwr.setCurrentModelIndex(-1);else{2==m&&!b&&(C=!0);if(p)c=!1;else if(c)for(f=0;f<m;f++)0<=n[f]&&(n[f]%=1E6);a=this.vwr.ms.getModelNumberIndex(n[0],c,!1);if(null!=k)0<=a&&(this.vwr.ms.translateModel(a,null),this.vwr.ms.translateModel(a,k));else{k=-1;if(p&&0>a&&0!=n[0])if(1E6>n[0]&&(n[0]*=1E6),2==m&&1E6>n[1]&&(n[1]*=1E6),0==n[0]%1E6)n[0]++,a=this.vwr.ms.getModelNumberIndex(n[0],!1,!1),0<=a&&(k=this.vwr.ms.getModelNumberIndex(1==
m?n[0]+1E6:0==n[1]?-1:0==n[1]%1E6?n[1]+1000001:n[1]+1,!1,!1),0>k&&(k=this.vwr.ms.mc),k--,b?m=2:!C&&k!=a&&(C=!0),b=b||a==k);else return;if(null!=h)0<=a&&this.vwr.ms.setInfo(a,h,d);else{(!e&&!b||0<=a)&&this.vwr.setCurrentModelIndexClear(a,!1);if(e&&2==m||b||C)0>k&&(k=this.vwr.ms.getModelNumberIndex(n[1],c,!1)),this.vwr.setAnimationOn(!1),this.vwr.am.setAnimationDirection(1),this.vwr.setAnimationRange(a,k),this.vwr.setCurrentModelIndexClear(C&&!b?-1:0<=a?a:0,!1);e&&this.vwr.setAnimation(4143)}}}}}},
"~N");d(c$,"cmdMove",function(){this.checkLength(-11);var a=JU.V3.new3(this.floatParameter(1),this.floatParameter(2),this.floatParameter(3)),b=this.floatParameter(4),c=JU.V3.new3(this.intParameter(5),this.intParameter(6),this.intParameter(7)),e=this.floatParameter(8),f=this.floatParameter(9),h=11==this.slen?this.intParameter(10):30;if(!this.chk&&(this.refresh(!1),this.useThreads()||(f=0),this.vwr.move(this,a,b,c,e,f,h),0<f&&this.isJS))throw new JS.ScriptInterruption(this,"move",1);});d(c$,"cmdMoveto",
function(){if(2==this.slen&&1073742162==this.tokAt(1))this.chk||this.vwr.tm.stopMotion();else{var a;if(2==this.slen&&this.isFloatParameter(1)){if(a=this.floatParameter(1),!this.chk&&(this.useThreads()||(a=0),0<a&&this.refresh(!1),this.vwr.moveTo(this,a,null,JV.JC.axisZ,0,null,100,0,0,0,null,NaN,NaN,NaN,NaN,NaN,NaN),this.isJS&&0<a&&this.vwr.g.waitForMoveTo))throw new JS.ScriptInterruption(this,"moveTo",1);}else{var b=JU.V3.new3(NaN,0,0),c=null,e=1;a=this.isFloatParameter(e)?this.floatParameter(e++):
2;var f=90,h=null,d=!0,d=!1,g=0,C=0,n=NaN,m=NaN,l=this.vwr.tm.getZoomSetting(),k=null,p=NaN,r=NaN,W=NaN,D=NaN,u=NaN,v=NaN,y=null,t=null;switch(this.getToken(e).tok){case 1073742110:y=this.floatParameterSet(++e,18,21);e=this.iToken+1;if(this.chk&&0<this.checkLength(e))return;break;case 135270418:1073742028==this.tokAt(++e)&&(d=!0,e++);10==this.tokAt(e)||1048577==this.tokAt(e)?(d=!0,c=this.centerParameter(e),q(this.expressionResult,JU.BS)||this.invArg(),h=this.expressionResult,t=this.chk?new JU.Quat:
this.vwr.ms.getQuaternion(h.nextSetBit(0),this.vwr.getQuaternionFrame())):t=this.getQuaternionParameter(e);e=this.iToken+1;null==t&&this.invArg();break;case 9:case 8:case 1048586:this.isPoint3f(e)?(b.setT(this.getPoint3f(e,!0)),e=this.iToken+1,f=this.floatParameter(e++)):(f=this.getPoint4f(e),e=this.iToken+1,b.set(f.x,f.y,f.z),f=0==f.x&&0==f.y&&0==f.z?NaN:f.w);break;case 1073741954:b.set(1,0,0);f=0;this.checkLength(++e);break;case 1073741859:b.set(0,1,0);f=180;this.checkLength(++e);break;case 1073741996:b.set(0,
1,0);this.checkLength(++e);break;case 1073742126:b.set(0,-1,0);this.checkLength(++e);break;case 1074790748:b.set(1,0,0);this.checkLength(++e);break;case 1073741871:b.set(-1,0,0);this.checkLength(++e);break;case 1073741854:t=this.paramAsStr(++e);this.checkLength(++e);switch("xyz".indexOf(t)){case 0:t=JU.Quat.new4(0.5,0.5,0.5,-0.5);break;case 1:t=JU.Quat.new4(0.5,0.5,0.5,0.5);break;case 2:t=JU.Quat.new4(0,0,0,1);break;default:var w;w=this.vwr.getCurrentUnitCell();null==w&&(w=this.vwr.ms.getSymTemp(!0),
w.setUnitCell(O(-1,[1,1,1,90,90,90]),!1));t=w.getQuaternionRotation(t);null==t&&this.invArg()}break;default:b=JU.V3.new3(this.floatParameter(e++),this.floatParameter(e++),this.floatParameter(e++)),f=this.floatParameter(e++)}null!=t&&(f=t.toAxisAngle4f(),b.set(f.x,f.y,f.z),f=(d?-1:1)*(180*f.angle/3.141592653589793));Float.isNaN(b.x)||Float.isNaN(b.y)||Float.isNaN(b.z)?b.set(0,0,0):0==b.length()&&0==f&&(f=NaN);d=!this.vwr.tm.isInPosition(b,f);this.isFloatParameter(e)&&(n=this.floatParameter(e++));this.isFloatParameter(e)&&
!this.isCenterParameter(e)&&(g=this.floatParameter(e++),C=this.floatParameter(e++),!d&&1<=Math.abs(g-this.vwr.tm.getTranslationXPercent())&&(d=!0),!d&&1<=Math.abs(C-this.vwr.tm.getTranslationYPercent())&&(d=!0));null==h&&e!=this.slen&&(c=this.centerParameter(e),q(this.expressionResult,JU.BS)&&(h=this.expressionResult),e=this.iToken+1);if(null!=c){!d&&0.1<=c.distance(this.vwr.tm.fixedRotationCenter)&&(d=!0);this.isFloatParameter(e)&&(m=this.floatParameter(e++));this.isCenterParameter(e)||((0==m||Float.isNaN(m))&&
(0==n||Float.isNaN(n))?(h=Math.abs(this.getZoom(0,e,h,0==n?0:l)),e=this.iToken+1,n=h):!d&&0.1<=Math.abs(m-this.vwr.getFloat(570425388))&&(d=!0));if(0==n||Float.isNaN(n))n=100;Float.isNaN(m)&&(m=0);!d&&1<=Math.abs(n-l)&&(d=!0);e!=this.slen&&(k=this.centerParameter(e),e=this.iToken+1,e!=this.slen&&(p=this.floatParameter(e++),r=this.floatParameter(e++)),e!=this.slen&&(W=this.floatParameter(e++)),e!=this.slen&&(D=this.floatParameter(e++),!d&&0.01<=Math.abs(D-this.vwr.tm.getCameraDepth())&&(d=!0)),e+1<
this.slen&&(u=this.floatParameter(e++),v=this.floatParameter(e++),!d&&0.01<=Math.abs(u-this.vwr.tm.camera.x)&&(d=!0),!d&&0.01<=Math.abs(v-this.vwr.tm.camera.y)&&(d=!0)))}this.checkLength(e);if(!this.chk&&(d||(a=0),0<a&&this.refresh(!1),this.useThreads()||(a=0),0==D&&(D=u=v=NaN),null!=y?this.vwr.tm.moveToPyMOL(this,a,y):this.vwr.moveTo(this,a,c,b,f,null,n,g,C,m,k,p,r,W,D,u,v),this.isJS&&0<a&&this.vwr.g.waitForMoveTo))throw new JS.ScriptInterruption(this,"moveTo",1);}}});d(c$,"cmdPause",function(){if(this.chk||
this.isJS&&!this.allowJSThreads)return!1;var a=this.optParameterAsString(1);this.vwr.getBooleanProperty("_useCommandThread");if(this.vwr.autoExit||!this.vwr.haveDisplay&&!this.vwr.isWebGL)return!1;if(0==this.scriptLevel&&this.pc==this.aatoken.length-1)return this.vwr.scriptStatus("nothing to pause: "+a),!1;a=0==a.length?": RESUME to continue.":": "+JU.Txt.formatText(this.vwr,a);this.pauseExecution(!0);this.vwr.scriptStatusMsg("script execution paused"+a,"script paused for RESUME");return!0});d(c$,
"cmdPrint",function(){1==this.slen?this.chk||this.showStringPrint("\x00",!0):this.showStringPrint(this.parameterExpressionString(1,0),!0)});d(c$,"cmdPrompt",function(){var a=null;1==this.slen?this.chk||(a=JS.ScriptEval.getContextTrace(this.vwr,this.getScriptContext("prompt"),null,!0).toString()):a=this.parameterExpressionString(1,0);this.chk||this.vwr.prompt(a,"OK",null,!0)});d(c$,"cmdReset",function(){if(3==this.slen&&135368713==this.tokAt(1))this.chk||this.vwr.removeFunction(this.stringParameter(2));
else if(this.checkLength(-2),!this.chk)if(1==this.slen)this.vwr.reset(!1);else{switch(this.tokAt(1)){case 36865:!this.chk&&null!=this.outputBuffer&&this.outputBuffer.setLength(0);return;case 135270423:this.vwr.cacheClear();return;case 1073741935:this.resetError();return;case 1073741995:this.vwr.stm.resetLighting();return;case 1087373323:this.vwr.resetShapes(!0);return;case 135368713:this.vwr.clearFunctions();return;case 1641025539:var a=new JU.BS;this.runScript(this.vwr.ms.getDefaultStructure(this.vwr.bsA(),
a));this.vwr.shm.resetBioshapes(a);return;case 1649412120:this.vwr.setData("element_vdw",M(-1,[null,""]),0,0,0,0,0);return;case 1076887572:this.vwr.ms.resetAromatic();return;case 1611141175:this.vwr.reset(!0);return}a=this.paramAsStr(1);"_"==a.charAt(0)&&this.invArg();this.vwr.unsetProperty(a)}});d(c$,"resetError",function(){this.vwr.g.removeParam("_errormessage")});d(c$,"cmdRestrict",function(){var a=1678770178==this.tokAt(1);this.cmdSelect(a?2:1);this.restrictSelected(a,!0)});d(c$,"cmdReturn",function(a){if(!this.chk){var b=
this.getContextVariableAsVariable("_retval");if(null!=b){var c=null!=a||1==this.slen?null:this.parameterExpressionToken(1);null==a&&(a=null==c?JS.SV.newI(0):c);b.value=a.value;b.intValue=a.intValue;b.tok=a.tok}this.cmdGoto(!1)}},"JS.SV");d(c$,"cmdRotate",function(a,b){if(2==this.slen)switch(this.getToken(1).tok){case 1048589:this.chk||this.vwr.tm.setSpinOn();return;case 1048588:this.chk||this.vwr.tm.setSpinOff();return}for(var c=null,e=1.4E-45,f=0,d=3.4028235E38,j=!1,g=!1,C=null,n=null,m=Array(2),
l=JU.V3.new3(0,1,0),k=null,p=null,n=null,r=!1,q=1,D,n=null,u=!1,v=null,y=null,t=null,w=null,z=this.vwr.getBoolean(603979806),s=1;s<this.slen;++s){switch(D=this.getToken(s).tok){case 10:case 1048577:case 1048586:case 8:case 1048582:if(10==D||1048577==D)if(null!=k||null!=n||2==f){c=this.atomExpressionAt(s);v=null;b=!0;break}g=!0;2==f&&(f=0);var A=this.centerParameterForModel(s,this.vwr.am.cmi);!this.chk&&(1048582==D&&269484096!=this.tokAt(s+2))&&(j=!0,l=M(-1,[this.objectNameParameter(++s),Integer.$valueOf(this.vwr.am.cmi),
null]),l=this.getShapePropertyData(22,"getSpinAxis",l)?l[2]:null);m[f++]=A;break;case 1611141175:a=!0;continue;case 1073741988:case 1073742028:j=!0;continue;case 1114638363:b=!0;break;case 269484080:continue;case 2:case 3:if(a)if(1.4E-45==e){e=this.floatParameter(s);continue}else{if(3.4028235E38==d){d=e;e=this.floatParameter(s);continue}}else if(3.4028235E38==d){d=this.floatParameter(s);continue}else if(1.4E-45==e){e=this.floatParameter(s);a=!0;continue}this.invArg();break;case 269484192:q=-1;continue;
case 1112541205:g=!0;l.set(q,0,0);continue;case 1112541206:g=!0;l.set(0,q,0);continue;case 1112541207:g=!0;l.set(0,0,z&&!j?-q:q);continue;case 9:case 135270418:case 1073741863:135270418==D&&s++;g=!0;n=this.getQuaternionParameter(s);if(null!=n){if(1073741863==D&&!(j=b))n=n.div(this.vwr.tm.getRotationQ());l.setT(n.getNormal());d=n.getTheta()}break;case 135266319:if(this.paramAsStr(s+1).equalsIgnoreCase("picked")){D=this.vwr.getPOrNull("pickedList");s=D.size();if(3>s)return;d=Array(3);for(n=0;3>n;n++)d[n]=
this.vwr.ms.getAtomSetCenter(JS.SV.getBitSet(D.get(s-3+n),!1))}else if(this.isArrayParameter(s+1))d=this.getPointArray(++s,-1,!1);else{d=Array(3);for(n=0;3>n;n++)d[n]=this.centerParameter(++s),s=this.iToken}s=d.length;if(3>s)return;n=JU.Quat.getQuaternionFrame(d[s-3],d[s-2],d[s-1]);n=JU.Quat.new4(1,0,0,0).mulQ(n.inv().div(this.vwr.tm.getRotationQ()));l.setT(n.getNormal());d=n.getTheta();break;case 135266307:g=!0;if(this.isPoint3f(++s)){l.setT(this.centerParameter(s));break}d=this.getPoint4f(s);l.set(d.x,
d.y,d.z);d=d.w;n=JU.Quat.newVA(l,d);break;case 1048580:g=j=b=!0;if(this.isArrayParameter(++s))C=this.floatParameterSet(s,6,2147483647);else{f=this.atomExpressionAt(s).nextSetBit(0);s=this.atomExpressionAt(++this.iToken).nextSetBit(0);if(0>f||0>s)return;c=this.vwr.getBranchBitSet(s,f,!0);m[0]=this.vwr.ms.at[f];m[1]=this.vwr.ms.at[s];f=2}break;case 4160:k=JU.V3.newV(this.centerParameter(++s));j=b=!0;break;case 137363467:u=!0;continue;case 1297090050:D=this.intParameter(++s);if(this.chk)continue;k=this.vwr.ms.getSymTemp(!0).getSpaceGroupInfo(this.vwr.ms,
null);j=null==k?null:k.get("operations");(0==D||null==j||j.length<Math.abs(D))&&this.invArg();j=j[Math.abs(D)-1];k=j[5];t=j[6];m[0]=j[7];null!=j[8]&&(l=j[8]);d=j[9].intValue();0>D&&(d=-d,null!=k&&k.scale(-1));0==d&&null!=m[0]&&(l.normalize(),JU.Measure.getPlaneThroughPoint(m[0],l,w=new JU.P4));n=JU.Quat.newVA(l,d);f=null==m[0]?0:1;b=g=j=!0;continue;case 135270405:y=this.atomExpressionAt(++s);n=this.vwr.ms.getAtomPointVector(y);null==n&&(this.iToken=s,this.invArg());s=this.iToken;v=this.getPointVector(this.getToken(++s),
s);if(null==v||n.size()!=v.size())this.iToken=s,this.invArg();p=new JU.M4;m[0]=new JU.P3;f=1;J.api.Interface.getInterface("JU.Eigen",this.vwr,"script");if(0.001<(this.chk?0:JU.Measure.getTransformMatrix4(n,v,p,m[0])))v=null;case 12:case 11:g=!0;n=new JU.M3;12==D&&(r=!0,p=this.theToken.value);null!=p?(k=new JU.V3,p.getTranslation(k),p.getRotationScale(n)):n=this.theToken.value;n=this.chk?new JU.Quat:JU.Quat.newM(n);l.setT(n.getNormal());d=n.getTheta();j=!0;break;default:this.invArg()}s=this.iToken}if(!this.chk){null!=
C&&3.4028235E38!=d&&(a=!0,e=d);b&&null==c&&(c=this.vwr.bsA());null!=y&&(b=!0,null==c&&(c=y));q=1.4E-45==e?10:3.4028235E38==d?e:0>e==0<d?-d/e:e;if(null!=C){if(!a){this.vwr.setDihedrals(C,null,1);return}k=null}null!=n&&(0==f&&(null!=k&&!r)&&(m[0]=this.vwr.ms.getAtomSetCenter(null!=c?c:b?this.vwr.bsA():this.vwr.getAllAtoms())),u&&null!=k&&(m[1]=JU.P3.newP(m[0]),m[1].add(k),p=JU.Measure.computeHelicalAxis(m[0],m[1],n),m[0]=p[0],u=p[3].x,0!=u&&(k=p[1],l=JU.V3.newV(k),0>u&&l.scale(-1)),p=null),a&&null==
p&&(p=JS.ScriptMathProcessor.getMatrix4f(n.getMatrix(),k)),null!=m[0]&&(f=1));if(null!=t&&(this.vwr.invertAtomCoordPt(t,c),null==l)||null!=w&&(this.vwr.invertAtomCoordPlane(w,c),null==l))return;w=a&&(!this.vwr.headless||3.4028235E38==d);a&&!w&&(a=!1);if(2>f&&null==C){if(!j){if(w&&(null==c&&!this.useThreads())&&(a=!1,3.4028235E38==d))return;if(this.vwr.rotateAxisAngleAtCenter(this,m[0],l,q,d,a,c)&&this.isJS&&a&&null==c&&this.vwr.g.waitForMoveTo&&3.4028235E38!=d)throw new JS.ScriptInterruption(this,
"rotate",1);return}0==f&&(m[0]=new JU.P3);m[1]=JU.P3.newP(m[0]);m[1].add(l);f=2}0==f&&(m[0]=new JU.P3);if(2>f||0==m[0].distance(m[1]))m[1]=JU.P3.newP(m[0]),m[1].y+=1;3.4028235E38==d&&(d=0);0!=d&&(null!=k&&!g)&&k.scale(d/k.length());if(a&&null!=k&&(0==d||0==e))d=0.01,q=1.4E-45==e?0.01:0>e?-d/e:0.01*e/k.length();null!=c&&(a&&null==v&&null!=p)&&(n=this.vwr.ms.getAtomPointVector(c),v=JU.Measure.transformPoints(n,p,m[0]));if(null!=c&&!a&&null!=v)this.vwr.setAtomCoords(c,1146095626,v);else if(!w||this.useThreads())if(this.vwr.rotateAboutPointsInternal(this,
m[0],m[1],q,d,a,c,k,v,C,r?p:null)&&this.isJS&&a)throw new JS.ScriptInterruption(this,"rotate",1);}},"~B,~B");d(c$,"cmdRestore",function(){if(1<this.slen){var a=this.optParameterAsString(2),b=this.tokAt(1);switch(b){case 1614417948:this.chk||this.setCurrentCagePts(null,null);return;case 1073742077:case 1073742132:case 1073742139:var c=3<this.slen?this.floatParameter(3):0;0>c&&this.invArg();if(this.chk)return;var e="";switch(b){case 1073742077:e="Orientation";this.vwr.stm.restoreOrientation(a,c,!0);
break;case 1073742132:e="Rotation";this.vwr.stm.restoreOrientation(a,c,!1);break;case 1073742139:e="Scene",this.vwr.stm.restoreScene(a,c)}if(this.isJS&&0<c&&this.vwr.g.waitForMoveTo)throw new JS.ScriptInterruption(this,"restore"+e,1);return}this.checkLength23();switch(b){case 1678770178:this.chk||this.vwr.stm.restoreBonds(a);return;case 14:if(this.chk)return;a=this.vwr.stm.getContext(a);null!=a&&(this.restoreScriptContext(a,!0,!1,!1),null!=this.thisContext&&(this.thisContext.setMustResume(),this.tQuiet=
this.mustResumeEval=!0));return;case 1048581:if(this.chk)return;a=this.vwr.stm.getSavedCoordinates(a);null==a&&this.invArg();this.runScript(a);this.vwr.checkCoordinatesChanged();return;case 1073742140:this.chk||this.vwr.stm.restoreSelection(a);return;case 1073742158:if(this.chk)return;a=this.vwr.stm.getSavedState(a);null==a&&this.invArg();this.runScript(a);return;case 1641025539:if(this.chk)return;a=this.vwr.stm.getSavedStructure(a);null==a&&this.invArg();this.runScript(a);return}}this.errorStr2(53,
"RESTORE","bonds? context? coordinates? orientation? rotation? selection? state? structure?")});d(c$,"cmdSave",function(){if(1<this.slen){var a=this.optParameterAsString(2);switch(this.tokAt(1)){case 1678770178:this.chk||this.vwr.stm.saveBonds(a);return;case 14:this.chk||this.saveContext(a);return;case 1048581:this.chk||this.vwr.stm.saveCoordinates(a,this.vwr.bsA());return;case 1073742077:case 1073742132:this.chk||this.vwr.stm.saveOrientation(a,null);return;case 1073742140:this.chk||(this.vwr.stm.saveSelection(a,
this.vwr.bsA()),this.vwr.stm.restoreSelection(a));return;case 1073742158:this.chk||this.vwr.stm.saveState(a);return;case 1641025539:this.chk||this.vwr.stm.saveStructure(a);return}}this.errorStr2(53,"SAVE","bonds? context? coordinates? orientation? rotation? selection? state? structure?")});d(c$,"cmdScript",function(a,b,c){if(135287308==a)this.checkLength(2),this.chk||this.vwr.jsEval(this.paramAsStr(1));else{var e=!0,f=!1,d=!1,j=this.vwr.async,g=0,C=0,n=0,m=0,l=1,k=null,p=null,r=null,q=null;4124==
a&&(l=-2);if(null==b&&null==c)if(a=this.tokAt(l),4!=a&&this.error(16),b=this.paramAsStr(l),b.equalsIgnoreCase("async")&&(j=!0,b=this.paramAsStr(++l)),b.equalsIgnoreCase("applet")){a=this.paramAsStr(++l);c=this.parameterExpressionString(++l,0);this.checkLast(this.iToken);if(this.chk)return;if(0==a.length||a.equals("all"))a="*";if(!a.equals(".")&&(this.vwr.jsEval(a+"\u0001"+c),!a.equals("*")))return}else{a=this.tokAt(this.slen-1);d=266298==a;b.equalsIgnoreCase("inline")&&(c=this.parameterExpressionString(++l,
d?this.slen-1:0),l=this.iToken);for(;b.equalsIgnoreCase("localPath")||b.equalsIgnoreCase("remotePath")||b.equalsIgnoreCase("scriptPath");)b.equalsIgnoreCase("localPath")?k=this.paramAsStr(++l):b.equalsIgnoreCase("scriptPath")?r=this.paramAsStr(++l):p=this.paramAsStr(++l),b=this.paramAsStr(++l);if((this.vwr.isJS||this.vwr.testAsync)&&(j||b.startsWith("?")))b=this.loadFileAsync("SCRIPT_",b,l,!0);if(1073741878==(a=this.tokAt(++l)))f=!0,a=this.tokAt(++l);1073742050==a&&(e=!1,a=this.tokAt(++l));if(1073741998==
a||1141899268==a)l++,n=g=Math.max(this.intParameter(l++),0),this.checkToken(l)&&(n=269484192==this.getToken(l).tok?this.checkToken(++l)?this.intParameter(l++):0:-this.intParameter(l++),0>=n&&this.invArg());else if(1073741890==a||1073741892==a)l++,C=Math.max(this.intParameter(l++)-1,0),m=C+1,this.checkToken(l)&&(m=269484192==this.getToken(l).tok?this.checkToken(++l)?this.intParameter(l++):0:-this.intParameter(l++),0>=m&&this.invArg());l=-l}else null!=b&&j&&(b=this.loadFileAsync("SCRIPT_",b,l,!0));
if(0>l){if(269484048==this.tokAt(l=-l))q=this.parameterExpressionList(l,-1,!1),l=this.iToken+1;this.checkLength(d?l+1:l)}if(!this.chk||this.isCmdLine_c_or_C_Option){this.isCmdLine_c_or_C_Option&&(f=!0);l=this.chk;a=this.isCmdLine_c_or_C_Option;f&&(this.chk=this.isCmdLine_c_or_C_Option=!0);this.pushContext(null,"SCRIPT");this.contextPath+=" >> "+b;if(null==c?this.compileScriptFileInternal(b,k,p,r):this.compileScript(null,c,!1)){this.pcEnd=m;for(this.lineEnd=n;C<this.lineNumbers.length&&this.lineNumbers[C]<
g;)C++;this.pc=C;b=this.isCmdLine_C_Option;this.isCmdLine_C_Option=(new Boolean(this.isCmdLine_C_Option&e)).valueOf();this.executionStepping=(new Boolean(this.executionStepping|d)).valueOf();null==this.contextVariables&&(this.contextVariables=new java.util.Hashtable);this.contextVariables.put("_arguments",null==q?JS.SV.getVariableAI(G(-1,[])):JS.SV.getVariableList(q));this.contextVariables.put("_argcount",JS.SV.newI(null==q?0:q.size()));f&&(this.listCommands=!0);(e=this.vwr.getBoolean(603979934))&&
JU.Logger.startTimer("script");this.dispatchCommands(!1,!1,!1);this.$isStateScript&&JS.ScriptManager.setStateScriptVersion(this.vwr,null);e&&this.showString(JU.Logger.getTimerMsg("script",0));this.isCmdLine_C_Option=b;this.popContext(!1,!1)}else JU.Logger.error(J.i18n.GT._("script ERROR: ")+this.errorMessage),this.popContext(!1,!1),a?this.setErrorMessage(null):this.evalError(null,null);this.chk=l;this.isCmdLine_c_or_C_Option=a}}},"~N,~S,~S");d(c$,"cmdSelect",function(a){if(1==this.slen)this.vwr.select(null,
!1,0,!this.doReport());else if(!(2==this.slen&&1073742072==this.tokAt(1))){var b=this.tokAt(2);this.vwr.slm.noneSelected=Boolean.$valueOf(4==this.slen&&1048587==b);var c=null;switch(b){case 10:if(q(this.getToken(2).value,JM.BondSet)||1678770178==this.tokAt(2)&&10==this.getToken(3).tok){this.slen!=this.iToken+2&&this.invArg();this.chk||this.vwr.selectBonds(this.theToken.value);return}break;case 1746538509:case 1678770178:if(5==this.slen&&10==this.tokAt(3))c=this.getToken(3).value,this.iToken++;else if(this.isArrayParameter(4)){var c=
new JU.BS,e=this.expandFloatArray(this.floatParameterSet(4,0,2147483647),0);for(a=e.length;0<=--a;)0<=e[a]&&c.set(e[a])}this.checkLast(this.iToken);if(this.chk)return;null==c&&this.invArg();1746538509==b?this.setShapeProperty(6,"select",c):this.vwr.selectBonds(c);return}e=0;b=!1;if(0==this.getToken(1).intValue&&1048588!=this.theTok)c=this.parameterExpressionToken(0).value,q(c,JU.BS)||this.invArg(),this.checkLast(this.iToken);else{b=this.tokAt(a);switch(b){case 1048589:case 1048588:if(this.chk||this.vwr.setSelectionHalosEnabled(1048589==
b),b=this.tokAt(++a),0==b)return}switch(b){case 1276118017:case 1073742119:e=b,b=this.tokAt(++a)}(b=1087373318==b)&&this.tokAt(++a);c=this.atomExpressionAt(a)}this.chk||(this.isBondSet?this.vwr.selectBonds(c):(c.length()>this.vwr.ms.ac&&(a=this.vwr.getAllAtoms(),a.and(c),c=a),this.vwr.select(c,b,e,!this.doReport())))}},"~N");d(c$,"cmdSelectionHalos",function(a){var b=!1;switch(a==this.slen?1048589:this.getToken(a).tok){case 1048589:case 1114638363:b=!0;case 1048588:case 1048587:case 1073742056:this.setBooleanProperty("selectionHalos",
b);break;default:this.invArg()}},"~N");d(c$,"cmdSet",function(){if(1==this.slen)this.showString(this.vwr.getAllSettings(null));else{var a=this.paramAsStr(0).equals("set"),b=this.optParameterAsString(1);if(a&&2==this.slen&&0<=b.indexOf("?"))this.showString(this.vwr.getAllSettings(b.substring(0,b.indexOf("?"))));else{var c=this.getToken(1).tok,e=0,f,d=2147483647,j;j=!this.chk&&this.doReport()&&!this.st[0].value.equals("var");switch(c){case 553648148:case 603979868:case 603979902:case 603979924:case 603979960:case 603979962:case 603979964:case 603979965:case 603979970:if(this.$isStateScript)return;
break;case 1611272194:this.cmdAxes(2);return;case 1610616835:this.cmdBackground(2);return;case 1679429641:this.cmdBoundbox(2);return;case 1611272202:this.cmdFrank(2);return;case 1610616855:this.cmdHistory(2);return;case 1826248716:this.cmdLabel(2);return;case 1614417948:this.cmdUnitcell(2);return;case 536870920:this.sm.loadShape(8);this.setShapeProperty(8,"highlight",1048588==this.tokAt(2)?null:this.atomExpressionAt(2));return;case 1610625028:case 1611141171:this.cmdSelectionHalos(2);return;case 536875070:this.cmdTimeout(2);
return;case 1641025539:j=J.c.STR.getProteinStructureType(this.paramAsStr(2));j===J.c.STR.NOT&&this.invArg();a=this.floatParameterSet(3,0,2147483647);0!=a.length%4&&this.invArg();this.vwr.setStructureList(a,j);this.checkLast(this.iToken);return;case 545259526:d=this.getArgbParam(2);this.chk||this.setObjectArgb("axes",d);return;case 1610612737:j=!1;switch(this.getToken(this.checkLast(2)).tok){case 269484128:break;case 269484112:j=!0;break;default:this.invArg()}this.setBooleanProperty("bondModeOr",j);
return;case 536870916:if(this.chk)return;a=1048588==this.tokAt(2)||2==this.tokAt(2)&&0==this.intParameter(2)?4:5;JU.Logger.setLogLevel(a);this.setIntProperty("logLevel",a);4==a&&(this.vwr.setDebugScript(!1),j&&this.vwr.showParameter("debugScript",!0,80));this.setDebugging();j&&this.vwr.showParameter("logLevel",!0,80);return;case 537022465:this.cmdSetEcho();return;case 1610612738:this.cmdFont(5,2==this.checkLength23()?0:this.floatParameter(2));return;case 1612189718:j=!1;switch(this.tokAt(this.checkLast(2))){case 1115297793:j=
!0;case 3145754:this.setBooleanProperty("hbondsBackbone",j);break;case 1073742150:j=!0;case 1073741926:this.setBooleanProperty("hbondsSolid",j);break;default:this.invArg()}return;case 1746538509:case 537006096:switch(c=this.tokAt(this.checkLast(2))){case 1048589:case 1048588:this.setBooleanProperty("measurementlabels",1048589==c);return;case 1073741926:case 2:case 3:this.vwr.shm.loadShape(6);j=this.getSetAxesTypeMad(2);2147483647!=j&&this.setShapeSizeBs(6,j,null);return}this.setUnits(this.paramAsStr(2),
545259568);return;case 1611141176:j=!1;switch(this.tokAt(this.checkLast(2))){case 1115297793:j=!0;break;case 3145754:break;default:this.invArg()}this.setBooleanProperty("ssbondsBackbone",j);return;case 1610612741:this.cmdSetLabel("toggle");return;case 536870930:j=new JU.Lst;for(b=2;b<this.slen;b++)a=this.getArgbParam(b),j.addLast(Integer.$valueOf(a)),b=this.iToken;if(this.chk)return;b=j.size();for(a=G(b,0);0<=--b;)a[b]=j.get(b).intValue();this.vwr.cm.ce.setUserScale(a);return;case 553648188:this.isFloatParameter(2)?
(this.checkLength(3),this.setIntProperty("zSlab",I(this.floatParameter(2))),f=null):(this.isCenterParameter(2)||this.invArg(),f=this.centerParameter(2),this.checkLength(this.iToken+1));this.chk||(this.vwr.tm.zSlabPoint=null==f?null:JU.P3.newP(f));return}var g=!0;switch(c){case 536870914:if(2<this.slen){a=this.getSettingStr(2,!1);j=!1;0>a.indexOf(".")?(a=JU.PT.parseInt(a),j=!0):a=JS.ScriptParam.getFloatEncodedInt(a);if(this.chk)return;j=this.vwr.ms.getModelNumberIndex(a,j,!0);this.vwr.setBackgroundModelIndex(j);
return}break;case 1649412120:if(this.chk)return;this.vwr.setAtomProperty(this.vwr.getAllAtoms(),1649412120,-1,NaN,null,null,null);if(2<this.slen&&"probe".equalsIgnoreCase(this.getSettingStr(2,!1))){this.runScript("#VDW radii for PROBE;{_H}.vdw = 1.0;{_H and connected(_C) and not connected(within(smiles,'[a]'))}.vdw = 1.17;{_C}.vdw = 1.75;{_C and connected(3) and connected(_O)}.vdw = 1.65;{_N}.vdw = 1.55;{_O}.vdw = 1.4;{_P}.vdw = 1.8;{_S}.vdw = 1.8;message VDW radii for H, C, N, O, P, and S set according to Word, et al., J. Mol. Biol. (1999) 285, 1711-1733");
return}e=545259555;case 545259555:2<this.slen&&(f=this.paramAsStr(2),3==this.slen&&(null==J.c.VDW.getVdwType(f)&&null==J.c.VDW.getVdwType(f=this.getSettingStr(2,!1)))&&this.invArg(),this.setStringProperty(b,f));break;case 536870918:if(2<this.slen){var k=this.parameterExpressionToken(2);8==k.tok?f=k.value:(f=new JU.P3,k=k.asInt(),100<=k&&JU.SimpleUnitCell.ijkToPoint3f(k,f,-1));this.chk||this.vwr.setDefaultLattice(f)}break;case 545259552:case 545259545:2<this.slen&&(f=1073741991==(this.theTok=this.tokAt(2))||
1073742116==this.theTok?this.paramAsStr(this.checkLast(2)):this.getSettingStr(2,!1),this.setStringProperty(b,f));break;case 1632634891:d=this.getSettingInt(2);-2147483648==d&&this.invArg();this.chk||this.vwr.ms.setFormalCharges(this.vwr.bsA(),d);return;case 545259564:2<this.slen&&this.setStringProperty(b,this.getSettingStr(2,a));break;case 545259568:case 545259559:2<this.slen&&this.setUnits(this.getSettingStr(2,a),c);break;case 545259572:this.chk||this.vwr.setPicked(-1);if(2<this.slen){this.cmdSetPicking();
return}break;case 545259574:if(2<this.slen){this.cmdSetPickingStyle();return}break;case 1716520985:break;case 536870924:d=this.getSettingInt(2);if(-2147483648==d||0==d||1==d){g=!1;break}c=553648174;b="specularPercent";this.setIntProperty(b,d);break;case 1650071565:c=553648178;b="strandCount";this.setIntProperty(b,this.getSettingInt(2));break;default:g=!1}if(!g||j){k=!g&&!a&&null!=this.getContextVariableAsVariable(b);if(!g&&!k)switch(c){case 1678770178:e=603979928;break;case 1613758470:e=603979908;
break;case 1613758476:e=603979910;break;case 1610612739:e=603979879;break;case 1666189314:e=570425394;this.setFloatProperty("solventProbeRadius",this.getSettingFloat(2));g=!0;break;case 1610612740:e=570425390;break;case 1613758488:e=603979948;break;case 1766856708:e=545259545;break;case 1611141175:f=this.paramAsStr(2).toLowerCase();switch("x;y;z;fps".indexOf(f+";")){case 0:e=570425398;break;case 2:e=570425400;break;case 4:e=570425402;break;case 6:e=570425396;break;default:this.errorStr2(50,"set SPIN ",
f)}this.chk||this.vwr.setSpin(f,I(this.floatParameter(this.checkLast(3))));g=!0}if(0!=e)b=JS.T.nameOf(c=e);else if(!g&&!k){(0==b.length||"_"==b.charAt(0)&&269484096!=this.tokAt(2))&&this.error(56);e=b.toLowerCase();if(0==e.indexOf("label")&&JU.PT.isOneOf(e.substring(5),";front;group;atom;offset;offsetexact;offsetabsolute;pointer;alignment;toggle;scalereference;")&&this.cmdSetLabel(e.substring(5)))return;if(a&&0==e.indexOf("shift_")){j=this.floatParameter(2);this.checkLength(3);this.chk||this.vwr.getNMRCalculation().setChemicalShiftReference(e.substring(6),
j);return}e.endsWith("callback")&&(c=536870912)}a&&!JS.T.tokAttr(c,536870912)&&(this.iToken=1,this.$isStateScript||this.errorStr2(50,"SET",b),this.warning(51,"SET",b));if(!g&&a)switch(this.slen){case 2:this.setBooleanProperty(b,!0);g=!0;break;case 3:2147483647!=d&&(this.setIntProperty(b,d),g=!0)}!g&&(!a&&1048587==this.tokAt(2))&&(this.chk||this.vwr.removeUserVariable(b.toLowerCase()),g=!0);if(!g&&(this.setVariable(1,0,b,!0),!a))return;j&&this.vwr.showParameter(b,!0,80)}}}});d(c$,"cmdSetEcho",function(){var a=
null,b=null,c=null,e=!0,f=2;switch(this.getToken(2).tok){case 1048588:c=a="allOff";this.checkLength(++f);break;case 1048587:e=!1;case 1048579:c=this.paramAsStr(2);this.checkLength(++f);break;case 1073741996:case 12289:case 1073742126:case 1074790748:case 1073742019:case 1073741871:case 1073741824:case 4:case 1074790550:1074790550==this.theTok&&f++,c=this.paramAsStr(f++)}this.chk||(this.vwr.ms.setEchoStateActive(e),this.sm.loadShape(31),null!=c&&this.setShapeProperty(31,null==a?"target":a,c));if(f<
this.slen)switch(this.getToken(f++).tok){case 1073741832:a="align";switch(this.getToken(f).tok){case 1073741996:case 1073742126:case 12289:b=this.paramAsStr(f++);break;default:this.invArg()}break;case 12289:case 1073741996:case 1073742126:a="align";b=this.paramAsStr(f-1);break;case 554176526:a="%zpos";b=Integer.$valueOf(I(this.floatParameter(f++)));break;case 1610625028:case 3145768:case 1048589:a="hidden";b=Boolean.FALSE;break;case 12294:case 3145770:a="hidden";b=Boolean.TRUE;break;case 1095766030:b=
this.chk?0:this.modelNumberParameter(f++);b>=this.vwr.ms.mc&&this.invArg();a="model";b=Integer.$valueOf(b);break;case 269484096:case 1073742195:a="xypos";b=this.xypParameter(--f);null==b&&this.invArg();f=this.iToken+1;break;case 2:c=this.intParameter(f-1);e="xpos";269484210==this.tokAt(f)&&(e="%xpos",f++);a="ypos";b=Integer.$valueOf(this.intParameter(f++));269484210==this.tokAt(f)&&(a="%ypos",f++);this.checkLength(f);this.setShapeProperty(31,e,Integer.$valueOf(c));break;case 1048588:a="off";break;
case 1073742138:a="scale";b=Float.$valueOf(this.floatParameter(f++));break;case 135271429:a="script";b=this.paramAsStr(f++);break;case 4120:f++;case 4:a=4!=this.theTok;this.checkLength(f--);if(a){null==c&&(a=Array(1),this.getShapePropertyData(31,"currentTarget",a),c=a[0]);if(!this.chk&&this.vwr.ms.getEchoStateActive()&&this.vwr.fm.loadImage(this.getToken(f).value,c,!this.useThreads()))throw new JS.ScriptInterruption(this,"setEchoImage",1);return}this.cmdEcho(f);return;case 135266320:a="point";b=this.isCenterParameter(f)?
this.centerParameter(f):null;f=this.iToken+1;break;default:if(this.isCenterParameter(f-1)){a="xyz";b=this.centerParameter(f-1);f=this.iToken+1;break}this.invArg()}this.checkLength(f);!this.chk&&null!=a&&this.setShapeProperty(31,a,b)});d(c$,"cmdSetLabel",function(a){this.sm.loadShape(5);var b=null;for(this.setShapeProperty(5,"setDefaults",this.vwr.slm.noneSelected);;){if(a.equals("scalereference")){var c=this.floatParameter(2);5<=c&&(c=this.vwr.tm.getZoomSetting()/c/this.vwr.getScalePixelsPerAngstrom(!1));
b=Float.$valueOf(c);break}c=!1;if(a.equals("offset")||(c=a.equals("offsetabsolute")||a.equals("offsetexact"))){a="offset";if(this.isPoint3f(2))c=this.getPoint3f(2,!1),b=O(-1,[1,c.x,c.y,c.z,0,0,0]);else if(this.isArrayParameter(2))b=this.floatParameterSet(2,7,7);else{var b=this.intParameterRange(2,-500,500),e=this.intParameterRange(3,-500,500);if(2147483647==b||2147483647==e)return!0;b=Integer.$valueOf(JV.JC.getOffset(b,e,c))}break}if(a.equals("alignment")){switch(this.getToken(2).tok){case 1073741996:case 1073742126:case 12289:a=
"align";b=this.theToken.value;break;default:this.invArg()}break}if(a.equals("pointer")){c=0;switch(this.getToken(2).tok){case 1048588:case 1048587:break;case 1610616835:c|=2;case 1048589:c|=1;break;default:this.invArg()}b=Integer.$valueOf(c);break}if(a.equals("toggle")){this.iToken=1;c=2==this.slen?this.vwr.bsA():this.atomExpressionAt(2);this.checkLast(this.iToken);if(this.chk)return!0;this.vwr.shm.loadShape(5);this.vwr.shm.setShapePropertyBs(5,"toggleLabel",null,c);return!0}this.iToken=1;c=2==this.slen||
1048589==this.getToken(2).tok;if(a.equals("front")||a.equals("group")){!c&&1048588!=this.tokAt(2)&&this.invArg();c||(a="front");b=c?Boolean.TRUE:Boolean.FALSE;break}if(a.equals("atom")){!c&&1048588!=this.tokAt(2)&&this.invArg();a="front";b=c?Boolean.FALSE:Boolean.TRUE;break}return!1}c=this.iToken+1<this.slen?this.atomExpressionAt(++this.iToken):null;this.checkLast(this.iToken);if(this.chk)return!0;null==c?this.setShapeProperty(5,a,b):this.setShapePropertyBs(5,a,b,c);return!0},"~S");d(c$,"cmdSetPicking",
function(){if(2==this.slen)this.setStringProperty("picking","identify");else if(4<this.slen||4==this.tokAt(2))this.setStringProperty("picking",this.getSettingStr(2,!1));else{var a=2,b="SELECT";switch(this.getToken(2).tok){case 135280133:case 1746538509:case 1611141175:4==this.checkLength34()&&(b=this.paramAsStr(2).toUpperCase(),b.equals("SPIN")?this.setIntProperty("pickingSpinRate",this.intParameter(3)):a=3);break;case 12291:break;default:this.checkLength(3)}var c=this.paramAsStr(a);switch(this.getToken(a).tok){case 1048589:case 1073742056:c=
"identify";break;case 1048588:case 1048587:c="off";break;case 135280133:c="atom";break;case 1826248716:c="label";break;case 1678770178:c="bond";break;case 12291:this.checkLength(4),1678770178!=this.tokAt(3)&&this.invArg(),c="deleteBond"}var e=0<=(e=c.indexOf("_"))?e:c.length,e=JV.ActionManager.getPickingMode(c.substring(0,e));0>e&&this.errorStr2(50,"SET PICKING "+b,c);this.setStringProperty("picking",c)}});d(c$,"cmdSetPickingStyle",function(){if(4<this.slen||4==this.tokAt(2))this.setStringProperty("pickingStyle",
this.getSettingStr(2,!1));else{var a=2,b=!1,c="SELECT";switch(this.getToken(2).tok){case 1746538509:b=!0,c="MEASURE";case 135280133:4==this.checkLength34()&&(a=3);break;default:this.checkLength(3)}var e=this.paramAsStr(a);switch(this.getToken(a).tok){case 1048587:case 1048588:e=b?"measureoff":"toggle";break;case 1048589:b&&(e="measure")}0>JV.ActionManager.getPickingStyleIndex(e)&&this.errorStr2(50,"SET PICKINGSTYLE "+c,e);this.setStringProperty("pickingStyle",e)}});d(c$,"cmdSlab",function(a){var b=
!1,c=null;if(this.isCenterParameter(1)||9==this.tokAt(1))c=this.planeParameter(1);else switch(this.getToken(1).tok){case 2:c=this.intParameter(this.checkLast(1));this.chk||(a?this.vwr.tm.depthToPercent(c):this.vwr.tm.slabToPercent(c));return;case 1048589:this.checkLength(2),b=!0;case 1048588:this.checkLength(2);this.setBooleanProperty("slabEnabled",b);return;case 4141:this.checkLength(2);if(this.chk)return;this.vwr.tm.slabReset();this.setBooleanProperty("slabEnabled",!0);return;case 1085443:this.checkLength(2);
if(this.chk)return;this.vwr.tm.setSlabDepthInternal(a);this.setBooleanProperty("slabEnabled",!0);return;case 269484192:b=this.paramAsStr(2);b.equalsIgnoreCase("hkl")?c=this.hklParameter(3):b.equalsIgnoreCase("plane")&&(c=this.planeParameter(2));null==c&&this.invArg();c.scale4(-1);break;case 135266319:switch(this.getToken(2).tok){case 1048587:break;default:c=this.planeParameter(1)}break;case 135267841:c=1048587==this.getToken(2).tok?null:this.hklParameter(2);break;case 1073742118:return;default:this.invArg()}this.chk||
this.vwr.tm.slabInternal(c,a)},"~B");d(c$,"cmdSsbond",function(){var a=this.getMadParameter();2147483647!=a&&(this.setShapeProperty(1,"type",Integer.$valueOf(256)),this.setShapeSizeBs(1,a,null),this.setShapeProperty(1,"type",Integer.$valueOf(1023)))});d(c$,"cmdStructure",function(){var a=J.c.STR.getProteinStructureType(this.paramAsStr(1));a===J.c.STR.NOT&&this.invArg();var b=null;switch(this.tokAt(2)){case 10:case 1048577:b=this.atomExpressionAt(2);this.checkLast(this.iToken);break;default:this.checkLength(2)}this.chk||
(this.clearDefinedVariableAtomSets(),this.vwr.setProteinType(a,b))});d(c$,"cmdSubset",function(){var a=null;this.chk||this.vwr.slm.setSelectionSubset(null);if(1!=this.slen&&(4!=this.slen||!this.getToken(2).value.equals("off")))a=this.atomExpressionAt(1);this.chk||this.vwr.slm.setSelectionSubset(a)});d(c$,"cmdSync",function(){var a="",b="",c=JU.PT.parseInt(this.optParameterAsString(1));if(-2147483648==c)switch(this.checkLength(-3),c=0,this.slen){case 1:b="*";a="ON";break;case 2:b=this.paramAsStr(1);
if(0==b.indexOf("jmolApplet")||JU.PT.isOneOf(b,";*;.;^;")){a="ON";this.chk||this.vwr.syncScript(a,b,0);b=".";break}a=b;b="*";break;case 3:b=this.paramAsStr(1),a=528443==this.tokAt(2)?"GET_GRAPHICS":this.paramAsStr(2)}else{a=null;if(2<this.slen&&null==(a=this.setVariable(2,-1,"",!1)))return;a=2==this.slen?null:6==a.tok?a.toJSON():a.asString();b=null}this.chk||this.vwr.syncScript(a,b,c)});d(c$,"cmdThrow",function(){if(!this.chk){var a=14==this.tokAt(1)?2:1,b=(1==a?this.setVariable(1,this.slen,"thrown_value",
!1):this.vwr.g.setUserVariable("thrown_value",JS.SV.newS(this.optParameterAsString(2)))).asString();if(0==b.length&&0==(b=this.optParameterAsString(1)).length)b="context";if(2==a)throw this.saveContext(b),this.doReport()&&this.report(J.i18n.GT.o(J.i18n.GT._("to resume, enter: &{0}"),b)),new JS.ScriptInterruption(this,b,-2147483648);this.evalError(b,null)}});d(c$,"saveContext",function(a){var b=this.getScriptContext("Context_"+a);this.vwr.stm.saveContext(a,b);this.vwr.g.setUserVariable(a,JS.SV.newV(14,
b));return b},"~S");d(c$,"cmdTimeout",function(a){var b=null,c=null,e=0;if(this.slen==a)this.showString(this.vwr.showTimeout(null));else{for(;a<this.slen;a++)switch(this.getToken(a).tok){case 1074790550:b=this.paramAsStr(++a);if(3==this.slen){this.chk||this.vwr.triggerTimeout(b);return}break;case 1048588:break;case 2:e=this.intParameter(a);break;case 3:e=Math.round(1E3*this.floatParameter(a));break;default:null==b?b=this.paramAsStr(a):null==c?c=this.paramAsStr(a):this.invArg()}this.chk||this.vwr.setTimeout(b,
e,c)}},"~N");d(c$,"cmdTranslate",function(a){var b=null,c=1,b=0;1114638363==this.tokAt(1)&&(a=!0,b=1,c=2);if(this.isPoint3f(c))a=this.getPoint3f(c,!0),b=this.iToken+1<this.slen?this.atomExpressionAt(++this.iToken):null,this.checkLast(this.iToken),this.chk||this.vwr.setAtomCoordsRelative(a,b);else{var e=(this.paramAsStr(c).toLowerCase()+" ").charAt(0);0>"xyz".indexOf(e)&&this.error(0);var f=this.floatParameter(++c);switch(this.tokAt(++c)){case 0:case 10:case 1048577:c="\x00";break;default:c=(this.optParameterAsString(c).toLowerCase()+
"\x00").charAt(0)}0==f&&"\x00"!=c||(this.iToken=b+("\x00"==c?2:3),b=a?this.vwr.bsA():this.iToken+1<this.slen?this.atomExpressionAt(++this.iToken):null,this.checkLast(this.iToken),this.chk||this.vwr.translate(e,f,c,b))}},"~B");d(c$,"cmdUnbind",function(){1!=this.slen&&this.checkLength23();var a=this.optParameterAsString(1),b=this.optParameterAsString(2);if(0==a.length||1048579==this.tokAt(1))a=null;if(0==b.length||1048579==this.tokAt(2))b=null;null==b&&(null!=a&&0<=JV.ActionManager.getActionFromName(a))&&
(b=a,a=null);this.chk||this.vwr.unBindAction(a,b)});d(c$,"cmdUndoRedoMove",function(){var a=1,b=2;switch(this.tokAt(1)){case 0:b=1;break;case 1048579:a=0;break;case 2:a=this.intParameter(1);break;default:this.invArg()}this.checkLength(b);this.chk||this.vwr.undoMoveAction(this.tokAt(0),a)});d(c$,"setCurrentCagePts",function(a,b){var c=J.api.Interface.getSymmetry(this.vwr,"eval");if(null==c&&this.vwr.async)throw new NullPointerException;try{this.vwr.ms.setModelCage(this.vwr.am.cmi,null==a?null:c.getUnitCell(a,
!1,b))}catch(e){if(!B(e,Exception))throw e;}},"~A,~S");d(c$,"cmdUnitcell",function(a){this.getCmdExt().dispatch(1614417948,2==a,null)},"~N");d(c$,"cmdVector",function(){var a=J.atomdata.RadiusData.EnumType.SCREEN,b=1;this.checkLength(-3);switch(this.iToken=this.slen){case 2:switch(this.getToken(1).tok){case 1048589:break;case 1048588:b=0;break;case 2:b=this.intParameterRange(1,0,19);if(2147483647==b)return;break;case 3:a=J.atomdata.RadiusData.EnumType.ABSOLUTE;if(Float.isNaN(b=this.floatParameterRange(1,
0,3)))return;break;default:this.error(6)}break;case 3:switch(this.tokAt(1)){case 1073742138:Float.isNaN(b=this.floatParameterRange(2,-100,100))||this.setFloatProperty("vectorScale",b);return;case 64:a=this.floatParameter(2);this.chk||this.vwr.ms.scaleVectorsToMax(a);return}}this.setShapeSize(18,new J.atomdata.RadiusData(null,b,a,null))});d(c$,"cmdVibration",function(){this.checkLength(-3);var a=0;switch(this.getToken(1).tok){case 1048589:this.checkLength(2);a=this.vwr.getFloat(570425412);break;case 1048588:this.checkLength(2);
a=0;break;case 2:case 3:this.checkLength(2);a=this.floatParameter(1);break;case 1073742138:Float.isNaN(a=this.floatParameterRange(2,-100,100))||this.setFloatProperty("vibrationScale",a);return;case 64:var b=this.floatParameter(2);this.chk||this.vwr.ms.scaleVectorsToMax(b);break;case 1073742090:this.setFloatProperty("vibrationPeriod",this.floatParameter(2));return;case 1073741824:this.invArg();break;default:a=-1}0>a&&this.invArg();this.chk||(0==a?this.vwr.tm.setVibrationPeriod(0):this.vwr.setVibrationPeriod(-a))});
d(c$,"cmdWireframe",function(){var a=-2147483648;4141==this.tokAt(1)?this.checkLast(1):a=this.getMadParameter();this.chk||2147483647==a||(this.setShapeProperty(1,"type",Integer.$valueOf(1023)),this.setShapeSizeBs(1,-2147483648==a?300:a,null))});d(c$,"cmdZap",function(a){if(1==this.slen||!a)(a=a&&!this.$isStateScript)&&this.vwr.cacheFileByName(null,!1),this.vwr.zap(!0,a,!0),this.refresh(!1);else if(a=this.atomExpressionAt(1),!this.chk)if(0>a.nextSetBit(0)&&4==this.slen&&1048611==this.tokAt(2))a=this.vwr.ms.getModelNumberIndex(this.getToken(2).intValue,
!1,!0),0<=a&&this.vwr.deleteModels(a,null);else{a=this.vwr.deleteAtoms(a,!0);var b=!this.doReport();b||this.report(J.i18n.GT.i(J.i18n.GT._("{0} atoms deleted"),a));this.vwr.select(null,!1,0,b)}},"~B");d(c$,"cmdZoom",function(a){if(!a){var b=1<this.slen?this.getToken(1).tok:1048589;switch(b){case 1048589:case 1048588:2<this.slen&&this.bad();this.chk||this.setBooleanProperty("zoomEnabled",1048589==b);return}}var c=null,e=1,b=a?this.isFloatParameter(e)?this.floatParameter(e++):1:0;0>b&&(e--,b=0);var f=
0,d=null;this.isCenterParameter(e)?(f=e,c=this.centerParameter(e),q(this.expressionResult,JU.BS)&&(d=this.expressionResult),e=this.iToken+1):2==this.tokAt(e)&&0==this.getToken(e).intValue&&(d=this.vwr.getAtomBitSet("visible"),c=this.vwr.ms.getAtomSetCenter(d));var j=this.vwr.tm.getZoomSetting(),d=this.getZoom(f,e,d,j),e=this.iToken+1,g=j=NaN;e!=this.slen&&(j=this.floatParameter(e++),g=this.floatParameter(e++));e!=this.slen&&this.invArg();0>d&&(d=-d,a&&(1==this.slen?d*=2:null==c&&(d/=2)));(5>d||2E5<
d)&&this.numberOutOfRange(5,2E5);this.vwr.tm.isWindowCentered()||(null!=c&&(a=this.atomExpressionAt(f),this.chk||this.vwr.setCenterBitSet(a,!1)),c=this.vwr.tm.fixedRotationCenter,Float.isNaN(j)&&(j=this.vwr.tm.getTranslationXPercent()),Float.isNaN(g)&&(g=this.vwr.tm.getTranslationYPercent()));if(!this.chk&&(Float.isNaN(j)&&(j=0),Float.isNaN(g)&&(g=0),this.vwr.moveTo(this,b,c,JV.JC.center,NaN,null,d,j,g,NaN,null,NaN,NaN,NaN,NaN,NaN,NaN),this.isJS&&0<b&&this.vwr.g.waitForMoveTo))throw new JS.ScriptInterruption(this,
"zoomTo",1);},"~B");d(c$,"colorShape",function(a,b,c){var e=null,f=null,d=null,j=null,g=2==b&&1073741860==this.tokAt(1)?"ball":"",k=!1,n=24==a||25==a,m=0,l=!1,x=3.4028235E38;0>b&&(j=this.atomExpressionAt(-b),b=this.iToken+1,this.isBondSet&&(l=!0,a=1));var p=this.getToken(b).tok;c?this.getToken(b):!0==(c=1610616835==p)&&this.getToken(++b);if(c)g="bg";else if(n)switch(this.theTok){case 1073742018:this.getToken(++b);g="mesh";break;case 1073742094:b=this.getArgbParamOrNone(++b,!1);d=0==b?null:Integer.$valueOf(b);
this.getToken(b=this.iToken+1);break;case 10:case 1048577:q(this.theToken.value,JM.BondSet)?(j=this.theToken.value,g="vertex"):(j=this.atomExpressionAt(b),g="atom"),this.getToken(b=this.iToken+1)}if(this.chk||!((27==a||28==a)&&null!=this.getIsoExt().dispatch(a,!0,this.st))){if((c=603979967==this.theTok)||1073742074==this.theTok)1.4E-45==x&&this.invArg(),e=this.paramAsStr(b++),c&&this.isFloatParameter(b)&&(x=this.getTranslucentLevel(b++));p=0;if(b<this.slen&&1048589!=this.tokAt(b)&&1048588!=this.tokAt(b))if(k=
!0,p=this.getToken(b).tok,(!n||1074790746!=this.tokAt(b+1))&&this.isColorParam(b)){b=this.getArgbParamOrNone(b,!1);f=0==b?null:Integer.$valueOf(b);if(0!=this.tokAt(b=this.iToken+1)&&null==e)if(this.getToken(b),(c=603979967==this.theTok)||1073742074==this.theTok)e=this.paramAsStr(b++),c&&this.isFloatParameter(b)&&(x=this.getTranslucentLevel(b++));this.isColorParam(b)&&(b=this.getArgbParamOrNone(b,!1),d=0==b?null:Integer.$valueOf(b),b=this.iToken+1);this.checkLength(b)}else if(26==a)this.iToken--;else{var m=
this.paramAsStr(b).toLowerCase(),r=0==m.indexOf("byelement"),B=r||0==m.indexOf("byresidue"),f=B||n?J.c.PAL.PROPERTY:1113200651==p?J.c.PAL.CPK:J.c.PAL.getPalette(m);(f===J.c.PAL.UNKNOWN||(f===J.c.PAL.TYPE||f===J.c.PAL.ENERGY)&&2!=a)&&this.invArg();var D=null,u=f!==J.c.PAL.PROPERTY&&f!==J.c.PAL.VARIABLE||!this.vwr.g.rangeSelected?null:this.vwr.bsA();f===J.c.PAL.PROPERTY?B?this.chk||(D=this.getBitsetPropertyFloat(u,(r?1095763978:1095761932)|256,NaN,NaN)):(r=m.equals("property"))&&JS.T.tokAttr(p=this.getToken(++b).tok,
1078984704)&&!JS.T.tokAttr(p,1087373312)?(this.chk||(D=this.getBitsetPropertyFloat(u,this.getToken(b).tok|256,NaN,NaN)),b++):!r&&!n&&b++:f===J.c.PAL.VARIABLE&&(b++,m=this.paramAsStr(b++),D=O(this.vwr.ms.ac,0),JU.Parser.parseStringInfestedFloatArray(""+this.getParameter(m,4,!0),null,D),f=J.c.PAL.PROPERTY);if(f===J.c.PAL.PROPERTY){var v=null;4==this.tokAt(b)?(v=this.paramAsStr(b++).toLowerCase(),this.isArrayParameter(b)&&(v+="="+JS.SV.sValue(JS.SV.getVariableAS(this.stringParameterSet(b))).$replace("\n",
" "),b=this.iToken+1)):n&&this.isColorParam(b)&&(v=this.getColorRange(b),b=this.iToken+1);null!=v&&!n&&(this.setStringProperty("propertyColorScheme",(c&&3.4028235E38==x?"translucent ":"")+v),B=0==v.indexOf("byelement")||0==v.indexOf("byresidue"));var r=0,y=3.4028235E38;if(!B&&(1073741826==this.tokAt(b)||1073742114==this.tokAt(b)))r=this.floatParameter(b+1),y=this.floatParameter(b+2),b+=3,r==y&&n?(B=this.getShapeProperty(a,"dataRange"),null!=B&&(r=B[0],y=B[1])):r==y&&(y=3.4028235E38);n||(null==D?this.chk||
this.vwr.setCurrentColorRange(m):this.chk||this.vwr.cm.setPropertyColorRangeData(D,u));if(n){this.checkLength(b);if(this.chk)return;k=!1;m=this.vwr.cm.getColorEncoder(v);if(null==m)return;m.isTranslucent=c&&3.4028235E38==x;m.setRange(r,y,r>y);3.4028235E38==y&&(m.hi=y);this.setShapeProperty(a,"remapColor",m);this.showString(this.getShapeProperty(a,"dataRangeStr").$replace("\n"," "));if(3.4028235E38==x)return}else 3.4028235E38!=y&&this.vwr.cm.setPropertyColorRange(r,y)}else b++;this.checkLength(b)}if(!(this.chk||
0>a)){switch(a){case 4:m=32768;break;case 2:m=30720;break;case 3:m=256;break;case 1:m=1023;break;default:m=0}0==m?(this.sm.loadShape(a),5==a&&this.setShapeProperty(5,"setDefaults",this.vwr.slm.noneSelected)):(null!=j&&(this.vwr.selectBonds(j),j=null),a=1,this.setShapeProperty(a,"type",Integer.$valueOf(m)));if(k){switch(p){case 1112539151:case 1112539150:this.vwr.autoCalculate(p);break;case 1112541196:this.vwr.g.rangeSelected&&this.vwr.ms.clearBfactorRange();break;case 1087373318:this.vwr.ms.calcSelectedGroupsCount();
break;case 1095761937:case 1073742029:this.vwr.ms.calcSelectedMonomersCount();break;case 1095761936:this.vwr.ms.calcSelectedMoleculesCount()}null!=d&&(n||11==a||14==a||21==a)?this.setShapeProperty(a,"colorPhase",M(-1,[d,f])):null==j?this.setShapeProperty(a,g+"color",f):this.setShapePropertyBs(a,g+"color",f,j)}null!=e&&this.setShapeTranslucency(a,g,e,x,j);0!=m&&this.setShapeProperty(1,"type",Integer.$valueOf(1023));l&&this.vwr.selectBonds(null);0==a&&this.vwr.shm.checkInheritedShapes()}}},"~N,~N,~B");
d(c$,"encodeRadiusParameter",function(a,b,c){var e=NaN,f=J.atomdata.RadiusData.EnumType.ABSOLUTE,d=null,j=-1==a?1649412120:this.getToken(a).tok;switch(j){case 1112539137:case 1112539138:case 1112541194:case 1114638362:case 1112541196:case 1649412120:e=1,f=J.atomdata.RadiusData.EnumType.FACTOR,d=1649412120==j?null:J.c.VDW.getVdwType2(JS.T.nameOf(j)),j=this.tokAt(++a)}switch(j){case 4141:return this.vwr.rd;case 1073741852:case 1073742116:case 1073741856:case 1073741858:case 1073741991:e=1;f=J.atomdata.RadiusData.EnumType.FACTOR;
this.iToken=a-1;break;case 269484193:case 2:case 3:if(269484193==j)a++;else if(269484210==this.tokAt(a+1)){e=Math.round(this.floatParameter(a));this.iToken=++a;f=J.atomdata.RadiusData.EnumType.FACTOR;if(0>e||200<e)return this.integerOutOfRange(0,200),null;e/=100;break}else if(2==j){e=this.intParameter(a);if(749<e||-200>e)return this.integerOutOfRange(-200,749),null;0<e?(e/=250,f=J.atomdata.RadiusData.EnumType.ABSOLUTE):(e/=-100,f=J.atomdata.RadiusData.EnumType.FACTOR);break}269484193==j||!c?(f=J.atomdata.RadiusData.EnumType.OFFSET,
e=16):(f=J.atomdata.RadiusData.EnumType.ABSOLUTE,d=J.c.VDW.NADA,e=100);e=this.floatParameterRange(a,b||!c?-e:0,e);if(Float.isNaN(e))return null;b&&(e=-e);16<e&&(e=16.1);break;default:1==e&&a--}null==d&&(d=J.c.VDW.getVdwType(this.optParameterAsString(++this.iToken)),null==d&&(this.iToken=a,d=J.c.VDW.AUTO));return new J.atomdata.RadiusData(null,e,f,d)},"~N,~B,~B");d(c$,"expandFloatArray",function(a,b){var c=a.length,e=!1;try{for(var f=0;f<a.length;f++)0>a[f]&&(c+=Math.abs(a[f-1]+a[f])-1,e=!0);if(e){for(var d=
O(c,0),f=e=0;f<a.length;f++)if(c=I(a[f]),0<=c)c<b&&this.invArg(),d[e++]=c;else for(var j=0>I(a[f-1]+c)?1:-1,g=I(a[f-1]);g!=-a[f];g+=j,e++)d[e]=d[e-1]+j;a=d;c=a.length}for(var k=G(c,0),f=c;0<=--f;)k[f]=I(a[f]);return k}catch(n){if(B(n,Exception))return this.invArg(),null;throw n;}},"~A,~N");d(c$,"frameControl",function(a){switch(this.getToken(this.checkLast(a)).tok){case 1073742098:case 1073742096:case 4143:case 20487:case 1073742037:case 1073742108:case 1073742125:case 1073741942:case 1073741993:this.chk||
this.vwr.setAnimation(this.theTok);return}this.invArg()},"~N");d(c$,"getColorRange",function(a){a=this.getArgbParam(a);1074790746!=this.tokAt(++this.iToken)&&this.invArg();var b=this.getArgbParam(++this.iToken),c=2==this.tokAt(this.iToken+1)?this.intParameter(++this.iToken):0;return JU.ColorEncoder.getColorSchemeList(JU.ColorEncoder.getPaletteAtoB(a,b,c))},"~N");d(c$,"getForVar",function(a){var b=this.getContextVariableAsVariable(a);null==b&&(a.startsWith("_")&&this.invArg(),0<=a.indexOf("/")?this.contextVariables.put(a.toLowerCase(),
b=JS.SV.newI(0)):b=this.vwr.g.getOrSetNewVariable(a,!0));return b},"~S");d(c$,"getFullPathName",function(){var a=!this.chk||this.isCmdLine_C_Option?this.vwr.fm.getFullPathName(!0):"test.xyz";null==a&&this.invArg();return a});d(c$,"getObjectBoundingBox",function(a){a=M(-1,[a,null,null]);return this.getShapePropertyData(24,"getBoundingBox",a)||this.getShapePropertyData(29,"getBoundingBox",a)||this.getShapePropertyData(25,"getBoundingBox",a)||this.getShapePropertyData(28,"getBoundingBox",a)||this.getShapePropertyData(27,
"getBoundingBox",a)?a[2]:null},"~S");k(c$,"getObjectCenter",function(a,b,c){a=M(-1,[a,Integer.$valueOf(b),Integer.$valueOf(c)]);return this.getShapePropertyData(22,"getCenter",a)||this.getShapePropertyData(24,"getCenter",a)||this.getShapePropertyData(29,"getCenter",a)||this.getShapePropertyData(25,"getCenter",a)||this.getShapePropertyData(28,"getCenter",a)||this.getShapePropertyData(27,"getCenter",a)?a[2]:null},"~S,~N,~N");k(c$,"getPlaneForObject",function(a,b){switch(this.sm.getShapeIdFromObjectName(a)){case 22:this.setShapeProperty(22,
"thisID",a);var c=this.getShapeProperty(22,"vertices");if(null==c||3>c.length||null==c[0]||null==c[1]||null==c[2])break;return JU.Measure.getPlaneThroughPoints(c[0],c[1],c[2],new JU.V3,b,new JU.P4);case 24:return this.setShapeProperty(24,"thisID",a),this.getShapeProperty(24,"plane")}return null},"~S,JU.V3");d(c$,"getQuaternionArray",function(a,b){var c;switch(b){case 135270418:c=a;break;case 9:c=Array(a.length);for(var e=0;e<a.length;e++)c[e]=JU.Quat.newP4(a[e]);break;case 1073742001:c=Array(a.size());
for(e=0;e<a.size();e++){var f=JS.SV.pt4Value(a.get(e));if(null==f)return null;c[e]=JU.Quat.newP4(f)}break;default:return null}return c},"~O,~N");d(c$,"getSetAxesTypeMad",function(a){if(a==this.slen)return 1;switch(this.getToken(this.checkLast(a)).tok){case 1048589:return 1;case 1048588:return 0;case 1073741926:return-1;case 2:return this.intParameterRange(a,-1,19);case 3:return a=this.floatParameterRange(a,0,2),Float.isNaN(a)?2147483647:N(Math.floor(2E3*a))}this.errorStr(7,'"DOTTED"');return 0},"~N");
d(c$,"getSettingFloat",function(a){return a>=this.slen?NaN:JS.SV.fValue(this.parameterExpressionToken(a))},"~N");d(c$,"getSettingInt",function(a){return a>=this.slen?-2147483648:this.parameterExpressionToken(a).asInt()},"~N");d(c$,"getSettingStr",function(a,b){return b&&this.slen==a+1?this.paramAsStr(a):this.parameterExpressionToken(a).asString()},"~N,~B");d(c$,"getShapeProperty",function(a,b){return this.sm.getShapePropertyIndex(a,b,-2147483648)},"~N,~S");d(c$,"getShapePropertyData",function(a,b,
c){return this.sm.getShapePropertyData(a,b,c)},"~N,~S,~A");d(c$,"getShapeType",function(a){a=JV.JC.shapeTokenIndex(a);0>a&&this.error(49);return a},"~N");d(c$,"getTranslucentLevel",function(a){a=this.floatParameter(a);return 2==this.theTok&&0<a&&9>a?a+1:a},"~N");d(c$,"getZoom",function(a,b,c,e){var f=this.isFloatParameter(b)?this.floatParameter(b++):NaN;if(0==f||0==e)e=NaN,null==c?1048582==this.tokAt(a)&&(f=this.getObjectBoundingBox(this.objectNameParameter(a+1)),(null==f||0==(e=f[0].distance(f[1])/
2))&&this.invArg()):e=this.vwr.ms.calcRotationRadiusBs(c),Float.isNaN(e)&&this.invArg(),e=100*(this.vwr.getFloat(570425388)/e),f=NaN;if(0>f)f+=e;else if(Float.isNaN(f))switch(a=this.tokAt(b),a){case 1073742079:case 1276116993:f=e*(1073742079==a?0.5:2);b++;break;case 269484208:case 269484209:case 269484193:c=this.floatParameter(++b);b++;switch(a){case 269484208:f=e/c;break;case 269484209:f=e*c;break;case 269484193:f=e+c}break;default:f=null==c?-e:e}this.iToken=b-1;return f},"~N,~N,JU.BS,~N");d(c$,
"setElementColor",function(a,b){for(var c=JU.Elements.elementNumberMax;0<=--c;)if(a.equalsIgnoreCase(JU.Elements.elementNameFromNumber(c)))return this.chk||this.vwr.setElementArgb(c,b),!0;for(c=JU.Elements.altElementMax;0<=--c;)if(a.equalsIgnoreCase(JU.Elements.altElementNameFromIndex(c)))return this.chk||this.vwr.setElementArgb(JU.Elements.altElementNumberFromIndex(c),b),!0;if("_"!=a.charAt(0))return!1;for(c=JU.Elements.elementNumberMax;0<=--c;)if(a.equalsIgnoreCase("_"+JU.Elements.elementSymbolFromNumber(c)))return this.chk||
this.vwr.setElementArgb(c,b),!0;for(c=JU.Elements.altElementMax;4<=--c;)if(a.equalsIgnoreCase("_"+JU.Elements.altElementSymbolFromIndex(c))||a.equalsIgnoreCase("_"+JU.Elements.altIsotopeSymbolFromIndex(c)))return this.chk||this.vwr.setElementArgb(JU.Elements.altElementNumberFromIndex(c),b),!0;return!1},"~S,~N");d(c$,"setMeshDisplayProperty",function(a,b,c){var e=null,f=null,d=25==a,j=0==b;j||(c=this.getToken(b).tok);switch(c){case 1766856708:if(d)this.iToken++;else break;case 1073742074:case 603979967:return j||
this.colorShape(a,this.iToken,!1),!0;case 0:case 12291:case 1048589:case 1048588:case 12294:case 3145770:case 1610625028:case 3145768:1==this.iToken&&(0<=a&&0==this.tokAt(2))&&this.setShapeProperty(a,"thisID",null);if(0==c)return 1==this.iToken;if(j)return!0;switch(c){case 12291:return this.setShapeProperty(a,"delete",null),!0;case 3145770:case 12294:c=1048588;break;case 3145768:c=1048589;break;case 1610625028:b+1==this.slen&&(c=1048589);break}case 1073741958:case 1073741862:case 1073741964:case 1073741898:case 1073742039:case 1113198595:case 1073742042:case 1073742018:case 1073742052:case 1073741938:case 1073742046:case 1073742182:case 1073742060:case 1073741960:case 1073742058:e=
"token",f=Integer.$valueOf(c)}if(null==e)return!1;if(j)return!0;this.setShapeProperty(a,e,f);0!=this.tokAt(this.iToken+1)&&(this.setMeshDisplayProperty(a,++this.iToken,0)||--this.iToken);return!0},"~N,~N,~N");d(c$,"setObjectArgb",function(a,b){this.chk||this.vwr.setObjectArgb(a,b)},"~S,~N");d(c$,"setObjectMad",function(a,b,c){this.chk||this.vwr.setObjectMad(a,b,c)},"~N,~S,~N");d(c$,"setObjectProp",function(a,b,c){for(var e=M(-1,[a,null]),f="",d=JU.PT.isWild(a),j=17;;){if(this.getShapePropertyData(j,
"checkID",e)){this.setShapeProperty(j,"thisID",a);switch(b){case 12291:this.setShapeProperty(j,"delete",null);break;case 12294:case 1610625028:this.setShapeProperty(j,"hidden",1610625028==b?Boolean.FALSE:Boolean.TRUE);break;case 135270926:f+=this.getShapeProperty(j,"command")+"\n";break;case 1766856708:0<=c&&this.colorShape(j,c+1,!1)}if(!d)break}switch(j){case 17:j=20;continue;case 20:j=32}switch(--j){case 27:j--;break;case 28:j-=2}if(22>j)break}return f},"~S,~N,~N");d(c$,"setObjectProperty",function(){var a=
this.setShapeNameParameter(2);return this.chk?"":this.setObjectProp(a,this.tokAt(0),this.iToken)});d(c$,"setShapeNameParameter",function(a){var b=this.paramAsStr(a),c=b.equals("*");0==b.length&&this.invArg();if(c)switch(this.tokAt(a+1)){case 0:case 1048589:case 1048588:case 3145768:case 3145770:case 1766856708:case 12291:break;default:if(this.setMeshDisplayProperty(-1,0,this.tokAt(a+1)))break;b+=this.optParameterAsString(++a)}269484209==this.tokAt(a+1)&&(b+=this.paramAsStr(++a));this.iToken=a;return b},
"~N");d(c$,"setShapeProperty",function(a,b,c){this.chk||this.sm.setShapePropertyBs(a,b,c,null)},"~N,~S,~O");d(c$,"setShapePropertyBs",function(a,b,c,e){this.chk||this.sm.setShapePropertyBs(a,b,c,e)},"~N,~S,~O,JU.BS");d(c$,"setShapeSize",function(a,b){this.chk||this.sm.setShapeSizeBs(a,0,b,null)},"~N,J.atomdata.RadiusData");d(c$,"setShapeSizeBs",function(a,b,c){this.chk||this.sm.setShapeSizeBs(a,b,null,c)},"~N,~N,JU.BS");d(c$,"setShapeTranslucency",function(a,b,c,e,f){3.4028235E38==e&&(e=this.vwr.getFloat(570425354));
this.setShapeProperty(a,"translucentLevel",Float.$valueOf(e));null!=b&&(null==f?this.setShapeProperty(a,b+"translucency",c):this.chk||this.setShapePropertyBs(a,b+"translucency",c,f))},"~N,~S,~S,~N,JU.BS");d(c$,"setSize",function(a,b){var c=null,e=!1;switch(this.tokAt(1)){case 1073742072:this.restrictSelected(!1,!1);case 1048589:break;case 1048588:b=0;break;case 3:e=0>this.floatParameter(1);default:c=this.encodeRadiusParameter(1,e,!0);if(null==c)return;Float.isNaN(c.value)&&this.invArg()}null==c&&
(c=new J.atomdata.RadiusData(null,b,J.atomdata.RadiusData.EnumType.FACTOR,J.c.VDW.AUTO));e&&this.restrictSelected(!1,!1);this.setShapeSize(a,c)},"~N,~N");d(c$,"setSizeBio",function(a){var b=0;switch(this.getToken(1).tok){case 1073742072:this.restrictSelected(!1,!1);case 1048589:b=-1;break;case 1048588:break;case 1641025539:b=-2;break;case 1112541196:case 1073741922:b=-4;break;case 2:if(2147483647==(b=8*this.intParameterRange(1,0,1E3)))return;break;case 3:b=Math.round(2E3*this.floatParameterRange(1,
-4,4));if(2147483647==b)return;0>b&&(this.restrictSelected(!1,!1),b=-b);break;case 10:this.chk||this.sm.loadShape(a);this.setShapeProperty(a,"bitset",this.theToken.value);return;default:this.error(6)}this.setShapeSizeBs(a,b,null)},"~N");d(c$,"setUnits",function(a,b){545259568==b&&(a.endsWith("hz")||JU.PT.isOneOf(a.toLowerCase(),";angstroms;au;bohr;nanometers;nm;picometers;pm;vanderwaals;vdw;"))?this.chk||this.vwr.setUnits(a,!0):545259559==b&&JU.PT.isOneOf(a.toLowerCase(),";kcal;kj;")?this.chk||this.vwr.setUnits(a,
!1):this.errorStr2(50,"set "+JS.T.nameOf(b),a);return!0},"~S,~N");d(c$,"toString",function(){var a=new JU.SB;a.append("Eval\n pc:");a.appendI(this.pc);a.append("\n");a.appendI(this.aatoken.length);a.append(" statements\n");for(var b=0;b<this.aatoken.length;++b){a.append("----\n");for(var c=this.aatoken[b],e=0;e<c.length;++e)a.appendO(c[e]),a.appendC("\n");a.appendC("\n")}a.append("END\n");return a.toString()});k(c$,"setAtomProp",function(a,b,c){this.setShapePropertyBs(0,a,b,c)},"~S,~O,JU.BS");P(c$,
"saveList","bonds? context? coordinates? orientation? rotation? selection? state? structure?","iProcess",0,"commandHistoryLevelMax",0,"contextDepthMax",100,"scriptReportingLevel",0)});E("JS");H(["JS.ScriptParam"],"JS.ScriptExpr","java.lang.Boolean $.Float java.util.Hashtable $.Map JU.BArray $.BS $.CU $.Lst $.M34 $.M4 $.Measure $.P3 $.P4 $.PT $.SB J.api.Interface JM.BondSet $.Group $.ModelSet JS.SV $.ScriptContext $.ScriptMathProcessor $.T JU.BSUtil $.Elements $.Escape".split(" "),function(){c$=F(function(){this.debugHigh=
!1;this.ptTemp=this.tempStatement=this.smilesExt=this.mathExt=this.isoExt=this.cmdExt=null;K(this,arguments)},JS,"ScriptExpr",JS.ScriptParam);d(c$,"getCmdExt",function(){return null==this.cmdExt?this.cmdExt=this.getExt("Cmd").init(this):this.cmdExt});d(c$,"getIsoExt",function(){return null==this.isoExt?this.isoExt=this.getExt("Iso").init(this):this.isoExt});d(c$,"getMathExt",function(){return null==this.mathExt?(this.mathExt=this.getExt("Math")).init(this):this.mathExt});d(c$,"getSmilesExt",function(){return null==
this.smilesExt?(this.smilesExt=this.getExt("Smiles")).init(this):this.smilesExt});d(c$,"getExt",function(a){return J.api.Interface.getInterface("JS."+a+"Ext",this.vwr,"script")},"~S");k(c$,"parameterExpressionList",function(a,b,c){return this.parameterExpression(a,-1,null,!0,!0,b,c,null,null,!1)},"~N,~N,~B");d(c$,"parameterExpressionString",function(a,b){return this.parameterExpression(a,b,"",!0,!1,-1,!1,null,null,!1)},"~N,~N");d(c$,"parameterExpressionBoolean",function(a,b){return this.parameterExpression(a,
b,null,!0,!1,-1,!1,null,null,!1).booleanValue()},"~N,~N");d(c$,"parameterExpressionToken",function(a){a=this.parameterExpressionList(a,-1,!1);return 0<a.size()?a.get(0):JS.SV.newS("")},"~N");d(c$,"parameterExpressionSelect",function(a,b){this.st=b;this.slen=this.st.length;return this.parameterExpression(2,-2147483648,null,!0,!1,-1,!1,a,null,!1).booleanValue()},"java.util.Map,~A");d(c$,"parameterExpression",function(a,b,c,e,f,d,j,g,k,n){var m=null!=k,l=null==k&&null!=g,x=0>a,p=!f&&null==c,r=!f&&null!=
c&&0==c.length;x&&(a=-a);var E=null==g||-2147483648!=b;b<a&&(b=this.slen);var D=n?0:1;c=new JS.ScriptMathProcessor(this,n,j,f,!1,!1,c);var u,v;j=f=0;var y=!0,t=a;a:for(;t<b;t++){u=null;var w=this.getToken(t).tok;if(m&&1048583!=this.tokAt(t+1)){var z=null!=g&&g.containsKey(this.theToken.value)?null:this.getBitsetPropertySelector(t,10);if(null!=z){c.addX(g.get(k));c.addOpAllowMath(z,269484048==this.tokAt(t+1),0)||this.invArg();if((135368713==z.intValue||102436==z.intValue)&&269484048!=this.tokAt(this.iToken+
1))c.addOp(JS.T.tokenLeftParen),c.addOp(JS.T.tokenRightParen);t=this.iToken;continue}}switch(w){case 269484097:case 1048590:if(!e&&y)break a;1048590==w&&this.invArg();n&&(1==f&&269484436==this.tokAt(t+1))&&(n=c.endAssignment())}switch(w){case 1060866:if(1048577==(w=this.tokAt(++t)))u=this.parameterExpressionToken(++t),t=this.iToken;else if(2==w){u=this.vwr.ms.getAtoms(1095763969,Integer.$valueOf(this.st[t].intValue));break}else if(1060866==w&&2==this.tokAt(t+1)){u=this.vwr.ms.getAtomsFromAtomNumberInFrame(this.st[++t].intValue);
break}else u=this.getParameter(JS.SV.sValue(this.st[t]),1073742190,!0);u=this.getParameter(u.asString(),1073742190,!0);break;case 135369225:269484048!=this.getToken(++t).tok&&this.invArg();null==g&&(g=new java.util.Hashtable);v=this.parameterExpression(++t,-1,null,e,!1,-1,!1,g,k,!1);z=v.booleanValue();w=this.iToken;1048591!=this.getToken(w++).tok&&this.invArg();this.parameterExpressionBoolean(w,-1);var s=this.iToken;1048591!=this.tokAt(s++)&&this.invArg();this.parameterExpression(-s,-1,null,e,!1,
1,!1,g,k,!1);t=this.iToken;269484049!=this.tokAt(t)&&this.invArg();u=this.parameterExpression(z?w:s,z?s:t,"XXX",e,!1,1,!1,g,k,!1);t=this.iToken=t;break;case 135369224:case 135280133:w=(z=0<a)&&135369224==w;z?((269484048!=this.getToken(++t).tok||!JS.T.tokAttr(this.getToken(++t).tok,1073741824))&&this.invArg(),s=this.paramAsStr(t),1048591!=this.getToken(++t).tok&&this.invArg()):s="_x";u=this.parameterExpressionToken(-++t).value;q(u,JU.BS)||this.invArg();t=this.iToken;z&&1048591!=this.getToken(t++).tok&&
this.invArg();var A=new JU.BS,I=new JU.BS,M=w?Array(JU.BSUtil.cardinalityOf(u)):null;null==g&&(g=new java.util.Hashtable);I.set(0);var H=JS.SV.newV(10,I);H.index=0;g.put(s,H.setName(s));var K=-1;if(z){K=t-1;v=0;for(var Q;0<=v&&++K<b;)269484049==(Q=this.tokAt(K))?v--:269484048==Q&&v++}var ba=0,F=0,G=u.nextSetBit(0);if(0>G||this.chk)this.iToken=K-1;else for(;0<=G;G=u.nextSetBit(G+1))0<=F&&I.clear(F),F=G,I.set(G),H.index=G,v=this.parameterExpression(t,K,w?"XXX":null,e,w,G,!1,g,z?null:s,!1),w?((null==
v||0==v.size())&&this.invArg(),M[ba++]=v.get(0).asString()):v.booleanValue()&&A.set(G);if(w)u=M;else if(z)u=A;else return this.listBS(A);t=this.iToken+1;break;case 1048591:break a;case 2:case 3:case 1048614:c.addXNum(this.theToken);break;case 135266319:if(269484048==this.tokAt(this.iToken+1)){c.addOpAllowMath(this.theToken,!0,0)||this.invArg();break}case 1048589:case 1048588:case 4:case 8:case 9:case 11:case 12:case 7:case 10:case 6:case 14:c.addX(JS.SV.newT(this.theToken));break;case 1048582:this.ignoreError=
!0;var N;try{N=this.centerParameter(t),c.addX(JS.SV.newV(8,N))}catch(L){if(B(L,Exception))c.addXStr("");else throw L;}this.ignoreError=!1;t=this.iToken;break;case 1048586:if(4==this.tokAt(t+1)){if(1048590==this.tokAt(t+2)){u=this.chk?new JU.BS:this.getAtomBitSet(this.stringParameter(t+1));t+=2;break}u=this.getAssocArray(t)}else u=this.getPointOrPlane(t,!1,!0,!0,!1,3,4);t=this.iToken;break;case 1048577:if(1048578==this.tokAt(t+1)){u=new java.util.Hashtable;t++;break}else 1048579==this.tokAt(t+1)&&
1048578==this.tokAt(t+2)&&(w=1048579,this.iToken+=2);case 1048579:u=1048579==w?this.vwr.getAllAtoms():this.atomExpression(this.st,t,0,!0,!0,!0,!0);t=this.iToken;if(0==j&&x)return this.iToken++,this.listBS(u);break;case 1073742195:c.addOp(this.theToken);continue;case 1048578:break a;case 269484080:if(!e&&y)break a;c.addOp(this.theToken)||this.invArg();break;case 1048584:case 1048583:n&&(y&&269484436==this.tokAt(t+2))&&(n=c.endAssignment());if(0==D&&y)switch(this.tokAt(t+1)){case 0:break;case 1276384259:case 1276383249:case 1141899270:case 1141899282:case 1141899272:if(1048583==
w)break;default:c.addOp(JS.T.tokenArrayOpen);c.addXStr(this.optParameterAsString(++t));c.addOp(JS.T.tokenArrayClose);continue}z=this.getBitsetPropertySelector(t+1,c.getXTok());t=135368713==z.intValue;s=!0;Q=this.tokAt(this.iToken+2);if(1048583==this.tokAt(this.iToken+1))switch(Q){case 1048579:Q=480,1048583==this.tokAt(this.iToken+3)&&1276116995==this.tokAt(this.iToken+4)&&(Q=224);case 32:case 64:case 192:case 128:case 160:case 96:s=t||1276118018==z.intValue||480==Q||224==Q,z.intValue|=Q,this.getToken(this.iToken+
2)}w=this.tokAt(this.iToken+1);s=(new Boolean(s&(269484048==w||t))).valueOf();c.addOpAllowMath(z,s,t?w:0)||this.invArg();t=this.iToken;135368713==z.intValue&&269484048!=w&&(c.addOp(JS.T.tokenLeftParen),c.addOp(JS.T.tokenRightParen));break;case 1087375362:case 1087375361:case 1048580:case 1679429641:case 1087373316:case 1048581:case 1073741916:case 1087375365:case 1087373318:case 1095766030:case 1095761936:case 1073742128:case 135267335:case 1087373320:case 1095761941:case 135267336:case 1238369286:case 1641025539:if(!l){c.addX(JS.SV.newT(this.theToken));
break}default:if(269484096==this.theTok&&269484066==this.tokAt(t+2)){u=this.getAssocArray(t);t=this.iToken;break}if(JS.T.tokAttr(this.theTok,269484032)||JS.T.tokAttr(this.theTok,135266304)&&269484048==this.tokAt(this.iToken+1)){if(!c.addOp(this.theToken)){if(0<=d)break a;this.invArg()}switch(this.theTok){case 269484436:y&&(D=t);break;case 269484048:j++;y=!1;break;case 269484049:if(0>=--j&&0==f){if(x){this.iToken++;break a}y=!0}break;case 269484096:f++;y=!1;break;case 269484097:if(0==--f&&0==j){if(x){this.iToken++;
break a}y=!0}}}else{z=this.paramAsStr(t).toLowerCase();w=269484048==this.tokAt(t+1);if(!w)if(this.chk)u=z;else if(null==g||null==(u=JU.PT.getMapValueNoCase(g,z))&&E)z.startsWith("_")&&(u=z.equals("_")?this.vwr.ms.getAuxiliaryInfo(null):z.equals("_m")&&0<=this.vwr.am.cmi?this.vwr.ms.getModelAuxiliaryInfo(this.vwr.am.cmi):null),null==u?u=this.getContextVariableAsVariable(z):0==D&&this.invArg();if(null==u)if(JS.T.tokAttr(this.theTok,1073741824)&&this.vwr.isFunction(z))c.addOp(JS.SV.newV(135368713,this.theToken.value))||
this.invArg(),w||(c.addOp(JS.T.tokenLeftParen),c.addOp(JS.T.tokenRightParen));else{z=this.vwr.g.getOrSetNewVariable(z,!1);switch(z.tok){case 2:case 3:if(this.noCopy(t,-1)||this.noCopy(t,1))break;c.addXCopy(z);continue}c.addX(z)}}}null!=u&&(q(u,JU.BS)?c.addXBs(u):c.addXObj(u))}a=c.getResult();null==a&&(this.chk||c.dumpStacks("null result"),this.error(13));if(135198==a.tok)return n&&0==D?(n=new JU.Lst,n.addLast(new JS.SV),n):a.value;if(this.chk){if(p)return Boolean.TRUE;if(r)return""}else{if(p)return Boolean.$valueOf(a.asBoolean());
if(r)return 4==a.tok&&(a.intValue=2147483647),a.asString()}switch(a.tok){case 1048589:case 1048588:return Boolean.$valueOf(1==a.intValue);case 2:return Integer.$valueOf(a.intValue);default:return a.value}},"~N,~N,~S,~B,~B,~N,~B,java.util.Map,~S,~B");k(c$,"atomExpressionAt",function(a){this.checkToken(a)||(this.iToken=a,this.bad());return this.atomExpression(this.st,a,0,!0,!1,!0,!0)},"~N");k(c$,"atomExpression",function(a,b,c,e,f,d){this.isBondSet=!1;a!==this.st&&(this.tempStatement=this.st,this.st=
a);var j=new JS.ScriptMathProcessor(this,!1,!1,!1,d,f,null),g,k=!1;this.iToken=1E3;var n=0>b,m=!1,l=0,x=this.vwr.ms.ac;n&&(b=-b);n=(new Boolean(n|this.chk)).valueOf();0==c&&a.length>b&&(c=b+1);a:for(;b<c;++b){this.iToken=b;g=a[b];if(null==g)break;var p=g.value;switch(g.tok){case 1048577:c=a.length;l++;break;case 1048578:l--;if(0<l)continue;break a;case 1048586:if(this.isPoint3f(b)&&(p=this.getPoint3f(b,!0),null!=p)){j.addXPt(p);b=this.iToken;break}break;case 1048590:0<b&&1048586==a[b-1].tok&&j.addXBs(new JU.BS);
break;case 269484096:m=!0;j.addOp(g);break;case 269484097:m=!1;j.addOp(g);break;case 1060866:j.addXBs(this.getAtomBitSet(p));break;case 135267841:j.addX(JS.SV.newT(g));j.addX(JS.SV.newV(9,this.hklParameter(b+2)));b=this.iToken;break;case 135266319:j.addX(JS.SV.newT(g));j.addX(JS.SV.newV(9,this.planeParameter(b+2)));b=this.iToken;break;case 1048581:j.addX(JS.SV.newT(g));j.addXPt(this.getPoint3f(b+2,!0));b=this.iToken;break;case 4:if(0==p.indexOf("({")){var r=JU.BS.unescape(p);if(null!=r){j.addXBs(r);
break}}j.addX(JS.SV.newT(g));p.equals("hkl")&&(j.addX(JS.SV.newV(9,this.hklParameter(b+2))),b=this.iToken);break;case 135267336:case 135267335:case 1238369286:case 135266325:case 135402505:case 135266310:case 269484080:case 1276252167:j.addOp(g);break;case 1048579:j.addXBs(this.vwr.getAllAtoms());break;case 1048587:j.addXBs(new JU.BS);break;case 1048589:case 1048588:j.addX(JS.SV.newT(g));break;case 1114638363:j.addXBs(JU.BSUtil.copy(this.vwr.bsA()));break;case 3145770:j.addXBs(JU.BSUtil.copy(this.vwr.slm.getHiddenSet()));
break;case 1060869:j.addXBs(JU.BSUtil.copy(this.vwr.getMotionFixedAtoms()));break;case 3145768:j.addXBs(JU.BSUtil.copyInvert(this.vwr.slm.getHiddenSet(),x));break;case 3145776:j.addXBs(this.vwr.getBaseModelBitSet());break;case 3145774:j.addXBs(this.chk?new JU.BS:JU.BSUtil.copy(this.vwr.ms.getVisibleSet(!k)));k=!0;break;case 3145766:!this.chk&&e&&this.refresh(!1);j.addXBs(this.chk?new JU.BS:this.vwr.ms.getClickableSet(!e));e=!1;break;case 1048608:1!=this.vwr.ms.mc||this.vwr.ms.haveBioModels?(r=g.intValue,
0<r?j.addXBs(this.compareInt(1095761922,269484436,r)):j.addXBs(this.getAtomBits(g.tok,p))):j.addXBs(this.lookupIdentifierValue("_"+p));break;case 3145731:case 3145764:case 3145732:case 1613758470:case 1048585:case 3145742:case 3145741:case 3145744:case 3145746:case 3145748:case 3145750:case 1048612:case 1048607:case 3145772:case 1089470478:case 1614417948:j.addXBs(this.getAtomBits(g.tok,p));break;case 1048610:case 1048611:g=g.intValue;if(2147483647==g&&q(p,Integer)){g=p.intValue();if(!this.vwr.haveFileSet()){j.addXBs(this.getAtomBits(1048610,
Integer.$valueOf(g)));break}2147>=g&&(g*=1E6)}j.addXBs(this.bitSetForModelFileNumber(g));break;case 1048613:case 1048609:j.addXBs(this.getAtomBits(g.tok,Integer.$valueOf(g.intValue)));break;case 1048614:m?j.addXNum(g):j.addXBs(this.getAtomBits(1048614,Integer.$valueOf(JS.ScriptExpr.getSeqCode(g))));break;case 1048615:if(m){j.addXNum(g);j.addOp(JS.T.tokenMinus);j.addXNum(a[++b]);break}p=b+3<a.length&&269484160==a[b+2].tok&&1048609==a[b+3].tok?a[b+3].intValue:-1;j.addXBs(this.getAtomBits(1048615,G(-1,
[JS.ScriptExpr.getSeqCode(g),JS.ScriptExpr.getSeqCode(a[++b]),p])));-1!=p&&(b+=2);break;case 1095761926:case 1095761925:j.addXBs(this.getAtomBits(g.tok,G(-1,[N(Math.floor(1E3*p.x)),N(Math.floor(1E3*p.y)),N(Math.floor(1E3*p.z))])));break;case 3145758:j.addXBs(0>this.vwr.am.cmi?this.vwr.getFrameAtoms():this.vwr.getModelUndeletedAtomsBitSet(this.vwr.am.cmi));break;case 1613758476:case 3145730:case 1115297793:case 1613758488:case 137363467:case 3145735:case 3145736:case 3145738:case 3145754:case 3145756:j.addXBs(this.lookupIdentifierValue(p));
break;case 269484435:case 269484434:case 269484433:case 269484432:case 269484436:case 269484437:case 269484438:r=g.tok;g=g.intValue;1095766024==g&&269484436!=r&&this.invArg();var B=null;1716520985==g&&(b+2==a.length&&this.invArg(),this.chk||(B=this.vwr.getDataFloat(a[++b].value)));++b==a.length&&this.invArg();j.addXBs(this.chk?new JU.BS:this.getComparison(a[b],g,r,p,B));break;case 3:case 2:j.addXNum(g);break;case 10:p=JU.BSUtil.copy(p);j.addXBs(p);break;case 8:j.addXPt(p);break;default:if(JS.T.tokAttr(g.tok,
269484032)){j.addOp(g)||this.invArg();break}if(!q(p,String)){j.addXObj(p);break}g=this.getParameter(p,0,!0);if(m){j.addXObj(g);break}q(g,String)&&(g=this.getStringObjectAsVariable(g,null));q(g,JU.Lst)&&(r=JS.SV.unEscapeBitSetArray(g,!0),g=null==r?"":g);q(g,String)&&(g=this.lookupIdentifierValue(p));j.addXObj(g)}}this.expressionResult=j.getResult();if(null==this.expressionResult){if(f)return null;this.chk||j.dumpStacks("after getResult");this.error(13)}this.expressionResult=this.expressionResult.value;
if(q(this.expressionResult,String)&&(d||this.expressionResult.startsWith("({")))this.expressionResult=this.chk?new JU.BS:this.getAtomBitSet(this.expressionResult);if(!d&&!q(this.expressionResult,JU.BS))return null;r=q(this.expressionResult,JU.BS)?this.expressionResult:new JU.BS;this.isBondSet=q(this.expressionResult,JM.BondSet);!this.isBondSet&&(r=this.vwr.slm.excludeAtoms(r,n)).length()>this.vwr.ms.ac&&r.clearAll();null!=this.tempStatement&&(this.st=this.tempStatement,this.tempStatement=null);return r},
"~A,~N,~N,~B,~B,~B,~B");d(c$,"getComparison",function(a,b,c,e,f){var d=a.tok;if(7==d){d=new JU.BS;269484436!=c&&d.setBits(0,this.vwr.ms.ac);a=a.getList();for(var j=a.size();0<=--j;){var g=this.getComparison(a.get(j),b,c,e,f);269484436==c?d.or(g):d.and(g)}return d}var k=a.intValue,j=NaN,g=1095766030==b,n=JS.T.tokAttr(b,1095761920),m=JS.T.tokAttr(b,1112539136)||1078984704==(b&1137704960),l=n&&m,x=!n&&JS.T.tokAttr(b,1087373312);1087375365==b&&(n=!(x=!1));var p=a.value;if(JS.T.tokAttr(d,1073741824))if("_modelNumber".equalsIgnoreCase(p))k=
this.vwr.am.cmi,p=Integer.$valueOf(k=0>k?0:this.vwr.getModelFileNumber(k));else{var r=this.getParameter(p,1073742190,!1);if(null!=r){if(7==r.tok)return this.getComparison(r,b,c,e,f);k=r.intValue;p=x?JS.SV.sValue(r):JS.SV.nValue(r)}}q(p,JU.P3)?1766856708==b&&(k=JU.CU.colorPtToFFRGB(p),d=2,n=!0):q(p,String)&&(1766856708==b?(k=JU.CU.getArgbFromString(p),0==k&&JS.T.tokAttr(d,1073741824)&&(p=this.getStringParameter(p,!0),p.startsWith("{")?(p=JU.Escape.uP(p),k=q(p,JU.P3)?JU.CU.colorPtToFFRGB(p):0):k=JU.CU.getArgbFromString(p)),
d=2,n=!0):x||(1641025539==b||1238369286==b||1087375365==b?x=!(n=2147483647!=k):p=JS.SV.nValue(a),q(p,Integer)?j=k=p.intValue():q(p,Float)&&g&&(k=JM.ModelSet.modelFileNumberFromFloat(p.floatValue()))));x&&!q(p,String)&&(p=""+p);q(p,Integer)||2==d?g?1E6<=k&&(b=-1095766030):l||m&&(j=k):q(p,Float)?g?b=-1095766030:(j=p.floatValue(),l?n=!1:n&&(k=I(j))):x||(this.iToken++,this.invArg());g&&(1E6<=k&&0==k%1E6)&&(k/=1E6,b=1229984263);if(-1095766030==b&&269484436==c)return this.bitSetForModelFileNumber(k);null!=
e&&0<=e.indexOf("-")&&(n?k=-k:Float.isNaN(j)||(j=-j));return n?this.compareInt(b,c,k):x?this.compareString(b,c,p):this.compareFloatData(b,f,c,j)},"JS.T,~N,~N,~S,~A");d(c$,"noCopy",function(a,b){switch(this.tokAt(a+b)){case 269484226:case 269484225:return-1==this.st[a+b].intValue==(-1==b);default:return!1}},"~N,~N");d(c$,"getAssocArray",function(a){var b=new java.util.Hashtable,c=1048586==this.tokAt(a)?1048590:269484097;for(a+=1;a<this.slen;a++){var e=this.tokAt(a);if(e==c)break;e=1073741824==e&&0==
this.st[a].intValue?this.st[a++].myName:JS.SV.sValue(this.st[a++]);269484066!=this.tokAt(a++)&&this.invArg();a=this.parameterExpression(a,0,null,!1,!0,-1,!1,null,null,!1);0==a.size()&&this.invArg();b.put(e,a.get(0));a=this.iToken;if(269484080!=this.tokAt(a))break}this.iToken=a;this.tokAt(a)!=c&&this.invArg();return b},"~N");d(c$,"listBS",function(a){var b=new JU.Lst;b.addLast(JS.SV.newV(10,a));return b},"JU.BS");d(c$,"compareFloatData",function(a,b,c,e){var f=new JU.BS,d=this.vwr.ms.ac,j=this.vwr.ms.at,
g=0;this.vwr.autoCalculate(a);var k=1716520985==a;!k&&null==this.ptTemp&&(this.ptTemp=new JU.P3);for(;0<=--d;){g=!1;g=j[d];if(k){if(null==b||b.length<=d)continue;g=b[d]}else g=g.atomPropertyFloat(this.vwr,a,this.ptTemp);(g=this.compareFloat(c,g,e))&&f.set(d)}return f},"~N,~A,~N,~N");d(c$,"compareFloat",function(a,b,c){switch(a){case 269484435:return b<c;case 269484434:return b<=c;case 269484433:return b>=c;case 269484432:return b>c;case 269484436:return b==c;case 269484437:return b!=c&&!Float.isNaN(b)}return!1},
"~N,~N,~N");d(c$,"compareString",function(a,b,c){var e=new JU.BS,f=this.vwr.ms.at,d=this.vwr.ms.ac,j=269484438==b||1087373316==a&&this.vwr.getBoolean(603979823);for(j||(c=c.toLowerCase());0<=--d;){var g=f[d].atomPropertyString(this.vwr,a);j||(g=g.toLowerCase());this.compareStringValues(b,g,c)&&e.set(d)}return e},"~N,~N,~S");d(c$,"compareStringValues",function(a,b,c){switch(a){case 269484436:case 269484437:return JU.PT.isMatch(b,c,!0,!0)==(269484436==a);case 269484438:return JU.PT.isLike(b,c);default:this.invArg()}return!1},
"~N,~S,~S");d(c$,"compareInt",function(a,b,c){var e=2147483647,f=null,d=b,j=c,g=this.vwr.ms,k=g.at,n=g.ac,m=-1,l=0,q=-1,p=null,r=0,E;switch(a){case 1297090050:switch(d){case 269484433:case 269484432:m=2147483647}break;case 1095761923:try{switch(b){case 269484435:return JU.BSUtil.newBitSet2(0,c);case 269484434:return JU.BSUtil.newBitSet2(0,c+1);case 269484433:return JU.BSUtil.newBitSet2(c,n);case 269484432:return JU.BSUtil.newBitSet2(c+1,n);case 269484436:return c<n?JU.BSUtil.newBitSet2(c,c+1):new JU.BS;
default:return E=JU.BSUtil.setAll(n),0<=c&&E.clear(c),E}}catch(D){if(B(D,Exception))return new JU.BS;throw D;}}E=JU.BS.newN(n);for(var u=0;u<n;++u){var v=!1,y=k[u];switch(a){default:e=y.atomPropertyInt(a);break;case 1095761943:case 1095766024:return JU.BSUtil.copy(this.vwr.ms.getConformation(-1,c-1,!1,null));case 1297090050:f=y.atomSymmetry;if(null==f)continue;y.mi!=q&&(q=y.mi,p=g.getModelCellRange(q),r=g.getModelSymmetryCount(q));if(200<=j){if(null==p)continue;c=j%1E3;var t=N(j/1E3)-1;if(0>t)v=!0;
else if(0==r||0<=t&&!(v=f.get(t)))continue;d=1048587;e=0>t?y.getCellTranslation(c,p,r):y.getSymmetryTranslation(t,p,r)}else if(0<r){if(c>r&&269484435!=d&&269484434!=d)continue;if(269484437==d){0<c&&(c<=r&&!f.get(c))&&E.set(u);continue}f=JU.BSUtil.copy(f);f.clearBits(r,f.length())}switch(d){case 269484435:m=c-1;break;case 269484434:m=c;break;case 269484433:l=c-1;break;case 269484432:l=c;break;case 269484436:m=c;l=c-1;break;case 269484437:v=!f.get(c)}0>l&&(l=0);l<m&&(f=f.nextSetBit(l),0<=f&&f<m&&(v=
!0));if(!v||2147483647==e)b=1048587}switch(b){case 269484435:v=e<c;break;case 269484434:v=e<=c;break;case 269484433:v=e>=c;break;case 269484432:v=e>c;break;case 269484436:v=e==c;break;case 269484437:v=e!=c}v&&E.set(u)}return E},"~N,~N,~N");d(c$,"getBitsetPropertySelector",function(a,b){var c=this.getToken(a).tok;switch(c){case 32:case 64:case 96:case 192:case 128:case 160:case 1716520985:break;default:if(JS.T.tokAttrOr(c,1078984704,1141899264)||6==b)break;if(806354977!=c&&!JS.T.tokAttr(c,1073741824))break;
var e=this.paramAsStr(a);this.vwr.isFunction(e.toLowerCase())&&(c=135368713)}return JS.SV.newSV(269484241,c,this.paramAsStr(a))},"~N,~N");d(c$,"getBitsetPropertyFloat",function(a,b,c,e){a=this.getBitsetProperty(a,b,null,null,null,null,!1,2147483647,!1);if(!Float.isNaN(c))for(b=0;b<a.length;b++)a[b]<c&&(a[b]=NaN);if(!Float.isNaN(e))for(b=0;b<a.length;b++)a[b]>e&&(a[b]=NaN);return a},"JU.BS,~N,~N,~N");d(c$,"getBitsetProperty",function(a,b,c,e,f,d,j,g,k){var n=2147483647!=g,m=n||!q(f,JM.BondSet),l=b&
480,x=224==l,p=this.vwr.ms.ac,r=256==l?O(p,0):null,B=480==l||x;b&=-481;var D=null;0==b&&(b=m?1141899265:1678770178);var u=!1,v=!1,y=!1,t=!1;switch(b){case 1276117018:return this.vwr.getAuxiliaryInfoForAtoms(a).get("models");case 1146095626:case 1146095631:case 1146095627:case 1146095629:case 1146093584:case 1146093582:case 1766856708:case 1146095628:u=!0;break;case 1276252167:v=!0;D=M(-1,[null,null]);break;case 135368713:case 1276118018:break;default:y=JS.T.tokAttr(b,1095761920)&&!JS.T.tokAttr(b,
1112539136),t=!y&&JS.T.tokAttr(b,1087373312)}var w=u||!m?new JU.P3:null;if(B||t&&!n&&256!=l&&32!=l)l=1048579;var z=1048579==l?new JU.Lst:null,s=null,A=s=null,E=null,I=null,G=null,K=null;switch(b){case 1141899265:case 1678770178:if(this.chk)return a;s=1141899265==b?m?a:this.vwr.ms.getAtoms(1678770178,a):m?JM.BondSet.newBS(this.vwr.getBondsForSelectedAtoms(a),null):a;switch(l){case 32:g=s.nextSetBit(0);break;case 64:g=s.length()-1;break;case 192:case 128:case 160:return Float.$valueOf(NaN);default:return s}s.clearAll();
0<=g&&s.set(g);return s;case 1087373321:switch(l){case 0:case 1048579:return this.getCmdExt().getBitsetIdent(a,null,f,j,g,B)}return"";case 135368713:s=d[0];A=d[1];E=JU.BS.newN(p);I=JS.SV.newV(10,E);break;case 1112539150:case 1112539151:this.vwr.autoCalculate(b);break;case 1276118018:if(null==c&&null==e)return new JU.P3;break;case 1766856708:G=new JU.P3;break;case 1716520985:K=this.vwr.getDataFloat(d)}var H=j=d=0,F=0,L=0;switch(l){case 32:j=2147483647;H=3.4028235E38;break;case 64:j=-2147483648,H=-3.4028235E38}var P=
this.vwr.ms;f=v?4:u?3:t?2:y?1:0;if(m){G=null!=a;n?(m=g,p=g+1):G?(m=a.nextSetBit(0),p=Math.min(p,a.length())):m=0;this.chk&&(p=0);for(g=m;0<=g&&g<p;g=G?a.nextSetBit(g+1):g+1){d++;var R=P.at[g];switch(f){case 0:m=3.4028235E38;switch(b){case 135368713:E.set(g);m=JS.SV.fValue(this.getUserFunctionResult(s,A,I));E.clear(g);break;case 1716520985:m=null==K?0:K[g];break;case 1276118018:m=null!=e?JU.Measure.distanceToPlane(e,R):R.distance(c);break;default:m=R.atomPropertyFloat(this.vwr,b,this.ptTemp)}if(3.4028235E38==
m||Float.isNaN(m)&&1048579!=l){d--;continue}switch(l){case 32:m<H&&(H=m);break;case 64:m>H&&(H=m);break;case 256:r[g]=m;break;case 1048579:z.addLast(Float.$valueOf(m));break;case 160:case 192:L+=m*m;default:F+=m}break;case 1:m=0;switch(b){case 1095766024:case 1095761925:this.errorStr(45,JS.T.nameOf(b));break;default:m=R.atomPropertyInt(b)}switch(l){case 32:m<j&&(j=m);break;case 64:m>j&&(j=m);break;case 256:r[g]=m;break;case 1048579:z.addLast(Integer.$valueOf(m));break;case 160:case 192:L+=m*m;default:F+=
m}break;case 2:m=R.atomPropertyString(this.vwr,b);switch(l){case 256:r[g]=JU.PT.parseFloat(m);break;default:if(null==z)return m;z.addLast(m)}break;case 3:m=R.atomPropertyTuple(this.vwr,b,this.ptTemp);switch(l){case 256:r[g]=null==w?-1:null==m?0:m.length();break;case 1048579:z.addLast(null==m?Integer.$valueOf(-1):JU.P3.newP(m));break;default:null==m?d--:w.add(m)}break;case 4:switch(b){case 1276252167:if(D[0]=Integer.$valueOf(g),D[1]="",this.vwr.shm.getShapePropertyData(21,"info",D),null!=D[1]){if(null==
z)return D[1];z.addLast(D[1])}}}if(n)break}}else{m=(c=null==a)?0:a.nextSetBit(0);p=this.vwr.ms.bondCount;for(g=m;0<=g&&g<p;g=c?g+1:a.nextSetBit(g+1))switch(d++,e=P.bo[g],b){case 1141899267:m=e.atom1.distance(e.atom2);switch(l){case 32:m<H&&(H=m);break;case 64:m>H&&(H=m);break;case 1048579:z.addLast(Float.$valueOf(m));break;case 160:case 192:L+=m*m;default:F+=m}break;case 1146095626:switch(l){case 1048579:w.ave(e.atom1,e.atom2);z.addLast(JU.P3.newP(w));break;default:w.add(e.atom1),w.add(e.atom2),d++}break;
case 1766856708:JU.CU.colorPtFromInt(this.vwr.gdata.getColorArgbOrGray(e.colix),G);switch(l){case 1048579:z.addLast(JU.P3.newP(G));break;default:w.add(G)}break;default:this.errorStr(46,JS.T.nameOf(b))}}if(256==l)return r;if(1048579==l){if(k)return z;a=z.size();if((t||v)&&!B&&1==a)return z.get(0);if(x){r=O(a,0);for(g=a;0<=--g;)switch(b=z.get(g),f){case 0:r[g]=b.floatValue();break;case 1:r[g]=b.floatValue();break;case 2:r[g]=JU.PT.parseFloat(b);break;case 3:r[g]=null==b?-1:b.length()}return r}if(1087373320==
b){r=new JU.SB;for(g=0;g<a;g++)r.append(z.get(g));return r.toString()}r=Array(a);for(g=a;0<=--g;)b=z.get(g),r[g]=q(b,JU.P3)?JU.Escape.eP(b):""+z.get(g);return r}if(u)return 0==d?Integer.$valueOf(-1):JU.P3.new3(w.x/d,w.y/d,w.z/d);if(v)return new java.util.Hashtable;if(0==d||1==d&&192==l)return Float.$valueOf(NaN);if(y)switch(l){case 32:case 64:return Integer.$valueOf(j);case 160:case 192:break;case 128:return Integer.$valueOf(N(F));default:return F/d==N(F/d)?Integer.$valueOf(N(F/d)):Float.$valueOf(F/
d)}switch(l){case 32:case 64:F=H;break;case 128:break;case 160:F=L;break;case 192:F=Math.sqrt((L-F*F/d)/(d-1));break;default:F/=d}return Float.$valueOf(F)},"JU.BS,~N,JU.P3,JU.P4,~O,~O,~B,~N,~B");d(c$,"bitSetForModelFileNumber",function(a){var b=JU.BS.newN(this.vwr.ms.ac);if(this.chk)return b;var c=this.vwr.ms.mc,e=this.vwr.haveFileSet();1E6>a&&e&&(a*=1E6);if(0==a%1E6){e=this.vwr.ms.getModelNumberIndex(a+1,!1,!1);if(0>e)return b;a=0==a?c:this.vwr.ms.getModelNumberIndex(a+1000001,!1,!1);0>e&&(e=0);
0>a&&(a=c);this.vwr.ms.isTrajectory(e)&&(a=e+1);for(c=e;c<a;c++)b.or(this.vwr.getModelUndeletedAtomsBitSet(c))}else c=this.vwr.ms.getModelNumberIndex(a,!1,!0),0<=c&&b.or(this.vwr.getModelUndeletedAtomsBitSet(c));return b},"~N");d(c$,"getStringObjectAsVariable",function(a,b){if(null==a||0==a.length)return a;var c=JS.SV.unescapePointOrBitsetAsVariable(a);return q(c,String)&&null!=b?this.vwr.g.setUserVariable(b,JS.SV.newS(c)):c},"~S,~S");d(c$,"getAtomBits",function(a,b){return this.chk?new JU.BS:this.vwr.ms.getAtoms(a,
b)},"~N,~O");c$.getSeqCode=d(c$,"getSeqCode",function(a){return 2147483647==a.intValue?a.value.intValue():JM.Group.getSeqcodeFor(a.intValue," ")},"JS.T");d(c$,"setVariable",function(a,b,c,e){var f=null,d="",f=c.startsWith("property_"),j=c.equals("thrown_value"),d=1048577==this.tokAt(1)||269484048==this.tokAt(1),g=f?null:0==c.length?new JS.SV:this.getContextVariableAsVariable(c);if(e&&!d)switch(this.tokAt(2)){default:a=2;break;case 269484436:a=3;break;case 1073742195:case 269484096:if(61==this.st[0].intValue){a=
2;break}case 1048583:case 1048584:c=null}d=0;e=this.parameterExpression(a,b,c,!0,!0,-1,!1,null,null,e&&1==a);d=e.size();0==d&&this.invArg();if(this.chk||0==e.get(0).tok)return null;b=JS.SV.selectItemVar(JS.SV.newS("").setv(e.get(d-1)));if(1<d){c=2<d?e.get(1):null;g=e.get(0);e=!1;switch(g.tok){case 6:case 14:3<d&&this.invArg();g.mapPut(c.asString(),b);break;case 7:d>2+(null==c?0:1)&&this.invArg();null==c?c=g:g=JS.SV.selectItemVar(g);e=!0;break;case 4:if(2!=c.tok){g.value=JU.PT.rep(g.asString(),c.asString(),
b.asString());g.intValue=2147483647;break}case 11:case 12:2147483647==g.intValue?e=!0:g.setSelectedValue(g.intValue,c.asInt(),b);break;case 8:a=g.value=JU.P3.newP(g.value);f=b.asFloat();switch(JS.T.getTokFromName(c.asString())){case 1112541205:a.x=f;break;case 1112541206:a.y=f;break;case 1112541207:a.z=f}break;case 10:var d=c.asString(),k=(j=d.startsWith("property_"))?-1:JS.T.getTokFromName(d);0==k&&(this.iToken=a,this.error(56));f=JS.SV.getBitSet(g,!0);a=this.vwr.ms.ac;var n=f.cardinality();if(j){j=
7==b.tok?JS.SV.flistValue(b,b.getList().size()==n?n:a):b.asString();this.vwr.setData(d,M(-1,[d,j,JU.BSUtil.copy(f),Integer.$valueOf(-1)]),a,0,0,7==b.tok?2147483647:-2147483648,0);break}this.setBitsetProperty(f,k,b.asInt(),b.asFloat(),b)}e&&g.setSelectedValue(c.intValue,2147483647,b);return null}if(!f&&(null==g&&(j||!q(b.value,String)&&!(2==b.tok||q(b.value,Integer)||q(b.value,Float)||q(b.value,Boolean))))&&null!=c)(c.startsWith("_")||null==(g=this.vwr.g.getOrSetNewVariable(c,!0)))&&this.errorStr(22,
c);if(null!=g)return g.setv(b);g=JS.SV.oValue(b);if(f)return 7==b.tok&&(g=b.asString()),this.vwr.setData(c,M(-1,[c,""+g,JU.BSUtil.copy(this.vwr.bsA()),Integer.$valueOf(0)]),this.vwr.ms.ac,0,0,-2147483648,0),null;q(g,Boolean)?this.setBooleanProperty(c,g.booleanValue()):q(g,Integer)?this.setIntProperty(c,g.intValue()):q(g,Float)?this.setFloatProperty(c,g.floatValue()):q(g,String)&&this.setStringProperty(c,g);return b},"~N,~N,~S,~B");d(c$,"setBitsetProperty",function(a,b,c,e,f){if(!(this.chk||0==JU.BSUtil.cardinalityOf(a))){var d=
null,j=null,g=null,k,n=null;k=0;var m=JS.T.tokAttr(b,1087373312);if(7==f.tok&&(n=f.getList(),0==(k=n.size())))return;switch(b){case 1146095626:case 1146095627:case 1146095629:case 1146095631:switch(f.tok){case 8:this.vwr.setAtomCoords(a,b,f.value);break;case 7:this.theToken=f,this.vwr.setAtomCoords(a,b,this.getPointArray(-1,k,!0))}return;case 1766856708:var l=null;b="color";switch(f.tok){case 7:f=G(k,0);for(l=k;0<=--l;)b=n.get(l),k=JS.SV.ptValue(b),null!=k?f[l]=JU.CU.colorPtToFFRGB(k):2==b.tok?f[l]=
b.intValue:(f[l]=JU.CU.getArgbFromString(b.asString()),0==f[l]&&(f[l]=b.asInt())),0==f[l]&&this.errorStr2(50,"ARRAY",b.asString());l=f;b="colorValues";break;case 8:l=Integer.$valueOf(JU.CU.colorPtToFFRGB(f.value));break;case 4:l=f.value;break;default:l=Integer.$valueOf(JS.SV.iValue(f))}this.setAtomProp(b,l,a);return;case 1826248716:case 1288701959:7!=f.tok&&(j=JS.SV.sValue(f));break;case 1087375365:case 1095763978:this.clearDefinedVariableAtomSets(),m=!1}switch(f.tok){case 7:m?d=JS.SV.strListValue(f):
g=JS.SV.flistValue(f,k);break;case 4:null==j&&(d=JU.PT.getTokens(JS.SV.sValue(f)))}if(null!=d){k=d.length;if(!m){g=O(k,0);for(l=k;0<=--l;)g[l]=1087375365==b?JU.Elements.elementNumberFromSymbol(d[l],!1):JU.PT.parseFloat(d[l])}7!=f.tok&&1==k&&(m?j=d[0]:e=g[0],c=I(e),g=d=null)}this.vwr.setAtomProperty(a,b,c,e,j,g,d)}},"JU.BS,~N,~N,~N,JS.T");d(c$,"setStatement",function(a){this.st=a;this.slen=this.st.length;if(0==this.slen)return!0;var b,c;for(b=1;b<this.slen;b++){if(null==this.st[b])return this.slen=
b,!0;if(1060866==this.st[b].tok)break}if(b==this.slen)return b==this.slen;switch(this.st[0].tok){case 102436:case 135368713:case 1073741824:if(269484048==this.tokAt(1))return!0}a=Array(this.slen);a[0]=this.st[0];var e=!1,f=1;for(b=1;b<this.slen;b++)if(null!=this.st[b]){switch(c=this.getToken(b).tok){default:a[f]=this.st[b];break;case 1048577:case 1048578:e=1048577==c;a[f]=this.st[b];break;case 1060866:++b==this.slen&&this.invArg();var d,j=4==this.theToken.intValue,g;g=this.paramAsStr(b);var k=1048577==
this.tokAt(b),n=1==f&&this.st[0]===JS.T.tokenSetCmd;k?(b=this.parameterExpressionToken(++b),d=7==b.tok?b:JS.SV.oValue(b),b=this.iToken):(d=2==this.tokAt(b)?this.vwr.ms.getAtoms(1095763969,Integer.$valueOf(this.st[b].intValue)):1060866==this.tokAt(b)&&2==this.tokAt(b+1)?this.vwr.ms.getAtomsFromAtomNumberInFrame(this.st[++b].intValue):this.getParameter(g,0,!0),!e&&!n&&(k=!0));c=this.tokAt(0);j=(new Boolean(j|(JS.T.tokAttr(c,20480)||135271429==c))).valueOf();if(q(d,JS.SV))a[f]=d,e&&7==a[f].tok&&(j=JS.SV.getBitSet(d,
!0),a[f]=JS.SV.newV(10,null==j?this.getAtomBitSet(JS.SV.sValue(a[f])):j));else if(q(d,Boolean))a[f]=d.booleanValue()?JS.T.tokenOn:JS.T.tokenOff;else if(q(d,Integer))a[f]=JS.T.tv(2,d.intValue(),d);else if(q(d,Float))a[f]=JS.T.tv(3,JS.ScriptParam.getFloatEncodedInt(""+d),d);else if(q(d,String)){if(!j&&!e){if((1085443!=c||1<f&&537022465!=this.st[1].tok)&&JS.T.tokAttr(c,36864))d=this.getParameter(d,1073742190,!0);q(d,String)&&(d=this.getStringObjectAsVariable(d,null))}q(d,JS.SV)?a[f]=d:(g=d,e&&!j?a[f]=
JS.T.tokAttr(a[f-1].tok,269484288)?JS.T.o(4,g):JS.T.o(10,this.getAtomBitSet(g)):(c=n?JS.T.getTokFromName(g):k||j||0==g.length||0<=g.indexOf(".")||0<=g.indexOf(" ")||0<=g.indexOf("=")||0<=g.indexOf(";")||0<=g.indexOf("[")||0<=g.indexOf("{")?4:1073741824,a[f]=JS.T.o(c,d)))}else if(q(d,JU.BArray))a[f]=JS.SV.newV(15,d);else if(q(d,JU.BS))a[f]=JS.SV.newV(10,d);else if(q(d,JU.P3))a[f]=JS.SV.newV(8,d);else if(q(d,JU.P4))a[f]=JS.SV.newV(9,d);else if(q(d,JU.M34))a[f]=JS.SV.newV(q(d,JU.M4)?12:11,d);else if(q(d,
java.util.Map))a[f]=JS.SV.newV(6,d);else if(q(d,JS.ScriptContext))a[f]=JS.SV.newV(6,d.getFullMap());else if(q(d,JU.Lst)){k=d;j=null;for(g=0;g<k.size();g++){c=k.get(g);if(10!=c.tok){j=null;break}null==j&&(j=new JU.BS);j.or(c.value)}a[f]=null==j?JS.SV.getVariable(d):JS.T.o(10,j)}else d=this.getObjectCenter(g,-2147483648,-2147483648),null==d&&this.invArg(),a[f]=JS.T.o(8,d);n&&!JS.T.tokAttr(a[f].tok,536870912)&&this.invArg()}f++}this.st=a;for(b=f;b<this.st.length;b++)this.st[b]=null;this.slen=f;return!0},
"~A")});E("JS");H(null,"JS.ScriptFlowContext",["JS.ScriptCompiler"],function(){c$=F(function(){this.token=this.compiler=null;this.ptDefault=this.pt0=0;this.parent=this.$var=this.$function=null;this.ptCommand=this.ptLine=this.commandStart=this.lineStart=0;this.forceEndIf=!0;this.ident=null;K(this,arguments)},JS,"ScriptFlowContext");L(c$,function(a,b,c,e){this.compiler=a;this.token=b;this.ident=b.value;this.pt0=c;this.parent=e;this.lineStart=this.ptLine=this.compiler.lineCurrent;this.commandStart=this.ptCommand=
this.compiler.iCommand},"JS.ScriptCompiler,JS.ContextToken,~N,JS.ScriptFlowContext");d(c$,"getBreakableContext",function(a){for(var b=this;null!=b&&(!JS.ScriptCompiler.isBreakableContext(b.token.tok)||0<a--);)b=b.getParent();return b},"~N");d(c$,"checkForceEndIf",function(){var a=this.forceEndIf&&this.ptCommand<this.compiler.iCommand&&this.ptLine==this.compiler.lineCurrent;a&&(this.forceEndIf=!1);return a});d(c$,"setPt0",function(a,b){this.pt0=a;b&&(this.ptDefault=a);this.setLine();return a},"~N,~B");
d(c$,"setLine",function(){this.ptLine=this.compiler.lineCurrent;this.ptCommand=this.compiler.iCommand+1});k(c$,"toString",function(){return"ident "+this.ident+" line "+this.lineStart+" command "+this.commandStart});d(c$,"getParent",function(){return this.parent});d(c$,"path",function(){for(var a="",b=this;null!=b;)a=b.ident+"-"+a,b=b.parent;return"["+a+"]"});d(c$,"setFunction",function(a){this.$function=a},"JS.ScriptFunction")});E("JS");H(["J.api.JmolScriptFunction","java.util.Hashtable","JU.Lst"],
"JS.ScriptFunction",["JU.AU","$.SB","JS.SV","$.T"],function(){c$=F(function(){this.chpt0=this.pt0=0;this.cmdpt0=-1;this.name=this.typeName=null;this.nParameters=0;this.names=null;this.tok=0;this.script=this.lineNumbers=this.lineIndices=this.aatoken=this.returnValue=this.variables=null;K(this,arguments)},JS,"ScriptFunction",null,J.api.JmolScriptFunction);S(c$,function(){this.names=new JU.Lst;this.variables=new java.util.Hashtable});d(c$,"isVariable",function(a){return this.variables.containsKey(a)},
"~S");L(c$,function(){});L(c$,function(a,b){this.set(a,b);this.typeName=JS.T.nameOf(b)},"~S,~N");d(c$,"set",function(a,b){this.name=a;this.tok=b},"~S,~N");d(c$,"setVariables",function(a,b){for(var c=null==b?0:b.size(),e=this.names.size();0<=--e;){var d=this.names.get(e).toLowerCase(),h=e<this.nParameters&&e<c?b.get(e):null;null!=h&&7!=h.tok&&(h=JS.SV.newT(h));a.put(d,null==h?JS.SV.newS("").setName(d):h)}364558!=this.tok&&(a.put("_argcount",JS.SV.newI(null==b?0:b.size())),a.put("_arguments",null==
b?JS.SV.getVariableAI(G(-1,[])):JS.SV.getVariableList(b)));a.put("_retval",JS.SV.newI(364558==this.tok?2147483647:0))},"java.util.Map,JU.Lst");d(c$,"unsetVariables",function(a,b){var c=null==b?0:b.size(),e=this.names.size();if(!(0==c||0==e))for(var d=0;d<e&&d<c;d++){var h=b.get(d);if(7==h.tok){var j=a.get(this.names.get(d).toLowerCase());7==j.tok&&(h.value=j.value)}}},"java.util.Map,JU.Lst");d(c$,"addVariable",function(a,b){this.variables.put(a,a);this.names.addLast(a);b&&this.nParameters++},"~S,~B");
c$.setFunction=d(c$,"setFunction",function(a,b,c,e,d,h,j){var g=a.cmdpt0,k=a.chpt0,n=e-g;a.setScript(b.substring(k,c));b=a.aatoken=Array(n);a.lineIndices=JU.AU.newInt2(n);a.lineNumbers=V(n,0);c=d[g]-1;for(var m=0;m<n;m++)if(a.lineNumbers[m]=d[g+m]-c,a.lineIndices[m]=G(-1,[h[g+m][0]-k,h[g+m][1]-k]),b[m]=j.get(g+m),0<b[m].length){var l=b[m][0];JS.T.tokAttr(l.tok,102400)&&(l.intValue-=0>l.intValue?-g:g)}for(m=e;--m>=g;)j.remove(m),h[m][0]=h[m][1]=0},"JS.ScriptFunction,~S,~N,~N,~A,~A,JU.Lst");d(c$,"setScript",
function(a){this.script=a;null!=this.script&&(""!==this.script&&!this.script.endsWith("\n"))&&(this.script+="\n")},"~S");k(c$,"toString",function(){var a=(new JU.SB).append("/*\n * ").append(this.name).append("\n */\n").append(this.getSignature()).append("{\n");null!=this.script&&a.append(this.script);a.append("}\n");return a.toString()});k(c$,"getSignature",function(){for(var a=(new JU.SB).append(this.typeName).append(" ").append(this.name).append(" ("),b=0;b<this.nParameters;b++)0<b&&a.append(", "),
a.append(this.names.get(b));a.append(")");return a.toString()});k(c$,"geTokens",function(){return this.aatoken});k(c$,"getName",function(){return this.name});k(c$,"getTok",function(){return this.tok})});E("JS");H(["JS.ScriptException"],"JS.ScriptInterruption",null,function(){c$=Z(JS,"ScriptInterruption",JS.ScriptException);L(c$,function(a,b,c){T(this,JS.ScriptInterruption,[a,b,"!",-2147483648==c||a.vwr.autoExit]);b.equals("delay")&&a.delayScript(c)},"JS.ScriptEval,~S,~N")});E("JS");H(["J.api.JmolScriptManager",
"JU.Lst"],"JS.ScriptManager","java.io.BufferedReader java.lang.Boolean $.Thread javajs.api.ZInputStream JU.AU $.BS $.PT $.Rdr $.SB J.api.Interface JS.ScriptQueueThread JU.Elements $.Logger JV.FileManager".split(" "),function(){c$=F(function(){this.scriptQueue=this.commandWatcherThread=this.scriptQueueRunning=this.queueThreads=this.evalTemp=this.eval=this.vwr=null;this.useCommandWatcherThread=!1;this.scriptIndex=0;this.$isScriptQueued=!0;K(this,arguments)},JS,"ScriptManager",null,J.api.JmolScriptManager);
S(c$,function(){this.queueThreads=Array(2);this.scriptQueueRunning=$(2,!1);this.scriptQueue=new JU.Lst});k(c$,"getScriptQueue",function(){return this.scriptQueue});k(c$,"isScriptQueued",function(){return this.$isScriptQueued});L(c$,function(){});k(c$,"setViewer",function(a){this.vwr=a;this.eval=this.newScriptEvaluator();this.eval.setCompiler();return this.eval},"JV.Viewer");d(c$,"newScriptEvaluator",function(){return J.api.Interface.getInterface("JS.ScriptEval",this.vwr,"setOptions").setViewer(this.vwr)});
k(c$,"clear",function(a){a?(this.startCommandWatcher(!1),this.interruptQueueThreads()):this.evalTemp=null},"~B");k(c$,"addScript",function(a,b){return this.addScr("String",a,"",b)},"~S,~B");d(c$,"addScr",function(a,b,c,e){this.useCommandWatcherThread=!1;this.vwr.g.useScriptQueue||(this.clearQueue(),this.vwr.haltScriptExecution());null==this.commandWatcherThread&&this.useCommandWatcherThread&&this.startCommandWatcher(!0);if(null!=this.commandWatcherThread&&0<=b.indexOf("/*SPLIT*/")){b=JU.PT.split(b,
"/*SPLIT*/");for(var d=0;d<b.length;d++)this.addScr(a,b[d],c,e);return"split into "+b.length+" sections for processing"}var d=null!=this.commandWatcherThread&&(0>b.indexOf("javascript")||0<=b.indexOf("#javascript ")),h=new JU.Lst;h.addLast(b);h.addLast(c);h.addLast(a);h.addLast(e?Boolean.TRUE:Boolean.FALSE);h.addLast(Integer.$valueOf(d?-1:1));this.scriptQueue.addLast(h);this.startScriptQueue(!1);return"pending"},"~S,~S,~S,~B");k(c$,"clearQueue",function(){this.scriptQueue.clear()});k(c$,"waitForQueue",
function(){if(!this.vwr.isSingleThreaded)for(var a=0;this.isQueueProcessing();)try{Thread.sleep(100),0==a++%10&&JU.Logger.debugging&&JU.Logger.debug("...scriptManager waiting for queue: "+this.scriptQueue.size()+" thread="+Thread.currentThread().getName())}catch(b){if(!B(b,InterruptedException))throw b;}});k(c$,"isQueueProcessing",function(){return null!=this.queueThreads[0]||null!=this.queueThreads[1]});d(c$,"flushQueue",function(a){for(var b=this.scriptQueue.size();0<=--b;){var c=this.scriptQueue.get(b).get(0);
0==c.indexOf(a)&&(this.scriptQueue.remove(b),JU.Logger.debugging&&JU.Logger.debug(this.scriptQueue.size()+" scripts; removed: "+c))}},"~S");d(c$,"startScriptQueue",function(a){var b=a?1:0;this.scriptQueueRunning[b]||(this.scriptQueueRunning[b]=!0,this.queueThreads[b]=new JS.ScriptQueueThread(this,this.vwr,a,b),this.queueThreads[b].start())},"~B");k(c$,"getScriptItem",function(a,b){if(this.vwr.isSingleThreaded&&this.vwr.queueOnHold)return null;var c=this.scriptQueue.get(0),e=c.get(4).intValue();return(a?
0>e:b?0==e:1==e)?c:null},"~B,~B");k(c$,"startCommandWatcher",function(a){if(this.useCommandWatcherThread=a){if(null!=this.commandWatcherThread)return;this.commandWatcherThread=J.api.Interface.getInterface("JS.CommandWatcherThread",this.vwr,"setOptions");this.commandWatcherThread.setManager(this,this.vwr,null);this.commandWatcherThread.start()}else{if(null==this.commandWatcherThread)return;this.clearCommandWatcherThread()}JU.Logger.debugging&&JU.Logger.debug("command watcher "+(a?"started":"stopped")+
this.commandWatcherThread)},"~B");d(c$,"interruptQueueThreads",function(){for(var a=0;a<this.queueThreads.length;a++)null!=this.queueThreads[a]&&this.queueThreads[a].interrupt()});d(c$,"clearCommandWatcherThread",function(){null!=this.commandWatcherThread&&(this.commandWatcherThread.interrupt(),this.commandWatcherThread=null)});k(c$,"queueThreadFinished",function(a){this.queueThreads[a].interrupt();this.scriptQueueRunning[a]=!1;this.queueThreads[a]=null;this.vwr.setSyncDriver(4);this.vwr.queueOnHold=
!1},"~N");d(c$,"runScriptNow",function(){if(0<this.scriptQueue.size()){var a=this.getScriptItem(!0,!0);null!=a&&(a.set(4,Integer.$valueOf(0)),this.startScriptQueue(!0))}});k(c$,"evalFile",function(a){var b=a.indexOf(" -noqueue");return 0<=b?this.evalStringWaitStatusQueued("String","script "+JU.PT.esc(a.substring(0,b)),"",!1,!1):this.addScript("script "+JU.PT.esc(a),!1)},"~S");k(c$,"evalStringWaitStatusQueued",function(a,b,c,e,d){if(null==b)return null;var h=this.checkScriptExecution(b,!1);if(null!=
h)return h;var j=null==c||c.equals("output")?new JU.SB:null,h=this.vwr.sm.statusList;this.vwr.getStatusChanged(c);this.vwr.isSyntaxCheck&&JU.Logger.info("--checking script:\n"+this.eval.getScript()+"\n----\n");var g=0==b.indexOf(")");g&&(b=b.substring(1));g=g||!d;this.vwr.setErrorMessage(null,null);var k=this.eval.compileScriptString(b,e),n=this.eval.getErrorMessage(),m=this.eval.getErrorMessageUntranslated();this.vwr.setErrorMessage(n,m);this.vwr.refresh(7,"script complete");k?(this.$isScriptQueued=
d,e||this.vwr.setScriptStatus(null,b,-2-++this.scriptIndex,null),this.eval.evaluateCompiledScript(this.vwr.isSyntaxCheck,this.vwr.isSyntaxAndFileCheck,g,this.vwr.listCommands,j,d||!this.vwr.isSingleThreaded)):(this.vwr.scriptStatus(n),this.vwr.setScriptStatus("Jmol script terminated",n,1,m),this.eval.isStateScript()&&JS.ScriptManager.setStateScriptVersion(this.vwr,null));null!=n&&this.vwr.autoExit&&this.vwr.exitJmol();this.vwr.isSyntaxCheck&&(null==n?JU.Logger.info("--script check ok"):JU.Logger.error("--script check error\n"+
m),JU.Logger.info("(use 'exit' to stop checking)"));this.$isScriptQueued=!0;if(a.equalsIgnoreCase("String"))return m;if(null!=j)return null==m?j.toString():m;a=this.vwr.getProperty(a,"jmolStatus",c);this.vwr.getStatusChanged(h);return a},"~S,~S,~S,~B,~B");d(c$,"checkScriptExecution",function(a,b){var c=a;0<=c.indexOf("\u0001##")&&(c=c.substring(0,c.indexOf("\u0001##")));return this.checkResume(c)?"script processing resumed":this.checkStepping(c)?"script processing stepped":this.checkHalt(c,b)?"script execution halted":
null},"~S,~B");d(c$,"checkResume",function(a){return a.equalsIgnoreCase("resume")?(this.vwr.setScriptStatus("","execution resumed",0,null),this.eval.resumePausedExecution(),!0):!1},"~S");d(c$,"checkStepping",function(a){return a.equalsIgnoreCase("step")?(this.eval.stepPausedExecution(),!0):a.equalsIgnoreCase("?")?(this.vwr.scriptStatus(this.eval.getNextStatement()),!0):!1},"~S");k(c$,"evalStringQuietSync",function(a,b,c){c&&(this.vwr.sm.syncingScripts&&0>a.indexOf("#NOSYNC;"))&&this.vwr.syncScript(a+
" #NOSYNC;",null,0);this.eval.isPaused()&&"!"!=a.charAt(0)&&(a="!"+JU.PT.trim(a,"\n\r\t "));(c=0<a.length&&"!"==a.charAt(0))&&(a=a.substring(1));var e=this.checkScriptExecution(a,c);if(null!=e)return e;if(this.vwr.isScriptExecuting()&&(c||this.eval.isPaused()))return this.vwr.setInsertedCommand(a),0==a.indexOf("moveto ")&&this.flushQueue("moveto "),"!"+a;this.vwr.setInsertedCommand("");b&&(a+="\u0001## EDITOR_IGNORE ##");return this.addScript(a,b&&!this.vwr.getBoolean(603979880))},"~S,~B,~B");k(c$,
"checkHalt",function(a,b){if(a.equalsIgnoreCase("pause"))return this.vwr.pauseScriptExecution(),this.vwr.scriptEditorVisible&&this.vwr.setScriptStatus("","paused -- type RESUME to continue",0,null),!0;if(a.equalsIgnoreCase("menu"))return this.vwr.getProperty("DATA_API","getPopupMenu","\x00"),!0;a=a.toLowerCase();var c=!1,e=null;a.startsWith("exit")?(this.vwr.haltScriptExecution(),this.vwr.clearScriptQueue(),this.vwr.clearTimeouts(),c=a.equals(e="exit")):a.startsWith("quit")&&(this.vwr.haltScriptExecution(),
c=a.equals(e="quit"));if(null==e)return!1;b&&(this.vwr.clearThreads(),this.vwr.queueOnHold=!1);(b||this.vwr.g.waitForMoveTo)&&this.vwr.tm.stopMotion();JU.Logger.info(this.vwr.isSyntaxCheck?e+" -- stops script checking":(b?"!":"")+e+" received");this.vwr.isSyntaxCheck=!1;return c},"~S,~B");k(c$,"getAtomBitSetEval",function(a,b){null==a&&(a=this.evalTemp,null==a&&(a=this.evalTemp=this.newScriptEvaluator()));return this.vwr.slm.excludeAtoms(a.getAtomBitSet(b),!1)},"J.api.JmolScriptEvaluator,~O");k(c$,
"scriptCheckRet",function(a,b){if(0==a.indexOf(")")||0==a.indexOf("!"))a=a.substring(1);var c=this.newScriptEvaluator().checkScriptSilent(a);return b||null==c.errorMessage?c:c.errorMessage},"~S,~B");k(c$,"openFileAsync",function(a,b){var c=2==(b&2),e=4==(b&4),d=1==(b&1)&&!e,h=null;a=a.trim();a.startsWith("\t")&&(c=!0,a=a.substring(1));a=a.$replace("\\","/");var j=a.startsWith("cache://");this.vwr.isApplet&&0>a.indexOf("://")&&(a="file://"+(a.startsWith("/")?"":"/")+a);try{if(a.endsWith(".pse"))h=
(j?"":"zap;")+"load SYNC "+JU.PT.esc(a)+" filter 'DORESIZE'";else if(a.endsWith("jvxl"))h="isosurface ";else{if(!a.toLowerCase().endsWith(".spt")){var g=this.getDragDropFileTypeName(a);if(null==g){g=JV.FileManager.determineSurfaceTypeIs(this.vwr.getBufferedInputStream(a));null!=g&&(h="if (_filetype == 'Pdb') { isosurface sigma 1.0 within 2.0 {*} "+JU.PT.esc(a)+" mesh nofill }; else; { isosurface "+JU.PT.esc(a)+"}");return}if(g.equals("Jmol"))h="script ";else if(g.equals("Cube"))h="isosurface sign red blue ";
else if(!g.equals("spt")){h=this.vwr.g.defaultDropScript;h=JU.PT.rep(h,"%FILE",a);h=JU.PT.rep(h,"%ALLOWCARTOONS",""+d);if(h.toLowerCase().startsWith("zap")&&(j||e))h=h.substring(3);e&&(h=JU.PT.rep(h,"load SYNC","load append"));return}}!c&&this.vwr.scriptEditorVisible&&null==h?this.vwr.showEditor(M(-1,[a,this.vwr.getFileAsString3(a,!0,null)])):h=(null==h?"script ":h)+JU.PT.esc(a)}}finally{null!=h&&this.vwr.evalString(h)}},"~S,~N");d(c$,"getDragDropFileTypeName",function(a){var b=a.indexOf("::");if(0<=
b)return a.substring(0,b);if(a.startsWith("="))return"pdb";b=this.vwr.fm.getUnzippedReaderOrStreamFromName(a,null,!0,!1,!0,!0,null);return q(b,java.io.BufferedReader)?this.vwr.getModelAdapter().getFileTypeName(b):q(b,javajs.api.ZInputStream)?(a=this.getZipDirectoryAsString(a),0<=a.indexOf("JmolManifest")?"Jmol":this.vwr.getModelAdapter().getFileTypeName(JU.Rdr.getBR(a))):JU.AU.isAS(b)?b[0]:null},"~S");d(c$,"getZipDirectoryAsString",function(a){a=this.vwr.fm.getBufferedInputStreamOrErrorMessageFromName(a,
a,!1,!1,null,!1,!0);return this.vwr.getJzt().getZipDirectoryAsStringAndClose(a)},"~S");c$.setStateScriptVersion=d(c$,"setStateScriptVersion",function(a,b){if(null!=b){JS.ScriptManager.prevCovalentVersion=JU.Elements.bondingVersion;var c=JU.PT.getTokens(b.$replace("."," ").$replace("_"," "));try{var e=JU.PT.parseInt(c[0]),d=JU.PT.parseInt(c[1]),h=JU.PT.parseInt(c[2]);-2147483648==h&&(h=0);if(-2147483648!=e&&-2147483648!=d){var j=a.stateScriptVersionInt=1E4*e+100*d+h;a.setBooleanProperty("legacyautobonding",
110924>j);a.g.legacyHAddition=130117>j;a.setBooleanProperty("legacyjavafloat",140206>j||140300<=j&&140306>j);a.setIntProperty("bondingVersion",140111>j?0:1);return}}catch(g){if(!B(g,Exception))throw g;}}a.setIntProperty("bondingVersion",JS.ScriptManager.prevCovalentVersion);a.setBooleanProperty("legacyautobonding",!1);a.g.legacyHAddition=!1;a.stateScriptVersionInt=2147483647},"JV.Viewer,~S");k(c$,"addHydrogensInline",function(a,b,c){var e=this.vwr.ms.at[a.nextSetBit(0)].mi;if(e!=this.vwr.ms.mc-1)return new JU.BS;
a=this.vwr.getModelUndeletedAtomsBitSet(e);this.vwr.g.appendNew=!1;for(var d=this.vwr.ms.ac,h=this.vwr.ms.getAtomCountInModel(e),j=new JU.SB,g=0;g<b.size();g++){var k=b.get(g);j.append(";  connect 0 100 ").append("({"+d++ +"}) ").append("({"+k.i+"}) group;")}b=new JU.SB;b.appendI(c.length).append("\n").append("Viewer.AddHydrogens").append("#noautobond").append("\n");for(g=0;g<c.length;g++)b.append("H ").appendF(c[g].x).append(" ").appendF(c[g].y).append(" ").appendF(c[g].z).append(" - - - - ").appendI(++h).appendC("\n");
this.vwr.openStringInlineParamsAppend(b.toString(),null,!0);this.eval.runScriptBuffer(j.toString(),null);c=this.vwr.getModelUndeletedAtomsBitSet(e);c.andNot(a);return c},"JU.BS,JU.Lst,~A");P(c$,"prevCovalentVersion",1)});E("JS");H(null,"JS.ScriptMathProcessor","java.lang.Float java.util.Arrays $.Hashtable JU.A4 $.AU $.BS $.CU $.DF $.Lst $.M3 $.M4 $.P3 $.P4 $.PT $.Quat $.V3 JM.BondSet JS.SV $.T JU.BSUtil $.Escape $.Logger".split(" "),function(){c$=F(function(){this.asBitSet=this.wasX=!1;this.oPt=-1;
this.debugHigh=this.wasSyntaxCheck=this.chk=!1;this.ifStack=this.xStack=this.oStack=this.vwr=this.eval=null;this.xPt=this.ifPt=-1;this.braceCount=this.squareCount=this.parenCount=0;this.haveSpaceBeforeSquare=this.asVector=this.isArrayItem=!1;this.ptid=this.equalCount=0;this.pto=this.ptx=2147483647;this.isSpecialAssignment=!1;this.doSelections=!0;this.skipping=this.isAssignment=this.allowUnderflow=this.assignLeft=!1;this.lastAssignedString=null;K(this,arguments)},JS,"ScriptMathProcessor");S(c$,function(){this.oStack=
Array(8);this.xStack=Array(8);this.ifStack=aa(8,"\x00")});L(c$,function(a,b,c,e,d,h,j){this.eval=a;this.isAssignment=(this.isSpecialAssignment=this.assignLeft=b)||null!=j;this.vwr=a.vwr;this.debugHigh=a.debugHigh;this.chk=this.wasSyntaxCheck=a.chk;this.isArrayItem=c;this.asVector=e||c;this.asBitSet=d;this.allowUnderflow=h;this.wasX=c;this.debugHigh&&JU.Logger.debug("initialize RPN")},"JS.ScriptExpr,~B,~B,~B,~B,~B,~S");d(c$,"endAssignment",function(){return this.doSelections=this.assignLeft=!1});d(c$,
"getResult",function(){for(var a=!0;a&&0<=this.oPt&&null!=this.oStack[this.oPt];)a=this.operate();if(a){if(this.asVector){this.isAssignment&&(0<this.xPt&&0>this.oPt||0<=this.oPt&&null!=this.oStack[this.oPt])&&this.eval.invArg();for(var a=new JU.Lst,b=0;b<=this.xPt;b++)a.addLast(this.isSpecialAssignment?this.xStack[b]:JS.SV.selectItemVar(this.xStack[b]));null!=this.lastAssignedString&&(a.remove(0),a.add(0,this.lastAssignedString),this.lastAssignedString.intValue=this.xStack[0].intValue);return JS.SV.newV(135198,
a)}if(0==this.xPt){a=this.xStack[0];if(this.chk)return this.asBitSet?JS.SV.newV(10,new JU.BS):a;if(10==a.tok||7==a.tok||15==a.tok||4==a.tok||11==a.tok||12==a.tok)a=JS.SV.selectItemVar(a);this.asBitSet&&7==a.tok&&(a=JS.SV.newV(10,JS.SV.unEscapeBitSetArray(a.value,!1)));return a}}!this.allowUnderflow&&(0<=this.xPt||0<=this.oPt)&&this.eval.invArg();return null});d(c$,"putX",function(a){if(!this.skipping){if(this.wasX)try{this.addOp(JS.T.tokenComma)}catch(b){if(B(b,JS.ScriptException))System.out.println("Error adding comma");
else throw b;}++this.xPt==this.xStack.length&&(this.xStack=JU.AU.doubleLength(this.xStack));this.xStack[this.xPt]=a;this.ptx=++this.ptid;this.debugHigh&&JU.Logger.debug("\nputx= "+a+" ptx="+this.ptid)}},"JS.SV");d(c$,"putOp",function(a){++this.oPt>=this.oStack.length&&(this.oStack=JU.AU.doubleLength(this.oStack));this.oStack[this.oPt]=a;this.pto=++this.ptid;this.debugHigh&&JU.Logger.debug("\nputop="+a+" pto="+this.ptid)},"JS.T");d(c$,"putIf",function(a){++this.ifPt>=this.ifStack.length&&(this.ifStack=
JU.AU.doubleLength(this.ifStack));this.ifStack[this.ifPt]=a},"~S");d(c$,"addXCopy",function(a){switch(a.tok){case 2:a=JS.SV.newI(a.intValue);break;case 3:a=JS.SV.newV(3,a.value)}return this.addX(a)},"JS.SV");d(c$,"addX",function(a){this.putX(a);return this.wasX=!0},"JS.SV");d(c$,"addXObj",function(a){a=JS.SV.getVariable(a);if(null==a)return!1;this.putX(a);return this.wasX=!0},"~O");d(c$,"addXStr",function(a){this.putX(JS.SV.newS(a));return this.wasX=!0},"~S");d(c$,"addXBool",function(a){this.putX(JS.SV.getBoolean(a));
return this.wasX=!0},"~B");d(c$,"addXInt",function(a){this.putX(JS.SV.newI(a));return this.wasX=!0},"~N");d(c$,"addXList",function(a){this.putX(JS.SV.getVariableList(a));return this.wasX=!0},"JU.Lst");d(c$,"addXMap",function(a){this.putX(JS.SV.getVariableMap(a));return this.wasX=!0},"java.util.Map");d(c$,"addXM3",function(a){this.putX(JS.SV.newV(11,a));return this.wasX=!0},"JU.M3");d(c$,"addXM4",function(a){this.putX(JS.SV.newV(12,a));return this.wasX=!0},"JU.M4");d(c$,"addXFloat",function(a){if(Float.isNaN(a))return this.addXStr("NaN");
this.putX(JS.SV.newV(3,Float.$valueOf(a)));return this.wasX=!0},"~N");d(c$,"addXBs",function(a){this.putX(JS.SV.newV(10,a));return this.wasX=!0},"JU.BS");d(c$,"addXPt",function(a){this.putX(JS.SV.newV(8,a));return this.wasX=!0},"JU.P3");d(c$,"addXPt4",function(a){this.putX(JS.SV.newV(9,a));return this.wasX=!0},"JU.P4");d(c$,"addXNum",function(a){if(!q(a,JS.SV))switch(a.tok){case 3:if(this.wasX){var b=a.value.floatValue();if(0>b||0==b&&-Infinity==1/b){this.addOp(JS.T.tokenMinus);a=JS.SV.newV(3,Float.$valueOf(-b));
break}}a=JS.SV.newV(3,a.value);break;default:a=a.intValue,this.wasX&&0>a&&(this.addOp(JS.T.tokenMinus),a=-a),a=JS.SV.newI(a)}this.putX(a);return this.wasX=!0},"JS.T");d(c$,"addXAV",function(a){this.putX(JS.SV.getVariableAV(a));return this.wasX=!0},"~A");d(c$,"addXAD",function(a){this.putX(JS.SV.getVariableAD(a));return this.wasX=!0},"~A");d(c$,"addXAS",function(a){this.putX(JS.SV.getVariableAS(a));return this.wasX=!0},"~A");d(c$,"addXAI",function(a){this.putX(JS.SV.getVariableAI(a));return this.wasX=
!0},"~A");d(c$,"addXAII",function(a){this.putX(JS.SV.getVariableAII(a));return this.wasX=!0},"~A");d(c$,"addXAF",function(a){this.putX(JS.SV.getVariableAF(a));return this.wasX=!0},"~A");d(c$,"addXAFF",function(a){this.putX(JS.SV.getVariableAFF(a));return this.wasX=!0},"~A");c$.isOpFunc=d(c$,"isOpFunc",function(a){return null!=a&&(JS.T.tokAttr(a.tok,135266304)&&a!==JS.T.tokenArraySquare||269484241==a.tok&&JS.T.tokAttr(a.intValue,135266304))},"JS.T");d(c$,"addOp",function(a){return this.addOpAllowMath(a,
!0,0)},"JS.T");d(c$,"addOpAllowMath",function(a,b,c){this.debugHigh&&this.dumpStacks("adding "+a+" wasx="+this.wasX);var e=0<=this.oPt&&null!=this.oStack[this.oPt]?this.oStack[this.oPt].tok:0;if(this.skipping=0<=this.ifPt&&("F"==this.ifStack[this.ifPt]||"X"==this.ifStack[this.ifPt]))return this.checkSkip(a,e);var d=269484241==a.tok;if(d&&!this.wasX)return!1;var h=b&&JS.ScriptMathProcessor.isOpFunc(a);1<=this.oPt&&(269484048!=a.tok&&135266319==e)&&(e=this.oStack[--this.oPt].tok);var j=null,g=!1;switch(a.tok){case 1073742195:return this.haveSpaceBeforeSquare=
!0;case 269484080:if(!this.wasX)return!1;break;case 269484225:case 269484226:if(this.wasX&&-1==a.intValue&&this.addOp(JS.T.tokenComma))return this.addOp(a);break;case 269484097:break;case 269484049:if(!this.wasX&&1<=this.oPt&&269484048==e&&!JS.ScriptMathProcessor.isOpFunc(this.oStack[this.oPt-1]))return!1;break;case 269484192:this.wasX||(a=JS.SV.newV(269484224,"-"));break;case 32:case 64:case 96:case 128:case 160:case 192:case 480:e=0>this.oPt?0:e;if(!this.wasX||!(269484241==e||1678770178==e||1141899265==
e))return!1;this.oStack[this.oPt].intValue|=a.tok;return!0;case 269484096:g=!0;if(!this.wasX||this.haveSpaceBeforeSquare)this.squareCount++,a=j=JS.T.tokenArraySquare,this.haveSpaceBeforeSquare=!1;break;case 269484144:case 269484048:g=!0;default:if(h){h=1<=this.oPt&&269484048==e;if(d){if(269484048==c&&6==this.xStack[this.xPt].tok)return!1}else if(this.wasX&&!h)return!1;j=a;g=!0;break}if(this.wasX==g&&269484241!=e){if(!this.wasX||!b)return!1;if(this.addOp(JS.T.tokenComma))return this.addOp(a)}}for(;0<=
this.oPt&&269484066!=e&&(269484225!=a.tok&&269484226!=a.tok||this.wasX)&&(!g||269484241==e&&(269484241==a.tok||269484096==a.tok))&&JS.T.getPrecedence(e)>=JS.T.getPrecedence(a.tok)&&(269484224!=e||269484224!=a.tok);){if(269484049==a.tok&&269484048==e){0<=this.xPt&&(this.xStack[this.xPt]=JS.SV.selectItemVar(this.xStack[this.xPt]));this.wasX=!0;break}if(269484097==a.tok&&135266306==e)break;if(269484097==a.tok&&269484096==e){if(this.isArrayItem&&1==this.squareCount&&0==this.equalCount){this.wasX=!1;this.addX(JS.SV.newT(JS.T.tokenArrayOpen));
break}if(!this.doSelection())return!1;this.wasX=!0;break}if(!this.operate())return!1;e=0<=this.oPt&&null!=this.oStack[this.oPt]?this.oStack[this.oPt].tok:0}null!=j&&(this.wasX=!1,this.addX(JS.SV.newV(269484436,j)));switch(a.tok){case 269484048:this.parenCount++;this.wasX=!1;break;case 806354977:return a=this.getX().asBoolean(),269484066==e?this.ifPt--:this.putOp(JS.T.tokenColon),this.putIf(a?"T":"F"),this.skipping=!a,this.wasX=!1,!0;case 269484066:if(269484066!=e||0>this.ifPt)return!1;this.ifStack[this.ifPt]=
"X";this.wasX=!1;return this.skipping=!0;case 269484049:this.wasX=!0;if(0>=this.parenCount--)return!1;269484066==e&&(this.ifPt--,this.oPt--);this.oPt--;if(0>this.oPt)return!0;if(JS.ScriptMathProcessor.isOpFunc(this.oStack[this.oPt])&&(this.wasX=!1,!this.evaluateFunction(0)))return!1;this.skipping=0<=this.ifPt&&"X"==this.ifStack[this.ifPt];return!0;case 269484080:return this.wasX=!1,!0;case 269484096:this.squareCount++;this.wasX=!1;break;case 269484097:this.wasX=!0;if(0>=this.squareCount--||0>this.oPt||
!this.doSelections)return!this.doSelections;if(135266306==this.oStack[this.oPt].tok)return this.evaluateFunction(269484096);this.oPt--;return!0;case 269484241:this.wasX=!b||!JS.T.tokAttr(a.intValue,135266304);break;case 1048586:this.braceCount++;this.wasX=!1;break;case 1048590:if(0>=this.braceCount--)return!1;this.wasX=!1;break;case 269484128:case 269484112:if(!this.wasSyntaxCheck&&0>this.xPt)return!1;!this.wasSyntaxCheck&&(10!=this.xStack[this.xPt].tok&&7!=this.xStack[this.xPt].tok)&&(e=this.getX().asBoolean(),
this.addX(JS.SV.getBoolean(e)),e==(269484112==a.tok)&&(this.chk=!0,a=269484112==a.tok?JS.T.tokenOrTRUE:JS.T.tokenAndFALSE));this.wasX=!1;break;case 269484226:case 269484225:break;case 269484436:0==this.squareCount&&(this.doSelections=!0,this.assignLeft=!1,this.equalCount++);this.wasX=!1;break;default:this.wasX=!1}this.putOp(a);switch(a.tok){case 269484241:return 135368713==(a.intValue&-481)&&135368713!=a.intValue?this.evaluateFunction(0):!0;case 269484226:case 269484225:return this.wasX?this.operate():
!0}return!0},"JS.T,~B,~N");d(c$,"checkSkip",function(a,b){switch(a.tok){case 269484048:this.putOp(a);break;case 269484066:if(269484066!=b||"X"==this.ifStack[this.ifPt])break;this.ifStack[this.ifPt]="T";this.skipping=this.wasX=!1;break;case 269484049:if(269484048==b){this.oPt--;break}if(269484066!=b){this.putOp(a);break}this.wasX=!0;this.ifPt--;this.oPt-=2;this.skipping=!1}return!0},"JS.T,~N");d(c$,"doSelection",function(){if(0>this.xPt||0==this.xPt&&!this.isArrayItem)return!1;var a=this.xStack[this.xPt--],
b=this.xStack[this.xPt];if((7==b.tok||15==b.tok)&&2147483647!=b.intValue)if(4==a.tok||this.assignLeft&&1==this.squareCount)this.xStack[this.xPt]=b=JS.SV.selectItemTok(b,-2147483648);this.assignLeft&&4!=b.tok&&(this.lastAssignedString=null);switch(b.tok){case 6:case 14:this.doSelections?(a=b.mapValue(JS.SV.sValue(a)),this.xStack[this.xPt]=null==a?JS.SV.newS(""):a):(this.xPt++,this.putOp(null));break;default:b=JS.SV.newS(JS.SV.sValue(b));case 10:case 15:case 7:case 4:case 11:case 12:this.doSelections||
7==b.tok&&2147483647==b.intValue?(this.xStack[this.xPt]=JS.SV.selectItemTok(b,a.asInt()),this.assignLeft&&(4==b.tok&&1==this.squareCount)&&(this.lastAssignedString=b)):this.xPt++,this.doSelections||this.putOp(null)}return!0});d(c$,"dumpStacks",function(a){JU.Logger.debug("\n\n------------------\nRPN stacks: "+a+"\n");for(a=0;a<=this.xPt;a++)JU.Logger.debug("x["+a+"]: "+this.xStack[a]);JU.Logger.debug("\n");for(a=0;a<=this.oPt;a++)JU.Logger.debug("o["+a+"]: "+this.oStack[a]+" prec="+(null==this.oStack[a]?
"--":""+JS.T.getPrecedence(this.oStack[a].tok)));JU.Logger.debug(" ifStack = "+String.instantialize(this.ifStack).substring(0,this.ifPt+1))},"~S");d(c$,"getX",function(){0>this.xPt&&this.eval.error(13);var a=JS.SV.selectItemVar(this.xStack[this.xPt]);this.xStack[this.xPt--]=null;this.wasX=!1;return a});d(c$,"getXTok",function(){return 0>this.xPt?0:this.xStack[this.xPt].tok});d(c$,"evaluateFunction",function(a){var b=this.oStack[this.oPt--];0==a&&(a=269484241==b.tok?b.intValue&-481:b.tok);for(var c=
JS.T.getMaxMathParams(a),e=0,d=this.xPt;0<=d&&this.xStack[d--].value!==b;)e++;if(0<c&&e>c)return!1;for(c=Array(e);0<=--e;)c[e]=this.getX();this.xPt--;if(!this.chk)return this.eval.getMathExt().evaluate(this,b,c,a);269484241==b.tok&&this.xPt--;switch(a){case 135266310:case 1276252167:case 135267335:case 135267336:case 135266325:case 135402505:return this.addXBs(new JU.BS)}return this.addXBool(!0)},"~N");d(c$,"operate",function(){var a=this.oStack[this.oPt--],b;this.debugHigh&&this.dumpStacks("operate: "+
a);if(269484436==a.tok&&(this.isArrayItem&&0==this.squareCount&&1==this.equalCount&&0>this.oPt||0<=this.oPt&&null==this.oStack[this.oPt]))return!0;var c;switch(a.tok){case 269484225:case 269484226:if(0<=this.xPt&&this.xStack[this.xPt].canIncrement()){c=this.xStack[this.xPt--];this.wasX=!1;break}default:c=this.getX()}if(c===JS.T.tokenArrayOpen)return!1;switch(a.tok){case 269484225:case 269484226:b=c;if(!this.chk){this.ptx<this.pto&&(b=JS.SV.newS("").setv(c));if(!c.increment(269484226==a.tok?1:-1))return!1;
this.ptx>this.pto&&(b=JS.SV.newS("").setv(c))}this.wasX=!1;this.putX(b);return this.wasX=!0;case 269484224:switch(c.tok){case 2:return this.addXInt(-c.asInt());case 8:return a=JU.P3.newP(c.value),a.scale(-1),this.addXPt(a);case 9:return a=JU.P4.newPt(c.value),a.scale4(-1),this.addXPt4(a);case 11:return a=JU.M3.newM3(c.value),a.transpose(),this.addXM3(a);case 12:return a=JU.M4.newM4(c.value),a.transpose(),this.addXM4(a);case 10:return this.addXBs(JU.BSUtil.copyInvert(JS.SV.bsSelectVar(c),q(c.value,
JM.BondSet)?this.vwr.ms.bondCount:this.vwr.ms.ac))}return this.addXFloat(-c.asFloat());case 269484144:if(this.chk)return this.addXBool(!0);switch(c.tok){case 9:return this.addXPt4(JU.Quat.newP4(c.value).inv().toPoint4f());case 11:return a=JU.M3.newM3(c.value),a.invert(),this.addXM3(a);case 12:return this.addXM4(JU.M4.newM4(c.value).invert());case 10:return this.addXBs(JU.BSUtil.copyInvert(JS.SV.bsSelectVar(c),q(c.value,JM.BondSet)?this.vwr.ms.bondCount:this.vwr.ms.ac));default:return this.addXBool(!c.asBoolean())}case 269484241:b=
a.intValue&-481;if(this.chk)return this.addXObj(JS.SV.newS(""));if(this.vwr.allowArrayDotNotation)switch(c.tok){case 6:case 14:switch(b){case 1141899272:case 1141899282:case 1141899270:break;default:return a=c.mapValue(a.value),this.addXObj(null==a?JS.SV.newS(""):a)}}switch(b){case 1073741824:return 10==c.tok&&(this.chk?this.addXStr(""):this.getAllProperties(c,a.value));case 1141899272:return this.addXStr(JS.ScriptMathProcessor.typeOf(c));case 1141899282:return this.getKeys(c,480==(a.intValue&480));
case 1141899267:case 1276117012:case 1141899270:if(1141899267==b&&q(c.value,JM.BondSet))break;return this.addXInt(JS.SV.sizeOf(c));case 1141899268:switch(c.tok){case 11:case 12:a=JS.SV.sValue(c);a=JU.PT.rep(a.substring(1,a.length-1),"],[","]\n[");break;case 4:a=c.value;break;default:a=JS.SV.sValue(c)}a=JU.PT.rep(a,"\n\r","\n").$replace("\r","\n");return this.addXAS(JU.PT.split(a,"\n"));case 1766856708:switch(c.tok){case 4:case 7:return this.addXPt(JU.CU.colorPtFromString(JS.SV.sValue(c)));case 2:case 3:return this.addXPt(this.vwr.getColorPointForPropertyValue(JS.SV.fValue(c)));
case 8:return this.addXStr(JU.Escape.escapeColor(JU.CU.colorPtToFFRGB(c.value)))}break;case 1679429641:return this.chk?this.addXStr("x"):this.getBoundBox(c)}if(this.chk)return this.addXStr(JS.SV.sValue(c));if(4==c.tok&&(c=JS.SV.unescapePointOrBitsetAsVariable(JS.SV.sValue(c)),!q(c,JS.SV)))return!1;a.tok==c.tok&&(c=this.getX());return this.getPointOrBitsetOperation(a,c)}b=this.getX();if(this.chk){if(a===JS.T.tokenAndFALSE||a===JS.T.tokenOrTRUE)this.chk=!1;return this.addX(JS.SV.newT(b))}return this.binaryOp(a,
b,c)});d(c$,"getKeys",function(a,b){switch(a.tok){case 6:case 14:case 7:break;default:return this.addXStr("")}var c=new JU.Lst;this.getKeyList(a,b,c,"");c=c.toArray(Array(c.size()));java.util.Arrays.sort(c);return this.addXAS(c)},"JS.SV,~B");d(c$,"getKeyList",function(a,b,c,e){var d=a.getMap();if(null==d){if(b){var h,j;null!=(h=a.getList())&&0<(j=h.size())&&this.getKeyList(h.get(j-1),!0,c,e+j+".")}}else{var g;for(a=d.entrySet().iterator();a.hasNext()&&((g=a.next())||1);){d=g.getKey();if(b&&(0==d.length||
!JU.PT.isLetter(d.charAt(0))))e.endsWith(".")&&(e=e.substring(0,e.length-1)),d="["+JU.PT.esc(d)+"]";c.addLast(e+d);b&&this.getKeyList(g.getValue(),!0,c,e+d+".")}}},"JS.SV,~B,JU.Lst,~S");d(c$,"binaryOp",function(a,b,c){var e;switch(a.tok){case 269484160:case 269484128:switch(b.tok){case 10:switch(a=JS.SV.bsSelectVar(b),c.tok){case 2:var d=c.asInt();return this.addXBool(0>d?!1:a.get(d));case 10:return a=JU.BSUtil.copy(a),a.and(JS.SV.bsSelectVar(c)),this.addXBs(a)}}return this.addXBool(b.asBoolean()&&
c.asBoolean());case 269484112:switch(b.tok){case 10:a=JU.BSUtil.copy(JS.SV.bsSelectVar(b));switch(c.tok){case 10:return a.or(JS.SV.bsSelectVar(c)),this.addXBs(a);case 2:d=c.asInt();if(0>d)break;a.set(d);return this.addXBs(a);case 7:d=c.value;for(c=d.size();0<=--c;)b=d.get(c).asInt(),0<=b&&a.set(b);return this.addXBs(a)}break;case 7:return this.addX(JS.SV.concatList(b,c,!1))}return this.addXBool(b.asBoolean()||c.asBoolean());case 269484113:if(10==b.tok&&10==c.tok)return a=JU.BSUtil.copy(JS.SV.bsSelectVar(b)),
a.xor(JS.SV.bsSelectVar(c)),this.addXBs(a);a=b.asBoolean();b=c.asBoolean();return this.addXBool(a&&!b||b&&!a);case 269484114:return 10!=b.tok||10!=c.tok?!1:this.addXBs(JU.BSUtil.toggleInPlace(JU.BSUtil.copy(JS.SV.bsSelectVar(b)),JS.SV.bsSelectVar(c)));case 269484434:return this.addXBool(b.asFloat()<=c.asFloat());case 269484433:return this.addXBool(b.asFloat()>=c.asFloat());case 269484432:return this.addXBool(b.asFloat()>c.asFloat());case 269484435:return this.addXBool(b.asFloat()<c.asFloat());case 269484436:return this.addXBool(JS.SV.areEqual(b,
c));case 269484437:return this.addXBool(!JS.SV.areEqual(b,c));case 269484438:return this.addXBool(JS.SV.isLike(b,c));case 269484193:switch(b.tok){case 2:if(!this.isDecimal(c))return this.addXInt(b.intValue+c.asInt());break;case 4:return this.addX(JS.SV.newS(JS.SV.sValue(b)+JS.SV.sValue(c)));case 8:switch(a=JU.P3.newP(b.value),c.tok){case 8:return a.add(c.value),this.addXPt(a);case 9:return e=c.value,a.add(JU.P3.new3(e.x,e.y,e.z)),this.addXPt(a);default:return e=c.asFloat(),this.addXPt(JU.P3.new3(a.x+
e,a.y+e,a.z+e))}case 11:switch(c.tok){default:return this.addXFloat(b.asFloat()+c.asFloat());case 11:return b=JU.M3.newM3(b.value),b.add(c.value),this.addXM3(b);case 8:return this.addXM4(JS.ScriptMathProcessor.getMatrix4f(b.value,c.value))}case 9:switch(b=JU.Quat.newP4(b.value),c.tok){default:return this.addXPt4(b.add(c.asFloat()).toPoint4f());case 9:return this.addXPt4(b.mulQ(JU.Quat.newP4(c.value)).toPoint4f())}case 7:return this.addX(JS.SV.concatList(b,c,!0))}return this.addXFloat(b.asFloat()+
c.asFloat());case 269484192:switch(b.tok){case 2:if(!this.isDecimal(c))return this.addXInt(b.intValue-c.asInt());break;case 4:if(!this.isDecimal(c)&&!this.isDecimal(b))return this.addXInt(b.asInt()-c.asInt());break;case 6:return b=new java.util.Hashtable(b.value),b.remove(JS.SV.sValue(c)),this.addX(JS.SV.getVariableMap(b));case 11:if(11!=c.tok)break;b=JU.M3.newM3(b.value);b.sub(c.value);return this.addXM3(b);case 12:if(12!=c.tok)break;b=JU.M4.newM4(b.value);b.sub(c.value);return this.addXM4(b);case 8:a=
JU.P3.newP(b.value);switch(c.tok){case 8:return a.sub(c.value),this.addXPt(a);case 9:return e=c.value,a.sub(JU.P3.new3(e.x,e.y,e.z)),this.addXPt(a)}e=c.asFloat();return this.addXPt(JU.P3.new3(a.x-e,a.y-e,a.z-e));case 9:return b=JU.Quat.newP4(b.value),9==c.tok?(c=JU.Quat.newP4(c.value),this.addXPt4(c.mulQ(b.inv()).toPoint4f())):this.addXPt4(b.add(-c.asFloat()).toPoint4f())}return this.addXFloat(b.asFloat()-c.asFloat());case 1276117508:if(8==b.tok&&8==c.tok)return a=b.value,c=c.value,this.addXPt(JU.P3.new3(a.x*
c.x,a.y*c.y,a.z*c.z));case 269484209:switch(b.tok){case 2:return this.isDecimal(c)?this.addXFloat(b.intValue*c.asFloat()):this.addXInt(b.intValue*c.asInt());case 4:return this.isDecimal(c)||this.isDecimal(b)?this.addXFloat(b.asFloat()*c.asFloat()):this.addXInt(b.asInt()*c.asInt())}a=11==b.tok?this.ptValue(c):11==c.tok?this.ptValue(b):null;e=12==b.tok?this.planeValue(c):12==c.tok?this.planeValue(b):null;switch(c.tok){case 11:if(null!=a)return c=JU.M3.newM3(c.value),c.transpose(),c.rotate(a),7==b.tok?
this.addX(JS.SV.getVariableAF(O(-1,[a.x,a.y,a.z]))):this.addXPt(a);if(null!=e)return this.addXPt4(JU.Quat.newP4(e).mulQ(JU.Quat.newM(c.value)).toPoint4f());break;case 12:if(null!=e)return c=JU.M4.newM4(c.value),c.transpose(),c.transform(e),7==b.tok?this.addX(JS.SV.getVariableAF(O(-1,[e.x,e.y,e.z,e.w]))):this.addXPt4(e)}switch(b.tok){case 11:d=b.value;if(null!=a)return d.rotate(a),7==c.tok?this.addX(JS.SV.getVariableAF(O(-1,[a.x,a.y,a.z]))):this.addXPt(a);switch(c.tok){case 11:return b=JU.M3.newM3(c.value),
b.mul2(d,b),this.addXM3(b);case 9:return this.addXM3(JU.Quat.newM(d).mulQ(JU.Quat.newP4(c.value)).getMatrix())}e=c.asFloat();c=new JU.A4;c.setM(d);c.angle*=e;return this.addXM3((new JU.M3).setAA(c));case 12:return b=b.value,null!=a?(b.rotTrans(a),7==c.tok?this.addX(JS.SV.getVariableAF(O(-1,[a.x,a.y,a.z]))):this.addXPt(a)):null!=e?(b.transform(e),7==c.tok?this.addX(JS.SV.getVariableAF(O(-1,[e.x,e.y,e.z,e.w]))):this.addXPt4(e)):12==c.tok?(c=JU.M4.newM4(c.value),c.mul2(b,c),this.addXM4(c)):this.addXStr("NaN");
case 8:a=JU.P3.newP(b.value);switch(c.tok){case 8:return c=c.value,this.addXFloat(a.x*c.x+a.y*c.y+a.z*c.z)}e=c.asFloat();return this.addXPt(JU.P3.new3(a.x*e,a.y*e,a.z*e));case 9:return 9==c.tok?this.addXPt4(JU.Quat.newP4(b.value).mulQ(JU.Quat.newP4(c.value)).toPoint4f()):this.addXPt4(JU.Quat.newP4(b.value).mul(c.asFloat()).toPoint4f())}return this.addXFloat(b.asFloat()*c.asFloat());case 269484208:switch(b.tok){case 2:if(2==c.tok&&0!=c.intValue)return this.addXInt(N(b.intValue/c.intValue));d=this.isDecimal(c)?
0:c.asInt();if(0!=d)return this.addXInt(N(b.intValue/d));break;case 4:if(!this.isDecimal(b)&&!this.isDecimal(c)&&0!=(e=c.asInt()))return this.addXInt(N(b.asInt()/e));break;case 8:return a=JU.P3.newP(b.value),this.addXPt(0==(d=c.asFloat())?JU.P3.new3(NaN,NaN,NaN):JU.P3.new3(a.x/d,a.y/d,a.z/d));case 9:return this.addXPt4(9==c.tok?JU.Quat.newP4(b.value).div(JU.Quat.newP4(c.value)).toPoint4f():0==(d=c.asFloat())?JU.P4.new4(NaN,NaN,NaN,NaN):JU.Quat.newP4(b.value).mul(1/d).toPoint4f())}return this.addXFloat(b.asFloat()/
c.asFloat());case 269484211:return e=c.asFloat(),9==b.tok?0==e?this.addXPt4(JU.P4.new4(NaN,NaN,NaN,NaN)):9==c.tok?this.addXPt4(JU.Quat.newP4(b.value).divLeft(JU.Quat.newP4(c.value)).toPoint4f()):this.addXPt4(JU.Quat.newP4(b.value).mul(1/e).toPoint4f()):this.addXInt(0==e?0:N(Math.floor(b.asFloat()/c.asFloat())));case 269484227:return e=Math.pow(b.asFloat(),c.asFloat()),2==b.tok&&2==c.tok?this.addXInt(I(e)):this.addXFloat(e);case 269484210:a=null;d=c.asInt();switch(b.tok){case 3:e=b.asFloat();if(0==
d)return this.addXInt(Math.round(e));a=JU.DF.formatDecimal(e,d);return this.addXStr(a);case 4:return a=b.value,this.addXStr(0==d?JU.PT.trim(a,"\n\t "):9999==d?a.toUpperCase():-9999==d?a.toLowerCase():0<d?JU.PT.formatS(a,d,d,!1,!1):JU.PT.formatS(a,d,d-1,!0,!1));case 7:b=JS.SV.strListValue(b);for(c=0;c<b.length;c++)b[c]=0==d?b[c].trim():0<d?JU.PT.formatS(b[c],d,d,!0,!1):JU.PT.formatS(a,-d,d,!1,!1);return this.addXAS(b);case 8:return a=JU.P3.newP(b.value),this.vwr.toUnitCell(a,JU.P3.new3(d,d,d)),this.addXPt(a);
case 9:e=b.value;if(8==c.tok)return this.addXPt(JU.Quat.newP4(e).transform2(c.value,new JU.P3));if(9==c.tok)return c=JU.P4.newPt(c.value),JU.Quat.newP4(e).getThetaDirected(c),this.addXPt4(c);0==d&&4==c.tok&&(a=" "+c.value.toString().trim().toLowerCase()+":",c=" w:0 x:1 y:2 z:3 normal:4 eulerzxz:5 eulerzyz:6 vector:-1 theta:-2 axisx:-3 axisy:-4 axisz:-5 axisangle:-6 matrix:-9".indexOf(a),d=0<=c?JU.PT.parseInt(" w:0 x:1 y:2 z:3 normal:4 eulerzxz:5 eulerzyz:6 vector:-1 theta:-2 axisx:-3 axisy:-4 axisz:-5 axisangle:-6 matrix:-9".substring(c+
a.length)):-99);switch(d){case 0:return this.addXFloat(e.w);case 1:return this.addXFloat(e.x);case 2:return this.addXFloat(e.y);case 3:return this.addXFloat(e.z)}c=JU.Quat.newP4(e);switch(d){case 4:return this.addXPt(JU.P3.newP(c.getNormal()));case 5:return this.addXAF(c.getEulerZXZ());case 6:return this.addXAF(c.getEulerZYZ());case -1:return this.addXPt(JU.P3.newP(c.getVector(-1)));case -2:return this.addXFloat(c.getTheta());case -3:return this.addXPt(JU.P3.newP(c.getVector(0)));case -4:return this.addXPt(JU.P3.newP(c.getVector(1)));
case -5:return this.addXPt(JU.P3.newP(c.getVector(2)));case -6:return c=c.toAxisAngle4f(),this.addXPt4(JU.P4.new4(c.x,c.y,c.z,180*c.angle/3.141592653589793));case -9:return this.addXM3(c.getMatrix());default:return this.addXStr("NaN")}case 12:switch(b=b.value,d){case 1:return d=new JU.M3,b.getRotationScale(d),this.addXM3(d);case 2:return c=new JU.V3,b.getTranslation(c),this.addXPt(JU.P3.newP(c));default:return!1}case 10:return this.addXBs(JS.SV.bsSelectRange(b,d))}return this.addXInt(0==d?0:b.asInt()%
d)}return!0},"JS.T,JS.SV,JS.SV");d(c$,"isDecimal",function(a){var b;return 3==a.tok||4==a.tok&&(0<=(b=JS.SV.sValue(a).trim()).indexOf(".")||0<b.indexOf("+")||0<b.lastIndexOf("-"))},"JS.SV");d(c$,"ptValue",function(a){switch(a.tok){case 8:return a.value;case 10:var b=JS.SV.bsSelectVar(a);if(0>b.nextSetBit(0))break;return this.eval.getBitsetProperty(b,1146095626,null,null,a.value,null,!1,2147483647,!1);case 4:a=JU.Escape.uP(JS.SV.sValue(a));if(q(a,JU.P3))return a;break;case 7:if(a=JU.Escape.uP("{"+
JS.SV.sValue(a).$replace("]"," ").$replace("["," ")+"}"),q(a,JU.P3))return a}return null},"JS.SV");d(c$,"planeValue",function(a){switch(a.tok){case 9:return a.value;case 7:case 4:return a=JU.Escape.uP(JS.SV.sValue(a)),q(a,JU.P4)?a:null}return null},"JS.T");c$.typeOf=d(c$,"typeOf",function(a){var b=null==a?0:a.tok;switch(b){case 1048589:case 1048588:return"boolean";case 10:return q(a.value,JM.BondSet)?"bondset":"bitset";case 2:case 3:case 8:case 9:case 4:case 7:case 6:case 15:case 11:case 12:case 14:return JS.T.astrType[b]}return"?"},
"JS.SV");d(c$,"getAllProperties",function(a,b){var c=JS.SV.bsSelectVar(a),e,d=c.cardinality();if(0==d||!b.endsWith("?")||null==(e=JS.T.getAtomPropertiesLike(b.substring(0,b.length-1))))return this.addXStr("");for(var h=new java.util.Hashtable,d=1==d?c.nextSetBit(0):2147483647,j=e.size();0<=--j;){var g=e.get(j),k=g.tok;switch(k){case 1095766024:case 1095761925:continue;default:2147483647==d&&(k|=480),h.put(g.value,JS.SV.getVariable(this.eval.getBitsetProperty(c,k,null,null,null,null,!1,d,!0)))}}return this.addXMap(h)},
"JS.SV,~S");c$.getMatrix4f=d(c$,"getMatrix4f",function(a,b){return JU.M4.newMV(a,null==b?new JU.V3:JU.V3.newV(b))},"JU.M3,JU.T3");d(c$,"getBoundBox",function(a){if(10!=a.tok)return!1;a=this.vwr.ms.getBoxInfo(JS.SV.bsSelectVar(a),1).getBoundBoxPoints(!0);for(var b=new JU.Lst,c=0;4>c;c++)b.addLast(a[c]);return this.addXList(b)},"JS.SV");d(c$,"getPointOrBitsetOperation",function(a,b){switch(b.tok){case 7:switch(a.intValue){case 32:case 64:case 96:case 192:case 128:case 160:case 1141899283:return this.addXObj(this.eval.getMathExt().getMinMax(b.getList(),
a.intValue));case 1276383249:return this.addX(b.pushPop(null,null));case 1276117011:case 1141899269:return this.addX(b.sortOrReverse(1141899269==a.intValue?-2147483648:1))}for(var c=Array(b.getList().size()),e=0;e<c.length;e++){var d=JS.SV.unescapePointOrBitsetAsVariable(b.getList().get(e));if(!q(d,JS.SV)||!this.getPointOrBitsetOperation(a,d))return!1;c[e]=this.xStack[this.xPt--]}return this.addXAV(c);case 8:switch(a.intValue){case 1112541185:case 1112541205:return this.addXFloat(b.value.x);case 1112541186:case 1112541206:return this.addXFloat(b.value.y);
case 1112541187:case 1112541207:return this.addXFloat(b.value.z);case 1146095626:return c=JU.P3.newP(b.value),this.vwr.toCartesian(c,!0),this.addXPt(c);case 1112541188:case 1112541189:case 1112541190:case 1146095627:return c=JU.P3.newP(b.value),this.vwr.toFractional(c,!0),1146095627==a.intValue?this.addXPt(c):this.addXFloat(1112541188==a.intValue?c.x:1112541189==a.intValue?c.y:c.z);case 1112541191:case 1112541192:case 1112541193:case 1146095629:return c=JU.P3.newP(b.value),this.vwr.toFractional(c,
!1),1146095629==a.intValue?this.addXPt(c):this.addXFloat(1112541191==a.intValue?c.x:1112541192==a.intValue?c.y:c.z);case 1112539153:case 1112539154:case 1112539155:case 1146093582:return c=JU.P3.newP(b.value),this.vwr.toUnitCell(c,null),this.vwr.toFractional(c,!1),1146093582==a.intValue?this.addXPt(c):this.addXFloat(1112539153==a.intValue?c.x:1112539154==a.intValue?c.y:c.z)}break;case 9:switch(a.intValue){case 1112541185:case 1112541205:return this.addXFloat(b.value.x);case 1112541186:case 1112541206:return this.addXFloat(b.value.y);
case 1112541187:case 1112541207:return this.addXFloat(b.value.z);case 1141899281:return this.addXFloat(b.value.w)}break;case 10:if(1678770178==a.intValue&&q(b.value,JM.BondSet))return this.addX(b);c=JS.SV.bsSelectVar(b);1==c.cardinality()&&0==(a.intValue&480)&&(a.intValue|=32);e=this.eval.getBitsetProperty(c,a.intValue,null,null,b.value,a.value,!1,b.index,!0);return 1678770178!=a.intValue?this.addXObj(e):this.addX(JS.SV.newV(10,JM.BondSet.newBS(e,this.vwr.ms.getAtomIndices(c))))}return!1},"JS.T,JS.SV");
P(c$,"qMods"," w:0 x:1 y:2 z:3 normal:4 eulerzxz:5 eulerzyz:6 vector:-1 theta:-2 axisx:-3 axisy:-4 axisz:-5 axisangle:-6 matrix:-9")});E("JS");H(["J.api.JmolParallelProcessor","JS.ScriptFunction","JU.Lst"],"JS.ScriptParallelProcessor","java.util.concurrent.Executors JS.ScriptProcess $.ScriptProcessRunnable JU.Logger JV.ShapeManager $.Viewer".split(" "),function(){c$=F(function(){this.vwr=null;this.counter=0;this.processes=this.lock=this.error=null;K(this,arguments)},JS,"ScriptParallelProcessor",JS.ScriptFunction,
J.api.JmolParallelProcessor);S(c$,function(){this.lock=new X._O;this.processes=new JU.Lst});L(c$,function(){T(this,JS.ScriptParallelProcessor,[])});k(c$,"getExecutor",function(){return java.util.concurrent.Executors.newCachedThreadPool()});k(c$,"runAllProcesses",function(a){if(0!=this.processes.size()){this.vwr=a;var b=!a.isParallel()&&a.setParallel(!0),c=new JU.Lst;this.error=null;this.counter=0;JU.Logger.debugging&&JU.Logger.debug("running "+this.processes.size()+" processes on "+JV.Viewer.nProcessors+
" processesors inParallel="+b);this.counter=this.processes.size();for(var e=this.processes.size();0<=--e;){var d=null;b&&(d=new JV.ShapeManager(a),d.setParallel(),c.addLast(d));this.runProcess(this.processes.remove(0),d)}for(;0<this.counter;){try{this.lock.wait()}catch(h){if(!B(h,InterruptedException))throw h;}if(null!=this.error)throw this.error;}this.mergeResults(c);a.setParallel(!1)}},"JV.Viewer");d(c$,"mergeResults",function(a){try{for(var b=0;b<a.size();b++)this.vwr.shm.mergeShapes(a.get(b).getShapes())}catch(c){throw B(c,
Error),c;}finally{this.counter=-1}},"JU.Lst");d(c$,"clearShapeManager",function(a){this.error=a;this.notifyAll()},"Error");k(c$,"addProcess",function(a,b){this.processes.addLast(new JS.ScriptProcess(a,b))},"~S,JS.ScriptContext");d(c$,"runProcess",function(a,b){var c=new JS.ScriptProcessRunnable(this,a,this.lock,b),e=null==b?null:this.vwr.getExecutor();null!=e?e.execute(c):c.run()},"JS.ScriptProcess,JV.ShapeManager");d(c$,"eval",function(a,b){this.vwr.evalParallel(a,b)},"JS.ScriptContext,JV.ShapeManager")});
E("JS");H(["JS.ScriptError"],"JS.ScriptParam","java.lang.Float java.util.Hashtable JU.CU $.Lst $.Measure $.P3 $.P4 $.PT $.Quat $.SB $.V3 JM.TickInfo JS.SV $.T JU.Edge $.Escape $.Logger".split(" "),function(){c$=F(function(){this.thisContext=this.contextVariables=null;this.theTok=this.iToken=0;this.st=this.theToken=null;this.slen=0;this.fractionalPoint=null;this.isBondSet=this.coordinatesAreFractional=!1;this.expressionResult=null;K(this,arguments)},JS,"ScriptParam",JS.ScriptError);d(c$,"getToken",
function(a){this.checkToken(a)||this.error(13);this.theToken=this.st[a];this.theTok=this.theToken.tok;return this.theToken},"~N");d(c$,"tokAt",function(a){return a<this.slen&&null!=this.st[a]?this.st[a].tok:0},"~N");d(c$,"checkToken",function(a){return(this.iToken=a)<this.slen},"~N");d(c$,"getParameter",function(a,b,c){var e=this.getContextVariableAsVariable(a);if(null==e)if(c)e=this.vwr.getP(a);else if(null==(e=this.vwr.getPOrNull(a)))return null;switch(b){case 1073742190:return JS.SV.getVariable(e);
case 4:if(!q(e,JU.Lst))break;a=e;b=new JU.SB;for(c=0;c<a.size();c++)b.append(a.get(c).asString()).appendC("\n");return b.toString()}return JS.SV.oValue(e)},"~S,~N,~B");d(c$,"getStringParameter",function(a,b){var c=this.getContextVariableAsVariable(a);if(null!=c)return c.asString();c=""+this.vwr.getP(a);return 0==c.length&&b?a:c},"~S,~B");d(c$,"getContextVariableAsVariable",function(a){if(a.equals("expressionBegin"))return null;if(a.equalsIgnoreCase("_caller")){for(a=this.thisContext;null!=a;){if(a.isFunction)return JS.SV.newV(6,
a.vars);a=a.parentContext}return JS.SV.newV(6,new java.util.Hashtable)}a=a.toLowerCase();return null!=this.contextVariables&&this.contextVariables.containsKey(a)?this.contextVariables.get(a):null==this.thisContext?null:this.thisContext.getVariable(a)},"~S");d(c$,"paramAsStr",function(a){this.getToken(a);null==this.theToken&&this.error(13);return JS.SV.sValue(this.theToken)},"~N");d(c$,"stringParameter",function(a){(!this.checkToken(a)||4!=this.getToken(a).tok)&&this.error(41);return this.theToken.value},
"~N");d(c$,"stringParameterSet",function(a){switch(this.tokAt(a)){case 4:var b=this.stringParameter(a);return b.startsWith('["')&&(a=this.vwr.evaluateExpression(b),q(a,String))?JU.PT.split(a,"\n"):M(-1,[b]);case 1073742195:a+=2;break;case 269484096:++a;break;case 7:return JS.SV.strListValue(this.getToken(a));default:this.invArg()}for(var c,b=new JU.Lst;269484097!=(c=this.tokAt(a));){switch(c){case 269484080:break;case 4:b.addLast(this.stringParameter(a));break;default:case 0:this.invArg()}a++}this.iToken=
a;a=b.size();c=Array(a);for(var e=0;e<a;e++)c[e]=b.get(e);return c},"~N");d(c$,"objectNameParameter",function(a){this.checkToken(a)||this.error(37);return this.paramAsStr(a)},"~N");d(c$,"atomCenterOrCoordinateParameter",function(a){switch(this.getToken(a).tok){case 10:case 1048577:a=this.atomExpression(this.st,a,0,!0,!1,!1,!0);if(null!=a&&1==a.cardinality())return this.vwr.ms.at[a.nextSetBit(0)];if(null!=a)return this.vwr.ms.getAtomSetCenter(a);if(q(this.expressionResult,JU.P3))return this.expressionResult;
this.invArg();break;case 1048586:case 8:return this.getPoint3f(a,!0)}this.invArg();return null},"~N");d(c$,"isCenterParameter",function(a){a=this.tokAt(a);return 1048582==a||1048586==a||1048577==a||8==a||10==a},"~N");d(c$,"centerParameter",function(a){return this.centerParameterForModel(a,-2147483648)},"~N");d(c$,"centerParameterForModel",function(a,b){var c=null;this.expressionResult=null;if(this.checkToken(a))switch(this.getToken(a).tok){case 1048582:var e=this.objectNameParameter(++a),c=-2147483648;
269484096==this.tokAt(a+1)&&(c=this.parameterExpressionList(-a-1,-1,!0).get(0).asInt(),269484097!=this.getToken(--this.iToken).tok&&this.invArg());if(this.chk)return new JU.P3;if(1048583==this.tokAt(a+1)&&(1141899267==this.tokAt(a+2)||1141899270==this.tokAt(a+2)))c=2147483647,this.iToken=a+2;null==(c=this.getObjectCenter(e,c,b))&&this.errorStr(12,e);break;case 10:case 1048577:case 1048586:case 8:c=this.atomCenterOrCoordinateParameter(a)}null==c&&this.error(11);return c},"~N,~N");d(c$,"planeParameter",
function(a){var b=new JU.V3,c=new JU.V3,e=null;135266319==this.tokAt(a)&&a++;var d=269484192==this.tokAt(a);d&&a++;if(a<this.slen)switch(this.getToken(a).tok){case 9:e=JU.P4.newPt(this.theToken.value);break;case 1048582:e=this.objectNameParameter(++a);if(this.chk)return new JU.P4;e=this.getPlaneForObject(e,b);break;case 1112541205:(!this.checkToken(++a)||269484436!=this.getToken(a++).tok)&&this.evalError("x=?",null);e=JU.P4.new4(1,0,0,-this.floatParameter(a));break;case 1112541206:(!this.checkToken(++a)||
269484436!=this.getToken(a++).tok)&&this.evalError("y=?",null);e=JU.P4.new4(0,1,0,-this.floatParameter(a));break;case 1112541207:(!this.checkToken(++a)||269484436!=this.getToken(a++).tok)&&this.evalError("z=?",null);e=JU.P4.new4(0,0,1,-this.floatParameter(a));break;case 1073741824:case 4:b=this.paramAsStr(a);b.equalsIgnoreCase("xy")?e=JU.P4.new4(0,0,d?-1:1,0):b.equalsIgnoreCase("xz")?e=JU.P4.new4(0,d?-1:1,0,0):b.equalsIgnoreCase("yz")&&(e=JU.P4.new4(d?-1:1,0,0,0));break;case 1048586:case 8:if(!this.isPoint3f(a)){e=
this.getPoint4f(a);break}case 10:case 1048577:a=this.atomCenterOrCoordinateParameter(a);269484080==this.getToken(++this.iToken).tok&&++this.iToken;var h=this.atomCenterOrCoordinateParameter(this.iToken);269484080==this.getToken(++this.iToken).tok&&++this.iToken;if(this.isFloatParameter(this.iToken)){var j=this.floatParameter(this.iToken),e=new JU.P4;b.sub2(h,a);b.scale(2*j);JU.Measure.getBisectingPlane(a,b,c,b,e)}else e=this.atomCenterOrCoordinateParameter(this.iToken),c=new JU.V3,b=JU.Measure.getNormalThroughPoints(a,
h,e,c,b),e=new JU.P4,e.set4(c.x,c.y,c.z,b);!this.chk&&JU.Logger.debugging&&JU.Logger.debug(" defined plane: "+e)}null==e&&this.errorMore(38,"{a b c d}",'"xy" "xz" "yz" "x=..." "y=..." "z=..."',"$xxxxx");d&&e.scale4(-1);return e},"~N");d(c$,"hklParameter",function(a){!this.chk&&null==this.vwr.getCurrentUnitCell()&&this.error(33);a=this.getPointOrPlane(a,!1,!0,!1,!0,3,3);a=this.getHklPlane(a);null==a&&this.error(3);!this.chk&&JU.Logger.debugging&&JU.Logger.debug("defined plane: "+a);return a},"~N");
d(c$,"getHklPlane",function(a){var b=JU.P3.new3(0==a.x?1:1/a.x,0,0),c=JU.P3.new3(0,0==a.y?1:1/a.y,0),e=JU.P3.new3(0,0,0==a.z?1:1/a.z);if(0==a.x&&0==a.y&&0==a.z)return null;0==a.x&&0==a.y?(b.set(1,0,e.z),c.set(0,1,e.z)):0==a.y&&0==a.z?(c.set(b.x,0,1),e.set(b.x,1,0)):0==a.z&&0==a.x?(e.set(0,c.y,1),b.set(1,c.y,0)):0==a.x?b.set(1,c.y,0):0==a.y?c.set(0,1,e.z):0==a.z&&e.set(b.x,0,1);this.vwr.toCartesian(b,!1);this.vwr.toCartesian(c,!1);this.vwr.toCartesian(e,!1);return JU.Measure.getPlaneThroughPoints(b,
c,e,new JU.V3,new JU.V3,new JU.P4)},"JU.P3");d(c$,"getPointOrPlane",function(a,b,c,e,d,h,j){var g=O(6,0),k=0;this.coordinatesAreFractional=d;if(8==this.tokAt(a)){if(3>=h&&3<=j)return this.getToken(a).value;this.invArg()}if(9==this.tokAt(a)){if(4>=h&&4<=j)return this.getToken(a).value;this.invArg()}d=1;a:for(;a<this.st.length;a++)switch(this.getToken(a).tok){case 1048586:case 269484080:case 269484128:case 269484160:break;case 1048590:break a;case 269484192:d=-1;break;case 1048615:6==k&&this.invArg();
g[k++]=this.theToken.intValue;d=-1;break;case 2:case 1048614:6==k&&this.invArg();g[k++]=this.theToken.intValue*d;d=1;break;case 269484208:case 1048610:c||this.invArg();269484208==this.theTok&&this.getToken(++a);k--;(0>k||b)&&this.invArg();q(this.theToken.value,Integer)||2==this.theTok?g[k++]/=2147483647==this.theToken.intValue?this.theToken.value.intValue():this.theToken.intValue:q(this.theToken.value,Float)&&(g[k++]/=this.theToken.value.floatValue());this.coordinatesAreFractional=!0;break;case 1048609:case 1073741824:g[k++]=
NaN;break;case 3:case 1048611:b&&this.invArg();6==k&&this.invArg();g[k++]=this.theToken.value.floatValue();break;default:this.invArg()}(k<h||k>j)&&this.invArg();return 3==k?(b=JU.P3.new3(g[0],g[1],g[2]),this.coordinatesAreFractional&&e&&(this.fractionalPoint=JU.P3.newP(b),this.chk||this.vwr.toCartesian(b,!1)),b):4==k?(this.coordinatesAreFractional&&this.invArg(),JU.P4.new4(g[0],g[1],g[2],g[3])):g},"~N,~B,~B,~B,~B,~N,~N");d(c$,"isPoint3f",function(a){var b;if((b=8==this.tokAt(a))||9==this.tokAt(a)||
this.isFloatParameter(a+1)&&this.isFloatParameter(a+2)&&this.isFloatParameter(a+3)&&this.isFloatParameter(a+4))return b;this.ignoreError=!0;var c=this.iToken;b=!0;try{this.getPoint3f(a,!0)}catch(e){if(B(e,Exception))b=!1;else throw e;}this.ignoreError=!1;this.iToken=c;return b},"~N");d(c$,"getPoint3f",function(a,b){return this.getPointOrPlane(a,!1,b,!0,!1,3,3)},"~N,~B");d(c$,"getPoint4f",function(a){return this.getPointOrPlane(a,!1,!1,!1,!1,4,4)},"~N");d(c$,"xypParameter",function(a){var b=this.tokAt(a);
1073742195==b&&(b=this.tokAt(++a));if(269484096!=b||!this.isFloatParameter(++a))return null;b=new JU.P3;b.x=this.floatParameter(a);269484080==this.tokAt(++a)&&a++;if(!this.isFloatParameter(a))return null;b.y=this.floatParameter(a);var c=269484210==this.tokAt(++a);c&&++a;if(269484097!=this.tokAt(a))return null;this.iToken=a;b.z=3.4028235E38*(c?-1:1);return b},"~N");d(c$,"optParameterAsString",function(a){return a>=this.slen?"":this.paramAsStr(a)},"~N");d(c$,"intParameter",function(a){if(this.checkToken(a)&&
2==this.getToken(a).tok)return this.theToken.intValue;this.error(20);return 0},"~N");d(c$,"isFloatParameter",function(a){switch(this.tokAt(a)){case 2:case 3:return!0}return!1},"~N");d(c$,"floatParameter",function(a){if(this.checkToken(a))switch(this.getToken(a),this.theTok){case 1048615:return-this.theToken.intValue;case 1048614:case 2:return this.theToken.intValue;case 1048611:case 3:return this.theToken.value.floatValue()}this.error(34);return 0},"~N");d(c$,"getPointArray",function(a,b,c){2147483647==
b&&(b=-1);var e=0>b?null:Array(b),d=0>b?new JU.Lst:null,h=0>a?7:this.getToken(a++).tok;switch(h){case 7:d=this.theToken.getList();0<=b&&d.size()!=b&&this.invArg();b=d.size();null==e&&(e=Array(b));for(h=0;h<b;h++)null==(e[h]=JS.SV.ptValue(d.get(h)))&&!c&&this.invArg();return e;case 1073742195:h=this.tokAt(a++)}269484096!=h&&this.invArg();for(c=0;269484097!=h&&0!=h;)switch(h=this.getToken(a).tok,h){case 0:case 269484097:break;case 269484080:a++;break;default:if(0<=b&&c==b){h=0;break}a=this.centerParameter(a);
null==e?d.addLast(a):e[c]=a;c++;a=this.iToken+1}269484097!=h&&this.invArg();null==e&&(e=d.toArray(Array(d.size())));0<b&&null==e[b-1]&&this.invArg();return e},"~N,~N,~B");d(c$,"listParameter",function(a,b,c){var e=new JU.Lst,d=this.tokAt(a);1073742195==d&&(d=this.tokAt(++a));var h=1048586==d,j=269484096==d;(h||j)&&a++;for(var g=0;g<c;){d=this.tokAt(a);if(h&&1048590==d||j&&269484097==d)break;switch(d){case 269484080:case 1048586:case 1048590:case 4:break;case 9:d=this.getPoint4f(a);e.addLast(Float.$valueOf(d.x));
e.addLast(Float.$valueOf(d.y));e.addLast(Float.$valueOf(d.z));e.addLast(Float.$valueOf(d.w));g+=4;break;default:if(this.isCenterParameter(a)){d=this.centerParameter(a);a=this.iToken;e.addLast(Float.$valueOf(d.x));e.addLast(Float.$valueOf(d.y));e.addLast(Float.$valueOf(d.z));g+=3;break}e.addLast(Float.$valueOf(this.floatParameter(a)));g++}a+=g==c&&j&&1048590==this.tokAt(a+1)?2:1}(h&&1048590!=this.tokAt(a++)||j&&269484097!=this.tokAt(a++)||g<b||g>c)&&this.invArg();this.iToken=a-1;return e},"~N,~N,~N");
d(c$,"floatParameterSet",function(a,b,c){var d=null,f=null,h=0,h=null;this.iToken=a;switch(this.tokAt(a)){case 4:h=JS.SV.sValue(this.st[a]);h=JU.PT.replaceWithCharacter(h,"{},[]\"'"," ");f=JU.PT.parseFloatArray(h);h=f.length;break;case 7:f=JS.SV.flistValue(this.st[a],0);h=f.length;break;default:d=this.listParameter(a,b,c),h=d.size()}(h<b||h>c)&&this.invArg();if(null==f){f=O(h,0);for(a=0;a<h;a++)f[a]=d.get(a).floatValue()}return f},"~N,~N,~N");d(c$,"isArrayParameter",function(a){switch(this.tokAt(a)){case 7:case 11:case 12:case 1073742195:case 269484096:return!0}return!1},
"~N");d(c$,"getQuaternionParameter",function(a){switch(this.tokAt(a)){case 7:a=this.getToken(a).getList();var b=null;(0==a.size()||null==(b=JS.SV.pt4Value(a.get(0))))&&this.invArg();return JU.Quat.newP4(b);case 1073741863:return this.chk?null:JU.Quat.newP4(JU.Escape.uP(this.vwr.getOrientationText(1073741863,null)));default:return JU.Quat.newP4(this.getPoint4f(a))}},"~N");d(c$,"checkLast",function(a){return this.checkLength(a+1)-1},"~N");d(c$,"checkLength",function(a){if(0<=a)return this.checkLengthErrorPt(a,
0);this.slen>-a&&(this.iToken=-a,this.bad());return this.slen},"~N");d(c$,"checkLengthErrorPt",function(a,b){this.slen!=a&&(this.iToken=0<b?b:this.slen,0<b?this.invArg():this.bad());return this.slen},"~N,~N");d(c$,"checkLength23",function(){this.iToken=this.slen;2!=this.slen&&3!=this.slen&&this.bad();return this.slen});d(c$,"checkLength34",function(){this.iToken=this.slen;3!=this.slen&&4!=this.slen&&this.bad();return this.slen});d(c$,"modelNumberParameter",function(a){var b=0,c=!1;switch(this.tokAt(a)){case 2:c=
!0;case 3:b=this.getToken(a).intValue;break;case 4:b=JS.ScriptParam.getFloatEncodedInt(this.stringParameter(a));break;default:this.invArg()}return this.vwr.ms.getModelNumberIndex(b,c,!0)},"~N");d(c$,"getMadParameter",function(){var a=1;switch(this.getToken(1).tok){case 1073742072:this.restrictSelected(!1,!1);case 1048589:break;case 1048588:a=0;break;case 2:a=8*this.intParameterRange(1,0,750);break;case 3:a=this.floatParameterRange(1,-3,3);a=Float.isNaN(a)?2147483647:N(Math.floor(2E3*a));0>a&&(this.restrictSelected(!1,
!1),a=-a);break;default:this.error(6)}return a});d(c$,"intParameterRange",function(a,b,c){a=this.intParameter(a);return a<b||a>c?(this.integerOutOfRange(b,c),2147483647):a},"~N,~N,~N");d(c$,"floatParameterRange",function(a,b,c){a=this.floatParameter(a);return a<b||a>c?(this.numberOutOfRange(b,c),NaN):a},"~N,~N,~N");d(c$,"getPointVector",function(a,b){switch(a.tok){case 10:return this.vwr.ms.getAtomPointVector(a.value);case 7:for(var c=new JU.Lst,d,f=a.getList(),h=0;h<f.size();h++)if(null!=(d=JS.SV.ptValue(f.get(h))))c.addLast(d);
else return null;return c}return 0<b?this.vwr.ms.getAtomPointVector(this.atomExpressionAt(b)):null},"JS.T,~N");c$.getFloatEncodedInt=d(c$,"getFloatEncodedInt",function(a){var b=a.indexOf(".");if(1>b||"-"==a.charAt(0)||a.endsWith(".")||a.contains(".0"))return 2147483647;var c=0,d=0;if(0<b)try{c=Integer.parseInt(a.substring(0,b)),0>c&&(c=-c)}catch(f){if(B(f,NumberFormatException))c=-1;else throw f;}if(b<a.length-1)try{d=Integer.parseInt(a.substring(b+1))}catch(h){if(!B(h,NumberFormatException))throw h;
}c=1E6*c+d;return 0>c?2147483647:c},"~S");c$.getPartialBondOrderFromFloatEncodedInt=d(c$,"getPartialBondOrderFromFloatEncodedInt",function(a){return(N(a/1E6)%6<<5)+(a%1E6&31)},"~N");c$.getBondOrderFromString=d(c$,"getBondOrderFromString",function(a){return 0>a.indexOf(" ")?JU.Edge.getBondOrderFromString(a):0==a.toLowerCase().indexOf("partial ")?JS.ScriptParam.getPartialBondOrderFromString(a.substring(8).trim()):131071},"~S");c$.getPartialBondOrderFromString=d(c$,"getPartialBondOrderFromString",function(a){return JS.ScriptParam.getPartialBondOrderFromFloatEncodedInt(JS.ScriptParam.getFloatEncodedInt(a))},
"~S");d(c$,"isColorParam",function(a){var b=this.tokAt(a);return 570425378==b||1073742195==b||269484096==b||7==b||8==b||this.isPoint3f(a)||(4==b||JS.T.tokAttr(b,1073741824))&&0!=JU.CU.getArgbFromString(this.st[a].value)},"~N");d(c$,"getArgbParam",function(a){return this.getArgbParamOrNone(a,!1)},"~N");d(c$,"getArgbParamLast",function(a,b){var c=this.getArgbParamOrNone(a,b);this.checkLast(this.iToken);return c},"~N,~B");d(c$,"getArgbParamOrNone",function(a,b){var c=null;if(this.checkToken(a))switch(this.getToken(a).tok){default:if(!JS.T.tokAttr(this.theTok,
1073741824))break;case 570425378:case 4:return JU.CU.getArgbFromString(this.paramAsStr(a));case 1073742195:return this.getColorTriad(a+2);case 269484096:return this.getColorTriad(++a);case 7:var d=JS.SV.flistValue(this.theToken,3);null!=d&&3!=d.length&&(c=JU.P3.new3(d[0],d[1],d[2]));break;case 8:c=this.theToken.value;break;case 1048586:c=this.getPoint3f(a,!1);break;case 1048587:if(b)return 0}null==c&&this.error(8);return JU.CU.colorPtToFFRGB(c)},"~N,~B");d(c$,"getColorTriad",function(a){var b=O(3,
0),c=0,d="";this.getToken(a);var f=null,h=0;a:switch(this.theTok){case 2:case 1048614:case 3:for(;a<this.slen;a++){switch(this.getToken(a).tok){case 269484080:continue;case 1073741824:(1!=c||0!=b[0])&&this.error(4);d="0"+this.paramAsStr(a);break a;case 3:2<c&&this.error(4);h=this.floatParameter(a);break;case 2:2<c&&this.error(4);h=this.theToken.intValue;break;case 1048614:2<c&&this.error(4);h=this.theToken.value.intValue()%256;break;case 269484097:3!=c&&this.error(4);--a;f=JU.P3.new3(b[0],b[1],b[2]);
break a;default:this.error(4)}b[c++]=h}this.error(4);break;case 8:f=this.theToken.value;break;case 1073741824:d=this.paramAsStr(a);break;default:this.error(4)}269484097!=this.getToken(++a).tok&&this.error(4);if(null!=f)return JU.CU.colorPtToFFRGB(f);0==(c=JU.CU.getArgbFromString("["+d+"]"))&&this.error(4);return c},"~N");d(c$,"tickParamAsStr",function(a,b,c,d){this.iToken=a-1;if(1073742164!=this.tokAt(a))return null;var f=" ";switch(this.tokAt(a+1)){case 1112541205:case 1112541206:case 1112541207:f=
this.paramAsStr(++a).toLowerCase();break;case 1073741824:this.invArg()}if(1048587==this.tokAt(++a))return b=new JM.TickInfo(null),b.type=f,this.iToken=a,b;b=new JM.TickInfo(this.getPointOrPlane(a,!1,!0,!1,!1,3,3));if(this.coordinatesAreFractional||1614417948==this.tokAt(this.iToken+1))b.scale=JU.P3.new3(NaN,NaN,NaN),c=!1;1614417948==this.tokAt(this.iToken+1)&&this.iToken++;b.type=f;1288701959==this.tokAt(this.iToken+1)&&(b.tickLabelFormats=this.stringParameterSet(this.iToken+2));if(!c)return b;1073742138==
this.tokAt(this.iToken+1)&&(this.isFloatParameter(this.iToken+2)?(a=this.floatParameter(this.iToken+2),b.scale=JU.P3.new3(a,a,a)):b.scale=this.getPoint3f(this.iToken+2,!0));d&&1073741942==this.tokAt(this.iToken+1)&&(b.first=this.floatParameter(this.iToken+2));return b},"~N,~B,~B,~B");d(c$,"setBooleanProperty",function(a,b){this.chk||this.vwr.setBooleanProperty(a,b)},"~S,~B");d(c$,"setIntProperty",function(a,b){this.chk||this.vwr.setIntProperty(a,b);return!0},"~S,~N");d(c$,"setFloatProperty",function(a,
b){this.chk||this.vwr.setFloatProperty(a,b);return!0},"~S,~N");d(c$,"setStringProperty",function(a,b){this.chk||this.vwr.setStringProperty(a,b)},"~S,~S")});E("JS");c$=F(function(){this.context=this.processName=null;K(this,arguments)},JS,"ScriptProcess");L(c$,function(a,b){this.processName=a;this.context=b},"~S,JS.ScriptContext");E("JS");H(null,"JS.ScriptProcessRunnable",["JU.Logger"],function(){c$=F(function(){this.shapeManager=this.processLock=this.process=this.parallelProcessor=null;K(this,arguments)},
JS,"ScriptProcessRunnable",null,Runnable);L(c$,function(a,b,c,d){this.parallelProcessor=a;this.process=b;this.processLock=c;this.shapeManager=d},"JS.ScriptParallelProcessor,JS.ScriptProcess,~O,JV.ShapeManager");k(c$,"run",function(){try{null==this.parallelProcessor.error&&(JU.Logger.debugging&&JU.Logger.debug("Running process "+this.process.processName+" "+this.process.context.pc+" - "+(this.process.context.pcEnd-1)),this.parallelProcessor.eval(this.process.context,this.shapeManager),JU.Logger.debugging&&
JU.Logger.debug("Process "+this.process.processName+" complete"))}catch(a){if(B(a,Exception))364558!=this.parallelProcessor.getTok()&&a.printStackTrace();else if(B(a,Error))this.parallelProcessor.clearShapeManager(a);else throw a;}finally{--this.parallelProcessor.counter,this.processLock.notifyAll()}})});E("JS");H(["J.thread.JmolThread"],"JS.ScriptQueueThread",["JU.Logger"],function(){c$=F(function(){this.scriptManager=null;this.startedByCommandThread=!1;this.pt=0;K(this,arguments)},JS,"ScriptQueueThread",
J.thread.JmolThread);L(c$,function(a,b,c,d){this.setViewer(b,"QueueThread"+d);this.scriptManager=a;this.vwr=b;this.startedByCommandThread=c;this.pt=d},"J.api.JmolScriptManager,JV.Viewer,~B,~N");k(c$,"run1",function(a){for(;;)switch(a){case -1:a=0;break;case 0:if(this.stopped||0==this.scriptManager.getScriptQueue().size()){a=-2;break}if(!this.runNextScript()&&!this.runSleep(100,0))return;break;case -2:this.scriptManager.queueThreadFinished(this.pt);return}},"~N");d(c$,"runNextScript",function(){var a=
this.scriptManager.getScriptQueue();if(0==a.size())return!1;var b=this.scriptManager.getScriptItem(!1,this.startedByCommandThread);if(null==b)return!1;var c=b.get(0),d=b.get(1),f=b.get(2),b=b.get(3).booleanValue();JU.Logger.debugging&&JU.Logger.debug("Queue["+this.pt+"]["+a.size()+"] scripts; running: "+c);a.remove(0);this.vwr.evalStringWaitStatusQueued(f,c,d,b,!0);return 0==a.size()?!1:!0})});E("JS");H(null,"JS.ScriptTokenParser","java.lang.Float JU.Lst $.P3 $.PT J.i18n.GT JS.ScriptParam $.T JU.Logger $.SimpleUnitCell".split(" "),
function(){c$=F(function(){this.script=this.vwr=null;this.isStateScript=!1;this.ichToken=this.ichEnd=this.ichComment=this.ichCurrentCommand=this.iCommand=this.lineCurrent=0;this.tokenAndEquals=this.lastToken=this.tokenCommand=this.lastFlowCommand=this.theToken=null;this.ptNewSetModifier=this.tokCommand=this.nTokens=this.theTok=0;this.isNewSet=!1;this.logMessages=!0;this.atokenInfix=null;this.itokenInfix=0;this.isSetOrDefine=this.isMathExpressionCommand=this.isSetBrace=!1;this.ltokenPostfix=null;this.isCommaAsOrAllowed=
this.isEmbeddedExpression=!1;this.htUserFunctions=this.theValue=null;this.residueSpecCodeGenerated=this.haveString=!1;this.errorType=this.errorLine=this.errorMessageUntranslated=this.errorMessage=null;K(this,arguments)},JS,"ScriptTokenParser");d(c$,"compileExpressions",function(){var a=(135271429==this.tokCommand||4124==this.tokCommand)&&269484048==this.tokAt(2);this.isEmbeddedExpression=a||0!=this.tokCommand&&(135368713!=this.tokCommand&&102436!=this.tokCommand&&364558!=this.tokCommand&&102412!=
this.tokCommand||2147483647!=this.tokenCommand.intValue)&&1150985!=this.tokCommand&&!JS.T.tokAttr(this.tokCommand,12288)&&(2<this.nTokens||!JS.T.tokAttr(this.tokCommand,20480));this.isMathExpressionCommand=1073741824==this.tokCommand||a||JS.T.tokAttr(this.tokCommand,36864);a=this.isEmbeddedExpression||JS.T.tokAttr(this.tokCommand,12288);1048582==this.tokAt(1)&&JS.T.tokAttr(this.tokCommand,12288)&&(a=!1);if(a&&!this.compileExpression())return!1;for(var a=this.atokenInfix.length,b=0,c=1;c<a;c++)1060866==
this.tokAt(c)&&b++;a-=b;this.isNewSet&&1==a&&(this.atokenInfix[0]=JS.T.tv(135368713,0,this.atokenInfix[0].value),this.isNewSet=!1);return(this.isNewSet||this.isSetBrace)&&a<this.ptNewSetModifier+2?this.commandExpected():1==a||!JS.T.tokAttr(this.tokCommand,262144)?!0:this.error(0)});d(c$,"compileExpression",function(){var a=this.isSetOrDefine&&!this.isSetBrace?2:1;this.ltokenPostfix=new JU.Lst;this.itokenInfix=0;var b=null,c=this.tokAt(1);switch(this.tokCommand){case 1060866:c=1060866==this.tokAt(1)?
2:1;if(2==this.tokAt(c)&&1048583==this.tokAt(c+1)&&269484436==this.tokAt(c+3)){this.tokCommand=1085443;this.isSetBrace=!0;this.ptNewSetModifier=c+3;this.isEmbeddedExpression=this.isMathExpressionCommand=!0;this.addTokenToPostfixToken(JS.T.tokenSetProperty);this.addTokenToPostfixToken(JS.T.tokenExpressionBegin);for(a=0;a++<=c;)this.addNextToken();this.addTokenToPostfixToken(JS.T.tokenExpressionEnd);a=0}break;case 12295:1678770178==c&&(a=2);break;case 135280133:switch(c){case 1048589:case 1048588:c=
this.tokAt(++a);break}case 12294:case 1610625028:switch(c){case 1276118017:case 1073742119:c=this.tokAt(++a)}1087373318==c&&!JS.T.tokAttr(this.tokAt(a+1),269484032)&&a++}for(c=0;c<a&&this.addNextToken();c++);for(;this.moreTokens();){if(this.isEmbeddedExpression){for(;!this.isExpressionNext();){if(this.tokPeekIs(1073741824)&&!(135271427==this.tokCommand&&1==this.itokenInfix)&&(a=this.atokenInfix[this.itokenInfix].value,c=JS.T.getTokenFromName(a),null!=c&&(!this.isMathExpressionCommand&&1060866!=this.lastToken.tok||
(1048583==this.lastToken.tok||269484048==this.tokAt(this.itokenInfix+1))&&!this.isUserFunction(a))))this.atokenInfix[this.itokenInfix]=c;if(!this.addNextToken())break}if(!this.moreTokens())break}if(1060866==this.lastToken.tok){if(!this.clauseDefine(!0,!1))return!1}else{this.isMathExpressionCommand||this.addTokenToPostfixToken(b=JS.T.o(1048577,"implicitExpressionBegin"));if(!this.clauseOr(this.isCommaAsOrAllowed||!this.isMathExpressionCommand&&this.tokPeekIs(269484048)))return!1;!this.isMathExpressionCommand&&
!(this.isEmbeddedExpression&&this.lastToken===JS.T.tokenCoordinateEnd)&&this.addTokenToPostfixToken(JS.T.tokenExpressionEnd);if(this.moreTokens()){if(135280133!=this.tokCommand&&12291!=this.tokCommand&&!this.isEmbeddedExpression)return this.error(5);135280133==this.tokCommand&&(this.tokCommand=b.intValue=0,this.isMathExpressionCommand=this.isEmbeddedExpression=!0,this.isCommaAsOrAllowed=!1)}}}this.atokenInfix=this.ltokenPostfix.toArray(Array(this.ltokenPostfix.size()));return!0});d(c$,"isUserFunction",
function(a){return!this.isStateScript&&(this.vwr.isFunction(a)||this.htUserFunctions.containsKey(a))},"~S");d(c$,"isExpressionNext",function(){return this.tokPeekIs(1048586)&&!(4==this.tokAt(this.itokenInfix+1)&&269484066==this.tokAt(this.itokenInfix+2))||!this.isMathExpressionCommand&&this.tokPeekIs(269484048)});c$.tokenAttr=d(c$,"tokenAttr",function(a,b){return null!=a&&JS.T.tokAttr(a.tok,b)},"JS.T,~N");d(c$,"moreTokens",function(){return this.itokenInfix<this.atokenInfix.length});d(c$,"tokAt",
function(a){return a<this.atokenInfix.length?this.atokenInfix[a].tok:0},"~N");d(c$,"tokPeek",function(){return this.itokenInfix>=this.atokenInfix.length?0:this.atokenInfix[this.itokenInfix].tok});d(c$,"tokPeekIs",function(a){return this.tokAt(this.itokenInfix)==a},"~N");d(c$,"intPeek",function(){return this.itokenInfix>=this.atokenInfix.length?2147483647:this.atokenInfix[this.itokenInfix].intValue});d(c$,"valuePeek",function(){return this.moreTokens()?this.atokenInfix[this.itokenInfix].value:""});
d(c$,"tokenNext",function(){return this.itokenInfix>=this.atokenInfix.length?null:this.atokenInfix[this.itokenInfix++]});d(c$,"tokenNextTok",function(a){var b=this.tokenNext();return null!=b&&b.tok==a},"~N");d(c$,"returnToken",function(){this.itokenInfix--;return!1});d(c$,"getToken",function(){this.theValue=null==(this.theToken=this.tokenNext())?null:this.theToken.value;return this.theToken});d(c$,"getNumericalToken",function(){return null!=this.getToken()&&(2==this.theToken.tok||3==this.theToken.tok)});
d(c$,"floatValue",function(){switch(this.theToken.tok){case 2:return this.theToken.intValue;case 3:return this.theValue.floatValue()}return 0});d(c$,"addTokenToPostfix",function(a,b){return this.addTokenToPostfixToken(JS.T.o(a,b))},"~N,~O");d(c$,"addTokenToPostfixInt",function(a,b,c){return this.addTokenToPostfixToken(JS.T.tv(a,b,c))},"~N,~N,~O");d(c$,"addTokenToPostfixToken",function(a){if(null==a)return!1;this.logMessages&&JU.Logger.debug("addTokenToPostfix"+a);if(269484096==a.tok&&(1048583==this.lastToken.tok||
1048584==this.lastToken.tok)){var b=this.ltokenPostfix.size()-1;this.ltokenPostfix.remove(b);this.ltokenPostfix.addLast(JS.T.tokenRightParen);for(var c=0,d,f=this.ltokenPostfix.size();0<=--f&&0<=c;)switch(d=this.ltokenPostfix.get(f).tok){case 269484049:case 269484097:c++;break;case 269484048:case 269484096:c--;var h;if(1==c&&269484049!=(h=this.ltokenPostfix.get(f-1).tok)&&269484097!=h)b=269484096==d?f-1:f,c=-10;break;default:h=0==f?0:this.ltokenPostfix.get(f-1).tok;if(1048583==h||1048584==h){b=f-
1;break}f==b-1&&(b=f,c=-10)}-10==c&&this.ltokenPostfix.add(b,JS.T.tokenLeftParen)}this.ltokenPostfix.addLast(a);this.lastToken=a;return!0},"JS.T");d(c$,"addNextToken",function(){return this.addTokenToPostfixToken(this.tokenNext())});d(c$,"addNextTokenIf",function(a){return this.tokPeekIs(a)&&this.addNextToken()},"~N");d(c$,"addSubstituteTokenIf",function(a,b){if(!this.tokPeekIs(a))return!1;this.itokenInfix++;return this.addTokenToPostfixToken(b)},"~N,JS.T");d(c$,"clauseOr",function(a){this.haveString=
!1;if(!this.clauseAnd())return!1;if(this.isEmbeddedExpression&&1048578==this.lastToken.tok)return!0;for(var b;269484112==(b=this.tokPeek())||269484113==b||269484114==b||a&&269484080==b;){269484080==b&&!this.haveString?this.addSubstituteTokenIf(269484080,JS.T.tokenOr):this.addNextToken();if(!this.clauseAnd())return!1;if(a&&(1048590==this.lastToken.tok||10==this.lastToken.tok))this.haveString=!0}return!0},"~B");d(c$,"clauseAnd",function(){if(!this.clauseNot())return!1;if(this.isEmbeddedExpression&&
1048578==this.lastToken.tok)return!0;for(;this.tokPeekIs(269484128);)if(this.addNextToken(),!this.clauseNot())return!1;return!0});d(c$,"clauseNot",function(){return this.tokPeekIs(269484144)?(this.addNextToken(),this.clauseNot()):this.clausePrimitive()});d(c$,"clausePrimitive",function(){var a=this.tokPeek();switch(a){case 1073742195:return this.itokenInfix++,this.clausePrimitive();case 0:return this.error(4);case 1048579:case 10:case 269484208:case 137363467:case 3145736:case 3145735:case 3145738:case 1048585:case 1048587:case 3145760:return this.addNextToken();
case 4:return this.haveString=!0,this.addNextToken();case 3:return this.addTokenToPostfixInt(1048611,this.fixModelSpec(this.getToken()),this.theValue);case 1095761925:case 1095761926:return this.clauseCell(a);case 135266310:case 1276252167:return this.clauseConnected(1276252167==a);case 135267335:case 135267336:return this.clauseSubstructure();case 135266325:case 135402505:return this.clauseWithin(135266325==a);case 1060866:return this.clauseDefine(!1,!1);case 1678770178:case 1746538509:this.addNextToken();
if(this.tokPeekIs(10))this.addNextToken();else if(this.tokPeekIs(1060866))return this.clauseDefine(!1,!1);return!0;case 269484048:return this.addNextToken(),!this.clauseOr(!0)?!1:!this.addNextTokenIf(269484049)?this.errorStr(15,")"):this.checkForItemSelector(!0);case 1048586:return this.checkForCoordinate(this.isMathExpressionCommand);default:if(this.clauseResidueSpec())return!0;if(this.isError())return!1;if(JS.T.tokAttr(a,1078984704)){var b=this.itokenInfix,c=this.clauseComparator(!0);if(c||this.itokenInfix!=
b)return c;if(1238369286==a)return this.clauseSubstructure()}return this.addNextToken()}});d(c$,"checkForCoordinate",function(a){var b=!1,c=this.ltokenPostfix.size();a?(this.addTokenToPostfixToken(JS.T.tokenExpressionBegin),this.tokenNext()):this.isEmbeddedExpression?(this.tokenNext(),c--):this.addNextToken();var d=this.tokPeekIs(4);if(d){a=!1;this.returnToken();this.ltokenPostfix.remove(this.ltokenPostfix.size()-1);this.addNextToken();for(var f=1;0!=f;){if(this.tokPeekIs(1048586))if(this.isExpressionNext()){this.addTokenToPostfixToken(JS.T.o(1048577,
"implicitExpressionBegin"));if(!this.clauseOr(!0))return!1;this.lastToken!==JS.T.tokenCoordinateEnd&&this.addTokenToPostfixToken(JS.T.tokenExpressionEnd)}else f++;this.tokPeekIs(1048590)&&f--;this.addNextToken()}}else{if(!this.tokPeekIs(1048590)&&!this.clauseOr(!1))return!1;for(b=1;!this.tokPeekIs(1048590);){f=this.addNextTokenIf(269484080);if(!this.clauseOr(!1))return f||3>b?!1:this.errorStr(15,"}");b++}b=2<=b}b&&(a||this.isEmbeddedExpression)?(this.ltokenPostfix.set(c,JS.T.tokenCoordinateBegin),
this.addTokenToPostfixToken(JS.T.tokenCoordinateEnd),this.tokenNext()):a?(this.addTokenToPostfixToken(JS.T.tokenExpressionEnd),this.tokenNext()):this.isEmbeddedExpression&&!d?this.tokenNext():this.addNextToken();return this.checkForItemSelector(!d)},"~B");d(c$,"checkForItemSelector",function(a){var b;if(269484096==(b=this.tokAt(this.itokenInfix+1))||a&&1048586==b)return!0;for(;this.addNextTokenIf(269484096);){if(!this.clauseItemSelector())return!1;if(!this.addNextTokenIf(269484097))return this.errorStr(15,
"]")}return!0},"~B");d(c$,"clauseWithin",function(a){this.addNextToken();if(!this.addNextTokenIf(269484048)||null==this.getToken())return!1;var b=3.4028235E38,c=null,d=a,f,h=this.theToken.tok;if(!a){f=-1;for(var j=this.itokenInfix;0!=f;j++)switch(f=this.tokAt(j)){case 269484080:f=0;break;case 1048586:case 269484048:case 269484049:b=100,this.returnToken(),h=f=0}}switch(h){case 269484192:if(null==this.getToken())return!1;if(2!=this.theToken.tok)return this.error(12);b=-this.theToken.intValue;break;
case 2:case 3:b=this.floatValue();break;case 1060866:this.addTokenToPostfixToken(this.theToken);if(!this.clauseDefine(!0,!1))return!1;c="";d=!1}if(a&&3.4028235E38==b)switch(h){case 1060866:break;case 1073741916:case 1073742128:case 135267335:case 135267336:case 1238369286:case 1073741925:case 1073742189:this.addTokenToPostfix(4,this.theValue);if(!this.addNextTokenIf(269484080))return!1;d=!1;f=this.tokPeek();switch(f){case 0:return!1;case 4:this.addNextToken();c="";break;case 1060866:if(!this.clauseDefine(!1,
!0))return!1;c="";break;default:return!1}break;case 1048580:d=!1;case 1087375361:case 1087375362:case 1073741864:case 1679429641:case 1087373316:case 1048581:case 1087375365:case 1087373318:case 1614417948:case 137363467:case 1095766030:case 1095761936:case 135266319:case 135267841:case 1095761937:case 1087373320:case 3145760:case 1095761941:case 1641025539:case 4:case 1649412120:c=this.theValue;break;case 1073741824:c=this.theValue.toLowerCase();break;default:return this.errorIntStr2(18,"WITHIN",
": "+this.theToken.value)}null==c?this.addTokenToPostfix(3,Float.$valueOf(b)):0<c.length&&this.addTokenToPostfix(4,c);for(j=!1;!j&&(0==h||this.addNextTokenIf(269484080));){0==h&&(h=135402505);var g=!1;f=this.tokPeek();if(a){switch(h){case 2:case 3:if(1048589==f||1048588==f){this.addTokenToPostfixToken(this.getToken());if(!this.addNextTokenIf(269484080))break;f=this.tokPeek()}}if(null==c){switch(f){case 135267841:case 1048581:case 135266319:g=!0;this.addNextToken();break;case 1048582:this.getToken();
this.getToken();this.addTokenToPostfix(4,"$"+this.theValue);j=!0;break;case 1087373318:case 1649412120:case 1614417948:this.getToken();this.addTokenToPostfix(4,JS.T.nameOf(f));break;case 1048586:this.returnToken(),g=!0,this.addTokenToPostfixToken(JS.T.getTokenFromName(3.4028235E38==b?"plane":"coord"))}j||this.addNextTokenIf(269484080)}}this.tokPeek();if(j)break;if(g)for(;!this.tokPeekIs(269484049);)switch(this.tokPeek()){case 0:return this.error(4);case 269484048:this.addTokenToPostfixToken(JS.T.tokenExpressionBegin);
this.addNextToken();if(!this.clauseOr(!1))return this.errorIntStr2(18,"WITHIN",": ?");if(!this.addNextTokenIf(269484049))return this.errorStr(15,", / )");this.addTokenToPostfixToken(JS.T.tokenExpressionEnd);break;case 1060866:if(!this.clauseDefine(!1,!1))return!1;break;default:this.addTokenToPostfixToken(this.getToken())}else this.clauseOr(d)}return!this.addNextTokenIf(269484049)?this.errorStr(15,")"):!0},"~B");d(c$,"clauseConnected",function(a){this.addNextToken();if(!this.addNextTokenIf(269484048))return this.addTokenToPostfixToken(JS.T.tokenLeftParen),
this.addTokenToPostfixToken(JS.T.tokenRightParen),!0;for(;;){if(this.addNextTokenIf(2)){if(!this.addNextTokenIf(269484080))break;if(a){this.returnToken();break}}else if(a&&(this.addNextTokenIf(4)||this.addNextTokenIf(1073741824)))break;if(this.addNextTokenIf(2)&&!this.addNextTokenIf(269484080))break;if(this.addNextTokenIf(3)&&!this.addNextTokenIf(269484080))break;if(this.addNextTokenIf(3)&&!this.addNextTokenIf(269484080))break;a=this.getToken().value;a=q(a,String)?a:" ";if(131071==JS.ScriptParam.getBondOrderFromString(a))this.returnToken();
else if(this.addTokenToPostfix(4,a),!this.addNextTokenIf(269484080))break;if(this.addNextTokenIf(269484049))return!0;if(!this.clauseOr(this.tokPeekIs(269484048)))return!1;if(this.addNextTokenIf(269484049))return!0;if(!this.addNextTokenIf(269484080)||!this.clauseOr(this.tokPeekIs(269484048)))return!1;break}return!this.addNextTokenIf(269484049)?this.errorStr(15,")"):!0},"~B");d(c$,"clauseSubstructure",function(){this.addNextToken();if(!this.addNextTokenIf(269484048))return!1;if(this.tokPeekIs(1060866)){if(!this.clauseDefine(!1,
!0))return!1}else if(!this.addNextTokenIf(4))return this.errorStr(15,'"..."');return this.addNextTokenIf(269484080)&&!this.clauseOr(this.tokPeekIs(269484048))?!1:!this.addNextTokenIf(269484049)?this.errorStr(15,")"):!0});d(c$,"clauseItemSelector",function(){for(var a,b=0;0!=(a=this.tokPeek())&&269484097!=a;)this.addNextToken(),269484096==a&&b++,269484097==this.tokPeek()&&0<b--&&this.addNextToken();return!0});d(c$,"clauseComparator",function(a){var b=this.tokenNext(),c=this.tokenNext();if(!JS.ScriptTokenParser.tokenAttr(c,
269484288)){if(!a)return this.errorStr(15,"== != < > <= >=");null!=c&&this.returnToken();this.returnToken();return!1}if(JS.ScriptTokenParser.tokenAttr(b,1087373312)&&269484436!=c.tok&&269484438!=c.tok&&269484437!=c.tok)return this.errorStr(15,"== !=");if(269484096==this.tokPeek()){this.getToken();for(this.addTokenToPostfixToken(JS.T.tokenLeftParen);;){if(!this.addCompare(b,c))return!1;if(269484080==this.tokPeek())this.getToken();else if(269484097==this.tokPeek())break;this.addTokenToPostfixToken(269484437==
c.tok?JS.T.tokenAnd:JS.T.tokenOr)}this.getToken();this.addTokenToPostfixToken(JS.T.tokenRightParen);return!0}return this.addCompare(b,c)},"~B");d(c$,"addCompare",function(a,b){if(null==this.getToken())return this.errorStr(17,""+this.valuePeek());var c=269484192==this.theToken.tok;if(c&&null==this.getToken())return this.error(12);switch(this.theToken.tok){case 2:case 3:case 1073741824:case 4:case 1048586:case 1060866:break;default:if(!JS.T.tokAttr(this.theToken.tok,1073741824))return this.error(13)}this.addTokenToPostfixInt(b.tok,
a.tok,b.value+(c?" -":""));1716520985==a.tok&&this.addTokenToPostfixToken(a);if(1048586==this.theToken.tok)return this.returnToken(),this.clausePrimitive();this.addTokenToPostfixToken(this.theToken);return 1060866==this.theToken.tok?this.clauseDefine(!0,!1):!0},"JS.T,JS.T");d(c$,"clauseCell",function(a){var b=new JU.P3;this.tokenNext();if(!this.tokenNextTok(269484436))return this.errorStr(15,"=");if(null==this.getToken())return this.error(3);if(2==this.theToken.tok)return JU.SimpleUnitCell.ijkToPoint3f(this.theToken.intValue,
b,1),this.addTokenToPostfix(a,b);if(1048586!=this.theToken.tok||!this.getNumericalToken())return this.error(3);b.x=this.floatValue();this.tokPeekIs(269484080)&&this.tokenNext();if(!this.getNumericalToken())return this.error(3);b.y=this.floatValue();this.tokPeekIs(269484080)&&this.tokenNext();if(!this.getNumericalToken()||!this.tokenNextTok(1048590))return this.error(3);b.z=this.floatValue();return this.addTokenToPostfix(a,b)},"~N");d(c$,"clauseDefine",function(a,b){if(!a){var c=this.tokenNext();b&&
(c=JS.T.tokenDefineString);this.addTokenToPostfixToken(c)}if(this.tokPeekIs(0))return this.error(4);if(!this.addSubstituteTokenIf(1048586,JS.T.tokenExpressionBegin))return 1060866==this.tokPeek()&&this.addNextToken(),this.addNextToken()&&this.checkForItemSelector(!0);for(;this.moreTokens()&&!this.tokPeekIs(1048590);)if(this.tokPeekIs(1048586)){if(!this.checkForCoordinate(!0))return!1}else this.addNextToken();return this.addSubstituteTokenIf(1048590,JS.T.tokenExpressionEnd)&&this.checkForItemSelector(!0)},
"~B,~B");d(c$,"generateResidueSpecCode",function(a){this.residueSpecCodeGenerated&&this.addTokenToPostfixToken(JS.T.tokenAndSpec);this.addTokenToPostfixToken(a);return this.residueSpecCodeGenerated=!0},"JS.T");d(c$,"clauseResidueSpec",function(){var a=this.tokPeek(),b=this.residueSpecCodeGenerated=!1;switch(a){case 0:case 3145732:case 3145750:return!1;case 2:case 269484066:case 269484210:case 5:break;case 269484209:case 269484096:case 1073741824:b=!0;break;default:if(JS.T.tokAttr(a,269484288))return!1;
b=""+this.valuePeek();b=2==b.length||3==b.length;if(!b)return!1}var c=!1;if(b){if(!this.clauseResNameSpec())return!1;c=!0;a=this.tokPeek()}if(2==a||269484209==a||5==a){if(!this.clauseSequenceSpec())return!1;c=!0;a=this.tokPeek()}if(269484066==a){if(!this.clauseChainSpec(a))return!1;c=!0;a=this.tokPeek()}if(1048583==a){if(!this.clauseAtomSpec())return!1;c=!0;a=this.tokPeek()}if(269484210==a){if(!this.clauseAlternateSpec())return!1;c=!0;a=this.tokPeek()}if(269484208==a){if(!this.clauseModelSpec())return!1;
c=!0;this.tokPeek()}if(!c)return this.error(14);this.residueSpecCodeGenerated||this.addTokenToPostfixToken(JS.T.tokenAll);return!0});d(c$,"clauseResNameSpec",function(){this.getToken();var a=this.tokPeek();switch(this.theToken.tok){case 269484209:return!0;case 269484096:for(a="";null!=this.getToken()&&269484097!=this.theToken.tok;)a+=this.theValue;if(null==this.theToken)return!1;if(""===a)return!0;var b;return 0<a.length&&0<=(b=a.indexOf("*"))&&b!=a.length-1?this.error(14):this.generateResidueSpecCode(JS.T.o(1048612,
a.toUpperCase()));default:if(JS.T.tokAttr(a,269484288))return this.returnToken(),!1;b=this.theValue;269484209==a&&(b=this.theValue+"*",this.getToken());return this.generateResidueSpecCode(JS.T.o(1073741824,b))}});d(c$,"clauseSequenceSpec",function(){if(269484209==this.tokPeek())return null!=this.getToken();var a=this.getSequenceCode(!1);if(null==a)return!1;var b=this.tokPeek();return 269484192==b||2==b&&0>this.intPeek()?(269484192==b?this.tokenNext():(b=-this.intPeek(),this.tokenNext().intValue=b,
this.returnToken()),a.tok=1048615,this.generateResidueSpecCode(a),this.addTokenToPostfixToken(this.getSequenceCode(!0))):this.generateResidueSpecCode(a)});d(c$,"getSequenceCode",function(a){var b=2147483647,c=2147483647;switch(this.tokPeek()){case 5:b=this.tokenNext().intValue;break;case 2:c=this.tokenNext().intValue;break;default:if(!a)return null}return JS.T.tv(1048614,c,Integer.$valueOf(b))},"~B");d(c$,"clauseChainSpec",function(a){this.tokenNext();a=this.tokPeek();if(this.isTerminator(a))a=" ";
else{switch(a){case 269484209:return null!=this.getToken();case 2:this.getToken();a=this.theToken.intValue;if(0>a||9999<a)return this.error(8);a=""+a;break;case 4:this.vwr.getChainID("a",!0);default:a=""+this.getToken().value}if(0==a.length)a=" ";else if(a.equals("?"))return!0}a=this.vwr.getChainID(a,!1);return this.generateResidueSpecCode(JS.T.tv(1048609,a,"spec_chain"))},"~N");d(c$,"clauseAlternateSpec",function(){this.tokenNext();if(this.isTerminator(this.tokPeek()))return this.generateResidueSpecCode(JS.T.o(1048607,
null));switch(this.getToken().tok){case 269484209:case 4:case 2:case 1073741824:case 1112541205:case 1112541206:case 1112541207:case 1141899281:break;default:return this.error(10)}return this.generateResidueSpecCode(JS.T.o(1048607,this.theToken.value))});d(c$,"isTerminator",function(a){switch(a){case 0:case 269484208:case 269484128:case 269484112:case 269484144:case 269484080:case 269484049:case 1048590:return!0;default:return!1}},"~N");d(c$,"clauseModelSpec",function(){this.getToken();switch(this.tokPeek()){case 269484209:return this.getToken(),
!0;case 2:return this.generateResidueSpecCode(JS.T.o(1048610,Integer.$valueOf(this.getToken().intValue)));case 3:return this.generateResidueSpecCode(JS.T.tv(1048610,this.fixModelSpec(this.getToken()),this.theValue))}return this.error(10)});d(c$,"fixModelSpec",function(a){a=a.intValue;if(2147483647==a){var b=this.theValue.floatValue();b==I(b)&&(a=1E6*I(b));0>a&&(a=2147483647)}return a},"JS.T");d(c$,"clauseAtomSpec",function(){if(!this.tokenNextTok(1048583))return this.error(7);if(null==this.getToken())return!0;
var a="";if(2==this.theToken.tok&&(a+=""+this.theToken.intValue,null==this.getToken()))return this.error(7);if(269484209==this.theToken.tok)return!0;a+=""+this.theToken.value;this.tokPeekIs(269484209)&&(this.tokenNext(),a+="'");return this.generateResidueSpecCode(JS.T.tv(1048608,this.vwr.getJBR().lookupSpecialAtomID(a.toUpperCase()),a))});c$.errorString=d(c$,"errorString",function(a,b,c,d){var f=!1;!d&&!0==(f=J.i18n.GT.getDoTranslate())&&J.i18n.GT.setDoTranslate(!1);switch(a){default:a="Unknown compiler error message number: "+
a;break;case 0:a=J.i18n.GT._("bad argument count");break;case 1:a=J.i18n.GT._("invalid context for {0}");break;case 2:a=J.i18n.GT._("command expected");break;case 3:a=J.i18n.GT._("{ number number number } expected");break;case 4:a=J.i18n.GT._("unexpected end of script command");break;case 5:a=J.i18n.GT._("end of expression expected");break;case 6:a=J.i18n.GT._("identifier or residue specification expected");break;case 7:a=J.i18n.GT._("invalid atom specification");break;case 8:a=J.i18n.GT._("invalid chain specification");
break;case 9:a=J.i18n.GT._("invalid expression token: {0}");break;case 10:a=J.i18n.GT._("invalid model specification");break;case 11:a=J.i18n.GT._("missing END for {0}");break;case 12:a=J.i18n.GT._("number expected");break;case 13:a=J.i18n.GT._("number or variable name expected");break;case 14:a=J.i18n.GT._("residue specification (ALA, AL?, A*) expected");break;case 15:a=J.i18n.GT._("{0} expected");break;case 16:a=J.i18n.GT._("{0} unexpected");break;case 17:a=J.i18n.GT._("unrecognized expression token: {0}");
break;case 18:a=J.i18n.GT._("unrecognized {0} parameter");break;case 19:a=J.i18n.GT._("unrecognized token: {0}")}0>a.indexOf("{0}")?null!=b&&(a+=": "+b):(a=JU.PT.rep(a,"{0}",b),0<=a.indexOf("{1}")?a=JU.PT.rep(a,"{1}",c):null!=c&&(a+=": "+c));d||J.i18n.GT.setDoTranslate(f);return a},"~N,~S,~S,~B");d(c$,"commandExpected",function(){this.ichToken=this.ichCurrentCommand;return this.error(2)});d(c$,"error",function(a){return this.errorIntStr2(a,null,null)},"~N");d(c$,"errorStr",function(a,b){return this.errorIntStr2(a,
b,null)},"~N,~S");d(c$,"errorIntStr2",function(a,b,c){var d=JS.ScriptTokenParser.errorString(a,b,c,!0);a=J.i18n.GT.getDoTranslate()?JS.ScriptTokenParser.errorString(a,b,c,!1):null;return this.errorStr2(d,a)},"~N,~S,~S");d(c$,"isError",function(){return null!=this.errorMessage});d(c$,"errorStr2",function(a,b){this.errorMessage=a;this.errorMessageUntranslated=b;return!1},"~S,~S");P(c$,"ERROR_badArgumentCount",0,"ERROR_badContext",1,"ERROR_commandExpected",2,"ERROR_endOfCommandUnexpected",4,"ERROR_invalidExpressionToken",
9,"ERROR_missingEnd",11,"ERROR_tokenExpected",15,"ERROR_tokenUnexpected",16,"ERROR_unrecognizedParameter",18,"ERROR_unrecognizedToken",19,"ERROR_coordinateExpected",3,"ERROR_endOfExpressionExpected",5,"ERROR_identifierOrResidueSpecificationExpected",6,"ERROR_invalidAtomSpecification",7,"ERROR_invalidChainSpecification",8,"ERROR_invalidModelSpecification",10,"ERROR_numberExpected",12,"ERROR_numberOrVariableNameExpected",13,"ERROR_residueSpecificationExpected",14,"ERROR_unrecognizedExpressionToken",
17)})})(Clazz,Clazz.newLongArray,Clazz.doubleToByte,Clazz.doubleToInt,Clazz.doubleToLong,Clazz.declarePackage,Clazz.instanceOf,Clazz.load,Clazz.instantialize,Clazz.decorateAsClass,Clazz.floatToInt,Clazz.floatToLong,Clazz.makeConstructor,Clazz.defineEnumConstant,Clazz.exceptionOf,Clazz.newIntArray,Clazz.defineStatics,Clazz.newFloatArray,Clazz.declareType,Clazz.prepareFields,Clazz.superConstructor,Clazz.newByteArray,Clazz.declareInterface,Clazz.p0p,Clazz.pu$h,Clazz.newShortArray,Clazz.innerTypeInstance,
Clazz.isClassDefined,Clazz.prepareCallback,Clazz.newArray,Clazz.castNullAs,Clazz.floatToShort,Clazz.superCall,Clazz.decorateAsType,Clazz.newBooleanArray,Clazz.newCharArray,Clazz.implementOf,Clazz.newDoubleArray,Clazz.overrideConstructor,Clazz.clone,Clazz.doubleToShort,Clazz.getInheritedLevel,Clazz.getParamsType,Clazz.isAF,Clazz.isAI,Clazz.isAS,Clazz.isASS,Clazz.isAP,Clazz.isAFloat,Clazz.isAII,Clazz.isAFF,Clazz.isAFFF,Clazz.tryToSearchAndExecute,Clazz.getStackTrace,Clazz.inheritArgs,Clazz.alert,Clazz.defineMethod,
Clazz.overrideMethod,Clazz.declareAnonymous,Clazz.cloneFinals);
