(function(Y,Z,$,aa,ba,ca,O,I,P,Q,R,M,S,T,da,N,H,U,L,V,ea,W,fa,ga,ha,ia,ja,ka,la,ma,D,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,k,X){O("JS");P(null,"JS.ScriptExt",["JU.AU"],function(){c$=R(function(){this.e=this.vwr=null;this.chk=!1;this.st=null;this.slen=0;Q(this,arguments)},JS,"ScriptExt");k(c$,"init",function(a){this.e=a;this.vwr=this.e.vwr;return this},"~O");k(c$,"atomExpressionAt",function(a){return this.e.atomExpressionAt(a)},"~N");k(c$,"checkLength",function(a){this.e.checkLength(a)}, "~N");k(c$,"error",function(a){this.e.error(a)},"~N");k(c$,"invArg",function(){this.e.invArg()});k(c$,"invPO",function(){this.error(23)});k(c$,"getShapeProperty",function(a,b){return this.e.getShapeProperty(a,b)},"~N,~S");k(c$,"paramAsStr",function(a){return this.e.paramAsStr(a)},"~N");k(c$,"centerParameter",function(a){return this.e.centerParameter(a,null)},"~N");k(c$,"floatParameter",function(a){return this.e.floatParameter(a)},"~N");k(c$,"getPoint3f",function(a,b){return this.e.getPoint3f(a,b, !0)},"~N,~B");k(c$,"intParameter",function(a){return this.e.intParameter(a)},"~N");k(c$,"isFloatParameter",function(a){switch(this.e.tokAt(a)){case 2:case 3:return!0}return!1},"~N");k(c$,"setShapeProperty",function(a,b,c){this.e.setShapeProperty(a,b,c)},"~N,~S,~O");k(c$,"showString",function(a){this.e.showString(a)},"~S");k(c$,"stringParameter",function(a){return this.e.stringParameter(a)},"~N");k(c$,"getToken",function(a){return this.e.getToken(a)},"~N");k(c$,"tokAt",function(a){return this.e.tokAt(a)}, "~N");k(c$,"setShapeId",function(a,b,c){c&&this.invArg();b=this.e.setShapeNameParameter(b).toLowerCase();this.setShapeProperty(a,"thisID",b);return b},"~N,~N,~B");k(c$,"getColorTrans",function(a,b,c,d){c=3.4028235E38;1765808134!=a.theTok&&--b;switch(this.tokAt(b+1)){case 603979967:b++;c=this.isFloatParameter(b+1)?a.getTranslucentLevel(++b):this.vwr.getFloat(570425354);break;case 1073742074:b++,c=0}a.isColorParam(b+1)?d[0]=a.getArgbParam(++b):1073742333==this.tokAt(b+1)?(d[0]=0,a.iToken=b+1):3.4028235E38== c?this.invArg():d[0]=-2147483648;return c},"JS.ScriptEval,~N,~B,~A");k(c$,"finalizeObject",function(a,b,c,d,f,e,g,h){f&&this.setShapeProperty(a,"set",e);-2147483648!=b&&this.e.setShapePropertyBs(a,"color",Integer.$valueOf(b),h);3.4028235E38!=c&&this.e.setShapeTranslucency(a,"","translucent",c,h);0!=d&&this.setShapeProperty(a,"scale",Integer.$valueOf(d));0b.length&&this.invArg();return b},"~N")});O("JS");P(["JS.ScriptExt"],"JS.CmdExt","java.lang.Boolean $.Float $.Long java.util.Hashtable $.Map JU.AU $.BS $.Base64 $.Lst $.M3 $.M4 $.Measure $.P3 $.P4 $.PT $.Quat $.SB $.V3 J.api.Interface J.atomdata.RadiusData J.c.STER $.VDW J.i18n.GT JM.Atom $.AtomCollection $.BondSet $.LabelToken JS.SV $.ScriptCompiler $.ScriptError $.ScriptEval $.ScriptInterruption $.ScriptMathProcessor $.ScriptParam $.T JU.BSUtil $.BoxInfo $.C $.Edge $.Elements $.Escape $.Logger $.Parser $.Point3fi $.SimpleUnitCell JV.FileManager $.JC $.StateManager $.Viewer".split(" "), function(){c$=V(JS,"CmdExt",JS.ScriptExt);T(c$,function(){W(this,JS.CmdExt,[])});X(c$,"dispatch",function(a,b,c){this.chk=this.e.chk;this.slen=this.e.slen;this.st=c;switch(a){case 1073741866:c[0].value=this.prepareBinaryOutput(c[0]);break;case 4098:this.assign();break;case 134221829:this.cache();break;case 4102:this.calculate();break;case 4103:this.capture();break;case 4105:this.centerAt();break;case 134221831:this.compare();break;case 528395:this.console();break;case 4106:this.connect(1);break;case 1094717448:this.configuration(); break;case 134221834:this.data();break;case 1613238294:this.connect(0);break;case 4120:this.image();break;case 4122:this.invertSelected();break;case 4124:this.macro();break;case 4125:this.mapProperty();break;case 4126:this.minimize();break;case 1275072532:this.modulation();break;case 4130:this.mutate();break;case 4131:this.navigate();break;case 4133:case 134221850:case 4138:this.plot(c);break;case 134222350:this.show();break;case 528443:this.stereo();break;case 1814695966:this.unitcell(b?2:1);break; case 134221856:return this.write(b?c:null);case 6:this.measure();break;case 21:this.polyhedra();break;case 20:this.ellipsoid();break;case 4:this.struts()}return null},"~N,~B,~A");k(c$,"macro",function(){var a=this.e.optParameterAsString(1);if(0!=a.length&&!this.chk){var b=JV.JC.getMacro(a);null==b?this.showString("macro "+a+" could not be found. Current macros include:\n"+JV.JC.getMacroList()):(this.showString("running "+b),this.e.cmdScript(4124,b,null))}});k(c$,"evalParallel",function(a,b){this.chk= this.e.chk;this.slen=this.e.slen;var c=(new JS.ScriptEval).setViewer(this.vwr);c.historyDisabled=!0;c.compiler=new JS.ScriptCompiler(this.vwr);c.sm=b;try{c.restoreScriptContext(a,!0,!1,!1),c.allowJSThreads=!1,c.dispatchCommands(!1,!1,!1)}catch(d){if(N(d,Exception))return this.e.vwr.setStringProperty("_errormessage",""+d),null==c.thisContext&&(JU.Logger.error("Error evaluating context "+d),d.printStackTrace()),!1;throw d;}return!0},"JS.ScriptContext,JV.ShapeManager");k(c$,"getBitsetIdent",function(a, b,c,d,f,e){var g=!I(c,JM.BondSet);g&&(null==b?b=this.vwr.getStandardLabelFormat(0):0==b.length&&(b="%[label]"));var h=null==b?-1:b.indexOf("%"),j=2147483647!=f;if(null==a||this.chk||g&&0>h)return null==b&&(b=""),e?D(-1,[b]):b;var h=this.vwr.ms,s=0,p=h.getLabeler();c=g||!d?null:c.associatedAtoms;null==c&&(null!=b&&0g.x||1>g.y||1>g.z)d.iToken=a,this.invArg();a=d.iToken}else g=this.stringParameter(a);b.append(JU.Escape.e(g));c.put("supercell",g);a=this.checkPacked(++a,c,b)}g=0;1073742114==this.tokAt(a)&&(a++,g=this.floatParameter(a++),b.append(" range "+g));c.put("symmetryRange",Float.$valueOf(g));g=null;var h;g=-2147483648;1073742152==this.tokAt(a)&&(++a,g=JU.PT.rep(this.paramAsStr(a++), "''",'"'),b.append(" spacegroup "+JU.PT.esc(g)),g.equalsIgnoreCase("ignoreOperators")?g=-999:(0==g.length?(h=this.vwr.getCurrentUnitCell(),null!=h&&(g=h.getSpaceGroupName())):0<=g.indexOf(",")&&9>f.x&&(9>f.y&&0==f.z)&&(g+="#doNormalize=0"),c.put("spaceGroupName",g),g=-2));f=null;if(1814695966==this.tokAt(a)){++a;h=d.optParameterAsString(a);0==h.length?(h=this.vwr.getCurrentUnitCell(),null!=h&&(f=h.getUnitCellAsArray(!0),e=h.getCartesianOffset())):4==this.tokAt(a)?(f=L(6,0),JU.SimpleUnitCell.setOabc(h, f,null)):f=d.floatParameterSet(a,6,9);(null==f||6!=f.length&&9!=f.length)&&this.invArg();b.append(" unitcell [");for(a=0;ab?"cache cleared":b+" bytes "+(1275069441==a?" cached":" removed")));break;default:this.invArg()}});k(c$,"calculate",function(){var a=!1,b=!1,c=null,d=null,f=this.e,e=-2147483648,e=2;if(2<=(f.iToken= f.slen))switch(f.clearDefinedVariableAtomSets(),this.getToken(1).tok){case 1073741824:this.checkLength(2);break;case 1086324752:f.iToken=1;c=2==this.slen?null:this.atomExpressionAt(2);f.checkLast(f.iToken);this.chk||f.showString(this.vwr.calculateChirality(c));return;case 1631586315:this.checkLength(2);if(this.chk)return;e=this.vwr.calculateFormalCharges(null);this.showString(J.i18n.GT.i(J.i18n.GT.$("{0} charges modified"),e));return;case 1075838996:this.checkLength(2);this.chk||this.vwr.ms.assignAromaticBondsBs(!0, null);return;case 1613238294:2!=f.slen&&(c=(b=1639976963==this.tokAt(++f.iToken))?this.vwr.bsA():this.atomExpressionAt(f.iToken),!b&&1639976963!=this.tokAt(++f.iToken)&&(d=this.atomExpressionAt(f.iToken)));if(this.chk)return;e=this.vwr.autoHbond(c,d,!1);-2147483648!=e&&f.report(J.i18n.GT.i(J.i18n.GT.$("{0} hydrogen bonds"),Math.abs(e)),!1);return;case 1612709900:(a=1073742335==this.tokAt(2))&&f.iToken++;c=this.slen==(a?3:2)?null:this.atomExpressionAt(a?3:2);f.checkLast(f.iToken);this.chk||(this.vwr.addHydrogens(c, !1,!1),a&&(null==c&&(c=this.vwr.bsA()),this.vwr.makeConnections(0.1,1E8,515,1073742025,c,c,null,!1,!1,0),this.vwr.ms.assignAromaticBondsBs(!0,null)));return;case 1111492619:f.iToken=1;c=2==this.slen?null:this.atomExpressionAt(2);f.checkLast(f.iToken);this.chk||f.getPartialCharges(c);return;case 1088421903:case 134217762:this.chk||(1275203608==this.tokAt(2)?(a=4==this.tokAt(3)?this.stringParameter(3):null,c=null!=a||3==this.slen?null:this.atomExpressionAt(3),c=D(-1,[a,null,c]),this.showString(f.getShapePropertyData(21, "symmetry",c)?c[1]:"")):this.showString(this.vwr.ms.calculatePointGroup(this.vwr.bsA())));return;case 1111490574:this.checkLength(2);this.chk||(this.vwr.calculateStraightness(),this.vwr.addStateScript("set quaternionFrame '"+this.vwr.getQuaternionFrame()+"'; calculate straightness",!1,!0));return;case 1639976963:c=4>this.slen||this.isFloatParameter(3)?null:this.atomExpressionAt(2);switch(this.tokAt(++f.iToken)){case 4138:break;case 1111490587:if(this.chk)return;f.showString(this.vwr.getAnnotationParser(!0).calculateDSSRStructure(this.vwr, c));return;case 1073741915:b=!0;e=this.slen==f.iToken+1?2:M(this.floatParameter(++f.iToken));break;case 0:b=this.vwr.getBoolean(603979826);break;default:this.invArg()}this.chk||this.showString(this.vwr.calculateStructures(c,b,!0,e));return;case 659482:c=f.iToken+1a||a!=e.lastIndexOf(".")-4;a=!1;528411==this.tokAt(h)&& (g=!0,this.tokAt(++h));switch(this.tokAt(h)){case 1073742129:a=!0;case 1611141175:c=null;g="y";h++;a?(hf?JU.PT.rep(c,"10;",""+-f+";"):JU.PT.rep(c,"10",""+f)):(h"xyz".indexOf(g))g="y";f= this.vwr.g.waitForMoveTo;c="set waitformoveto true;"+JU.PT.rep(c,"Y",g)+";set waitformoveto "+f;c="capture "+(s?"transparent ":"")+JU.PT.esc(e)+" LOOP;"+c+";capture end;";this.e.cmdScript(0,null,c);return;case 3:case 2:c=this.floatParameter(h++)}if(this.chk)return;d=1073742031;a=new java.util.Hashtable;s=this.vwr.getInt(553648132);j&&(a.put("streaming",Boolean.TRUE),g||this.showString(J.i18n.GT.o(J.i18n.GT.$("Note: Enable looping using {0}"),D(-1,["ANIMATION MODE LOOP"]))),this.showString(J.i18n.GT.o(J.i18n.GT.$("Animation delay based on: {0}"), D(-1,["ANIMATION FPS "+s]))));a.put("captureFps",Integer.$valueOf(s));break;case 102409:case 1073741874:null!=a&&a.put("captureSilent",Boolean.TRUE);case 1073742335:case 1073742334:this.checkLength(-2);d=j;break;default:this.invArg()}this.chk||null==a||(a.put("type",b),s=Integer.$valueOf(this.vwr.getBackgroundArgb()),a.put("backgroundColor",s),a.put("fileName",e),a.put("quality",Integer.$valueOf(-1)),a.put("endTime",Long.$valueOf(0>=c?-1:System.currentTimeMillis()+S(1E3*c))),a.put("captureMode",JS.T.nameOf(d).toLowerCase()), a.put("captureLooping",g?Boolean.TRUE:Boolean.FALSE),e=this.vwr.processWriteOrCapture(a),null==e&&(e="canceled"),JU.Logger.info(e))}});k(c$,"centerAt",function(){var a=this.getToken(1).tok;switch(a){case 1073741826:case 96:case 1678381065:break;default:this.invArg()}var b=JU.P3.new3(0,0,0);5==this.slen?(b.x=this.floatParameter(2),b.y=this.floatParameter(3),b.z=this.floatParameter(4)):this.e.isCenterParameter(2)?(b=this.centerParameter(2),this.e.checkLast(this.e.iToken)):this.checkLength(2);!this.chk&& !this.vwr.isJmolDataFrame()&&this.vwr.tm.setCenterAt(a,b)});k(c$,"compare",function(){var a=this.e,b=!1,c=!1,d=!1,f=!1,e=!1,g=null,h=null,j=null,s=null,p=null,m=null;a.iToken=0;var w=this.isFloatParameter(1)?this.floatParameter(++a.iToken):NaN,l=this.atomExpressionAt(++a.iToken),k=null,x=null;a.isArrayParameter(++a.iToken)?k=a.getPointArray(a.iToken,-1,!1):1140850689!=this.tokAt(a.iToken)&&(x=this.atomExpressionAt(a.iToken));var z=null,q=!1,n=null,r=JU.BSUtil.copy(l);null!=x&&r.or(x);for(var r=f= null==k&&null!=x&&r.equals(l),t=a.iToken+1;tw?w=1:!c&&!d&&(c=d=!0);f=0!=w;(K=!b&&null==n||null!=k)&&J.api.Interface.getInterface("JU.Eigen",this.vwr,"script");null==p&&null==m&&(null==z?(j=K?this.vwr.getAtomBitSet("spine"):new JU.BS,0>j.nextSetBit(0)?(j=l,s=x):(s=JU.BSUtil.copy(j),j.and(l),s.and(x))):(j=JU.BSUtil.copy(l),s=JU.BSUtil.copy(x), j.and(z),j.and(l),null!=s&&(s.and(z),s.and(x))),p=new JU.Lst,p.addLast(D(-1,[j,s])));if(r){l=this.vwr.ms.getModelBS(l,!1);z=Array(l.cardinality());t=0;for(s=l.nextSetBit(0);0<=s;s=l.nextSetBit(s+1),t++)z[t]=this.vwr.getModelUndeletedAtomsBitSet(s)}else z=D(-1,[l]);for(s=0;s=F&&(F=-1);break;case 3:null!=r&&this.invArg();n=x=!0;k=(k+1)%2;C[k]=this.floatParameter(h);break;case 12291:268435538!=f&&this.invArg(); f=12291;break;case 4114:var B=this.floatParameter(++h),O=this.paramAsStr(++h),P=this.paramAsStr(++h);this.chk||(D=this.vwr.getFont3D(O,P,B));break;case 2:B=this.intParameter(h);if(x)n=!0,k=(k+1)%2,C[k]=B;else{m=this.vwr.ms.getFirstAtomIndexFromAtomNumber(B,this.vwr.getVisibleFramesBitSet());if(!this.chk&&0>m)return;null!=E&&this.invArg();4<(l[0]=++j)&&a.bad();l[j]=m}break;case 1094713359:p=this.intParameter(++h);break;case 1073742334:268435538!=f&&this.invArg();f=1073742334;break;case 1073742335:268435538!= f&&this.invArg();f=1073742335;break;case 1073742114:n=x=!0;m=-1;break;case 1073741989:case 1073741990:t=Boolean.$valueOf(1073741989==a.theTok);x=!0;q=1073741990==a.theTok;break;case 1648363544:0<=k&&this.invArg();r=a.encodeRadiusParameter(h,!1,!0);if(null==r)return;r.values=C;h=a.iToken;x=q=!0;t=Boolean.$valueOf(!1);1==y&&(y++,j++,B=JU.BSUtil.copy(u),JU.BSUtil.invertInPlace(B,this.vwr.ms.ac),B.and(this.vwr.ms.getAtomsWithinRadius(5,u,!1,null)),A.addLast(B));break;case 12290:case 10:case 1073742325:y++; case 1073742332:case 8:case 1073742330:0<=m&&this.invArg();j=Array(1);E=a.centerParameter(h,j);if(I(j[0],JU.BS)&&(E=u=j[0],!this.chk&&0==u.length()))return;I(E,JU.P3)&&(h=new JU.Point3fi,h.setT(E),h.mi=p,E=h);4<(j=++s)&&a.bad();h=a.iToken;A.addLast(E);break;case 4:e=this.stringParameter(h);break;case 1073742164:v=a.tickParamAsStr(h,!1,!0,!0),h=a.iToken,f=12290}(null!=r&&(0<=k||2!=j)||2>j&&null==b&&(null==v||1==j))&&a.bad();null!=e&&0!=e.indexOf(j+":")&&(e=j+":"+e);n&&C[1]g&&(0==g&&(c[0]=1E8),c[1]=c[0],c[0]=0.1);l&&(p||(h=65535),m|| (j=1073742025));p=g=0;if(0h&&(h=0);0>s&&(s=0);c=this.vwr.ms.ac;d=null;g=JU.BS.newN(c);if(0c+1||(0>k||g.get(k))||(g.set(k),d[k]=m)}a[2]=d}else a[2]=JU.BSUtil.copy(e);a[1]=b;a[3]=Integer.$valueOf(0);this.vwr.setData(f,a,c,h,j,s,p)}else"occupany".equals(f)&&(f="occupancy"),h=JM.AtomCollection.getUserSettableType(f),-1h;h++)g[h]=new JU.V3,g[h].setT(this.centerParameter(++c)),c=a.iToken;break;case 12289:g=this.centerParameter(++c);c=a.iToken;break;case 1094713359:g=Integer.$valueOf(this.intParameter(++c));break;case 12291:g=Boolean.TRUE,this.checkLength(c+1)}if(null==g)switch(a.theTok){case 1073742335:f="on";g= Boolean.TRUE;break;case 1073742334:f="on";g=Boolean.FALSE;break;case 1073742138:g=Float.$valueOf(this.floatParameter(++c));break;case 12290:case 10:case 1073742325:f="atoms";g=this.atomExpressionAt(c);c=a.iToken;break;case 1765808134:case 603979967:case 1073742074:d=this.getColorTrans(a,c,!0,b);c=a.iToken;continue;case 1073742075:g=this.paramAsStr(++c)}null==g&&this.invArg();this.setShapeProperty(20,f.toLowerCase(),g)}this.finalizeObject(20,b[0],d,0,!1,null,0,null);this.setShapeProperty(20,"thisID", null)}else a.setShapeSizeBs(20,b,null)});k(c$,"image",function(){this.chk||this.vwr.getConsole();var a=1,b=null;1073741974==this.tokAt(1)&&(b=this.e.optParameterAsString(++a),a++);var c=this.e.optParameterAsString(a),d=this.e.optParameterAsString(this.slen-1).equalsIgnoreCase("close");if(!d&&(this.slen==a||this.slen==a+2))c=this.slen==a+2?this.intParameter(a++):-1,a=0>c?-1:this.intParameter(a),d=new java.util.Hashtable,d.put("fileName","\u0001\u0001"+b),d.put("backgroundColor",Integer.$valueOf(this.vwr.getBackgroundArgb())), d.put("type","png"),d.put("quality",Integer.$valueOf(-1)),d.put("width",Integer.$valueOf(c)),d.put("height",Integer.$valueOf(a)),this.chk||this.vwr.processWriteOrCapture(d);else{if(d)switch(this.slen){case 2:c="closeall";break;case 3:case 4:break;default:this.checkLength(0)}this.chk||this.vwr.fm.loadImage(d?"\u0001close":c,"\u0001"+c+"\u0001"+("".equals(b)||null==b?null:b),!1)}});k(c$,"invertSelected",function(){var a=this.e,b=null,c=null,d=null,f=-2147483648,e=1;switch(this.tokAt(1)){case 0:if(this.chk)return; d=this.vwr.bsA();b=this.vwr.ms.getAtomSetCenter(d);this.vwr.invertAtomCoordPt(b,d);return;case 528443:case 1140850689:e++;case 10:case 1073742325:case 12290:d=this.atomExpressionAt(e);if(!a.isAtomExpression(a.iToken+1)){a.checkLengthErrorPt(a.iToken+1,a.iToken+1);if(!this.chk)for(a=d.nextSetBit(0);0<=a;a=d.nextSetBit(a+1))this.vwr.invertRingAt(a,!1);return}f=d.nextSetBit(0);d=this.atomExpressionAt(a.iToken+1);break;case 134217751:b=a.centerParameter(2,null);break;case 134217750:c=a.planeParameter(1); break;case 134219265:c=a.hklParameter(2)}a.checkLengthErrorPt(a.iToken+1,1);null==c&&(null==b&&-2147483648==f)&&this.invArg();this.chk||-1!=f&&this.vwr.invertSelected(b,c,f,d)});k(c$,"mapProperty",function(){for(var a,b,c,d,f,e=0,g=0,h=0,j=this.e;;){if(1113589787==this.tokAt(1))a=this.vwr.bsA(),b=this.atomExpressionAt(2),c=d="selected";else{a=this.atomExpressionAt(1);if(1073742336!=this.tokAt(++j.iToken)||!JS.T.tokAttr(e=this.tokAt(++j.iToken),1077936128))break;c=this.paramAsStr(j.iToken);b=this.atomExpressionAt(++j.iToken); if(1073742336!=this.tokAt(++j.iToken)||!JS.T.tokAttr(g=this.tokAt(++j.iToken),2048))break;d=this.paramAsStr(j.iToken)}f=JS.T.tokAttr(h=this.tokAt(j.iToken+1),1077936128)?this.paramAsStr(++j.iToken):JS.T.nameOf(h=1094715393);j.checkLast(j.iToken);if(this.chk)return;var s=null;this.showString("mapping "+c.toUpperCase()+" for "+a.cardinality()+" atoms to "+d.toUpperCase()+" for "+b.cardinality()+" atoms using "+f.toUpperCase());if(JS.T.tokAttrOr(e,1094713344,1111490560)&&JS.T.tokAttrOr(g,1094713344, 1111490560)&&JS.T.tokAttrOr(h,1094713344,1111490560)){var k=this.getBitsetPropertyFloat(a,e|224,null,NaN,NaN),m=this.getBitsetPropertyFloat(a,h|224,null,NaN,NaN),e=this.getBitsetPropertyFloat(b,h|224,null,NaN,NaN),w=1715472409==g,l=L(w?this.vwr.ms.ac:e.length,0),s=new JU.BS;if(k.length==m.length){for(var C=new java.util.Hashtable,h=0;hc[h].indexOf("null")&&a.append(c[h]).appendC("\n");JU.Logger.debugging&&JU.Logger.debug(a.toString());c=JU.BSUtil.copy(this.vwr.slm.bsSubset);this.vwr.slm.setSelectionSubset(b); try{j.runScript(a.toString())}catch(z){if(N(z,Exception))b=z,this.vwr.slm.setSelectionSubset(c),j.errorStr(-1,"Error: "+b.getMessage());else if(N(z,Error))b=z,this.vwr.slm.setSelectionSubset(c),j.errorStr(-1,"Error: "+b.toString());else throw z;}this.vwr.slm.setSelectionSubset(c)}this.showString("DONE");return}this.invArg()});k(c$,"minimize",function(){for(var a=null,b=2147483647,c=0,d=!1,f=!1,e=null,g=!1,h=this.vwr.getMinimizer(!1),j=1;ja&&!this.isFloatParameter(j);)c[++a]=this.atomExpressionAt(j).nextSetBit(0),j=this.e.iToken+1;c[0]=a;1==a&&this.invArg();b=this.floatParameter(this.e.checkLast(j))}this.chk|| this.vwr.getMinimizer(!0).setProperty("constraint",D(-1,[c,H(a,0),Float.$valueOf(b)]));return;case 1073741905:c=this.floatParameter(++j);continue;case 1073741935:b=0;continue;case 12293:1!=j&&this.invArg();e=this.atomExpressionAt(++j);0>e.nextSetBit(0)&&(e=null);j=this.e.iToken;this.chk||this.vwr.getMinimizer(!0).setProperty("fixed",e);if(j+1==this.slen)return;continue;case 10:case 1073742325:g=!0;case 1275082245:1275082245==this.e.theTok&&j++;a=this.atomExpressionAt(j);j=this.e.iToken;1073742072== this.tokAt(j+1)&&(j++,g=!0);continue;case 1073742148:f=!0;break;case 266298:b=this.intParameter(++j);continue;default:this.invArg()}if(!this.chk)try{this.vwr.minimize(this.e,b,c,a,e,0,d,g,f,!1)}catch(s){if(N(s,Exception))throw new JS.ScriptInterruption(this.e,"minimize",1);throw s;}});k(c$,"modulation",function(){var a=null,b=this.e,c=!0,d=!1,f=null,e=1;switch(this.getToken(e).tok){case 1073742334:c=!1;case 0:case 1073742335:break;case 12290:case 10:case 1073742325:f=this.atomExpressionAt(1);switch(this.tokAt(b.iToken+ 1)){case 1073742334:c=!1;case 1073742335:b.iToken++}b.checkLast(b.iToken);break;case 1073742332:case 8:a=b.getPoint3f(1,!1,!0);d=1073742335==this.tokAt(b.iToken+1);break;default:var g=b.theToken.value.toString();e++;g.equalsIgnoreCase("t")?b.theTok=3:g.equalsIgnoreCase("m")||g.equalsIgnoreCase("q")?b.theTok=2:this.invArg();case 3:case 2:switch(b.theTok){case 3:this.isFloatParameter(e)?(a=this.floatParameter(e),a=JU.P3.new3(a,a,a)):a=b.getPoint3f(e,!1,!0);break;case 2:2==this.tokAt(e)?(d=this.intParameter(e), a=JU.P3.new3(d,d,d)):a=b.getPoint3f(e,!1,!0),d=!0}break;case 1073742138:c=this.floatParameter(2);this.chk||this.vwr.setFloatProperty("modulationScale",c);return}this.chk||(this.vwr.tm.setVibrationPeriod(0),this.vwr.setModulation(f,c,a,d))});k(c$,"mutate",function(){var a,b;switch(this.tokAt(1)){case 2:this.st[1]=JS.T.o(4,""+this.st[1].value);default:a=this.atomExpressionAt(1);b=++this.e.iToken;break;case 268435633:a=this.vwr.getAllAtoms(),b=2}a.and(this.vwr.getModelUndeletedAtomsBitSet(this.vwr.ms.mc- 1));var c=a.length()-1,d=0;if(!(0>c||(d=this.vwr.ms.at[c].mi)!=this.vwr.ms.mc-1||this.vwr.ms.isTrajectory(d)))if(c=this.e.optParameterAsString(b),this.e.checkLast(b),!this.chk&&this.vwr.ms.am[d].isBioModel){d=null;if(4==this.tokAt(b)&&!c.startsWith("~"))d=D(-1,[c]),c=null;else{c=JU.PT.replaceAllCharacters(c,",; \t\n"," ").trim().toUpperCase();if((b=c.startsWith("~"))||3!=c.length||!this.vwr.getJBR().isKnownPDBGroup(c,20))c=this.vwr.getJBR().toStdAmino3(b?c.substring(1):c);d=JU.PT.getTokens(c)}0e&&this.invArg();!this.chk&&0c&&b.errorStr(30,"plot");var c=this.vwr.ms.getJmolDataSourceFrame(c),d=a.length-1,f=a!==this.st,e=!0,g=this.st;f&&(b.st=this.st=a);var h=f?134222350:a[0].tok,j=f||134221850==h||4138==h?0:1,s=null,k=!0,m=!1;switch(h){case 135176:k=!1;m= !0;break;case 134222350:e=k=!1;break;case 134221856:k=!1,4==JS.CmdExt.tokAtArray(d,a)?s=this.stringParameter(d--):1073742336==JS.CmdExt.tokAtArray(d-1,a)?(s=this.paramAsStr(d-2)+"."+this.paramAsStr(d),d-=3):(b.st=this.st=g,b.iToken=this.st.length,this.error(13)),b.slen=this.slen=d+1}var f="",w=null,l="",C=!1,x=!1,z=!1,q=!1,n=Array(3),r=H(3,0),t=JU.BSUtil.copy(this.vwr.bsA()),K="; select "+JU.Escape.eBS(t)+";\n ",q=b.optParameterAsString(d).toLowerCase(),A=null,u=null,E=null,v=JS.CmdExt.tokAtArray(j, a);4==v&&(v=JS.T.getTokFromName(a[j].value));switch(v){default:b.iToken=1;this.invArg();break;case 134221834:b.iToken=1;q="data";K="";break;case 1715472409:b.iToken=j+1;for(a=0;3>a;a++){switch(this.tokAt(b.iToken)){case 4:r[a]=JS.T.getTokFromName(b.getToken(b.iToken).value);break;default:r[a]=this.tokAt(b.iToken);break;case 0:0==a&&this.invArg();case 1287653388:case 32:case 64:a=2;continue}1715472409!=r[a]&&!JS.T.tokAttr(r[a],1077936128)&&this.invArg();n[a]=this.getToken(b.iToken).value.toString(); b.iToken++}1287653388==this.tokAt(b.iToken)&&(E=this.stringParameter(++b.iToken),e=!1,b.iToken++);32==this.tokAt(b.iToken)&&(A=this.getPoint3f(++b.iToken,!1),b.iToken++);64==this.tokAt(b.iToken)&&(u=this.getPoint3f(++b.iToken,!1),b.iToken++);q="property "+n[0]+(null==n[1]?"":" "+n[1])+(null==n[2]?"":" "+n[2]);0>t.nextSetBit(0)&&(t=this.vwr.getModelUndeletedAtomsBitSet(c));l="select "+JU.Escape.eBS(t)+";\n ";break;case 4138:q.equalsIgnoreCase("draw")&&(q=b.optParameterAsString(--d).toLowerCase()); q=d>j&&q.startsWith("r");q="ramachandran"+(q?" r":"")+(135176==h?" draw":"");break;case 134221850:case 136314895:f=' "'+this.vwr.getQuaternionFrame()+'"';l="set quaternionFrame"+f+";\n ";C=!0;q.equalsIgnoreCase("draw")&&(m=!0,q=b.optParameterAsString(--d).toLowerCase());z=(x=q.startsWith("deriv")||q.startsWith("diff"))&&0=m.x&&(m.x=1);JS.T.tokAttr(r[1],1094713344)?(m.y=1,w.y=0):0.1=m.y&&(m.y=1);JS.T.tokAttr(r[2],1094713344)?(m.z=1,w.z=0):0.1=m.z&&(m.z=1);if(null==n[2]||null==n[1])w.z=A.z=u.z=m.z=0;for(a=0;a=p?"radius":"radius1";z=Float.$valueOf(p=0==p?0:this.floatParameter(n));d=!0;break;case 1073742066:if(!this.isFloatParameter(n+1)){l= this.e.centerParameter(++n,null);n=a.iToken;x=!0;continue}case 1073741937:this.setShapeProperty(21,"collapsed",null);case 1073742099:case 1073741924:r=JS.T.nameOf(a.theTok);switch(this.tokAt(n+1)){case 268435860:case 268435504:n++}z=Float.$valueOf(this.floatParameter(++n));break;case 1094717454:null==C&&this.invArg();r="model";z=Integer.$valueOf(this.intParameter(++n));break;case 1073742170:(1=u&&this.invArg(),E=JS.SV.iValue(this.tokenAt(c++,a)),0>=E&&this.invArg())}if(d=u&&this.invArg(),E=JS.SV.iValue(this.tokenAt(++c,a)),0>=E&&this.invArg()),2==JS.CmdExt.tokAtArray(c+1,a)&&(F=JS.SV.iValue(this.tokenAt(++c,a)))):JU.PT.isOneOf(q.toLowerCase(),";xyz;xyzrn;xyzvib;mol;mol67;sdf;v2000;v3000;json;pdb;pqr;cml;cif;qcjson;")&& (j=q.toUpperCase(),c+1==x&&c++);j.equals("IMAGE")&&JU.PT.isOneOf(q.toLowerCase(),";jpg;jpeg;jpg64;jpeg64;gif;gift;pdf;ppm;png;pngj;pngt;scene;")&&(j=q.toUpperCase(),F=-2147483648,c++)}c+2==x&&(d=JS.SV.sValue(this.tokenAt(++c,a)),0F&&(F=-1));null==l&&(l="");0==w&&(null==v||I(v,String))}if(!k)return l;if(p)return b.showStringPrint(l,!0),"";if(null!=v&&I(v,String))return this.writeMsg(v);if(q)return this.writeMsg(this.vwr.writeFileData(y,j,0,null));if(j.equals("SCENE"))v=t;else if(null==v&&(!d||null!=y))v=l;c&&JU.Logger.startTimer("write");d&&(b.refresh(!1),0>u&&(u=this.vwr.getScreenWidth()),0>E&&(E=this.vwr.getScreenHeight()));B=new java.util.Hashtable;null!=y&&B.put("fileName",y);B.put("backgroundColor",Integer.$valueOf(this.vwr.getBackgroundArgb())); B.put("type",j);I(v,String)&&-2147483648==F?B.put("text",v):I(v,Array)&&B.put("bytes",v);null!=f&&B.put("scripts",f);null!=A&&B.put("bsFrames",A);B.put("fullPath",C);B.put("quality",Integer.$valueOf(F));B.put("width",Integer.$valueOf(u));B.put("height",Integer.$valueOf(E));B.put("nVibes",Integer.$valueOf(r));b=this.vwr.processWriteOrCapture(B);null==b&&(b="canceled");d&&b.startsWith("OK")&&(b+="; width="+u+"; height="+E);c&&this.showString(JU.Logger.getTimerMsg("write",0));return this.writeMsg(b+ (null==e?"":e))},"~A");k(c$,"prepareBinaryOutput",function(a){var b=a.getMap();if(null==b||!b.containsKey("$_BINARY_$"))return null;a=new JU.Lst;for(var c,b=b.entrySet().iterator();b.hasNext()&&((c=b.next())||1);){var d=c.getKey();if(!d.equals("$_BINARY_$")){var f=c.getValue(),e=15==f.tok?f.value.data:null;null==e&&(f=f.asString(),e=f.startsWith(";base64,")?JU.Base64.decodeBase64(f):f.getBytes());if(d.equals("_DATA_")){a=new JU.Lst;a.addLast(e);break}else d.equals("_IMAGE_")?(a.add(0,d),a.add(1,null), a.add(2,e)):(a.addLast(d),a.addLast(null),a.addLast(e))}}return a},"JS.SV");k(c$,"writeMsg",function(a){if(this.chk||null==a)return"";var b=!a.startsWith("OK");b&&(this.e.evalError(a,null),alert(a));this.e.report(a,b);return a},"~S");k(c$,"show",function(){var a=this.e,b=null,c=this.paramAsStr(1),d=null,f=0;2this.vwr.am.cmi&&a.errorStr(30,"show "+a.theToken.value);e=this.plot(this.st);h=this.slen;break;case 14:case 1112152078:this.chk||(e=this.getContext(!1)); break;case 1073741888:g=a.optParameterAsString(2);0");break}h=3;b=this.paramAsStr(2);this.chk||(null== d&&this.vwr.sm.clearConsole(),e=this.vwr.getFileAsString3(b,!0,null));break;case 4115:e=1073742327==this.tokAt(2)&&0<(h=3)?this.vwr.getModelFileInfoAll():this.vwr.getModelFileInfo();break;case 1610616855:g=2==(h=this.slen)?2147483647:this.intParameter(2);1>g&&this.invArg();this.chk||(this.vwr.sm.clearConsole(),0==a.scriptLevel&&this.vwr.removeCommand(),e=this.vwr.getSetHistory(g));break;case 135180:this.chk||(e=this.getShapeProperty(24,"jvxlDataXml"));break;case 1073877011:case 1073877010:a.optParameterAsString(2).equalsIgnoreCase("list")? (this.e.sm.loadShape(27),e=this.chk?"":this.getShapeProperty(27,"list -1"),h=3):(k=2==(h=this.slen)?-2147483648:this.intParameter(2),this.chk||(e=this.getMoJvxl(k,1073877011==g)));break;case 1094717454:this.chk||(e=this.vwr.ms.getModelInfoAsString());break;case 537006096:this.chk||(e=this.vwr.getMeasurementInfoAsString());break;case 1073741864:h=3;!this.chk&&this.slen==h&&(e=this.paramAsStr(2),e=this.vwr.getOrientationText(JS.T.getTokFromName(e.equals("box")?"volume":e.equals("rotation")?"best":e), "best",null).toString());break;case 1073742132:g=this.tokAt(2),0==g?g=1073742132:h=3;case 1073742178:case 4129:this.chk||(e=this.vwr.getOrientationText(g,null,null).toString());break;case 1073742077:h=2;if(3a)return;a=b.iToken;break;case 1073742066:d=!0;case 1073742114:f=b.getPointOrPlane(++a,!1,!0,!1,!0,3,3,!0);f=JU.P4.new4(f.x,f.y,f.z,d?1:0);a=b.iToken;break;case 3:case 2:if(111>this.floatParameter(a)){a--;break}c=this.intParameter(a);break;default:b.isArrayParameter(a)?(h=b.getPointArray(a,4,!1),a=b.iToken):this.slen>a+1?(f=b.getPointOrPlane(a,!1,!0,!1,!0,3,3, !0),a=b.iToken):a--}d=b.getSetAxesTypeMad10(++a);b.checkLast(b.iToken);this.chk||2147483647==d||(2147483647==d&&(this.vwr.am.cai=-1),null==h&&null!=j&&(h=this.vwr.getV0abc(j)),2147483647!=c?this.vwr.ms.setUnitCellOffset(this.vwr.getCurrentUnitCell(),null,c):null!=g?this.vwr.setCurrentCage(g):(p||null!=h)&&b.setCurrentCagePts(h,k),b.setObjectMad10(33,"unitCell",d),null!=f&&this.vwr.ms.setUnitCellOffset(this.vwr.getCurrentUnitCell(),f,0),null!=e&&this.setShapeProperty(33,"tickInfo",e))},"~N");k(c$, "assign",function(){var a=this.tokAt(1),b=-1,c=-1;if(1140850689==a&&4==this.tokAt(2))this.e.iToken++;else if(b=this.atomExpressionAt(2).nextSetBit(0),0>b)return;var d=null;4106==a?c=this.atomExpressionAt(++this.e.iToken).nextSetBit(0):d=this.paramAsStr(++this.e.iToken);var f=++this.e.iTokena||(this.vwr.sm.modifySend(a,this.vwr.ms.at[a].mi,1,this.e.fullCommand),this.vwr.ms.assignAtom(a,c,!0,!0),JU.PT.isOneOf(c,";Mi;Pl;X;")||this.vwr.ms.setAtomNamesAndNumbers(a,-d,null),this.vwr.sm.modifySend(a,this.vwr.ms.at[a].mi,-1,"OK"), this.vwr.refresh(3,"assignAtom"));else{var f=0>a?null:this.vwr.ms.at[a],e=0>a?new JU.BS:JU.BSUtil.newAndSetBit(a);b=D(-1,[b]);var g=new JU.Lst,h=-1;null!=f&&(g.addLast(f),h=f.mi,this.vwr.sm.modifySend(a,h,3,this.e.fullCommand));try{var e=this.vwr.addHydrogensInline(e,g,b),j=e.nextSetBit(0);this.vwr.ms.assignAtom(j,c,!1,0<=a);a=j}catch(k){if(!N(k,Exception))throw k;}this.vwr.ms.setAtomNamesAndNumbers(a,-d,null);this.vwr.sm.modifySend(a,h,-3,"OK")}}},"~N,JU.P3,~S");k(c$,"assignBond",function(a,b){var c= -1;try{c=this.vwr.ms.bo[a].atom1.mi;this.vwr.sm.modifySend(a,c,2,this.e.fullCommand);var d=this.vwr.ms.assignBond(a,b);null==d||"0"==b?this.vwr.refresh(3,"setBondOrder"):this.vwr.addHydrogens(d,!1,!0);this.vwr.sm.modifySend(a,c,-2,""+b)}catch(f){if(N(f,Exception))JU.Logger.error("assignBond failed"),this.vwr.sm.modifySend(a,c,-2,"ERROR "+f);else throw f;}},"~N,~S");k(c$,"assignConnect",function(a,b){this.vwr.clearModelDependentObjects();var c=JU.AU.newFloat2(1);c[0]=L(-1,[a,b]);var d=this.vwr.ms.at[a].mi; this.vwr.sm.modifySend(a,d,2,this.e.fullCommand);this.vwr.ms.connect(c);this.vwr.ms.assignAtom(a,".",!0,!0);this.vwr.ms.assignAtom(b,".",!0,!0);this.vwr.sm.modifySend(a,d,-2,"OK");this.vwr.refresh(3,"assignConnect")},"~N,~N");k(c$,"getContext",function(a){for(var b=new JU.SB,c=this.e.thisContext;null!=c;)a?null!=c.vars&&(b.append(this.getScriptID(c)),b.append(JV.StateManager.getVariableList(c.vars,80,!0,!1))):b.append(JS.ScriptError.getErrorLineMessage(c.functionName,c.scriptFileName,this.e.getLinenumber(c), c.pc,JS.ScriptEval.statementAsString(this.vwr,c.statement,-9999,this.e.debugHigh))),c=c.parentContext;a?null!=this.e.contextVariables&&(b.append(this.getScriptID(null)),b.append(JV.StateManager.getVariableList(this.e.contextVariables,80,!0,!1))):b.append(this.e.getErrorLineMessage2());return b.toString()},"~B");k(c$,"getIsosurfaceJvxl",function(a,b){return this.chk?"":this.getShapeProperty(a,"PMESH"===b||"MESH"===b?"jvxlMeshX":"ISOMESH"===b?"pmesh":"ISOMESHBIN"===b||"PMB"===b?"pmeshbin":"jvxlDataXml")}, "~N,~S");k(c$,"getMoJvxl",function(a,b){var c=b?28:27;this.e.sm.loadShape(c);var d=this.vwr.am.cmi;0>d&&this.e.errorStr(30,"show/write MO/NBO");var f=this.vwr.ms.getInfo(d,"moData");null==f&&this.error(27);var e=this.getShapeProperty(c,"moNumber");(null==e||0==e.intValue())&&this.setShapeProperty(c,"init",Integer.$valueOf(d));this.setShapeProperty(c,"moData",f);return this.e.sm.getShapePropertyIndex(c,"showMO",a)},"~N,~B");k(c$,"getScriptID",function(a){return"\n# "+(null==a?this.e.functionName:"function "+ a.functionName)+" (file "+(null==a?this.e.scriptFileName:a.scriptFileName)+(null==a?"":" context "+a.id)+")\n"},"JS.ScriptContext");k(c$,"tokenAt",function(a,b){return ac&&(c=f)}return c},"~A,~B,~N");k(c$,"parseDataArray",function(a,b){a=JU.Parser.fixDataString(a);var c=JU.Parser.markLines(a,"\n"),d=c.length;if(!b){for(var f=JU.AU.newFloat2(d),e=0,g=0;eh||1>j||1>k)return L(1,1,1,0);for(var f=JU.AU.newFloat3(h,j),p=0,m=0,e=1,g=c[0];ef&&(b[a]=NaN);return b},"JU.BS,~N,~S,~N,~N");U(c$,"ERROR_invalidArgument",22)})})(Clazz,Clazz.getClassName,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.isAB,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);