(function(ba,Ba,Ca,v,Da,l,p,u,q,r,A,Ea,t,E,C,y,D,G,B,M,H,O,I,L,K,Q,R,N,W,x,ca,aa,T,V,ha,da,$,X,U,pa,qa,ia,ra,ka,la,sa,ta,ua,va,wa,ma,xa,ya,ea,za,Aa,b,e,fa){Jmol.___JmolDate="$Date: 2015-10-14 19:01:37 -0500 (Wed, 14 Oct 2015) $";Jmol.___fullJmolProperties="src/org/jmol/viewer/Jmol.properties";Jmol.___JmolVersion="14.4.0_2015.10.14";(function(l){l._Loader.registerPackages("java",["io","lang","lang.reflect","util"]);var v=java.util;l._Loader.ignore("net.sf.j2s.ajax.HttpRequest java.util.MapEntry.Type java.lang.Runtime java.security.AccessController java.security.PrivilegedExceptionAction java.io.File java.io.FileInputStream java.io.FileWriter java.io.OutputStreamWriter java.util.concurrent.Executors".split(" "));
Math.rint=Math.round;Math.log10||(Math.log10=function(b){return Math.log(b)/2.302585092994046});if(l._supportsNativeObject)for(var u=0;u<l._extendedObjectMethods.length-2;u++){var y=l._extendedObjectMethods[u];Array.prototype[y]=l._O.prototype[y];Number.prototype[y]=l._O.prototype[y]}java.lang.Number=Number;Number.__CLASS_NAME__="Number";$(Number,java.io.Serializable);Number.equals=l._innerFunctions.equals;Number.getName=l._innerFunctions.getName;Number.prototype.compareTo=function(b){var e=this.value;
b=b.value;return e<b?-1:e==b?0:1};b(Number,"shortValue",function(){var b=Math.round(this)&65535;return 0>this&&0<b?b-65536:b});b(Number,"byteValue",function(){var b=Math.round(this)&255;return 0>this&&0<b?b-256:b});b(Number,"intValue",function(){return Math.round(this)&4294967295});b(Number,"longValue",function(){return Math.round(this)});b(Number,"floatValue",function(){return this.valueOf()});b(Number,"doubleValue",function(){return parseFloat(this.valueOf())});e(Number,"hashCode",function(){return this.valueOf()});
java.lang.Integer=Integer=function(){q(this,arguments)};V(Integer,"Integer",Number,Comparable,null,!0);Integer.prototype.valueOf=function(){return 0};Integer.toString=Integer.prototype.toString=function(){return 0!=arguments.length?""+arguments[0]:this===Integer?"class java.lang.Integer":""+this.valueOf()};U(Integer,function(b){null==b&&(b=0);"number"!=typeof b&&(b=Integer.parseIntRadix(b,10));this.valueOf=function(){return b}});Integer.MIN_VALUE=Integer.prototype.MIN_VALUE=-2147483648;Integer.MAX_VALUE=
Integer.prototype.MAX_VALUE=2147483647;Integer.TYPE=Integer.prototype.TYPE=Integer;b(Integer,"bitCount",function(b){b-=b>>>1&1431655765;b=(b&858993459)+(b>>>2&858993459);b=b+(b>>>4)&252645135;b+=b>>>8;return b+(b>>>16)&63},"Number");Integer.bitCount=Integer.prototype.bitCount;b(Integer,"numberOfLeadingZeros",function(b){if(0==b)return 32;var e=1;0==b>>>16&&(e+=16,b<<=16);0==b>>>24&&(e+=8,b<<=8);0==b>>>28&&(e+=4,b<<=4);0==b>>>30&&(e+=2,b<<=2);return e-(b>>>31)},"Number");Integer.numberOfLeadingZeros=
Integer.prototype.numberOfLeadingZeros;b(Integer,"numberOfTrailingZeros",function(b){if(0==b)return 32;var e=31,l=b<<16;0!=l&&(e-=16,b=l);l=b<<8;0!=l&&(e-=8,b=l);l=b<<4;0!=l&&(e-=4,b=l);l=b<<2;0!=l&&(e-=2,b=l);return e-(b<<1>>>31)},"Number");Integer.numberOfTrailingZeros=Integer.prototype.numberOfTrailingZeros;b(Integer,"parseIntRadix",function(b,e){if(null==b)throw new NumberFormatException("null");if(2>e)throw new NumberFormatException("radix "+e+" less than Character.MIN_RADIX");if(36<e)throw new NumberFormatException("radix "+
e+" greater than Character.MAX_RADIX");if(10==e)for(var l=b.length;0<=--l;){var p=b.charCodeAt(l);if(!(48<=p&&57>=p)&&(0<l||43!=p&&45!=p))throw new NumberFormatException("Not a Number : "+b);}l=parseInt(b,e);if(isNaN(l))throw new NumberFormatException("Not a Number : "+b);return l},"String, Number");Integer.parseIntRadix=Integer.prototype.parseIntRadix;b(Integer,"parseInt",function(b){return Integer.parseIntRadix(b,10)},"String");Integer.parseInt=Integer.prototype.parseInt;e(Integer,"$valueOf",function(b){return new Integer(b)});
Integer.$valueOf=Integer.prototype.$valueOf;e(Integer,"equals",function(b){return null==b||!p(b,Integer)?!1:b.valueOf()==this.valueOf()},"Object");Integer.toHexString=Integer.prototype.toHexString=function(b){b.valueOf&&(b=b.valueOf());if(0>b){var e=b&16777215;return(b>>24&255)._numberToString(16)+(e="000000"+e._numberToString(16)).substring(e.length-6)}return b._numberToString(16)};Integer.toOctalString=Integer.prototype.toOctalString=function(b){b.valueOf&&(b=b.valueOf());return b._numberToString(8)};
Integer.toBinaryString=Integer.prototype.toBinaryString=function(b){b.valueOf&&(b=b.valueOf());return b._numberToString(2)};Integer.decodeRaw=b(Integer,"decodeRaw",function(b){0<=b.indexOf(".")&&(b="");var e=b.startsWith("-")?1:0;b=b.replace(/\#/,"0x").toLowerCase();e=b.startsWith("0x",e)?16:b.startsWith("0",e)?8:10;b=Number(b)&4294967295;return 8==e?parseInt(b,8):b},"~S");Integer.decode=b(Integer,"decode",function(b){b=Integer.decodeRaw(b);if(isNaN(b)||b<Integer.MIN_VALUE||b>Integer.MAX_VALUE)throw new NumberFormatException("Invalid Integer");
return new Integer(b)},"~S");e(Integer,"hashCode",function(){return this.valueOf()});java.lang.Long=Long=function(){q(this,arguments)};V(Long,"Long",Number,Comparable,null,!0);Long.prototype.valueOf=function(){return 0};Long.toString=Long.prototype.toString=function(){return 0!=arguments.length?""+arguments[0]:this===Long?"class java.lang.Long":""+this.valueOf()};U(Long,function(b){null==b&&(b=0);b="number"==typeof b?Math.round(b):Integer.parseIntRadix(b,10);this.valueOf=function(){return b}});Long.TYPE=
Long.prototype.TYPE=Long;b(Long,"parseLong",function(b,e){return Integer.parseInt(b,e||10)});Long.parseLong=Long.prototype.parseLong;e(Long,"$valueOf",function(b){return new Long(b)});Long.$valueOf=Long.prototype.$valueOf;e(Long,"equals",function(b){return null==b||!p(b,Long)?!1:b.valueOf()==this.valueOf()},"Object");Long.toHexString=Long.prototype.toHexString=function(b){return b.toString(16)};Long.toOctalString=Long.prototype.toOctalString=function(b){return b.toString(8)};Long.toBinaryString=Long.prototype.toBinaryString=
function(b){return b.toString(2)};Long.decode=b(Long,"decode",function(b){b=Integer.decodeRaw(b);if(isNaN(b))throw new NumberFormatException("Invalid Long");return new Long(b)},"~S");java.lang.Short=Short=function(){q(this,arguments)};V(Short,"Short",Number,Comparable,null,!0);Short.prototype.valueOf=function(){return 0};Short.toString=Short.prototype.toString=function(){return 0!=arguments.length?""+arguments[0]:this===Short?"class java.lang.Short":""+this.valueOf()};U(Short,function(b){null==b&&
(b=0);"number"!=typeof b&&(b=Integer.parseIntRadix(b,10));b=b.shortValue();this.valueOf=function(){return b}});Short.MIN_VALUE=Short.prototype.MIN_VALUE=-32768;Short.MAX_VALUE=Short.prototype.MAX_VALUE=32767;Short.TYPE=Short.prototype.TYPE=Short;b(Short,"parseShortRadix",function(b,e){return Integer.parseIntRadix(b,e).shortValue()},"String, Number");Short.parseShortRadix=Short.prototype.parseShortRadix;b(Short,"parseShort",function(b){return Short.parseShortRadix(b,10)},"String");Short.parseShort=
Short.prototype.parseShort;e(Short,"$valueOf",function(b){return new Short(b)});Short.$valueOf=Short.prototype.$valueOf;e(Short,"equals",function(b){return null==b||!p(b,Short)?!1:b.valueOf()==this.valueOf()},"Object");Short.toHexString=Short.prototype.toHexString=function(b){return b.toString(16)};Short.toOctalString=Short.prototype.toOctalString=function(b){return b.toString(8)};Short.toBinaryString=Short.prototype.toBinaryString=function(b){return b.toString(2)};Short.decode=b(Short,"decode",function(b){b=
Integer.decodeRaw(b);if(isNaN(b)||-32768>b||32767<b)throw new NumberFormatException("Invalid Short");return new Short(b)},"~S");java.lang.Byte=Byte=function(){q(this,arguments)};V(Byte,"Byte",Number,Comparable,null,!0);Byte.prototype.valueOf=function(){return 0};Byte.toString=Byte.prototype.toString=function(){return 0!=arguments.length?""+arguments[0]:this===Byte?"class java.lang.Byte":""+this.valueOf()};t(Byte,function(b){"number"!=typeof b&&(b=Integer.parseIntRadix(b,10));b=b.byteValue();this.valueOf=
function(){return b}});Byte.serialVersionUID=Byte.prototype.serialVersionUID=-0x63b19f7b11af0c00;Byte.MIN_VALUE=Byte.prototype.MIN_VALUE=-128;Byte.MAX_VALUE=Byte.prototype.MAX_VALUE=127;Byte.SIZE=Byte.prototype.SIZE=8;Byte.TYPE=Byte.prototype.TYPE=Byte;b(Byte,"parseByteRadix",function(b,e){return Integer.parseIntRadix(b,e).byteValue()},"String, Number");Byte.parseByteRadix=Byte.prototype.parseByteRadix;b(Byte,"parseByte",function(b){return Byte.parseByte(b,10)},"String");Byte.parseByte=Byte.prototype.parseByte;
e(Byte,"$valueOf",function(b){return new Byte(b)});Byte.$valueOf=Byte.prototype.$valueOf;e(Byte,"equals",function(b){return null==b||!p(b,Byte)?!1:b.valueOf()==this.valueOf()},"Object");Byte.toHexString=Byte.prototype.toHexString=function(b){return b.toString(16)};Byte.toOctalString=Byte.prototype.toOctalString=function(b){return b.toString(8)};Byte.toBinaryString=Byte.prototype.toBinaryString=function(b){return b.toString(2)};Byte.decode=b(Byte,"decode",function(b){b=Integer.decodeRaw(b);if(isNaN(b)||
-128>b||127<b)throw new NumberFormatException("Invalid Byte");return new Byte(b)},"~S");l._floatToString=function(b){b=""+b;0>b.indexOf(".")&&0>b.indexOf("e")&&(b+=".0");return b};java.lang.Float=Float=function(){q(this,arguments)};V(Float,"Float",Number,Comparable,null,!0);Float.prototype.valueOf=function(){return 0};Float.toString=Float.prototype.toString=function(){return 0!=arguments.length?l._floatToString(arguments[0]):this===Float?"class java.lang.Float":l._floatToString(this.valueOf())};U(Float,
function(b){null==b&&(b=0);"number"!=typeof b&&(b=Number(b));this.valueOf=function(){return b}});Float.serialVersionUID=Float.prototype.serialVersionUID=-0x2512365d24c31000;Float.MIN_VALUE=Float.prototype.MIN_VALUE=3.4028235E38;Float.MAX_VALUE=Float.prototype.MAX_VALUE=1.4E-45;Float.NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY;Float.POSITIVE_INFINITY=Number.POSITIVE_INFINITY;Float.NaN=Number.NaN;Float.TYPE=Float.prototype.TYPE=Float;b(Float,"parseFloat",function(b){if(null==b)throw new NumberFormatException("null");
if("number"==typeof b)return b;var e=Number(b);if(isNaN(e))throw new NumberFormatException("Not a Number : "+b);return e},"String");Float.parseFloat=Float.prototype.parseFloat;e(Float,"$valueOf",function(b){return new Float(b)});Float.$valueOf=Float.prototype.$valueOf;b(Float,"isNaN",function(b){return isNaN(1==arguments.length?b:this.valueOf())},"Number");Float.isNaN=Float.prototype.isNaN;b(Float,"isInfinite",function(b){return!isFinite(1==arguments.length?b:this.valueOf())},"Number");Float.isInfinite=
Float.prototype.isInfinite;e(Float,"equals",function(b){return null==b||!p(b,Float)?!1:b.valueOf()==this.valueOf()},"Object");java.lang.Double=Double=function(){q(this,arguments)};V(Double,"Double",Number,Comparable,null,!0);Double.prototype.valueOf=function(){return 0};Double.toString=Double.prototype.toString=function(){return 0!=arguments.length?l._floatToString(arguments[0]):this===Double?"class java.lang.Double":l._floatToString(this.valueOf())};U(Double,function(b){null==b&&(b=0);"number"!=
typeof b&&(b=Double.parseDouble(b));this.valueOf=function(){return b}});Double.serialVersionUID=Double.prototype.serialVersionUID=-0x7f4c3db5d6940400;Double.MIN_VALUE=Double.prototype.MIN_VALUE=4.9E-324;Double.MAX_VALUE=Double.prototype.MAX_VALUE=1.7976931348623157E308;Double.NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY;Double.POSITIVE_INFINITY=Number.POSITIVE_INFINITY;Double.NaN=Number.NaN;Double.TYPE=Double.prototype.TYPE=Double;b(Double,"isNaN",function(b){return isNaN(1==arguments.length?b:this.valueOf())},
"Number");Double.isNaN=Double.prototype.isNaN;b(Double,"isInfinite",function(b){return!isFinite(1==arguments.length?b:this.valueOf())},"Number");Double.isInfinite=Double.prototype.isInfinite;b(Double,"parseDouble",function(b){if(null==b)throw new NumberFormatException("null");if("number"==typeof b)return b;var e=Number(b);if(isNaN(e))throw new NumberFormatException("Not a Number : "+b);return e},"String");Double.parseDouble=Double.prototype.parseDouble;b(Double,"$valueOf",function(b){return new Double(b)},
"Number");Double.$valueOf=Double.prototype.$valueOf;e(Double,"equals",function(b){return null==b||!p(b,Double)?!1:b.valueOf()==this.valueOf()},"Object");Boolean=java.lang.Boolean=Boolean||function(){q(this,arguments)};if(l._supportsNativeObject)for(u=0;u<l._extendedObjectMethods.length;u++)y=l._extendedObjectMethods[u],Boolean.prototype[y]=l._O.prototype[y];Boolean.__CLASS_NAME__="Boolean";$(Boolean,[java.io.Serializable,java.lang.Comparable]);Boolean.equals=l._innerFunctions.equals;Boolean.getName=
l._innerFunctions.getName;Boolean.serialVersionUID=Boolean.prototype.serialVersionUID=-0x32df8d7f2a630600;U(Boolean,function(b){var e=("string"==typeof b?Boolean.toBoolean(b):b)?!0:!1;this.valueOf=function(){return e}},"~O");Boolean.parseBoolean=b(Boolean,"parseBoolean",function(b){return Boolean.toBoolean(b)},"~S");b(Boolean,"booleanValue",function(){return this.valueOf()});Boolean.$valueOf=e(Boolean,"$valueOf",function(b){return("string"==typeof b?"true".equalsIgnoreCase(b):b)?Boolean.TRUE:Boolean.FALSE});
e(Boolean,"toString",function(){return this.valueOf()?"true":"false"});e(Boolean,"hashCode",function(){return this.valueOf()?1231:1237});e(Boolean,"equals",function(b){return p(b,Boolean)?this.booleanValue()==b.booleanValue():!1},"~O");Boolean.getBoolean=b(Boolean,"getBoolean",function(b){var e=!1;try{e=Boolean.toBoolean(System.getProperty(b))}catch(l){if(!p(l,IllegalArgumentException)&&!p(l,NullPointerException))throw l;}return e},"~S");e(Boolean,"compareTo",function(b){return b.value==this.value?
0:this.value?1:-1},"Boolean");Boolean.toBoolean=b(Boolean,"toBoolean",($fz=function(b){return null!=b&&b.equalsIgnoreCase("true")},$fz.isPrivate=!0,$fz),"~S");Boolean.TRUE=Boolean.prototype.TRUE=new Boolean(!0);Boolean.FALSE=Boolean.prototype.FALSE=new Boolean(!1);Boolean.TYPE=Boolean.prototype.TYPE=Boolean;l._Encoding={};(function(b){b.UTF8="utf-8";b.UTF16="utf-16";b.ASCII="ascii";b.guessEncoding=function(e){return 239==e.charCodeAt(0)&&187==e.charCodeAt(1)&&191==e.charCodeAt(2)?b.UTF8:255==e.charCodeAt(0)&&
254==e.charCodeAt(1)?b.UTF16:b.ASCII};b.readUTF8=function(e){var a=this.guessEncoding(e),c=0;a==b.UTF8?c=3:a==b.UTF16&&(c=2);for(a=[];c<e.length;c++){var d=e.charCodeAt(c);if(128>d)a[a.length]=e.charAt(c);else if(192<d&&224>d){d&=31;c++;var j=e.charCodeAt(c)&63,d=(d<<6)+j;a[a.length]=String.fromCharCode(d)}else if(224<=d){d&=15;c++;j=e.charCodeAt(c)&63;c++;var f=e.charCodeAt(c)&63,d=(d<<12)+(j<<6)+f;a[a.length]=String.fromCharCode(d)}}return a.join("")};b.convert2UTF8=function(e){var a=this.guessEncoding(e),
c=0;if(a==b.UTF8)return e;a==b.UTF16&&(c=2);for(var a=Array(0+e.length-c),d=c;d<e.length;d++){var j=e.charCodeAt(d);if(128>j)a[0+d-c]=e.charAt(d);else if(2047>=j){var f=192+((j&1984)>>6),g=128+(j&63);a[0+d-c]=String.fromCharCode(f)+String.fromCharCode(g)}else f=224+((j&61440)>>12),g=128+((j&4032)>>6),j=128+(j&63),a[0+d-c]=String.fromCharCode(f)+String.fromCharCode(g)+String.fromCharCode(j)}return a.join("")};b.base64Chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
b.encodeBase64=function(e){if(null==e||0==e.length)return e;for(var a=b.base64Chars,c=e.length,d=0,j=[],f,g;d<c;)f=e.charCodeAt(d++),j[j.length]=a[f>>2],d<c?(g=e.charCodeAt(d++),j[j.length]=a[f<<4&48|g>>4],d<c?(f=e.charCodeAt(d++),j[j.length]=a[g<<2&60|f>>6],j[j.length]=a[f&63]):(j[j.length]=a[g<<2&60],j[j.length]="=")):(j[j.length]=a[f<<4&48],j[j.length]="=",j[j.length]="=");return j.join("")};b.decodeBase64=function(e){if(null==e||0==e.length)return e;var a=b.base64Chars,c=b.xBase64Chars;if(null==
b.xBase64Chars){for(var c={},d=0;d<a.length;d++)c[a[d]]=d;b.xBase64Chars=c}for(var a=e.length,d=0,j=[],f,g,h,k,m=0;d<a&&6E4>m++;)f=c[e.charAt(d++)],g=c[e.charAt(d++)],h=c[e.charAt(d++)],k=c[e.charAt(d++)],j[j.length]=String.fromCharCode(f<<2&255|g>>4),null!=h&&(j[j.length]=String.fromCharCode(g<<4&255|h>>2),null!=k&&(j[j.length]=String.fromCharCode(h<<6&255|k)));return j.join("")};if(null==String.prototype.$replace){java.lang.String=String;if(l._supportsNativeObject)for(var e=0;e<l._extendedObjectMethods.length;e++){var p=
l._extendedObjectMethods[e];"to$tring"==p||("toString"==p||"equals"==p||"hashCode"==p)||(String.prototype[p]=l._O.prototype[p])}$(String,[java.io.Serializable,CharSequence,Comparable]);String.getName=l._innerFunctions.getName;String.serialVersionUID=String.prototype.serialVersionUID=-0x5f0f5bc785c44c00;(function(e){e.$replace=function(a,d){if(a==d||0>this.indexOf(a))return""+this;1==a.length?0<="\\$.*+|?^{}()[]".indexOf(a)&&(a="\\"+a):a=a.replace(/([\\\$\.\*\+\|\?\^\{\}\(\)\[\]])/g,function(a,c){return"\\"+
c});return this.replace(RegExp(a,"gm"),d)};e.$generateExpFunction=function(a){var d=[],j=[],b=0;d[0]="";for(var g=0;g<a.length;g++){var h=a.charAt(g);g!=a.length-1&&"\\"==h?(g++,h=a.charAt(g),"\\"==h&&(d[b]+="\\"),d[b]+=h):g!=a.length-1&&"$"==h?(g++,j[b]=parseInt(a.charAt(g)),b++,d[b]=""):d[b]="\r"==h?d[b]+"\\r":"\n"==h?d[b]+"\\n":"\t"==h?d[b]+"\\t":'"'==h?d[b]+'\\"':d[b]+h}a="f = function (";b=Math.max.apply({},j);for(g=0;g<=b;g++)a+="$"+g,g!=b&&(a+=", ");a+=") { return ";for(g=0;g<d.length-1;g++)a+=
'"'+d[g]+'" + $'+j[g]+" + ";a+='"'+d[g]+'"; }';eval(a);return null};e.replaceAll=function(a,d){return this.replace(RegExp(a,"gm"),this.$generateExpFunction(d))};e.replaceFirst=function(a,d){return this.replace(RegExp(a,"m"),this.$generateExpFunction(d))};e.matches=function(a){null!=a&&(a="^("+a+")$");a=this.match(RegExp(a,"gm"));return null!=a&&0!=a.length};e.regionMatches=function(a,d,j,b,g){if("number"==typeof a||!0!=a&&!1!=a)g=b,b=j,j=d,d=a,a=!1;if(0>b||0>d||d>this.length-g||b>j.length-g)return!1;
d=this.substring(d,d+g);j=j.substring(b,b+g);a&&(d=d.toLowerCase(),j=j.toLowerCase());return d==j};e.$plit=function(a,d){if(!d&&" "==a)return this.split(a);if(null!=d&&0<d){if(1==d)return this;var j=RegExp("("+a+")","gm"),b=1,g=this.replace(j,function(a){b++;return b==d?"@@_@@":a}),j=RegExp(a,"gm"),j=this.split(j);j.length>d&&(j[d-1]=g.substring(g.indexOf("@@_@@")+5),j.length=d);return j}j=RegExp(a,"gm");return this.split(j)};e.trim||(e.trim=function(){return this.replace(/^\s+/g,"").replace(/\s+$/g,
"")});if(!e.startsWith||!e.endsWith){var a=function(a,d,j){var b=j,g=0,h=d.length;if(0>j||j>a.length-h)return!1;for(;0<=--h;)if(a.charAt(b++)!=d.charAt(g++))return!1;return!0};e.startsWith=function(c){return 1==arguments.length?a(this,arguments[0],0):2==arguments.length?a(this,arguments[0],arguments[1]):!1};e.endsWith=function(c){return a(this,c,this.length-c.length)}}e.equals=function(a){return this.valueOf()==a};e.equalsIgnoreCase=function(a){return null==a?!1:this==a||this.toLowerCase()==a.toLowerCase()};
e.hash=0;e.hashCode=function(){var a=this.hash;if(0==a){for(var d=0,j=this.length,b=0;b<j;b++)a=31*a+this.charCodeAt(d++),a&=4294967295;this.hash=a}return a};e.getBytes=function(){if(4==arguments.length)return this.getChars(arguments[0],arguments[1],arguments[2],arguments[3]);var a=this;if(1==arguments.length){for(var d=arguments[0].toString().toLowerCase(),j="utf-8 UTF8 us-ascii iso-8859-1 8859_1 gb2312 gb18030 gbk".split(" "),f=!1,g=0;g<j.length;g++)if(j[g]==d){f=!0;break}if(!f)throw new java.io.UnsupportedEncodingException;
if("utf-8"==d||"utf8"==d)a=b.convert2UTF8(this)}d=Array(a.length);for(g=f=j=0;g<a.length;g++)j=a.charCodeAt(g),255<j?(d[f]=26,d[f+1]=j&255,d[f+2]=(j&65280)>>8,f+=2):d[f]=j,f++;return d};e.contains=function(a){return 0<=this.indexOf(a)};e.compareTo=function(a){return this>a?1:this<a?-1:0};e.toCharArray=function(){for(var a=Array(this.length),d=0;d<this.length;d++)a[d]=this.charAt(d);return a};String.value0f=String.valueOf;String.valueOf=function(a){if("undefined"==a)return String.value0f();if(a instanceof
Array){if(1==arguments.length)return a.join("");for(var d=arguments[1],j=arguments[2],b=Array(j),g=0;g<j;g++)b[g]=a[d+g];return b.join("")}return""+a};e.subSequence=function(a,d){return this.substring(a,d)};e.compareToIgnoreCase=function(a){if(null==a)throw new NullPointerException;var d=this.toUpperCase(),j=a.toUpperCase();if(d==j)return 0;d=this.toLowerCase();j=a.toLowerCase();return d==j?0:d>j?1:-1};e.contentEquals=function(a){if(this.length!=a.length())return!1;a=a.getValue();for(var d=0,j=0,
b=this.length;0!=b--;)if(this.charCodeAt(d++)!=a[j++])return!1;return!0};e.getChars=function(a,d,j,b){if(0>a)throw new StringIndexOutOfBoundsException(a);if(d>this.length)throw new StringIndexOutOfBoundsException(d);if(a>d)throw new StringIndexOutOfBoundsException(d-a);if(null==j)throw new NullPointerException;for(var g=0;g<d-a;g++)j[b+g]=this.charAt(a+g)};e.$concat=e.concat;e.concat=function(a){if(null==a)throw new NullPointerException;return this.$concat(a)};e.$lastIndexOf=e.lastIndexOf;e.lastIndexOf=
function(a,d){return null!=d&&0>=d+this.length?-1:null!=d?this.$lastIndexOf(a,d):this.$lastIndexOf(a)};e.intern=function(){return this.valueOf()};String.copyValueOf=e.copyValueOf=function(){return 1==arguments.length?String.instantialize(arguments[0]):String.instantialize(arguments[0],arguments[1],arguments[2])};e.codePointAt||(e.codePointAt=e.charCodeAt)})(String.prototype);String.instantialize=function(){switch(arguments.length){case 0:return new String;case 1:var e=arguments[0];if("string"==typeof e||
e instanceof String)return new String(e);if(e instanceof Array||e instanceof Int32Array){if(0==e.length)return"";if("number"!=typeof e[0])return e.join("");for(var a=Array(e.length),c=0;c<e.length;c++)a[c]=String.fromCharCode(e[c]&255);return b.readUTF8(a.join(""))}if("StringBuffer"==e.__CLASS_NAME__||"java.lang.StringBuffer"==e.__CLASS_NAME__){for(var a=e.shareValue(),d=e.length(),e=Array(d),c=0;c<d;c++)e[c]=a[c];return e.join("")}return""+e;case 2:return e=arguments[0],d=arguments[1],"string"==
typeof d?String.instantialize(e,0,e.length,d):String.instantialize(e,d,0,e.length);case 3:var e=arguments[0],j=arguments[1],d=arguments[2];arguments[2]instanceof Array&&(e=arguments[2],j=arguments[0],d=arguments[1]);a=Array(d);if(0>j||d+j>e.length)throw new IndexOutOfBoundsException;if(0<d)if(null!=e[j].length)for(c=0;c<d;c++)a[c]=e[j+c];else for(c=0;c<d;c++)a[c]=String.fromCharCode(e[j+c]);return a.join("");case 4:var e=arguments[0],f=arguments[3];if("string"==typeof f||f instanceof String){j=arguments[1];
d=arguments[2];a=Array(d);for(c=0;c<d;c++)a[c]=e[j+c],"number"==typeof a[c]&&(a[c]=String.fromCharCode(a[c]&255));c=f.toLowerCase();return"utf-8"==c||"utf8"==c?b.readUTF8(a.join("")):a.join("")}c=arguments[3];j=arguments[2];d=arguments[1];a=Array(c);if(0==d)for(;0<c--;)a[c]=String.fromCharCode(e[c+j]&255);else for(d<<=8;0<c--;)a[c]=String.fromCharCode(d|e[c+j]&255);return a.join("");default:a="";for(c=0;c<arguments.length;c++)a+=arguments[c];return a}};-1!=navigator.userAgent.toLowerCase().indexOf("chrome")&&
(String.prototype.toString=function(){return this.valueOf()})}})(l._Encoding);c$=r(function(){this.value=0;q(this,arguments)},java.lang,"Character",null,[java.io.Serializable,Comparable]);t(c$,function(b){this.value=b},"~N");b(c$,"charValue",function(){return this.value});e(c$,"hashCode",function(){return this.value.charCodeAt(0)});e(c$,"equals",function(b){return p(b,Character)?this.value.charCodeAt(0)==b.charValue().charCodeAt(0):!1},"~O");e(c$,"compareTo",function(b){return this.value.charCodeAt(0)-
b.value.charCodeAt(0)},"Character");c$.toLowerCase=b(c$,"toLowerCase",function(b){return(""+b).toLowerCase().charAt(0)},"~N");c$.toUpperCase=b(c$,"toUpperCase",function(b){return(""+b).toUpperCase().charAt(0)},"~N");c$.isDigit=b(c$,"isDigit",function(b){b=b.charCodeAt(0);return 48<=b&&57>=b},"~N");c$.isUpperCase=b(c$,"isUpperCase",function(b){b=b.charCodeAt(0);return 65<=b&&90>=b},"~N");c$.isLowerCase=b(c$,"isLowerCase",function(b){b=b.charCodeAt(0);return 97<=b&&122>=b},"~N");c$.isWhitespace=b(c$,
"isWhitespace",function(b){b=b.charCodeAt(0);return 28<=b&&32>=b||9<=b&&13>=b||5760==b||8192<=b&&8199!=b&&(8203>=b||8232==b||8233==b||12288==b)},"~N");c$.isLetter=b(c$,"isLetter",function(b){b=b.charCodeAt(0);return 65<=b&&90>=b||97<=b&&122>=b},"~N");c$.isLetterOrDigit=b(c$,"isLetterOrDigit",function(b){b=b.charCodeAt(0);return 65<=b&&90>=b||97<=b&&122>=b||48<=b&&57>=b},"~N");c$.isSpaceChar=b(c$,"isSpaceChar",function(b){b=b.charCodeAt(0);return 32==b||160==b||5760==b?!0:8192>b?!1:8203>=b||8232==
b||8233==b||8239==b||12288==b},"~N");c$.digit=b(c$,"digit",function(b,e){var l=b.charCodeAt(0);if(2<=e&&36>=e&&128>l){var p=-1;48<=l&&57>=l?p=l-48:97<=l&&122>=l?p=l-87:65<=l&&90>=l&&(p=l-55);return p<e?p:-1}return-1},"~N,~N");e(c$,"toString",function(){return String.valueOf([this.value])});c$.toString=e(c$,"toString",function(b){return this===Character?"class java.lang.Character":String.valueOf(b)},"~N");D(c$,"MIN_VALUE","\x00","MAX_VALUE","\uffff","MIN_RADIX",2,"MAX_RADIX",36,"TYPE",null);java.lang.Character.TYPE=
java.lang.Character.prototype.TYPE=java.lang.Character;l._ArrayWrapper=function(b,e){return{a:b,__CLASS_NAME__:"Array",superClazz:Array,getComponentType:function(){return e},instanceOf:function(b){return p(e,b)},getName:function(){return this.__CLASS_NAME__}}};c$=B(java.lang.reflect,"Array");c$.newInstance=b(c$,"newInstance",function(b,e){var p=x(e);p.getClass=function(){return new l._ArrayWrapper(this,b)};return p},"Class,~N");v.Date=Date;Date.TYPE="javautil.Date";Date.__CLASS_NAME__="Date";$(Date,
[java.io.Serializable,java.lang.Comparable]);b(v.Date,"clone",function(){return new Date(this.getTime())});b(v.Date,"before",function(b){return this.getTime()<b.getTime()},"javautil.Date");b(v.Date,"after",function(b){return this.getTime()>b.getTime()},"javautil.Date");b(v.Date,"equals",function(b){return p(b,v.Date)&&this.getTime()==b.getTime()},"Object");b(v.Date,"compareTo",function(b){var e=this.getTime();b=b.getTime();return e<b?-1:e==b?0:1},"javautil.Date");b(v.Date,"compareTo",function(b){return this.compareTo(b)},
"Object");e(v.Date,"hashCode",function(){var b=this.getTime();return parseInt(b)^parseInt(b>>32)});c$=r(function(){this.source=null;q(this,arguments)},v,"EventObject",null,java.io.Serializable);t(c$,function(b){if(null!=b)this.source=b;else throw new IllegalArgumentException;},"~O");b(c$,"getSource",function(){return this.source});e(c$,"toString",function(){return this.getClass().getName()+"[source="+String.valueOf(this.source)+"]"});I(v,"EventListener");c$=r(function(){this.listener=null;q(this,
arguments)},v,"EventListenerProxy",null,v.EventListener);t(c$,function(b){this.listener=b},"javautil.EventListener");b(c$,"getListener",function(){return this.listener});I(v,"Iterator");I(v,"ListIterator",v.Iterator);I(v,"Enumeration");I(v,"Collection",Iterable);I(v,"Set",v.Collection);I(v,"Map");I(v.Map,"Entry");I(v,"List",v.Collection);I(v,"Queue",v.Collection);I(v,"RandomAccess");c$=r(function(){this.stackTrace=this.cause=this.detailMessage=null;q(this,arguments)},java.lang,"Throwable",null,java.io.Serializable);
M(c$,function(){this.cause=this});t(c$,function(){this.fillInStackTrace()});t(c$,function(b){this.fillInStackTrace();this.detailMessage=b},"~S");t(c$,function(b,e){this.fillInStackTrace();this.detailMessage=b;this.cause=e},"~S,Throwable");t(c$,function(b){this.fillInStackTrace();this.detailMessage=null==b?null:b.toString();this.cause=b},"Throwable");b(c$,"getMessage",function(){return this.message||this.detailMessage||this.toString()});b(c$,"getLocalizedMessage",function(){return this.getMessage()});
b(c$,"getCause",function(){return this.cause===this?null:this.cause});b(c$,"initCause",function(b){if(this.cause!==this)throw new IllegalStateException("Can't overwrite cause");if(b===this)throw new IllegalArgumentException("Self-causation not permitted");this.cause=b;return this},"Throwable");e(c$,"toString",function(){var b=this.getClass().getName(),e=this.message||this.detailMessage;return e?b+": "+e:b});b(c$,"printStackTrace",function(){System.err.println(this.getStackTrace?this.getStackTrace():
this.message+" "+ea())});b(c$,"getStackTrace",function(){for(var b=""+this+"\n",e=0;e<this.stackTrace.length;e++){var l=this.stackTrace[e],p=l.methodName.indexOf("(");if("construct"!=l.methodName.substring(0,p).replace(/\s+/g,"")||null==l.nativeClazz||0>ia(l.nativeClazz,Throwable))b+=l+"\n"}return b});b(c$,"printStackTrace",function(){this.printStackTrace()},"java.io.PrintStream");b(c$,"printStackTrace",function(){this.printStackTrace()},"java.io.PrintWriter");b(c$,"fillInStackTrace",function(){this.stackTrace=
[];for(var b=arguments.callee.caller,e=null,p=[],v=l._callingStackTraces.length-1,a=!0;-1<v||null!=b;){var c=null;if(!a||b==ya||b==T||null==b){if(0>v)break;a=!0;e=l._callingStackTraces[v].caller;c=l._callingStackTraces[v].owner;v--}else e=b,null!=e.claxxOwner?c=e.claxxOwner:null!=e.exClazz&&(c=e.exClazz);b=new StackTraceElement(null!=c&&0!=c.__CLASS_NAME__.length?c.__CLASS_NAME__:"anonymous",(null==e.exName?"anonymous":e.exName)+" ("+ra(e.arguments)+")",null,-1);b.nativeClazz=c;this.stackTrace[this.stackTrace.length]=
b;for(c=0;c<p.length;c++)p[c]==e&&(b=new StackTraceElement("lost","missing",null,-3),b.nativeClazz=null,this.stackTrace[this.stackTrace.length]=b,a=!1);null!=e&&(p[p.length]=e);b=e.arguments.callee.caller}l._initializingException=!1;return this});b(c$,"setStackTrace",function(b){b=b.clone();for(var e=0;e<b.length;e++)if(null==b[e])throw new NullPointerException("stackTrace["+e+"]");this.stackTrace=b},"~A");c$=r(function(){this.fileName=this.methodName=this.declaringClass=null;this.lineNumber=0;q(this,
arguments)},java.lang,"StackTraceElement",null,java.io.Serializable);t(c$,function(b,e,l,p){if(null==b||null==e)throw new NullPointerException;this.declaringClass=b;this.methodName=e;this.fileName=l;this.lineNumber=p},"~S,~S,~S,~N");e(c$,"equals",function(b){if(!p(b,StackTraceElement)||(null==this.methodName||null==b.methodName)||!this.getMethodName().equals(b.getMethodName())||!this.getClassName().equals(b.getClassName()))return!1;var e=this.getFileName();if(null==e){if(null!=b.getFileName())return!1}else if(!e.equals(b.getFileName()))return!1;
return this.getLineNumber()!=b.getLineNumber()?!1:!0},"~O");b(c$,"getClassName",function(){return null==this.declaringClass?"<unknown class>":this.declaringClass});b(c$,"getFileName",function(){return this.fileName});b(c$,"getLineNumber",function(){return this.lineNumber});b(c$,"getMethodName",function(){return null==this.methodName?"<unknown method>":this.methodName});e(c$,"hashCode",function(){return null==this.methodName?0:this.methodName.hashCode()^this.declaringClass.hashCode()});b(c$,"isNativeMethod",
function(){return-2==this.lineNumber});e(c$,"toString",function(){var b=new StringBuilder(80);b.append(this.getClassName());b.append(".");b.append(this.getMethodName());if(this.isNativeMethod())b.append("(Native Method)");else{var e=this.getFileName();if(null==e)b.append("(Unknown Source)");else{var l=this.getLineNumber();b.append("(");b.append(e);0<=l&&(b.append(":"),b.append(l));b.append(")")}}return b.toString()});TypeError.prototype.getMessage||(TypeError.prototype.getMessage=function(){return(this.message||
this.toString())+(this.getStackTrace?this.getStackTrace():ea())});c$=B(java.lang,"Error",Throwable);c$=B(java.lang,"LinkageError",Error);c$=B(java.lang,"IncompatibleClassChangeError",LinkageError);c$=B(java.lang,"AbstractMethodError",IncompatibleClassChangeError);c$=B(java.lang,"AssertionError",Error);t(c$,function(b){H(this,AssertionError,[String.valueOf(b),p(b,Throwable)?b:null])},"~O");t(c$,function(b){this.construct(""+b)},"~B");t(c$,function(b){this.construct(""+b)},"~N");c$=B(java.lang,"ClassCircularityError",
LinkageError);c$=B(java.lang,"ClassFormatError",LinkageError);c$=r(function(){this.exception=null;q(this,arguments)},java.lang,"ExceptionInInitializerError",LinkageError);t(c$,function(){H(this,ExceptionInInitializerError);this.initCause(null)});t(c$,function(b){H(this,ExceptionInInitializerError,[b]);this.initCause(null)},"~S");t(c$,function(b){H(this,ExceptionInInitializerError);this.exception=b;this.initCause(b)},"Throwable");b(c$,"getException",function(){return this.exception});e(c$,"getCause",
function(){return this.exception});c$=B(java.lang,"IllegalAccessError",IncompatibleClassChangeError);c$=B(java.lang,"InstantiationError",IncompatibleClassChangeError);c$=B(java.lang,"VirtualMachineError",Error);c$=B(java.lang,"InternalError",VirtualMachineError);c$=B(java.lang,"NoClassDefFoundError",LinkageError);c$=B(java.lang,"NoSuchFieldError",IncompatibleClassChangeError);c$=B(java.lang,"NoSuchMethodError",IncompatibleClassChangeError);c$=B(java.lang,"OutOfMemoryError",VirtualMachineError);c$=
B(java.lang,"StackOverflowError",VirtualMachineError);c$=B(java.lang,"UnknownError",VirtualMachineError);c$=B(java.lang,"UnsatisfiedLinkError",LinkageError);c$=B(java.lang,"UnsupportedClassVersionError",ClassFormatError);c$=B(java.lang,"VerifyError",LinkageError);c$=B(java.lang,"ThreadDeath",Error);t(c$,function(){H(this,ThreadDeath,[])});c$=B(java.lang,"Exception",Throwable);c$=B(java.lang,"RuntimeException",Exception);c$=B(java.lang,"ArithmeticException",RuntimeException);c$=B(java.lang,"IndexOutOfBoundsException",
RuntimeException);c$=B(java.lang,"ArrayIndexOutOfBoundsException",IndexOutOfBoundsException);t(c$,function(b){H(this,ArrayIndexOutOfBoundsException,["Array index out of range: "+b])},"~N");c$=B(java.lang,"ArrayStoreException",RuntimeException);c$=B(java.lang,"ClassCastException",RuntimeException);c$=r(function(){this.ex=null;q(this,arguments)},java.lang,"ClassNotFoundException",Exception);t(c$,function(){H(this,ClassNotFoundException,[ca("Throwable")])});t(c$,function(b){H(this,ClassNotFoundException,
[b,null])},"~S");t(c$,function(b,e){H(this,ClassNotFoundException,[b]);this.ex=e},"~S,Throwable");b(c$,"getException",function(){return this.ex});e(c$,"getCause",function(){return this.ex});c$=B(java.lang,"CloneNotSupportedException",Exception);c$=B(java.lang,"IllegalAccessException",Exception);c$=B(java.lang,"IllegalArgumentException",RuntimeException);t(c$,function(b){H(this,IllegalArgumentException,[null==b?null:b.toString(),b])},"Throwable");c$=B(java.lang,"IllegalMonitorStateException",RuntimeException);
c$=B(java.lang,"IllegalStateException",RuntimeException);t(c$,function(b){H(this,IllegalStateException,[null==b?null:b.toString(),b])},"Throwable");c$=B(java.lang,"IllegalThreadStateException",IllegalArgumentException);c$=B(java.lang,"InstantiationException",Exception);c$=B(java.lang,"InterruptedException",Exception);c$=B(java.lang,"NegativeArraySizeException",RuntimeException);c$=B(java.lang,"NoSuchFieldException",Exception);c$=B(java.lang,"NoSuchMethodException",Exception);c$=B(java.lang,"NullPointerException",
RuntimeException);c$=B(java.lang,"NumberFormatException",IllegalArgumentException);c$=B(java.lang,"SecurityException",RuntimeException);t(c$,function(b){H(this,SecurityException,[null==b?null:b.toString(),b])},"Throwable");c$=B(java.lang,"StringIndexOutOfBoundsException",IndexOutOfBoundsException);t(c$,function(b){H(this,StringIndexOutOfBoundsException,["String index out of range: "+b])},"~N");c$=B(java.lang,"UnsupportedOperationException",RuntimeException);t(c$,function(){H(this,UnsupportedOperationException,
[])});t(c$,function(b){H(this,UnsupportedOperationException,[null==b?null:b.toString(),b])},"Throwable");c$=r(function(){this.target=null;q(this,arguments)},java.lang.reflect,"InvocationTargetException",Exception);t(c$,function(){H(this,java.lang.reflect.InvocationTargetException,[ca("Throwable")])});t(c$,function(b){H(this,java.lang.reflect.InvocationTargetException,[null,b]);this.target=b},"Throwable");t(c$,function(b,e){H(this,java.lang.reflect.InvocationTargetException,[e,b]);this.target=b},"Throwable,~S");
b(c$,"getTargetException",function(){return this.target});e(c$,"getCause",function(){return this.target});c$=r(function(){this.undeclaredThrowable=null;q(this,arguments)},java.lang.reflect,"UndeclaredThrowableException",RuntimeException);t(c$,function(b){H(this,java.lang.reflect.UndeclaredThrowableException);this.undeclaredThrowable=b;this.initCause(b)},"Throwable");t(c$,function(b,e){H(this,java.lang.reflect.UndeclaredThrowableException,[e]);this.undeclaredThrowable=b;this.initCause(b)},"Throwable,~S");
b(c$,"getUndeclaredThrowable",function(){return this.undeclaredThrowable});e(c$,"getCause",function(){return this.undeclaredThrowable});c$=B(java.io,"IOException",Exception);c$=B(java.io,"CharConversionException",java.io.IOException);c$=B(java.io,"EOFException",java.io.IOException);c$=B(java.io,"FileNotFoundException",java.io.IOException);c$=r(function(){this.bytesTransferred=0;q(this,arguments)},java.io,"InterruptedIOException",java.io.IOException);c$=B(java.io,"ObjectStreamException",java.io.IOException);
c$=r(function(){this.classname=null;q(this,arguments)},java.io,"InvalidClassException",java.io.ObjectStreamException);t(c$,function(b,e){H(this,java.io.InvalidClassException,[e]);this.classname=b},"~S,~S");b(c$,"getMessage",function(){var b=T(this,java.io.InvalidClassException,"getMessage",[]);null!=this.classname&&(b=this.classname+"; "+b);return b});c$=B(java.io,"InvalidObjectException",java.io.ObjectStreamException);c$=B(java.io,"NotActiveException",java.io.ObjectStreamException);c$=B(java.io,
"NotSerializableException",java.io.ObjectStreamException);c$=r(function(){this.eof=!1;this.length=0;q(this,arguments)},java.io,"OptionalDataException",java.io.ObjectStreamException);c$=B(java.io,"StreamCorruptedException",java.io.ObjectStreamException);c$=B(java.io,"SyncFailedException",java.io.IOException);c$=B(java.io,"UnsupportedEncodingException",java.io.IOException);c$=B(java.io,"UTFDataFormatException",java.io.IOException);c$=r(function(){this.detail=null;q(this,arguments)},java.io,"WriteAbortedException",
java.io.ObjectStreamException);t(c$,function(b,e){H(this,java.io.WriteAbortedException,[b]);this.detail=e;this.initCause(e)},"~S,Exception");b(c$,"getMessage",function(){var b=T(this,java.io.WriteAbortedException,"getMessage",[]);return this.detail?b+"; "+this.detail.toString():b});e(c$,"getCause",function(){return this.detail});c$=B(v,"ConcurrentModificationException",RuntimeException);t(c$,function(){H(this,v.ConcurrentModificationException,[])});c$=B(v,"EmptyStackException",RuntimeException);c$=
r(function(){this.key=this.className=null;q(this,arguments)},v,"MissingResourceException",RuntimeException);t(c$,function(b,e,l){H(this,v.MissingResourceException,[b]);this.className=e;this.key=l},"~S,~S,~S");b(c$,"getClassName",function(){return this.className});b(c$,"getKey",function(){return this.key});c$=B(v,"NoSuchElementException",RuntimeException);c$=B(v,"TooManyListenersException",Exception);c$=B(java.lang,"Void");D(c$,"TYPE",null);java.lang.Void.TYPE=java.lang.Void;I(java.lang.reflect,"GenericDeclaration");
I(java.lang.reflect,"AnnotatedElement");c$=B(java.lang.reflect,"AccessibleObject",null,java.lang.reflect.AnnotatedElement);t(c$,function(){});b(c$,"isAccessible",function(){return!1});c$.setAccessible=b(c$,"setAccessible",function(){},"~A,~B");b(c$,"setAccessible",function(){},"~B");e(c$,"isAnnotationPresent",function(){return!1},"Class");e(c$,"getDeclaredAnnotations",function(){return[]});e(c$,"getAnnotations",function(){return[]});e(c$,"getAnnotation",function(){return null},"Class");c$.marshallArguments=
b(c$,"marshallArguments",function(){return null},"~A,~A");b(c$,"invokeV",function(){},"~O,~A");b(c$,"invokeL",function(){return null},"~O,~A");b(c$,"invokeI",function(){return 0},"~O,~A");b(c$,"invokeJ",function(){return 0},"~O,~A");b(c$,"invokeF",function(){return 0},"~O,~A");b(c$,"invokeD",function(){return 0},"~O,~A");c$.emptyArgs=c$.prototype.emptyArgs=[];I(java.lang.reflect,"InvocationHandler");c$=I(java.lang.reflect,"Member");D(c$,"PUBLIC",0,"DECLARED",1);c$=B(java.lang.reflect,"Modifier");
t(c$,function(){});c$.isAbstract=b(c$,"isAbstract",function(b){return 0!=(b&1024)},"~N");c$.isFinal=b(c$,"isFinal",function(b){return 0!=(b&16)},"~N");c$.isInterface=b(c$,"isInterface",function(b){return 0!=(b&512)},"~N");c$.isNative=b(c$,"isNative",function(b){return 0!=(b&256)},"~N");c$.isPrivate=b(c$,"isPrivate",function(b){return 0!=(b&2)},"~N");c$.isProtected=b(c$,"isProtected",function(b){return 0!=(b&4)},"~N");c$.isPublic=b(c$,"isPublic",function(b){return 0!=(b&1)},"~N");c$.isStatic=b(c$,
"isStatic",function(b){return 0!=(b&8)},"~N");c$.isStrict=b(c$,"isStrict",function(b){return 0!=(b&2048)},"~N");c$.isSynchronized=b(c$,"isSynchronized",function(b){return 0!=(b&32)},"~N");c$.isTransient=b(c$,"isTransient",function(b){return 0!=(b&128)},"~N");c$.isVolatile=b(c$,"isVolatile",function(b){return 0!=(b&64)},"~N");c$.toString=b(c$,"toString",function(b){var e=[];java.lang.reflect.Modifier.isPublic(b)&&(e[e.length]="public");java.lang.reflect.Modifier.isProtected(b)&&(e[e.length]="protected");
java.lang.reflect.Modifier.isPrivate(b)&&(e[e.length]="private");java.lang.reflect.Modifier.isAbstract(b)&&(e[e.length]="abstract");java.lang.reflect.Modifier.isStatic(b)&&(e[e.length]="static");java.lang.reflect.Modifier.isFinal(b)&&(e[e.length]="final");java.lang.reflect.Modifier.isTransient(b)&&(e[e.length]="transient");java.lang.reflect.Modifier.isVolatile(b)&&(e[e.length]="volatile");java.lang.reflect.Modifier.isSynchronized(b)&&(e[e.length]="synchronized");java.lang.reflect.Modifier.isNative(b)&&
(e[e.length]="native");java.lang.reflect.Modifier.isStrict(b)&&(e[e.length]="strictfp");java.lang.reflect.Modifier.isInterface(b)&&(e[e.length]="interface");return 0<e.length?e.join(" "):""},"~N");D(c$,"PUBLIC",1,"PRIVATE",2,"PROTECTED",4,"STATIC",8,"FINAL",16,"SYNCHRONIZED",32,"VOLATILE",64,"TRANSIENT",128,"NATIVE",256,"INTERFACE",512,"ABSTRACT",1024,"STRICT",2048,"BRIDGE",64,"VARARGS",128,"SYNTHETIC",4096,"ANNOTATION",8192,"ENUM",16384);c$=r(function(){this.exceptionTypes=this.parameterTypes=this.clazz=
null;this.modifiers=0;q(this,arguments)},java.lang.reflect,"Constructor",java.lang.reflect.AccessibleObject,[java.lang.reflect.GenericDeclaration,java.lang.reflect.Member]);t(c$,function(b,e,l,p){H(this,java.lang.reflect.Constructor,[]);this.clazz=b;this.parameterTypes=e;this.exceptionTypes=l;this.modifiers=p},"Class,~A,~A,~N");e(c$,"getTypeParameters",function(){return null});b(c$,"toGenericString",function(){return null});b(c$,"getGenericParameterTypes",function(){return null});b(c$,"getGenericExceptionTypes",
function(){return null});b(c$,"getParameterAnnotations",function(){return null});b(c$,"isVarArgs",function(){return!1});e(c$,"isSynthetic",function(){return!1});e(c$,"equals",function(b){if(null!=b&&p(b,java.lang.reflect.Constructor)&&this.getDeclaringClass()===b.getDeclaringClass()){var e=this.parameterTypes;b=b.parameterTypes;if(e.length==b.length){for(var l=0;l<e.length;l++)if(e[l]!==b[l])return!1;return!0}}return!1},"~O");e(c$,"getDeclaringClass",function(){return this.clazz});b(c$,"getExceptionTypes",
function(){return this.exceptionTypes});e(c$,"getModifiers",function(){return this.modifiers});e(c$,"getName",function(){return this.getDeclaringClass().getName()});b(c$,"getParameterTypes",function(){return this.parameterTypes});e(c$,"hashCode",function(){return this.getDeclaringClass().getName().hashCode()});b(c$,"newInstance",function(b){var e=new this.clazz(za);q(e,b);return e},"~A");e(c$,"toString",function(){return null});c$=B(java.lang.reflect,"Field",java.lang.reflect.AccessibleObject,java.lang.reflect.Member);
e(c$,"isSynthetic",function(){return!1});b(c$,"toGenericString",function(){return null});b(c$,"isEnumConstant",function(){return!1});b(c$,"getGenericType",function(){return null});e(c$,"equals",function(){return!1},"~O");e(c$,"getDeclaringClass",function(){return null});e(c$,"getName",function(){return null});b(c$,"getType",function(){return null});e(c$,"hashCode",function(){return 0});e(c$,"toString",function(){return null});c$=r(function(){this.exceptionTypes=this.parameterTypes=this.returnType=
this.name=this.clazz=null;this.modifiers=0;q(this,arguments)},java.lang.reflect,"Method",java.lang.reflect.AccessibleObject,[java.lang.reflect.GenericDeclaration,java.lang.reflect.Member]);t(c$,function(b,e,l,p,a,c){H(this,java.lang.reflect.Method,[]);this.clazz=b;this.name=e;this.parameterTypes=l;this.returnType=p;this.exceptionTypes=a;this.modifiers=c},"Class,~S,~A,Class,~A,~N");e(c$,"getTypeParameters",function(){return null});b(c$,"toGenericString",function(){return null});b(c$,"getGenericParameterTypes",
function(){return null});b(c$,"getGenericExceptionTypes",function(){return null});b(c$,"getGenericReturnType",function(){return null});b(c$,"getParameterAnnotations",function(){return null});b(c$,"isVarArgs",function(){return!1});b(c$,"isBridge",function(){return!1});e(c$,"isSynthetic",function(){return!1});b(c$,"getDefaultValue",function(){return null});e(c$,"equals",function(b){if(null!=b&&p(b,java.lang.reflect.Method)&&this.getDeclaringClass()===b.getDeclaringClass()&&this.getName()===b.getName()){var e=
this.parameterTypes;b=b.parameterTypes;if(e.length==b.length){for(var l=0;l<e.length;l++)if(e[l]!==b[l])return!1;return!0}}return!1},"~O");e(c$,"getDeclaringClass",function(){return this.clazz});b(c$,"getExceptionTypes",function(){return this.exceptionTypes});e(c$,"getModifiers",function(){return this.modifiers});e(c$,"getName",function(){return this.name});b(c$,"getParameterTypes",function(){return this.parameterTypes});b(c$,"getReturnType",function(){return this.returnType});e(c$,"hashCode",function(){return this.getDeclaringClass().getName().hashCode()^
this.getName().hashCode()});b(c$,"invoke",function(b,e){var l=this.clazz.prototype[this.getName()];null==l&&(l=this.clazz[this.getName()]);null!=l&&l.apply(b,e)},"~O,~A");e(c$,"toString",function(){return null})})(ba);(function(){if(!Jmol._debugCode){u(null,"java.lang.AbstractStringBuilder","java.io.InvalidObjectException java.lang.ArrayIndexOutOfBoundsException $.IndexOutOfBoundsException $.NegativeArraySizeException $.NullPointerException $.StringIndexOutOfBoundsException".split(" "),function(){c$=
r(function(){this.value=null;this.count=0;this.shared=!1;q(this,arguments)},java.lang,"AbstractStringBuilder");b(c$,"getValue",function(){return this.value});b(c$,"shareValue",function(){this.shared=!0;return this.value});b(c$,"set",function(a,c){null==a&&(a=x(0,"\x00"));if(a.length<c)throw new java.io.InvalidObjectException("K0199");this.shared=!1;this.value=a;this.count=c},"~A,~N");t(c$,function(){this.value=x(16,"\x00")});t(c$,function(a){if(0>a)throw new NegativeArraySizeException;this.value=
x(a,"\x00")},"~N");t(c$,function(a){this.count=a.length;this.shared=!1;this.value=x(this.count+16,"\x00");a.getChars(0,this.count,this.value,0)},"~S");b(c$,"enlargeBuffer",($fz=function(a){var c=(this.value.length<<1)+2;a=x(a>c?a:c,"\x00");System.arraycopy(this.value,0,a,0,this.count);this.value=a;this.shared=!1},$fz.isPrivate=!0,$fz),"~N");b(c$,"appendNull",function(){var a=this.count+4;a>this.value.length?this.enlargeBuffer(a):this.shared&&(this.value=this.value.clone(),this.shared=!1);this.value[this.count++]=
"n";this.value[this.count++]="u";this.value[this.count++]="l";this.value[this.count++]="l"});b(c$,"append0",function(a){var c=this.count+a.length;c>this.value.length?this.enlargeBuffer(c):this.shared&&(this.value=this.value.clone(),this.shared=!1);System.arraycopy(a,0,this.value,this.count,a.length);this.count=c},"~A");b(c$,"append0",function(a,c,d){if(null==a)throw new NullPointerException;if(0<=c&&0<=d&&d<=a.length-c){var j=this.count+d;j>this.value.length?this.enlargeBuffer(j):this.shared&&(this.value=
this.value.clone(),this.shared=!1);System.arraycopy(a,c,this.value,this.count,d);this.count=j}else throw new ArrayIndexOutOfBoundsException;},"~A,~N,~N");b(c$,"append0",function(a){this.count==this.value.length&&this.enlargeBuffer(this.count+1);this.shared&&(this.value=this.value.clone(),this.shared=!1);this.value[this.count++]=a},"~N");b(c$,"append0",function(a){if(null==a)this.appendNull();else{var c=a.length,d=this.count+c;d>this.value.length?this.enlargeBuffer(d):this.shared&&(this.value=this.value.clone(),
this.shared=!1);a.getChars(0,c,this.value,this.count);this.count=d}},"~S");b(c$,"append0",function(a,c,d){null==a&&(a="null");if(0>c||0>d||c>d||d>a.length())throw new IndexOutOfBoundsException;this.append0(a.subSequence(c,d).toString())},"CharSequence,~N,~N");b(c$,"capacity",function(){return this.value.length});b(c$,"charAt",function(a){if(0>a||a>=this.count)throw new StringIndexOutOfBoundsException(a);return this.value[a]},"~N");b(c$,"delete0",function(a,c){if(0<=a){c>this.count&&(c=this.count);
if(c==a)return;if(c>a){var d=this.count-c;if(0<d)if(this.shared){var j=x(this.value.length,"\x00");System.arraycopy(this.value,0,j,0,a);System.arraycopy(this.value,c,j,a,d);this.value=j;this.shared=!1}else System.arraycopy(this.value,c,this.value,a,d);this.count-=c-a;return}}throw new StringIndexOutOfBoundsException;},"~N,~N");b(c$,"deleteCharAt0",function(a){if(0>a||a>=this.count)throw new StringIndexOutOfBoundsException(a);var c=this.count-a-1;if(0<c)if(this.shared){var d=x(this.value.length,"\x00");
System.arraycopy(this.value,0,d,0,a);System.arraycopy(this.value,a+1,d,a,c);this.value=d;this.shared=!1}else System.arraycopy(this.value,a+1,this.value,a,c);this.count--},"~N");b(c$,"ensureCapacity",function(a){a>this.value.length&&this.enlargeBuffer(a)},"~N");b(c$,"getChars",function(a,c,d,j){if(a>this.count||c>this.count||a>c)throw new StringIndexOutOfBoundsException;System.arraycopy(this.value,a,d,j,c-a)},"~N,~N,~A,~N");b(c$,"insert0",function(a,c){if(0>a||a>this.count)throw new StringIndexOutOfBoundsException(a);
0!=c.length&&(this.move(c.length,a),System.arraycopy(c,0,this.value,a,c.length),this.count+=c.length)},"~N,~A");b(c$,"insert0",function(a,c,d,j){if(0<=a&&a<=this.count){if(0<=d&&0<=j&&j<=c.length-d){0!=j&&(this.move(j,a),System.arraycopy(c,d,this.value,a,j),this.count+=j);return}throw new StringIndexOutOfBoundsException("offset "+d+", len "+j+", array.length "+c.length);}throw new StringIndexOutOfBoundsException(a);},"~N,~A,~N,~N");b(c$,"insert0",function(a,c){if(0>a||a>this.count)throw new ArrayIndexOutOfBoundsException(a);
this.move(1,a);this.value[a]=c;this.count++},"~N,~N");b(c$,"insert0",function(a,c){if(0<=a&&a<=this.count){null==c&&(c="null");var d=c.length;0!=d&&(this.move(d,a),c.getChars(0,d,this.value,a),this.count+=d)}else throw new StringIndexOutOfBoundsException(a);},"~N,~S");b(c$,"insert0",function(a,c,d,j){null==c&&(c="null");if(0>a||a>this.count||0>d||0>j||d>j||j>c.length())throw new IndexOutOfBoundsException;this.insert0(a,c.subSequence(d,j).toString())},"~N,CharSequence,~N,~N");b(c$,"length",function(){return this.count});
b(c$,"move",($fz=function(a,c){var d;if(this.value.length-this.count>=a){if(!this.shared){System.arraycopy(this.value,c,this.value,c+a,this.count-c);return}d=this.value.length}else{d=this.count+a;var j=(this.value.length<<1)+2;d=d>j?d:j}d=x(d,"\x00");System.arraycopy(this.value,0,d,0,c);System.arraycopy(this.value,c,d,c+a,this.count-c);this.value=d;this.shared=!1},$fz.isPrivate=!0,$fz),"~N,~N");b(c$,"replace0",function(a,c,d){if(0<=a){c>this.count&&(c=this.count);if(c>a){var j=d.length,b=c-a-j;if(0<
b)if(this.shared){var g=x(this.value.length,"\x00");System.arraycopy(this.value,0,g,0,a);System.arraycopy(this.value,c,g,a+j,this.count-c);this.value=g;this.shared=!1}else System.arraycopy(this.value,c,this.value,a+j,this.count-c);else 0>b?this.move(-b,c):this.shared&&(this.value=this.value.clone(),this.shared=!1);d.getChars(0,j,this.value,a);this.count-=b;return}if(a==c){if(null==d)throw new NullPointerException;this.insert0(a,d);return}}throw new StringIndexOutOfBoundsException;},"~N,~N,~S");b(c$,
"reverse0",function(){if(!(2>this.count))if(this.shared){for(var a=x(this.value.length,"\x00"),c=0,d=this.count;c<this.count;c++)a[--d]=this.value[c];this.value=a;this.shared=!1}else for(var c=0,d=this.count,a=Math.floor(this.count/2);c<a;c++){var j=this.value[--d];this.value[d]=this.value[c];this.value[c]=j}});b(c$,"setCharAt",function(a,c){if(0>a||a>=this.count)throw new StringIndexOutOfBoundsException(a);this.shared&&(this.value=this.value.clone(),this.shared=!1);this.value[a]=c},"~N,~N");b(c$,
"setLength",function(a){if(0>a)throw new StringIndexOutOfBoundsException(a);if(this.count<a)if(a>this.value.length)this.enlargeBuffer(a);else if(this.shared){var c=x(this.value.length,"\x00");System.arraycopy(this.value,0,c,0,this.count);this.value=c;this.shared=!1}else for(c=this.count;c<a;c++)this.value[c]=String.fromCharCode(0);this.count=a},"~N");b(c$,"substring",function(a){if(0<=a&&a<=this.count){if(a==this.count)return"";this.shared=!0;return String.instantialize(a,this.count-a,this.value)}throw new StringIndexOutOfBoundsException(a);
},"~N");b(c$,"substring",function(a,c){if(0<=a&&a<=c&&c<=this.count){if(a==c)return"";this.shared=!0;return String.instantialize(this.value,a,c-a)}throw new StringIndexOutOfBoundsException;},"~N,~N");e(c$,"toString",function(){if(0==this.count)return"";if(256<=this.count&&this.count<=this.value.length>>1)return String.instantialize(this.value,0,this.count);this.shared=!0;return String.instantialize(0,this.count,this.value)});b(c$,"subSequence",function(a,c){return this.substring(a,c)},"~N,~N");b(c$,
"indexOf",function(a){return this.indexOf(a,0)},"~S");b(c$,"indexOf",function(a,c){0>c&&(c=0);var d=a.length;if(0<d){if(d+c>this.count)return-1;for(var j=a.charAt(0);;){for(var b=c,g=!1;b<this.count;b++)if(this.value[b].charCodeAt(0)==j.charCodeAt(0)){g=!0;break}if(!g||d+b>this.count)return-1;for(var g=b,h=0;++h<d&&this.value[++g].charCodeAt(0)==a.charAt(h).charCodeAt(0););if(h==d)return b;c=b+1}}return c<this.count||0==c?c:this.count},"~S,~N");b(c$,"lastIndexOf",function(a){return this.lastIndexOf(a,
this.count)},"~S");b(c$,"lastIndexOf",function(a,c){var d=a.length;if(d<=this.count&&0<=c){if(0<d){c>this.count-d&&(c=this.count-d);for(var j=a.charAt(0);;){for(var b=c,g=!1;0<=b;--b)if(this.value[b].charCodeAt(0)==j.charCodeAt(0)){g=!0;break}if(!g)return-1;for(var g=b,h=0;++h<d&&this.value[++g].charCodeAt(0)==a.charAt(h).charCodeAt(0););if(h==d)return b;c=b-1}}return c<this.count?c:this.count}return-1},"~S,~N");b(c$,"trimToSize",function(){if(this.count<this.value.length){var a=x(this.count,"\x00");
System.arraycopy(this.value,0,a,0,this.count);this.value=a;this.shared=!1}});D(c$,"INITIAL_CAPACITY",16)});u(null,"java.lang.Enum",["java.lang.CloneNotSupportedException","$.IllegalArgumentException","$.NullPointerException"],function(){c$=r(function(){this.$name=null;this.$ordinal=0;q(this,arguments)},java.lang,"Enum",null,[java.io.Serializable,Comparable]);t(c$,function(a,c){this.$name=a;this.$ordinal=c},"~S,~N");b(c$,"name",function(){return this.$name});b(c$,"ordinal",function(){return this.$ordinal});
e(c$,"toString",function(){return this.$name});e(c$,"equals",function(a){return this===a},"~O");e(c$,"hashCode",function(){return this.$ordinal+(null==this.$name?0:this.$name.hashCode())});e(c$,"clone",function(){throw new CloneNotSupportedException("KA004");});e(c$,"compareTo",function(a){return this.$ordinal-a.$ordinal},"~O");b(c$,"getDeclaringClass",function(){var a=this.getClass(),c=a.getSuperclass();return Enum===c?a:c});c$.$valueOf=b(c$,"$valueOf",function(a,c){if(null==a||null==c)throw new NullPointerException("KA001");
var d=Enum.getValues(a);if(null==d)throw new IllegalArgumentException("KA005");for(var j,b=0;b<d.length&&((j=d[b])||1);b++)if(j.$name.equals(c))return j;throw new IllegalArgumentException("KA006");},"Class,~S");c$.getValues=b(c$,"getValues",function(a){return a.values()},"Class")});u(["java.lang.AbstractStringBuilder","$.Appendable"],"java.lang.StringBuffer",["java.lang.Character","$.Double","$.Float","$.Long"],function(){c$=B(java.lang,"StringBuffer",AbstractStringBuilder,[Appendable,java.io.Serializable,
CharSequence]);t(c$,function(a){if(null==a)throw new NullPointerException;H(this,StringBuffer,[a.toString()])},"CharSequence");b(c$,"append",function(a){return this.append(a?"true":"false")},"~B");b(c$,"append",function(a){this.append0(a);return this},"~N");b(c$,"append",function(a){return this.append(Double.toString(a))},"~N");b(c$,"append",function(a){null==a?this.appendNull():this.append0(a.toString());return this},"~O");b(c$,"append",function(a){this.append0(a);return this},"~S");b(c$,"append",
function(a){null==a?this.appendNull():this.append0(a.getValue(),0,a.length());return this},"StringBuffer");b(c$,"append",function(a){this.append0(a);return this},"~A");b(c$,"append",function(a,c,d){this.append0(a,c,d);return this},"~A,~N,~N");b(c$,"append",function(a){null==a?this.appendNull():this.append0(a.toString());return this},"CharSequence");b(c$,"append",function(a,c,d){this.append0(a,c,d);return this},"CharSequence,~N,~N");b(c$,"appendCodePoint",function(a){return this.append(Character.toChars(a))},
"~N");b(c$,"$delete",function(a,c){this.delete0(a,c);return this},"~N,~N");b(c$,"deleteCharAt",function(a){this.deleteCharAt0(a);return this},"~N");b(c$,"insert",function(a,c){this.insert0(a,c);return this},"~N,~N");b(c$,"insert",function(a,c){return this.insert(a,c?"true":"false")},"~N,~B");b(c$,"insert",function(a,c){return this.insert(a,Integer.toString(c))},"~N,~N");b(c$,"insert",function(a,c){return this.insert(a,Long.toString(c))},"~N,~N");b(c$,"insert",function(a,c){return this.insert(a,Double.toString(c))},
"~N,~N");b(c$,"insert",function(a,c){return this.insert(a,Float.toString(c))},"~N,~N");b(c$,"insert",function(a,c){return this.insert(a,null==c?"null":c.toString())},"~N,~O");b(c$,"insert",function(a,c){this.insert0(a,c);return this},"~N,~S");b(c$,"insert",function(a,c){this.insert0(a,c);return this},"~N,~A");b(c$,"insert",function(a,c,d,j){this.insert0(a,c,d,j);return this},"~N,~A,~N,~N");b(c$,"insert",function(a,c){this.insert0(a,null==c?"null":c.toString());return this},"~N,CharSequence");b(c$,
"insert",function(a,c,d,j){this.insert0(a,c,d,j);return this},"~N,CharSequence,~N,~N");b(c$,"replace",function(a,c,d){this.replace0(a,c,d);return this},"~N,~N,~S");b(c$,"reverse",function(){this.reverse0();return this});e(c$,"subSequence",function(a,c){return T(this,StringBuffer,"substring",[a,c])},"~N,~N")});u(["java.lang.AbstractStringBuilder","$.Appendable"],"java.lang.StringBuilder",["java.lang.Double","$.Float","$.Long"],function(){c$=B(java.lang,"StringBuilder",AbstractStringBuilder,[Appendable,
CharSequence,java.io.Serializable]);t(c$,function(a){H(this,StringBuilder,[a.toString()])},"CharSequence");b(c$,"append",function(a){this.append0(a?"true":"false");return this},"~B");b(c$,"append",function(a){this.append0(a);return this},"~N");b(c$,"append",function(a){this.append0(Integer.toString(a));return this},"~N");b(c$,"append",function(a){this.append0(Long.toString(a));return this},"~N");b(c$,"append",function(a){this.append0(Float.toString(a));return this},"~N");b(c$,"append",function(a){this.append0(Double.toString(a));
return this},"~N");b(c$,"append",function(a){null==a?this.appendNull():this.append0(a.toString());return this},"~O");b(c$,"append",function(a){this.append0(a);return this},"~S");b(c$,"append",function(a){null==a?this.appendNull():this.append0(a.getValue(),0,a.length());return this},"StringBuffer");b(c$,"append",function(a){this.append0(a);return this},"~A");b(c$,"append",function(a,c,d){this.append0(a,c,d);return this},"~A,~N,~N");b(c$,"append",function(a){null==a?this.appendNull():this.append0(a.toString());
return this},"CharSequence");b(c$,"append",function(a,c,d){this.append0(a,c,d);return this},"CharSequence,~N,~N");b(c$,"$delete",function(a,c){this.delete0(a,c);return this},"~N,~N");b(c$,"deleteCharAt",function(a){this.deleteCharAt0(a);return this},"~N");b(c$,"insert",function(a,c){this.insert0(a,c?"true":"false");return this},"~N,~B");b(c$,"insert",function(a,c){this.insert0(a,c);return this},"~N,~N");b(c$,"insert",function(a,c){this.insert0(a,Integer.toString(c));return this},"~N,~N");b(c$,"insert",
function(a,c){this.insert0(a,Long.toString(c));return this},"~N,~N");b(c$,"insert",function(a,c){this.insert0(a,Float.toString(c));return this},"~N,~N");b(c$,"insert",function(a,c){this.insert0(a,Double.toString(c));return this},"~N,~N");b(c$,"insert",function(a,c){this.insert0(a,null==c?"null":c.toString());return this},"~N,~O");b(c$,"insert",function(a,c){this.insert0(a,c);return this},"~N,~S");b(c$,"insert",function(a,c){this.insert0(a,c);return this},"~N,~A");b(c$,"insert",function(a,c,d,j){this.insert0(a,
c,d,j);return this},"~N,~A,~N,~N");b(c$,"insert",function(a,c){this.insert0(a,null==c?"null":c.toString());return this},"~N,CharSequence");b(c$,"insert",function(a,c,d,j){this.insert0(a,c,d,j);return this},"~N,CharSequence,~N,~N");b(c$,"replace",function(a,c,d){this.replace0(a,c,d);return this},"~N,~N,~S");b(c$,"reverse",function(){this.reverse0();return this})});u(null,"java.lang.Thread",["java.lang.IllegalArgumentException","$.ThreadGroup","java.util.Date"],function(){c$=r(function(){this.name=
this.group=this.target=null;this.priority=0;q(this,arguments)},java.lang,"Thread",null,Runnable);c$.currentThread=b(c$,"currentThread",function(){null==Thread.J2S_THREAD&&(Thread.J2S_THREAD=new Thread,Thread.prototype.J2S_THREAD=Thread.J2S_THREAD);return Thread.J2S_THREAD});c$.sleep=b(c$,"sleep",function(){Aa("Thread.sleep is not implemented in Java2Script!")},"~N");t(c$,function(){});t(c$,function(a){this.init(null,a,"Thread-"+(new java.util.Date).getTime()+Math.random(),0)},"Runnable");t(c$,function(a,
c){this.init(a,c,"Thread-"+(new java.util.Date).getTime()+Math.random(),0)},"ThreadGroup,Runnable");t(c$,function(a){this.init(null,null,a,0)},"~S");t(c$,function(a,c){this.init(a,null,c,0)},"ThreadGroup,~S");t(c$,function(a,c){this.init(null,a,c,0)},"Runnable,~S");t(c$,function(a,c,d){this.init(a,c,d,0)},"ThreadGroup,Runnable,~S");t(c$,function(a,c,d,j){this.init(a,c,d,j)},"ThreadGroup,Runnable,~S,~N");b(c$,"init",($fz=function(a,c,d){null==a&&(a=new ThreadGroup);this.group=a;this.target=c;this.name=
d;this.priority=5},$fz.isPrivate=!0,$fz),"ThreadGroup,Runnable,~S,~N");b(c$,"start",function(){window.setTimeout(function(a){return function(){a.run()}}(this),0)});b(c$,"run",function(){null!=this.target&&this.target.run()});b(c$,"setPriority",function(a){if(10<a||1>a)throw new IllegalArgumentException;this.priority=a},"~N");b(c$,"getPriority",function(){return this.priority});b(c$,"interrupt",function(){});b(c$,"setName",function(a){this.name=a},"~S");b(c$,"getName",function(){return String.valueOf(this.name)});
b(c$,"getThreadGroup",function(){return this.group});e(c$,"toString",function(){var a=this.getThreadGroup();return null!=a?"Thread["+this.getName()+","+this.getPriority()+","+a.getName()+"]":"Thread["+this.getName()+","+this.getPriority()+",]"});D(c$,"MIN_PRIORITY",1,"NORM_PRIORITY",5,"MAX_PRIORITY",10,"J2S_THREAD",null)});u(null,"java.lang.ThreadGroup",["java.lang.NullPointerException","$.Thread"],function(){c$=r(function(){this.name=this.parent=null;this.maxPriority=0;q(this,arguments)},java.lang,
"ThreadGroup");t(c$,function(){this.name="system";this.maxPriority=10});t(c$,function(a){this.construct(Thread.currentThread().getThreadGroup(),a)},"~S");t(c$,function(a,c){if(null==a)throw new NullPointerException;this.name=c;this.parent=a;this.maxPriority=10},"ThreadGroup,~S");b(c$,"getName",function(){return this.name});b(c$,"getParent",function(){return this.parent});b(c$,"getMaxPriority",function(){return this.maxPriority})});u(["java.io.FilterInputStream"],"java.io.BufferedInputStream",["java.io.IOException",
"java.lang.IndexOutOfBoundsException"],function(){c$=r(function(){this.buf=null;this.pos=this.count=0;this.markpos=-1;this.marklimit=0;q(this,arguments)},java.io,"BufferedInputStream",java.io.FilterInputStream);b(c$,"getInIfOpen",function(){var a=this.$in;if(null==a)throw new java.io.IOException("Stream closed");return a});b(c$,"getBufIfOpen",function(){var a=this.buf;if(null==a)throw new java.io.IOException("Stream closed");return a});e(c$,"resetStream",function(){});t(c$,function(a){H(this,java.io.BufferedInputStream,
[a]);this.buf=O(8192,0)},"java.io.InputStream");b(c$,"fill",function(){var a=this.getBufIfOpen();if(0>this.markpos)this.pos=0;else if(this.pos>=a.length)if(0<this.markpos){var c=this.pos-this.markpos;System.arraycopy(a,this.markpos,a,0,c);this.pos=c;this.markpos=0}else a.length>=this.marklimit?(this.markpos=-1,this.pos=0):(c=2*this.pos,c>this.marklimit&&(c=this.marklimit),c=O(c,0),System.arraycopy(a,0,c,0,this.pos),a=this.buf=c);this.count=this.pos;a=this.getInIfOpen().read(a,this.pos,a.length-this.pos);
0<a&&(this.count=a+this.pos)});e(c$,"readByteAsInt",function(){return this.pos>=this.count&&(this.fill(),this.pos>=this.count)?-1:this.getBufIfOpen()[this.pos++]&255});b(c$,"read1",function(a,c,d){var j=this.count-this.pos;if(0>=j){if(d>=this.getBufIfOpen().length&&0>this.markpos)return this.getInIfOpen().read(a,c,d);this.fill();j=this.count-this.pos;if(0>=j)return-1}d=j<d?j:d;System.arraycopy(this.getBufIfOpen(),this.pos,a,c,d);this.pos+=d;return d},"~A,~N,~N");e(c$,"read",function(a,c,d){this.getBufIfOpen();
if(0>(c|d|c+d|a.length-(c+d)))throw new IndexOutOfBoundsException;if(0==d)return 0;for(var j=0;;){var b=this.read1(a,c+j,d-j);if(0>=b)return 0==j?b:j;j+=b;if(j>=d)return j;b=this.$in;if(null!=b&&0>=b.available())return j}},"~A,~N,~N");e(c$,"skip",function(a){this.getBufIfOpen();if(0>=a)return 0;var c=this.count-this.pos;if(0>=c){if(0>this.markpos)return this.getInIfOpen().skip(a);this.fill();c=this.count-this.pos;if(0>=c)return 0}a=c<a?c:a;this.pos+=a;return a},"~N");e(c$,"available",function(){var a=
this.count-this.pos,c=this.getInIfOpen().available();return a>2147483647-c?2147483647:a+c});e(c$,"mark",function(a){this.marklimit=a;this.markpos=this.pos},"~N");e(c$,"reset",function(){this.getBufIfOpen();if(0>this.markpos)throw new java.io.IOException("Resetting to invalid mark");this.pos=this.markpos});e(c$,"markSupported",function(){return!0});e(c$,"close",function(){var a=this.$in;this.$in=null;null!=a&&a.close()});D(c$,"DEFAULT_BUFFER_SIZE",8192)});u(["java.io.Reader"],"java.io.BufferedReader",
["java.io.IOException","java.lang.IllegalArgumentException","$.IndexOutOfBoundsException","JU.SB"],function(){c$=r(function(){this.cb=this.$in=null;this.nextChar=this.nChars=0;this.markedChar=-1;this.readAheadLimit=0;this.markedSkipLF=this.skipLF=!1;q(this,arguments)},java.io,"BufferedReader",java.io.Reader);b(c$,"setSize",function(a){if(0>=a)throw new IllegalArgumentException("Buffer size <= 0");this.cb=da(a,"\x00");this.nextChar=this.nChars=0},"~N");t(c$,function(a){H(this,java.io.BufferedReader,
[a]);this.$in=a;this.setSize(8192)},"java.io.Reader");b(c$,"ensureOpen",function(){if(null==this.$in)throw new java.io.IOException("Stream closed");});b(c$,"fill",function(){var a;if(-1>=this.markedChar)a=0;else{var c=this.nextChar-this.markedChar;c>=this.readAheadLimit?(this.markedChar=-2,a=this.readAheadLimit=0):(this.readAheadLimit<=this.cb.length?System.arraycopy(this.cb,this.markedChar,this.cb,0,c):(a=da(this.readAheadLimit,"\x00"),System.arraycopy(this.cb,this.markedChar,a,0,c),this.cb=a),this.markedChar=
0,this.nextChar=this.nChars=a=c)}do c=this.$in.read(this.cb,a,this.cb.length-a);while(0==c);0<c&&(this.nChars=a+c,this.nextChar=a)});b(c$,"read1",function(a,c,d){if(this.nextChar>=this.nChars){if(d>=this.cb.length&&-1>=this.markedChar&&!this.skipLF)return this.$in.read(a,c,d);this.fill()}if(this.nextChar>=this.nChars||this.skipLF&&(this.skipLF=!1,"\n"==this.cb[this.nextChar]&&(this.nextChar++,this.nextChar>=this.nChars&&this.fill(),this.nextChar>=this.nChars)))return-1;d=Math.min(d,this.nChars-this.nextChar);
System.arraycopy(this.cb,this.nextChar,a,c,d);this.nextChar+=d;return d},"~A,~N,~N");b(c$,"read",function(a,c,d){this.ensureOpen();if(0>c||c>a.length||0>d||c+d>a.length||0>c+d)throw new IndexOutOfBoundsException;if(0==d)return 0;var j=this.read1(a,c,d);if(0>=j)return j;for(;j<d&&this.$in.ready();){var b=this.read1(a,c+j,d-j);if(0>=b)break;j+=b}return j},"~A,~N,~N");b(c$,"readLine1",function(a){var c=null,d;this.ensureOpen();for(var j=a||this.skipLF;;){this.nextChar>=this.nChars&&this.fill();if(this.nextChar>=
this.nChars)return null!=c&&0<c.length()?c.toString():null;var b=!1;a=String.fromCharCode(0);var g;j&&"\n"==this.cb[this.nextChar]&&this.nextChar++;j=this.skipLF=!1;g=this.nextChar;a:for(;g<this.nChars;g++)if(a=this.cb[g],"\n"==a||"\r"==a){b=!0;break a}d=this.nextChar;this.nextChar=g;if(b)return null==c?c=String.instantialize(this.cb,d,g-d):(c.appendCB(this.cb,d,g-d),c=c.toString()),this.nextChar++,"\r"==a&&(this.skipLF=!0),c;null==c&&(c=JU.SB.newN(80));c.appendCB(this.cb,d,g-d)}},"~B");b(c$,"readLine",
function(){return this.readLine1(!1)});e(c$,"skip",function(a){if(0>a)throw new IllegalArgumentException("skip value is negative");this.ensureOpen();for(var c=a;0<c;){this.nextChar>=this.nChars&&this.fill();if(this.nextChar>=this.nChars)break;this.skipLF&&(this.skipLF=!1,"\n"==this.cb[this.nextChar]&&this.nextChar++);var d=this.nChars-this.nextChar;if(c<=d){this.nextChar+=c;c=0;break}c-=d;this.nextChar=this.nChars}return a-c},"~N");b(c$,"ready",function(){this.ensureOpen();this.skipLF&&(this.nextChar>=
this.nChars&&this.$in.ready()&&this.fill(),this.nextChar<this.nChars&&("\n"==this.cb[this.nextChar]&&this.nextChar++,this.skipLF=!1));return this.nextChar<this.nChars||this.$in.ready()});e(c$,"markSupported",function(){return!0});e(c$,"mark",function(a){if(0>a)throw new IllegalArgumentException("Read-ahead limit < 0");this.ensureOpen();this.readAheadLimit=a;this.markedChar=this.nextChar;this.markedSkipLF=this.skipLF},"~N");e(c$,"reset",function(){this.ensureOpen();if(0>this.markedChar)throw new java.io.IOException(-2==
this.markedChar?"Mark invalid":"Stream not marked");this.nextChar=this.markedChar;this.skipLF=this.markedSkipLF});b(c$,"close",function(){null!=this.$in&&(this.$in.close(),this.cb=this.$in=null)});D(c$,"INVALIDATED",-2,"UNMARKED",-1,"DEFAULT_CHAR_BUFFER_SIZE",8192,"DEFAULT_EXPECTED_LINE_LENGTH",80)});u(["java.io.Writer"],"java.io.BufferedWriter",["java.io.IOException","java.lang.IllegalArgumentException","$.IndexOutOfBoundsException","$.StringIndexOutOfBoundsException"],function(){c$=r(function(){this.buf=
this.out=null;this.pos=0;this.lineSeparator="\r\n";q(this,arguments)},java.io,"BufferedWriter",java.io.Writer);t(c$,function(a){H(this,java.io.BufferedWriter,[a]);this.out=a;this.buf=x(8192,"\x00")},"java.io.Writer");t(c$,function(a,c){H(this,java.io.BufferedWriter,[a]);if(0<c)this.out=a,this.buf=x(c,"\x00");else throw new IllegalArgumentException("K0058");},"java.io.Writer,~N");b(c$,"close",function(){this.isOpen()&&(this.flush(),this.out.close(),this.out=this.buf=null)});b(c$,"flush",function(){if(this.isOpen())0<
this.pos&&this.out.write(this.buf,0,this.pos),this.pos=0,this.out.flush();else throw new java.io.IOException("K005d");});b(c$,"isOpen",($fz=function(){return null!=this.out},$fz.isPrivate=!0,$fz));b(c$,"newLine",function(){this.write("\r\n",0,2)});b(c$,"write",function(a,c,d){if(!this.isOpen())throw new java.io.IOException("K005d");if(0>c||c>a.length-d||0>d)throw new IndexOutOfBoundsException;if(0==this.pos&&d>=this.buf.length)this.out.write(a,c,d);else{var j=this.buf.length-this.pos;d<j&&(j=d);0<
j&&(System.arraycopy(a,c,this.buf,this.pos,j),this.pos+=j);this.pos==this.buf.length&&(this.out.write(this.buf,0,this.buf.length),this.pos=0,d>j&&(c+=j,j=d-j,j>=this.buf.length?this.out.write(a,c,j):(System.arraycopy(a,c,this.buf,this.pos,j),this.pos+=j)))}},"~A,~N,~N");b(c$,"write",function(a){if(this.isOpen())this.pos>=this.buf.length&&(this.out.write(this.buf,0,this.buf.length),this.pos=0),this.buf[this.pos++]=String.fromCharCode(a);else throw new java.io.IOException("K005d");},"~N");b(c$,"write",
function(a,c,d){if(!this.isOpen())throw new java.io.IOException("K005d");if(!(0>=d)){if(c>a.length-d||0>c)throw new StringIndexOutOfBoundsException;if(0==this.pos&&d>=this.buf.length){var j=x(d,"\x00");a.getChars(c,c+d,j,0);this.out.write(j,0,d)}else{var b=this.buf.length-this.pos;d<b&&(b=d);0<b&&(a.getChars(c,c+b,this.buf,this.pos),this.pos+=b);this.pos==this.buf.length&&(this.out.write(this.buf,0,this.buf.length),this.pos=0,d>b&&(c+=b,b=d-b,b>=this.buf.length?(j=x(d,"\x00"),a.getChars(c,c+b,j,0),
this.out.write(j,0,b)):(a.getChars(c,c+b,this.buf,this.pos),this.pos+=b)))}}},"~S,~N,~N")});u(["java.io.InputStream"],"java.io.ByteArrayInputStream",["java.lang.IndexOutOfBoundsException","$.NullPointerException"],function(){c$=r(function(){this.buf=null;this.count=this.$mark=this.pos=0;q(this,arguments)},java.io,"ByteArrayInputStream",java.io.InputStream);t(c$,function(a){H(this,java.io.ByteArrayInputStream,[]);this.buf=a;this.pos=0;this.count=a.length},"~A");e(c$,"readByteAsInt",function(){return this.pos<
this.count?this.buf[this.pos++]&255:-1});e(c$,"read",function(a,c,d){if(null==a)throw new NullPointerException;if(0>c||0>d||d>a.length-c)throw new IndexOutOfBoundsException;if(this.pos>=this.count)return-1;var j=this.count-this.pos;d>j&&(d=j);if(0>=d)return 0;System.arraycopy(this.buf,this.pos,a,c,d);this.pos+=d;return d},"~A,~N,~N");e(c$,"skip",function(a){var c=this.count-this.pos;a<c&&(c=0>a?0:a);this.pos+=c;return c},"~N");e(c$,"available",function(){return this.count-this.pos});e(c$,"markSupported",
function(){return!0});e(c$,"mark",function(){this.$mark=this.pos},"~N");e(c$,"resetStream",function(){});e(c$,"reset",function(){this.pos=this.$mark});e(c$,"close",function(){})});u(["java.io.OutputStream"],"java.io.ByteArrayOutputStream",["java.lang.IllegalArgumentException","$.IndexOutOfBoundsException","$.OutOfMemoryError"],function(){c$=r(function(){this.buf=null;this.count=0;q(this,arguments)},java.io,"ByteArrayOutputStream",java.io.OutputStream);t(c$,function(){this.construct(32)});t(c$,function(a){H(this,
java.io.ByteArrayOutputStream,[]);if(0>a)throw new IllegalArgumentException("Negative initial size: "+a);this.buf=O(a,0)},"~N");b(c$,"ensureCapacity",function(a){0<a-this.buf.length&&this.grow(a)},"~N");b(c$,"grow",function(a){var c=this.buf.length<<1;0>c-a&&(c=a);if(0>c){if(0>a)throw new OutOfMemoryError;c=a}this.buf=java.io.ByteArrayOutputStream.arrayCopyByte(this.buf,c)},"~N");c$.arrayCopyByte=b(c$,"arrayCopyByte",function(a,c){var d=O(c,0);System.arraycopy(a,0,d,0,a.length<c?a.length:c);return d},
"~A,~N");e(c$,"writeByteAsInt",function(a){this.ensureCapacity(this.count+1);this.buf[this.count]=a;this.count+=1},"~N");b(c$,"write",function(a,c,d){if(0>c||c>a.length||0>d||0<c+d-a.length)throw new IndexOutOfBoundsException;this.ensureCapacity(this.count+d);System.arraycopy(a,c,this.buf,this.count,d);this.count+=d},"~A,~N,~N");b(c$,"writeTo",function(a){a.write(this.buf,0,this.count)},"java.io.OutputStream");b(c$,"reset",function(){this.count=0});b(c$,"toByteArray",function(){return this.count==
this.buf.length?this.buf:java.io.ByteArrayOutputStream.arrayCopyByte(this.buf,this.count)});b(c$,"size",function(){return this.count});e(c$,"toString",function(){return String.instantialize(this.buf,0,this.count)});e(c$,"close",function(){})});u(["java.io.InputStream"],"java.io.FilterInputStream",null,function(){c$=r(function(){this.$in=null;q(this,arguments)},java.io,"FilterInputStream",java.io.InputStream);t(c$,function(a){H(this,java.io.FilterInputStream,[]);this.$in=a},"java.io.InputStream");
b(c$,"readByteAsInt",function(){return this.$in.readByteAsInt()});b(c$,"read",function(a,c,d){return this.$in.read(a,c,d)},"~A,~N,~N");b(c$,"skip",function(a){return this.$in.skip(a)},"~N");b(c$,"available",function(){return this.$in.available()});b(c$,"close",function(){this.$in.close()});b(c$,"mark",function(a){this.$in.mark(a)},"~N");b(c$,"reset",function(){this.$in.reset()});b(c$,"markSupported",function(){return this.$in.markSupported()})});u(null,"java.io.InputStream",["java.io.IOException",
"java.lang.IndexOutOfBoundsException","$.NullPointerException"],function(){c$=B(java.io,"InputStream");b(c$,"read",function(a,c,d){if(null==a)throw new NullPointerException;if(0>c||0>d||d>a.length-c)throw new IndexOutOfBoundsException;if(0==d)return 0;var j=this.readByteAsInt();if(-1==j)return-1;a[c]=j;var b=1;try{for(;b<d;b++){j=this.readByteAsInt();if(-1==j)break;a[c+b]=j}}catch(g){if(!C(g,java.io.IOException))throw g;}return b},"~A,~N,~N");b(c$,"skip",function(a){var c=a,d;null==java.io.InputStream.skipBuffer&&
(java.io.InputStream.skipBuffer=O(2048,0));var j=java.io.InputStream.skipBuffer;if(0>=a)return 0;for(;0<c;){d=this.read(j,0,Math.min(2048,c));if(0>d)break;c-=d}return a-c},"~N");b(c$,"available",function(){return 0});b(c$,"close",function(){});b(c$,"mark",function(){},"~N");b(c$,"reset",function(){throw new java.io.IOException("mark/reset not supported");});b(c$,"markSupported",function(){return!1});b(c$,"resetStream",function(){});D(c$,"SKIP_BUFFER_SIZE",2048,"skipBuffer",null)});u(["java.io.Reader"],
"java.io.InputStreamReader",["java.lang.NullPointerException"],function(){c$=r(function(){this.$in=null;this.isOpen=!0;this.charsetName=null;this.isUTF8=!1;this.bytearr=null;this.pos=0;q(this,arguments)},java.io,"InputStreamReader",java.io.Reader);t(c$,function(a,c){H(this,java.io.InputStreamReader,[a]);this.$in=a;this.charsetName=c;if(!(this.isUTF8="UTF-8".equals(c))&&!"ISO-8859-1".equals(c))throw new NullPointerException("charsetName");},"java.io.InputStream,~S");b(c$,"getEncoding",function(){return this.charsetName});
e(c$,"read",function(a,c,d){if(null==this.bytearr||this.bytearr.length<d)this.bytearr=O(d,0);var j,b,g=0,h=c,k=this.$in.read(this.bytearr,this.pos,d-this.pos),m=this.$in.available();if(0>k)return-1;for(var e=k;g<e;){d=this.bytearr[g]&255;if(this.isUTF8)switch(d>>4){case 12:case 13:if(g+1>=k){if(1<=m){e=g;continue}}else if(128==((j=this.bytearr[g+1])&192)){a[h++]=String.fromCharCode((d&31)<<6|j&63);g+=2;continue}this.isUTF8=!1;break;case 14:if(g+2>=k){if(2<=m){e=g;continue}}else if(128==((j=this.bytearr[g+
1])&192)&&128==((b=this.bytearr[g+2])&192)){a[h++]=String.fromCharCode((d&15)<<12|(j&63)<<6|b&63);g+=3;continue}this.isUTF8=!1}g++;a[h++]=String.fromCharCode(d)}this.pos=k-g;for(a=0;a<this.pos;a++)this.bytearr[a]=this.bytearr[g++];return h-c},"~A,~N,~N");e(c$,"ready",function(){return this.isOpen});e(c$,"close",function(){this.$in.close();this.isOpen=!1})});u(["java.io.Closeable","$.Flushable"],"java.io.OutputStream",["java.lang.IndexOutOfBoundsException","$.NullPointerException"],function(){c$=B(java.io,
"OutputStream",null,[java.io.Closeable,java.io.Flushable]);b(c$,"write",function(a,c,d){if(null==a)throw new NullPointerException;if(0>c||c>a.length||0>d||c+d>a.length||0>c+d)throw new IndexOutOfBoundsException;if(0!=d)for(var j=0;j<d;j++)this.writeByteAsInt(a[c+j])},"~A,~N,~N");e(c$,"flush",function(){});e(c$,"close",function(){})});u(["java.io.Closeable"],"java.io.Reader",["java.io.IOException","java.lang.IllegalArgumentException","$.NullPointerException"],function(){c$=r(function(){this.skipBuffer=
this.lock=null;q(this,arguments)},java.io,"Reader",null,java.io.Closeable);t(c$,function(a){if(null==a)throw new NullPointerException;this.lock=a},"~O");b(c$,"skip",function(a){if(0>a)throw new IllegalArgumentException("skip value is negative");var c=Math.min(a,8192);if(null==this.skipBuffer||this.skipBuffer.length<c)this.skipBuffer=da(c,"\x00");for(var d=a;0<d;){var j=this.read(this.skipBuffer,0,Math.min(d,c));if(-1==j)break;d-=j}return a-d},"~N");b(c$,"ready",function(){return!1});b(c$,"markSupported",
function(){return!1});b(c$,"mark",function(){throw new java.io.IOException("mark() not supported");},"~N");b(c$,"reset",function(){throw new java.io.IOException("reset() not supported");});D(c$,"MAX_SKIP_BUFFE_SIZE",8192)});u(["java.io.Reader"],"java.io.StringReader",["java.io.IOException","java.lang.IllegalArgumentException","$.IndexOutOfBoundsException"],function(){c$=r(function(){this.str=null;this.$mark=this.next=this.length=0;q(this,arguments)},java.io,"StringReader",java.io.Reader);t(c$,function(a){H(this,
java.io.StringReader,[a]);this.str=a;this.length=a.length},"~S");b(c$,"ensureOpen",function(){if(null==this.str)throw new java.io.IOException("Stream closed");});e(c$,"read",function(a,c,d){this.ensureOpen();if(0>c||c>a.length||0>d||c+d>a.length||0>c+d)throw new IndexOutOfBoundsException;if(0==d)return 0;if(this.next>=this.length)return-1;d=Math.min(this.length-this.next,d);this.str.getChars(this.next,this.next+d,a,c);this.next+=d;return d},"~A,~N,~N");e(c$,"skip",function(a){this.ensureOpen();if(this.next>=
this.length)return 0;a=Math.min(this.length-this.next,a);a=Math.max(-this.next,a);this.next+=a;return a},"~N");e(c$,"ready",function(){this.ensureOpen();return!0});e(c$,"markSupported",function(){return!0});e(c$,"mark",function(a){if(0>a)throw new IllegalArgumentException("Read-ahead limit < 0");this.ensureOpen();this.$mark=this.next},"~N");e(c$,"reset",function(){this.ensureOpen();this.next=this.$mark});e(c$,"close",function(){this.str=null})});u(["java.io.Closeable","$.Flushable","java.lang.Appendable"],
"java.io.Writer",["java.lang.NullPointerException","$.StringIndexOutOfBoundsException"],function(){c$=r(function(){this.lock=null;q(this,arguments)},java.io,"Writer",null,[Appendable,java.io.Closeable,java.io.Flushable]);t(c$,function(){this.lock=this});t(c$,function(a){if(null!=a)this.lock=a;else throw new NullPointerException;},"~O");b(c$,"write",function(a){this.write(a,0,a.length)},"~A");b(c$,"write",function(a){var c=x(1,"\x00");c[0]=String.fromCharCode(a);this.write(c)},"~N");b(c$,"write",function(a){var c=
x(a.length,"\x00");a.getChars(0,c.length,c,0);this.write(c)},"~S");b(c$,"write",function(a,c,d){if(0<=d){var j=x(d,"\x00");a.getChars(c,c+d,j,0);this.write(j)}else throw new StringIndexOutOfBoundsException;},"~S,~N,~N");b(c$,"append",function(a){this.write(a.charCodeAt(0));return this},"~N");b(c$,"append",function(a){null==a?this.write("null"):this.write(a.toString());return this},"CharSequence");b(c$,"append",function(a,c,d){null==a?this.write("null".substring(c,d)):this.write(a.subSequence(c,d).toString());
return this},"CharSequence,~N,~N");D(c$,"TOKEN_NULL","null")});l("java.net");u(["java.io.IOException"],"java.net.MalformedURLException",null,function(){c$=B(java.net,"MalformedURLException",java.io.IOException);t(c$,function(){H(this,java.net.MalformedURLException,[])})});l("java.net");u(["java.util.Hashtable"],"java.net.URL",["java.io.IOException","java.lang.Character","$.Error","java.net.MalformedURLException"],function(){c$=r(function(){this.host=this.protocol=null;this.port=-1;this.handler=this.ref=
this.userInfo=this.path=this.authority=this.query=this.file=null;this.$hashCode=-1;q(this,arguments)},java.net,"URL",null,java.io.Serializable);t(c$,function(a,c,d){switch(arguments.length){case 1:c=a;a=d=null;break;case 2:d=null;break;case 3:if(null==a||p(a,java.net.URL))break;default:alert("java.net.URL constructor format not supported")}a&&a.valueOf&&null==a.valueOf()&&(a=null);var j=c,b,g,h,k=0,m=null,e=!1,s=!1;try{for(g=c.length;0<g&&" ">=c.charAt(g-1);)g--;for(;k<g&&" ">=c.charAt(k);)k++;c.regionMatches(!0,
k,"url:",0,4)&&(k+=4);k<c.length&&"#"==c.charAt(k)&&(e=!0);for(b=k;!e&&b<g&&47!=(h=c.charCodeAt(b));b++)if(58==h){var w=c.substring(k,b).toLowerCase();this.isValidProtocol(w)&&(m=w,k=b+1);break}this.protocol=m;if(null!=a&&(null==m||m.equalsIgnoreCase(a.protocol)))null==d&&(d=a.handler),null!=a.path&&a.path.startsWith("/")&&(m=null),null==m&&(this.protocol=a.protocol,this.authority=a.authority,this.userInfo=a.userInfo,this.host=a.host,this.port=a.port,this.file=a.file,this.path=a.path,s=!0);if(null==
this.protocol)throw new java.net.MalformedURLException("no protocol: "+j);if(null==d&&null==(d=java.net.URL.getURLStreamHandler(this.protocol)))throw new java.net.MalformedURLException("unknown protocol: "+this.protocol);this.handler=d;b=c.indexOf("#",k);0<=b&&(this.ref=c.substring(b+1,g),g=b);s&&k==g&&(this.query=a.query,null==this.ref&&(this.ref=a.ref));d.parseURL(this,c,k,g)}catch(F){if(C(F,java.net.MalformedURLException))throw F;if(C(F,Exception))throw j=F,b=new java.net.MalformedURLException(j.getMessage()),
b.initCause(j),b;throw F;}},"java.net.URL,~S,java.net.URLStreamHandler");b(c$,"isValidProtocol",function(a){var c=a.length;if(1>c)return!1;var d=a.charAt(0);if(!Character.isLetter(d))return!1;for(var j=1;j<c;j++)if(d=a.charAt(j),!Character.isLetterOrDigit(d)&&"."!=d&&"+"!=d&&"-"!=d)return!1;return!0},"~S");b(c$,"set5",function(a,c,d,j,b){this.protocol=a;this.host=c;this.authority=-1==d?c:c+":"+d;this.port=d;this.file=j;this.ref=b;this.$hashCode=-1;a=j.lastIndexOf("?");-1!=a?(this.query=j.substring(a+
1),this.path=j.substring(0,a)):this.path=j},"~S,~S,~N,~S,~S");b(c$,"set",function(a,c,d,j,b,g,h,k){this.protocol=a;this.host=c;this.port=d;this.file=null==h?g:g+"?"+h;this.userInfo=b;this.path=g;this.ref=k;this.$hashCode=-1;this.query=h;this.authority=j},"~S,~S,~N,~S,~S,~S,~S,~S");b(c$,"getQuery",function(){return this.query});b(c$,"getPath",function(){return this.path});b(c$,"getUserInfo",function(){return this.userInfo});b(c$,"getAuthority",function(){return this.authority});b(c$,"getPort",function(){return this.port});
b(c$,"getDefaultPort",function(){return this.handler.getDefaultPort()});b(c$,"getProtocol",function(){return this.protocol});b(c$,"getHost",function(){return this.host});b(c$,"getFile",function(){return this.file});b(c$,"getRef",function(){return this.ref});e(c$,"equals",function(a){return!p(a,java.net.URL)?!1:this.handler.equals2(this,a)},"~O");e(c$,"hashCode",function(){return-1!=this.$hashCode?this.$hashCode:this.$hashCode=this.handler.hashCode(this)});b(c$,"sameFile",function(a){return this.handler.sameFile(this,
a)},"java.net.URL");e(c$,"toString",function(){return this.toExternalForm()});b(c$,"toExternalForm",function(){return this.handler.toExternalForm(this)});b(c$,"openConnection",function(){return this.handler.openConnection(this)});b(c$,"openStream",function(){return this.openConnection().getInputStream()});b(c$,"getContent",function(){return this.openConnection().getInputStream()});c$.setURLStreamHandlerFactory=b(c$,"setURLStreamHandlerFactory",function(a){if(null!=java.net.URL.factory)throw Error("factory already defined");
var c=System.getSecurityManager();null!=c&&c.checkSetFactory();java.net.URL.handlers.clear();java.net.URL.factory=a},"java.net.URLStreamHandlerFactory");c$.getURLStreamHandler=b(c$,"getURLStreamHandler",function(a){var c=java.net.URL.handlers.get(a);null==c&&null!=java.net.URL.factory&&(c=java.net.URL.factory.createURLStreamHandler(a));return c},"~S");D(c$,"factory",null);c$.handlers=c$.prototype.handlers=new java.util.Hashtable;c$.streamHandlerLock=c$.prototype.streamHandlerLock=new ba._O});l("java.net");
u(null,"java.net.URLConnection",["java.lang.IllegalStateException","$.NullPointerException","java.net.UnknownServiceException","JU.Lst"],function(){c$=r(function(){this.url=null;this.doInput=!0;this.connected=this.doOutput=!1;this.requests=null;q(this,arguments)},java.net,"URLConnection");b(c$,"setDoInput",function(a){if(this.connected)throw new IllegalStateException("Already connected");this.doInput=a},"~B");b(c$,"getDoInput",function(){return this.doInput});b(c$,"setDoOutput",function(a){if(this.connected)throw new IllegalStateException("Already connected");
this.doOutput=a},"~B");b(c$,"getDoOutput",function(){return this.doOutput});t(c$,function(a){this.url=a},"java.net.URL");b(c$,"getURL",function(){return this.url});b(c$,"getInputStream",function(){throw new java.net.UnknownServiceException("protocol doesn't support input");});b(c$,"getOutputStream",function(){throw new java.net.UnknownServiceException("protocol doesn't support output");});b(c$,"setRequestProperty",function(a,c){if(this.connected)throw new IllegalStateException("Already connected");
if(null==a)throw new NullPointerException("key is null");null==this.requests&&(this.requests=new JU.Lst);for(var d=this.requests.size();0<=--d;)if(this.requests.get(d)[0].equals(a)){this.requests.get(d)[1]=c;return}this.requests.addLast(x(-1,[a,c]))},"~S,~S")});l("java.net");c$=B(java.net,"URLEncoder");c$.encode=b(c$,"encode",function(a){return encodeURIComponent(a)},"~S");c$.encode=b(c$,"encode",function(a){return encodeURIComponent(a)},"~S,~S");D(c$,"digits","0123456789ABCDEF");l("java.net");u(null,
"java.net.URLStreamHandler",["java.lang.IllegalArgumentException","$.SecurityException","$.UnsupportedOperationException"],function(){c$=B(java.net,"URLStreamHandler");b(c$,"openConnectionProxy",function(){throw new UnsupportedOperationException("Method not implemented.");},"java.net.URL,java.net.Proxy");b(c$,"parseURL",function(a,c,d,j){var b=a.getProtocol(),g=a.getAuthority(),h=a.getUserInfo(),k=a.getHost(),m=a.getPort(),e=a.getPath(),s=a.getQuery(),w=a.getRef(),F=!1,z=!1;if(d<j){var l=c.indexOf("?"),
z=l==d;-1!=l&&l<j&&(s=c.substring(l+1,j),j>l&&(j=l),c=c.substring(0,l))}var p=0;if(!(d<=j-4&&"/"==c.charAt(d)&&"/"==c.charAt(d+1)&&"/"==c.charAt(d+2)&&"/"==c.charAt(d+3))&&d<=j-2&&"/"==c.charAt(d)&&"/"==c.charAt(d+1)){d+=2;p=c.indexOf("/",d);0>p&&(p=c.indexOf("?",d),0>p&&(p=j));k=g=c.substring(d,p);l=g.indexOf("@");-1!=l?(h=g.substring(0,l),k=g.substring(l+1)):h=null;if(null!=k){if(0<k.length&&"["==k.charAt(0))throw new IllegalArgumentException("Invalid host: "+k);l=k.indexOf(":");m=-1;0<=l&&(k.length>
l+1&&(m=Integer.parseInt(k.substring(l+1))),k=k.substring(0,l))}else k="";if(-1>m)throw new IllegalArgumentException("Invalid port number :"+m);d=p;0<g.length&&(e="")}null==k&&(k="");d<j?"/"==c.charAt(d)?e=c.substring(d,j):null!=e&&0<e.length?(F=!0,l=e.lastIndexOf("/"),z="",-1==l&&null!=g&&(z="/"),e=e.substring(0,l+1)+z+c.substring(d,j)):e=(null!=g?"/":"")+c.substring(d,j):z&&null!=e&&(l=e.lastIndexOf("/"),0>l&&(l=0),e=e.substring(0,l)+"/");null==e&&(e="");if(F){for(;0<=(p=e.indexOf("/./"));)e=e.substring(0,
p)+e.substring(p+2);for(p=0;0<=(p=e.indexOf("/../",p));)0<p&&0<=(j=e.lastIndexOf("/",p-1))&&0!=e.indexOf("/../",j)?(e=e.substring(0,j)+e.substring(p+3),p=0):p+=3;for(;e.endsWith("/..");)if(p=e.indexOf("/.."),0<=(j=e.lastIndexOf("/",p-1)))e=e.substring(0,j+1);else break;e.startsWith("./")&&2<e.length&&(e=e.substring(2));e.endsWith("/.")&&(e=e.substring(0,e.length-1))}this.setURL(a,b,k,m,g,h,e,s,w)},"java.net.URL,~S,~N,~N");b(c$,"getDefaultPort",function(){return-1});b(c$,"equals2",function(a,c){var d=
a.getRef(),j=c.getRef();return(d===j||null!=d&&d.equals(j))&&this.sameFile(a,c)},"java.net.URL,java.net.URL");b(c$,"hashCode",function(a){var c=0,d=a.getProtocol();null!=d&&(c+=d.hashCode());c+=a.toString().hashCode();d=a.getFile();null!=d&&(c+=d.hashCode());c=-1==a.getPort()?c+this.getDefaultPort():c+a.getPort();a=a.getRef();null!=a&&(c+=a.hashCode());return c},"java.net.URL");b(c$,"sameFile",function(a,c){if(!(a.getProtocol()===c.getProtocol()||null!=a.getProtocol()&&a.getProtocol().equalsIgnoreCase(c.getProtocol()))||
!(a.getFile()===c.getFile()||null!=a.getFile()&&a.getFile().equals(c.getFile())))return!1;var d,j;d=-1!=a.getPort()?a.getPort():a.handler.getDefaultPort();j=-1!=c.getPort()?c.getPort():c.handler.getDefaultPort();return d!=j||!this.hostsEqual(a,c)?!1:!0},"java.net.URL,java.net.URL");b(c$,"hostsEqual",function(a,c){return null!=a.getHost()&&null!=c.getHost()?a.getHost().equalsIgnoreCase(c.getHost()):null==a.getHost()&&null==c.getHost()},"java.net.URL,java.net.URL");b(c$,"toExternalForm",function(){return""},
"java.net.URL");b(c$,"setURL",function(a,c,d,j,b,g,h,k,m){if(this!==a.handler)throw new SecurityException("handler for url different from this handler");a.set(a.getProtocol(),d,j,b,g,h,k,m)},"java.net.URL,~S,~S,~N,~S,~S,~S,~S,~S");b(c$,"setURLDeprecated",function(a,c,d,j,b,g){var h=null,k=null;if(null!=d&&0!=d.length){var h=-1==j?d:d+":"+j,m=d.lastIndexOf("@");-1!=m&&(k=d.substring(0,m),d=d.substring(m+1))}var e=null,m=null;null!=b&&(e=b.lastIndexOf("?"),-1!=e?(m=b.substring(e+1),e=b.substring(0,
e)):e=b);this.setURL(a,c,d,j,h,k,e,m,g)},"java.net.URL,~S,~S,~N,~S,~S")});l("java.net");I(java.net,"URLStreamHandlerFactory");l("java.text");c$=r(function(){this.pattern=null;q(this,arguments)},java.text,"MessageFormat");t(c$,function(a){this.pattern=a},"~S");t(c$,function(a){this.pattern=a},"~S,java.util.Locale");c$.format=b(c$,"format",function(a,c){return a.replace(/\{(\d+)\}/g,function(a,j){var b=parseInt(j);return null==c?null:c[b]})},"~S,~A");b(c$,"format",function(a){return java.text.MessageFormat.format(this.pattern,
[a])},"~O");u(["java.util.Collection"],"java.util.AbstractCollection",["java.lang.StringBuilder","$.UnsupportedOperationException","java.lang.reflect.Array"],function(){c$=B(java.util,"AbstractCollection",null,java.util.Collection);t(c$,function(){});e(c$,"add",function(){throw new UnsupportedOperationException;},"~O");e(c$,"addAll",function(a){var c=!1;for(a=a.iterator();a.hasNext();)this.add(a.next())&&(c=!0);return c},"java.util.Collection");e(c$,"clear",function(){for(var a=this.iterator();a.hasNext();)a.next(),
a.remove()});e(c$,"contains",function(a){var c=this.iterator();if(null!=a)for(;c.hasNext();){if(a.equals(c.next()))return!0}else for(;c.hasNext();)if(null==c.next())return!0;return!1},"~O");e(c$,"containsAll",function(a){for(a=a.iterator();a.hasNext();)if(!this.contains(a.next()))return!1;return!0},"java.util.Collection");e(c$,"isEmpty",function(){return 0==this.size()});e(c$,"remove",function(a){var c=this.iterator();if(null!=a)for(;c.hasNext();){if(a.equals(c.next()))return c.remove(),!0}else for(;c.hasNext();)if(null==
c.next())return c.remove(),!0;return!1},"~O");e(c$,"removeAll",function(a){for(var c=!1,d=this.iterator();d.hasNext();)a.contains(d.next())&&(d.remove(),c=!0);return c},"java.util.Collection");e(c$,"retainAll",function(a){for(var c=!1,d=this.iterator();d.hasNext();)a.contains(d.next())||(d.remove(),c=!0);return c},"java.util.Collection");b(c$,"toArray",function(){for(var a=this.size(),c=0,d=this.iterator(),j=Array(a);c<a;)j[c++]=d.next();return j});b(c$,"toArray",function(a){var c=this.size(),d=0;
c>a.length&&(a=a.getClass().getComponentType(),a=java.lang.reflect.Array.newInstance(a,c));for(var j,c=this.iterator();c.hasNext()&&((j=c.next())||1);)a[d++]=j;d<a.length&&(a[d]=null);return a},"~A");e(c$,"toString",function(){if(this.isEmpty())return"[]";var a=new StringBuilder(16*this.size());a.append("[");for(var c=this.iterator();c.hasNext();){var d=c.next();d!==this?a.append(d):a.append("(this Collection)");c.hasNext()&&a.append(", ")}a.append("]");return a.toString()})});u("java.util.AbstractCollection $.Iterator $.List $.ListIterator $.RandomAccess $.NoSuchElementException".split(" "),
"java.util.AbstractList",["java.lang.IllegalArgumentException","$.IllegalStateException","$.IndexOutOfBoundsException","$.UnsupportedOperationException","java.util.ConcurrentModificationException"],function(){c$=r(function(){this.modCount=0;q(this,arguments)},java.util,"AbstractList",java.util.AbstractCollection,java.util.List);b(c$,"add",function(){throw new UnsupportedOperationException;},"~N,~O");b(c$,"add",function(a){this.add(this.size(),a);return!0},"~O");b(c$,"addAll",function(a,c){for(var d=
c.iterator();d.hasNext();)this.add(a++,d.next());return!c.isEmpty()},"~N,java.util.Collection");e(c$,"clear",function(){this.removeRange(0,this.size())});e(c$,"equals",function(a){if(this===a)return!0;if(p(a,java.util.List)){if(a.size()!=this.size())return!1;var c=this.iterator();for(a=a.iterator();c.hasNext();){var d=c.next(),j=a.next();if(!(null==d?null==j:d.equals(j)))return!1}return!0}return!1},"~O");e(c$,"hashCode",function(){for(var a=1,c=this.iterator();c.hasNext();)var d=c.next(),a=31*a+(null==
d?0:d.hashCode());return a});e(c$,"indexOf",function(a){var c=this.listIterator();if(null!=a)for(;c.hasNext();){if(a.equals(c.next()))return c.previousIndex()}else for(;c.hasNext();)if(null==c.next())return c.previousIndex();return-1},"~O");e(c$,"iterator",function(){return new java.util.AbstractListSimpleListIterator(this)});e(c$,"lastIndexOf",function(a){var c=this.listIterator(this.size());if(null!=a)for(;c.hasPrevious();){if(a.equals(c.previous()))return c.nextIndex()}else for(;c.hasPrevious();)if(null==
c.previous())return c.nextIndex();return-1},"~O");b(c$,"listIterator",function(a){a||(a=0);return new java.util.AbstractListFullListIterator(this,a)},"~N");b(c$,"remove",function(){throw new UnsupportedOperationException;},"~N");b(c$,"removeRange",function(a,c){for(var d=this.listIterator(a),j=a;j<c;j++)d.next(),d.remove()},"~N,~N");e(c$,"set",function(){throw new UnsupportedOperationException;},"~N,~O");e(c$,"subList",function(a,c){if(0<=a&&c<=this.size()){if(a<=c)return p(this,java.util.RandomAccess)?
new java.util.AbstractList.SubAbstractListRandomAccess(this,a,c):new java.util.AbstractList.SubAbstractList(this,a,c);throw new IllegalArgumentException;}throw new IndexOutOfBoundsException;},"~N,~N");K(self.c$);c$=r(function(){this.pos=-1;this.expectedModCount=0;this.lastPosition=-1;q(this,arguments)},java.util,"AbstractListSimpleListIterator",null,java.util.Iterator);t(c$,function(a){this._list=a;this.expectedModCount=a.modCount},"java.util.AbstractList");e(c$,"hasNext",function(){return this.pos+
1<this._list.size()});e(c$,"next",function(){if(this.expectedModCount==this._list.modCount)try{var a=this._list.get(this.pos+1);this.lastPosition=++this.pos;return a}catch(c){if(p(c,IndexOutOfBoundsException))throw new java.util.NoSuchElementException;throw c;}throw new java.util.ConcurrentModificationException;});e(c$,"remove",function(){if(this.expectedModCount==this._list.modCount){try{this._list.remove(this.lastPosition)}catch(a){if(p(a,IndexOutOfBoundsException))throw new IllegalStateException;
throw a;}this._list.modCount!=this.expectedModCount&&this.expectedModCount++;this.pos==this.lastPosition&&this.pos--;this.lastPosition=-1}else throw new java.util.ConcurrentModificationException;});c$=L();K(self.c$);c$=r(function(){q(this,arguments)},java.util,"AbstractListFullListIterator",java.util.AbstractListSimpleListIterator,java.util.ListIterator);t(c$,function(a,c){H(this,java.util.AbstractListFullListIterator,[a]);if(0<=c&&c<=this._list.size())this.pos=c-1;else throw new IndexOutOfBoundsException;
},"java.util.AbstractList,~N");e(c$,"add",function(a){if(this.expectedModCount==this._list.modCount){try{this._list.add(this.pos+1,a)}catch(c){if(p(c,IndexOutOfBoundsException))throw new java.util.NoSuchElementException;throw c;}this.pos++;this.lastPosition=-1;this._list.modCount!=this.expectedModCount&&this.expectedModCount++}else throw new java.util.ConcurrentModificationException;},"~O");e(c$,"hasPrevious",function(){return 0<=this.pos});e(c$,"nextIndex",function(){return this.pos+1});e(c$,"previous",
function(){if(this.expectedModCount==this._list.modCount)try{var a=this._list.get(this.pos);this.lastPosition=this.pos;this.pos--;return a}catch(c){if(p(c,IndexOutOfBoundsException))throw new java.util.NoSuchElementException;throw c;}throw new java.util.ConcurrentModificationException;});e(c$,"previousIndex",function(){return this.pos});e(c$,"set",function(a){if(this.expectedModCount==this._list.modCount)try{this._list.set(this.lastPosition,a)}catch(c){if(p(c,IndexOutOfBoundsException))throw new IllegalStateException;
throw c;}else throw new java.util.ConcurrentModificationException;},"~O");c$=L();K(self.c$);c$=B(java.util.AbstractList,"SubAbstractListRandomAccess",java.util.AbstractList.SubAbstractList,java.util.RandomAccess);c$=L();K(self.c$);c$=r(function(){this.fullList=null;this.$size=this.offset=0;q(this,arguments)},java.util.AbstractList,"SubAbstractList",java.util.AbstractList);t(c$,function(a,c,d){H(this,java.util.AbstractList.SubAbstractList);this.fullList=a;this.modCount=this.fullList.modCount;this.offset=
c;this.$size=d-c},"java.util.AbstractList,~N,~N");b(c$,"add",function(a,c){if(this.modCount==this.fullList.modCount)if(0<=a&&a<=this.$size)this.fullList.add(a+this.offset,c),this.$size++,this.modCount=this.fullList.modCount;else throw new IndexOutOfBoundsException;else throw new java.util.ConcurrentModificationException;},"~N,~O");b(c$,"addAll",function(a,c){if(this.modCount==this.fullList.modCount){if(0<=a&&a<=this.$size){var d=this.fullList.addAll(a+this.offset,c);d&&(this.$size+=c.size(),this.modCount=
this.fullList.modCount);return d}throw new IndexOutOfBoundsException;}throw new java.util.ConcurrentModificationException;},"~N,java.util.Collection");b(c$,"addAll",function(a){if(this.modCount==this.fullList.modCount){var c=this.fullList.addAll(this.offset+this.$size,a);c&&(this.$size+=a.size(),this.modCount=this.fullList.modCount);return c}throw new java.util.ConcurrentModificationException;},"java.util.Collection");b(c$,"get",function(a){if(this.modCount==this.fullList.modCount){if(0<=a&&a<this.$size)return this.fullList.get(a+
this.offset);throw new IndexOutOfBoundsException;}throw new java.util.ConcurrentModificationException;},"~N");e(c$,"iterator",function(){return this.listIterator(0)});b(c$,"listIterator",function(a){if(this.modCount==this.fullList.modCount){if(0<=a&&a<=this.$size)return new java.util.AbstractList.SubAbstractList.SubAbstractListIterator(this.fullList.listIterator(a+this.offset),this,this.offset,this.$size);throw new IndexOutOfBoundsException;}throw new java.util.ConcurrentModificationException;},"~N");
b(c$,"remove",function(a){if(this.modCount==this.fullList.modCount){if(0<=a&&a<this.$size)return a=this.fullList.remove(a+this.offset),this.$size--,this.modCount=this.fullList.modCount,a;throw new IndexOutOfBoundsException;}throw new java.util.ConcurrentModificationException;},"~N");b(c$,"removeRange",function(a,c){if(a!=c)if(this.modCount==this.fullList.modCount)this.fullList.removeRange(a+this.offset,c+this.offset),this.$size-=c-a,this.modCount=this.fullList.modCount;else throw new java.util.ConcurrentModificationException;
},"~N,~N");b(c$,"set",function(a,c){if(this.modCount==this.fullList.modCount){if(0<=a&&a<this.$size)return this.fullList.set(a+this.offset,c);throw new IndexOutOfBoundsException;}throw new java.util.ConcurrentModificationException;},"~N,~O");e(c$,"size",function(){return this.$size});b(c$,"sizeChanged",function(a){a?this.$size++:this.$size--;this.modCount=this.fullList.modCount},"~B");K(self.c$);c$=r(function(){this.iterator=this.subList=null;this.end=this.start=0;q(this,arguments)},java.util.AbstractList.SubAbstractList,
"SubAbstractListIterator",null,java.util.ListIterator);t(c$,function(a,c,d,j){this.iterator=a;this.subList=c;this.start=d;this.end=this.start+j},"java.util.ListIterator,java.util.AbstractList.SubAbstractList,~N,~N");b(c$,"add",function(a){this.iterator.add(a);this.subList.sizeChanged(!0);this.end++},"~O");e(c$,"hasNext",function(){return this.iterator.nextIndex()<this.end});e(c$,"hasPrevious",function(){return this.iterator.previousIndex()>=this.start});b(c$,"next",function(){if(this.iterator.nextIndex()<
this.end)return this.iterator.next();throw new java.util.NoSuchElementException;});b(c$,"nextIndex",function(){return this.iterator.nextIndex()-this.start});b(c$,"previous",function(){if(this.iterator.previousIndex()>=this.start)return this.iterator.previous();throw new java.util.NoSuchElementException;});b(c$,"previousIndex",function(){var a=this.iterator.previousIndex();return a>=this.start?a-this.start:-1});b(c$,"remove",function(){this.iterator.remove();this.subList.sizeChanged(!1);this.end--});
b(c$,"set",function(a){this.iterator.set(a)},"~O");c$=L();c$=L()});u(["java.util.Map"],"java.util.AbstractMap",["java.lang.StringBuilder","$.UnsupportedOperationException","java.util.AbstractCollection","$.AbstractSet","$.Iterator"],function(){c$=r(function(){this.valuesCollection=this.$keySet=null;q(this,arguments)},java.util,"AbstractMap",null,java.util.Map);t(c$,function(){});e(c$,"clear",function(){this.entrySet().clear()});e(c$,"containsKey",function(a){var c=this.entrySet().iterator();if(null!=
a)for(;c.hasNext();){if(a.equals(c.next().getKey()))return!0}else for(;c.hasNext();)if(null==c.next().getKey())return!0;return!1},"~O");e(c$,"containsValue",function(a){var c=this.entrySet().iterator();if(null!=a)for(;c.hasNext();){if(a.equals(c.next().getValue()))return!0}else for(;c.hasNext();)if(null==c.next().getValue())return!0;return!1},"~O");e(c$,"equals",function(a){if(this===a)return!0;if(p(a,java.util.Map)){if(this.size()!=a.size())return!1;a=a.entrySet();for(var c=this.entrySet().iterator();c.hasNext();)if(!a.contains(c.next()))return!1;
return!0}return!1},"~O");e(c$,"get",function(a){var c=this.entrySet().iterator();if(null!=a)for(;c.hasNext();){var d=c.next();if(a.equals(d.getKey()))return d.getValue()}else for(;c.hasNext();)if(d=c.next(),null==d.getKey())return d.getValue();return null},"~O");e(c$,"hashCode",function(){for(var a=0,c=this.entrySet().iterator();c.hasNext();)a+=c.next().hashCode();return a});e(c$,"isEmpty",function(){return 0==this.size()});e(c$,"keySet",function(){null==this.$keySet&&(this.$keySet=(N("java.util.AbstractMap$1")?
0:java.util.AbstractMap.$AbstractMap$1$(),R(java.util.AbstractMap$1,this,null)));return this.$keySet});e(c$,"put",function(){throw new UnsupportedOperationException;},"~O,~O");e(c$,"putAll",function(a){var c;for(a=a.entrySet().iterator();a.hasNext()&&((c=a.next())||1);)this.put(c.getKey(),c.getValue())},"java.util.Map");e(c$,"remove",function(a){var c=this.entrySet().iterator();if(null!=a)for(;c.hasNext();){var d=c.next();if(a.equals(d.getKey()))return c.remove(),d.getValue()}else for(;c.hasNext();)if(d=
c.next(),null==d.getKey())return c.remove(),d.getValue();return null},"~O");e(c$,"size",function(){return this.entrySet().size()});e(c$,"toString",function(){if(this.isEmpty())return"{}";var a=new StringBuilder(28*this.size());a.append("{");for(var c=this.entrySet().iterator();c.hasNext();){var d=c.next(),j=d.getKey();j!==this?a.append(j):a.append("(this Map)");a.append("=");d=d.getValue();d!==this?a.append(d):a.append("(this Map)");c.hasNext()&&a.append(", ")}a.append("}");return a.toString()});
e(c$,"values",function(){null==this.valuesCollection&&(this.valuesCollection=(N("java.util.AbstractMap$2")?0:java.util.AbstractMap.$AbstractMap$2$(),R(java.util.AbstractMap$2,this,null)));return this.valuesCollection});b(c$,"clone",function(){var a=T(this,java.util.AbstractMap,"clone",[]);a.$keySet=null;a.valuesCollection=null;return a});c$.$AbstractMap$1$=function(){K(self.c$);c$=fa(java.util,"AbstractMap$1",java.util.AbstractSet);e(c$,"contains",function(a){return this.b$["java.util.AbstractMap"].containsKey(a)},
"~O");e(c$,"size",function(){return this.b$["java.util.AbstractMap"].size()});e(c$,"iterator",function(){return N("java.util.AbstractMap$1$1")?0:java.util.AbstractMap.$AbstractMap$1$1$(),R(java.util.AbstractMap$1$1,this,null)});c$=L()};c$.$AbstractMap$1$1$=function(){K(self.c$);c$=r(function(){W(this,arguments);this.setIterator=null;q(this,arguments)},java.util,"AbstractMap$1$1",null,java.util.Iterator);M(c$,function(){this.setIterator=this.b$["java.util.AbstractMap"].entrySet().iterator()});e(c$,
"hasNext",function(){return this.setIterator.hasNext()});e(c$,"next",function(){return this.setIterator.next().getKey()});e(c$,"remove",function(){this.setIterator.remove()});c$=L()};c$.$AbstractMap$2$=function(){K(self.c$);c$=fa(java.util,"AbstractMap$2",java.util.AbstractCollection);e(c$,"size",function(){return this.b$["java.util.AbstractMap"].size()});e(c$,"contains",function(a){return this.b$["java.util.AbstractMap"].containsValue(a)},"~O");e(c$,"iterator",function(){return N("java.util.AbstractMap$2$1")?
0:java.util.AbstractMap.$AbstractMap$2$1$(),R(java.util.AbstractMap$2$1,this,null)});c$=L()};c$.$AbstractMap$2$1$=function(){K(self.c$);c$=r(function(){W(this,arguments);this.setIterator=null;q(this,arguments)},java.util,"AbstractMap$2$1",null,java.util.Iterator);M(c$,function(){this.setIterator=this.b$["java.util.AbstractMap"].entrySet().iterator()});e(c$,"hasNext",function(){return this.setIterator.hasNext()});e(c$,"next",function(){return this.setIterator.next().getValue()});e(c$,"remove",function(){this.setIterator.remove()});
c$=L()}});u(["java.util.AbstractCollection","$.Set"],"java.util.AbstractSet",null,function(){c$=B(java.util,"AbstractSet",java.util.AbstractCollection,java.util.Set);e(c$,"equals",function(a){return this===a?!0:p(a,java.util.Set)?this.size()==a.size()&&this.containsAll(a):!1},"~O");e(c$,"hashCode",function(){for(var a=0,c=this.iterator();c.hasNext();)var d=c.next(),a=a+(null==d?0:d.hashCode());return a});e(c$,"removeAll",function(a){var c=!1;if(this.size()<=a.size())for(var d=this.iterator();d.hasNext();)a.contains(d.next())&&
(d.remove(),c=!0);else for(d=a.iterator();d.hasNext();)c=this.remove(d.next())||c;return c},"java.util.Collection")});u(["java.util.AbstractList","$.List","$.RandomAccess"],"java.util.ArrayList",["java.lang.IllegalArgumentException","$.IndexOutOfBoundsException","java.lang.reflect.Array","java.util.Arrays"],function(){c$=r(function(){this.lastIndex=this.firstIndex=0;this.array=null;q(this,arguments)},java.util,"ArrayList",java.util.AbstractList,[java.util.List,Cloneable,java.io.Serializable,java.util.RandomAccess]);
U(c$,function(){this.setup(0)});b(c$,"setup",function(a){this.firstIndex=this.lastIndex=0;try{this.array=this.newElementArray(a)}catch(c){if(p(c,NegativeArraySizeException))throw new IllegalArgumentException;throw c;}},"~N");b(c$,"newElementArray",($fz=function(a){return Array(a)},$fz.isPrivate=!0,$fz),"~N");e(c$,"add",function(a,c){if(1==arguments.length)return this.add1(a);var d=this.size();if(0<a&&a<d){if(0==this.firstIndex&&this.lastIndex==this.array.length)this.growForInsert(a,1);else if(a<Math.floor(d/
2)&&0<this.firstIndex||this.lastIndex==this.array.length)System.arraycopy(this.array,this.firstIndex,this.array,--this.firstIndex,a);else{var j=a+this.firstIndex;System.arraycopy(this.array,j,this.array,j+1,d-a);this.lastIndex++}this.array[a+this.firstIndex]=c}else if(0==a)0==this.firstIndex&&this.growAtFront(1),this.array[--this.firstIndex]=c;else if(a==d)this.lastIndex==this.array.length&&this.growAtEnd(1),this.array[this.lastIndex++]=c;else throw new IndexOutOfBoundsException;this.modCount++},
"~N,~O");e(c$,"add1",function(a){this.lastIndex==this.array.length&&this.growAtEnd(1);this.array[this.lastIndex++]=a;this.modCount++;return!0},"~O");e(c$,"addAll",function(a){var c=a.size();if(0<c){this.lastIndex>this.array.length-c&&this.growAtEnd(c);a=a.iterator();for(c=this.lastIndex+c;this.lastIndex<c;)this.array[this.lastIndex++]=a.next();this.modCount++;return!0}return!1},"java.util.Collection");e(c$,"clear",function(){this.firstIndex!=this.lastIndex&&(this.fill(this.firstIndex,this.lastIndex),
this.firstIndex=this.lastIndex=0,this.modCount++)});b(c$,"fill",function(a,c){for(var d=c;--d>=a;)this.array[d]=null},"~N,~N");b(c$,"clone",function(){try{var a=T(this,java.util.ArrayList,"clone",[]);a.array=this.array.clone();return a}catch(c){if(p(c,CloneNotSupportedException))return null;throw c;}});e(c$,"contains",function(a){if(null!=a)for(var c=this.firstIndex;c<this.lastIndex;c++){if(a.equals(this.array[c]))return!0}else for(c=this.firstIndex;c<this.lastIndex;c++)if(null==this.array[c])return!0;
return!1},"~O");b(c$,"ensureCapacity",function(a){this.array.length<a&&(0<this.firstIndex?this.growAtFront(a-this.array.length):this.growAtEnd(a-this.array.length))},"~N");e(c$,"get",function(a){if(0<=a&&a<this.size())return this.array[this.firstIndex+a];throw new IndexOutOfBoundsException;},"~N");b(c$,"growAtEnd",($fz=function(a){var c=this.size();if(this.firstIndex>=a-(this.array.length-this.lastIndex))a=this.lastIndex-this.firstIndex,0<c&&(System.arraycopy(this.array,this.firstIndex,this.array,
0,c),this.fill(a<this.firstIndex?this.firstIndex:a,this.array.length)),this.firstIndex=0,this.lastIndex=a;else{var d=Math.floor(c/2);a>d&&(d=a);12>d&&(d=12);a=this.newElementArray(c+d);0<c&&System.arraycopy(this.array,this.firstIndex,a,this.firstIndex,c);this.array=a}},$fz.isPrivate=!0,$fz),"~N");b(c$,"growAtFront",($fz=function(a){var c=this.size();if(this.array.length-this.lastIndex>=a)a=this.array.length-c,0<c&&(System.arraycopy(this.array,this.firstIndex,this.array,a,c),this.fill(this.firstIndex,
this.firstIndex+c>a?a:this.firstIndex+c)),this.firstIndex=a,this.lastIndex=this.array.length;else{var d=Math.floor(c/2);a>d&&(d=a);12>d&&(d=12);a=this.newElementArray(c+d);0<c&&System.arraycopy(this.array,this.firstIndex,a,a.length-c,c);this.firstIndex=a.length-c;this.lastIndex=a.length;this.array=a}},$fz.isPrivate=!0,$fz),"~N");b(c$,"growForInsert",($fz=function(a,c){var d=this.size(),j=Math.floor(d/2);c>j&&(j=c);12>j&&(j=12);var b=this.newElementArray(d+j);if(a<Math.floor(d/2)){var g=b.length-(d+
c);System.arraycopy(this.array,a,b,a+j,d-a);System.arraycopy(this.array,this.firstIndex,b,g,a);this.firstIndex=g;this.lastIndex=b.length}else System.arraycopy(this.array,this.firstIndex,b,0,a),System.arraycopy(this.array,a,b,a+c,d-a),this.firstIndex=0,this.lastIndex+=c;this.array=b},$fz.isPrivate=!0,$fz),"~N,~N");e(c$,"indexOf",function(a){if(null!=a)for(var c=this.firstIndex;c<this.lastIndex;c++){if(a.equals(this.array[c]))return c-this.firstIndex}else for(c=this.firstIndex;c<this.lastIndex;c++)if(null==
this.array[c])return c-this.firstIndex;return-1},"~O");e(c$,"isEmpty",function(){return this.lastIndex==this.firstIndex});e(c$,"lastIndexOf",function(a){if(null!=a)for(var c=this.lastIndex-1;c>=this.firstIndex;c--){if(a.equals(this.array[c]))return c-this.firstIndex}else for(c=this.lastIndex-1;c>=this.firstIndex;c--)if(null==this.array[c])return c-this.firstIndex;return-1},"~O");e(c$,"remove",function(a){var c,d=this.size();if(0<=a&&a<d)if(a==d-1)c=this.array[--this.lastIndex],this.array[this.lastIndex]=
null;else if(0==a)c=this.array[this.firstIndex],this.array[this.firstIndex++]=null;else{var j=this.firstIndex+a;c=this.array[j];a<Math.floor(d/2)?(System.arraycopy(this.array,this.firstIndex,this.array,this.firstIndex+1,a),this.array[this.firstIndex++]=null):(System.arraycopy(this.array,j+1,this.array,j,d-a-1),this.array[--this.lastIndex]=null)}else throw new IndexOutOfBoundsException;this.modCount++;return c},"~N");b(c$,"removeObject",function(a){a=this.indexOf(a);return 0>a?null:this.remove(a)},
"~O");e(c$,"removeRange",function(a,c){if(0<=a&&a<=c&&c<=this.size()){if(a!=c){var d=this.size();c==d?(this.fill(this.firstIndex+a,this.lastIndex),this.lastIndex=this.firstIndex+a):0==a?(this.fill(this.firstIndex,this.firstIndex+c),this.firstIndex+=c):(System.arraycopy(this.array,this.firstIndex+c,this.array,this.firstIndex+a,d-c),d=this.lastIndex+a-c,this.fill(d,this.lastIndex),this.lastIndex=d);this.modCount++}}else throw new IndexOutOfBoundsException;},"~N,~N");e(c$,"set",function(a,c){if(0<=a&&
a<this.size()){var d=this.array[this.firstIndex+a];this.array[this.firstIndex+a]=c;return d}throw new IndexOutOfBoundsException;},"~N,~O");e(c$,"size",function(){return this.lastIndex-this.firstIndex});e(c$,"toArray",function(a){var c=this.size();if(!a||c>a.length)a=Array(c);System.arraycopy(this.array,this.firstIndex,a,0,c);c<a.length&&(a[c]=null);return a},"~O");b(c$,"trimToSize",function(){var a=this.size(),c=this.newElementArray(a);System.arraycopy(this.array,this.firstIndex,c,0,a);this.array=
c;this.firstIndex=0;this.lastIndex=this.array.length})});u(["java.util.AbstractList","$.RandomAccess"],"java.util.Arrays",["java.lang.ArrayIndexOutOfBoundsException","$.IllegalArgumentException","$.NullPointerException"],function(){c$=B(java.util,"Arrays");c$.copyOfRange=b(c$,"copyOfRange",function(a,c,d){d=Math.min(a.length,d);var j=d-c;if(0>j)throw new IllegalArgumentException(c+" > "+d);if(a.slice)return a.slice(c,d);d=y(j,0);for(var b=0;b<j;b++)d[b]=a[c++];return d},"~A,~N,~N");c$.sort=e(c$,"sort",
function(a,c,d,j){switch(arguments.length){case 1:for(var b=a.sort(function(a,c){return"string"==typeof a||a instanceof Comparable?a.compareTo(c):a-c}),g=0;g<a.length;g++)a[g]=b[g];break;case 2:b=a.sort(function(a,d){return null!=c?c.compare(a,d):"string"==typeof a||a instanceof Comparable?a.compareTo(d):a-d});for(g=0;g<a.length;g++)a[g]=b[g];break;case 3:var h=c,k=d;this.rangeCheck(a.length,h,k);b=[];for(g=h;g<k;g++)b[g-h]=a[g];b=b.sort(function(a,c){return"string"==typeof a||a instanceof Comparable?
a.compareTo(c):a-c});for(g=h;g<k;g++)a[g]=b[g-h];break;case 4:h=c;k=d;c=j;this.rangeCheck(a.length,h,k);b=[];for(g=h;g<k;g++)b[g-h]=a[g];b=b.sort(function(a,d){return null!=c?c.compare(a,d):"string"==typeof a||a instanceof Comparable?a.compareTo(d):a-d});for(g=h;g<k;g++)a[g]=b[g-h]}});c$.rangeCheck=b(c$,"rangeCheck",($fz=function(a,c,d){if(c>d)throw new IllegalArgumentException("fromIndex("+c+") > toIndex("+d+")");if(0>c)throw new ArrayIndexOutOfBoundsException(c);if(d>a)throw new ArrayIndexOutOfBoundsException(d);
},$fz.isPrivate=!0,$fz),"~N,~N,~N");c$.binarySearch=b(c$,"binarySearch",function(a,c){for(var d=0,j=a.length-1;d<=j;){var b=d+j>>1,g=a[b];if(g<c)d=b+1;else if(g>c)j=b-1;else return b}return-(d+1)},"~A,~N");c$.binarySearch=b(c$,"binarySearch",function(a,c){for(var d=0,j=a.length-1;d<=j;){var b=d+j>>1,g=a[b].compareTo(c);if(0>g)d=b+1;else if(0<g)j=b-1;else return b}return-(d+1)},"~A,~O");c$.binarySearch=b(c$,"binarySearch",function(a,c,d){if(null==d)return java.util.Arrays.binarySearch(a,c);for(var j=
0,b=a.length-1;j<=b;){var g=j+b>>1,h=d.compare(a[g],c);if(0>h)j=g+1;else if(0<h)b=g-1;else return g}return-(j+1)},"~A,~O,java.util.Comparator");c$.equals=b(c$,"equals",function(a,c){if(a===c)return!0;if(null==a||null==c)return!1;var d=a.length;if(c.length!=d)return!1;for(var j=0;j<d;j++){var b=a[j],g=c[j];if(!(null==b?null==g:null==b.equals?b==g:b.equals(g)))return!1}return!0},"~A,~A");c$.fill=e(c$,"fill",function(a,c,d,j){2==arguments.length&&(j=c,c=0,d=a.length);java.util.Arrays.rangeCheck(a.length,
c,d);for(var b=c;b<d;b++)a[b]=j});c$.asList=b(c$,"asList",function(a){return new java.util.Arrays.ArrayList(1==arguments.length&&"Array"==Clazz_getClassName(a)?a:arguments)},"~A");K(self.c$);c$=r(function(){this.a=null;q(this,arguments)},java.util.Arrays,"ArrayList",java.util.AbstractList,[java.util.RandomAccess,java.io.Serializable]);t(c$,function(a){H(this,java.util.Arrays.ArrayList,[]);if(null==a)throw new NullPointerException;this.a=a},"~A");e(c$,"size",function(){return this.a.length});b(c$,
"toArray",function(){return this.a.clone()});e(c$,"get",function(a){return this.a[a]},"~N");e(c$,"set",function(a,c){var d=this.a[a];this.a[a]=c;return d},"~N,~O");e(c$,"indexOf",function(a){if(null==a)for(var c=0;c<this.a.length;c++){if(null==this.a[c])return c}else for(c=0;c<this.a.length;c++)if(a.equals(this.a[c]))return c;return-1},"~O");e(c$,"contains",function(a){return-1!=this.indexOf(a)},"~O");c$=L();D(c$,"INSERTIONSORT_THRESHOLD",7)});u("java.util.AbstractList $.AbstractMap $.AbstractSet $.Collection $.Iterator $.List $.ListIterator $.Map $.RandomAccess $.Set $.SortedMap $.SortedSet java.lang.NullPointerException $.UnsupportedOperationException java.lang.reflect.Array".split(" "),
"java.util.Collections","java.lang.ArrayIndexOutOfBoundsException $.ClassCastException $.IllegalArgumentException $.IndexOutOfBoundsException java.util.ArrayList $.Arrays $.Enumeration java.util.Map.Entry java.util.NoSuchElementException $.Random".split(" "),function(){c$=B(java.util,"Collections");c$.binarySearch=b(c$,"binarySearch",function(a,c){if(null==a)throw new NullPointerException;if(a.isEmpty())return-1;if(!p(a,java.util.RandomAccess)){for(var d=a.listIterator();d.hasNext();){var j;if(0>=
(j=c.compareTo(d.next())))return 0==j?d.previousIndex():-d.previousIndex()-1}return-a.size()-1}var d=0,b=a.size(),g=b-1;for(j=-1;d<=g;)if(b=d+g>>1,0<(j=c.compareTo(a.get(b))))d=b+1;else{if(0==j)return b;g=b-1}return-b-(0>j?1:2)},"java.util.List,~O");c$.binarySearch=b(c$,"binarySearch",function(a,c,d){if(null==d)return java.util.Collections.binarySearch(a,c);if(!p(a,java.util.RandomAccess)){for(var j=a.listIterator();j.hasNext();){var b;if(0>=(b=d.compare(c,j.next())))return 0==b?j.previousIndex():
-j.previousIndex()-1}return-a.size()-1}var j=0,g=a.size(),h=g-1;for(b=-1;j<=h;)if(g=j+h>>1,0<(b=d.compare(c,a.get(g))))j=g+1;else{if(0==b)return g;h=g-1}return-g-(0>b?1:2)},"java.util.List,~O,java.util.Comparator");c$.copy=b(c$,"copy",function(a,c){if(a.size()<c.size())throw new ArrayIndexOutOfBoundsException;for(var d=c.iterator(),j=a.listIterator();d.hasNext();){try{j.next()}catch(b){if(p(b,java.util.NoSuchElementException))throw new ArrayIndexOutOfBoundsException;throw b;}j.set(d.next())}},"java.util.List,java.util.List");
c$.enumeration=b(c$,"enumeration",function(a){N("java.util.Collections$1")||java.util.Collections.$Collections$1$(a);return R(java.util.Collections$1,this,null)},"java.util.Collection");c$.fill=b(c$,"fill",function(a,c){for(var d=a.listIterator();d.hasNext();)d.next(),d.set(c)},"java.util.List,~O");c$.max=b(c$,"max",function(a){a=a.iterator();for(var c=a.next();a.hasNext();){var d=a.next();0>c.compareTo(d)&&(c=d)}return c},"java.util.Collection");c$.max=b(c$,"max",function(a,c){for(var d=a.iterator(),
j=d.next();d.hasNext();){var b=d.next();0>c.compare(j,b)&&(j=b)}return j},"java.util.Collection,java.util.Comparator");c$.min=b(c$,"min",function(a){a=a.iterator();for(var c=a.next();a.hasNext();){var d=a.next();0<c.compareTo(d)&&(c=d)}return c},"java.util.Collection");c$.min=b(c$,"min",function(a,c){for(var d=a.iterator(),j=d.next();d.hasNext();){var b=d.next();0<c.compare(j,b)&&(j=b)}return j},"java.util.Collection,java.util.Comparator");c$.nCopies=b(c$,"nCopies",function(a,c){return new java.util.Collections.CopiesList(a,
c)},"~N,~O");c$.reverse=b(c$,"reverse",function(a){var c=a.size(),d=a.listIterator();a=a.listIterator(c);for(var j=0;j<Math.floor(c/2);j++){var b=d.next(),g=a.previous();d.set(g);a.set(b)}},"java.util.List");c$.reverseOrder=b(c$,"reverseOrder",function(){return new java.util.Collections.ReverseComparator});c$.reverseOrder=b(c$,"reverseOrder",function(a){return null==a?java.util.Collections.reverseOrder():new java.util.Collections.ReverseComparatorWithComparator(a)},"java.util.Comparator");c$.shuffle=
b(c$,"shuffle",function(a){java.util.Collections.shuffle(a,new java.util.Random)},"java.util.List");c$.shuffle=b(c$,"shuffle",function(a,c){if(p(a,java.util.RandomAccess))for(j=a.size()-1;0<j;j--)b=c.nextInt()%(j+1),0>b&&(b=-b),a.set(b,a.set(j,a.get(b)));else{for(var d=a.toArray(),j=d.length-1;0<j;j--){var b=c.nextInt()%(j+1);0>b&&(b=-b);var g=d[j];d[j]=d[b];d[b]=g}j=0;for(b=a.listIterator();b.hasNext();)b.next(),b.set(d[j++])}},"java.util.List,java.util.Random");c$.singleton=b(c$,"singleton",function(a){return new java.util.Collections.SingletonSet(a)},
"~O");c$.singletonList=b(c$,"singletonList",function(a){return new java.util.Collections.SingletonList(a)},"~O");c$.singletonMap=b(c$,"singletonMap",function(a,c){return new java.util.Collections.SingletonMap(a,c)},"~O,~O");c$.sort=b(c$,"sort",function(a){var c=a.toArray();java.util.Arrays.sort(c);var d=0;for(a=a.listIterator();a.hasNext();)a.next(),a.set(c[d++])},"java.util.List");c$.sort=b(c$,"sort",function(a,c){var d=a.toArray(Array(a.size()));java.util.Arrays.sort(d,c);for(var j=0,b=a.listIterator();b.hasNext();)b.next(),
b.set(d[j++])},"java.util.List,java.util.Comparator");c$.swap=b(c$,"swap",function(a,c,d){if(null==a)throw new NullPointerException;c!=d&&a.set(d,a.set(c,a.get(d)))},"java.util.List,~N,~N");c$.replaceAll=b(c$,"replaceAll",function(a,c,d){for(var j,b=!1;-1<(j=a.indexOf(c));)b=!0,a.set(j,d);return b},"java.util.List,~O,~O");c$.rotate=b(c$,"rotate",function(a,c){var d=a.size();if(0!=d){var j;j=0<c?c%d:d- -1*(c%d);if(!(0==j||j==d))if(p(a,java.util.RandomAccess))for(var b=a.get(0),g=0,h=0,k=0;k<d;k++)g=
(g+j)%d,b=a.set(g,b),g==h&&(g=++h,b=a.get(h));else b=(d-j)%d,j=a.subList(0,b),d=a.subList(b,d),java.util.Collections.reverse(j),java.util.Collections.reverse(d),java.util.Collections.reverse(a)}},"java.util.List,~N");c$.indexOfSubList=b(c$,"indexOfSubList",function(a,c){var d=a.size(),j=c.size();if(j>d)return-1;if(0==j)return 0;var b=c.get(0),g=a.indexOf(b);if(-1==g)return-1;for(;g<d&&d-g>=j;){var h=a.listIterator(g);if(null==b?null==h.next():b.equals(h.next())){for(var k=c.listIterator(1),m=!1;k.hasNext();){var e=
k.next();if(!h.hasNext())return-1;if(null==e?null!=h.next():!e.equals(h.next())){m=!0;break}}if(!m)return g}g++}return-1},"java.util.List,java.util.List");c$.lastIndexOfSubList=b(c$,"lastIndexOfSubList",function(a,c){var d=c.size(),j=a.size();if(d>j)return-1;if(0==d)return j;for(var j=c.get(d-1),b=a.lastIndexOf(j);-1<b&&b+1>=d;){var g=a.listIterator(b+1);if(null==j?null==g.previous():j.equals(g.previous())){for(var h=c.listIterator(d-1),k=!1;h.hasPrevious();){var m=h.previous();if(!g.hasPrevious())return-1;
if(null==m?null!=g.previous():!m.equals(g.previous())){k=!0;break}}if(!k)return g.nextIndex()}b--}return-1},"java.util.List,java.util.List");c$.list=b(c$,"list",function(a){for(var c=new java.util.ArrayList;a.hasMoreElements();)c.add(a.nextElement());return c},"java.util.Enumeration");c$.synchronizedCollection=b(c$,"synchronizedCollection",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.SynchronizedCollection(a)},"java.util.Collection");c$.synchronizedList=b(c$,
"synchronizedList",function(a){if(null==a)throw new NullPointerException;return p(a,java.util.RandomAccess)?new java.util.Collections.SynchronizedRandomAccessList(a):new java.util.Collections.SynchronizedList(a)},"java.util.List");c$.synchronizedMap=b(c$,"synchronizedMap",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.SynchronizedMap(a)},"java.util.Map");c$.synchronizedSet=b(c$,"synchronizedSet",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.SynchronizedSet(a)},
"java.util.Set");c$.synchronizedSortedMap=b(c$,"synchronizedSortedMap",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.SynchronizedSortedMap(a)},"java.util.SortedMap");c$.synchronizedSortedSet=b(c$,"synchronizedSortedSet",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.SynchronizedSortedSet(a)},"java.util.SortedSet");c$.unmodifiableCollection=b(c$,"unmodifiableCollection",function(a){if(null==a)throw new NullPointerException;
return new java.util.Collections.UnmodifiableCollection(a)},"java.util.Collection");c$.unmodifiableList=b(c$,"unmodifiableList",function(a){if(null==a)throw new NullPointerException;return p(a,java.util.RandomAccess)?new java.util.Collections.UnmodifiableRandomAccessList(a):new java.util.Collections.UnmodifiableList(a)},"java.util.List");c$.unmodifiableMap=b(c$,"unmodifiableMap",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.UnmodifiableMap(a)},"java.util.Map");
c$.unmodifiableSet=b(c$,"unmodifiableSet",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.UnmodifiableSet(a)},"java.util.Set");c$.unmodifiableSortedMap=b(c$,"unmodifiableSortedMap",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.UnmodifiableSortedMap(a)},"java.util.SortedMap");c$.unmodifiableSortedSet=b(c$,"unmodifiableSortedSet",function(a){if(null==a)throw new NullPointerException;return new java.util.Collections.UnmodifiableSortedSet(a)},
"java.util.SortedSet");c$.frequency=b(c$,"frequency",function(a,c){if(null==a)throw new NullPointerException;if(a.isEmpty())return 0;for(var d=0,j=a.iterator();j.hasNext();){var b=j.next();(null==c?null==b:c.equals(b))&&d++}return d},"java.util.Collection,~O");c$.emptyList=b(c$,"emptyList",function(){return java.util.Collections.EMPTY_LIST});c$.emptySet=b(c$,"emptySet",function(){return java.util.Collections.EMPTY_SET});c$.emptyMap=b(c$,"emptyMap",function(){return java.util.Collections.EMPTY_MAP});
c$.checkedCollection=b(c$,"checkedCollection",function(a,c){return new java.util.Collections.CheckedCollection(a,c)},"java.util.Collection,Class");c$.checkedMap=b(c$,"checkedMap",function(a,c,d){return new java.util.Collections.CheckedMap(a,c,d)},"java.util.Map,Class,Class");c$.checkedList=b(c$,"checkedList",function(a,c){return p(a,java.util.RandomAccess)?new java.util.Collections.CheckedRandomAccessList(a,c):new java.util.Collections.CheckedList(a,c)},"java.util.List,Class");c$.checkedSet=b(c$,
"checkedSet",function(a,c){return new java.util.Collections.CheckedSet(a,c)},"java.util.Set,Class");c$.checkedSortedMap=b(c$,"checkedSortedMap",function(a,c,d){return new java.util.Collections.CheckedSortedMap(a,c,d)},"java.util.SortedMap,Class,Class");c$.checkedSortedSet=b(c$,"checkedSortedSet",function(a,c){return new java.util.Collections.CheckedSortedSet(a,c)},"java.util.SortedSet,Class");c$.addAll=b(c$,"addAll",function(a,c){for(var d=!1,j=0;j<c.length;j++)d=(new Boolean(d|a.add(c[j]))).valueOf();
return d},"java.util.Collection,~A");c$.disjoint=b(c$,"disjoint",function(a,c){if(p(a,java.util.Set)&&!p(c,java.util.Set)||c.size()>a.size()){var d=a;a=c;c=d}for(d=a.iterator();d.hasNext();)if(c.contains(d.next()))return!1;return!0},"java.util.Collection,java.util.Collection");c$.checkType=b(c$,"checkType",function(a,c){if(!c.isInstance(a))throw new ClassCastException("Attempt to insert "+a.getClass()+" element into collection with element type "+c);return a},"~O,Class");c$.$Collections$1$=function(a){K(self.c$);
c$=r(function(){W(this,arguments);this.it=null;q(this,arguments)},java.util,"Collections$1",null,java.util.Enumeration);M(c$,function(){this.it=a.iterator()});b(c$,"hasMoreElements",function(){return this.it.hasNext()});b(c$,"nextElement",function(){return this.it.next()});c$=L()};K(self.c$);c$=r(function(){this.n=0;this.element=null;q(this,arguments)},java.util.Collections,"CopiesList",java.util.AbstractList,java.io.Serializable);t(c$,function(a,c){H(this,java.util.Collections.CopiesList,[]);if(0>
a)throw new IllegalArgumentException;this.n=a;this.element=c},"~N,~O");e(c$,"contains",function(a){return null==this.element?null==a:this.element.equals(a)},"~O");e(c$,"size",function(){return this.n});e(c$,"get",function(a){if(0<=a&&a<this.n)return this.element;throw new IndexOutOfBoundsException;},"~N");c$=L();K(self.c$);c$=B(java.util.Collections,"EmptyList",java.util.AbstractList,java.io.Serializable);e(c$,"contains",function(){return!1},"~O");e(c$,"size",function(){return 0});e(c$,"get",function(){throw new IndexOutOfBoundsException;
},"~N");c$=L();K(self.c$);c$=B(java.util.Collections,"EmptySet",java.util.AbstractSet,java.io.Serializable);e(c$,"contains",function(){return!1},"~O");e(c$,"size",function(){return 0});e(c$,"iterator",function(){return N("java.util.Collections$EmptySet$1")?0:java.util.Collections.EmptySet.$Collections$EmptySet$1$(),R(java.util.Collections$EmptySet$1,this,null)});c$.$Collections$EmptySet$1$=function(){K(self.c$);c$=fa(java.util,"Collections$EmptySet$1",null,java.util.Iterator);e(c$,"hasNext",function(){return!1});
e(c$,"next",function(){throw new java.util.NoSuchElementException;});e(c$,"remove",function(){throw new UnsupportedOperationException;});c$=L()};c$=L();K(self.c$);c$=B(java.util.Collections,"EmptyMap",java.util.AbstractMap,java.io.Serializable);e(c$,"containsKey",function(){return!1},"~O");e(c$,"containsValue",function(){return!1},"~O");e(c$,"entrySet",function(){return java.util.Collections.EMPTY_SET});e(c$,"get",function(){return null},"~O");e(c$,"keySet",function(){return java.util.Collections.EMPTY_SET});
e(c$,"values",function(){return java.util.Collections.EMPTY_LIST});c$=L();K(self.c$);c$=B(java.util.Collections,"ReverseComparator",null,[java.util.Comparator,java.io.Serializable]);e(c$,"compare",function(a,c){return c.compareTo(a)},"~O,~O");c$=L();K(self.c$);c$=r(function(){this.comparator=null;q(this,arguments)},java.util.Collections,"ReverseComparatorWithComparator",null,[java.util.Comparator,java.io.Serializable]);t(c$,function(a){this.comparator=a},"java.util.Comparator");b(c$,"compare",function(a,
c){return this.comparator.compare(c,a)},"~O,~O");c$=L();K(self.c$);c$=r(function(){this.element=null;q(this,arguments)},java.util.Collections,"SingletonSet",java.util.AbstractSet,java.io.Serializable);t(c$,function(a){H(this,java.util.Collections.SingletonSet,[]);this.element=a},"~O");e(c$,"contains",function(a){return null==this.element?null==a:this.element.equals(a)},"~O");e(c$,"size",function(){return 1});e(c$,"iterator",function(){return N("java.util.Collections$SingletonSet$1")?0:java.util.Collections.SingletonSet.$Collections$SingletonSet$1$(),
R(java.util.Collections$SingletonSet$1,this,null)});c$.$Collections$SingletonSet$1$=function(){K(self.c$);c$=r(function(){W(this,arguments);this.$hasNext=!0;q(this,arguments)},java.util,"Collections$SingletonSet$1",null,java.util.Iterator);e(c$,"hasNext",function(){return this.$hasNext});e(c$,"next",function(){if(this.$hasNext)return this.$hasNext=!1,this.b$["java.util.Collections.SingletonSet"].element;throw new java.util.NoSuchElementException;});e(c$,"remove",function(){throw new UnsupportedOperationException;
});c$=L()};c$=L();K(self.c$);c$=r(function(){this.element=null;q(this,arguments)},java.util.Collections,"SingletonList",java.util.AbstractList,java.io.Serializable);t(c$,function(a){H(this,java.util.Collections.SingletonList,[]);this.element=a},"~O");e(c$,"contains",function(a){return null==this.element?null==a:this.element.equals(a)},"~O");e(c$,"get",function(a){if(0==a)return this.element;throw new IndexOutOfBoundsException;},"~N");e(c$,"size",function(){return 1});c$=L();K(self.c$);c$=r(function(){this.v=
this.k=null;q(this,arguments)},java.util.Collections,"SingletonMap",java.util.AbstractMap,java.io.Serializable);t(c$,function(a,c){H(this,java.util.Collections.SingletonMap,[]);this.k=a;this.v=c},"~O,~O");e(c$,"containsKey",function(a){return null==this.k?null==a:this.k.equals(a)},"~O");e(c$,"containsValue",function(a){return null==this.v?null==a:this.v.equals(a)},"~O");e(c$,"get",function(a){return this.containsKey(a)?this.v:null},"~O");e(c$,"size",function(){return 1});e(c$,"entrySet",function(){return N("java.util.Collections$SingletonMap$1")?
0:java.util.Collections.SingletonMap.$Collections$SingletonMap$1$(),R(java.util.Collections$SingletonMap$1,this,null)});c$.$Collections$SingletonMap$1$=function(){K(self.c$);c$=fa(java.util,"Collections$SingletonMap$1",java.util.AbstractSet);e(c$,"contains",function(a){return p(a,java.util.Map.Entry)?this.b$["java.util.Collections.SingletonMap"].containsKey(a.getKey())&&this.b$["java.util.Collections.SingletonMap"].containsValue(a.getValue()):!1},"~O");e(c$,"size",function(){return 1});e(c$,"iterator",
function(){return N("java.util.Collections$SingletonMap$1$1")?0:java.util.Collections.$Collections$SingletonMap$1$1$(),R(java.util.Collections$SingletonMap$1$1,this,null)});c$=L()};c$.$Collections$SingletonMap$1$1$=function(){K(self.c$);c$=r(function(){W(this,arguments);this.$hasNext=!0;q(this,arguments)},java.util,"Collections$SingletonMap$1$1",null,java.util.Iterator);e(c$,"hasNext",function(){return this.$hasNext});e(c$,"next",function(){if(this.$hasNext)return this.$hasNext=!1,N("java.util.Collections$SingletonMap$1$1$1")?
0:java.util.Collections.$Collections$SingletonMap$1$1$1$(),R(java.util.Collections$SingletonMap$1$1$1,this,null);throw new java.util.NoSuchElementException;});e(c$,"remove",function(){throw new UnsupportedOperationException;});c$=L()};c$.$Collections$SingletonMap$1$1$1$=function(){K(self.c$);c$=fa(java.util,"Collections$SingletonMap$1$1$1",null,java.util.Map.Entry);e(c$,"equals",function(a){return this.b$["java.util.Collections$SingletonMap$1"].contains(a)},"~O");e(c$,"getKey",function(){return this.b$["java.util.Collections.SingletonMap"].k});
e(c$,"getValue",function(){return this.b$["java.util.Collections.SingletonMap"].v});e(c$,"hashCode",function(){return(null==this.b$["java.util.Collections.SingletonMap"].k?0:this.b$["java.util.Collections.SingletonMap"].k.hashCode())^(null==this.b$["java.util.Collections.SingletonMap"].v?0:this.b$["java.util.Collections.SingletonMap"].v.hashCode())});e(c$,"setValue",function(){throw new UnsupportedOperationException;},"~O");c$=L()};c$=L();K(self.c$);c$=r(function(){this.mutex=this.c=null;q(this,arguments)},
java.util.Collections,"SynchronizedCollection",null,[java.util.Collection,java.io.Serializable]);t(c$,function(a){this.c=a;this.mutex=this},"java.util.Collection");t(c$,function(a,c){this.c=a;this.mutex=c},"java.util.Collection,~O");b(c$,"add",function(a){return this.c.add(a)},"~O");b(c$,"addAll",function(a){return this.c.addAll(a)},"java.util.Collection");b(c$,"clear",function(){this.c.clear()});b(c$,"contains",function(a){return this.c.contains(a)},"~O");b(c$,"containsAll",function(a){return this.c.containsAll(a)},
"java.util.Collection");b(c$,"isEmpty",function(){return this.c.isEmpty()});b(c$,"iterator",function(){return this.c.iterator()});b(c$,"remove",function(a){return this.c.remove(a)},"~O");b(c$,"removeAll",function(a){return this.c.removeAll(a)},"java.util.Collection");b(c$,"retainAll",function(a){return this.c.retainAll(a)},"java.util.Collection");b(c$,"size",function(){return this.c.size()});b(c$,"toArray",function(){return this.c.toArray()});b(c$,"toString",function(){return this.c.toString()});
b(c$,"toArray",function(a){return this.c.toArray(a)},"~A");c$=L();K(self.c$);c$=r(function(){this.list=null;q(this,arguments)},java.util.Collections,"SynchronizedList",java.util.Collections.SynchronizedCollection,java.util.List);t(c$,function(a){H(this,java.util.Collections.SynchronizedList,[a]);this.list=a},"java.util.List");t(c$,function(a,c){H(this,java.util.Collections.SynchronizedList,[a,c]);this.list=a},"java.util.List,~O");b(c$,"add",function(a,c){this.list.add(a,c)},"~N,~O");b(c$,"addAll",
function(a,c){return this.list.addAll(a,c)},"~N,java.util.Collection");e(c$,"equals",function(a){return this.list.equals(a)},"~O");b(c$,"get",function(a){return this.list.get(a)},"~N");e(c$,"hashCode",function(){return this.list.hashCode()});b(c$,"indexOf",function(a){return this.list.indexOf(a)},"~O");b(c$,"lastIndexOf",function(a){return this.list.lastIndexOf(a)},"~O");b(c$,"listIterator",function(a){a||(a=0);return this.list.listIterator(a)},"~N");b(c$,"remove",function(a){return this.list.remove(a)},
"~N");b(c$,"set",function(a,c){return this.list.set(a,c)},"~N,~O");b(c$,"subList",function(a,c){return new java.util.Collections.SynchronizedList(this.list.subList(a,c),this.mutex)},"~N,~N");c$=L();K(self.c$);c$=B(java.util.Collections,"SynchronizedRandomAccessList",java.util.Collections.SynchronizedList,java.util.RandomAccess);e(c$,"subList",function(a,c){return new java.util.Collections.SynchronizedRandomAccessList(this.list.subList(a,c),this.mutex)},"~N,~N");c$=L();K(self.c$);c$=r(function(){this.mutex=
this.m=null;q(this,arguments)},java.util.Collections,"SynchronizedMap",null,[java.util.Map,java.io.Serializable]);t(c$,function(a){this.m=a;this.mutex=this},"java.util.Map");t(c$,function(a,c){this.m=a;this.mutex=c},"java.util.Map,~O");b(c$,"clear",function(){this.m.clear()});b(c$,"containsKey",function(a){return this.m.containsKey(a)},"~O");b(c$,"containsValue",function(a){return this.m.containsValue(a)},"~O");b(c$,"entrySet",function(){return new java.util.Collections.SynchronizedSet(this.m.entrySet(),
this.mutex)});e(c$,"equals",function(a){return this.m.equals(a)},"~O");b(c$,"get",function(a){return this.m.get(a)},"~O");e(c$,"hashCode",function(){return this.m.hashCode()});b(c$,"isEmpty",function(){return this.m.isEmpty()});b(c$,"keySet",function(){return new java.util.Collections.SynchronizedSet(this.m.keySet(),this.mutex)});b(c$,"put",function(a,c){return this.m.put(a,c)},"~O,~O");b(c$,"putAll",function(a){this.m.putAll(a)},"java.util.Map");b(c$,"remove",function(a){return this.m.remove(a)},
"~O");b(c$,"size",function(){return this.m.size()});b(c$,"values",function(){return new java.util.Collections.SynchronizedCollection(this.m.values(),this.mutex)});b(c$,"toString",function(){return this.m.toString()});c$=L();K(self.c$);c$=B(java.util.Collections,"SynchronizedSet",java.util.Collections.SynchronizedCollection,java.util.Set);e(c$,"equals",function(a){return this.c.equals(a)},"~O");e(c$,"hashCode",function(){return this.c.hashCode()});c$=L();K(self.c$);c$=r(function(){this.sm=null;q(this,
arguments)},java.util.Collections,"SynchronizedSortedMap",java.util.Collections.SynchronizedMap,java.util.SortedMap);t(c$,function(a){H(this,java.util.Collections.SynchronizedSortedMap,[a]);this.sm=a},"java.util.SortedMap");t(c$,function(a,c){H(this,java.util.Collections.SynchronizedSortedMap,[a,c]);this.sm=a},"java.util.SortedMap,~O");b(c$,"comparator",function(){return this.sm.comparator()});b(c$,"firstKey",function(){return this.sm.firstKey()});b(c$,"headMap",function(a){return new java.util.Collections.SynchronizedSortedMap(this.sm.headMap(a),
this.mutex)},"~O");b(c$,"lastKey",function(){return this.sm.lastKey()});b(c$,"subMap",function(a,c){return new java.util.Collections.SynchronizedSortedMap(this.sm.subMap(a,c),this.mutex)},"~O,~O");b(c$,"tailMap",function(a){return new java.util.Collections.SynchronizedSortedMap(this.sm.tailMap(a),this.mutex)},"~O");c$=L();K(self.c$);c$=r(function(){this.ss=null;q(this,arguments)},java.util.Collections,"SynchronizedSortedSet",java.util.Collections.SynchronizedSet,java.util.SortedSet);t(c$,function(a){H(this,
java.util.Collections.SynchronizedSortedSet,[a]);this.ss=a},"java.util.SortedSet");t(c$,function(a,c){H(this,java.util.Collections.SynchronizedSortedSet,[a,c]);this.ss=a},"java.util.SortedSet,~O");b(c$,"comparator",function(){return this.ss.comparator()});b(c$,"first",function(){return this.ss.first()});b(c$,"headSet",function(a){return new java.util.Collections.SynchronizedSortedSet(this.ss.headSet(a),this.mutex)},"~O");b(c$,"last",function(){return this.ss.last()});b(c$,"subSet",function(a,c){return new java.util.Collections.SynchronizedSortedSet(this.ss.subSet(a,
c),this.mutex)},"~O,~O");b(c$,"tailSet",function(a){return new java.util.Collections.SynchronizedSortedSet(this.ss.tailSet(a),this.mutex)},"~O");c$=L();K(self.c$);c$=r(function(){this.c=null;q(this,arguments)},java.util.Collections,"UnmodifiableCollection",null,[java.util.Collection,java.io.Serializable]);t(c$,function(a){this.c=a},"java.util.Collection");e(c$,"add",function(){throw new UnsupportedOperationException;},"~O");e(c$,"addAll",function(){throw new UnsupportedOperationException;},"java.util.Collection");
e(c$,"clear",function(){throw new UnsupportedOperationException;});b(c$,"contains",function(a){return this.c.contains(a)},"~O");b(c$,"containsAll",function(a){return this.c.containsAll(a)},"java.util.Collection");b(c$,"isEmpty",function(){return this.c.isEmpty()});b(c$,"iterator",function(){return N("java.util.Collections$UnmodifiableCollection$1")?0:java.util.Collections.UnmodifiableCollection.$Collections$UnmodifiableCollection$1$(),R(java.util.Collections$UnmodifiableCollection$1,this,null)});
e(c$,"remove",function(){throw new UnsupportedOperationException;},"~O");e(c$,"removeAll",function(){throw new UnsupportedOperationException;},"java.util.Collection");e(c$,"retainAll",function(){throw new UnsupportedOperationException;},"java.util.Collection");b(c$,"size",function(){return this.c.size()});b(c$,"toArray",function(){return this.c.toArray()});b(c$,"toArray",function(a){return this.c.toArray(a)},"~A");b(c$,"toString",function(){return this.c.toString()});c$.$Collections$UnmodifiableCollection$1$=
function(){K(self.c$);c$=r(function(){W(this,arguments);this.iterator=null;q(this,arguments)},java.util,"Collections$UnmodifiableCollection$1",null,java.util.Iterator);M(c$,function(){this.iterator=this.b$["java.util.Collections.UnmodifiableCollection"].c.iterator()});b(c$,"hasNext",function(){return this.iterator.hasNext()});b(c$,"next",function(){return this.iterator.next()});e(c$,"remove",function(){throw new UnsupportedOperationException;});c$=L()};c$=L();K(self.c$);c$=r(function(){this.list=
null;q(this,arguments)},java.util.Collections,"UnmodifiableList",java.util.Collections.UnmodifiableCollection,java.util.List);t(c$,function(a){H(this,java.util.Collections.UnmodifiableList,[a]);this.list=a},"java.util.List");b(c$,"add",function(){throw new UnsupportedOperationException;},"~N,~O");b(c$,"addAll",function(){throw new UnsupportedOperationException;},"~N,java.util.Collection");e(c$,"equals",function(a){return this.list.equals(a)},"~O");b(c$,"get",function(a){return this.list.get(a)},"~N");
e(c$,"hashcode",function(){return this.list.hashCode()});b(c$,"indexOf",function(a){return this.list.indexOf(a)},"~O");b(c$,"lastIndexOf",function(a){return this.list.lastIndexOf(a)},"~O");b(c$,"listIterator",function(){return N("java.util.Collections$UnmodifiableList$1")?0:java.util.Collections.UnmodifiableList.$Collections$UnmodifiableList$1$(),R(java.util.Collections$UnmodifiableList$1,this,null)},"~N");b(c$,"remove",function(){throw new UnsupportedOperationException;},"~N");e(c$,"set",function(){throw new UnsupportedOperationException;
},"~N,~O");b(c$,"subList",function(a,c){return new java.util.Collections.UnmodifiableList(this.list.subList(a,c))},"~N,~N");c$.$Collections$UnmodifiableList$1$=function(){K(self.c$);c$=r(function(){W(this,arguments);this.iterator=null;q(this,arguments)},java.util,"Collections$UnmodifiableList$1",null,java.util.ListIterator);M(c$,function(){this.iterator=this.b$["java.util.Collections.UnmodifiableList"].list.listIterator(location)});e(c$,"add",function(){throw new UnsupportedOperationException;},"~O");
b(c$,"hasNext",function(){return this.iterator.hasNext()});b(c$,"hasPrevious",function(){return this.iterator.hasPrevious()});b(c$,"next",function(){return this.iterator.next()});b(c$,"nextIndex",function(){return this.iterator.nextIndex()});b(c$,"previous",function(){return this.iterator.previous()});b(c$,"previousIndex",function(){return this.iterator.previousIndex()});e(c$,"remove",function(){throw new UnsupportedOperationException;});e(c$,"set",function(){throw new UnsupportedOperationException;
},"~O");c$=L()};c$=L();K(self.c$);c$=B(java.util.Collections,"UnmodifiableRandomAccessList",java.util.Collections.UnmodifiableList,java.util.RandomAccess);e(c$,"subList",function(a,c){return new java.util.Collections.UnmodifiableRandomAccessList(this.list.subList(a,c))},"~N,~N");c$=L();K(self.c$);c$=B(java.util.Collections,"UnmodifiableSet",java.util.Collections.UnmodifiableCollection,java.util.Set);e(c$,"equals",function(a){return this.c.equals(a)},"~O");e(c$,"hashCode",function(){return this.c.hashCode()});
c$=L();K(self.c$);c$=r(function(){this.m=null;q(this,arguments)},java.util.Collections,"UnmodifiableMap",null,[java.util.Map,java.io.Serializable]);t(c$,function(a){this.m=a},"java.util.Map");e(c$,"clear",function(){throw new UnsupportedOperationException;});b(c$,"containsKey",function(a){return this.m.containsKey(a)},"~O");b(c$,"containsValue",function(a){return this.m.containsValue(a)},"~O");b(c$,"entrySet",function(){return new java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet(this.m.entrySet())});
e(c$,"equals",function(a){return this.m.equals(a)},"~O");b(c$,"get",function(a){return this.m.get(a)},"~O");e(c$,"hashcode",function(){return this.m.hashCode()});b(c$,"isEmpty",function(){return this.m.isEmpty()});b(c$,"keySet",function(){return new java.util.Collections.UnmodifiableSet(this.m.keySet())});e(c$,"put",function(){throw new UnsupportedOperationException;},"~O,~O");e(c$,"putAll",function(){throw new UnsupportedOperationException;},"java.util.Map");e(c$,"remove",function(){throw new UnsupportedOperationException;
},"~O");b(c$,"size",function(){return this.m.size()});b(c$,"values",function(){return new java.util.Collections.UnmodifiableCollection(this.m.values())});b(c$,"toString",function(){return this.m.toString()});K(self.c$);c$=B(java.util.Collections.UnmodifiableMap,"UnmodifiableEntrySet",java.util.Collections.UnmodifiableSet);e(c$,"iterator",function(){return N("java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1")?0:java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet.$Collections$UnmodifiableMap$UnmodifiableEntrySet$1$(),
R(java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1,this,null)});b(c$,"toArray",function(){for(var a=this.c.size(),c=Array(a),d=this.iterator();0<=--a;)c[a]=d.next();return c});b(c$,"toArray",function(a){var c=this.c.size(),d=0,j=this.iterator();c>a.length&&(a=a.getClass().getComponentType(),a=java.lang.reflect.Array.newInstance(a,c));for(;d<c;)a[d++]=j.next();d<a.length&&(a[d]=null);return a},"~A");c$.$Collections$UnmodifiableMap$UnmodifiableEntrySet$1$=function(){K(self.c$);c$=r(function(){W(this,
arguments);this.iterator=null;q(this,arguments)},java.util,"Collections$UnmodifiableMap$UnmodifiableEntrySet$1",null,java.util.Iterator);M(c$,function(){this.iterator=this.b$["java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet"].c.iterator()});b(c$,"hasNext",function(){return this.iterator.hasNext()});b(c$,"next",function(){return new java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableMapEntry(this.iterator.next())});e(c$,"remove",function(){throw new UnsupportedOperationException;
});c$=L()};K(self.c$);c$=r(function(){this.mapEntry=null;q(this,arguments)},java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet,"UnmodifiableMapEntry",null,java.util.Map.Entry);t(c$,function(a){this.mapEntry=a},"java.util.Map.Entry");e(c$,"equals",function(a){return this.mapEntry.equals(a)},"~O");b(c$,"getKey",function(){return this.mapEntry.getKey()});b(c$,"getValue",function(){return this.mapEntry.getValue()});e(c$,"hashcode",function(){return this.mapEntry.hashCode()});e(c$,"setValue",function(){throw new UnsupportedOperationException;
},"~O");b(c$,"toString",function(){return this.mapEntry.toString()});c$=L();c$=L();c$=L();K(self.c$);c$=r(function(){this.sm=null;q(this,arguments)},java.util.Collections,"UnmodifiableSortedMap",java.util.Collections.UnmodifiableMap,java.util.SortedMap);t(c$,function(a){H(this,java.util.Collections.UnmodifiableSortedMap,[a]);this.sm=a},"java.util.SortedMap");b(c$,"comparator",function(){return this.sm.comparator()});b(c$,"firstKey",function(){return this.sm.firstKey()});b(c$,"headMap",function(a){return new java.util.Collections.UnmodifiableSortedMap(this.sm.headMap(a))},
"~O");b(c$,"lastKey",function(){return this.sm.lastKey()});b(c$,"subMap",function(a,c){return new java.util.Collections.UnmodifiableSortedMap(this.sm.subMap(a,c))},"~O,~O");b(c$,"tailMap",function(a){return new java.util.Collections.UnmodifiableSortedMap(this.sm.tailMap(a))},"~O");c$=L();K(self.c$);c$=r(function(){this.ss=null;q(this,arguments)},java.util.Collections,"UnmodifiableSortedSet",java.util.Collections.UnmodifiableSet,java.util.SortedSet);t(c$,function(a){H(this,java.util.Collections.UnmodifiableSortedSet,
[a]);this.ss=a},"java.util.SortedSet");b(c$,"comparator",function(){return this.ss.comparator()});b(c$,"first",function(){return this.ss.first()});b(c$,"headSet",function(a){return new java.util.Collections.UnmodifiableSortedSet(this.ss.headSet(a))},"~O");b(c$,"last",function(){return this.ss.last()});b(c$,"subSet",function(a,c){return new java.util.Collections.UnmodifiableSortedSet(this.ss.subSet(a,c))},"~O,~O");b(c$,"tailSet",function(a){return new java.util.Collections.UnmodifiableSortedSet(this.ss.tailSet(a))},
"~O");c$=L();K(self.c$);c$=r(function(){this.type=this.c=null;q(this,arguments)},java.util.Collections,"CheckedCollection",null,[java.util.Collection,java.io.Serializable]);t(c$,function(a,c){if(null==a||null==c)throw new NullPointerException;this.c=a;this.type=c},"java.util.Collection,Class");b(c$,"size",function(){return this.c.size()});b(c$,"isEmpty",function(){return this.c.isEmpty()});b(c$,"contains",function(a){return this.c.contains(a)},"~O");b(c$,"iterator",function(){var a=this.c.iterator();
p(a,java.util.ListIterator)&&(a=new java.util.Collections.CheckedListIterator(a,this.type));return a});b(c$,"toArray",function(){return this.c.toArray()});b(c$,"toArray",function(a){return this.c.toArray(a)},"~A");b(c$,"add",function(a){return this.c.add(java.util.Collections.checkType(a,this.type))},"~O");b(c$,"remove",function(a){return this.c.remove(a)},"~O");b(c$,"containsAll",function(a){return this.c.containsAll(a)},"java.util.Collection");e(c$,"addAll",function(a){var c=a.size();if(0==c)return!1;
var d=Array(c);a=a.iterator();for(var j=0;j<c;j++)d[j]=java.util.Collections.checkType(a.next(),this.type);a=!1;for(j=0;j<c;j++)a=(new Boolean(a|this.c.add(d[j]))).valueOf();return a},"java.util.Collection");b(c$,"removeAll",function(a){return this.c.removeAll(a)},"java.util.Collection");b(c$,"retainAll",function(a){return this.c.retainAll(a)},"java.util.Collection");b(c$,"clear",function(){this.c.clear()});b(c$,"toString",function(){return this.c.toString()});c$=L();K(self.c$);c$=r(function(){this.type=
this.i=null;q(this,arguments)},java.util.Collections,"CheckedListIterator",null,java.util.ListIterator);t(c$,function(a,c){this.i=a;this.type=c},"java.util.ListIterator,Class");b(c$,"hasNext",function(){return this.i.hasNext()});b(c$,"next",function(){return this.i.next()});b(c$,"remove",function(){this.i.remove()});b(c$,"hasPrevious",function(){return this.i.hasPrevious()});b(c$,"previous",function(){return this.i.previous()});b(c$,"nextIndex",function(){return this.i.nextIndex()});b(c$,"previousIndex",
function(){return this.i.previousIndex()});b(c$,"set",function(a){this.i.set(java.util.Collections.checkType(a,this.type))},"~O");b(c$,"add",function(a){this.i.add(java.util.Collections.checkType(a,this.type))},"~O");c$=L();K(self.c$);c$=r(function(){this.l=null;q(this,arguments)},java.util.Collections,"CheckedList",java.util.Collections.CheckedCollection,java.util.List);t(c$,function(a,c){H(this,java.util.Collections.CheckedList,[a,c]);this.l=a},"java.util.List,Class");b(c$,"addAll",function(a,c){var d=
c.size();if(0==d)return!1;for(var j=Array(d),b=c.iterator(),g=0;g<d;g++)j[g]=java.util.Collections.checkType(b.next(),this.type);return this.l.addAll(a,java.util.Arrays.asList(j))},"~N,java.util.Collection");b(c$,"get",function(a){return this.l.get(a)},"~N");b(c$,"set",function(a,c){return this.l.set(a,java.util.Collections.checkType(c,this.type))},"~N,~O");b(c$,"add",function(a,c){this.l.add(a,java.util.Collections.checkType(c,this.type))},"~N,~O");b(c$,"remove",function(a){return this.l.remove(a)},
"~N");b(c$,"indexOf",function(a){return this.l.indexOf(a)},"~O");b(c$,"lastIndexOf",function(a){return this.l.lastIndexOf(a)},"~O");b(c$,"listIterator",function(a){a||(a=0);return new java.util.Collections.CheckedListIterator(this.l.listIterator(a),this.type)},"~N");b(c$,"subList",function(a,c){return java.util.Collections.checkedList(this.l.subList(a,c),this.type)},"~N,~N");e(c$,"equals",function(a){return this.l.equals(a)},"~O");e(c$,"hashcode",function(){return this.l.hashCode()});c$=L();K(self.c$);
c$=B(java.util.Collections,"CheckedRandomAccessList",java.util.Collections.CheckedList,java.util.RandomAccess);c$=L();K(self.c$);c$=B(java.util.Collections,"CheckedSet",java.util.Collections.CheckedCollection,java.util.Set);e(c$,"equals",function(a){return this.c.equals(a)},"~O");e(c$,"hashCode",function(){return this.c.hashCode()});c$=L();K(self.c$);c$=r(function(){this.valueType=this.keyType=this.m=null;q(this,arguments)},java.util.Collections,"CheckedMap",null,[java.util.Map,java.io.Serializable]);
t(c$,($fz=function(a,c,d){if(null==a||null==c||null==d)throw new NullPointerException;this.m=a;this.keyType=c;this.valueType=d},$fz.isPrivate=!0,$fz),"java.util.Map,Class,Class");b(c$,"size",function(){return this.m.size()});b(c$,"isEmpty",function(){return this.m.isEmpty()});b(c$,"containsKey",function(a){return this.m.containsKey(a)},"~O");b(c$,"containsValue",function(a){return this.m.containsValue(a)},"~O");b(c$,"get",function(a){return this.m.get(a)},"~O");b(c$,"put",function(a,c){return this.m.put(java.util.Collections.checkType(a,
this.keyType),java.util.Collections.checkType(c,this.valueType))},"~O,~O");b(c$,"remove",function(a){return this.m.remove(a)},"~O");e(c$,"putAll",function(a){var c=a.size();if(0!=c){var d=Array(c);a=a.entrySet().iterator();for(var j=0;j<c;j++){var b=a.next();java.util.Collections.checkType(b.getKey(),this.keyType);java.util.Collections.checkType(b.getValue(),this.valueType);d[j]=b}for(b=0;b<c;b++)this.m.put(d[b].getKey(),d[b].getValue())}},"java.util.Map");b(c$,"clear",function(){this.m.clear()});
b(c$,"keySet",function(){return this.m.keySet()});b(c$,"values",function(){return this.m.values()});b(c$,"entrySet",function(){return new java.util.Collections.CheckedMap.CheckedEntrySet(this.m.entrySet(),this.valueType)});e(c$,"equals",function(a){return this.m.equals(a)},"~O");e(c$,"hashcode",function(){return this.m.hashCode()});b(c$,"toString",function(){return this.m.toString()});K(self.c$);c$=r(function(){this.valueType=this.e=null;q(this,arguments)},java.util.Collections.CheckedMap,"CheckedEntry",
null,java.util.Map.Entry);t(c$,function(a,c){if(null==a)throw new NullPointerException;this.e=a;this.valueType=c},"java.util.Map.Entry,Class");b(c$,"getKey",function(){return this.e.getKey()});b(c$,"getValue",function(){return this.e.getValue()});b(c$,"setValue",function(a){return this.e.setValue(java.util.Collections.checkType(a,this.valueType))},"~O");e(c$,"equals",function(a){return this.e.equals(a)},"~O");e(c$,"hashcode",function(){return this.e.hashCode()});c$=L();K(self.c$);c$=r(function(){this.valueType=
this.s=null;q(this,arguments)},java.util.Collections.CheckedMap,"CheckedEntrySet",null,java.util.Set);t(c$,function(a,c){this.s=a;this.valueType=c},"java.util.Set,Class");b(c$,"iterator",function(){return new java.util.Collections.CheckedMap.CheckedEntrySet.CheckedEntryIterator(this.s.iterator(),this.valueType)});b(c$,"toArray",function(){for(var a=this.size(),c=Array(a),d=this.iterator(),j=0;j<a;j++)c[j]=d.next();return c});b(c$,"toArray",function(a){var c=this.size();if(a.length<c){var d=a.getClass().getComponentType();
a=java.lang.reflect.Array.newInstance(d,c)}for(var d=this.iterator(),j=0;j<c;j++)a[j]=d.next();c<a.length&&(a[c]=null);return a},"~A");b(c$,"retainAll",function(a){return this.s.retainAll(a)},"java.util.Collection");b(c$,"removeAll",function(a){return this.s.removeAll(a)},"java.util.Collection");b(c$,"containsAll",function(a){return this.s.containsAll(a)},"java.util.Collection");e(c$,"addAll",function(){throw new UnsupportedOperationException;},"java.util.Collection");b(c$,"remove",function(a){return this.s.remove(a)},
"~O");b(c$,"contains",function(a){return this.s.contains(a)},"~O");e(c$,"add",function(){throw new UnsupportedOperationException;},"java.util.Map.Entry");b(c$,"isEmpty",function(){return this.s.isEmpty()});b(c$,"clear",function(){this.s.clear()});b(c$,"size",function(){return this.s.size()});e(c$,"hashcode",function(){return this.s.hashCode()});e(c$,"equals",function(a){return this.s.equals(a)},"~O");K(self.c$);c$=r(function(){this.valueType=this.i=null;q(this,arguments)},java.util.Collections.CheckedMap.CheckedEntrySet,
"CheckedEntryIterator",null,java.util.Iterator);t(c$,function(a,c){this.i=a;this.valueType=c},"java.util.Iterator,Class");b(c$,"hasNext",function(){return this.i.hasNext()});b(c$,"remove",function(){this.i.remove()});b(c$,"next",function(){return new java.util.Collections.CheckedMap.CheckedEntry(this.i.next(),this.valueType)});c$=L();c$=L();c$=L();K(self.c$);c$=r(function(){this.ss=null;q(this,arguments)},java.util.Collections,"CheckedSortedSet",java.util.Collections.CheckedSet,java.util.SortedSet);
t(c$,function(a,c){H(this,java.util.Collections.CheckedSortedSet,[a,c]);this.ss=a},"java.util.SortedSet,Class");b(c$,"comparator",function(){return this.ss.comparator()});b(c$,"subSet",function(a,c){return new java.util.Collections.CheckedSortedSet(this.ss.subSet(a,c),this.type)},"~O,~O");b(c$,"headSet",function(a){return new java.util.Collections.CheckedSortedSet(this.ss.headSet(a),this.type)},"~O");b(c$,"tailSet",function(a){return new java.util.Collections.CheckedSortedSet(this.ss.tailSet(a),this.type)},
"~O");b(c$,"first",function(){return this.ss.first()});b(c$,"last",function(){return this.ss.last()});c$=L();K(self.c$);c$=r(function(){this.sm=null;q(this,arguments)},java.util.Collections,"CheckedSortedMap",java.util.Collections.CheckedMap,java.util.SortedMap);t(c$,function(a,c,d){H(this,java.util.Collections.CheckedSortedMap,[a,c,d]);this.sm=a},"java.util.SortedMap,Class,Class");b(c$,"comparator",function(){return this.sm.comparator()});b(c$,"subMap",function(a,c){return new java.util.Collections.CheckedSortedMap(this.sm.subMap(a,
c),this.keyType,this.valueType)},"~O,~O");b(c$,"headMap",function(a){return new java.util.Collections.CheckedSortedMap(this.sm.headMap(a),this.keyType,this.valueType)},"~O");b(c$,"tailMap",function(a){return new java.util.Collections.CheckedSortedMap(this.sm.tailMap(a),this.keyType,this.valueType)},"~O");b(c$,"firstKey",function(){return this.sm.firstKey()});b(c$,"lastKey",function(){return this.sm.lastKey()});c$=L();c$.EMPTY_LIST=c$.prototype.EMPTY_LIST=new java.util.Collections.EmptyList;c$.EMPTY_SET=
c$.prototype.EMPTY_SET=new java.util.Collections.EmptySet;c$.EMPTY_MAP=c$.prototype.EMPTY_MAP=new java.util.Collections.EmptyMap});c$=B(java.util,"Dictionary");t(c$,function(){});u([],"java.util.HashtableIterator",[],function(){c$=r(function(){this.expectedModCount=this.position=0;this.lastEntry=this.type=null;this.lastPosition=0;this.canRemove=!1;q(this,arguments)},java.util,"HashtableIterator",null,java.util.Iterator);t(c$,function(a){this.type=a;this.h$=a.h$;this.position=this.h$.lastSlot;this.expectedModCount=
this.h$.modCount},"java.util.AbstractSet");e(c$,"hasNext",function(){if(this.lastEntry&&this.lastEntry.next)return!0;for(;this.position>=this.h$.firstSlot;)if(null==this.h$.elementData[this.position])this.position--;else return!0;return!1});e(c$,"next",function(){if(this.expectedModCount==this.h$.modCount){this.lastEntry&&(this.lastEntry=this.lastEntry.next);if(null==this.lastEntry){for(;this.position>=this.h$.firstSlot&&null==(this.lastEntry=this.h$.elementData[this.position]);)this.position--;this.lastEntry&&
(this.lastPosition=this.position,this.position--)}if(this.lastEntry)return this.canRemove=!0,this.type.get(this.lastEntry);throw new java.util.NoSuchElementException;}throw new java.util.ConcurrentModificationException;});e(c$,"remove",function(){if(this.expectedModCount==this.h$.modCount)if(this.canRemove){var a=this.canRemove=!1,c=this.h$.elementData[this.lastPosition];if(c===this.lastEntry)this.h$.elementData[this.lastPosition]=c.next,a=!0;else{for(;c&&c.next!==this.lastEntry;)c=c.next;c&&(c.next=
this.lastEntry.next,a=!0)}if(a){this.h$.modCount++;this.h$.elementCount--;this.expectedModCount++;return}}else throw new IllegalStateException;throw new java.util.ConcurrentModificationException;})});u([],"java.util.HashtableEnumerator",[],function(){c$=r(function(){this.key=!1;this.start=0;this.entry=null;q(this,arguments)},java.util,"HashtableEnumerator",null,java.util.Enumeration);t(c$,function(a,c){this.key=a;if(this.h$=c)this.start=this.h$.lastSlot+1},"~B,java.util.Hashtable");e(c$,"hasMoreElements",
function(){if(!this.h$)return!1;if(this.entry)return!0;for(;--this.start>=this.h$.firstSlot;)if(this.h$.elementData[this.start])return this.entry=this.h$.elementData[this.start],!0;return!1});e(c$,"nextElement",function(){if(this.hasMoreElements()){var a=this.key?this.entry.key:this.entry.value;this.entry=this.entry.next;return a}throw new java.util.NoSuchElementException;})});u(["java.util.AbstractSet"],"java.util.HashtableEntrySet",[],function(){c$=r(function(){q(this,arguments)},java.util,"HashtableEntrySet",
java.util.AbstractSet,null);t(c$,function(a){this.h$=a},"java.util.Hashtable");e(c$,"size",function(){return this.h$.elementCount});e(c$,"clear",function(){this.h$.clear()});e(c$,"remove",function(a){return this.contains(a)?(this.h$.remove(a.getKey()),!0):!1},"~O");b(c$,"contains",function(a){var c=this.h$.getEntry(a.getKey());return a.equals(c)},"~O");e(c$,"get",function(a){return a},"java.util.MapEntry");b(c$,"iterator",function(){return new java.util.HashtableIterator(this)})});u(["java.util.AbstractSet"],
"java.util.HashtableKeySet",[],function(){c$=r(function(){q(this,arguments)},java.util,"HashtableKeySet",java.util.AbstractSet,null);t(c$,function(a){this.h$=a},"java.util.Hashtable");e(c$,"contains",function(a){return this.h$.containsKey(a)},"~O");e(c$,"size",function(){return this.h$.elementCount});e(c$,"clear",function(){this.h$.clear()});e(c$,"remove",function(a){return this.h$.containsKey(a)?(this.h$.remove(a),!0):!1},"~O");e(c$,"get",function(a){return a.key},"java.util.MapEntry");e(c$,"iterator",
function(){return new java.util.HashtableIterator(this)})});u(["java.util.AbstractCollection"],"java.util.HashtableValueCollection",[],function(){c$=r(function(){q(this,arguments)},java.util,"HashtableValueCollection",java.util.AbstractCollection,null);t(c$,function(a){this.h$=a},"java.util.Hashtable");e(c$,"contains",function(a){return this.h$.contains(a)},"~O");e(c$,"size",function(){return this.h$.elementCount});e(c$,"clear",function(){this.h$.clear()});e(c$,"get",function(a){return a.value},"java.util.MapEntry");
e(c$,"iterator",function(){return new java.util.HashtableIterator(this)})});u(["java.util.MapEntry"],"java.util.HashtableEntry",[],function(){c$=r(function(){this.next=null;this.hashcode=0;q(this,arguments)},java.util,"HashtableEntry",java.util.MapEntry);U(c$,function(a,c){this.key=a;this.value=c;this.hashcode=a.hashCode()});b(c$,"clone",function(){var a=T(this,java.util.HashtableEntry,"clone",[]);null!=this.next&&(a.next=this.next.clone());return a});e(c$,"setValue",function(a){if(null==a)throw new NullPointerException;
var c=this.value;this.value=a;return c},"~O");b(c$,"getKeyHash",function(){return this.key.hashCode()});b(c$,"equalsKey",function(a){return this.hashcode==(!a.hashCode||a.hashCode())&&this.key.equals(a)},"~O,~N");e(c$,"toString",function(){return this.key+"="+this.value})});u("java.util.Dictionary $.Enumeration $.HashtableEnumerator $.Iterator $.Map $.MapEntry $.NoSuchElementException".split(" "),"java.util.Hashtable","java.lang.IllegalArgumentException $.IllegalStateException $.NullPointerException $.StringBuilder java.util.AbstractCollection $.AbstractSet $.Arrays $.Collections $.ConcurrentModificationException java.util.MapEntry.Type java.util.HashtableEntry".split(" "),
function(){c$=r(function(){this.elementCount=0;this.elementData=null;this.firstSlot=this.threshold=this.loadFactor=0;this.lastSlot=-1;this.modCount=0;q(this,arguments)},java.util,"Hashtable",java.util.Dictionary,[java.util.Map,Cloneable,java.io.Serializable]);c$.newEntry=b(c$,"newEntry",($fz=function(a,c){return new java.util.HashtableEntry(a,c)},$fz.isPrivate=!0,$fz),"~O,~O,~N");U(c$,function(){this.elementCount=0;this.elementData=this.newElementArray(11);this.firstSlot=this.elementData.length;this.loadFactor=
0.75;this.computeMaxSize()});b(c$,"newElementArray",($fz=function(a){return Array(a)},$fz.isPrivate=!0,$fz),"~N");e(c$,"clear",function(){this.elementCount=0;for(var a=this.elementData.length;0<=--a;)this.elementData[a]=null;this.modCount++});b(c$,"clone",function(){try{var a=T(this,java.util.Hashtable,"clone",[]);a.elementData=this.elementData.clone();for(var c,d=this.elementData.length;0<=--d;)if(c=this.elementData[d])a.elementData[d]=c.clone();return a}catch(j){if(p(j,CloneNotSupportedException))return null;
throw j;}});b(c$,"computeMaxSize",($fz=function(){this.threshold=Math.round(this.elementData.length*this.loadFactor)},$fz.isPrivate=!0,$fz));b(c$,"contains",function(a){if(null==a)throw new NullPointerException;for(var c=this.elementData.length;0<=--c;)for(var d=this.elementData[c];d;){if(a.equals(d.value))return!0;d=d.next}return!1},"~O");e(c$,"containsKey",function(a){a.hashCode||(a.hashCode=function(){return 1},a.equals||(a.equals=function(a){return this==a}));return null!=this.getEntry(a)},"~O");
e(c$,"containsValue",function(a){return this.contains(a)},"~O");e(c$,"elements",function(){return 0==this.elementCount?java.util.Hashtable.EMPTY_ENUMERATION:new java.util.HashtableEnumerator(!1,this)});e(c$,"entrySet",function(){return new java.util.HashtableEntrySet(this)});e(c$,"equals",function(a){if(this===a)return!0;if(p(a,java.util.Map)){if(this.size()!=a.size())return!1;var c=this.entrySet(),d;for(a=a.entrySet().iterator();a.hasNext()&&((d=a.next())||1);)if(!c.contains(d))return!1;return!0}return!1},
"~O");e(c$,"get",function(a){a.hashCode||(a.hashCode=function(){return 1},a.equals||(a.equals=function(a){return this==a}));for(var c=a.hashCode(),d=this.elementData[(c&2147483647)%this.elementData.length];d;){if(d.equalsKey(a,c))return d.value;d=d.next}return null},"~O");b(c$,"getEntry",function(a){for(var c=a.hashCode(),d=this.elementData[(c&2147483647)%this.elementData.length];d;){if(d.equalsKey(a,c))return d;d=d.next}return null},"~O");e(c$,"hashCode",function(){for(var a=0,c=this.entrySet().iterator();c.hasNext();)var d=
c.next(),j=d.getKey(),d=d.getValue(),j=(j!==this?j.hashCode():0)^(d!==this?null!=d?d.hashCode():0:0),a=a+j;return a});e(c$,"isEmpty",function(){return 0==this.elementCount});e(c$,"keys",function(){return 0==this.elementCount?java.util.Hashtable.EMPTY_ENUMERATION:new java.util.HashtableEnumerator(!0,this)});e(c$,"keySet",function(){return new java.util.HashtableKeySet(this)});e(c$,"put",function(a,c){if(null!=a&&null!=c){a.hashCode||(a.hashCode=function(){return 1},a.equals||(a.equals=function(a){return this==
a}));for(var d=a.hashCode(),j=(d&2147483647)%this.elementData.length,b=this.elementData[j];null!=b&&!b.equalsKey(a,d);)b=b.next;if(null==b)return this.modCount++,++this.elementCount>this.threshold&&(this.rehash(),j=(d&2147483647)%this.elementData.length),j<this.firstSlot&&(this.firstSlot=j),j>this.lastSlot&&(this.lastSlot=j),b=java.util.Hashtable.newEntry(a,c,d),b.next=this.elementData[j],this.elementData[j]=b,null;d=b.value;b.value=c;return d}throw new NullPointerException;},"~O,~O");e(c$,"putAll",
function(a){var c;for(a=a.entrySet().iterator();a.hasNext()&&((c=a.next())||1);)this.put(c.getKey(),c.getValue())},"java.util.Map");b(c$,"rehash",function(){var a=(this.elementData.length<<1)+1;0==a&&(a=1);for(var c=a,d=-1,j=this.newElementArray(a),b=this.lastSlot+1;--b>=this.firstSlot;)for(var g=this.elementData[b];null!=g;){var h=(g.getKeyHash()&2147483647)%a;h<c&&(c=h);h>d&&(d=h);var k=g.next;g.next=j[h];j[h]=g;g=k}this.firstSlot=c;this.lastSlot=d;this.elementData=j;this.computeMaxSize()});e(c$,
"remove",function(a){for(var c=a.hashCode(),d=(c&2147483647)%this.elementData.length,j=null,b=this.elementData[d];null!=b&&!b.equalsKey(a,c);)j=b,b=b.next;return null!=b?(this.modCount++,null==j?this.elementData[d]=b.next:j.next=b.next,this.elementCount--,a=b.value,b.value=null,a):null},"~O");e(c$,"size",function(){return this.elementCount});e(c$,"toString",function(){if(this.isEmpty())return"{}";var a=new StringBuilder(28*this.size());a.append("{");for(var c=this.lastSlot;c>=this.firstSlot;c--)for(var d=
this.elementData[c];null!=d;)d.key!==this?a.append(d.key):a.append("(this Map)"),a.append("="),d.value!==this?a.append(d.value):a.append("(this Map)"),a.append(", "),d=d.next;0<this.elementCount&&a.setLength(a.length()-2);a.append("}");return a.toString()});e(c$,"values",function(){return new java.util.HashtableValueCollection(this)});java.util.Hashtable.EMPTY_ENUMERATION=new java.util.HashtableEnumerator});u(["java.util.Map"],"java.util.MapEntry",null,function(){c$=r(function(){this.value=this.key=
null;q(this,arguments)},java.util,"MapEntry",null,[java.util.Map.Entry,Cloneable]);t(c$,function(a){this.key=a},"~O");t(c$,function(a,c){this.key=a;this.value=c},"~O,~O");b(c$,"clone",function(){try{return T(this,java.util.MapEntry,"clone",[])}catch(a){if(p(a,CloneNotSupportedException))return null;throw a;}});e(c$,"equals",function(a){return this===a?!0:p(a,java.util.Map.Entry)?(null==this.key?null==a.getKey():this.key.equals(a.getKey()))&&(null==this.value?null==a.getValue():this.value.equals(a.getValue())):
!1},"~O");e(c$,"getKey",function(){return this.key});e(c$,"getValue",function(){return this.value});e(c$,"hashCode",function(){return(null==this.key?0:this.key.hashCode())^(null==this.value?0:this.value.hashCode())});e(c$,"setValue",function(a){var c=this.value;this.value=a;return c},"~O");e(c$,"toString",function(){return this.key+"="+this.value});I(java.util.MapEntry,"Type")});u(["java.util.Hashtable"],"java.util.Properties",["java.lang.NullPointerException","$.StringBuffer"],function(){c$=r(function(){this.defaults=
this.builder=null;q(this,arguments)},java.util,"Properties",java.util.Hashtable);t(c$,function(a){H(this,java.util.Properties,[]);this.defaults=a},"java.util.Properties");b(c$,"dumpString",($fz=function(a,c,d){var j=0;!d&&(j<c.length&&32==c.charAt(j).charCodeAt(0))&&(a.append("\\ "),j++);for(;j<c.length;j++){var b=c.charAt(j);switch(b){case "\t":a.append("\\t");break;case "\n":a.append("\\n");break;case "\f":a.append("\\f");break;case "\r":a.append("\\r");break;default:(0<="\\#!=:".indexOf(b)||d&&
32==b.charCodeAt(0))&&a.append("\\");if(!(32<=b.charCodeAt(0)&&126>=b.charCodeAt(0))){b=Integer.toHexString(b.charCodeAt(0));a.append("\\u");for(var g=0;g<4-b.length;g++)a.append("0")}a.append(b)}}},$fz.isPrivate=!0,$fz),"StringBuilder,~S,~B");b(c$,"getProperty",function(a){var c=this.get(a),c=p(c,String)?c:null;null==c&&null!=this.defaults&&(c=this.defaults.getProperty(a));return c},"~S");b(c$,"getProperty",function(a,c){var d=this.get(a),d=p(d,String)?d:null;null==d&&null!=this.defaults&&(d=this.defaults.getProperty(a));
return null==d?c:d},"~S,~S");b(c$,"list",function(a){if(null==a)throw new NullPointerException;for(var c=new StringBuffer(80),d=this.propertyNames();d.hasMoreElements();){var j=d.nextElement();c.append(j);c.append("=");for(var b=this.get(j),g=this.defaults;null==b;)b=g.get(j),g=g.defaults;40<b.length?(c.append(b.substring(0,37)),c.append("...")):c.append(b);a.println(c.toString());c.setLength(0)}},"java.io.PrintStream");b(c$,"list",function(a){if(null==a)throw new NullPointerException;for(var c=new StringBuffer(80),
d=this.propertyNames();d.hasMoreElements();){var j=d.nextElement();c.append(j);c.append("=");for(var b=this.get(j),g=this.defaults;null==b;)b=g.get(j),g=g.defaults;40<b.length?(c.append(b.substring(0,37)),c.append("...")):c.append(b);a.println(c.toString());c.setLength(0)}},"java.io.PrintWriter");b(c$,"load",function(){},"java.io.InputStream");b(c$,"propertyNames",function(){if(null==this.defaults)return this.keys();for(var a=new java.util.Hashtable(this.defaults.size()+this.size()),c=this.defaults.propertyNames();c.hasMoreElements();)a.put(c.nextElement(),
a);for(c=this.keys();c.hasMoreElements();)a.put(c.nextElement(),a);return a.keys()});b(c$,"save",function(a,c){try{this.store(a,c)}catch(d){if(!p(d,java.io.IOException))throw d;}},"java.io.OutputStream,~S");b(c$,"setProperty",function(a,c){return this.put(a,c)},"~S,~S");b(c$,"store",function(){},"java.io.OutputStream,~S");b(c$,"loadFromXML",function(){},"java.io.InputStream");b(c$,"storeToXML",function(){},"java.io.OutputStream,~S");b(c$,"storeToXML",function(){},"java.io.OutputStream,~S,~S");b(c$,
"substitutePredefinedEntries",($fz=function(a){return a.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&apos;").replaceAll('"',"&quot;")},$fz.isPrivate=!0,$fz),"~S");D(c$,"PROP_DTD_NAME","http://java.sun.com/dtd/properties.dtd","PROP_DTD",'<?xml version="1.0" encoding="UTF-8"?>    <!ELEMENT properties (comment?, entry*) >    <!ATTLIST properties version CDATA #FIXED "1.0" >    <!ELEMENT comment (#PCDATA) >    <!ELEMENT entry (#PCDATA) >    <!ATTLIST entry key CDATA #REQUIRED >',
"NONE",0,"SLASH",1,"UNICODE",2,"CONTINUE",3,"KEY_DONE",4,"IGNORE",5,"lineSeparator",null)});u(null,"java.util.Random",["java.lang.IllegalArgumentException"],function(){c$=r(function(){this.haveNextNextGaussian=!1;this.nextNextGaussian=this.seed=0;q(this,arguments)},java.util,"Random",null,java.io.Serializable);t(c$,function(){this.setSeed(System.currentTimeMillis())});t(c$,function(a){this.setSeed(a)},"~N");b(c$,"next",function(a){this.seed=25214903917*this.seed+11&0xffffffffffff;return this.seed>>>
48-a},"~N");b(c$,"nextBoolean",function(){return 0.5<Math.random()});b(c$,"nextBytes",function(){for(var a=0;a<bytes.length;a++)bytes[a]=Math.round(256*Math.random())},"~A");b(c$,"nextDouble",function(){return Math.random()});b(c$,"nextFloat",function(){return Math.random()});b(c$,"nextGaussian",function(){if(this.haveNextNextGaussian)return this.haveNextNextGaussian=!1,this.nextNextGaussian;var a,c,d;do a=2*this.nextDouble()-1,c=2*this.nextDouble()-1,d=a*a+c*c;while(1<=d);d=Math.sqrt(-2*Math.log(d)/
d);this.nextNextGaussian=c*d;this.haveNextNextGaussian=!0;return a*d});b(c$,"nextInt",function(){return Math.ceil(65535*Math.random())-32768});b(c$,"nextInt",function(a){if(0<a)return a=Math.min(a,31),Math.floor((2<<a-1)*Math.random());throw new IllegalArgumentException;},"~N");b(c$,"nextLong",function(){return Math.ceil(4294967295*Math.random())-2147483648});b(c$,"setSeed",function(a){Math.seedrandom(a)},"~N");D(c$,"multiplier",25214903917)});var V=[],ga=Math,$=52,ea=void 0,na=void 0,ia=function(a){var c,
d,j=this,b=a.length,g=0,h=j.i=j.j=j.m=0;j.S=[];j.c=[];for(b||(a=[b++]);256>g;)j.S[g]=g++;for(g=0;256>g;g++)c=j.S[g],h=h+c+a[g%b]&255,d=j.S[h],j.S[g]=d,j.S[h]=c;j.g=function(a){var c=j.S,d=j.i+1&255,b=c[d],f=j.j+b&255,g=c[f];c[d]=g;c[f]=b;for(var h=c[b+g&255];--a;)d=d+1&255,b=c[d],f=f+b&255,g=c[f],c[d]=g,c[f]=b,h=256*h+c[b+g&255];j.i=d;j.j=f;return h};j.g(256)},oa=function(a,c,d,j){d=[];if(c&&"object"==typeof a)for(j in a)if(5>j.indexOf("S"))try{d.push(oa(a[j],c-1))}catch(b){}return d.length?d:""+
a},ja=function(a,c,d,j){a+="";for(j=d=0;j<a.length;j++){var b=c,g=j&255,h=(d^=19*c[j&255])+a.charCodeAt(j);b[g]=h&255}a="";for(j in c)a+=String.fromCharCode(c[j]);return a};ga.seedrandom=function(a,c){var d=[],j;a=ja(oa(c?[a,V]:arguments.length?a:[(new Date).getTime(),V,window],3),d);j=new ia(d);ja(j.S,V);ga.random=function(){for(var a=j.g(6),c=na,d=0;a<$;)a=256*(a+d),c*=256,d=j.g(1);for(;a>=ea;)a/=2,c/=2,d>>>=1;return(a+d)/c};return a};na=ga.pow(256,6);$=ga.pow(2,$);ea=2*$;ja(ga.random(),V);u(["java.util.Map"],
"java.util.SortedMap",null,function(){I(java.util,"SortedMap",java.util.Map)});u(["java.util.Set"],"java.util.SortedSet",null,function(){I(java.util,"SortedSet",java.util.Set)});u(["java.util.Enumeration"],"java.util.StringTokenizer",["java.lang.NullPointerException","java.util.NoSuchElementException"],function(){c$=r(function(){this.delimiters=this.string=null;this.returnDelimiters=!1;this.position=0;q(this,arguments)},java.util,"StringTokenizer",null,java.util.Enumeration);t(c$,function(a){this.construct(a,
" \t\n\r\f",!1)},"~S");t(c$,function(a,c){this.construct(a,c,!1)},"~S,~S");t(c$,function(a,c,d){if(null!=a)this.string=a,this.delimiters=c,this.returnDelimiters=d,this.position=0;else throw new NullPointerException;},"~S,~S,~B");b(c$,"countTokens",function(){for(var a=0,c=!1,d=this.position,j=this.string.length;d<j;d++)0<=this.delimiters.indexOf(this.string.charAt(d),0)?(this.returnDelimiters&&a++,c&&(a++,c=!1)):c=!0;c&&a++;return a});e(c$,"hasMoreElements",function(){return this.hasMoreTokens()});
b(c$,"hasMoreTokens",function(){var a=this.string.length;if(this.position<a){if(this.returnDelimiters)return!0;for(var c=this.position;c<a;c++)if(-1==this.delimiters.indexOf(this.string.charAt(c),0))return!0}return!1});e(c$,"nextElement",function(){return this.nextToken()});b(c$,"nextToken",function(){var a=this.position,c=this.string.length;if(a<c){if(this.returnDelimiters){if(0<=this.delimiters.indexOf(this.string.charAt(this.position),0))return String.valueOf(this.string.charAt(this.position++));
for(this.position++;this.position<c;this.position++)if(0<=this.delimiters.indexOf(this.string.charAt(this.position),0))return this.string.substring(a,this.position);return this.string.substring(a)}for(;a<c&&0<=this.delimiters.indexOf(this.string.charAt(a),0);)a++;this.position=a;if(a<c){for(this.position++;this.position<c;this.position++)if(0<=this.delimiters.indexOf(this.string.charAt(this.position),0))return this.string.substring(a,this.position);return this.string.substring(a)}}throw new java.util.NoSuchElementException;
});b(c$,"nextToken",function(a){this.delimiters=a;return this.nextToken()},"~S")});l("javajs.api");I(javajs.api,"BytePoster");l("javajs.api");I(javajs.api,"EventManager");l("javajs.api");I(javajs.api,"FontManager");l("javajs.api");I(javajs.api,"GenericColor");l("javajs.api");I(javajs.api,"GenericFileInterface");l("javajs.api");I(javajs.api,"GenericMenuInterface");l("javajs.api");I(javajs.api,"GenericMouseInterface");l("javajs.api");u(["javajs.api.FontManager"],"javajs.api.GenericPlatform",null,function(){c$=
I(javajs.api,"GenericPlatform",javajs.api.FontManager);D(c$,"CURSOR_DEFAULT",0,"CURSOR_CROSSHAIR",1,"CURSOR_WAIT",3,"CURSOR_ZOOM",8,"CURSOR_HAND",12,"CURSOR_MOVE",13)});l("javajs.api");I(javajs.api,"JmolObjectInterface");l("javajs.api");I(javajs.api,"JSInterface");l("javajs.api");I(javajs.api,"JSONEncodable");l("javajs.api");I(javajs.api,"PlatformViewer");l("javajs.api");I(javajs.api,"ZInputStream");l("javajs.awt");u(["javajs.api.GenericColor"],"javajs.awt.Color",null,function(){c$=r(function(){this.argb=
0;q(this,arguments)},javajs.awt,"Color",null,javajs.api.GenericColor);e(c$,"getRGB",function(){return this.argb&16777215});e(c$,"getOpacity255",function(){return this.argb>>24&255});e(c$,"setOpacity255",function(a){this.argb=this.argb&16777215|(a&255)<<24},"~N");c$.get1=b(c$,"get1",function(a){var c=new javajs.awt.Color;c.argb=a|4278190080;return c},"~N");c$.get3=b(c$,"get3",function(a,c,d){return(new javajs.awt.Color).set4(a,c,d,255)},"~N,~N,~N");c$.get4=b(c$,"get4",function(a,c,d,j){return(new javajs.awt.Color).set4(a,
c,d,j)},"~N,~N,~N,~N");b(c$,"set4",function(a,c,d,j){this.argb=(j<<24|a<<16|c<<8|d)&4294967295;return this},"~N,~N,~N,~N");e(c$,"toString",function(){var a="00000000"+Integer.toHexString(this.argb);return"[0x"+a.substring(a.length-8,a.length)+"]"})});l("javajs.awt");c$=r(function(){this.height=this.width=0;q(this,arguments)},javajs.awt,"Dimension");t(c$,function(a,c){this.set(a,c)},"~N,~N");b(c$,"set",function(a,c){this.width=a;this.height=c;return this},"~N,~N");l("javajs.awt.event");c$=r(function(){this.source=
null;q(this,arguments)},javajs.awt.event,"Event");b(c$,"getSource",function(){return this.source});D(c$,"MOUSE_LEFT",16,"MOUSE_MIDDLE",8,"MOUSE_RIGHT",4,"MOUSE_WHEEL",32,"MAC_COMMAND",20,"BUTTON_MASK",28,"MOUSE_DOWN",501,"MOUSE_UP",502,"MOUSE_MOVE",503,"MOUSE_ENTER",504,"MOUSE_EXIT",505,"MOUSE_DRAG",506,"SHIFT_MASK",1,"ALT_MASK",8,"CTRL_MASK",2,"CTRL_ALT",10,"CTRL_SHIFT",3,"META_MASK",4,"VK_SHIFT",16,"VK_ALT",18,"VK_CONTROL",17,"VK_META",157,"VK_LEFT",37,"VK_RIGHT",39,"VK_PERIOD",46,"VK_SPACE",32,
"VK_DOWN",40,"VK_UP",38,"VK_ESCAPE",27,"VK_DELETE",127,"VK_BACK_SPACE",8,"VK_PAGE_DOWN",34,"VK_PAGE_UP",33,"MOVED",0,"DRAGGED",1,"CLICKED",2,"WHEELED",3,"PRESSED",4,"RELEASED",5);l("javajs.awt");u(null,"javajs.awt.Font",["JU.AU"],function(){c$=r(function(){this.fid=0;this.fontStyle=this.fontFace=null;this.fontSize=this.idFontStyle=this.idFontFace=this.fontSizeNominal=0;this.manager=this.fontMetrics=this.font=null;this.descent=this.ascent=0;this.isItalic=this.isBold=!1;q(this,arguments)},javajs.awt,
"Font");t(c$,function(a,c,d,j,b,g,h){this.manager=a;this.fid=c;this.fontFace=javajs.awt.Font.fontFaces[d];this.fontStyle=javajs.awt.Font.fontStyles[j];this.idFontFace=d;this.idFontStyle=j;this.fontSize=b;this.isBold=1==(j&1);this.isItalic=2==(j&2);this.fontSizeNominal=g;this.font=a.newFont(javajs.awt.Font.fontFaces[d],this.isBold,this.isItalic,b);this.fontMetrics=a.getFontMetrics(this,h);this.descent=a.getFontDescent(this.fontMetrics);this.ascent=a.getFontAscent(this.fontMetrics)},"javajs.api.FontManager,~N,~N,~N,~N,~N,~O");
c$.getFont3D=b(c$,"getFont3D",function(a){return javajs.awt.Font.font3ds[a&255]},"~N");c$.createFont3D=b(c$,"createFont3D",function(a,c,d,j,b,g){255<d&&(d=255);for(var h=A(d)<<4,h=a&3|(c&3)<<2|h<<4,k=javajs.awt.Font.fontkeyCount;0<--k;)if(h==javajs.awt.Font.fontkeys[k]&&javajs.awt.Font.font3ds[k].fontSizeNominal==j)return javajs.awt.Font.font3ds[k];k=javajs.awt.Font.fontkeyCount++;k==javajs.awt.Font.fontkeys.length&&(javajs.awt.Font.fontkeys=JU.AU.arrayCopyI(javajs.awt.Font.fontkeys,k+8));javajs.awt.Font.font3ds=
JU.AU.arrayCopyObject(javajs.awt.Font.font3ds,k+8);a=new javajs.awt.Font(b,k,a,c,d,j,g);javajs.awt.Font.font3ds[k]=a;javajs.awt.Font.fontkeys[k]=h;return a},"~N,~N,~N,~N,javajs.api.FontManager,~O");c$.getFontFaceID=b(c$,"getFontFaceID",function(a){return"Monospaced".equalsIgnoreCase(a)?2:"Serif".equalsIgnoreCase(a)?1:0},"~S");c$.getFontStyleID=b(c$,"getFontStyleID",function(a){for(var c=4;0<=--c;)if(javajs.awt.Font.fontStyles[c].equalsIgnoreCase(a))return c;return-1},"~S");b(c$,"getAscent",function(){return this.ascent});
b(c$,"getDescent",function(){return this.descent});b(c$,"getHeight",function(){return this.getAscent()+this.getDescent()});b(c$,"getFontMetrics",function(){return this.fontMetrics});b(c$,"stringWidth",function(a){return this.manager.fontStringWidth(this,a)},"~S");b(c$,"getInfo",function(){return this.fontSizeNominal+" "+this.fontFace+" "+this.fontStyle});D(c$,"FONT_ALLOCATION_UNIT",8,"fontkeyCount",1,"fontkeys",y(8,0));c$.font3ds=c$.prototype.font3ds=Array(8);D(c$,"FONT_FACE_SANS",0,"FONT_FACE_SERIF",
1,"FONT_FACE_MONO",2,"fontFaces",x(-1,["SansSerif","Serif","Monospaced",""]),"FONT_STYLE_PLAIN",0,"FONT_STYLE_BOLD",1,"FONT_STYLE_ITALIC",2,"FONT_STYLE_BOLDITALIC",3,"fontStyles",x(-1,["Plain","Bold","Italic","BoldItalic"]))});l("JU");u(["javajs.api.JSONEncodable"],"JU.A4",["JU.T3"],function(){c$=r(function(){this.angle=this.z=this.y=this.x=0;q(this,arguments)},JU,"A4",null,[javajs.api.JSONEncodable,java.io.Serializable]);t(c$,function(){this.z=1});c$.new4=b(c$,"new4",function(a,c,d,j){var b=new JU.A4;
b.set4(a,c,d,j);return b},"~N,~N,~N,~N");c$.newAA=b(c$,"newAA",function(a){var c=new JU.A4;c.set4(a.x,a.y,a.z,a.angle);return c},"JU.A4");c$.newVA=b(c$,"newVA",function(a,c){var d=new JU.A4;d.setVA(a,c);return d},"JU.V3,~N");b(c$,"setVA",function(a,c){this.x=a.x;this.y=a.y;this.z=a.z;this.angle=c},"JU.V3,~N");b(c$,"set4",function(a,c,d,j){this.x=a;this.y=c;this.z=d;this.angle=j},"~N,~N,~N,~N");b(c$,"setAA",function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.angle=a.angle},"JU.A4");b(c$,"setM",function(a){this.setFromMat(a.m00,
a.m01,a.m02,a.m10,a.m11,a.m12,a.m20,a.m21,a.m22)},"JU.M3");b(c$,"setFromMat",function(a,c,d,j,b,g,h,k,m){a=0.5*(a+b+m-1);this.x=k-g;this.y=d-h;this.z=j-c;c=0.5*Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z);0==c&&1==a?(this.x=this.y=0,this.z=1,this.angle=0):this.angle=Math.atan2(c,a)},"~N,~N,~N,~N,~N,~N,~N,~N,~N");e(c$,"hashCode",function(){return JU.T3.floatToIntBits0(this.x)^JU.T3.floatToIntBits0(this.y)^JU.T3.floatToIntBits0(this.z)^JU.T3.floatToIntBits0(this.angle)});e(c$,"equals",function(a){return!p(a,
JU.A4)?!1:this.x==a.x&&this.y==a.y&&this.z==a.z&&this.angle==a.angle},"~O");e(c$,"toString",function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.angle+")"});e(c$,"toJSON",function(){return"["+this.x+","+this.y+","+this.z+","+180*this.angle/3.141592653589793+"]"})});l("JU");u(["java.net.URLConnection"],"JU.AjaxURLConnection",["JU.AU","$.Rdr","$.SB"],function(){c$=r(function(){this.bytesOut=null;this.postOut="";q(this,arguments)},JU,"AjaxURLConnection",java.net.URLConnection);b(c$,"doAjax",
function(){var a=null,a=Jmol;return a._doAjax(this.url,this.postOut,this.bytesOut)});e(c$,"connect",function(){});b(c$,"outputBytes",function(a){this.bytesOut=a},"~A");b(c$,"outputString",function(a){this.postOut=a},"~S");e(c$,"getInputStream",function(){var a=null,c=this.doAjax();JU.AU.isAB(c)?a=JU.Rdr.getBIS(c):p(c,JU.SB)?a=JU.Rdr.getBIS(JU.Rdr.getBytesFromSB(c)):p(c,String)&&(a=JU.Rdr.getBIS(c.getBytes()));return a});b(c$,"getContents",function(){return this.doAjax()})});l("JU");u(["java.net.URLStreamHandler"],
"JU.AjaxURLStreamHandler",["JU.AjaxURLConnection","$.SB"],function(){c$=r(function(){this.protocol=null;q(this,arguments)},JU,"AjaxURLStreamHandler",java.net.URLStreamHandler);t(c$,function(a){H(this,JU.AjaxURLStreamHandler,[]);this.protocol=a},"~S");e(c$,"openConnection",function(a){return new JU.AjaxURLConnection(a)},"java.net.URL");e(c$,"toExternalForm",function(a){var c=new JU.SB;c.append(a.getProtocol());c.append(":");null!=a.getAuthority()&&0<a.getAuthority().length&&(c.append("//"),c.append(a.getAuthority()));
null!=a.getPath()&&c.append(a.getPath());null!=a.getQuery()&&(c.append("?"),c.append(a.getQuery()));null!=a.getRef()&&(c.append("#"),c.append(a.getRef()));return c.toString()},"java.net.URL")});l("JU");u(["java.net.URLStreamHandlerFactory","java.util.Hashtable"],"JU.AjaxURLStreamHandlerFactory",["JU.AjaxURLStreamHandler"],function(){c$=r(function(){this.htFactories=null;q(this,arguments)},JU,"AjaxURLStreamHandlerFactory",null,java.net.URLStreamHandlerFactory);M(c$,function(){this.htFactories=new java.util.Hashtable});
e(c$,"createURLStreamHandler",function(a){var c=this.htFactories.get(a);null==c&&this.htFactories.put(a,c=new JU.AjaxURLStreamHandler(a));return null==c.protocol?null:c},"~S")});l("JU");u(null,"JU.AU",["java.lang.reflect.Array","java.util.Arrays","JU.Lst"],function(){c$=B(JU,"AU");c$.ensureLength=b(c$,"ensureLength",function(a,c){return null!=a&&JU.AU.getLength(a)>=c?a:JU.AU.arrayCopyObject(a,c)},"~O,~N");c$.ensureLengthS=b(c$,"ensureLengthS",function(a,c){return null!=a&&a.length>=c?a:JU.AU.arrayCopyS(a,
c)},"~A,~N");c$.ensureLengthA=b(c$,"ensureLengthA",function(a,c){return null!=a&&a.length>=c?a:JU.AU.arrayCopyF(a,c)},"~A,~N");c$.ensureLengthI=b(c$,"ensureLengthI",function(a,c){return null!=a&&a.length>=c?a:JU.AU.arrayCopyI(a,c)},"~A,~N");c$.ensureLengthShort=b(c$,"ensureLengthShort",function(a,c){return null!=a&&a.length>=c?a:JU.AU.arrayCopyShort(a,c)},"~A,~N");c$.ensureLengthByte=b(c$,"ensureLengthByte",function(a,c){return null!=a&&a.length>=c?a:JU.AU.arrayCopyByte(a,c)},"~A,~N");c$.doubleLength=
b(c$,"doubleLength",function(a){return JU.AU.arrayCopyObject(a,null==a?16:2*JU.AU.getLength(a))},"~O");c$.doubleLengthS=b(c$,"doubleLengthS",function(a){return JU.AU.arrayCopyS(a,null==a?16:2*a.length)},"~A");c$.doubleLengthF=b(c$,"doubleLengthF",function(a){return JU.AU.arrayCopyF(a,null==a?16:2*a.length)},"~A");c$.doubleLengthI=b(c$,"doubleLengthI",function(a){return JU.AU.arrayCopyI(a,null==a?16:2*a.length)},"~A");c$.doubleLengthShort=b(c$,"doubleLengthShort",function(a){return JU.AU.arrayCopyShort(a,
null==a?16:2*a.length)},"~A");c$.doubleLengthByte=b(c$,"doubleLengthByte",function(a){return JU.AU.arrayCopyByte(a,null==a?16:2*a.length)},"~A");c$.doubleLengthBool=b(c$,"doubleLengthBool",function(a){return JU.AU.arrayCopyBool(a,null==a?16:2*a.length)},"~A");c$.deleteElements=b(c$,"deleteElements",function(a,c,d){if(0==d||null==a)return a;var j=JU.AU.getLength(a);if(c>=j)return a;j-=c+d;0>j&&(j=0);var b=JU.AU.newInstanceO(a,c+j);0<c&&System.arraycopy(a,0,b,0,c);0<j&&System.arraycopy(a,c+d,b,c,j);
return b},"~O,~N,~N");c$.arrayCopyObject=b(c$,"arrayCopyObject",function(a,c){if(null==a)return null;var d=JU.AU.getLength(a);if(c==d)return a;var j=JU.AU.newInstanceO(a,c);System.arraycopy(a,0,j,0,d<c?d:c);return j},"~O,~N");c$.newInstanceO=b(c$,"newInstanceO",function(a,c){return JU.AU.isAI(a)?y(c,0):!a.getClass||!a.getClass().getComponentType?Array(c):java.lang.reflect.Array.newInstance(a.getClass().getComponentType(),c)},"~O,~N");c$.getLength=b(c$,"getLength",function(a){return a.length},"~O");
c$.arrayCopyS=b(c$,"arrayCopyS",function(a,c){0>c&&(c=a.length);var d=Array(c);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.arrayCopyII=b(c$,"arrayCopyII",function(a,c){var d=JU.AU.newInt2(c);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.arrayCopyPt=b(c$,"arrayCopyPt",function(a,c){0>c&&(c=a.length);var d=Array(c);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.arrayCopyF=b(c$,"arrayCopyF",
function(a,c){0>c&&(c=a.length);var d=G(c,0);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.arrayCopyI=b(c$,"arrayCopyI",function(a,c){0>c&&(c=a.length);var d=y(c,0);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.arrayCopyRangeI=b(c$,"arrayCopyRangeI",function(a,c,d){if(null==a)return null;var j=a.length;-1==d&&(d=j);-2==d&&(d=v(j/2));d-=c;j=y(d,0);System.arraycopy(a,c,j,0,d);return j},"~A,~N,~N");c$.arrayCopyRangeRevI=b(c$,"arrayCopyRangeRevI",
function(a,c,d){if(null==a)return null;c=JU.AU.arrayCopyRangeI(a,c,d);0>d&&(d=a.length);for(a=v(d/2);0<=--a;)JU.AU.swapInt(c,a,d-1-a);return c},"~A,~N,~N");c$.arrayCopyShort=b(c$,"arrayCopyShort",function(a,c){0>c&&(c=a.length);var d=Q(c,0);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.arrayCopyByte=b(c$,"arrayCopyByte",function(a,c){0>c&&(c=a.length);var d=O(c,0);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.arrayCopyBool=
b(c$,"arrayCopyBool",function(a,c){0>c&&(c=a.length);var d=ha(c,!1);if(null!=a){var j=a.length;System.arraycopy(a,0,d,0,j<c?j:c)}return d},"~A,~N");c$.swapInt=b(c$,"swapInt",function(a,c,d){var j=a[c];a[c]=a[d];a[d]=j},"~A,~N,~N");c$.dumpArray=b(c$,"dumpArray",function(a,c,d,j,b,g){a="dumpArray: "+a+"\n";for(var h=d;h<=j;h++)a+="\t*"+h+"*";for(;g>=b;g--){a+="\n*"+g+"*";for(h=d;h<=j;h++)a+="\t"+(h<c.length&&g<c[h].length?c[h][g]:NaN)}return a},"~S,~A,~N,~N,~N,~N");c$.dumpIntArray=b(c$,"dumpIntArray",
function(a,c){for(var d="",j=0;j<c;j++)d+=" "+a[j];return d},"~A,~N");c$.sortedItem=b(c$,"sortedItem",function(a,c){if(0==a.size())return null;if(1==a.size())return a.get(0);var d=a.toArray(Array(a.size()));java.util.Arrays.sort(d);return d[c%d.length]},"JU.Lst,~N");c$.createArrayOfArrayList=b(c$,"createArrayOfArrayList",function(a){return Array(a)},"~N");c$.createArrayOfHashtable=b(c$,"createArrayOfHashtable",function(a){return Array(a)},"~N");c$.swap=b(c$,"swap",function(a,c,d){var j=a[c];a[c]=
a[d];a[d]=j},"~A,~N,~N");c$.newFloat2=b(c$,"newFloat2",function(a){return x(a,null)},"~N");c$.newInt2=b(c$,"newInt2",function(a){return x(a,null)},"~N");c$.newInt3=b(c$,"newInt3",function(a){return x(a,null)},"~N,~N");c$.newFloat3=b(c$,"newFloat3",function(a){return x(a,null)},"~N,~N");c$.newInt4=b(c$,"newInt4",function(a){return x(a,null)},"~N");c$.newShort2=b(c$,"newShort2",function(a){return x(a,null)},"~N");c$.newByte2=b(c$,"newByte2",function(a){return x(a,null)},"~N");c$.newDouble2=b(c$,"newDouble2",
function(a){return x(a,null)},"~N");c$.removeMapKeys=b(c$,"removeMapKeys",function(a,c){for(var d=new JU.Lst,j,b=a.keySet().iterator();b.hasNext()&&((j=b.next())||1);)j.startsWith(c)&&d.addLast(j);for(j=d.size();0<=--j;)a.remove(d.get(j));return d.size()},"java.util.Map,~S");c$.isAS=b(c$,"isAS",function(a){return sa(a)},"~O");c$.isASS=b(c$,"isASS",function(a){return ta(a)},"~O");c$.isAP=b(c$,"isAP",function(a){return ua(a)},"~O");c$.isAF=b(c$,"isAF",function(a){return ka(a)},"~O");c$.isAFloat=b(c$,
"isAFloat",function(a){return va(a)},"~O");c$.isAD=b(c$,"isAD",function(a){return ka(a)},"~O");c$.isADD=b(c$,"isADD",function(a){return ma(a)},"~O");c$.isAB=b(c$,"isAB",function(a){return la(a)},"~O");c$.isAI=b(c$,"isAI",function(a){return la(a)},"~O");c$.isAII=b(c$,"isAII",function(a){return wa(a)},"~O");c$.isAFF=b(c$,"isAFF",function(a){return ma(a)},"~O");c$.isAFFF=b(c$,"isAFFF",function(a){return xa(a)},"~O");c$.ensureSignedBytes=b(c$,"ensureSignedBytes",function(a){if(null!=a)for(var c=a.length;0<=
--c;){var d=a[c]&255;128<=d&&(d-=256);a[c]=d}return a},"~A")});l("JU");u(null,"JU.Base64",["JU.SB"],function(){c$=B(JU,"Base64");c$.getBytes64=b(c$,"getBytes64",function(a){return JU.Base64.getBase64(a).toBytes(0,-1)},"~A");c$.getBase64=b(c$,"getBase64",function(a){var c=a.length,d=new JU.SB;if(0==c)return d;for(var j=0,b=0;j<c&&0==b;){0==j%75&&0!=j&&d.append("\r\n");var b=j+2==c?1:j+1==c?2:0,g=a[j++]<<16&16711680|(2==b?0:a[j++]<<8)&65280|(1<=b?0:a[j++])&255;d.appendC(JU.Base64.base64.charAt(g>>18&
63));d.appendC(JU.Base64.base64.charAt(g>>12&63));d.appendC(2==b?"=":JU.Base64.base64.charAt(g>>6&63));d.appendC(1<=b?"=":JU.Base64.base64.charAt(g&63))}return d},"~A");c$.decodeBase64=b(c$,"decodeBase64",function(a){var c=0,d,j=a.indexOf(";base64,")+1;0<j&&(j+=7);a=a.toCharArray();var b=a.length;if(0==b)return O(0,0);for(var g=b;--g>=j;)c+=65==(d=a[g].charCodeAt(0)&127)||0<JU.Base64.decode64[d]?3:0;for(var c=c>>2,h=O(c,0),k=18,g=j,m=j=0;g<b;g++)if(0<JU.Base64.decode64[d=a[g].charCodeAt(0)&127]||
65==d||61==d)m|=JU.Base64.decode64[d]<<k,k-=6,0>k&&(h[j++]=(m&16711680)>>16,j<c&&(h[j++]=(m&65280)>>8),j<c&&(h[j++]=m&255),k=18,m=0);return h},"~S");D(c$,"base64","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/","decode64",y(-1,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,62,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,63,0,26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,0,0,0,0,0]))});l("JU");u(["javajs.api.JSONEncodable"],"JU.BS",["java.lang.IndexOutOfBoundsException","$.NegativeArraySizeException","JU.PT","$.SB"],function(){c$=r(function(){this.words=null;this.wordsInUse=0;this.sizeIsSticky=!1;q(this,arguments)},JU,"BS",null,[Cloneable,javajs.api.JSONEncodable]);c$.wordIndex=b(c$,"wordIndex",function(a){return a>>5},"~N");b(c$,"recalculateWordsInUse",function(){var a;for(a=this.wordsInUse-1;0<=a&&0==this.words[a];a--);
this.wordsInUse=a+1});t(c$,function(){this.initWords(32);this.sizeIsSticky=!1});c$.newN=b(c$,"newN",function(a){var c=new JU.BS;c.init(a);return c},"~N");b(c$,"init",function(a){if(0>a)throw new NegativeArraySizeException("nbits < 0: "+a);this.initWords(a);this.sizeIsSticky=!0},"~N");b(c$,"initWords",function(a){this.words=y(JU.BS.wordIndex(a-1)+1,0)},"~N");b(c$,"ensureCapacity",function(a){this.words.length<a&&(a=Math.max(2*this.words.length,a),this.setLength(a),this.sizeIsSticky=!1)},"~N");b(c$,
"expandTo",function(a){a+=1;this.wordsInUse<a&&(this.ensureCapacity(a),this.wordsInUse=a)},"~N");b(c$,"set",function(a){if(0>a)throw new IndexOutOfBoundsException("bitIndex < 0: "+a);var c=JU.BS.wordIndex(a);this.expandTo(c);this.words[c]|=1<<a},"~N");b(c$,"setBitTo",function(a,c){c?this.set(a):this.clear(a)},"~N,~B");b(c$,"setBits",function(a,c){if(a!=c){var d=JU.BS.wordIndex(a),j=JU.BS.wordIndex(c-1);this.expandTo(j);var b=-1<<a,g=-1>>>-c;if(d==j)this.words[d]|=b&g;else{this.words[d]|=b;for(d+=
1;d<j;d++)this.words[d]=-1;this.words[j]|=g}}},"~N,~N");b(c$,"clear",function(a){if(0>a)throw new IndexOutOfBoundsException("bitIndex < 0: "+a);var c=JU.BS.wordIndex(a);c>=this.wordsInUse||(this.words[c]&=~(1<<a),this.recalculateWordsInUse())},"~N");b(c$,"clearBits",function(a,c){if(a!=c){var d=JU.BS.wordIndex(a);if(!(d>=this.wordsInUse)){var j=JU.BS.wordIndex(c-1);j>=this.wordsInUse&&(c=this.length(),j=this.wordsInUse-1);var b=-1<<a,g=-1>>>-c;if(d==j)this.words[d]&=~(b&g);else{this.words[d]&=~b;
for(d+=1;d<j;d++)this.words[d]=0;this.words[j]&=~g}this.recalculateWordsInUse()}}},"~N,~N");b(c$,"clearAll",function(){for(;0<this.wordsInUse;)this.words[--this.wordsInUse]=0});b(c$,"get",function(a){if(0>a)throw new IndexOutOfBoundsException("bitIndex < 0: "+a);var c=JU.BS.wordIndex(a);return c<this.wordsInUse&&0!=(this.words[c]&1<<a)},"~N");b(c$,"nextSetBit",function(a){if(0>a)throw new IndexOutOfBoundsException("fromIndex < 0: "+a);var c=JU.BS.wordIndex(a);if(c>=this.wordsInUse)return-1;for(a=
this.words[c]&-1<<a;;){if(0!=a)return 32*c+Integer.numberOfTrailingZeros(a);if(++c==this.wordsInUse)return-1;a=this.words[c]}},"~N");b(c$,"nextClearBit",function(a){if(0>a)throw new IndexOutOfBoundsException("fromIndex < 0: "+a);var c=JU.BS.wordIndex(a);if(c>=this.wordsInUse)return a;for(a=~this.words[c]&-1<<a;;){if(0!=a)return 32*c+Integer.numberOfTrailingZeros(a);if(++c==this.wordsInUse)return 32*this.wordsInUse;a=~this.words[c]}},"~N");b(c$,"length",function(){return 0==this.wordsInUse?0:32*(this.wordsInUse-
1)+(32-Integer.numberOfLeadingZeros(this.words[this.wordsInUse-1]))});b(c$,"isEmpty",function(){return 0==this.wordsInUse});b(c$,"intersects",function(a){for(var c=Math.min(this.wordsInUse,a.wordsInUse)-1;0<=c;c--)if(0!=(this.words[c]&a.words[c]))return!0;return!1},"JU.BS");b(c$,"cardinality",function(){for(var a=0,c=0;c<this.wordsInUse;c++)a+=Integer.bitCount(this.words[c]);return a});b(c$,"and",function(a){if(this!==a){for(;this.wordsInUse>a.wordsInUse;)this.words[--this.wordsInUse]=0;for(var c=
0;c<this.wordsInUse;c++)this.words[c]&=a.words[c];this.recalculateWordsInUse()}},"JU.BS");b(c$,"or",function(a){if(this!==a){var c=Math.min(this.wordsInUse,a.wordsInUse);this.wordsInUse<a.wordsInUse&&(this.ensureCapacity(a.wordsInUse),this.wordsInUse=a.wordsInUse);for(var d=0;d<c;d++)this.words[d]|=a.words[d];c<a.wordsInUse&&System.arraycopy(a.words,c,this.words,c,this.wordsInUse-c)}},"JU.BS");b(c$,"xor",function(a){var c=Math.min(this.wordsInUse,a.wordsInUse);this.wordsInUse<a.wordsInUse&&(this.ensureCapacity(a.wordsInUse),
this.wordsInUse=a.wordsInUse);for(var d=0;d<c;d++)this.words[d]^=a.words[d];c<a.wordsInUse&&System.arraycopy(a.words,c,this.words,c,a.wordsInUse-c);this.recalculateWordsInUse()},"JU.BS");b(c$,"andNot",function(a){for(var c=Math.min(this.wordsInUse,a.wordsInUse)-1;0<=c;c--)this.words[c]&=~a.words[c];this.recalculateWordsInUse()},"JU.BS");e(c$,"hashCode",function(){for(var a=1234,c=this.wordsInUse;0<=--c;)a^=this.words[c]*(c+1);return a>>32^a});b(c$,"size",function(){return 32*this.words.length});e(c$,
"equals",function(a){if(!p(a,JU.BS))return!1;if(this===a)return!0;if(this.wordsInUse!=a.wordsInUse)return!1;for(var c=0;c<this.wordsInUse;c++)if(this.words[c]!=a.words[c])return!1;return!0},"~O");e(c$,"clone",function(){!this.sizeIsSticky&&this.wordsInUse!=this.words.length&&this.setLength(this.wordsInUse);return JU.BS.copy(this)});b(c$,"setLength",function(a){var c=y(a,0);System.arraycopy(this.words,0,c,0,Math.min(this.wordsInUse,a));this.words=c},"~N");e(c$,"toString",function(){return JU.BS.escape(this,
"(",")")});c$.copy=b(c$,"copy",function(a){var c;c=pa(a);var d=a.wordsInUse;0==d?c.words=JU.BS.emptyBitmap:(c.words=y(c.wordsInUse=d,0),System.arraycopy(a.words,0,c.words,0,d));return c},"JU.BS");b(c$,"cardinalityN",function(a){for(var c=this.cardinality(),d=this.length();--d>=a;)this.get(d)&&c--;return c},"~N");e(c$,"toJSON",function(){var a=128<this.wordsInUse?this.cardinality():32*this.wordsInUse,a=JU.SB.newN(6*a+2);a.appendC("[");var c=this.nextSetBit(0);if(-1!=c){a.appendI(c);for(c=this.nextSetBit(c+
1);0<=c;c=this.nextSetBit(c+1)){var d=this.nextClearBit(c);do a.append(", ").appendI(c);while(++c<d)}}a.appendC("]");return a.toString()});c$.escape=b(c$,"escape",function(a,c,d){if(null==a)return c+"{}"+d;var j=new JU.SB;j.append(c+"{");c=a.length();for(var b=-1,g=-2,h=-1;++h<=c;){var k=a.get(h);if(h==c||0<=b&&!k){0<=b&&g!=b&&j.append((g==b-1?" ":":")+b);if(h==c)break;b=-1}a.get(h)&&(0>b&&(j.append((-2==g?"":" ")+h),g=h),b=h)}j.append("}").appendC(d);return j.toString()},"JU.BS,~S,~S");c$.unescape=
b(c$,"unescape",function(a){var c,d;if(null==a||4>(d=(a=a.trim()).length)||a.equalsIgnoreCase("({null})")||"("!=(c=a.charAt(0))&&"["!=c||a.charAt(d-1)!=("("==c?")":"]")||"{"!=a.charAt(1)||a.indexOf("}")!=d-2)return null;for(var j=d-=2;2<=--j;)if(!JU.PT.isDigit(c=a.charAt(j))&&" "!=c&&"\t"!=c&&":"!=c)return null;for(var b=d;JU.PT.isDigit(a.charAt(--b)););if(++b==d)b=0;else try{b=Integer.parseInt(a.substring(b,d))}catch(g){if(C(g,NumberFormatException))return null;throw g;}for(var h=JU.BS.newN(b),k=
b=-1,m=-2,j=2;j<=d;j++)switch(c=a.charAt(j)){case "\t":case " ":case "}":if(0>m)break;if(m<b)return null;b=m;0>k&&(k=m);h.setBits(k,m+1);k=-1;m=-2;break;case ":":k=b=m;m=-2;break;default:JU.PT.isDigit(c)&&(0>m&&(m=0),m=10*m+(c.charCodeAt(0)-48))}return 0<=k?null:h},"~S");D(c$,"ADDRESS_BITS_PER_WORD",5,"BITS_PER_WORD",32,"WORD_MASK",4294967295,"emptyBitmap",y(0,0))});l("JU");u(["java.util.Hashtable"],"JU.CU",["JU.P3","$.PT"],function(){c$=B(JU,"CU");c$.toRGBHexString=b(c$,"toRGBHexString",function(a){var d=
a.getRGB();if(0==d)return"000000";a="00"+Integer.toHexString(d>>16&255);a=a.substring(a.length-2);var j="00"+Integer.toHexString(d>>8&255),j=j.substring(j.length-2),d="00"+Integer.toHexString(d&255),d=d.substring(d.length-2);return a+j+d},"javajs.api.GenericColor");c$.toCSSString=b(c$,"toCSSString",function(a){var d=a.getOpacity255();if(255==d)return"#"+JU.CU.toRGBHexString(a);a=a.getRGB();return"rgba("+(a>>16&255)+","+(a>>8&255)+","+(a&255)+","+d/255+")"},"javajs.api.GenericColor");c$.getArgbFromString=
b(c$,"getArgbFromString",function(a){var d=0;if(null==a||0==(d=a.length))return 0;if("["==a.charAt(0)&&"]"==a.charAt(d-1)){var j;if(0<=a.indexOf(",")){j=JU.PT.split(a.substring(1,a.length-1),",");if(3!=j.length)return 0;a=JU.PT.parseFloat(j[0]);d=JU.PT.parseFloat(j[1]);j=JU.PT.parseFloat(j[2]);return JU.CU.colorTriadToFFRGB(a,d,j)}switch(d){case 9:j="x";break;case 10:j="0x";break;default:return 0}if(1!=a.indexOf(j))return 0;a="#"+a.substring(d-7,d-1);d=7}if(7==d&&"#"==a.charAt(0))try{return JU.PT.parseIntRadix(a.substring(1,
7),16)|4278190080}catch(b){if(C(b,Exception))return 0;throw b;}a=JU.CU.mapJavaScriptColors.get(a.toLowerCase());return null==a?0:a.intValue()},"~S");c$.colorTriadToFFRGB=b(c$,"colorTriadToFFRGB",function(a,d,j){1>=a&&(1>=d&&1>=j)&&(0<a&&(a=256*a-1),0<d&&(d=256*d-1),0<j&&(j=256*j-1));return JU.CU.rgb(A(a),A(d),A(j))},"~N,~N,~N");c$.rgb=b(c$,"rgb",function(a,d,j){return 4278190080|a<<16|d<<8|j},"~N,~N,~N");c$.colorPtFromString=b(c$,"colorPtFromString",function(a){return JU.CU.colorPtFromInt(JU.CU.getArgbFromString(a),
null)},"~S");c$.colorPtFromInt=b(c$,"colorPtFromInt",function(a,d){null==d&&(d=new JU.P3);d.set(a>>16&255,a>>8&255,a&255);return d},"~N,JU.P3");c$.colorPtToFFRGB=b(c$,"colorPtToFFRGB",function(a){return JU.CU.colorTriadToFFRGB(a.x,a.y,a.z)},"JU.T3");c$.toRGB3f=b(c$,"toRGB3f",function(a,d){d[0]=(a>>16&255)/255;d[1]=(a>>8&255)/255;d[2]=(a&255)/255},"~N,~A");c$.toFFGGGfromRGB=b(c$,"toFFGGGfromRGB",function(a){a=v((2989*(a>>16&255)+5870*(a>>8&255)+1140*(a&255)+5E3)/1E4)&16777215;return JU.CU.rgb(a,a,
a)},"~N");c$.rgbToHSL=b(c$,"rgbToHSL",function(a,d){var j=a.x/255,b=a.y/255,g=a.z/255,h=Math.min(j,Math.min(b,g)),k=Math.max(j,Math.max(b,g)),m=k+h,h=k-h,j=60*(0==h?0:k==j?(b-g)/h+6:k==b?(g-j)/h+2:(j-b)/h+4)%360,b=h/(0==h?1:1>=m?m:2-m);return d?JU.P3.new3(Math.round(10*j)/10,Math.round(1E3*b)/10,Math.round(500*m)/10):JU.P3.new3(j,100*b,50*m)},"JU.P3,~B");c$.hslToRGB=b(c$,"hslToRGB",function(a){var d=Math.max(0,Math.min(360,a.x))/60,j=Math.max(0,Math.min(100,a.y))/100;a=Math.max(0,Math.min(100,a.z))/
100;var j=a-(0.5>a?a:1-a)*j,b=2*(a-j);a=JU.CU.toRGB(j,b,d+2);var g=JU.CU.toRGB(j,b,d),d=JU.CU.toRGB(j,b,d-2);return JU.P3.new3(Math.round(255*a),Math.round(255*g),Math.round(255*d))},"JU.P3");c$.toRGB=b(c$,"toRGB",function(a,d,j){return 1>(j+=0>j?6:6<j?-6:0)?a+d*j:3>j?a+d:4>j?a+d*(4-j):a},"~N,~N,~N");D(c$,"colorNames",x(-1,"black pewhite pecyan pepurple pegreen peblue peviolet pebrown pepink peyellow pedarkgreen peorange pelightblue pedarkcyan pedarkgray aliceblue antiquewhite aqua aquamarine azure beige bisque blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkturquoise darkviolet deeppink deepskyblue dimgray dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen bluetint greenblue greentint grey pinktint redorange yellowtint".split(" ")),
"colorArgbs",y(-1,[4278190080,4294967295,4278255615,4291830015,4278255360,4284506367,4294934720,4288946216,4294957272,4294967040,4278239232,4294946816,4289769727,4278231200,4284506208,4293982463,4294634455,4278255615,4286578644,4293984255,4294309340,4294960324,4294962125,4278190335,4287245282,4289014314,4292786311,4284456608,4286578432,4291979550,4294934352,4284782061,4294965468,4292613180,4278255615,4278190219,4278225803,4290283019,4289309097,4278215680,4290623339,4287299723,4283788079,4294937600,
4288230092,4287299584,4293498490,4287609999,4282924427,4281290575,4278243025,4287889619,4294907027,4278239231,4285098345,4280193279,4289864226,4294966E3,4280453922,4294902015,4292664540,4294506751,4294956800,4292519200,4286611584,4278222848,4289593135,4293984240,4294928820,4291648604,4283105410,4294967280,4293977740,4293322490,4294963445,4286381056,4294965965,4289583334,4293951616,4292935679,4294638290,4287688336,4292072403,4294948545,4294942842,4280332970,4287090426,4286023833,4289774814,4294967264,
4278255360,4281519410,4294635750,4294902015,4286578688,4284927402,4278190285,4290401747,4287852763,4282168177,4286277870,4278254234,4282962380,4291237253,4279834992,4294311930,4294960353,4294960309,4294958765,4278190208,4294833638,4286611456,4285238819,4294944E3,4294919424,4292505814,4293847210,4288215960,4289720046,4292571283,4294963157,4294957753,4291659071,4294951115,4292714717,4289781990,4286578816,4294901760,4290547599,4282477025,4287317267,4294606962,4294222944,4281240407,4294964718,4288696877,
4290822336,4287090411,4285160141,4285563024,4294966010,4278255487,4282811060,4291998860,4278222976,4292394968,4294927175,4282441936,4293821166,4294303411,4294967295,4294309365,4294967040,4288335154,4289714175,4281240407,4288217011,4286611584,4294945723,4294919424,4294375029]));c$.mapJavaScriptColors=c$.prototype.mapJavaScriptColors=new java.util.Hashtable;for(var a=JU.CU.colorNames.length;0<=--a;)JU.CU.mapJavaScriptColors.put(JU.CU.colorNames[a],Integer.$valueOf(JU.CU.colorArgbs[a]))});l("JU");c$=
B(JU,"DebugJS");c$._=b(c$,"_",function(){if(ba._debugging)debugger},"~S");l("JU");u(["java.lang.Boolean"],"JU.DF",["java.lang.Double","$.Float","JU.PT","$.SB"],function(){c$=B(JU,"DF");c$.setUseNumberLocalization=b(c$,"setUseNumberLocalization",function(a){JU.DF.useNumberLocalization[0]=a?Boolean.TRUE:Boolean.FALSE},"~B");c$.formatDecimalDbl=b(c$,"formatDecimalDbl",function(a,c){return 2147483647==c||-Infinity==a||Infinity==a||Double.isNaN(a)?""+a:JU.DF.formatDecimal(a,c)},"~N,~N");c$.formatDecimal=
b(c$,"formatDecimal",function(a,c){if(2147483647==c||-Infinity==a||Infinity==a||Float.isNaN(a))return""+a;var d;if(0>c){c=-c;c>JU.DF.formattingStrings.length&&(c=JU.DF.formattingStrings.length);if(0==a)return JU.DF.formattingStrings[c]+"E+0";var j;1>Math.abs(a)?(d=10,j=1E-10*a):(d=-10,j=1E10*a);j=(""+j).toUpperCase();var b=j.indexOf("E");d=JU.PT.parseInt(j.substring(b+1))+d;return 0>b?""+a:JU.DF.formatDecimal(JU.PT.parseFloat(j.substring(0,b)),c-1)+"E"+(0<=d?"+":"")+d}c>=JU.DF.formattingStrings.length&&
(c=JU.DF.formattingStrings.length-1);j=(""+a).toUpperCase();d=j.indexOf(".");if(0>d)return j+JU.DF.formattingStrings[c].substring(1);var g=j.startsWith("-");g&&(j=j.substring(1),d--);b=j.indexOf("E-");0<b&&(d=JU.PT.parseInt(j.substring(b+1)),j="0."+"0000000000000000000000000000000000000000".substring(0,-d-1)+j.substring(0,1)+j.substring(2,b),d=1);b=j.indexOf("E");0<b&&(d=JU.PT.parseInt(j.substring(b+1)),j=j.substring(0,1)+j.substring(2,b)+"0000000000000000000000000000000000000000",j=j.substring(0,
d+1)+"."+j.substring(d+1),d=j.indexOf("."));var h=j.length,b=c+d+1;if(b<h&&"5"<=j.charAt(b))return JU.DF.formatDecimal(a+(g?-1:1)*JU.DF.formatAdds[c],c);for(var k=JU.SB.newS(j.substring(0,0==c?d:++d)),b=0;b<c;b++,d++)d<h?k.appendC(j.charAt(d)):k.appendC("0");j=(g?"-":"")+k;return Boolean.TRUE.equals(JU.DF.useNumberLocalization[0])?j:j.$replace(",",".")},"~N,~N");c$.formatDecimalTrimmed=b(c$,"formatDecimalTrimmed",function(a,c){for(var d=JU.DF.formatDecimalDbl(a,c),j=d.length-1;0<=j&&"0"==d.charAt(j);)j--;
return d.substring(0,j+1)},"~N,~N");D(c$,"formattingStrings",x(-1,"0 0.0 0.00 0.000 0.0000 0.00000 0.000000 0.0000000 0.00000000 0.000000000".split(" ")),"zeros","0000000000000000000000000000000000000000","formatAdds",G(-1,[0.5,0.05,0.005,5E-4,5E-5,5E-6,5E-7,5E-8,5E-9,5E-10]));c$.useNumberLocalization=c$.prototype.useNumberLocalization=x(-1,[Boolean.TRUE])});l("JU");u(["java.lang.Enum"],"JU.Encoding",null,function(){c$=B(JU,"Encoding",Enum);E(c$,"NONE",0,[]);E(c$,"UTF8",1,[]);E(c$,"UTF_16BE",2,[]);
E(c$,"UTF_16LE",3,[]);E(c$,"UTF_32BE",4,[]);E(c$,"UTF_32LE",5,[])});l("JU");u(["java.util.ArrayList"],"JU.Lst",null,function(){c$=B(JU,"Lst",java.util.ArrayList);b(c$,"addLast",function(a){return this.add1(a)},"~O");b(c$,"removeObj",function(a){return this.removeObject(a)},"~O")});l("JU");u(null,"JU.M34",["java.lang.ArrayIndexOutOfBoundsException"],function(){c$=r(function(){this.m22=this.m21=this.m20=this.m12=this.m11=this.m10=this.m02=this.m01=this.m00=0;q(this,arguments)},JU,"M34");b(c$,"setAA33",
function(a){var c=a.x,d=a.y,j=a.z;a=a.angle;var b=Math.sqrt(c*c+d*d+j*j),b=1/b,c=c*b,d=d*b,j=j*b,g=Math.cos(a);a=Math.sin(a);b=1-g;this.m00=g+c*c*b;this.m11=g+d*d*b;this.m22=g+j*j*b;var g=c*d*b,h=j*a;this.m01=g-h;this.m10=g+h;g=c*j*b;h=d*a;this.m02=g+h;this.m20=g-h;g=d*j*b;h=c*a;this.m12=g-h;this.m21=g+h},"JU.A4");b(c$,"rotate",function(a){this.rotate2(a,a)},"JU.T3");b(c$,"rotate2",function(a,c){c.set(this.m00*a.x+this.m01*a.y+this.m02*a.z,this.m10*a.x+this.m11*a.y+this.m12*a.z,this.m20*a.x+this.m21*
a.y+this.m22*a.z)},"JU.T3,JU.T3");b(c$,"setM33",function(a){this.m00=a.m00;this.m01=a.m01;this.m02=a.m02;this.m10=a.m10;this.m11=a.m11;this.m12=a.m12;this.m20=a.m20;this.m21=a.m21;this.m22=a.m22},"JU.M34");b(c$,"clear33",function(){this.m00=this.m01=this.m02=this.m10=this.m11=this.m12=this.m20=this.m21=this.m22=0});b(c$,"set33",function(a,c,d){switch(a){case 0:switch(c){case 0:this.m00=d;return;case 1:this.m01=d;return;case 2:this.m02=d;return}break;case 1:switch(c){case 0:this.m10=d;return;case 1:this.m11=
d;return;case 2:this.m12=d;return}break;case 2:switch(c){case 0:this.m20=d;return;case 1:this.m21=d;return;case 2:this.m22=d;return}}this.err()},"~N,~N,~N");b(c$,"get33",function(a,c){switch(a){case 0:switch(c){case 0:return this.m00;case 1:return this.m01;case 2:return this.m02}break;case 1:switch(c){case 0:return this.m10;case 1:return this.m11;case 2:return this.m12}break;case 2:switch(c){case 0:return this.m20;case 1:return this.m21;case 2:return this.m22}}this.err();return 0},"~N,~N");b(c$,"setRow33",
function(a,c){switch(a){case 0:this.m00=c[0];this.m01=c[1];this.m02=c[2];break;case 1:this.m10=c[0];this.m11=c[1];this.m12=c[2];break;case 2:this.m20=c[0];this.m21=c[1];this.m22=c[2];break;default:this.err()}},"~N,~A");b(c$,"getRow33",function(a,c){switch(a){case 0:c[0]=this.m00;c[1]=this.m01;c[2]=this.m02;return;case 1:c[0]=this.m10;c[1]=this.m11;c[2]=this.m12;return;case 2:c[0]=this.m20;c[1]=this.m21;c[2]=this.m22;return}this.err()},"~N,~A");b(c$,"setColumn33",function(a,c){switch(a){case 0:this.m00=
c[0];this.m10=c[1];this.m20=c[2];break;case 1:this.m01=c[0];this.m11=c[1];this.m21=c[2];break;case 2:this.m02=c[0];this.m12=c[1];this.m22=c[2];break;default:this.err()}},"~N,~A");b(c$,"getColumn33",function(a,c){switch(a){case 0:c[0]=this.m00;c[1]=this.m10;c[2]=this.m20;break;case 1:c[0]=this.m01;c[1]=this.m11;c[2]=this.m21;break;case 2:c[0]=this.m02;c[1]=this.m12;c[2]=this.m22;break;default:this.err()}},"~N,~A");b(c$,"add33",function(a){this.m00+=a.m00;this.m01+=a.m01;this.m02+=a.m02;this.m10+=a.m10;
this.m11+=a.m11;this.m12+=a.m12;this.m20+=a.m20;this.m21+=a.m21;this.m22+=a.m22},"JU.M34");b(c$,"sub33",function(a){this.m00-=a.m00;this.m01-=a.m01;this.m02-=a.m02;this.m10-=a.m10;this.m11-=a.m11;this.m12-=a.m12;this.m20-=a.m20;this.m21-=a.m21;this.m22-=a.m22},"JU.M34");b(c$,"mul33",function(a){this.m00*=a;this.m01*=a;this.m02*=a;this.m10*=a;this.m11*=a;this.m12*=a;this.m20*=a;this.m21*=a;this.m22*=a},"~N");b(c$,"transpose33",function(){var a=this.m01;this.m01=this.m10;this.m10=a;a=this.m02;this.m02=
this.m20;this.m20=a;a=this.m12;this.m12=this.m21;this.m21=a});b(c$,"setXRot",function(a){var c=Math.cos(a);a=Math.sin(a);this.m00=1;this.m10=this.m02=this.m01=0;this.m11=c;this.m12=-a;this.m20=0;this.m21=a;this.m22=c},"~N");b(c$,"setYRot",function(a){var c=Math.cos(a);a=Math.sin(a);this.m00=c;this.m01=0;this.m02=a;this.m10=0;this.m11=1;this.m12=0;this.m20=-a;this.m21=0;this.m22=c},"~N");b(c$,"setZRot",function(a){var c=Math.cos(a);a=Math.sin(a);this.m00=c;this.m01=-a;this.m02=0;this.m10=a;this.m11=
c;this.m21=this.m20=this.m12=0;this.m22=1},"~N");b(c$,"determinant3",function(){return this.m00*(this.m11*this.m22-this.m21*this.m12)-this.m01*(this.m10*this.m22-this.m20*this.m12)+this.m02*(this.m10*this.m21-this.m20*this.m11)});b(c$,"err",function(){throw new ArrayIndexOutOfBoundsException("matrix column/row out of bounds");})});l("JU");u(["JU.M34"],"JU.M3",["JU.T3"],function(){c$=B(JU,"M3",JU.M34,java.io.Serializable);c$.newA9=b(c$,"newA9",function(a){var c=new JU.M3;c.setA(a);return c},"~A");
c$.newM3=b(c$,"newM3",function(a){var c=new JU.M3;if(null==a)return c.setScale(1),c;c.m00=a.m00;c.m01=a.m01;c.m02=a.m02;c.m10=a.m10;c.m11=a.m11;c.m12=a.m12;c.m20=a.m20;c.m21=a.m21;c.m22=a.m22;return c},"JU.M3");b(c$,"setScale",function(a){this.clear33();this.m00=this.m11=this.m22=a},"~N");b(c$,"setM3",function(a){this.setM33(a)},"JU.M34");b(c$,"setA",function(a){this.m00=a[0];this.m01=a[1];this.m02=a[2];this.m10=a[3];this.m11=a[4];this.m12=a[5];this.m20=a[6];this.m21=a[7];this.m22=a[8]},"~A");b(c$,
"setElement",function(a,c,d){this.set33(a,c,d)},"~N,~N,~N");b(c$,"getElement",function(a,c){return this.get33(a,c)},"~N,~N");b(c$,"setRow",function(a,c,d,j){switch(a){case 0:this.m00=c;this.m01=d;this.m02=j;break;case 1:this.m10=c;this.m11=d;this.m12=j;break;case 2:this.m20=c;this.m21=d;this.m22=j;break;default:this.err()}},"~N,~N,~N,~N");b(c$,"setRowV",function(a,c){switch(a){case 0:this.m00=c.x;this.m01=c.y;this.m02=c.z;break;case 1:this.m10=c.x;this.m11=c.y;this.m12=c.z;break;case 2:this.m20=c.x;
this.m21=c.y;this.m22=c.z;break;default:this.err()}},"~N,JU.T3");b(c$,"setRowA",function(a,c){this.setRow33(a,c)},"~N,~A");e(c$,"getRow",function(a,c){this.getRow33(a,c)},"~N,~A");b(c$,"setColumn3",function(a,c,d,j){switch(a){case 0:this.m00=c;this.m10=d;this.m20=j;break;case 1:this.m01=c;this.m11=d;this.m21=j;break;case 2:this.m02=c;this.m12=d;this.m22=j;break;default:this.err()}},"~N,~N,~N,~N");b(c$,"setColumnV",function(a,c){switch(a){case 0:this.m00=c.x;this.m10=c.y;this.m20=c.z;break;case 1:this.m01=
c.x;this.m11=c.y;this.m21=c.z;break;case 2:this.m02=c.x;this.m12=c.y;this.m22=c.z;break;default:this.err()}},"~N,JU.T3");b(c$,"getColumnV",function(a,c){switch(a){case 0:c.x=this.m00;c.y=this.m10;c.z=this.m20;break;case 1:c.x=this.m01;c.y=this.m11;c.z=this.m21;break;case 2:c.x=this.m02;c.y=this.m12;c.z=this.m22;break;default:this.err()}},"~N,JU.T3");b(c$,"setColumnA",function(a,c){this.setColumn33(a,c)},"~N,~A");b(c$,"getColumn",function(a,c){this.getColumn33(a,c)},"~N,~A");b(c$,"add",function(a){this.add33(a)},
"JU.M3");b(c$,"sub",function(a){this.sub33(a)},"JU.M3");b(c$,"transpose",function(){this.transpose33()});b(c$,"transposeM",function(a){this.setM33(a);this.transpose33()},"JU.M3");b(c$,"invertM",function(a){this.setM33(a);this.invert()},"JU.M3");b(c$,"invert",function(){var a=this.determinant3();0!=a&&(a=1/a,this.set9(this.m11*this.m22-this.m12*this.m21,this.m02*this.m21-this.m01*this.m22,this.m01*this.m12-this.m02*this.m11,this.m12*this.m20-this.m10*this.m22,this.m00*this.m22-this.m02*this.m20,this.m02*
this.m10-this.m00*this.m12,this.m10*this.m21-this.m11*this.m20,this.m01*this.m20-this.m00*this.m21,this.m00*this.m11-this.m01*this.m10),this.scale(a))});b(c$,"setAsXRotation",function(a){this.setXRot(a);return this},"~N");b(c$,"setAsYRotation",function(a){this.setYRot(a);return this},"~N");b(c$,"setAsZRotation",function(a){this.setZRot(a);return this},"~N");b(c$,"scale",function(a){this.mul33(a)},"~N");b(c$,"mul",function(a){this.mul2(this,a)},"JU.M3");b(c$,"mul2",function(a,c){this.set9(a.m00*c.m00+
a.m01*c.m10+a.m02*c.m20,a.m00*c.m01+a.m01*c.m11+a.m02*c.m21,a.m00*c.m02+a.m01*c.m12+a.m02*c.m22,a.m10*c.m00+a.m11*c.m10+a.m12*c.m20,a.m10*c.m01+a.m11*c.m11+a.m12*c.m21,a.m10*c.m02+a.m11*c.m12+a.m12*c.m22,a.m20*c.m00+a.m21*c.m10+a.m22*c.m20,a.m20*c.m01+a.m21*c.m11+a.m22*c.m21,a.m20*c.m02+a.m21*c.m12+a.m22*c.m22)},"JU.M3,JU.M3");e(c$,"equals",function(a){return!p(a,JU.M3)?!1:this.m00==a.m00&&this.m01==a.m01&&this.m02==a.m02&&this.m10==a.m10&&this.m11==a.m11&&this.m12==a.m12&&this.m20==a.m20&&this.m21==
a.m21&&this.m22==a.m22},"~O");e(c$,"hashCode",function(){return JU.T3.floatToIntBits0(this.m00)^JU.T3.floatToIntBits0(this.m01)^JU.T3.floatToIntBits0(this.m02)^JU.T3.floatToIntBits0(this.m10)^JU.T3.floatToIntBits0(this.m11)^JU.T3.floatToIntBits0(this.m12)^JU.T3.floatToIntBits0(this.m20)^JU.T3.floatToIntBits0(this.m21)^JU.T3.floatToIntBits0(this.m22)});b(c$,"setZero",function(){this.clear33()});b(c$,"set9",function(a,c,d,j,b,g,h,k,m){this.m00=a;this.m01=c;this.m02=d;this.m10=j;this.m11=b;this.m12=
g;this.m20=h;this.m21=k;this.m22=m},"~N,~N,~N,~N,~N,~N,~N,~N,~N");e(c$,"toString",function(){return"[\n  ["+this.m00+"\t"+this.m01+"\t"+this.m02+"]\n  ["+this.m10+"\t"+this.m11+"\t"+this.m12+"]\n  ["+this.m20+"\t"+this.m21+"\t"+this.m22+"] ]"});b(c$,"setAA",function(a){this.setAA33(a);return this},"JU.A4");b(c$,"setAsBallRotation",function(a,c,d){var j=Math.sqrt(c*c+d*d),b=j*a;if(0==b)return this.setScale(1),!1;a=Math.cos(b);b=Math.sin(b);d=-d/j;c/=j;j=a-1;this.m00=1+j*d*d;this.m01=this.m10=j*d*c;
this.m20=-(this.m02=b*d);this.m11=1+j*c*c;this.m21=-(this.m12=b*c);this.m22=a;return!0},"~N,~N,~N");b(c$,"isRotation",function(){return 0.001>Math.abs(this.determinant3()-1)})});l("JU");u(["JU.M34"],"JU.M4",["JU.T3"],function(){c$=r(function(){this.m33=this.m32=this.m31=this.m30=this.m23=this.m13=this.m03=0;q(this,arguments)},JU,"M4",JU.M34);c$.newA16=b(c$,"newA16",function(a){var c=new JU.M4;c.m00=a[0];c.m01=a[1];c.m02=a[2];c.m03=a[3];c.m10=a[4];c.m11=a[5];c.m12=a[6];c.m13=a[7];c.m20=a[8];c.m21=
a[9];c.m22=a[10];c.m23=a[11];c.m30=a[12];c.m31=a[13];c.m32=a[14];c.m33=a[15];return c},"~A");c$.newM4=b(c$,"newM4",function(a){var c=new JU.M4;if(null==a)return c.setIdentity(),c;c.setToM3(a);c.m03=a.m03;c.m13=a.m13;c.m23=a.m23;c.m30=a.m30;c.m31=a.m31;c.m32=a.m32;c.m33=a.m33;return c},"JU.M4");c$.newMV=b(c$,"newMV",function(a,c){var d=new JU.M4;d.setMV(a,c);return d},"JU.M3,JU.T3");b(c$,"setZero",function(){this.clear33();this.m03=this.m13=this.m23=this.m30=this.m31=this.m32=this.m33=0});b(c$,"setIdentity",
function(){this.setZero();this.m00=this.m11=this.m22=this.m33=1});b(c$,"setM4",function(a){this.setM33(a);this.m03=a.m03;this.m13=a.m13;this.m23=a.m23;this.m30=a.m30;this.m31=a.m31;this.m32=a.m32;this.m33=a.m33;return this},"JU.M4");b(c$,"setMV",function(a,c){this.setM33(a);this.setTranslation(c);this.m33=1},"JU.M3,JU.T3");b(c$,"setToM3",function(a){this.setM33(a);this.m03=this.m13=this.m23=this.m30=this.m31=this.m32=0;this.m33=1},"JU.M34");b(c$,"setToAA",function(a){this.setIdentity();this.setAA33(a)},
"JU.A4");b(c$,"setA",function(a){this.m00=a[0];this.m01=a[1];this.m02=a[2];this.m03=a[3];this.m10=a[4];this.m11=a[5];this.m12=a[6];this.m13=a[7];this.m20=a[8];this.m21=a[9];this.m22=a[10];this.m23=a[11];this.m30=a[12];this.m31=a[13];this.m32=a[14];this.m33=a[15]},"~A");b(c$,"setTranslation",function(a){this.m03=a.x;this.m13=a.y;this.m23=a.z},"JU.T3");b(c$,"setElement",function(a,c,d){if(3>a&&3>c)this.set33(a,c,d);else{(3<a||3<c)&&this.err();switch(a){case 0:this.m03=d;return;case 1:this.m13=d;return;
case 2:this.m23=d;return}switch(c){case 0:this.m30=d;break;case 1:this.m31=d;break;case 2:this.m32=d;break;case 3:this.m33=d}}},"~N,~N,~N");b(c$,"getElement",function(a,c){if(3>a&&3>c)return this.get33(a,c);if(3<a||3<c)return this.err(),0;switch(a){case 0:return this.m03;case 1:return this.m13;case 2:return this.m23;default:switch(c){case 0:return this.m30;case 1:return this.m31;case 2:return this.m32;default:return this.m33}}},"~N,~N");b(c$,"getTranslation",function(a){a.x=this.m03;a.y=this.m13;
a.z=this.m23},"JU.T3");b(c$,"getRotationScale",function(a){a.m00=this.m00;a.m01=this.m01;a.m02=this.m02;a.m10=this.m10;a.m11=this.m11;a.m12=this.m12;a.m20=this.m20;a.m21=this.m21;a.m22=this.m22},"JU.M3");b(c$,"setRotationScale",function(a){this.m00=a.m00;this.m01=a.m01;this.m02=a.m02;this.m10=a.m10;this.m11=a.m11;this.m12=a.m12;this.m20=a.m20;this.m21=a.m21;this.m22=a.m22},"JU.M3");b(c$,"setRowA",function(a,c){3>a&&this.setRow33(a,c);switch(a){case 0:this.m03=c[3];return;case 1:this.m13=c[3];return;
case 2:this.m23=c[3];return;case 3:this.m30=c[0];this.m31=c[1];this.m32=c[2];this.m33=c[3];return}this.err()},"~N,~A");e(c$,"getRow",function(a,c){3>a&&this.getRow33(a,c);switch(a){case 0:c[3]=this.m03;return;case 1:c[3]=this.m13;return;case 2:c[3]=this.m23;return;case 3:c[0]=this.m30;c[1]=this.m31;c[2]=this.m32;c[3]=this.m33;return}this.err()},"~N,~A");b(c$,"setColumn4",function(a,c,d,j,b){0==a?(this.m00=c,this.m10=d,this.m20=j,this.m30=b):1==a?(this.m01=c,this.m11=d,this.m21=j,this.m31=b):2==a?
(this.m02=c,this.m12=d,this.m22=j,this.m32=b):3==a?(this.m03=c,this.m13=d,this.m23=j,this.m33=b):this.err()},"~N,~N,~N,~N,~N");b(c$,"setColumnA",function(a,c){3>a&&this.setColumn33(a,c);switch(a){case 0:this.m30=c[3];break;case 1:this.m31=c[3];break;case 2:this.m32=c[3];break;case 3:this.m03=c[0];this.m13=c[1];this.m23=c[2];this.m33=c[3];break;default:this.err()}},"~N,~A");b(c$,"getColumn",function(a,c){3>a&&this.getColumn33(a,c);switch(a){case 0:c[3]=this.m30;break;case 1:c[3]=this.m31;break;case 2:c[3]=
this.m32;break;case 3:c[0]=this.m03;c[1]=this.m13;c[2]=this.m23;c[3]=this.m33;break;default:this.err()}},"~N,~A");b(c$,"sub",function(a){this.sub33(a);this.m03-=a.m03;this.m13-=a.m13;this.m23-=a.m23;this.m30-=a.m30;this.m31-=a.m31;this.m32-=a.m32;this.m33-=a.m33},"JU.M4");b(c$,"transpose",function(){this.transpose33();var a=this.m03;this.m03=this.m30;this.m30=a;a=this.m13;this.m13=this.m31;this.m31=a;a=this.m23;this.m23=this.m32;this.m32=a});b(c$,"invert",function(){var a=this.determinant4();if(0==
a)return this;a=1/a;this.set(this.m11*(this.m22*this.m33-this.m23*this.m32)+this.m12*(this.m23*this.m31-this.m21*this.m33)+this.m13*(this.m21*this.m32-this.m22*this.m31),this.m21*(this.m02*this.m33-this.m03*this.m32)+this.m22*(this.m03*this.m31-this.m01*this.m33)+this.m23*(this.m01*this.m32-this.m02*this.m31),this.m31*(this.m02*this.m13-this.m03*this.m12)+this.m32*(this.m03*this.m11-this.m01*this.m13)+this.m33*(this.m01*this.m12-this.m02*this.m11),this.m01*(this.m13*this.m22-this.m12*this.m23)+this.m02*
(this.m11*this.m23-this.m13*this.m21)+this.m03*(this.m12*this.m21-this.m11*this.m22),this.m12*(this.m20*this.m33-this.m23*this.m30)+this.m13*(this.m22*this.m30-this.m20*this.m32)+this.m10*(this.m23*this.m32-this.m22*this.m33),this.m22*(this.m00*this.m33-this.m03*this.m30)+this.m23*(this.m02*this.m30-this.m00*this.m32)+this.m20*(this.m03*this.m32-this.m02*this.m33),this.m32*(this.m00*this.m13-this.m03*this.m10)+this.m33*(this.m02*this.m10-this.m00*this.m12)+this.m30*(this.m03*this.m12-this.m02*this.m13),
this.m02*(this.m13*this.m20-this.m10*this.m23)+this.m03*(this.m10*this.m22-this.m12*this.m20)+this.m00*(this.m12*this.m23-this.m13*this.m22),this.m13*(this.m20*this.m31-this.m21*this.m30)+this.m10*(this.m21*this.m33-this.m23*this.m31)+this.m11*(this.m23*this.m30-this.m20*this.m33),this.m23*(this.m00*this.m31-this.m01*this.m30)+this.m20*(this.m01*this.m33-this.m03*this.m31)+this.m21*(this.m03*this.m30-this.m00*this.m33),this.m33*(this.m00*this.m11-this.m01*this.m10)+this.m30*(this.m01*this.m13-this.m03*
this.m11)+this.m31*(this.m03*this.m10-this.m00*this.m13),this.m03*(this.m11*this.m20-this.m10*this.m21)+this.m00*(this.m13*this.m21-this.m11*this.m23)+this.m01*(this.m10*this.m23-this.m13*this.m20),this.m10*(this.m22*this.m31-this.m21*this.m32)+this.m11*(this.m20*this.m32-this.m22*this.m30)+this.m12*(this.m21*this.m30-this.m20*this.m31),this.m20*(this.m02*this.m31-this.m01*this.m32)+this.m21*(this.m00*this.m32-this.m02*this.m30)+this.m22*(this.m01*this.m30-this.m00*this.m31),this.m30*(this.m02*this.m11-
this.m01*this.m12)+this.m31*(this.m00*this.m12-this.m02*this.m10)+this.m32*(this.m01*this.m10-this.m00*this.m11),this.m00*(this.m11*this.m22-this.m12*this.m21)+this.m01*(this.m12*this.m20-this.m10*this.m22)+this.m02*(this.m10*this.m21-this.m11*this.m20));this.scale(a);return this});b(c$,"set",function(a,c,d,j,b,g,h,k,m,e,s,w,F,z,l,p){this.m00=a;this.m01=c;this.m02=d;this.m03=j;this.m10=b;this.m11=g;this.m12=h;this.m13=k;this.m20=m;this.m21=e;this.m22=s;this.m23=w;this.m30=F;this.m31=z;this.m32=l;
this.m33=p},"~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N");b(c$,"determinant4",function(){return(this.m00*this.m11-this.m01*this.m10)*(this.m22*this.m33-this.m23*this.m32)-(this.m00*this.m12-this.m02*this.m10)*(this.m21*this.m33-this.m23*this.m31)+(this.m00*this.m13-this.m03*this.m10)*(this.m21*this.m32-this.m22*this.m31)+(this.m01*this.m12-this.m02*this.m11)*(this.m20*this.m33-this.m23*this.m30)-(this.m01*this.m13-this.m03*this.m11)*(this.m20*this.m32-this.m22*this.m30)+(this.m02*this.m13-this.m03*
this.m12)*(this.m20*this.m31-this.m21*this.m30)});b(c$,"scale",function(a){this.mul33(a);this.m03*=a;this.m13*=a;this.m23*=a;this.m30*=a;this.m31*=a;this.m32*=a;this.m33*=a},"~N");b(c$,"mul",function(a){this.mul2(this,a)},"JU.M4");b(c$,"mul2",function(a,c){this.set(a.m00*c.m00+a.m01*c.m10+a.m02*c.m20+a.m03*c.m30,a.m00*c.m01+a.m01*c.m11+a.m02*c.m21+a.m03*c.m31,a.m00*c.m02+a.m01*c.m12+a.m02*c.m22+a.m03*c.m32,a.m00*c.m03+a.m01*c.m13+a.m02*c.m23+a.m03*c.m33,a.m10*c.m00+a.m11*c.m10+a.m12*c.m20+a.m13*c.m30,
a.m10*c.m01+a.m11*c.m11+a.m12*c.m21+a.m13*c.m31,a.m10*c.m02+a.m11*c.m12+a.m12*c.m22+a.m13*c.m32,a.m10*c.m03+a.m11*c.m13+a.m12*c.m23+a.m13*c.m33,a.m20*c.m00+a.m21*c.m10+a.m22*c.m20+a.m23*c.m30,a.m20*c.m01+a.m21*c.m11+a.m22*c.m21+a.m23*c.m31,a.m20*c.m02+a.m21*c.m12+a.m22*c.m22+a.m23*c.m32,a.m20*c.m03+a.m21*c.m13+a.m22*c.m23+a.m23*c.m33,a.m30*c.m00+a.m31*c.m10+a.m32*c.m20+a.m33*c.m30,a.m30*c.m01+a.m31*c.m11+a.m32*c.m21+a.m33*c.m31,a.m30*c.m02+a.m31*c.m12+a.m32*c.m22+a.m33*c.m32,a.m30*c.m03+a.m31*c.m13+
a.m32*c.m23+a.m33*c.m33)},"JU.M4,JU.M4");b(c$,"transform",function(a){this.transform2(a,a)},"JU.T4");b(c$,"transform2",function(a,c){c.set4(this.m00*a.x+this.m01*a.y+this.m02*a.z+this.m03*a.w,this.m10*a.x+this.m11*a.y+this.m12*a.z+this.m13*a.w,this.m20*a.x+this.m21*a.y+this.m22*a.z+this.m23*a.w,this.m30*a.x+this.m31*a.y+this.m32*a.z+this.m33*a.w)},"JU.T4,JU.T4");b(c$,"rotTrans",function(a){this.rotTrans2(a,a)},"JU.T3");b(c$,"rotTrans2",function(a,c){c.set(this.m00*a.x+this.m01*a.y+this.m02*a.z+this.m03,
this.m10*a.x+this.m11*a.y+this.m12*a.z+this.m13,this.m20*a.x+this.m21*a.y+this.m22*a.z+this.m23);return c},"JU.T3,JU.T3");b(c$,"setAsXYRotation",function(a){this.setIdentity();var c=Math.cos(a);a=Math.sin(a);this.m22=c;this.m23=-a;this.m32=a;this.m33=c;return this},"~N");b(c$,"setAsYZRotation",function(a){this.setIdentity();var c=Math.cos(a);a=Math.sin(a);this.m00=c;this.m03=-a;this.m30=a;this.m33=c;return this},"~N");b(c$,"setAsXZRotation",function(a){this.setIdentity();var c=Math.cos(a);a=Math.sin(a);
this.m11=c;this.m13=-a;this.m31=a;this.m33=c;return this},"~N");e(c$,"equals",function(a){return!p(a,JU.M4)?!1:this.m00==a.m00&&this.m01==a.m01&&this.m02==a.m02&&this.m03==a.m03&&this.m10==a.m10&&this.m11==a.m11&&this.m12==a.m12&&this.m13==a.m13&&this.m20==a.m20&&this.m21==a.m21&&this.m22==a.m22&&this.m23==a.m23&&this.m30==a.m30&&this.m31==a.m31&&this.m32==a.m32&&this.m33==a.m33},"~O");e(c$,"hashCode",function(){return JU.T3.floatToIntBits0(this.m00)^JU.T3.floatToIntBits0(this.m01)^JU.T3.floatToIntBits0(this.m02)^
JU.T3.floatToIntBits0(this.m03)^JU.T3.floatToIntBits0(this.m10)^JU.T3.floatToIntBits0(this.m11)^JU.T3.floatToIntBits0(this.m12)^JU.T3.floatToIntBits0(this.m13)^JU.T3.floatToIntBits0(this.m20)^JU.T3.floatToIntBits0(this.m21)^JU.T3.floatToIntBits0(this.m22)^JU.T3.floatToIntBits0(this.m23)^JU.T3.floatToIntBits0(this.m30)^JU.T3.floatToIntBits0(this.m31)^JU.T3.floatToIntBits0(this.m32)^JU.T3.floatToIntBits0(this.m33)});e(c$,"toString",function(){return"[\n  ["+this.m00+"\t"+this.m01+"\t"+this.m02+"\t"+
this.m03+"]\n  ["+this.m10+"\t"+this.m11+"\t"+this.m12+"\t"+this.m13+"]\n  ["+this.m20+"\t"+this.m21+"\t"+this.m22+"\t"+this.m23+"]\n  ["+this.m30+"\t"+this.m31+"\t"+this.m32+"\t"+this.m33+"] ]"});b(c$,"round",function(a){this.m00=this.rnd(this.m00,a);this.m01=this.rnd(this.m01,a);this.m02=this.rnd(this.m02,a);this.m03=this.rnd(this.m03,a);this.m10=this.rnd(this.m10,a);this.m11=this.rnd(this.m11,a);this.m12=this.rnd(this.m12,a);this.m13=this.rnd(this.m13,a);this.m20=this.rnd(this.m20,a);this.m21=
this.rnd(this.m21,a);this.m22=this.rnd(this.m22,a);this.m23=this.rnd(this.m23,a);this.m30=this.rnd(this.m30,a);this.m31=this.rnd(this.m31,a);this.m32=this.rnd(this.m32,a);this.m33=this.rnd(this.m33,a);return this},"~N");b(c$,"rnd",function(a,c){return Math.abs(a)<c?0:a},"~N,~N")});l("JU");u(["java.io.OutputStream"],"JU.OC",["java.io.BufferedWriter","$.ByteArrayOutputStream","$.OutputStreamWriter","JU.Base64","$.SB"],function(){c$=r(function(){this.bw=this.fileName=this.bytePoster=null;this.isLocalFile=
!1;this.byteCount=0;this.closed=this.isCanceled=!1;this.type=this.sb=this.os=null;this.$isBase64=!1;this.bytes=this.os0=null;q(this,arguments)},JU,"OC",java.io.OutputStream);b(c$,"setParams",function(a,c,d,j){this.bytePoster=a;this.fileName=c;if(this.$isBase64=";base64,".equals(c))c=null,this.os0=j,j=null;this.os=j;this.isLocalFile=null!=c&&!JU.OC.isRemote(c);d&&(!this.$isBase64&&null!=j)&&(this.bw=new java.io.BufferedWriter(new java.io.OutputStreamWriter(j)));return this},"javajs.api.BytePoster,~S,~B,java.io.OutputStream");
b(c$,"setBytes",function(a){this.bytes=a;return this},"~A");b(c$,"getFileName",function(){return this.fileName});b(c$,"getName",function(){return null==this.fileName?null:this.fileName.substring(this.fileName.lastIndexOf("/")+1)});b(c$,"getByteCount",function(){return this.byteCount});b(c$,"setType",function(a){this.type=a},"~S");b(c$,"getType",function(){return this.type});b(c$,"append",function(a){try{if(null!=this.bw)this.bw.write(a);else if(null==this.os)null==this.sb&&(this.sb=new JU.SB),this.sb.append(a);
else{var c=a.getBytes();this.os.write(c,0,c.length);this.byteCount+=c.length;return this}}catch(d){if(!C(d,java.io.IOException))throw d;}this.byteCount+=a.length;return this},"~S");b(c$,"reset",function(){this.sb=null;this.initOS()});b(c$,"initOS",function(){if(null!=this.sb){var a=this.sb.toString();this.reset();this.append(a)}else{try{this.os=null,null==this.os&&(this.os=new java.io.ByteArrayOutputStream),null!=this.bw&&(this.bw.close(),this.bw=new java.io.BufferedWriter(new java.io.OutputStreamWriter(this.os)))}catch(c){if(C(c,
Exception))System.out.println(c.toString());else throw c;}this.byteCount=0}});e(c$,"write",function(a,c,d){null==this.os&&this.initOS();try{this.os.write(a,c,d)}catch(j){if(!C(j,java.io.IOException))throw j;}this.byteCount+=d},"~A,~N,~N");e(c$,"writeByteAsInt",function(a){null==this.os&&this.initOS();this.os.writeByteAsInt(a);this.byteCount++},"~N");b(c$,"cancel",function(){this.isCanceled=!0;this.closeChannel()});b(c$,"closeChannel",function(){if(this.closed)return null;try{null!=this.bw?(this.bw.flush(),
this.bw.close()):null!=this.os&&(this.os.flush(),this.os.close()),null!=this.os0&&this.isCanceled&&(this.os0.flush(),this.os0.close())}catch(a){if(!C(a,Exception))throw a;}if(this.isCanceled)return this.closed=!0,null;if(null==this.fileName){if(this.$isBase64){var c=this.getBase64();null!=this.os0&&(this.os=this.os0,this.append(c));this.sb=new JU.SB;this.sb.append(c);this.$isBase64=!1;return this.closeChannel()}return null==this.sb?null:this.sb.toString()}this.closed=!0;var d=c=null,c=Jmol,d="function"==
typeof this.fileName?this.fileName:null;if(null!=c){var j=null==this.sb?this.toByteArray():this.sb.toString();null==d?c._doAjax(this.fileName,null,j):c._apply(this.fileName,j)}return null});b(c$,"isBase64",function(){return this.$isBase64});b(c$,"getBase64",function(){return JU.Base64.getBase64(this.toByteArray()).toString()});b(c$,"toByteArray",function(){return null!=this.bytes?this.bytes:p(this.os,java.io.ByteArrayOutputStream)?this.os.toByteArray():null});b(c$,"close",function(){this.closeChannel()});
e(c$,"toString",function(){if(null!=this.bw)try{this.bw.flush()}catch(a){if(!C(a,java.io.IOException))throw a;}return null!=this.sb?this.closeChannel():this.byteCount+" bytes"});b(c$,"postByteArray",function(){var a=null==this.sb?this.toByteArray():this.sb.toString().getBytes();return this.bytePoster.postByteArray(this.fileName,a)});c$.isRemote=b(c$,"isRemote",function(a){if(null==a)return!1;a=JU.OC.urlTypeIndex(a);return 0<=a&&4!=a},"~S");c$.isLocal=b(c$,"isLocal",function(a){if(null==a)return!1;
a=JU.OC.urlTypeIndex(a);return 0>a||4==a},"~S");c$.urlTypeIndex=b(c$,"urlTypeIndex",function(a){if(null==a)return-2;for(var c=0;c<JU.OC.urlPrefixes.length;++c)if(a.startsWith(JU.OC.urlPrefixes[c]))return c;return-1},"~S");D(c$,"urlPrefixes",x(-1,["http:","https:","sftp:","ftp:","file:"]),"URL_LOCAL",4)});l("JU");u(["JU.T3"],"JU.P3",null,function(){c$=B(JU,"P3",JU.T3);c$.newP=b(c$,"newP",function(a){var c=new JU.P3;c.x=a.x;c.y=a.y;c.z=a.z;return c},"JU.T3");c$.getUnlikely=b(c$,"getUnlikely",function(){return null==
JU.P3.unlikely?JU.P3.unlikely=JU.P3.new3(3.141592653589793,2.718281828459045,8.539734222673566):JU.P3.unlikely});c$.new3=b(c$,"new3",function(a,c,d){var j=new JU.P3;j.x=a;j.y=c;j.z=d;return j},"~N,~N,~N");D(c$,"unlikely",null)});l("JU");u(["JU.T3i"],"JU.P3i",null,function(){c$=B(JU,"P3i",JU.T3i);c$.new3=b(c$,"new3",function(a,c,d){var j=new JU.P3i;j.x=a;j.y=c;j.z=d;return j},"~N,~N,~N")});l("JU");u(["JU.T4"],"JU.P4",null,function(){c$=B(JU,"P4",JU.T4);c$.new4=b(c$,"new4",function(a,c,d,j){var b=new JU.P4;
b.set4(a,c,d,j);return b},"~N,~N,~N,~N");c$.newPt=b(c$,"newPt",function(a){var c=new JU.P4;c.set4(a.x,a.y,a.z,a.w);return c},"JU.P4");b(c$,"distance4",function(a){var c=this.x-a.x,d=this.y-a.y,j=this.z-a.z;a=this.w-a.w;return Math.sqrt(c*c+d*d+j*j+a*a)},"JU.P4")});l("JU");u(null,"JU.PT","java.lang.Boolean $.Double $.Float $.Number java.util.Map javajs.api.JSONEncodable JU.AU $.DF $.Lst $.M34 $.M4 $.SB".split(" "),function(){c$=B(JU,"PT");c$.parseInt=b(c$,"parseInt",function(a){return JU.PT.parseIntNext(a,
y(-1,[0]))},"~S");c$.parseIntNext=b(c$,"parseIntNext",function(a,c){var d=a.length;return 0>c[0]||c[0]>=d?-2147483648:JU.PT.parseIntChecked(a,d,c)},"~S,~A");c$.parseIntChecked=b(c$,"parseIntChecked",function(a,c,d){var j=!1,b=0,g=d[0];if(0>g)return-2147483648;for(var h;g<c&&JU.PT.isWhiteSpace(a,g);)++g;var k=!1;g<c&&45==a.charCodeAt(g)&&(k=!0,++g);for(;g<c&&48<=(h=a.charCodeAt(g))&&57>=h;)b=10*b+(h-48),j=!0,++g;j?k&&(b=-b):b=-2147483648;d[0]=g;return b},"~S,~N,~A");c$.isWhiteSpace=b(c$,"isWhiteSpace",
function(a,c){var d;return 0<=c&&(" "==(d=a.charAt(c))||"\t"==d||"\n"==d)},"~S,~N");c$.parseFloatChecked=b(c$,"parseFloatChecked",function(a,c,d,j){var b=!1,g=d[0];if(j&&a.indexOf("\n")!=a.lastIndexOf("\n"))return NaN;for(;g<c&&JU.PT.isWhiteSpace(a,g);)++g;var h=!1;g<c&&"-"==a.charAt(g)&&(++g,h=!0);for(var k=0,m=0,e=0;g<c&&48<=(k=a.charCodeAt(g))&&57>=k;)m=10*m+1*(k-48),++g,b=!0;var s=!1,w=0,F=0==m?-1:0;if(46==k)for(s=!0;++g<c&&48<=(k=a.charCodeAt(g))&&57>=k;){b=!0;if(0>F){if(48==k){F--;continue}F=
-F}w<JU.PT.decimalScale.length&&(e=10*e+1*(k-48),w++)}b?0<e?(b=e*JU.PT.decimalScale[w-1],b=1<F?F-2<JU.PT.decimalScale.length?b*JU.PT.decimalScale[F-2]:b*Math.pow(10,1-F):b+m):b=m:b=NaN;m=!1;if(g<c&&(69==k||101==k||68==k)){m=!0;if(++g>=c)return NaN;k=a.charCodeAt(g);if(43==k&&++g>=c)return NaN;d[0]=g;g=JU.PT.parseIntChecked(a,c,d);if(-2147483648==g)return NaN;0<g&&g<=JU.PT.tensScale.length?b*=JU.PT.tensScale[g-1]:0>g&&-g<=JU.PT.decimalScale.length?b*=JU.PT.decimalScale[-g-1]:0!=g&&(b*=Math.pow(10,
g))}else d[0]=g;h&&(b=-b);Infinity==b&&(b=3.4028235E38);return!j||(!m||s)&&JU.PT.checkTrailingText(a,d[0],c)?b:NaN},"~S,~N,~A,~B");c$.checkTrailingText=b(c$,"checkTrailingText",function(a,c,d){for(var j;c<d&&(JU.PT.isWhitespace(j=a.charAt(c))||";"==j);)++c;return c==d},"~S,~N,~N");c$.parseFloatArray=b(c$,"parseFloatArray",function(a){return JU.PT.parseFloatArrayNext(a,y(1,0),null,null,null)},"~S");c$.parseFloatArrayInfested=b(c$,"parseFloatArrayInfested",function(a,c){for(var d=c.length,j=a.length,
b=0,g=0,h=0;0<=h&&h<d&&b<j;h++){for(var k;Float.isNaN(k=JU.PT.parseFloat(a[b++]))&&b<j;);Float.isNaN(k)||(c[g=h]=k);if(b==j)break}return g+1},"~A,~A");c$.parseFloatArrayNext=b(c$,"parseFloatArrayNext",function(a,c,d,j,b){var g=0,h=c[0];0<=h&&(null!=j&&(g=a.indexOf(j,h),0<=g&&(c[0]=g+j.length)),a=a.substring(c[0]),h=null==b?-1:a.indexOf(b),0>h?h=a.length:a=a.substring(0,h),c[0]+=h+1,a=JU.PT.getTokens(a),null==d&&(d=G(a.length,0)),g=JU.PT.parseFloatArrayInfested(a,d));if(null==d)return G(0,0);for(a=
g;a<d.length;a++)d[a]=NaN;return d},"~S,~A,~A,~S,~S");c$.parseFloatRange=b(c$,"parseFloatRange",function(a,c,d){var j=a.length;c>j&&(c=j);return 0>d[0]||d[0]>=c?NaN:JU.PT.parseFloatChecked(a,c,d,!1)},"~S,~N,~A");c$.parseFloatNext=b(c$,"parseFloatNext",function(a,c){var d=null==a?-1:a.length;return 0>c[0]||c[0]>=d?NaN:JU.PT.parseFloatChecked(a,d,c,!1)},"~S,~A");c$.parseFloatStrict=b(c$,"parseFloatStrict",function(a){var c=a.length;return 0==c?NaN:JU.PT.parseFloatChecked(a,c,y(-1,[0]),!0)},"~S");c$.parseFloat=
b(c$,"parseFloat",function(a){return JU.PT.parseFloatNext(a,y(-1,[0]))},"~S");c$.parseIntRadix=b(c$,"parseIntRadix",function(a,c){return Integer.parseIntRadix(a,c)},"~S,~N");c$.getTokens=b(c$,"getTokens",function(a){return JU.PT.getTokensAt(a,0)},"~S");c$.parseToken=b(c$,"parseToken",function(a){return JU.PT.parseTokenNext(a,y(-1,[0]))},"~S");c$.parseTrimmed=b(c$,"parseTrimmed",function(a){return JU.PT.parseTrimmedRange(a,0,a.length)},"~S");c$.parseTrimmedAt=b(c$,"parseTrimmedAt",function(a,c){return JU.PT.parseTrimmedRange(a,
c,a.length)},"~S,~N");c$.parseTrimmedRange=b(c$,"parseTrimmedRange",function(a,c,d){var j=a.length;d<j&&(j=d);return j<c?"":JU.PT.parseTrimmedChecked(a,c,j)},"~S,~N,~N");c$.getTokensAt=b(c$,"getTokensAt",function(a,c){if(null==a)return null;var d=a.length;if(0>c||c>d)return null;var j=JU.PT.countTokens(a,c),b=Array(j),g=y(1,0);g[0]=c;for(var h=0;h<j;++h)b[h]=JU.PT.parseTokenChecked(a,d,g);return b},"~S,~N");c$.countChar=b(c$,"countChar",function(a,c){for(var d=0,j=a.lastIndexOf(c)+1;0<=--j;)a.charAt(j)==
c&&d++;return d},"~S,~S");c$.countTokens=b(c$,"countTokens",function(a,c){var d=0;if(null!=a)for(var j=a.length;;){for(;c<j&&JU.PT.isWhiteSpace(a,c);)++c;if(c==j)break;++d;do++c;while(c<j&&!JU.PT.isWhiteSpace(a,c))}return d},"~S,~N");c$.parseTokenNext=b(c$,"parseTokenNext",function(a,c){var d=a.length;return 0>c[0]||c[0]>=d?null:JU.PT.parseTokenChecked(a,d,c)},"~S,~A");c$.parseTokenRange=b(c$,"parseTokenRange",function(a,c,d){var j=a.length;c>j&&(c=j);return 0>d[0]||d[0]>=c?null:JU.PT.parseTokenChecked(a,
c,d)},"~S,~N,~A");c$.parseTokenChecked=b(c$,"parseTokenChecked",function(a,c,d){for(var j=d[0];j<c&&JU.PT.isWhiteSpace(a,j);)++j;for(var b=j;j<c&&!JU.PT.isWhiteSpace(a,j);)++j;d[0]=j;return b==j?null:a.substring(b,j)},"~S,~N,~A");c$.parseTrimmedChecked=b(c$,"parseTrimmedChecked",function(a,c,d){for(;c<d&&JU.PT.isWhiteSpace(a,c);)++c;for(d-=1;d>=c&&JU.PT.isWhiteSpace(a,d);)--d;return d<c?"":a.substring(c,d+1)},"~S,~N,~N");c$.dVal=b(c$,"dVal",function(a){if(null==a)throw new NumberFormatException("null");
var c=parseFloat(a);if(isNaN(c))throw new NumberFormatException("Not a Number : "+a);return c},"~S");c$.fVal=b(c$,"fVal",function(a){return this.dVal(a)},"~S");c$.parseIntRange=b(c$,"parseIntRange",function(a,c,d){var j=a.length;c>j&&(c=j);return 0>d[0]||d[0]>=c?-2147483648:JU.PT.parseIntChecked(a,c,d)},"~S,~N,~A");c$.parseFloatArrayData=b(c$,"parseFloatArrayData",function(a,c){JU.PT.parseFloatArrayDataN(a,c,c.length)},"~A,~A");c$.parseFloatArrayDataN=b(c$,"parseFloatArrayDataN",function(a,c,d){for(;0<=
--d;)c[d]=d>=a.length?NaN:JU.PT.parseFloat(a[d])},"~A,~A,~N");c$.split=b(c$,"split",function(a,c){if(0==a.length)return[];var d=1,j=a.indexOf(c),b,g=c.length;if(0>j||0==g)return b=Array(1),b[0]=a,b;for(var h=a.length-g;0<=j&&j<h;d++)j=a.indexOf(c,j+g);b=Array(d);for(var k=j=0,m=0;0<=(k=a.indexOf(c,j))&&m+1<d;)b[m++]=a.substring(j,k),j=k+g;a.indexOf(c,h)!=h&&(h+=g);b[m]=a.substring(j,h);return b},"~S,~S");c$.getQuotedStringAt=b(c$,"getQuotedStringAt",function(a,c){var d=y(-1,[c]);return JU.PT.getQuotedStringNext(a,
d)},"~S,~N");c$.getQuotedStringNext=b(c$,"getQuotedStringNext",function(a,c){var d=c[0];if(0>d||0>(d=a.indexOf('"',d)))return"";for(var j=d+1,b=a.length;++d<b&&'"'!=a.charAt(d);)"\\"==a.charAt(d)&&d++;c[0]=d+1;return a.substring(j,d)},"~S,~A");c$.getCSVString=b(c$,"getCSVString",function(a,c){var d=c[1];if(0>d||0>(d=a.indexOf('"',d)))return null;for(var j=c[0]=d,b=a.length,g=!1,h=!1;++d<b&&('"'!=a.charAt(d)||(g=d+1<b&&'"'==a.charAt(d+1)));)g&&(g=!1,h=!0,d++);if(d>=b)return c[1]=-1,null;c[1]=d+1;d=
a.substring(j+1,d);return h?JU.PT.rep(JU.PT.rep(d,'""',"\x00"),"\x00",'"'):d},"~S,~A");c$.isOneOf=b(c$,"isOneOf",function(a,c){if(0==c.length)return!1;";"!=c.charAt(0)&&(c=";"+c+";");return 0>a.indexOf(";")&&0<=c.indexOf(";"+a+";")},"~S,~S");c$.getQuotedAttribute=b(c$,"getQuotedAttribute",function(a,c){var d=a.indexOf(c+"=");return 0>d?null:JU.PT.getQuotedStringAt(a,d)},"~S,~S");c$.approx=b(c$,"approx",function(a,c){return Math.round(a*c)/c},"~N,~N");c$.rep=b(c$,"rep",function(a,c,d){if(null==a||
0==c.length||0>a.indexOf(c))return a;var j=0<=d.indexOf(c);do a=a.$replace(c,d);while(!j&&0<=a.indexOf(c));return a},"~S,~S,~S");c$.formatF=b(c$,"formatF",function(a,c,d,j,b){return JU.PT.formatS(JU.DF.formatDecimal(a,d),c,0,j,b)},"~N,~N,~N,~B,~B");c$.formatD=b(c$,"formatD",function(a,c,d,j,b){return JU.PT.formatS(JU.DF.formatDecimal(a,-1-d),c,0,j,b)},"~N,~N,~N,~B,~B,~B");c$.formatS=b(c$,"formatS",function(a,c,d,j,b){if(null==a)return"";var g=a.length;2147483647!=d&&0<d&&d<g?a=a.substring(0,d):0>
d&&0<=g+d&&(a=a.substring(g+d+1));d=c-a.length;if(0>=d)return a;c=b&&!j&&"-"==a.charAt(0);b=b?"0":" ";var h=c?"-":b,g=new JU.SB;j&&g.append(a);for(g.appendC(h);0<--d;)g.appendC(b);j||g.append(c?b+a.substring(1):a);return g.toString()},"~S,~N,~N,~B,~B");c$.replaceWithCharacter=b(c$,"replaceWithCharacter",function(a,c,d){if(null==a)return null;for(var j=c.length;0<=--j;)a=a.$replace(c.charAt(j),d);return a},"~S,~S,~S");c$.replaceAllCharacters=b(c$,"replaceAllCharacters",function(a,c,d){for(var j=c.length;0<=
--j;){var b=c.substring(j,j+1);a=JU.PT.rep(a,b,d)}return a},"~S,~S,~S");c$.trim=b(c$,"trim",function(a,c){if(null==a||0==a.length)return a;if(0==c.length)return a.trim();for(var d=a.length,j=0;j<d&&0<=c.indexOf(a.charAt(j));)j++;for(d=a.length-1;d>j&&0<=c.indexOf(a.charAt(d));)d--;return a.substring(j,d+1)},"~S,~S");c$.trimQuotes=b(c$,"trimQuotes",function(a){return null!=a&&1<a.length&&a.startsWith('"')&&a.endsWith('"')?a.substring(1,a.length-1):a},"~S");c$.isNonStringPrimitive=b(c$,"isNonStringPrimitive",
function(a){return p(a,Number)||p(a,Boolean)},"~O");c$.arrayGet=b(c$,"arrayGet",function(a,c){return a[c]},"~O,~N");c$.toJSON=b(c$,"toJSON",function(a,c){if(null==c)return JU.PT.packageJSON(a,null);if(JU.PT.isNonStringPrimitive(c))return JU.PT.packageJSON(a,c.toString());for(var d=null,j=null;;){if(p(c,String)){d=c;"undefined"==typeof d&&(d="null");0!=d.indexOf('{"')&&(d=JU.PT.rep(d,'"','\\"'),d=JU.PT.rep(d,"\n","\\n"),d='"'+d+'"');break}if(p(c,javajs.api.JSONEncodable)){if(null==(d=c.toJSON()))d=
"null";break}j=new JU.SB;if(p(c,java.util.Map)){j.append("{ ");for(var b="",g,h=c.keySet().iterator();h.hasNext()&&((g=h.next())||1);)j.append(b).append(JU.PT.packageJSON(g,JU.PT.toJSON(null,c.get(g)))),b=",";j.append(" }");break}if(p(c,JU.Lst)){j.append("[ ");g=c.size();for(b=0;b<g;b++)0<b&&j.appendC(","),j.append(JU.PT.toJSON(null,c.get(b)));j.append(" ]");break}if(p(c,JU.M34)){g=p(c,JU.M4)?4:3;var h=G(g,0),k=c;j.appendC("[");for(b=0;b<g;b++)0<b&&j.appendC(","),k.getRow(b,h),j.append(JU.PT.toJSON(null,
h));j.appendC("]");break}d=JU.PT.nonArrayString(c);if(null==d){j.append("[");g=JU.AU.getLength(c);for(b=0;b<g;b++)0<b&&j.appendC(","),j.append(JU.PT.toJSON(null,JU.PT.arrayGet(c,b)));j.append("]");break}c=c.toString()}return JU.PT.packageJSON(a,null==d?j.toString():d)},"~S,~O");c$.nonArrayString=b(c$,"nonArrayString",function(a){a=a.toString();return a.startsWith("[object")&&a.endsWith("Array]")?null:a},"~O");c$.byteArrayToJSON=b(c$,"byteArrayToJSON",function(a){var c=new JU.SB;c.append("[");for(var d=
a.length,j=0;j<d;j++)0<j&&c.appendC(","),c.appendI(a[j]&255);c.append("]");return c.toString()},"~A");c$.packageJSON=b(c$,"packageJSON",function(a,c){return null==a?c:'"'+a+'": '+c},"~S,~S");c$.escapeUrl=b(c$,"escapeUrl",function(a){a=JU.PT.rep(a,"\n","");a=JU.PT.rep(a,"%","%25");a=JU.PT.rep(a,"#","%23");a=JU.PT.rep(a,"[","%5B");a=JU.PT.rep(a,"]","%5D");return a=JU.PT.rep(a," ","%20")},"~S");c$.esc=b(c$,"esc",function(a){if(null==a||0==a.length)return'""';for(var c=!1,d=0;10>d;d+=2)if(0<=a.indexOf('\\\\\tt\rr\nn""'.charAt(d))){c=
!0;break}if(c)for(;10>d;){for(var c=-1,j='\\\\\tt\rr\nn""'.charAt(d++),b='\\\\\tt\rr\nn""'.charAt(d++),g=new JU.SB,h=0;0<=(c=a.indexOf(j,c+1));)g.append(a.substring(h,c)).appendC("\\").appendC(b),h=c+1;g.append(a.substring(h,a.length));a=g.toString()}return'"'+JU.PT.escUnicode(a)+'"'},"~S");c$.escUnicode=b(c$,"escUnicode",function(a){for(var c=a.length;0<=--c;)if(127<a.charCodeAt(c)){var d="0000"+Integer.toHexString(a.charCodeAt(c));a=a.substring(0,c)+"\\u"+d.substring(d.length-4)+a.substring(c+1)}return a},
"~S");c$.escF=b(c$,"escF",function(a){a=""+a;0>a.indexOf(".")&&0>a.indexOf("e")&&(a+=".0");return a},"~N");c$.join=b(c$,"join",function(a,c,d){if(a.length<d)return null;var j=new JU.SB;for(j.append(a[d++]);d<a.length;d++)j.appendC(c).append(a[d]);return j.toString()},"~A,~S,~N");c$.isLike=b(c$,"isLike",function(a,c){var d=a.equals(c);if(d)return!0;var j=c.startsWith("*"),b=c.endsWith("*");return!j&&!b?d:j&&b?1==c.length||a.contains(c.substring(1,c.length-1)):j?a.endsWith(c.substring(1)):a.startsWith(c.substring(0,
c.length-1))},"~S,~S");c$.getMapValueNoCase=b(c$,"getMapValueNoCase",function(a,c){if("this".equals(c))return a;var d=a.get(c);if(null==d)for(var j,b=a.entrySet().iterator();b.hasNext()&&((j=b.next())||1);)if(j.getKey().equalsIgnoreCase(c))return j.getValue();return d},"java.util.Map,~S");c$.clean=b(c$,"clean",function(a){return JU.PT.rep(JU.PT.replaceAllCharacters(a," \t\n\r"," "),"  "," ").trim()},"~S");c$.fdup=b(c$,"fdup",function(a,c,d){for(var j,b=0,g=c;1<=--g;)if(!JU.PT.isDigit(j=a.charAt(g)))switch(j){case ".":if(0!=
b++)return a;continue;case "-":if(1!=g&&"."!=a.charAt(g-1))return a;continue;default:return a}j=a.substring(0,c+1);b=new JU.SB;for(g=0;g<d;g++)b.append(j);b.append(a.substring(c+1));return b.toString()},"~S,~N,~N");c$.formatString=b(c$,"formatString",function(a,c,d,j,b,g){if(null==a)return null;if("".equals(a))return"";var h=c.length;if(0>a.indexOf("%")||0==h||0>a.indexOf(c))return a;var k="",m,e,s;for(m=0;0<=(e=a.indexOf("%",m))&&0<=(s=a.indexOf(c,e+1));)if(m!=e&&(k+=a.substring(m,e)),m=e+1,s>e+
6)k+="%";else try{var w=!1;"-"==a.charAt(m)&&(w=!0,++m);var F=!1;"0"==a.charAt(m)&&(F=!0,++m);for(var z,l=0;"0"<=(z=a.charAt(m))&&"9">=z;)l=10*l+(z.charCodeAt(0)-48),++m;var p=2147483647,v=!1;if("."==a.charAt(m)){++m;if("-"==(z=a.charAt(m)))v=null==d,++m;if("0"<=(z=a.charAt(m))&&"9">=z)p=z.charCodeAt(0)-48,++m;v&&(p=-p)}if(a.substring(m,m+h).equals(c)){if(m+=h,Float.isNaN(j)?null!=d?k+=JU.PT.formatS(d,l,p,w,F):Double.isNaN(b)||(k+=JU.PT.formatD(b,l,p-1,w,F,!0)):k+=JU.PT.formatF(j,l,p,w,F),g)break}else m=
e+1,k+="%"}catch(q){if(C(q,IndexOutOfBoundsException)){m=e;break}else throw q;}return k+=a.substring(m)},"~S,~S,~S,~N,~N,~B");c$.formatStringS=b(c$,"formatStringS",function(a,c,d){return JU.PT.formatString(a,c,d,NaN,NaN,!1)},"~S,~S,~S");c$.formatStringF=b(c$,"formatStringF",function(a,c,d){return JU.PT.formatString(a,c,null,d,NaN,!1)},"~S,~S,~N");c$.formatStringI=b(c$,"formatStringI",function(a,c,d){return JU.PT.formatString(a,c,""+d,NaN,NaN,!1)},"~S,~S,~N");c$.sprintf=b(c$,"sprintf",function(a,c,
d){if(null==d)return a;var j=c.length;if(j==d.length)try{for(var b=0;b<j;b++)if(null!=d[b])switch(c.charAt(b)){case "s":a=JU.PT.formatString(a,"s",d[b],NaN,NaN,!0);break;case "f":a=JU.PT.formatString(a,"f",null,d[b].floatValue(),NaN,!0);break;case "i":a=JU.PT.formatString(a,"d",""+d[b],NaN,NaN,!0);a=JU.PT.formatString(a,"i",""+d[b],NaN,NaN,!0);break;case "d":a=JU.PT.formatString(a,"e",null,NaN,d[b].doubleValue(),!0);break;case "p":var g=d[b];a=JU.PT.formatString(a,"p",null,g.x,NaN,!0);a=JU.PT.formatString(a,
"p",null,g.y,NaN,!0);a=JU.PT.formatString(a,"p",null,g.z,NaN,!0);break;case "q":var h=d[b];a=JU.PT.formatString(a,"q",null,h.x,NaN,!0);a=JU.PT.formatString(a,"q",null,h.y,NaN,!0);a=JU.PT.formatString(a,"q",null,h.z,NaN,!0);a=JU.PT.formatString(a,"q",null,h.w,NaN,!0);break;case "S":for(var k=d[b],e=0;e<k.length;e++)a=JU.PT.formatString(a,"s",k[e],NaN,NaN,!0);break;case "F":for(var n=d[b],e=0;e<n.length;e++)a=JU.PT.formatString(a,"f",null,n[e],NaN,!0);break;case "I":for(var s=d[b],e=0;e<s.length;e++)a=
JU.PT.formatString(a,"d",""+s[e],NaN,NaN,!0);for(e=0;e<s.length;e++)a=JU.PT.formatString(a,"i",""+s[e],NaN,NaN,!0);break;case "D":for(var w=d[b],e=0;e<w.length;e++)a=JU.PT.formatString(a,"e",null,NaN,w[e],!0)}return JU.PT.rep(a,"%%","%")}catch(F){if(!C(F,Exception))throw F;}System.out.println("TextFormat.sprintf error "+c+" "+a);return JU.PT.rep(a,"%","?")},"~S,~S,~A");c$.formatCheck=b(c$,"formatCheck",function(a){if(null==a||0>a.indexOf("p")&&0>a.indexOf("q"))return a;a=JU.PT.rep(a,"%%","\u0001");
a=JU.PT.rep(a,"%p","%6.2p");a=JU.PT.rep(a,"%q","%6.2q");a=JU.PT.split(a,"%");var c=new JU.SB;c.append(a[0]);for(var d=1;d<a.length;d++){var j="%"+a[d],b;if(3<=j.length){if(0<=(b=j.indexOf("p")))j=JU.PT.fdup(j,b,3);if(0<=(b=j.indexOf("q")))j=JU.PT.fdup(j,b,4)}c.append(j)}return c.toString().$replace("\u0001","%")},"~S");c$.leftJustify=b(c$,"leftJustify",function(a,c,d){a.append(d);d=c.length-d.length;0<d&&a.append(c.substring(0,d))},"JU.SB,~S,~S");c$.rightJustify=b(c$,"rightJustify",function(a,c,d){var j=
c.length-d.length;0<j&&a.append(c.substring(0,j));a.append(d)},"JU.SB,~S,~S");c$.safeTruncate=b(c$,"safeTruncate",function(a,c){-0.001<a&&0.001>a&&(a=0);return(a+"         ").substring(0,c)},"~N,~N");c$.isWild=b(c$,"isWild",function(a){return null!=a&&(0<=a.indexOf("*")||0<=a.indexOf("?"))},"~S");c$.isMatch=b(c$,"isMatch",function(a,c,d,j){if(a.equals(c))return!0;var b=c.length;if(0==b)return!1;var g=d&&j?"*"==c.charAt(0):!1;if(1==b&&g)return!0;var h=d&&c.endsWith("*");if(!(0<=c.indexOf("?"))){if(g)return h?
3>b||0<=a.indexOf(c.substring(1,b-1)):a.endsWith(c.substring(1));if(h)return a.startsWith(c.substring(0,b-1))}for(var k=a.length,e="????",n=4;n<k;)e+=e,n+=4;d&&(g&&(c=e+c.substring(1),b+=n-1),h&&(c=c.substring(0,b-1)+e,b+=n-1));if(b<k)return!1;for(d=0;b>k;){if(j&&"?"==c.charAt(d))++d;else if("?"!=c.charAt(d+b-1))return!1;--b}for(j=k;0<=--j;)if(b=c.charAt(d+j),"?"!=b&&(k=a.charAt(j),b!=k&&("\u0001"!=b||"?"!=k)))return!1;return!0},"~S,~S,~B,~B");c$.replaceQuotedStrings=b(c$,"replaceQuotedStrings",function(a,
c,d){for(var b=c.size(),f=0;f<b;f++){var g=c.get(f),h=d.get(f);h.equals(g)||(a=JU.PT.rep(a,'"'+g+'"','"'+h+'"'))}return a},"~S,JU.Lst,JU.Lst");c$.replaceStrings=b(c$,"replaceStrings",function(a,c,d){for(var b=c.size(),f=0;f<b;f++){var g=c.get(f),h=d.get(f);h.equals(g)||(a=JU.PT.rep(a,g,h))}return a},"~S,JU.Lst,JU.Lst");c$.isDigit=b(c$,"isDigit",function(a){a=a.charCodeAt(0);return 48<=a&&57>=a},"~S");c$.isUpperCase=b(c$,"isUpperCase",function(a){a=a.charCodeAt(0);return 65<=a&&90>=a},"~S");c$.isLowerCase=
b(c$,"isLowerCase",function(a){a=a.charCodeAt(0);return 97<=a&&122>=a},"~S");c$.isLetter=b(c$,"isLetter",function(a){a=a.charCodeAt(0);return 65<=a&&90>=a||97<=a&&122>=a},"~S");c$.isLetterOrDigit=b(c$,"isLetterOrDigit",function(a){a=a.charCodeAt(0);return 65<=a&&90>=a||97<=a&&122>=a||48<=a&&57>=a},"~S");c$.isWhitespace=b(c$,"isWhitespace",function(a){a=a.charCodeAt(0);return 28<=a&&32>=a||9<=a&&13>=a},"~S");c$.fixPtFloats=b(c$,"fixPtFloats",function(a,c){a.x=Math.round(a.x*c)/c;a.y=Math.round(a.y*
c)/c;a.z=Math.round(a.z*c)/c},"JU.T3,~N");c$.fixDouble=b(c$,"fixDouble",function(a,c){return Math.round(a*c)/c},"~N,~N");c$.parseFloatFraction=b(c$,"parseFloatFraction",function(a){var c=a.indexOf("/");return 0>c?JU.PT.parseFloat(a):JU.PT.parseFloat(a.substring(0,c))/JU.PT.parseFloat(a.substring(c+1))},"~S");D(c$,"tensScale",G(-1,[10,100,1E3,1E4,1E5,1E6]),"decimalScale",G(-1,[0.1,0.01,0.001,1E-4,1E-5,1E-6,1E-7,1E-8,1E-9]),"FLOAT_MIN_SAFE",2E-45,"escapable",'\\\\\tt\rr\nn""',"FRACTIONAL_PRECISION",
1E5,"CARTESIAN_PRECISION",1E4)});l("JU");c$=r(function(){this.s=this.sb=null;q(this,arguments)},JU,"SB");t(c$,function(){this.s=""});c$.newN=b(c$,"newN",function(){return new JU.SB},"~N");c$.newS=b(c$,"newS",function(a){var c=new JU.SB;c.s=a;return c},"~S");b(c$,"append",function(a){this.s+=a;return this},"~S");b(c$,"appendC",function(a){this.s+=a;return this},"~S");b(c$,"appendI",function(a){this.s+=a;return this},"~N");b(c$,"appendB",function(a){this.s+=a;return this},"~B");b(c$,"appendF",function(a){a=
""+a;0>a.indexOf(".")&&0>a.indexOf("e")&&(a+=".0");this.s+=a;return this},"~N");b(c$,"appendD",function(a){a=""+a;0>a.indexOf(".")&&0>a.indexOf("e")&&(a+=".0");this.s+=a;return this},"~N");b(c$,"appendSB",function(a){this.s+=a.s;return this},"JU.SB");b(c$,"appendO",function(a){null!=a&&(this.s+=a.toString());return this},"~O");b(c$,"appendCB",function(a,c,d){for(;0<=--d;)this.s+=a[c++]},"~A,~N,~N");e(c$,"toString",function(){return this.s});b(c$,"length",function(){return this.s.length});b(c$,"indexOf",
function(a){return this.s.indexOf(a)},"~S");b(c$,"charAt",function(a){return this.s.charAt(a)},"~N");b(c$,"charCodeAt",function(a){return this.s.charCodeAt(a)},"~N");b(c$,"setLength",function(a){this.s=this.s.substring(0,a)},"~N");b(c$,"lastIndexOf",function(a){return this.s.lastIndexOf(a)},"~S");b(c$,"indexOf2",function(a,c){return this.s.indexOf(a,c)},"~S,~N");b(c$,"substring",function(a){return this.s.substring(a)},"~N");b(c$,"substring2",function(a,c){return this.s.substring(a,c)},"~N,~N");b(c$,
"toBytes",function(a,c){0>c&&(c=this.length()-a);for(var d=O(c,0),b=a+c,f=b-a;--b>=a;)d[--f]=this.charAt(b).charCodeAt(0);return d},"~N,~N");b(c$,"replace",function(a,c,d){this.s=this.s.substring(0,a)+d+this.s.substring(c)},"~N,~N,~S");b(c$,"insert",function(a,c){this.replace(a,a,c)},"~N,~S");l("JU");u(["javajs.api.JSONEncodable"],"JU.T3",["java.lang.Float"],function(){c$=r(function(){this.z=this.y=this.x=0;q(this,arguments)},JU,"T3",null,[javajs.api.JSONEncodable,java.io.Serializable]);b(c$,"set",
function(a,c,d){this.x=a;this.y=c;this.z=d},"~N,~N,~N");b(c$,"setA",function(a){this.x=a[0];this.y=a[1];this.z=a[2]},"~A");b(c$,"setT",function(a){this.x=a.x;this.y=a.y;this.z=a.z},"JU.T3");b(c$,"add2",function(a,c){this.x=a.x+c.x;this.y=a.y+c.y;this.z=a.z+c.z},"JU.T3,JU.T3");b(c$,"add",function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z},"JU.T3");b(c$,"distanceSquared",function(a){var c=this.x-a.x,d=this.y-a.y;a=this.z-a.z;return c*c+d*d+a*a},"JU.T3");b(c$,"distance",function(a){return Math.sqrt(this.distanceSquared(a))},
"JU.T3");b(c$,"sub2",function(a,c){this.x=a.x-c.x;this.y=a.y-c.y;this.z=a.z-c.z},"JU.T3,JU.T3");b(c$,"sub",function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z},"JU.T3");b(c$,"scale",function(a){this.x*=a;this.y*=a;this.z*=a},"~N");b(c$,"add3",function(a,c,d){this.x+=a;this.y+=c;this.z+=d},"~N,~N,~N");b(c$,"scaleT",function(a){this.x*=a.x;this.y*=a.y;this.z*=a.z},"JU.T3");b(c$,"scaleAdd2",function(a,c,d){this.x=a*c.x+d.x;this.y=a*c.y+d.y;this.z=a*c.z+d.z},"~N,JU.T3,JU.T3");b(c$,"ave",function(a,c){this.x=
(a.x+c.x)/2;this.y=(a.y+c.y)/2;this.z=(a.z+c.z)/2},"JU.T3,JU.T3");b(c$,"dot",function(a){return this.x*a.x+this.y*a.y+this.z*a.z},"JU.T3");b(c$,"lengthSquared",function(){return this.x*this.x+this.y*this.y+this.z*this.z});b(c$,"length",function(){return Math.sqrt(this.lengthSquared())});b(c$,"normalize",function(){var a=this.length();this.x/=a;this.y/=a;this.z/=a});b(c$,"cross",function(a,c){this.set(a.y*c.z-a.z*c.y,a.z*c.x-a.x*c.z,a.x*c.y-a.y*c.x)},"JU.T3,JU.T3");e(c$,"hashCode",function(){var a;
a=31+JU.T3.floatToIntBits0(this.x);a=31*a+JU.T3.floatToIntBits0(this.y);a=31*a+JU.T3.floatToIntBits0(this.z);return a^a>>32});c$.floatToIntBits0=b(c$,"floatToIntBits0",function(a){return 0==a?0:Float.floatToIntBits(a)},"~N");e(c$,"equals",function(a){return!p(a,JU.T3)?!1:this.x==a.x&&this.y==a.y&&this.z==a.z},"~O");e(c$,"toString",function(){return"{"+this.x+", "+this.y+", "+this.z+"}"});e(c$,"toJSON",function(){return"["+this.x+","+this.y+","+this.z+"]"})});l("JU");c$=r(function(){this.z=this.y=
this.x=0;q(this,arguments)},JU,"T3i",null,java.io.Serializable);t(c$,function(){});b(c$,"set",function(a,c,d){this.x=a;this.y=c;this.z=d},"~N,~N,~N");b(c$,"setT",function(a){this.x=a.x;this.y=a.y;this.z=a.z},"JU.T3i");b(c$,"add",function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z},"JU.T3i");b(c$,"scaleAdd",function(a,c,d){this.x=a*c.x+d.x;this.y=a*c.y+d.y;this.z=a*c.z+d.z},"~N,JU.T3i,JU.T3i");e(c$,"hashCode",function(){return this.x^this.y^this.z});e(c$,"equals",function(a){return!p(a,JU.T3i)?!1:this.x==
a.x&&this.y==a.y&&this.z==a.z},"~O");e(c$,"toString",function(){return"("+this.x+", "+this.y+", "+this.z+")"});l("JU");u(["JU.T3"],"JU.T4",null,function(){c$=r(function(){this.w=0;q(this,arguments)},JU,"T4",JU.T3);b(c$,"set4",function(a,c,d,b){this.x=a;this.y=c;this.z=d;this.w=b},"~N,~N,~N,~N");b(c$,"scale4",function(a){this.scale(a);this.w*=a},"~N");e(c$,"hashCode",function(){return JU.T3.floatToIntBits0(this.x)^JU.T3.floatToIntBits0(this.y)^JU.T3.floatToIntBits0(this.z)^JU.T3.floatToIntBits0(this.w)});
e(c$,"equals",function(a){return!p(a,JU.T4)?!1:this.x==a.x&&this.y==a.y&&this.z==a.z&&this.w==a.w},"~O");e(c$,"toString",function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"});e(c$,"toJSON",function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"})});l("JU");u(["JU.T3"],"JU.V3",null,function(){c$=B(JU,"V3",JU.T3);t(c$,function(){});c$.newV=b(c$,"newV",function(a){return JU.V3.new3(a.x,a.y,a.z)},"JU.T3");c$.newVsub=b(c$,"newVsub",function(a,c){return JU.V3.new3(a.x-c.x,a.y-
c.y,a.z-c.z)},"JU.T3,JU.T3");c$.new3=b(c$,"new3",function(a,c,d){var b=new JU.V3;b.x=a;b.y=c;b.z=d;return b},"~N,~N,~N");b(c$,"angle",function(a){var c=this.y*a.z-this.z*a.y,d=this.z*a.x-this.x*a.z,b=this.x*a.y-this.y*a.x,c=Math.sqrt(c*c+d*d+b*b);return Math.abs(Math.atan2(c,this.dot(a)))},"JU.V3")});l("javajs.api");I(javajs.api,"GenericBinaryDocument");l("javajs.api");I(javajs.api,"GenericZipTools");l("javajs.api");I(javajs.api,"GenericLineReader");l("javajs.api");c$=I(javajs.api,"GenericCifDataParser");
D(c$,"NONE",-1);l("javajs.api");c$=B(javajs.api,"Interface");c$.getInterface=b(c$,"getInterface",function(a){try{var c=ba._4Name(a);return null==c?null:c.newInstance()}catch(d){if(C(d,Exception))return System.out.println("Interface.java Error creating instance for "+a+": \n"+d),null;throw d;}},"~S");l("JU");c$=r(function(){this.data=null;q(this,arguments)},JU,"BArray");t(c$,function(a){this.data=a},"~A");e(c$,"equals",function(a){if(p(a,JU.BArray)&&(a=a.data,a.length==this.data.length)){for(var c=
0;c<a.length;c++)if(a[c]!=this.data[c])return!1;return!0}return!1},"~O");b(c$,"hashCode",function(){return this.data.hashCode()});e(c$,"toString",function(){return String.instantialize(this.data)});l("JU");c$=r(function(){this.buf=null;this.ichCurrent=this.cchBuf=0;q(this,arguments)},JU,"LimitedLineReader");t(c$,function(a,c){a.mark(c+1);this.buf=da(c,"\x00");this.cchBuf=Math.max(a.read(this.buf,0,c),0);this.ichCurrent=0;a.reset()},"java.io.BufferedReader,~N");b(c$,"getHeader",function(a){return 0==
a?String.instantialize(this.buf):String.instantialize(this.buf,0,Math.min(this.cchBuf,a))},"~N");b(c$,"readLineWithNewline",function(){for(;this.ichCurrent<this.cchBuf;){for(var a=this.ichCurrent,c=String.fromCharCode(0);this.ichCurrent<this.cchBuf&&"\r"!=(c=this.buf[this.ichCurrent++])&&"\n"!=c;);"\r"==c&&(this.ichCurrent<this.cchBuf&&"\n"==this.buf[this.ichCurrent])&&++this.ichCurrent;c=this.ichCurrent-a;if("#"!=this.buf[a])return String.instantialize(this.buf,a,c)}return""});l("JU");c$=r(function(){this.a=
null;this.n=this.m=0;N("JU.Matrix.LUDecomp")||JU.Matrix.$Matrix$LUDecomp$();q(this,arguments)},JU,"Matrix",null,Cloneable);t(c$,function(a,c,d){this.a=null==a?X(c,d,0):a;this.m=c;this.n=d},"~A,~N,~N");b(c$,"getRowDimension",function(){return this.m});b(c$,"getColumnDimension",function(){return this.n});b(c$,"getArray",function(){return this.a});b(c$,"getArrayCopy",function(){for(var a=X(this.m,this.n,0),c=this.m;0<=--c;)for(var d=this.n;0<=--d;)a[c][d]=this.a[c][d];return a});b(c$,"copy",function(){for(var a=
new JU.Matrix(null,this.m,this.n),c=a.a,d=this.m;0<=--d;)for(var b=this.n;0<=--b;)c[d][b]=this.a[d][b];return a});e(c$,"clone",function(){return this.copy()});b(c$,"getSubmatrix",function(a,c,d,b){for(var f=new JU.Matrix(null,d,b),g=f.a;0<=--d;)for(var h=b;0<=--h;)g[d][h]=this.a[a+d][c+h];return f},"~N,~N,~N,~N");b(c$,"getMatrixSelected",function(a,c){for(var d=new JU.Matrix(null,a.length,c),b=d.a,f=a.length;0<=--f;)for(var g=this.a[a[f]],h=c;0<=--h;)b[f][h]=g[h];return d},"~A,~N");b(c$,"transpose",
function(){for(var a=new JU.Matrix(null,this.n,this.m),c=a.a,d=this.m;0<=--d;)for(var b=this.n;0<=--b;)c[b][d]=this.a[d][b];return a});b(c$,"add",function(a){return this.scaleAdd(a,1)},"JU.Matrix");b(c$,"sub",function(a){return this.scaleAdd(a,-1)},"JU.Matrix");b(c$,"scaleAdd",function(a,c){for(var d=new JU.Matrix(null,this.m,this.n),b=d.a,f=a.a,g=this.m;0<=--g;)for(var h=this.n;0<=--h;)b[g][h]=f[g][h]*c+this.a[g][h];return d},"JU.Matrix,~N");b(c$,"mul",function(a){if(a.m!=this.n)return null;var c=
new JU.Matrix(null,this.m,a.n),d=c.a,b=a.a;for(a=a.n;0<=--a;)for(var f=this.m;0<=--f;){for(var g=this.a[f],h=0,k=this.n;0<=--k;)h+=g[k]*b[k][a];d[f][a]=h}return c},"JU.Matrix");b(c$,"inverse",function(){return R(JU.Matrix.LUDecomp,this,null,this.m,this.n).solve(JU.Matrix.identity(this.m,this.m),this.n)});b(c$,"trace",function(){for(var a=0,c=Math.min(this.m,this.n);0<=--c;)a+=this.a[c][c];return a});c$.identity=b(c$,"identity",function(a,c){for(var d=new JU.Matrix(null,a,c),b=d.a,f=Math.min(a,c);0<=
--f;)b[f][f]=1;return d},"~N,~N");b(c$,"getRotation",function(){return this.getSubmatrix(0,0,this.m-1,this.n-1)});b(c$,"getTranslation",function(){return this.getSubmatrix(0,this.n-1,this.m-1,1)});c$.newT=b(c$,"newT",function(a,c){return c?new JU.Matrix(x(-1,[X(-1,[a.x]),X(-1,[a.y]),X(-1,[a.z])]),3,1):new JU.Matrix(x(-1,[X(-1,[a.x,a.y,a.z])]),1,3)},"JU.T3,~B");e(c$,"toString",function(){for(var a="[\n",c=0;c<this.m;c++){for(var a=a+"  [",d=0;d<this.n;d++)a+=" "+this.a[c][d];a+="]\n"}return a+"]"});
c$.$Matrix$LUDecomp$=function(){K(self.c$);c$=r(function(){W(this,arguments);this.piv=this.LU=null;this.pivsign=0;q(this,arguments)},JU.Matrix,"LUDecomp");t(c$,function(a,c){this.LU=this.b$["JU.Matrix"].getArrayCopy();this.piv=y(a,0);for(var d=a;0<=--d;)this.piv[d]=d;this.pivsign=1;for(var b,d=X(a,0),f=0;f<c;f++){for(var g=a;0<=--g;)d[g]=this.LU[g][f];for(var h=a;0<=--h;){b=this.LU[h];for(var g=Math.min(h,f),k=0,e=g;0<=--e;)k+=b[e]*d[e];b[f]=d[h]-=k}g=f;for(k=a;--k>f;)Math.abs(d[k])>Math.abs(d[g])&&
(g=k);if(g!=f){for(e=c;0<=--e;)b=this.LU[g][e],this.LU[g][e]=this.LU[f][e],this.LU[f][e]=b;b=this.piv[g];this.piv[g]=this.piv[f];this.piv[f]=b;this.pivsign=-this.pivsign}if((new Boolean(f<a&0!=this.LU[f][f])).valueOf())for(e=a;--e>f;)this.LU[e][f]/=this.LU[f][f]}},"~N,~N");b(c$,"solve",function(a,c){for(var d=0;d<c;d++)if(0==this.LU[d][d])return null;for(var d=a.n,b=a.getMatrixSelected(this.piv,d),f=b.a,g=0;g<c;g++)for(var h=g+1;h<c;h++)for(var k=0;k<d;k++)f[h][k]-=f[g][k]*this.LU[h][g];for(g=c;0<=
--g;){for(h=d;0<=--h;)f[g][h]/=this.LU[g][g];for(h=g;0<=--h;)for(k=d;0<=--k;)f[h][k]-=f[g][k]*this.LU[h][g]}return b},"JU.Matrix,~N");c$=L()};l("JU");u(["JU.P4"],"JU.Quat",["java.lang.Float","JU.A4","$.M3","$.V3"],function(){c$=r(function(){this.q3=this.q2=this.q1=this.q0=0;this.mat=null;q(this,arguments)},JU,"Quat");t(c$,function(){this.q0=1});c$.newQ=b(c$,"newQ",function(a){var c=new JU.Quat;c.set(a);return c},"JU.Quat");c$.newVA=b(c$,"newVA",function(a,c){var d=new JU.Quat;d.setTA(a,c);return d},
"JU.T3,~N");c$.newM=b(c$,"newM",function(a){var c=new JU.Quat;c.setM(JU.M3.newM3(a));return c},"JU.M3");c$.newAA=b(c$,"newAA",function(a){var c=new JU.Quat;c.setAA(a);return c},"JU.A4");c$.newP4=b(c$,"newP4",function(a){var c=new JU.Quat;c.setP4(a);return c},"JU.P4");c$.new4=b(c$,"new4",function(a,c,d,b){var f=new JU.Quat;if(-1>b)return f.q0=-1,f;if(1<b)return f.q0=1,f;f.q0=b;f.q1=a;f.q2=c;f.q3=d;return f},"~N,~N,~N,~N");b(c$,"set",function(a){this.q0=a.q0;this.q1=a.q1;this.q2=a.q2;this.q3=a.q3},
"JU.Quat");b(c$,"setP4",function(a){var c=null==a?0:a.distance4(JU.Quat.qZero);0==c?this.q0=1:(this.q0=a.w/c,this.q1=a.x/c,this.q2=a.y/c,this.q3=a.z/c)},"JU.P4");b(c$,"setTA",function(a,c){if(0==a.x&&0==a.y&&0==a.z)this.q0=1;else{var d=Math.sin(0.017453292519943295*(c/2))/Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z);this.q0=Math.cos(0.017453292519943295*(c/2));this.q1=a.x*d;this.q2=a.y*d;this.q3=a.z*d}},"JU.T3,~N");b(c$,"setAA",function(a){a=JU.A4.newAA(a);0==a.angle&&(a.y=1);this.setM((new JU.M3).setAA(a))},
"JU.A4");b(c$,"setM",function(a){this.mat=a;var c=a.m00+a.m11+a.m22,d,b,f;0.5<=c?(c=Math.sqrt(1+c),d=(a.m21-a.m12)/c,b=(a.m02-a.m20)/c,f=(a.m10-a.m01)/c):0.5<=(d=a.m00+a.m00-c)?(d=Math.sqrt(1+d),c=(a.m21-a.m12)/d,b=(a.m10+a.m01)/d,f=(a.m20+a.m02)/d):0.5<=(d=a.m11+a.m11-c)||a.m11>a.m22?(b=Math.sqrt(1+d),c=(a.m02-a.m20)/b,d=(a.m10+a.m01)/b,f=(a.m21+a.m12)/b):(f=Math.sqrt(1+a.m22+a.m22-c),c=(a.m10-a.m01)/f,d=(a.m20+a.m02)/f,b=(a.m21+a.m12)/f);this.q0=0.5*c;this.q1=0.5*d;this.q2=0.5*b;this.q3=0.5*f},
"JU.M3");b(c$,"setRef",function(a){null==a?this.mul(this.getFixFactor()):0<=this.dot(a)||(this.q0*=-1,this.q1*=-1,this.q2*=-1,this.q3*=-1)},"JU.Quat");c$.getQuaternionFrame=b(c$,"getQuaternionFrame",function(a,c,d){c=JU.V3.newV(c);d=JU.V3.newV(d);null!=a&&(c.sub(a),d.sub(a));return JU.Quat.getQuaternionFrameV(c,d,null,!1)},"JU.P3,JU.T3,JU.T3");c$.getQuaternionFrameV=b(c$,"getQuaternionFrameV",function(a,c,d,b){null==d&&(d=new JU.V3,d.cross(a,c),b&&a.cross(c,d));c=new JU.V3;c.cross(d,a);a.normalize();
c.normalize();d.normalize();b=new JU.M3;b.setColumnV(0,a);b.setColumnV(1,c);b.setColumnV(2,d);return JU.Quat.newM(b)},"JU.V3,JU.V3,JU.V3,~B");b(c$,"getMatrix",function(){null==this.mat&&this.setMatrix();return this.mat});b(c$,"setMatrix",function(){this.mat=new JU.M3;this.mat.m00=this.q0*this.q0+this.q1*this.q1-this.q2*this.q2-this.q3*this.q3;this.mat.m01=2*this.q1*this.q2-2*this.q0*this.q3;this.mat.m02=2*this.q1*this.q3+2*this.q0*this.q2;this.mat.m10=2*this.q1*this.q2+2*this.q0*this.q3;this.mat.m11=
this.q0*this.q0-this.q1*this.q1+this.q2*this.q2-this.q3*this.q3;this.mat.m12=2*this.q2*this.q3-2*this.q0*this.q1;this.mat.m20=2*this.q1*this.q3-2*this.q0*this.q2;this.mat.m21=2*this.q2*this.q3+2*this.q0*this.q1;this.mat.m22=this.q0*this.q0-this.q1*this.q1-this.q2*this.q2+this.q3*this.q3});b(c$,"add",function(a){return JU.Quat.newVA(this.getNormal(),this.getTheta()+a)},"~N");b(c$,"mul",function(a){return 1==a?JU.Quat.new4(this.q1,this.q2,this.q3,this.q0):JU.Quat.newVA(this.getNormal(),this.getTheta()*
a)},"~N");b(c$,"mulQ",function(a){return JU.Quat.new4(this.q0*a.q1+this.q1*a.q0+this.q2*a.q3-this.q3*a.q2,this.q0*a.q2+this.q2*a.q0+this.q3*a.q1-this.q1*a.q3,this.q0*a.q3+this.q3*a.q0+this.q1*a.q2-this.q2*a.q1,this.q0*a.q0-this.q1*a.q1-this.q2*a.q2-this.q3*a.q3)},"JU.Quat");b(c$,"div",function(a){return this.mulQ(a.inv())},"JU.Quat");b(c$,"divLeft",function(a){return this.inv().mulQ(a)},"JU.Quat");b(c$,"dot",function(a){return this.q0*a.q0+this.q1*a.q1+this.q2*a.q2+this.q3*a.q3},"JU.Quat");b(c$,"inv",
function(){return JU.Quat.new4(-this.q1,-this.q2,-this.q3,this.q0)});b(c$,"negate",function(){return JU.Quat.new4(-this.q1,-this.q2,-this.q3,-this.q0)});b(c$,"getFixFactor",function(){return 0>this.q0||0==this.q0&&(0>this.q1||0==this.q1&&(0>this.q2||0==this.q2&&0>this.q3))?-1:1});b(c$,"getVector",function(a){return this.getVectorScaled(a,1)},"~N");b(c$,"getVectorScaled",function(a,c){if(-1==a)return c*=this.getFixFactor(),JU.V3.new3(this.q1*c,this.q2*c,this.q3*c);null==this.mat&&this.setMatrix();
var d=new JU.V3;this.mat.getColumnV(a,d);1!=c&&d.scale(c);return d},"~N,~N");b(c$,"getNormal",function(){var a=JU.Quat.getRawNormal(this);a.scale(this.getFixFactor());return a});c$.getRawNormal=b(c$,"getRawNormal",function(a){a=JU.V3.new3(a.q1,a.q2,a.q3);if(0==a.length())return JU.V3.new3(0,0,1);a.normalize();return a},"JU.Quat");b(c$,"getTheta",function(){return 360*Math.acos(Math.abs(this.q0))/3.141592653589793});b(c$,"getThetaRadians",function(){return 2*Math.acos(Math.abs(this.q0))});b(c$,"getNormalDirected",
function(a){var c=this.getNormal();0>c.x*a.x+c.y*a.y+c.z*a.z&&c.scale(-1);return c},"JU.V3");b(c$,"get3dProjection",function(a){a.set(this.q1,this.q2,this.q3);return a},"JU.V3");b(c$,"getThetaDirected",function(a){var c=this.getTheta(),d=this.getNormal();0>a.x*this.q1+a.y*this.q2+a.z*this.q3&&(d.scale(-1),c=-c);a.set4(d.x,d.y,d.z,c);return a},"JU.P4");b(c$,"getThetaDirectedV",function(a){var c=this.getTheta(),d=this.getNormal();0>a.x*this.q1+a.y*this.q2+a.z*this.q3&&(d.scale(-1),c=-c);return c},"JU.V3");
b(c$,"toPoint4f",function(){return JU.P4.new4(this.q1,this.q2,this.q3,this.q0)});b(c$,"toAxisAngle4f",function(){var a=2*Math.acos(Math.abs(this.q0)),c=Math.sin(a/2),d=this.getNormal();0>c&&(d.scale(-1),a=3.141592653589793-a);return JU.A4.newVA(d,a)});b(c$,"transform2",function(a,c){null==this.mat&&this.setMatrix();this.mat.rotate2(a,c);return c},"JU.T3,JU.T3");b(c$,"leftDifference",function(a){a=0>this.dot(a)?a.negate():a;return this.inv().mulQ(a)},"JU.Quat");b(c$,"rightDifference",function(a){a=
0>this.dot(a)?a.negate():a;return this.mulQ(a.inv())},"JU.Quat");e(c$,"toString",function(){return"{"+this.q1+" "+this.q2+" "+this.q3+" "+this.q0+"}"});c$.div=b(c$,"div",function(a,c,d,b){var f;if(null==a||null==c||0==(f=Math.min(a.length,c.length)))return null;0<d&&f>d&&(f=d);d=Array(f);for(var g=0;g<f;g++){if(null==a[g]||null==c[g])return null;d[g]=b?a[g].divLeft(c[g]):a[g].div(c[g])}return d},"~A,~A,~N,~B");c$.sphereMean=b(c$,"sphereMean",function(a,c,d){if(null==a||0==a.length)return new JU.Quat;
null==c&&(c=G(1,0));if(1==a.length)return c[0]=0,JU.Quat.newQ(a[0]);for(var b=3.4028235E38,f=3.4028235E38,g=JU.Quat.simpleAverage(a);b>d&&0!=f;)g=JU.Quat.newMean(a,g),c[0]=JU.Quat.stdDev(a,g),b=Math.abs(c[0]-f),f=c[0];return g},"~A,~A,~N");c$.simpleAverage=b(c$,"simpleAverage",function(a){var c=JU.V3.new3(0,0,1),d=a[0].getNormal();c.add(d);for(var b=a.length;0<=--b;)c.add(a[b].getNormalDirected(c));c.sub(d);c.normalize();for(var f=0,b=a.length;0<=--b;)f+=Math.abs(a[b].get3dProjection(d).dot(c));0!=
f&&c.scale(f/a.length);f=Math.sqrt(1-c.lengthSquared());Float.isNaN(f)&&(f=0);return JU.Quat.newP4(JU.P4.new4(c.x,c.y,c.z,f))},"~A");c$.newMean=b(c$,"newMean",function(a,c){for(var d=new JU.V3,b,f,g=a.length;0<=--g;)b=a[g],f=b.div(c),b=f.getNormal(),b.scale(f.getTheta()),d.add(b);d.scale(1/a.length);return JU.Quat.newVA(d,d.length()).mulQ(c)},"~A,JU.Quat");c$.stdDev=b(c$,"stdDev",function(a,c){for(var d=0,b=a.length,f=b;0<=--f;)var g=a[f].div(c).getTheta(),d=d+g*g;return Math.sqrt(d/b)},"~A,JU.Quat");
b(c$,"getEulerZYZ",function(){var a,c,d;if(0==this.q1&&0==this.q2)return a=this.getTheta(),G(-1,[0>this.q3?-a:a,0,0]);a=Math.atan2(2*(this.q2*this.q3+this.q0*this.q1),2*(-this.q1*this.q3+this.q0*this.q2));c=Math.acos(this.q3*this.q3-this.q2*this.q2-this.q1*this.q1+this.q0*this.q0);d=Math.atan2(2*(this.q2*this.q3-this.q0*this.q1),2*(this.q0*this.q2+this.q1*this.q3));return G(-1,[a/0.017453292519943295,c/0.017453292519943295,d/0.017453292519943295])});b(c$,"getEulerZXZ",function(){var a,c,d;if(0==this.q1&&
0==this.q2)return a=this.getTheta(),G(-1,[0>this.q3?-a:a,0,0]);a=Math.atan2(2*(this.q1*this.q3-this.q0*this.q2),2*(this.q0*this.q1+this.q2*this.q3));c=Math.acos(this.q3*this.q3-this.q2*this.q2-this.q1*this.q1+this.q0*this.q0);d=Math.atan2(2*(this.q1*this.q3+this.q0*this.q2),2*(-this.q2*this.q3+this.q0*this.q1));return G(-1,[a/0.017453292519943295,c/0.017453292519943295,d/0.017453292519943295])});c$.qZero=c$.prototype.qZero=new JU.P4;D(c$,"RAD_PER_DEG",0.017453292519943295)});l("JU");u(["javajs.api.GenericLineReader"],
"JU.Rdr","java.io.BufferedInputStream $.BufferedReader $.ByteArrayInputStream $.InputStreamReader $.StringReader JU.AU $.Base64 $.Encoding $.SB".split(" "),function(){c$=r(function(){this.reader=null;q(this,arguments)},JU,"Rdr",null,javajs.api.GenericLineReader);t(c$,function(a){this.reader=a},"java.io.BufferedReader");e(c$,"readNextLine",function(){return this.reader.readLine()});c$.readCifData=b(c$,"readCifData",function(a,c){return a.set(null,c).getAllCifData()},"javajs.api.GenericCifDataParser,java.io.BufferedReader");
c$.fixUTF=b(c$,"fixUTF",function(a){var c=JU.Rdr.getUTFEncoding(a);if(c!==JU.Encoding.NONE)try{var d=String.instantialize(a,c.name().$replace("_","-"));switch(c){case JU.Encoding.UTF8:case JU.Encoding.UTF_16BE:case JU.Encoding.UTF_16LE:d=d.substring(1)}return d}catch(b){if(C(b,java.io.UnsupportedEncodingException))System.out.println(b);else throw b;}return String.instantialize(a)},"~A");c$.getUTFEncoding=b(c$,"getUTFEncoding",function(a){return 3<=a.length&&239==a[0]&&187==a[1]&&191==a[2]?JU.Encoding.UTF8:
4<=a.length&&0==a[0]&&0==a[1]&&254==a[2]&&255==a[3]?JU.Encoding.UTF_32BE:4<=a.length&&255==a[0]&&254==a[1]&&0==a[2]&&0==a[3]?JU.Encoding.UTF_32LE:2<=a.length&&255==a[0]&&254==a[1]?JU.Encoding.UTF_16LE:2<=a.length&&254==a[0]&&255==a[1]?JU.Encoding.UTF_16BE:JU.Encoding.NONE},"~A");c$.getUTFEncodingForStream=b(c$,"getUTFEncodingForStream",function(a){a.resetStream();var c=O(4,0);c[3]=1;try{a.mark(5)}catch(d){if(C(d,Exception))return JU.Encoding.NONE;throw d;}a.read(c,0,4);a.reset();return JU.Rdr.getUTFEncoding(c)},
"java.io.BufferedInputStream");c$.isBase64=b(c$,"isBase64",function(a){return 0==a.indexOf(";base64,")},"JU.SB");c$.isCompoundDocumentS=b(c$,"isCompoundDocumentS",function(a){return JU.Rdr.isCompoundDocumentB(JU.Rdr.getMagic(a,8))},"java.io.InputStream");c$.isCompoundDocumentB=b(c$,"isCompoundDocumentB",function(a){return 8<=a.length&&208==a[0]&&207==a[1]&&17==a[2]&&224==a[3]&&161==a[4]&&177==a[5]&&26==a[6]&&225==a[7]},"~A");c$.isGzipS=b(c$,"isGzipS",function(a){return JU.Rdr.isGzipB(JU.Rdr.getMagic(a,
2))},"java.io.InputStream");c$.isGzipB=b(c$,"isGzipB",function(a){return null!=a&&2<=a.length&&31==a[0]&&139==a[1]},"~A");c$.isPickleS=b(c$,"isPickleS",function(a){return JU.Rdr.isPickleB(JU.Rdr.getMagic(a,2))},"java.io.InputStream");c$.isPickleB=b(c$,"isPickleB",function(a){return null!=a&&2<=a.length&&125==a[0]&&113==a[1]},"~A");c$.isPngZipStream=b(c$,"isPngZipStream",function(a){return JU.Rdr.isPngZipB(JU.Rdr.getMagic(a,55))},"java.io.InputStream");c$.isPngZipB=b(c$,"isPngZipB",function(a){return 0==
a[50]&&80==a[51]&&78==a[52]&&71==a[53]&&74==a[54]},"~A");c$.isZipS=b(c$,"isZipS",function(a){return JU.Rdr.isZipB(JU.Rdr.getMagic(a,4))},"java.io.InputStream");c$.isZipB=b(c$,"isZipB",function(a){return 4<=a.length&&80==a[0]&&75==a[1]&&3==a[2]&&4==a[3]},"~A");c$.getMagic=b(c$,"getMagic",function(a,c){var d=O(c,0);a.resetStream();try{a.mark(c+1),a.read(d,0,c)}catch(b){if(!C(b,java.io.IOException))throw b;}try{a.reset()}catch(f){if(!C(f,java.io.IOException))throw f;}return d},"java.io.InputStream,~N");
c$.guessMimeTypeForBytes=b(c$,"guessMimeTypeForBytes",function(a){switch(2>a.length?-1:a[1]){case 0:return"image/jpg";case 73:return"image/gif";case 77:return"image/BMP";case 80:return"image/png";default:return"image/unknown"}},"~A");c$.getBIS=b(c$,"getBIS",function(a){return new java.io.BufferedInputStream(new java.io.ByteArrayInputStream(a))},"~A");c$.getBR=b(c$,"getBR",function(a){return new java.io.BufferedReader(new java.io.StringReader(a))},"~S");c$.getUnzippedInputStream=b(c$,"getUnzippedInputStream",
function(a,c){for(;JU.Rdr.isGzipS(c);)c=new java.io.BufferedInputStream(a.newGZIPInputStream(c));return c},"javajs.api.GenericZipTools,java.io.BufferedInputStream");c$.getBytesFromSB=b(c$,"getBytesFromSB",function(a){return JU.Rdr.isBase64(a)?JU.Base64.decodeBase64(a.substring(8)):a.toBytes(0,-1)},"JU.SB");c$.getStreamAsBytes=b(c$,"getStreamAsBytes",function(a,c){for(var d=O(1024,0),b=null==c?O(4096,0):null,f=0,g=0;0<(f=a.read(d,0,1024));)g+=f,null==c?(g>=b.length&&(b=JU.AU.ensureLengthByte(b,2*g)),
System.arraycopy(d,0,b,g-f,f)):c.write(d,0,f);a.close();return null==c?JU.AU.arrayCopyByte(b,g):g+" bytes"},"java.io.BufferedInputStream,JU.OC");c$.getBufferedReader=b(c$,"getBufferedReader",function(a,c){if(JU.Rdr.getUTFEncodingForStream(a)===JU.Encoding.NONE)return new java.io.BufferedReader(new java.io.InputStreamReader(a,null==c?"UTF-8":c));var d=JU.Rdr.getLimitedStreamBytes(a,-1);a.close();return JU.Rdr.getBR(null==c?JU.Rdr.fixUTF(d):String.instantialize(d,c))},"java.io.BufferedInputStream,~S");
c$.getLimitedStreamBytes=b(c$,"getLimitedStreamBytes",function(a,c){var d=0<c&&1024>c?c:1024,b=O(d,0),f=O(0>c?4096:c,0),g=0,h=0;for(0>c&&(c=2147483647);h<c&&0<(g=a.read(b,0,d));)h+=g,h>f.length&&(f=JU.AU.ensureLengthByte(f,2*h)),System.arraycopy(b,0,f,h-g,g),2147483647!=c&&h+d>f.length&&(d=f.length-h);if(h==f.length)return f;b=O(h,0);System.arraycopy(f,0,b,0,h);return b},"java.io.InputStream,~N");c$.StreamToUTF8String=b(c$,"StreamToUTF8String",function(a){var c=Array(1);try{JU.Rdr.readAllAsString(JU.Rdr.getBufferedReader(a,
"UTF-8"),-1,!0,c,0)}catch(d){if(!C(d,java.io.IOException))throw d;}return c[0]},"java.io.BufferedInputStream");c$.readAllAsString=b(c$,"readAllAsString",function(a,c,d,b,f){try{var g=JU.SB.newN(8192),h;if(0>c){if(h=a.readLine(),d||null!=h&&0>h.indexOf("\x00")&&(4!=h.length||65533!=h.charCodeAt(0)||1!=h.indexOf("PNG")))for(g.append(h).appendC("\n");null!=(h=a.readLine());)g.append(h).appendC("\n")}else{d=0;for(var k;d<c&&null!=(h=a.readLine());){if(c-d<(k=h.length)+1)h=h.substring(0,c-d-1);g.append(h).appendC("\n");
d+=k+1}}a.close();b[f]=g.toString();return!0}catch(e){if(C(e,Exception))return b[f]=e.toString(),!1;throw e;}},"java.io.BufferedReader,~N,~B,~A,~N");c$.getPngZipPointAndCount=b(c$,"getPngZipPointAndCount",function(a,c){a.mark(75);try{var d=JU.Rdr.getLimitedStreamBytes(a,74);a.reset();for(var b=0,f=64,g=1;54<--f;g*=10)b+=(d[f]-48)*g;for(var h=0,f=74,g=1;64<--f;g*=10)h+=(d[f]-48)*g;c[0]=b;c[1]=h}catch(k){c[1]=0}},"java.io.BufferedInputStream,~A");c$.getPngZipStream=b(c$,"getPngZipStream",function(a,
c){if(!JU.Rdr.isPngZipStream(a))return a;var d=O(0,0);a.mark(75);try{var b=y(2,0);JU.Rdr.getPngZipPointAndCount(a,b);if(0!=b[1]){for(var f=b[0];0<f;)f-=a.skip(f);if(!c)return a;d=JU.Rdr.getLimitedStreamBytes(a,b[1])}}catch(g){}finally{try{c&&a.close()}catch(h){if(!C(h,Exception))throw h;}}return JU.Rdr.getBIS(d)},"java.io.BufferedInputStream,~B");c$.getZipRoot=b(c$,"getZipRoot",function(a){var c=a.indexOf("|");return 0>c?a:a.substring(0,c)},"~S")});l("JU");u(null,"JU.T3d",["java.lang.Double"],function(){c$=
r(function(){this.z=this.y=this.x=0;q(this,arguments)},JU,"T3d",null,java.io.Serializable);t(c$,function(){});b(c$,"set",function(a,c,d){this.x=a;this.y=c;this.z=d},"~N,~N,~N");b(c$,"setA",function(a){this.x=a[0];this.y=a[1];this.z=a[2]},"~A");b(c$,"setT",function(a){this.x=a.x;this.y=a.y;this.z=a.z},"JU.T3d");b(c$,"add2",function(a,c){this.x=a.x+c.x;this.y=a.y+c.y;this.z=a.z+c.z},"JU.T3d,JU.T3d");b(c$,"add",function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z},"JU.T3d");b(c$,"sub2",function(a,c){this.x=
a.x-c.x;this.y=a.y-c.y;this.z=a.z-c.z},"JU.T3d,JU.T3d");b(c$,"sub",function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z},"JU.T3d");b(c$,"scale",function(a){this.x*=a;this.y*=a;this.z*=a},"~N");b(c$,"scaleAdd",function(a,c,d){this.x=a*c.x+d.x;this.y=a*c.y+d.y;this.z=a*c.z+d.z},"~N,JU.T3d,JU.T3d");e(c$,"hashCode",function(){var a=JU.T3d.doubleToLongBits0(this.x),c=JU.T3d.doubleToLongBits0(this.y),d=JU.T3d.doubleToLongBits0(this.z);return a^a>>32^c^c>>32^d^d>>32});c$.doubleToLongBits0=b(c$,"doubleToLongBits0",
function(a){return 0==a?0:Double.doubleToLongBits(a)},"~N");e(c$,"equals",function(a){return!p(a,JU.T3d)?!1:this.x==a.x&&this.y==a.y&&this.z==a.z},"~O");e(c$,"toString",function(){return"{"+this.x+", "+this.y+", "+this.z+"}"})});l("JU");u(["JU.T3d"],"JU.V3d",null,function(){c$=B(JU,"V3d",JU.T3d);b(c$,"cross",function(a,c){this.set(a.y*c.z-a.z*c.y,a.z*c.x-a.x*c.z,a.x*c.y-a.y*c.x)},"JU.V3d,JU.V3d");b(c$,"normalize",function(){var a=this.length();this.x/=a;this.y/=a;this.z/=a});b(c$,"dot",function(a){return this.x*
a.x+this.y*a.y+this.z*a.z},"JU.V3d");b(c$,"lengthSquared",function(){return this.x*this.x+this.y*this.y+this.z*this.z});b(c$,"length",function(){return Math.sqrt(this.lengthSquared())})});l("J.adapter.readers.molxyz");u(["J.adapter.smarter.AtomSetCollectionReader"],"J.adapter.readers.molxyz.MolReader","java.lang.Exception $.Float JU.PT J.adapter.smarter.Atom J.api.JmolAdapter JU.Logger".split(" "),function(){c$=r(function(){this.haveAtomSerials=this.is2D=!1;this.dimension=null;this.allow2D=!0;this.iatom0=
0;this.vr=null;q(this,arguments)},J.adapter.readers.molxyz,"MolReader",J.adapter.smarter.AtomSetCollectionReader);e(c$,"initializeReader",function(){this.is2D=this.checkFilterKey("2D")});e(c$,"checkLine",function(){var a=this.line.startsWith("$MDL");if(a){if(this.discardLinesUntilStartsWith("$HDR"),this.rd(),null==this.line)return JU.Logger.warn("$HDR not found in MDL RG file"),this.continuing=!1}else if(this.line.equals("M  END"))return!0;if(this.doGetModel(++this.modelNumber,null)&&(this.iatom0=
this.asc.ac,this.processMolSdHeader(),this.processCtab(a),this.vr=null,this.isLastModel(this.modelNumber)))return this.continuing=!1;null!=this.line&&0>this.line.indexOf("$$$$")&&this.discardLinesUntilStartsWith("$$$$");return!0});e(c$,"finalizeSubclassReader",function(){this.finalizeReaderMR()});b(c$,"finalizeReaderMR",function(){this.is2D&&this.set2D();this.isTrajectory=!1;this.finalizeReaderASCR()});b(c$,"processMolSdHeader",function(){var a,c=this.line;a=""+(this.line+"\n");this.asc.setCollectionName(this.line);
this.rd();if(null!=this.line){a+=this.line+"\n";this.dimension=22>this.line.length?"3D":this.line.substring(20,22);if(!this.allow2D&&this.dimension.equals("2D"))throw new Exception("File is 2D, not 3D");this.asc.setInfo("dimension",this.dimension);this.rd();null!=this.line&&(a+=this.line+"\n",JU.Logger.info(a),this.checkCurrentLineForScript(),this.asc.setInfo("fileHeader",a),this.newAtomSet(c))}});b(c$,"processCtab",function(a){a&&this.discardLinesUntilStartsWith("$CTAB");null!=this.rd()&&(0<=this.line.indexOf("V3000")?
(this.is2D=this.dimension.equals("2D"),this.vr=this.getInterface("J.adapter.readers.molxyz.V3000Rdr").set(this),this.discardLinesUntilContains("COUNTS"),this.vr.readAtomsAndBonds(this.getTokens())):this.readAtomsAndBonds(this.parseIntRange(this.line,0,3),this.parseIntRange(this.line,3,6)),this.applySymmetryAndSetTrajectory())},"~B");b(c$,"readAtomsAndBonds",function(a,c){for(var d=0;d<a;++d){this.rd();var b=this.line.length,f,g,h,k,e=0,n=0,s=-2147483648;g=this.parseFloatRange(this.line,0,10);h=this.parseFloatRange(this.line,
10,20);k=this.parseFloatRange(this.line,20,30);if(34>b)f=this.line.substring(31).trim();else if(f=this.line.substring(31,34).trim(),39<=b){b=this.parseIntRange(this.line,36,39);1<=b&&7>=b&&(e=4-b);b=this.parseIntRange(this.line,34,36);if(0!=b&&-3<=b&&4>=b)switch(n=J.api.JmolAdapter.getNaturalIsotope(J.api.JmolAdapter.getElementNumber(f)),n){case 0:break;case 1:n=-b;break;default:n+=b}-2147483648==s&&this.haveAtomSerials&&(s=d+1)}this.addMolAtom(s,n,f,e,g,h,k)}for(d=0;d<c;++d)this.rd(),h=0,f=this.line.substring(0,
3).trim(),g=this.line.substring(3,6).trim(),k=this.parseIntRange(this.line,6,9),this.is2D&&(1==k&&12<=this.line.length)&&(h=this.parseIntRange(this.line,9,12)),k=this.fixOrder(k,h),this.haveAtomSerials?this.asc.addNewBondFromNames(f,g,k):this.asc.addNewBondWithOrder(this.iatom0+this.parseIntStr(f)-1,this.iatom0+this.parseIntStr(g)-1,k);for(;null!=this.rd()&&0!=this.line.indexOf("$$$$");)if(this.line.toUpperCase().contains("_PARTIAL_CHARGES"))try{for(var w=this.asc.atoms,d=this.parseIntStr(this.rd());0<=
--d;){var F=JU.PT.getTokens(this.rd()),z=this.parseIntStr(F[0])+this.iatom0-1,l=this.parseFloatStr(F[1]);Float.isNaN(l)||(w[z].partialCharge=l)}}catch(p){if(C(p,Exception))break;else throw p;}},"~N,~N");b(c$,"addMolAtom",function(a,c,d,b,f,g,h){switch(c){case 0:break;case -1:d="D";break;case -2:d="T";break;default:d=c+d}this.is2D&&0!=h&&(this.is2D=!1);c=new J.adapter.smarter.Atom;c.elementSymbol=d;c.formalCharge=b;this.setAtomCoordXYZ(c,f,g,h);-2147483648==a?this.asc.addAtom(c):(this.haveAtomSerials=
!0,c.atomSerial=a,this.asc.addAtomWithMappedSerialNumber(c))},"~N,~N,~S,~N,~N,~N,~N");b(c$,"fixOrder",function(a,c){switch(a){default:case 0:case -10:return 1;case 1:switch(c){case 1:return 1025;case 3:case 6:return 1041}break;case 2:case 3:break;case 4:return 515;case 5:return 66;case 6:return 513;case 7:return 514;case 8:case 9:return 33}return a},"~N,~N");b(c$,"addMolBond",function(a,c,d,b){d=this.fixOrder(d,b);this.haveAtomSerials?this.asc.addNewBondFromNames(a,c,d):this.asc.addNewBondWithOrder(this.iatom0+
this.parseIntStr(a)-1,this.iatom0+this.parseIntStr(c)-1,d)},"~S,~S,~N,~N")});l("J.adapter.readers.molxyz");u(["J.adapter.smarter.AtomSetCollectionReader"],"J.adapter.readers.molxyz.XyzReader",["java.lang.Float","JU.Logger"],function(){c$=B(J.adapter.readers.molxyz,"XyzReader",J.adapter.smarter.AtomSetCollectionReader);e(c$,"checkLine",function(){var a=this.parseIntStr(this.line);if(-2147483648==a)return this.continuing=!1;this.vibrationNumber=++this.modelNumber;if(0>=this.desiredVibrationNumber?this.doGetModel(this.modelNumber,
null):this.doGetVibration(this.vibrationNumber)){this.rd();this.checkCurrentLineForScript();this.asc.newAtomSet();var c=this.line;this.readAtoms(a);this.applySymmetryAndSetTrajectory();this.asc.setAtomSetName(c);if(this.isLastModel(this.modelNumber))return this.continuing=!1}else this.skipAtomSet(a);this.discardLinesUntilNonBlank();return!1});e(c$,"finalizeSubclassReader",function(){this.isTrajectory=!1;this.finalizeReaderASCR()});b(c$,"skipAtomSet",function(a){for(this.rd();0<=--a;)this.rd()},"~N");
b(c$,"readAtoms",function(a){for(var c=0;c<a;++c){this.rd();var d=this.getTokens();if(4>d.length)JU.Logger.warn("line cannot be read for XYZ atom data: "+this.line);else{var b=this.addAtomXYZSymName(d,1,null,null);this.setElementAndIsotope(b,d[0]);var f=4;switch(d.length){case 4:continue;case 5:case 6:case 8:case 9:if(0<=d[4].indexOf("."))b.partialCharge=this.parseFloatStr(d[4]);else{var g=this.parseIntStr(d[4]);-2147483648!=g&&(b.formalCharge=g)}switch(d.length){case 5:continue;case 6:b.radius=this.parseFloatStr(d[5]);
continue;case 9:b.atomSerial=this.parseIntStr(d[8])}f++;default:var g=this.parseFloatStr(d[f++]),h=this.parseFloatStr(d[f++]),d=this.parseFloatStr(d[f++]);if(Float.isNaN(g)||Float.isNaN(h)||Float.isNaN(d))continue;this.asc.addVibrationVector(b.index,g,h,d)}}}},"~N")});l("J.adapter.smarter");u(["JU.P3"],"J.adapter.smarter.Atom",["JU.AU","$.Lst","$.V3","JU.Vibration"],function(){c$=r(function(){this.index=this.atomSetIndex=0;this.bsSymmetry=null;this.atomSite=0;this.elementSymbol=null;this.elementNumber=
-1;this.atomName=null;this.formalCharge=-2147483648;this.partialCharge=NaN;this.vib=null;this.bfactor=NaN;this.foccupancy=1;this.radius=NaN;this.isHetero=!1;this.atomSerial=-2147483648;this.chainID=0;this.altLoc="\x00";this.group3=null;this.sequenceNumber=-2147483648;this.insertionCode="\x00";this.tensors=this.anisoBorU=null;this.ignoreSymmetry=!1;q(this,arguments)},J.adapter.smarter,"Atom",JU.P3,Cloneable);b(c$,"addTensor",function(a,c,d){if(null==a)return null;if(d||null==this.tensors)this.tensors=
new JU.Lst;this.tensors.addLast(a);null!=c&&a.setType(c);return a},"JU.Tensor,~S,~B");U(c$,function(){this.set(NaN,NaN,NaN)});b(c$,"getClone",function(){var a=this.clone();null!=this.vib&&(a.vib=p(this.vib,JU.Vibration)?this.vib.clone():JU.V3.newV(a.vib));null!=this.anisoBorU&&(a.anisoBorU=JU.AU.arrayCopyF(this.anisoBorU,-1));if(null!=this.tensors){a.tensors=new JU.Lst;for(var c=this.tensors.size();0<=--c;)a.tensors.addLast(this.tensors.get(c).copyTensor())}return a});b(c$,"getElementSymbol",function(){if(null==
this.elementSymbol&&null!=this.atomName){for(var a=this.atomName.length,c=0,d=String.fromCharCode(0);c<a&&!J.adapter.smarter.Atom.isValidSymChar1(d=this.atomName.charAt(c));)++c;switch(a-c){case 0:break;default:if(a=this.atomName.charAt(c+1),J.adapter.smarter.Atom.isValidSymNoCase(d,a)){this.elementSymbol=""+d+a;break}case 1:J.adapter.smarter.Atom.isValidSym1(d)&&(this.elementSymbol=""+d)}}return this.elementSymbol});c$.isValidSym1=b(c$,"isValidSym1",function(a){return"A"<=a&&"Z">=a&&0>J.adapter.smarter.Atom.elementCharMasks[a.charCodeAt(0)-
65]},"~S");c$.isValidSym2=b(c$,"isValidSym2",function(a,c){return"A"<=a&&"Z">=a&&"a"<=c&&"z">=c&&0!=(J.adapter.smarter.Atom.elementCharMasks[a.charCodeAt(0)-65]>>c.charCodeAt(0)-97&1)},"~S,~S");c$.isValidSymNoCase=b(c$,"isValidSymNoCase",function(a,c){return J.adapter.smarter.Atom.isValidSym2(a,"a">c?String.fromCharCode(c.charCodeAt(0)+32):c)},"~S,~S");c$.isValidSymChar1=b(c$,"isValidSymChar1",function(a){return"A"<=a&&"Z">=a&&0!=J.adapter.smarter.Atom.elementCharMasks[a.charCodeAt(0)-65]},"~S");
D(c$,"elementCharMasks",y(-1,[1972292,-2147351151,-2146019271,-2130706430,1441792,-2147348464,25,-2147205008,-2147344384,0,-2147352576,1179905,548936,-2147434213,-2147221504,-2145759221,0,1056947,-2147339946,-2147477097,-2147483648,-2147483648,-2147483648,8388624,-2147483646,139264]))});l("J.adapter.smarter");u(["J.api.JmolAdapterAtomIterator"],"J.adapter.smarter.AtomIterator",["java.lang.Float","J.api.JmolAdapter"],function(){c$=r(function(){this.iatom=0;this.atom=null;this.ac=0;this.bsAtoms=this.atoms=
null;q(this,arguments)},J.adapter.smarter,"AtomIterator",null,J.api.JmolAdapterAtomIterator);t(c$,function(a){this.ac=a.ac;this.atoms=a.atoms;this.bsAtoms=a.bsAtoms;this.iatom=0},"J.adapter.smarter.AtomSetCollection");e(c$,"hasNext",function(){if(this.iatom==this.ac)return!1;for(;null==(this.atom=this.atoms[this.iatom++])||null!=this.bsAtoms&&!this.bsAtoms.get(this.atom.index);)if(this.iatom==this.ac)return!1;this.atoms[this.iatom-1]=null;return!0});e(c$,"getAtomSetIndex",function(){return this.atom.atomSetIndex});
e(c$,"getSymmetry",function(){return this.atom.bsSymmetry});e(c$,"getAtomSite",function(){return this.atom.atomSite+1});e(c$,"getUniqueID",function(){return Integer.$valueOf(this.atom.index)});e(c$,"getElementNumber",function(){return 0<this.atom.elementNumber?this.atom.elementNumber:J.api.JmolAdapter.getElementNumber(this.atom.getElementSymbol())});e(c$,"getAtomName",function(){return this.atom.atomName});e(c$,"getFormalCharge",function(){return this.atom.formalCharge});e(c$,"getPartialCharge",function(){return this.atom.partialCharge});
e(c$,"getTensors",function(){return this.atom.tensors});e(c$,"getRadius",function(){return this.atom.radius});e(c$,"getVib",function(){return null==this.atom.vib||Float.isNaN(this.atom.vib.z)?null:this.atom.vib});e(c$,"getSeqID",function(){return null==this.atom.vib||!Float.isNaN(this.atom.vib.y)||1094713365!=this.atom.vib.z?0:A(this.atom.vib.x)});e(c$,"getBfactor",function(){return this.atom.bfactor});e(c$,"getOccupancy",function(){return 100*this.atom.foccupancy});e(c$,"getIsHetero",function(){return this.atom.isHetero});
e(c$,"getSerial",function(){return this.atom.atomSerial});e(c$,"getChainID",function(){return this.atom.chainID});e(c$,"getAltLoc",function(){return J.api.JmolAdapter.canonizeAlternateLocationID(this.atom.altLoc)});e(c$,"getGroup3",function(){return this.atom.group3});e(c$,"getSequenceNumber",function(){return this.atom.sequenceNumber});e(c$,"getInsertionCode",function(){return J.api.JmolAdapter.canonizeInsertionCode(this.atom.insertionCode)});e(c$,"getXYZ",function(){return this.atom})});l("J.adapter.smarter");
u(["java.util.Hashtable"],"J.adapter.smarter.AtomSetCollection","java.lang.Boolean $.Float java.util.Collections $.Properties JU.AU $.BS $.Lst $.P3 $.V3 J.adapter.smarter.Atom $.Bond $.SmarterJmolAdapter J.api.Interface JU.Logger".split(" "),function(){c$=r(function(){this.atoms=this.atomSetInfo=this.collectionName=this.fileTypeName=this.bsAtoms=this.reader=null;this.ac=0;this.bonds=null;this.bondCount=0;this.structures=null;this.atomSetCount=this.structureCount=0;this.iSet=-1;this.errorMessage=this.atomSetAuxiliaryInfo=
this.atomSetBondCounts=this.atomSetAtomCounts=this.atomSetAtomIndexes=this.atomSetNumbers=null;this.isTrajectory=this.coordinatesAreFractional=!1;this.trajectoryStepCount=0;this.trajectoryNames=this.vibrationSteps=this.trajectorySteps=null;this.allowMultiple=this.doFixPeriodic=!1;this.bsStructuredModels=this.readerList=null;this.haveAnisou=!1;this.baseSymmetryAtomCount=0;this.checkLatticeOnly=!1;this.xtalSymmetry=null;this.bondIndex0=0;this.checkSpecial=!0;this.atomSymbolicMap=null;this.haveUnitCell=
!1;this.vibScale=0;q(this,arguments)},J.adapter.smarter,"AtomSetCollection");M(c$,function(){this.atomSetInfo=new java.util.Hashtable;this.atoms=Array(256);this.bonds=Array(256);this.structures=Array(16);this.atomSetNumbers=y(16,0);this.atomSetAtomIndexes=y(16,0);this.atomSetAtomCounts=y(16,0);this.atomSetBondCounts=y(16,0);this.atomSetAuxiliaryInfo=Array(16);this.atomSymbolicMap=new java.util.Hashtable});b(c$,"setCollectionName",function(a){if(!(null==a||0==(a=a.trim()).length))this.collectionName=
a},"~S");b(c$,"clearGlobalBoolean",function(a){this.atomSetInfo.remove(J.adapter.smarter.AtomSetCollection.globalBooleans[a])},"~N");b(c$,"setGlobalBoolean",function(a){this.setInfo(J.adapter.smarter.AtomSetCollection.globalBooleans[a],Boolean.TRUE)},"~N");b(c$,"getGlobalBoolean",function(a){return this.atomSetInfo.get(J.adapter.smarter.AtomSetCollection.globalBooleans[a])===Boolean.TRUE},"~N");t(c$,function(a,c,d,b){this.fileTypeName=a;this.reader=c;this.allowMultiple=null==c||0>c.desiredVibrationNumber;
a=new java.util.Properties;a.put("PATH_KEY",".PATH");a.put("PATH_SEPARATOR",J.adapter.smarter.SmarterJmolAdapter.PATH_SEPARATOR);this.setInfo("properties",a);if(null!=d){b=0;this.readerList=new JU.Lst;for(a=0;a<d.length;a++)(0<d[a].ac||null!=d[a].reader&&d[a].reader.mustFinalizeModelSet)&&this.appendAtomSetCollection(b++,d[a]);1<b&&this.setInfo("isMultiFile",Boolean.TRUE)}else null!=b&&(this.setInfo("isMultiFile",Boolean.TRUE),this.appendAtomSetCollectionList(b))},"~S,J.adapter.smarter.AtomSetCollectionReader,~A,JU.Lst");
b(c$,"appendAtomSetCollectionList",function(a){var c=a.size();if(0==c)this.errorMessage="No file found!";else for(var d=0;d<c;d++){var b=a.get(d);p(b,JU.Lst)?this.appendAtomSetCollectionList(b):this.appendAtomSetCollection(d,b)}},"JU.Lst");b(c$,"setTrajectory",function(){this.isTrajectory||(this.trajectorySteps=new JU.Lst);this.isTrajectory=!0;var a=null==this.bsAtoms?this.ac:this.bsAtoms.cardinality();if(0!=a){for(var c=Array(a),d=0<a&&null!=this.atoms[0].vib&&!Float.isNaN(this.atoms[0].vib.z),a=
d?Array(a):null,b=0==this.trajectoryStepCount?null:this.trajectorySteps.get(this.trajectoryStepCount-1),f=0,g=0;f<this.ac;f++)if(null==this.bsAtoms||this.bsAtoms.get(f)){var h=JU.P3.newP(this.atoms[f]);this.doFixPeriodic&&null!=b&&(h=J.adapter.smarter.AtomSetCollection.fixPeriodic(h,b[f]));c[g]=h;d&&(a[g]=this.atoms[f].vib);g++}if(d){if(null==this.vibrationSteps){this.vibrationSteps=new JU.Lst;for(f=0;f<this.trajectoryStepCount;f++)this.vibrationSteps.addLast(null)}this.vibrationSteps.addLast(a)}this.trajectorySteps.addLast(c);
this.trajectoryStepCount++}});b(c$,"appendAtomSetCollection",function(a,c){null!=c.reader&&c.reader.mustFinalizeModelSet&&this.readerList.addLast(c.reader);var d=this.ac;this.setInfo("loadState",c.atomSetInfo.get("loadState"));if(null!=c.bsAtoms){null==this.bsAtoms&&(this.bsAtoms=new JU.BS);for(var b=c.bsAtoms.nextSetBit(0);0<=b;b=c.bsAtoms.nextSetBit(b+1))this.bsAtoms.set(d+b)}for(var b=0,f=this.atomSetCount,g=0;g<c.atomSetCount;g++){this.newAtomSet();var h=(this.atomSetAuxiliaryInfo[this.iSet]=
c.atomSetAuxiliaryInfo[g]).get("PDB_CONECT_firstAtom_count_max");null!=h&&(h[0]+=d);this.setCurrentModelInfo("title",c.collectionName);this.setAtomSetName(c.getAtomSetName(g));for(h=0;h<c.atomSetAtomCounts[g];h++){try{null!=this.bsAtoms&&this.bsAtoms.set(this.ac),this.newCloneAtom(c.atoms[b])}catch(k){if(C(k,Exception))this.errorMessage="appendAtomCollection error: "+k;else throw k;}b++}this.atomSetNumbers[this.iSet]=0>a?this.iSet+1:1E6*(a+1)+c.atomSetNumbers[g]}for(b=0;b<c.bondCount;b++)g=c.bonds[b],
this.addNewBondWithOrder(g.atomIndex1+d,g.atomIndex2+d,g.order);for(b=J.adapter.smarter.AtomSetCollection.globalBooleans.length;0<=--b;)c.getGlobalBoolean(b)&&this.setGlobalBoolean(b);for(b=0;b<c.structureCount;b++)d=c.structures[b],this.addStructure(d),d.modelStartEnd[0]+=f,d.modelStartEnd[1]+=f},"~N,J.adapter.smarter.AtomSetCollection");b(c$,"setNoAutoBond",function(){this.setInfo("noAutoBond",Boolean.TRUE)});b(c$,"freeze",function(a){1==this.atomSetCount&&null==this.collectionName&&(this.collectionName=
this.getAtomSetAuxiliaryInfoValue(0,"name"));a&&this.reverseAtomSets();1<this.trajectoryStepCount&&this.finalizeTrajectory();this.getList(!0);this.getList(!1);for(a=0;a<this.atomSetCount;a++)this.setModelInfoForSet("initialAtomCount",Integer.$valueOf(this.atomSetAtomCounts[a]),a),this.setModelInfoForSet("initialBondCount",Integer.$valueOf(this.atomSetBondCounts[a]),a)},"~B");b(c$,"reverseAtomSets",function(){this.reverseArray(this.atomSetAtomIndexes);this.reverseArray(this.atomSetNumbers);this.reverseArray(this.atomSetAtomCounts);
this.reverseArray(this.atomSetBondCounts);J.adapter.smarter.AtomSetCollection.reverseList(this.trajectorySteps);J.adapter.smarter.AtomSetCollection.reverseList(this.trajectoryNames);J.adapter.smarter.AtomSetCollection.reverseList(this.vibrationSteps);this.reverseObject(this.atomSetAuxiliaryInfo);for(var a=0;a<this.ac;a++)this.atoms[a].atomSetIndex=this.atomSetCount-1-this.atoms[a].atomSetIndex;for(a=0;a<this.structureCount;a++){var c=this.structures[a].modelStartEnd[0];0<=c&&(this.structures[a].modelStartEnd[0]=
this.atomSetCount-1-this.structures[a].modelStartEnd[1],this.structures[a].modelStartEnd[1]=this.atomSetCount-1-c)}for(a=0;a<this.bondCount;a++)this.bonds[a].atomSetIndex=this.atomSetCount-1-this.atoms[this.bonds[a].atomIndex1].atomSetIndex;this.reverseSets(this.bonds,this.bondCount);for(var d=JU.AU.createArrayOfArrayList(this.atomSetCount),a=0;a<this.atomSetCount;a++)d[a]=new JU.Lst;for(a=0;a<this.ac;a++)d[this.atoms[a].atomSetIndex].addLast(this.atoms[a]);for(var c=y(this.ac,0),b=this.ac,a=this.atomSetCount;0<=
--a;)for(var f=d[a].size();0<=--f;){var g=this.atoms[--b]=d[a].get(f);c[g.index]=b;g.index=b}for(a=0;a<this.bondCount;a++)this.bonds[a].atomIndex1=c[this.bonds[a].atomIndex1],this.bonds[a].atomIndex2=c[this.bonds[a].atomIndex2];for(a=0;a<this.atomSetCount;a++)d=this.getAtomSetAuxiliaryInfoValue(a,"PDB_CONECT_firstAtom_count_max"),null!=d&&(d[0]=c[d[0]],d[1]=this.atomSetAtomCounts[a])});b(c$,"reverseSets",function(a,c){for(var d=JU.AU.createArrayOfArrayList(this.atomSetCount),b=0;b<this.atomSetCount;b++)d[b]=
new JU.Lst;for(b=0;b<c;b++){if(0>a[b].atomSetIndex)return;d[a[b].atomSetIndex].addLast(a[b])}for(b=this.atomSetCount;0<=--b;)for(var f=d[b].size();0<=--f;)a[--c]=d[b].get(f)},"~A,~N");b(c$,"reverseObject",function(a){for(var c=this.atomSetCount,d=v(c/2);0<=--d;)JU.AU.swap(a,d,c-1-d)},"~A");c$.reverseList=b(c$,"reverseList",function(a){null!=a&&java.util.Collections.reverse(a)},"JU.Lst");b(c$,"reverseArray",function(a){for(var c=this.atomSetCount,d=v(c/2);0<=--d;)JU.AU.swapInt(a,d,c-1-d)},"~A");b(c$,
"getList",function(a){var c;for(c=this.ac;0<=--c&&!(null!=this.atoms[c]&&"\x00"!=(a?this.atoms[c].altLoc:this.atoms[c].insertionCode)););if(!(0>c)){var d=Array(this.atomSetCount);for(c=0;c<this.atomSetCount;c++)d[c]="";var b;for(c=0;c<this.ac;c++)if(null!=this.atoms[c]){var f=a?this.atoms[c].altLoc:this.atoms[c].insertionCode;if("\x00"!=f&&0>d[b=this.atoms[c].atomSetIndex].indexOf(f))d[b]+=f}a=a?"altLocs":"insertionCodes";for(c=0;c<this.atomSetCount;c++)0<d[c].length&&this.setModelInfoForSet(a,d[c],
c)}},"~B");b(c$,"finish",function(){if(null!=this.reader)this.reader.finalizeModelSet();else if(null!=this.readerList)for(var a=0;a<this.readerList.size();a++)this.readerList.get(a).finalizeModelSet();this.atoms=null;this.atomSetAtomCounts=y(16,0);this.atomSetAuxiliaryInfo=Array(16);this.atomSetInfo=new java.util.Hashtable;this.atomSetCount=0;this.atomSetNumbers=y(16,0);this.atomSymbolicMap=new java.util.Hashtable;this.bonds=null;this.iSet=-1;this.xtalSymmetry=this.readerList=null;this.structures=
Array(16);this.structureCount=0;this.vibrationSteps=this.trajectorySteps=null});b(c$,"discardPreviousAtoms",function(){for(var a=this.ac;0<=--a;)this.atoms[a]=null;this.ac=0;this.atomSymbolicMap.clear();this.atomSetCount=0;this.iSet=-1;for(a=this.atomSetAuxiliaryInfo.length;0<=--a;)this.atomSetAtomCounts[a]=0,this.atomSetBondCounts[a]=0,this.atomSetAuxiliaryInfo[a]=null});b(c$,"removeCurrentAtomSet",function(){if(!(0>this.iSet)){var a=this.atomSetAtomIndexes[this.iSet];null!=this.bsAtoms&&this.bsAtoms.clearBits(a,
this.ac);this.ac=a;this.atomSetAtomCounts[this.iSet]=0;this.iSet--;this.atomSetCount--;this.reader.doCheckUnitCell=!1}});b(c$,"getHydrogenAtomCount",function(){for(var a=0,c=0;c<this.ac;c++)(1==this.atoms[c].elementNumber||this.atoms[c].elementSymbol.equals("H"))&&a++;return a});b(c$,"newCloneAtom",function(a){a=a.getClone();this.addAtom(a);return a},"J.adapter.smarter.Atom");b(c$,"cloneFirstAtomSet",function(a){if(!this.allowMultiple)return 0;this.newAtomSet();0==a&&(a=this.atomSetAtomCounts[0]);
for(var c=0;c<a;++c)this.newCloneAtom(this.atoms[c]);return this.ac},"~N");b(c$,"cloneAtomSetWithBonds",function(a){var c=this.atomSetBondCounts[a?this.iSet:0];a=a?this.cloneLastAtomSet():this.cloneFirstAtomSet(0);if(0<a)for(var d=0;d<c;d++){var b=this.bonds[this.bondCount-c];this.addNewBondWithOrder(b.atomIndex1+a,b.atomIndex2+a,b.order)}},"~B");b(c$,"cloneLastAtomSet",function(){return this.cloneLastAtomSetFromPoints(0,null)});b(c$,"cloneLastAtomSetFromPoints",function(a,c){if(!this.allowMultiple)return 0;
var d=0<a?a:this.getLastAtomSetAtomCount(),b=this.getLastAtomSetAtomIndex();this.newAtomSet();for(var f=0;f<d;++f){var g=this.newCloneAtom(this.atoms[b++]);null!=c&&g.setT(c[f])}return d},"~N,~A");b(c$,"getLastAtomSetAtomCount",function(){return this.atomSetAtomCounts[this.iSet]});b(c$,"getLastAtomSetAtomIndex",function(){return this.ac-this.atomSetAtomCounts[this.iSet]});b(c$,"addNewAtom",function(){return this.addAtom(new J.adapter.smarter.Atom)});b(c$,"addAtom",function(a){this.ac==this.atoms.length&&
(this.atoms=2E5<this.ac?JU.AU.ensureLength(this.atoms,this.ac+5E4):JU.AU.doubleLength(this.atoms));0==this.atomSetCount&&this.newAtomSet();a.index=this.ac;this.atoms[this.ac++]=a;a.atomSetIndex=this.iSet;a.atomSite=this.atomSetAtomCounts[this.iSet]++;return a},"J.adapter.smarter.Atom");b(c$,"addAtomWithMappedName",function(a){var c=this.addAtom(a).atomName;null!=c&&this.atomSymbolicMap.put(c,a)},"J.adapter.smarter.Atom");b(c$,"addAtomWithMappedSerialNumber",function(a){var c=this.addAtom(a).atomSerial;
-2147483648!=c&&this.atomSymbolicMap.put(""+c,a)},"J.adapter.smarter.Atom");b(c$,"getAtomFromName",function(a){return this.atomSymbolicMap.get(a)},"~S");b(c$,"getAtomIndex",function(a){a=this.atomSymbolicMap.get(a);return null==a?-1:a.index},"~S");b(c$,"addNewBondWithOrder",function(a,c,d){0<=a&&(a<this.ac&&0<=c&&c<this.ac&&a!=c)&&this.addBond(new J.adapter.smarter.Bond(a,c,d))},"~N,~N,~N");b(c$,"addNewBondFromNames",function(a,c,d){this.addNewBondWithOrderA(this.getAtomFromName(a),this.getAtomFromName(c),
d)},"~S,~S,~N");b(c$,"addNewBondWithOrderA",function(a,c,d){null!=a&&null!=c&&this.addNewBondWithOrder(a.index,c.index,d)},"J.adapter.smarter.Atom,J.adapter.smarter.Atom,~N");b(c$,"addBond",function(a){0<this.trajectoryStepCount||(0>a.atomIndex1||0>a.atomIndex2||0>a.order||a.atomIndex1==a.atomIndex2||this.atoms[a.atomIndex1].atomSetIndex!=this.atoms[a.atomIndex2].atomSetIndex?JU.Logger.debugging&&JU.Logger.debug(">>>>>>BAD BOND:"+a.atomIndex1+"-"+a.atomIndex2+" order="+a.order):(this.bondCount==this.bonds.length&&
(this.bonds=JU.AU.arrayCopyObject(this.bonds,this.bondCount+1024)),this.bonds[this.bondCount++]=a,this.atomSetBondCounts[this.iSet]++))},"J.adapter.smarter.Bond");b(c$,"finalizeStructures",function(){if(0!=this.structureCount){this.bsStructuredModels=new JU.BS;for(var a=new java.util.Hashtable,c=0;c<this.structureCount;c++){var d=this.structures[c];-1==d.modelStartEnd[0]&&(d.modelStartEnd[0]=0,d.modelStartEnd[1]=this.atomSetCount-1);this.bsStructuredModels.setBits(d.modelStartEnd[0],d.modelStartEnd[1]+
1);if(0!=d.strandCount){var d=d.structureID+" "+d.modelStartEnd[0],b=a.get(d),b=(null==b?0:b.intValue())+1;a.put(d,Integer.$valueOf(b))}}for(c=0;c<this.structureCount;c++)d=this.structures[c],1==d.strandCount&&(d.strandCount=a.get(d.structureID+" "+d.modelStartEnd[0]).intValue())}});b(c$,"addStructure",function(a){this.structureCount==this.structures.length&&(this.structures=JU.AU.arrayCopyObject(this.structures,this.structureCount+32));this.structures[this.structureCount++]=a},"J.adapter.smarter.Structure");
b(c$,"addVibrationVectorWithSymmetry",function(a,c,d,b,f){if(f){f=this.atoms[a].atomSite;for(var g=this.atoms[a].atomSetIndex;a<this.ac&&this.atoms[a].atomSetIndex==g;a++)this.atoms[a].atomSite==f&&this.addVibrationVector(a,c,d,b)}else this.addVibrationVector(a,c,d,b)},"~N,~N,~N,~N,~B");b(c$,"addVibrationVector",function(a,c,d,b){this.allowMultiple||(a%=this.ac);return this.atoms[a].vib=JU.V3.new3(c,d,b)},"~N,~N,~N,~N");b(c$,"setCoordinatesAreFractional",function(a){this.coordinatesAreFractional=
a;this.setCurrentModelInfo("coordinatesAreFractional",Boolean.$valueOf(a));a&&this.setGlobalBoolean(0)},"~B");b(c$,"setAnisoBorU",function(a,c,d){this.haveAnisou=!0;a.anisoBorU=c;c[6]=d},"J.adapter.smarter.Atom,~A,~N");b(c$,"setU",function(a,c,d){var b=a.anisoBorU;null==b&&this.setAnisoBorU(a,b=G(8,0),8);b[c]=d},"J.adapter.smarter.Atom,~N,~N");b(c$,"getXSymmetry",function(){null==this.xtalSymmetry&&(this.xtalSymmetry=J.api.Interface.getOption("adapter.smarter.XtalSymmetry",this.reader.vwr,"file").set(this.reader));
return this.xtalSymmetry});b(c$,"getSymmetry",function(){return this.getXSymmetry().getSymmetry()});b(c$,"setSymmetry",function(a){return null==a?null:this.getXSymmetry().setSymmetry(a)},"J.api.SymmetryInterface");b(c$,"setTensors",function(){this.haveAnisou&&this.getXSymmetry().setTensors()});b(c$,"setInfo",function(a,c){null==c?this.atomSetInfo.remove(a):this.atomSetInfo.put(a,c)},"~S,~O");b(c$,"setAtomSetCollectionPartialCharges",function(a){if(!this.atomSetInfo.containsKey(a))return!1;for(var c=
this.atomSetInfo.get(a),d=c.size();0<=--d;)this.atoms[d].partialCharge=c.get(d).floatValue();JU.Logger.info("Setting partial charges type "+a);return!0},"~S");b(c$,"mapPartialCharge",function(a,c){this.getAtomFromName(a).partialCharge=c},"~S,~N");c$.fixPeriodic=b(c$,"fixPeriodic",function(a,c){a.x=J.adapter.smarter.AtomSetCollection.fixPoint(a.x,c.x);a.y=J.adapter.smarter.AtomSetCollection.fixPoint(a.y,c.y);a.z=J.adapter.smarter.AtomSetCollection.fixPoint(a.z,c.z);return a},"JU.P3,JU.P3");c$.fixPoint=
b(c$,"fixPoint",function(a,c){for(;0.9<a-c;)a-=1;for(;-0.9>a-c;)a+=1;return a},"~N,~N");b(c$,"finalizeTrajectoryAs",function(a,c){this.trajectorySteps=a;this.vibrationSteps=c;this.trajectoryStepCount=a.size();this.finalizeTrajectory()},"JU.Lst,JU.Lst");b(c$,"finalizeTrajectory",function(){if(0!=this.trajectoryStepCount){var a=this.trajectorySteps.get(0),c=null==this.vibrationSteps?null:this.vibrationSteps.get(0),d=null==this.bsAtoms?this.ac:this.bsAtoms.cardinality();if(null!=this.vibrationSteps&&
null!=c&&c.length<d||a.length<d)this.errorMessage="File cannot be loaded as a trajectory";else{for(var d=new JU.V3,b=0,f=0;b<this.ac;b++)if(null==this.bsAtoms||this.bsAtoms.get(b))null!=this.vibrationSteps&&(this.atoms[b].vib=null==c?d:c[f]),null!=a[f]&&this.atoms[b].setT(a[f]),f++;this.setInfo("trajectorySteps",this.trajectorySteps);null!=this.vibrationSteps&&this.setInfo("vibrationSteps",this.vibrationSteps)}}});b(c$,"newAtomSet",function(){this.newAtomSetClear(!0)});b(c$,"newAtomSetClear",function(a){!this.allowMultiple&&
0<=this.iSet&&this.reader.discardPreviousAtoms();this.bondIndex0=this.bondCount;this.isTrajectory&&this.reader.discardPreviousAtoms();this.iSet=this.atomSetCount++;this.atomSetCount>this.atomSetNumbers.length&&(this.atomSetAtomIndexes=JU.AU.doubleLengthI(this.atomSetAtomIndexes),this.atomSetAtomCounts=JU.AU.doubleLengthI(this.atomSetAtomCounts),this.atomSetBondCounts=JU.AU.doubleLengthI(this.atomSetBondCounts),this.atomSetAuxiliaryInfo=JU.AU.doubleLength(this.atomSetAuxiliaryInfo));this.atomSetAtomIndexes[this.iSet]=
this.ac;this.atomSetCount+this.trajectoryStepCount>this.atomSetNumbers.length&&(this.atomSetNumbers=JU.AU.doubleLengthI(this.atomSetNumbers));this.isTrajectory?this.atomSetNumbers[this.iSet+this.trajectoryStepCount]=this.atomSetCount+this.trajectoryStepCount:this.atomSetNumbers[this.iSet]=this.atomSetCount;a&&this.atomSymbolicMap.clear();this.setCurrentModelInfo("title",this.collectionName)},"~B");b(c$,"getAtomSetAtomIndex",function(a){return this.atomSetAtomIndexes[a]},"~N");b(c$,"getAtomSetAtomCount",
function(a){return this.atomSetAtomCounts[a]},"~N");b(c$,"getAtomSetBondCount",function(a){return this.atomSetBondCounts[a]},"~N");b(c$,"setAtomSetName",function(a){this.isTrajectory?this.setTrajectoryName(a):(this.setModelInfoForSet("name",a,this.iSet),this.allowMultiple||this.setCollectionName(a))},"~S");b(c$,"setTrajectoryName",function(a){if(0!=this.trajectoryStepCount){null==this.trajectoryNames&&(this.trajectoryNames=new JU.Lst);for(var c=this.trajectoryNames.size();c<this.trajectoryStepCount;c++)this.trajectoryNames.addLast(null);
this.trajectoryNames.set(this.trajectoryStepCount-1,a)}},"~S");b(c$,"setCurrentAtomSetNumber",function(a){this.setAtomSetNumber(this.iSet+(this.isTrajectory?this.trajectoryStepCount:0),a)},"~N");b(c$,"setAtomSetNumber",function(a,c){this.atomSetNumbers[a]=c},"~N,~N");b(c$,"setAtomSetModelProperty",function(a,c){this.setAtomSetModelPropertyForSet(a,c,this.iSet)},"~S,~S");b(c$,"setAtomSetModelPropertyForSet",function(a,c,d){var b=this.getAtomSetAuxiliaryInfoValue(d,"modelProperties");null==b&&this.setModelInfoForSet("modelProperties",
b=new java.util.Properties,d);b.put(a,c);a.startsWith(".")&&b.put(a.substring(1),c)},"~S,~S,~N");b(c$,"setAtomProperties",function(a,c,d){p(c,String)&&!c.endsWith("\n")&&(c+="\n");0>d&&(d=this.iSet);var b=this.getAtomSetAuxiliaryInfoValue(d,"atomProperties");null==b&&this.setModelInfoForSet("atomProperties",b=new java.util.Hashtable,d);b.put(a,c)},"~S,~O,~N,~B");b(c$,"setAtomSetPartialCharges",function(a){if(!this.atomSetAuxiliaryInfo[this.iSet].containsKey(a))return!1;a=this.getAtomSetAuxiliaryInfoValue(this.iSet,
a);for(var c=a.size();0<=--c;)this.atoms[c].partialCharge=a.get(c).floatValue();return!0},"~S");b(c$,"getAtomSetAuxiliaryInfoValue",function(a,c){return this.atomSetAuxiliaryInfo[0<=a?a:this.iSet].get(c)},"~N,~S");b(c$,"setCurrentModelInfo",function(a,c){this.setModelInfoForSet(a,c,this.iSet)},"~S,~O");b(c$,"setModelInfoForSet",function(a,c,d){0>d||(null==this.atomSetAuxiliaryInfo[d]&&(this.atomSetAuxiliaryInfo[d]=new java.util.Hashtable),null==c?this.atomSetAuxiliaryInfo[d].remove(a):this.atomSetAuxiliaryInfo[d].put(a,
c))},"~S,~O,~N");b(c$,"getAtomSetNumber",function(a){return this.atomSetNumbers[a>=this.atomSetCount?0:a]},"~N");b(c$,"getAtomSetName",function(a){if(null!=this.trajectoryNames&&a<this.trajectoryNames.size())return this.trajectoryNames.get(a);a>=this.atomSetCount&&(a=this.atomSetCount-1);return this.getAtomSetAuxiliaryInfoValue(a,"name")},"~N");b(c$,"getAtomSetAuxiliaryInfo",function(a){a=a>=this.atomSetCount?this.atomSetCount-1:a;return 0>a?null:this.atomSetAuxiliaryInfo[a]},"~N");b(c$,"setAtomSetEnergy",
function(a,c){0>this.iSet||(JU.Logger.info("Energy for model "+(this.iSet+1)+" = "+a),this.setCurrentModelInfo("EnergyString",a),this.setCurrentModelInfo("Energy",Float.$valueOf(c)),this.setAtomSetModelProperty("Energy",""+c))},"~S,~N");b(c$,"setAtomSetFrequency",function(a,c,d,b){this.setAtomSetModelProperty("FreqValue",d);d+=" "+(null==b?"cm^-1":b);b=(null==c?"":c+" ")+d;this.setAtomSetName(b);this.setAtomSetModelProperty("Frequency",d);null!=c&&this.setAtomSetModelProperty("FrequencyLabel",c);
this.setAtomSetModelProperty(".PATH",(null==a?"":a+J.adapter.smarter.SmarterJmolAdapter.PATH_SEPARATOR+"Frequencies")+"Frequencies");return b},"~S,~S,~S,~S");b(c$,"getBondList",function(){for(var a=Array(this.bondCount),c=0;c<this.bondCount;c++)a[c]=x(-1,[this.atoms[this.bonds[c].atomIndex1].atomName,this.atoms[this.bonds[c].atomIndex2].atomName,""+this.bonds[c].order]);return a});b(c$,"centralize",function(){for(var a=new JU.P3,c=0;c<this.atomSetCount;c++){var d=this.atomSetAtomCounts[c],b=this.atomSetAtomIndexes[c];
a.set(0,0,0);for(var f=b+d;--f>=b;)a.add(this.atoms[f]);a.scale(1/d);for(f=b+d;--f>=b;)this.atoms[f].sub(a)}});b(c$,"mergeTrajectories",function(a){if(this.isTrajectory&&a.isTrajectory&&null==this.vibrationSteps){for(var c=0;c<a.trajectoryStepCount;c++)this.trajectorySteps.add(this.trajectoryStepCount++,a.trajectorySteps.get(c));this.setInfo("trajectorySteps",this.trajectorySteps)}},"J.adapter.smarter.AtomSetCollection");D(c$,"globalBooleans",x(-1,"someModelsHaveFractionalCoordinates someModelsHaveSymmetry someModelsHaveUnitcells someModelsHaveCONECT isPDB someModelsHaveDomains someModelsHaveValidations".split(" ")),
"GLOBAL_FRACTCOORD",0,"GLOBAL_SYMMETRY",1,"GLOBAL_UNITCELLS",2,"GLOBAL_CONECT",3,"GLOBAL_ISPDB",4,"GLOBAL_DOMAINS",5,"GLOBAL_VALIDATIONS",6)});l("J.adapter.smarter");u(["javajs.api.GenericLineReader","JU.SB"],"J.adapter.smarter.AtomSetCollectionReader","java.io.BufferedReader java.lang.Boolean $.Float $.NullPointerException javajs.api.GenericBinaryDocument JU.BS $.Lst $.M3 $.P3 $.PT $.Quat $.V3 J.adapter.smarter.Atom $.AtomSetCollection J.api.Interface $.JmolAdapter JU.BSUtil $.Logger".split(" "),
function(){c$=r(function(){this.debugging=this.isBinary=!1;this.dssr=this.validation=this.domains=this.trajectorySteps=this.htParams=this.readerName=this.binaryDoc=this.reader=this.asc=null;this.isConcatenated=!1;this.addedDataKey=this.addedData=null;this.fixJavaFloat=!0;this.next=this.prevline=this.line=null;this.ptLine=0;this.fillRange=this.latticeCells=null;this.iHaveSymmetryOperators=this.iHaveUnitCell=this.doProcessLines=!1;this.continuing=!0;this.vwr=null;this.isSequential=this.getHeader=this.doCheckUnitCell=
this.applySymmetryToBonds=this.isTrajectory=this.ignoreFileSymmetryOperators=this.doApplySymmetry=!1;this.vibrationNumber=this.modelNumber=this.templateAtomCount=0;this.desiredVibrationNumber=-2147483648;this.bsModels=null;this.havePartialChargeFilter=this.useFileModelNumbers=!1;this.calculationType="?";this.sgName=null;this.ignoreFileSpaceGroupName=this.ignoreFileUnitCell=!1;this.unitCellParams=null;this.desiredModelNumber=-2147483648;this.out=this.symmetry=null;this.doPackUnitCell=this.iHaveFractionalCoordinates=
!1;this.ptSupercell=null;this.forcePacked=this.mustFinalizeModelSet=!1;this.packingError=0.02;this.loadNote=null;this.merging=this.fileCoordinatesAreFractional=this.doConvertToFractional=!1;this.symmetryRange=0;this.firstLastStep=null;this.lastModelNumber=2147483647;this.desiredSpaceGroupIndex=-1;this.fileScaling=null;this.latticeScaling=NaN;this.unitCellOffset=this.fileOffsetFractional=this.fileOffset=null;this.unitCellOffsetFractional=!1;this.fileName=this.filePath=this.moreUnitCellInfo=null;this.stateScriptVersionInt=
2147483647;this.baseAtomIndex=0;this.haveModel=this.isFinalized=!1;this.previousUnitCell=this.previousSpaceGroup=null;this.nMatrixElements=0;this.filter=this.bsFilter=this.matUnitCellOrientation=null;this.filterAtomType=this.filterAtomName=this.filterChain=this.filterGroup3=this.filterAltLoc=this.haveAtomFilter=!1;this.filterAtomTypeStr=null;this.filterAtomNameTerminator=";";this.filterEveryNth=this.filterHetero=this.filterElement=!1;this.filterSymop=null;this.nFiltered=this.filterN=0;this.reverseModels=
this.doReadMolecularOrbitals=this.allowPDBFilter=this.useAltNames=this.addVibrations=this.doCentralize=this.doSetOrientation=!1;this.nameRequired=null;this.centroidPacked=this.doCentroidUnitCell=!1;this.ms=this.matRot=this.filter2=this.filter1=this.strSupercell=null;this.vibsFractional=!1;this.siteScript=this.previousScript=null;q(this,arguments)},J.adapter.smarter,"AtomSetCollectionReader",null,javajs.api.GenericLineReader);M(c$,function(){this.next=y(1,0);this.loadNote=new JU.SB});b(c$,"setup",
function(a,c,d){this.setupASCR(a,c,d)},"~S,java.util.Map,~O");b(c$,"setupASCR",function(a,c,d){null!=a&&(this.debugging=JU.Logger.debugging,this.htParams=c,this.filePath=a.$replace("\\","/"),a=this.filePath.lastIndexOf("/"),this.fileName=this.filePath.substring(a+1),p(d,java.io.BufferedReader)?this.reader=d:p(d,javajs.api.GenericBinaryDocument)&&(this.binaryDoc=d))},"~S,java.util.Map,~O");b(c$,"readData",function(){this.initialize();this.asc=new J.adapter.smarter.AtomSetCollection(this.readerName,
this,null,null);try{this.initializeReader();if(null==this.binaryDoc)for(null==this.line&&this.continuing&&this.rd();null!=this.line&&this.continuing;)this.checkLine()&&this.rd();else this.binaryDoc.setOutputChannel(this.out),this.processBinaryDocument();this.finalizeSubclassReader();this.isFinalized||this.finalizeReaderASCR()}catch(a){JU.Logger.info("Reader error: "+a),this.vwr.isJS||a.printStackTrace(),this.setError(a)}null!=this.reader&&this.reader.close();null!=this.binaryDoc&&this.binaryDoc.close();
return this.finish()});b(c$,"fixBaseIndices",function(){try{var a=this.htParams.get("baseModelIndex").intValue();this.baseAtomIndex+=this.asc.ac;a+=this.asc.atomSetCount;this.htParams.put("baseAtomIndex",Integer.$valueOf(this.baseAtomIndex));this.htParams.put("baseModelIndex",Integer.$valueOf(a))}catch(c){if(!C(c,Exception))throw c;}});b(c$,"readDataObject",function(a){this.initialize();this.asc=new J.adapter.smarter.AtomSetCollection(this.readerName,this,null,null);this.initializeReader();this.processDOM(a);
return this.finish()},"~O");b(c$,"processDOM",function(){},"~O");b(c$,"processBinaryDocument",function(){});b(c$,"initializeReader",function(){});b(c$,"checkLine",function(){return!0});b(c$,"checkLastModel",function(){if(this.isLastModel(this.modelNumber)&&this.doProcessLines)return this.continuing=this.doProcessLines=!1;this.doProcessLines=!1;return!0});b(c$,"isLastModel",function(a){return 0<this.desiredModelNumber||a>=this.lastModelNumber},"~N");b(c$,"appendLoadNote",function(a){null==a?this.loadNote=
new JU.SB:(this.loadNote.append(a).append("\n"),JU.Logger.info(a))},"~S");b(c$,"initializeTrajectoryFile",function(){this.asc.addAtom(new J.adapter.smarter.Atom);this.trajectorySteps=this.htParams.get("trajectorySteps");null==this.trajectorySteps&&this.htParams.put("trajectorySteps",this.trajectorySteps=new JU.Lst)});b(c$,"finalizeSubclassReader",function(){});b(c$,"finalizeReaderASCR",function(){this.isFinalized=!0;if(0<this.asc.atomSetCount){1==this.asc.atomSetCount&&this.asc.setCurrentModelInfo("dbName",
this.htParams.get("dbName"));this.applySymmetryAndSetTrajectory();this.asc.finalizeStructures();this.doCentralize&&this.asc.centralize();null!=this.fillRange&&this.asc.setInfo("boundbox",this.fillRange);var a=this.asc.getAtomSetAuxiliaryInfo(0);if(null!=a){if(null!=this.domains){this.asc.setGlobalBoolean(5);var c=this.domains.getMapKeys(2,!0),d=c.indexOf("{ ",2);0<=d&&(c=c.substring(d+2));d=c.indexOf("_metadata");0>d&&(d=c.indexOf("metadata"));0<=d&&(c=c.substring(0,d));c=JU.PT.rep(JU.PT.replaceAllCharacters(c,
"{}","").trim(),"\n","\n  ")+"\n\nUse SHOW DOMAINS for details.";this.appendLoadNote("\nDomains loaded:\n   "+c);for(c=this.asc.atomSetCount;0<=--c;)a=this.asc.getAtomSetAuxiliaryInfo(c),a.put("domains",this.domains)}if(null!=this.validation)for(c=this.asc.atomSetCount;0<=--c;)a=this.asc.getAtomSetAuxiliaryInfo(c),a.put("validation",this.validation);if(null!=this.dssr){a.put("dssrJSON",Boolean.TRUE);for(c=this.asc.atomSetCount;0<=--c;)a=this.asc.getAtomSetAuxiliaryInfo(c),a.put("dssr",this.dssr)}}}this.fixJavaFloat||
this.asc.setInfo("legacyJavaFloat",Boolean.TRUE);this.setLoadNote()});b(c$,"setLoadNote",function(){var a=this.loadNote.toString();0<this.loadNote.length()&&this.asc.setInfo("modelLoadNote",a);return a});b(c$,"setIsPDB",function(){this.asc.setGlobalBoolean(4);null!=this.htParams.get("pdbNoHydrogens")&&this.asc.setInfo("pdbNoHydrogens",this.htParams.get("pdbNoHydrogens"));this.checkFilterKey("ADDHYDROGENS")&&this.asc.setInfo("pdbAddHydrogens",Boolean.TRUE)});b(c$,"setModelPDB",function(a){a?this.asc.setGlobalBoolean(4):
this.asc.clearGlobalBoolean(4);this.asc.setCurrentModelInfo("isPDB",a?Boolean.TRUE:null)},"~B");b(c$,"finish",function(){var a=this.htParams.get("loadState");this.asc.setInfo("loadState",null==a?"":a);a=this.htParams.get("smilesString");null!=a&&this.asc.setInfo("smilesString",a);this.htParams.containsKey("templateAtomCount")||this.htParams.put("templateAtomCount",Integer.$valueOf(this.asc.ac));this.htParams.containsKey("bsFilter")&&this.htParams.put("filteredAtomCount",Integer.$valueOf(JU.BSUtil.cardinalityOf(this.htParams.get("bsFilter"))));
this.calculationType.equals("?")||this.asc.setInfo("calculationType",this.calculationType);var c=a=this.asc.fileTypeName;0<=c.indexOf("(")&&(c=c.substring(0,c.indexOf("(")));for(var d=this.asc.atomSetCount;0<=--d;)this.asc.setModelInfoForSet("fileName",this.filePath,d),this.asc.setModelInfoForSet("fileType",c,d);this.asc.freeze(this.reverseModels);if(null!=this.asc.errorMessage)return this.asc.errorMessage+"\nfor file "+this.filePath+"\ntype "+a;if((null==this.asc.bsAtoms?0==this.asc.ac:0>this.asc.bsAtoms.nextSetBit(0))&&
0>c.indexOf("DataOnly")&&null==this.asc.atomSetInfo.get("dataOnly"))return"No atoms found\nfor file "+this.filePath+"\ntype "+a;this.fixBaseIndices();return this.asc});b(c$,"setError",function(a){var c;c=a.getMessage?a.getMessage():a.toString();this.asc.errorMessage=null==this.line?"Error reading file at end of file \n"+c:"Error reading file at line "+this.ptLine+":\n"+this.line+"\n"+c;this.vwr.isJS||a.printStackTrace()},"Throwable");b(c$,"initialize",function(){this.htParams.containsKey("baseAtomIndex")&&
(this.baseAtomIndex=this.htParams.get("baseAtomIndex").intValue());this.initializeSymmetry();this.vwr=this.htParams.remove("vwr");this.htParams.containsKey("stateScriptVersionInt")&&(this.stateScriptVersionInt=this.htParams.get("stateScriptVersionInt").intValue());var a=this.htParams.get("packingError");null!=a?this.packingError=a.floatValue():null!=this.htParams.get("legacyJavaFloat")&&(this.fixJavaFloat=!1);this.merging=this.htParams.containsKey("merging");this.getHeader=this.htParams.containsKey("getHeader");
this.isSequential=this.htParams.containsKey("isSequential");this.readerName=this.htParams.get("readerName");this.htParams.containsKey("outputChannel")&&(this.out=this.htParams.get("outputChannel"));this.htParams.containsKey("vibrationNumber")?this.desiredVibrationNumber=this.htParams.get("vibrationNumber").intValue():this.htParams.containsKey("modelNumber")&&(this.desiredModelNumber=this.htParams.get("modelNumber").intValue());this.applySymmetryToBonds=this.htParams.containsKey("applySymmetryToBonds");
this.bsFilter=this.htParams.get("bsFilter");this.setFilter(null);this.fillRange=this.htParams.get("fillRange");null!=this.strSupercell&&!this.checkFilterKey("NOPACK")&&(this.forcePacked=!0);a=this.htParams.get("supercell");p(a,String)?this.strSupercell=a:this.ptSupercell=a;a=this.htParams.containsKey("ptFile")?this.htParams.get("ptFile").intValue():-1;this.isTrajectory=this.htParams.containsKey("isTrajectory");0<a&&this.htParams.containsKey("firstLastSteps")?(a=this.htParams.get("firstLastSteps").get(a-
1),p(a,JU.BS)?this.bsModels=a:this.firstLastStep=a):this.htParams.containsKey("firstLastStep")?this.firstLastStep=this.htParams.get("firstLastStep"):this.htParams.containsKey("bsModels")&&(this.bsModels=this.htParams.get("bsModels"));this.useFileModelNumbers=this.htParams.containsKey("useFileModelNumbers");this.htParams.containsKey("templateAtomCount")&&(this.templateAtomCount=this.htParams.get("templateAtomCount").intValue());if(null!=this.bsModels||null!=this.firstLastStep)this.desiredModelNumber=
-2147483648;if(null==this.bsModels&&null!=this.firstLastStep){0>this.firstLastStep[0]&&(this.firstLastStep[0]=0);if(0==this.firstLastStep[2]||this.firstLastStep[1]<this.firstLastStep[0])this.firstLastStep[1]=-1;1>this.firstLastStep[2]&&(this.firstLastStep[2]=1);this.bsModels=JU.BSUtil.newAndSetBit(this.firstLastStep[0]);if(this.firstLastStep[1]>this.firstLastStep[0])for(a=this.firstLastStep[0];a<=this.firstLastStep[1];a+=this.firstLastStep[2])this.bsModels.set(a)}if(null!=this.bsModels&&(null==this.firstLastStep||
-1!=this.firstLastStep[1]))this.lastModelNumber=this.bsModels.length();this.symmetryRange=this.htParams.containsKey("symmetryRange")?this.htParams.get("symmetryRange").floatValue():0;this.initializeSymmetryOptions();this.htParams.containsKey("spaceGroupIndex")&&(this.desiredSpaceGroupIndex=this.htParams.get("spaceGroupIndex").intValue(),-2==this.desiredSpaceGroupIndex&&(this.sgName=this.htParams.get("spaceGroupName")),this.ignoreFileSpaceGroupName=-2==this.desiredSpaceGroupIndex||0<=this.desiredSpaceGroupIndex,
this.ignoreFileSymmetryOperators=-1!=this.desiredSpaceGroupIndex);this.htParams.containsKey("unitCellOffset")&&(this.fileScaling=JU.P3.new3(1,1,1),this.fileOffset=this.htParams.get("unitCellOffset"),this.fileOffsetFractional=JU.P3.newP(this.fileOffset),this.unitCellOffsetFractional=this.htParams.containsKey("unitCellOffsetFractional"));this.htParams.containsKey("unitcell")&&(a=this.htParams.get("unitcell"),this.merging&&this.setFractionalCoordinates(!0),9==a.length?(this.addPrimitiveLatticeVector(0,
a,0),this.addPrimitiveLatticeVector(1,a,3),this.addPrimitiveLatticeVector(2,a,6)):this.setUnitCell(a[0],a[1],a[2],a[3],a[4],a[5]),this.ignoreFileUnitCell=this.iHaveUnitCell,this.merging&&!this.iHaveUnitCell&&this.setFractionalCoordinates(!1));this.domains=this.htParams.get("domains");this.validation=this.htParams.get("validation");this.dssr=this.htParams.get("dssr");this.isConcatenated=this.htParams.containsKey("concatenate")});b(c$,"initializeSymmetryOptions",function(){this.latticeCells=y(3,0);
this.doApplySymmetry=!1;var a=this.htParams.get("lattice");if(null==a||0==a.length()){if(!this.forcePacked&&null==this.strSupercell)return;a=JU.P3.new3(1,1,1)}this.latticeCells[0]=A(a.x);this.latticeCells[1]=A(a.y);this.latticeCells[2]=A(a.z);if((this.doCentroidUnitCell=this.htParams.containsKey("centroid"))&&(-1==this.latticeCells[2]||0==this.latticeCells[2]))this.latticeCells[2]=1;a=this.forcePacked||this.htParams.containsKey("packed");this.centroidPacked=this.doCentroidUnitCell&&a;this.doPackUnitCell=
!this.doCentroidUnitCell&&(a||0>this.latticeCells[2]);this.doApplySymmetry=0<this.latticeCells[0]&&0<this.latticeCells[1];this.doApplySymmetry||(this.latticeCells=y(3,0))});b(c$,"doGetModel",function(a,c){if(null!=c&&null!=this.nameRequired&&0<this.nameRequired.length&&0>c.toUpperCase().indexOf(this.nameRequired))return!1;var d=null==this.bsModels?1>this.desiredModelNumber||a==this.desiredModelNumber:a>this.lastModelNumber?!1:0<a&&this.bsModels.get(a-1)||this.haveModel&&null!=this.firstLastStep&&
0>this.firstLastStep[1]&&(2>this.firstLastStep[2]||0==(a-1-this.firstLastStep[0])%this.firstLastStep[2]);d&&0==this.desiredModelNumber&&this.discardPreviousAtoms();this.haveModel=(new Boolean(this.haveModel|d)).valueOf();d&&(this.doProcessLines=!0);return d},"~N,~S");b(c$,"discardPreviousAtoms",function(){this.asc.discardPreviousAtoms()});b(c$,"initializeSymmetry",function(){this.previousSpaceGroup=this.sgName;this.previousUnitCell=this.unitCellParams;this.iHaveUnitCell=this.ignoreFileUnitCell;if(!this.ignoreFileUnitCell){this.unitCellParams=
G(26,0);for(var a=25;0<=--a;)this.unitCellParams[a]=NaN;this.unitCellParams[25]=this.latticeScaling;this.symmetry=null}this.ignoreFileSpaceGroupName||(this.sgName="unspecified!");this.doCheckUnitCell=!1});b(c$,"newAtomSet",function(a){0<=this.asc.iSet?(this.asc.newAtomSet(),this.asc.setCollectionName("<collection of "+(this.asc.iSet+1)+" models>")):this.asc.setCollectionName(a);this.asc.setModelInfoForSet("name",a,Math.max(0,this.asc.iSet))},"~S");b(c$,"cloneLastAtomSet",function(a,c){var d=this.asc.getLastAtomSetAtomCount();
this.asc.cloneLastAtomSetFromPoints(a,c);this.asc.haveUnitCell&&(this.doCheckUnitCell=this.iHaveUnitCell=!0,this.sgName=this.previousSpaceGroup,this.unitCellParams=this.previousUnitCell);return d},"~N,~A");b(c$,"setSpaceGroupName",function(a){this.ignoreFileSpaceGroupName||(a=a.trim(),a.equals(this.sgName)||(a.equals("P1")||JU.Logger.info("Setting space group name to "+a),this.sgName=a))},"~S");b(c$,"setSymmetryOperator",function(a){if(this.ignoreFileSymmetryOperators)return-1;var c=this.asc.getXSymmetry().addSpaceGroupOperation(a,
!0);0>c&&JU.Logger.warn("Skippings symmetry operation "+a);this.iHaveSymmetryOperators=!0;return c},"~S");b(c$,"initializeCartesianToFractional",function(){for(var a=0;16>a;a++)if(!Float.isNaN(this.unitCellParams[6+a]))return;for(a=0;16>a;a++)this.unitCellParams[6+a]=0==a%5?1:0;this.nMatrixElements=0});b(c$,"clearUnitCell",function(){if(!this.ignoreFileUnitCell){for(var a=6;22>a;a++)this.unitCellParams[a]=NaN;this.checkUnitCell(6)}});b(c$,"setUnitCellItem",function(a,c){if(!this.ignoreFileUnitCell&&
!(0==a&&1==c||3==a&&0==c))!Float.isNaN(c)&&(6<=a&&Float.isNaN(this.unitCellParams[6]))&&this.initializeCartesianToFractional(),this.unitCellParams[a]=c,this.debugging&&JU.Logger.debug("setunitcellitem "+a+" "+c),6>a||Float.isNaN(c)?this.iHaveUnitCell=this.checkUnitCell(6):12==++this.nMatrixElements&&(this.iHaveUnitCell=this.checkUnitCell(22))},"~N,~N");b(c$,"setUnitCell",function(a,c,d,b,f,g){this.ignoreFileUnitCell||(this.clearUnitCell(),this.unitCellParams[0]=a,this.unitCellParams[1]=c,this.unitCellParams[2]=
d,0!=b&&(this.unitCellParams[3]=b),0!=f&&(this.unitCellParams[4]=f),0!=g&&(this.unitCellParams[5]=g),this.iHaveUnitCell=this.checkUnitCell(6))},"~N,~N,~N,~N,~N,~N");b(c$,"addPrimitiveLatticeVector",function(a,c,d){if(!this.ignoreFileUnitCell){if(0==a)for(var b=0;6>b;b++)this.unitCellParams[b]=0;a=6+3*a;this.unitCellParams[a++]=c[d++];this.unitCellParams[a++]=c[d++];this.unitCellParams[a]=c[d];if(Float.isNaN(this.unitCellParams[0]))for(a=0;6>a;a++)this.unitCellParams[a]=-1;this.iHaveUnitCell=this.checkUnitCell(15)}},
"~N,~A,~N");b(c$,"checkUnitCell",function(a){for(var c=0;c<a;c++)if(Float.isNaN(this.unitCellParams[c]))return!1;if(22==a&&1==this.unitCellParams[0]&&1==this.unitCellParams[1]&&1==this.unitCellParams[2]&&1==this.unitCellParams[6]&&1==this.unitCellParams[11]&&1==this.unitCellParams[16])return!1;this.doApplySymmetry&&(this.getSymmetry(),this.doConvertToFractional=!this.fileCoordinatesAreFractional);return!0},"~N");b(c$,"getSymmetry",function(){if(!this.iHaveUnitCell)return null;null==this.symmetry&&
(this.getNewSymmetry().setUnitCell(this.unitCellParams,!1),this.checkUnitCellOffset());return this.symmetry});b(c$,"checkUnitCellOffset",function(){null==this.fileOffsetFractional||null==this.symmetry||(this.fileOffset.setT(this.fileOffsetFractional),this.unitCellOffsetFractional!=this.fileCoordinatesAreFractional&&(this.unitCellOffsetFractional?this.symmetry.toCartesian(this.fileOffset,!1):this.symmetry.toFractional(this.fileOffset,!1)))});b(c$,"getNewSymmetry",function(){return this.symmetry=this.getInterface("JS.Symmetry")});
b(c$,"setFractionalCoordinates",function(a){this.iHaveFractionalCoordinates=this.fileCoordinatesAreFractional=a;this.checkUnitCellOffset()},"~B");b(c$,"setFilterAtomTypeStr",function(a){this.filterAtomTypeStr=a;this.filterAtomNameTerminator="\x00"},"~S");b(c$,"setFilter",function(a){null==a?a=this.htParams.get("filter"):this.bsFilter=null;null!=a&&(a=a.toUpperCase());this.filter=a;this.doSetOrientation=!this.checkFilterKey("NOORIENT");this.doCentralize=!this.checkFilterKey("NOCENTER")&&this.checkFilterKey("CENTER");
this.addVibrations=!this.checkFilterKey("NOVIB");this.doReadMolecularOrbitals=!this.checkFilterKey("NOMO");this.useAltNames=this.checkFilterKey("ALTNAME");this.reverseModels=this.checkFilterKey("REVERSEMODELS");if(null!=this.filter&&(this.checkFilterKey("HETATM")&&(this.filterHetero=!0,this.filter=JU.PT.rep(this.filter,"HETATM","HETATM-Y")),this.checkFilterKey("ATOM")&&(this.filterHetero=!0,this.filter=JU.PT.rep(this.filter,"ATOM","HETATM-N")),this.checkFilterKey("CELL=")&&(this.strSupercell=this.filter.substring(this.filter.indexOf("CELL=")+
5).toLowerCase()),this.nameRequired=JU.PT.getQuotedAttribute(this.filter,"NAME"),null!=this.nameRequired&&(this.nameRequired.startsWith("'")?this.nameRequired=JU.PT.split(this.nameRequired,"'")[1]:this.nameRequired.startsWith('"')&&(this.nameRequired=JU.PT.split(this.nameRequired,'"')[1]),this.filter=JU.PT.rep(this.filter,this.nameRequired,""),this.filter=JU.PT.rep(this.filter,"NAME=","")),this.filterAtomName=this.checkFilterKey("*.")||this.checkFilterKey("!."),this.filterElement=this.checkFilterKey("_"),
this.filterGroup3=this.checkFilterKey("["),this.filterChain=this.checkFilterKey(":"),this.filterAltLoc=this.checkFilterKey("%"),(this.filterEveryNth=this.checkFilterKey("/="))?this.filterN=this.parseIntAt(this.filter,this.filter.indexOf("/=")+2):this.filterAtomType=this.checkFilterKey("="),-2147483648==this.filterN&&(this.filterEveryNth=!1),this.haveAtomFilter=this.filterAtomName||this.filterAtomType||this.filterElement||this.filterGroup3||this.filterChain||this.filterAltLoc||this.filterHetero||this.filterEveryNth||
this.checkFilterKey("/="),null==this.bsFilter&&(this.bsFilter=new JU.BS,this.htParams.put("bsFilter",this.bsFilter),this.filter=(";"+this.filter+";").$replace(",",";"),a=this.getFilter("LATTICESCALING="),null!=a&&25<this.unitCellParams.length&&(this.unitCellParams[25]=this.latticeScaling=this.parseFloatStr(a)),a=this.getFilter("SYMOP="),null!=a&&(this.filterSymop=" "+a+" "),JU.Logger.info("filtering with "+this.filter),this.haveAtomFilter&&(this.filter1=this.filter,0<=(a=this.filter.indexOf("|"))))))this.filter1=
this.filter.substring(0,a).trim()+";",this.filter2=";"+this.filter.substring(a).trim()},"~S");b(c$,"getFilter",function(a){var c=null==this.filter?-1:this.filter.indexOf(a);return 0>c?null:this.filter.substring(c+a.length,this.filter.indexOf(";",c))},"~S");b(c$,"checkFilterKey",function(a){return null!=this.filter&&0<=this.filter.indexOf(a)},"~S");b(c$,"filterAtom",function(a,c){if(!this.haveAtomFilter)return!0;var d=this.checkFilter(a,this.filter1);null!=this.filter2&&(d=(new Boolean(d|this.checkFilter(a,
this.filter2))).valueOf());d&&this.filterEveryNth&&(d=0==this.nFiltered++%this.filterN);this.bsFilter.setBitTo(0<=c?c:this.asc.ac,d);return d},"J.adapter.smarter.Atom,~N");b(c$,"checkFilter",function(a,c){return(!this.filterGroup3||null==a.group3||!this.filterReject(c,"[",a.group3.toUpperCase()+"]"))&&(!this.filterAtomName||this.allowAtomName(a.atomName,c))&&(null==this.filterAtomTypeStr||null==a.atomName||0<=a.atomName.toUpperCase().indexOf("\x00"+this.filterAtomTypeStr))&&(!this.filterElement||
null==a.elementSymbol||!this.filterReject(c,"_",a.elementSymbol.toUpperCase()+";"))&&(!this.filterChain||0==a.chainID||!this.filterReject(c,":",""+this.vwr.getChainIDStr(a.chainID)))&&(!this.filterAltLoc||"\x00"==a.altLoc||!this.filterReject(c,"%",""+a.altLoc))&&(!this.filterHetero||!this.allowPDBFilter||!this.filterReject(c,"HETATM",a.isHetero?"-Y":"-N"))},"J.adapter.smarter.Atom,~S");b(c$,"rejectAtomName",function(a){return this.filterAtomName&&!this.allowAtomName(a,this.filter)},"~S");b(c$,"allowAtomName",
function(a,c){return null==a||!this.filterReject(c,".",a.toUpperCase()+this.filterAtomNameTerminator)},"~S,~S");b(c$,"filterReject",function(a,c,d){return 0<=a.indexOf(c)&&0<=a.indexOf("!"+c)==0<=a.indexOf(c+d)},"~S,~S,~S");b(c$,"set2D",function(){this.asc.setInfo("is2D",Boolean.TRUE);this.checkFilterKey("NOMIN")||this.asc.setInfo("doMinimize",Boolean.TRUE)});b(c$,"doGetVibration",function(a){return this.addVibrations&&(0>=this.desiredVibrationNumber||a==this.desiredVibrationNumber)},"~N");b(c$,"setTransform",
function(a,c,d,b,f,g,h,k,e){null==this.matRot&&this.doSetOrientation&&(this.matRot=new JU.M3,a=JU.V3.new3(a,c,d),a.normalize(),this.matRot.setColumnV(0,a),a.set(b,f,g),a.normalize(),this.matRot.setColumnV(1,a),a.set(h,k,e),a.normalize(),this.matRot.setColumnV(2,a),this.asc.setInfo("defaultOrientationMatrix",JU.M3.newM3(this.matRot)),b=JU.Quat.newM(this.matRot),this.asc.setInfo("defaultOrientationQuaternion",b),JU.Logger.info("defaultOrientationMatrix = "+this.matRot))},"~N,~N,~N,~N,~N,~N,~N,~N,~N");
b(c$,"setAtomCoordXYZ",function(a,c,d,b){a.set(c,d,b);this.setAtomCoord(a)},"J.adapter.smarter.Atom,~N,~N,~N");b(c$,"setAtomCoordScaled",function(a,c,d,b){null==a&&(a=this.asc.addNewAtom());this.setAtomCoordXYZ(a,this.parseFloatStr(c[d])*b,this.parseFloatStr(c[d+1])*b,this.parseFloatStr(c[d+2])*b);return a},"J.adapter.smarter.Atom,~A,~N,~N");b(c$,"setAtomCoordTokens",function(a,c,d){this.setAtomCoordXYZ(a,this.parseFloatStr(c[d]),this.parseFloatStr(c[d+1]),this.parseFloatStr(c[d+2]))},"J.adapter.smarter.Atom,~A,~N");
b(c$,"addAtomXYZSymName",function(a,c,d,b){var f=this.asc.addNewAtom();null!=d&&(f.elementSymbol=d);null!=b&&(f.atomName=b);this.setAtomCoordTokens(f,a,c);return f},"~A,~N,~S,~S");b(c$,"setAtomCoord",function(a){null!=this.fileScaling&&(a.x=a.x*this.fileScaling.x+this.fileOffset.x,a.y=a.y*this.fileScaling.y+this.fileOffset.y,a.z=a.z*this.fileScaling.z+this.fileOffset.z);this.doConvertToFractional&&(!this.fileCoordinatesAreFractional&&null!=this.getSymmetry())&&(this.symmetry.haveUnitCell()||this.symmetry.setUnitCell(this.unitCellParams,
!1),this.symmetry.toFractional(a,!1),this.iHaveFractionalCoordinates=!0);this.fixJavaFloat&&this.fileCoordinatesAreFractional&&JU.PT.fixPtFloats(a,1E5);this.doCheckUnitCell=!0},"J.adapter.smarter.Atom");b(c$,"addSites",function(a){this.asc.setCurrentModelInfo("pdbSites",a);var c="",d;for(a=a.entrySet().iterator();a.hasNext()&&((d=a.next())||1);){for(var b=d.getKey(),f=d.getValue(),g,h=b.length;0<=--h;)if(!JU.PT.isLetterOrDigit(g=b.charAt(h))&&"'"!=g)b=b.substring(0,h)+"_"+b.substring(h+1);f=f.get("groups");
0!=f.length&&(this.addSiteScript("@site_"+b+" "+f),this.addSiteScript("site_"+b+' = ["'+JU.PT.rep(f,",",'","')+'"]'),c+=',"site_'+b+'"')}0<c.length&&this.addSiteScript("site_list = ["+c.substring(1)+"]")},"java.util.Map");b(c$,"applySymmetryAndSetTrajectory",function(){this.applySymTrajASCR()});b(c$,"applySymTrajASCR",function(){this.forcePacked&&this.initializeSymmetryOptions();var a=this.iHaveUnitCell&&this.doCheckUnitCell?this.asc.getXSymmetry().applySymmetryFromReader(this.getSymmetry()):null;
null==a&&this.asc.setTensors();this.isTrajectory&&this.asc.setTrajectory();null!=this.moreUnitCellInfo&&(this.asc.setCurrentModelInfo("moreUnitCellInfo",this.moreUnitCellInfo),this.moreUnitCellInfo=null);this.finalizeSubclassSymmetry(null!=a);null!=a&&null!=this.ptSupercell&&this.asc.getXSymmetry().finalizeUnitCell(this.ptSupercell);this.initializeSymmetry();return a});b(c$,"finalizeSubclassSymmetry",function(){},"~B");b(c$,"doPreSymmetry",function(){});b(c$,"finalizeMOData",function(a){this.asc.setCurrentModelInfo("moData",
a);null!=a&&(a=a.get("mos"),null!=a&&JU.Logger.info(a.size()+" molecular orbitals read in model "+this.asc.atomSetCount))},"java.util.Map");c$.getElementSymbol=b(c$,"getElementSymbol",function(a){return J.api.JmolAdapter.getElementSymbol(a)},"~N");b(c$,"fillDataBlockFixed",function(a,c,d,b){if(0==d)this.fillDataBlock(a,b);else{b=a.length;for(var f=0;f<b;f++){this.discardLinesUntilNonBlank();var g=v((this.line.length-c+1)/d);a[f]=Array(g);for(var h=0,k=c;h<g;h++,k+=d)a[f][h]=this.line.substring(k,
Math.min(this.line.length,k+d))}}},"~A,~N,~N,~N");b(c$,"fillDataBlock",function(a,c){for(var d=a.length,b=0;b<d;b++)a[b]=JU.PT.getTokens(this.discardLinesUntilNonBlank()),a[b].length<c&&--b},"~A,~N");b(c$,"fillFloatArray",function(a,c,d){for(var b=[],f=0,g=0;g<d.length;g++){for(;null!=b&&f>=b.length;){null==a&&(a=this.rd());if(0==c)b=JU.PT.getTokens(a);else{b=Array(v(a.length/c));for(f=0;f<b.length;f++)b[f]=a.substring(f*c,(f+1)*c)}a=null;f=0}if(null==b)break;d[g]=this.parseFloatStr(b[f++])}return d},
"~S,~N,~A");b(c$,"fillFrequencyData",function(a,c,d,b,f,g,h,k,e){var n=d!=c;null!=k&&(c=k.length);c=f?c:3*c;var s=b.length,w=Array(c);this.fillDataBlockFixed(w,g,h,e);for(h=g=0;g<c;g++,h++){e=w[g];for(var F=f?null:w[++g],z=f?null:w[++g],l=e.length-(f?3*s:s)-1,p=0,v=0;v<s;v++){++l;var q=e[l];")"==q.charAt(0)&&(q=q.substring(1));var q=this.parseFloatStr(q),t=this.parseFloatStr(f?e[++l]:F[l]),r=this.parseFloatStr(f?e[++l]:z[l]);if(!b[v]){var u=null==k?h:k[h];0>u||(this.debugging&&JU.Logger.debug("atom "+
u+" vib"+p+": "+q+" "+t+" "+r),this.asc.addVibrationVectorWithSymmetry(a+d*p++ +u,q,t,r,n))}}}},"~N,~N,~N,~A,~B,~N,~N,~A,~N");b(c$,"readLines",function(a){for(;0<=--a;)this.rd();return this.line},"~N");b(c$,"discardLinesUntilStartsWith",function(a){for(;null!=this.rd()&&!this.line.startsWith(a););return this.line},"~S");b(c$,"discardLinesUntilContains",function(a){for(;null!=this.rd()&&0>this.line.indexOf(a););return this.line},"~S");b(c$,"discardLinesUntilContains2",function(a,c){for(;null!=this.rd()&&
0>this.line.indexOf(a)&&0>this.line.indexOf(c););return this.line},"~S,~S");b(c$,"discardLinesUntilBlank",function(){for(;null!=this.rd()&&0!=this.line.trim().length;);return this.line});b(c$,"discardLinesUntilNonBlank",function(){for(;null!=this.rd()&&0==this.line.trim().length;);return this.line});b(c$,"checkLineForScript",function(a){this.line=a;this.checkCurrentLineForScript()},"~S");b(c$,"checkCurrentLineForScript",function(){this.line.endsWith("#noautobond")&&(this.line=this.line.substring(0,
this.line.lastIndexOf("#")).trim(),this.asc.setNoAutoBond());var a=this.line.indexOf("jmolscript:");if(0<=a){var c=this.line.substring(a+11,this.line.length);0<=c.indexOf("#")&&(c=c.substring(0,c.indexOf("#")));this.addJmolScript(c);this.line=this.line.substring(0,a).trim()}});b(c$,"addJmolScript",function(a){JU.Logger.info("#jmolScript: "+a);null==this.previousScript?this.previousScript="":this.previousScript.endsWith(";")||(this.previousScript+=";");this.previousScript+=a;this.asc.setInfo("jmolscript",
this.previousScript)},"~S");b(c$,"addSiteScript",function(a){null==this.siteScript?this.siteScript="":this.siteScript.endsWith(";")||(this.siteScript+=";");this.siteScript+=a;this.asc.setInfo("sitescript",this.siteScript)},"~S");b(c$,"rd",function(){return this.RL()});b(c$,"RL",function(){this.prevline=this.line;this.line=this.reader.readLine();null!=this.out&&null!=this.line&&this.out.append(this.line).append("\n");this.ptLine++;this.debugging&&JU.Logger.debug(this.line);return this.line});c$.getStrings=
b(c$,"getStrings",function(a,c,d){for(var b=Array(c),f=0,g=0;f<c;f++,g+=d)b[f]=a.substring(g,g+d);return b},"~S,~N,~N");b(c$,"getTokens",function(){return JU.PT.getTokens(this.line)});c$.getTokensFloat=b(c$,"getTokensFloat",function(a,c,d){null==c&&(c=G(d,0));JU.PT.parseFloatArrayDataN(JU.PT.getTokens(a),c,d);return c},"~S,~A,~N");b(c$,"parseFloat",function(){return JU.PT.parseFloatNext(this.line,this.next)});b(c$,"parseFloatStr",function(a){this.next[0]=0;return JU.PT.parseFloatNext(a,this.next)},
"~S");b(c$,"parseFloatRange",function(a,c,d){this.next[0]=c;return JU.PT.parseFloatRange(a,d,this.next)},"~S,~N,~N");b(c$,"parseInt",function(){return JU.PT.parseIntNext(this.line,this.next)});b(c$,"parseIntStr",function(a){this.next[0]=0;return JU.PT.parseIntNext(a,this.next)},"~S");b(c$,"parseIntAt",function(a,c){this.next[0]=c;return JU.PT.parseIntNext(a,this.next)},"~S,~N");b(c$,"parseIntRange",function(a,c,d){this.next[0]=c;return JU.PT.parseIntRange(a,d,this.next)},"~S,~N,~N");b(c$,"parseToken",
function(){return JU.PT.parseTokenNext(this.line,this.next)});b(c$,"parseTokenStr",function(a){this.next[0]=0;return JU.PT.parseTokenNext(a,this.next)},"~S");b(c$,"parseTokenNext",function(a){return JU.PT.parseTokenNext(a,this.next)},"~S");b(c$,"parseTokenRange",function(a,c,d){this.next[0]=c;return JU.PT.parseTokenRange(a,d,this.next)},"~S,~N,~N");c$.getFortranFormatLengths=b(c$,"getFortranFormatLengths",function(a){var c=new JU.Lst,d=0,b=0,f=1,g=!1,h=!0;a+=",";for(var k=0;k<a.length;k++){var e=
a.charAt(k);switch(e){case ".":g=!1;continue;case ",":for(g=0;g<b;g++)c.addLast(Integer.$valueOf(d*f));g=!1;h=!0;b=0;continue;case "X":d=b;b=1;f=-1;continue}JU.PT.isDigit(e)?g?d=10*d+e.charCodeAt(0)-48:h&&(b=10*b+e.charCodeAt(0)-48):JU.PT.isLetter(e)?(d=0,g=!0,h=!1,f=1):g=!1}return c},"~S");b(c$,"read3Vectors",function(a){for(var c=Array(3),d=G(3,0),b=0;3>b;b++){if(0<b||Float.isNaN(this.parseFloatStr(this.line)))if(this.rd(),0==b&&null!=this.line){b=-1;continue}this.fillFloatArray(this.line,0,d);
c[b]=new JU.V3;c[b].setA(d);a&&c[b].scale(0.5291772)}return c},"~B");b(c$,"setElementAndIsotope",function(a,c){var d=this.parseIntStr(c);-2147483648==d?a.elementSymbol=c:(c=c.substring((""+d).length),a.elementNumber=0==c.length?d:(d<<7)+J.api.JmolAdapter.getElementNumber(c))},"J.adapter.smarter.Atom,~S");b(c$,"finalizeModelSet",function(){});b(c$,"setChainID",function(a,c){a.chainID=this.vwr.getChainID(c,!0)},"J.adapter.smarter.Atom,~S");e(c$,"readNextLine",function(){null!=this.rd()&&0<=this.line.indexOf("#jmolscript:")&&
this.checkCurrentLineForScript();return this.line});b(c$,"appendUunitCellInfo",function(a){null==this.moreUnitCellInfo&&(this.moreUnitCellInfo=new JU.Lst);this.moreUnitCellInfo.addLast(a);this.appendLoadNote(a)},"~S");b(c$,"getInterface",function(a){a=J.api.Interface.getInterface(a,this.vwr,"file");if(null==a)throw new NullPointerException("Interface");return a},"~S");b(c$,"forceSymmetry",function(a){a&&(this.doPackUnitCell=a);this.doApplySymmetry||(this.doApplySymmetry=!0,this.latticeCells[0]=1,
this.latticeCells[1]=1,this.latticeCells[2]=1)},"~B");D(c$,"ANGSTROMS_PER_BOHR",0.5291772)});l("J.adapter.smarter");c$=r(function(){this.atomSetIndex=0;q(this,arguments)},J.adapter.smarter,"AtomSetObject");l("J.adapter.smarter");u(["J.adapter.smarter.AtomSetObject"],"J.adapter.smarter.Bond",null,function(){c$=r(function(){this.order=this.atomIndex2=this.atomIndex1=0;this.uniqueID=this.colix=this.radius=-1;q(this,arguments)},J.adapter.smarter,"Bond",J.adapter.smarter.AtomSetObject);t(c$,function(a,
c,d){this.atomIndex1=a;this.atomIndex2=c;this.order=d},"~N,~N,~N")});l("J.adapter.smarter");u(["J.api.JmolAdapterBondIterator"],"J.adapter.smarter.BondIterator",null,function(){c$=r(function(){this.bonds=this.bsAtoms=null;this.ibond=0;this.bond=null;this.bondCount=0;q(this,arguments)},J.adapter.smarter,"BondIterator",J.api.JmolAdapterBondIterator);t(c$,function(a){this.bsAtoms=a.bsAtoms;this.bonds=a.bonds;this.bondCount=a.bondCount;this.ibond=0},"J.adapter.smarter.AtomSetCollection");e(c$,"hasNext",
function(){if(this.ibond==this.bondCount)return!1;for(;null==(this.bond=this.bonds[this.ibond++])||null!=this.bsAtoms&&(!this.bsAtoms.get(this.bond.atomIndex1)||!this.bsAtoms.get(this.bond.atomIndex2));)if(this.ibond==this.bondCount)return!1;return!0});e(c$,"getAtomUniqueID1",function(){return Integer.$valueOf(this.bond.atomIndex1)});e(c$,"getAtomUniqueID2",function(){return Integer.$valueOf(this.bond.atomIndex2)});e(c$,"getEncodedOrder",function(){return this.bond.order});e(c$,"getRadius",function(){return this.bond.radius});
e(c$,"getColix",function(){return this.bond.colix})});l("J.adapter.smarter");u(null,"J.adapter.smarter.Resolver","java.lang.Float java.util.StringTokenizer javajs.api.GenericBinaryDocument JU.LimitedLineReader $.PT J.adapter.smarter.AtomSetCollectionReader $.SmarterJmolAdapter J.api.Interface JU.Logger JV.JC".split(" "),function(){c$=B(J.adapter.smarter,"Resolver");c$.getReaderClassBase=b(c$,"getReaderClassBase",function(a){var c=a+"Reader";if(a.startsWith("Xml"))return"J.adapter.readers.xml."+c;
a=";"+a+";";for(var d=1;d<J.adapter.smarter.Resolver.readerSets.length;d+=2)if(0<=J.adapter.smarter.Resolver.readerSets[d].indexOf(a))return"J.adapter.readers."+J.adapter.smarter.Resolver.readerSets[d-1]+c;return"J.adapter.readers.???."+c},"~S");c$.getFileType=b(c$,"getFileType",function(a){try{return J.adapter.smarter.Resolver.determineAtomSetCollectionReader(a,!1)}catch(c){if(C(c,Exception))return null;throw c;}},"java.io.BufferedReader");c$.getAtomCollectionReader=b(c$,"getAtomCollectionReader",
function(a,c,d,b,f){var g=null;a=a.$replace("\\","/");var h=null;null!=c?(g=J.adapter.smarter.Resolver.getReaderFromType(c),null==g&&(g=J.adapter.smarter.Resolver.getReaderFromType("Xml"+c)),null==g?h="unrecognized file format type "+c:JU.Logger.info("The Resolver assumes "+g)):(g=J.adapter.smarter.Resolver.determineAtomSetCollectionReader(d,!0),"\n"==g.charAt(0)&&(c=b.get("defaultType"),null!=c&&(c=J.adapter.smarter.Resolver.getReaderFromType(c),null!=c&&(g=c))),"\n"==g.charAt(0)?h="unrecognized file format for file\n"+
a+"\n"+J.adapter.smarter.Resolver.split(g,50):g.equals("spt")?h="NOTE: file recognized as a script file: "+a+"\n":a.equals("ligand")||JU.Logger.info("The Resolver thinks "+g));if(null!=h)return J.adapter.smarter.SmarterJmolAdapter.close(d),h;b.put("ptFile",Integer.$valueOf(f));0>=f&&b.put("readerName",g);0==g.indexOf("Xml")&&(g="Xml");a=a=null;a=J.adapter.smarter.Resolver.getReaderClassBase(g);return null==(g=J.api.Interface.getInterface(a,b.get("vwr"),"reader"))?(a=JV.JC.READER_NOT_FOUND+a,JU.Logger.error(a),
a):g},"~S,~S,~O,java.util.Map,~N");c$.getReaderFromType=b(c$,"getReaderFromType",function(a){a=";"+a.toLowerCase()+";";if(0<=";zmatrix;cfi;c;vfi;v;mnd;jag;adf;gms;g;gau;mp;nw;orc;pqs;qc;".indexOf(a))return"Input";for(var c,d,b=J.adapter.smarter.Resolver.readerSets.length;0<=--b;)if(0<=(d=(c=J.adapter.smarter.Resolver.readerSets[b--]).toLowerCase().indexOf(a)))return c.substring(d+1,c.indexOf(";",d+2));return null},"~S");c$.split=b(c$,"split",function(a,c){for(var d="",b=a.length,f=0,g=0;f<b;f=g)d+=
a.substring(f,g=Math.min(f+c,b))+"\n";return d},"~S,~N");c$.DOMResolve=b(c$,"DOMResolve",function(a,c){var d=null,b,d=J.adapter.smarter.Resolver.getXmlType(c.get("nameSpaceInfo"));JU.Logger.debugging&&JU.Logger.debug("The Resolver thinks "+d);c.put("readerName",d);d="J.adapter.readers.xml.XmlReader";if(null!=(b=J.api.Interface.getInterface(d,c.get("vwr"),"file")))return b;d="File reader was not found:"+d;JU.Logger.error(d);return d},"~O,java.util.Map");c$.determineAtomSetCollectionReader=b(c$,"determineAtomSetCollectionReader",
function(a,c){if(p(a,javajs.api.GenericBinaryDocument))return"PyMOL";var d,b=new JU.LimitedLineReader(a,16384),f=b.getHeader(64).trim();if(1==f.indexOf("PNG")&&0<=f.indexOf("PNGJ"))return"pngj";if(1==f.indexOf("PNG")||1==f.indexOf("JPG")||6==f.indexOf("JFIF"))return"spt";if(null!=(d=J.adapter.smarter.Resolver.checkFileStart(f)))return d;for(var g=Array(16),h=0,k=0;k<g.length;++k)g[k]=b.readLineWithNewline(),0<g[k].length&&h++;return null!=(d=J.adapter.smarter.Resolver.checkSpecial1(h,g,f))||null!=
(d=J.adapter.smarter.Resolver.checkLineStarts(g))||null!=(d=J.adapter.smarter.Resolver.checkHeaderContains(b.getHeader(0)))||null!=(d=J.adapter.smarter.Resolver.checkSpecial2(g))?d:c?"\n"+g[0]+"\n"+g[1]+"\n"+g[2]+"\n":null},"~O,~B");c$.checkFileStart=b(c$,"checkFileStart",function(a){for(var c=0;c<J.adapter.smarter.Resolver.fileStartsWithRecords.length;++c)for(var d=J.adapter.smarter.Resolver.fileStartsWithRecords[c],b=1;b<d.length;++b)if(a.startsWith(d[b]))return d[0];return null},"~S");c$.checkSpecial1=
b(c$,"checkSpecial1",function(a,c,d){if(1==a&&0<c[0].length&&JU.PT.isDigit(c[0].charAt(0)))return"Jme";if(J.adapter.smarter.Resolver.checkMopacGraphf(c))return"MopacGraphf";if(J.adapter.smarter.Resolver.checkOdyssey(c))return"Odyssey";switch(J.adapter.smarter.Resolver.checkMol(c)){case 1:case 3:case 2E3:case 3E3:return"Mol"}switch(J.adapter.smarter.Resolver.checkXyz(c)){case 1:return"Xyz";case 2:return"Bilbao"}return J.adapter.smarter.Resolver.checkAlchemy(c[0])?"Alchemy":J.adapter.smarter.Resolver.checkFoldingXyz(c)?
"FoldingXyz":J.adapter.smarter.Resolver.checkCube(c)?"Cube":J.adapter.smarter.Resolver.checkWien2k(c)?"Wien2k":J.adapter.smarter.Resolver.checkAims(c)?"Aims":J.adapter.smarter.Resolver.checkGenNBO(c,d)?"GenNBO":null},"~N,~A,~S");c$.checkAims=b(c$,"checkAims",function(a){for(var c=0;c<a.length&&!a[c].startsWith("mol 1");c++){var d=JU.PT.getTokens(a[c]);if(0!=d.length&&(d[0].startsWith("atom")&&4<d.length&&Float.isNaN(JU.PT.parseFloat(d[4]))||d[0].startsWith("multipole")&&6<=d.length||d[0].startsWith("lattice_vector")&&
4<=d.length))return!0}return!1},"~A");c$.checkAlchemy=b(c$,"checkAlchemy",function(a){var c;if(0<=(c=a.indexOf("ATOMS"))&&a.indexOf("BONDS")>c)try{return 0<Integer.parseInt(a.substring(0,c).trim())}catch(d){if(!C(d,NumberFormatException))throw d;}return!1},"~S");c$.checkCube=b(c$,"checkCube",function(a){try{for(var c=2;5>=c;c++){var d=new java.util.StringTokenizer(a[c]),b=d.countTokens();if(!(4==b||2==c&&5==b))return!1;Integer.parseInt(d.nextToken());for(var f=3;0<=--f;)JU.PT.fVal(d.nextToken());
5==b&&Integer.parseInt(d.nextToken())}return!0}catch(g){if(!C(g,NumberFormatException))throw g;}return!1},"~A");c$.checkFoldingXyz=b(c$,"checkFoldingXyz",function(a){var c=new java.util.StringTokenizer(a[0].trim()," \t");if(2>c.countTokens())return!1;try{Integer.parseInt(c.nextToken().trim())}catch(d){if(C(d,NumberFormatException))return!1;throw d;}c=a[1].trim();0==c.length&&(c=a[2].trim());c=new java.util.StringTokenizer(c," \t");if(0==c.countTokens())return!1;try{Integer.parseInt(c.nextToken().trim())}catch(b){if(C(b,
NumberFormatException))return!1;throw b;}return!0},"~A");c$.checkGenNBO=b(c$,"checkGenNBO",function(a,c){return 0<=c.indexOf("$GENNBO")||a[1].startsWith(" Basis set information needed for plotting orbitals")||0<=a[1].indexOf("s in the AO basis:")||0<=a[2].indexOf(" N A T U R A L   A T O M I C   O R B I T A L")},"~A,~S");c$.checkMol=b(c$,"checkMol",function(a){var c=("X"+a[3]).trim().toUpperCase();if(7>c.length||0<=c.indexOf("."))return 0;if(c.endsWith("V2000"))return 2E3;if(c.endsWith("V3000"))return 3E3;
try{var d=Integer.parseInt(a[3].substring(0,3).trim()),b=Integer.parseInt(a[3].substring(3,6).trim());return 0<d&&0<=b&&0!=a[0].indexOf("@<TRIPOS>")&&0!=a[1].indexOf("@<TRIPOS>")&&0!=a[2].indexOf("@<TRIPOS>")?3:0}catch(f){if(!C(f,NumberFormatException))throw f;}return 0},"~A");c$.checkMopacGraphf=b(c$,"checkMopacGraphf",function(a){return 2<a[0].indexOf("MOPAC-Graphical data")},"~A");c$.checkOdyssey=b(c$,"checkOdyssey",function(a){var c;for(c=0;c<a.length&&(a[c].startsWith("C ")||0==a[c].length);c++);
if(c>=a.length||" "!=a[c].charAt(0)||(c+=2)+1>=a.length)return!1;try{var d=Integer.parseInt(a[c].substring(2).trim()),b=Integer.parseInt(a[c].substring(0,2).trim()),f=Integer.parseInt(a[++c].substring(0,2).trim());if(0>d||5<d||0>=f||5<b)return!1;var g=J.adapter.smarter.AtomSetCollectionReader.getTokensFloat(a[c],null,5);return!Float.isNaN(g[1])&&!Float.isNaN(g[2])&&!Float.isNaN(g[3])&&Float.isNaN(g[4])}catch(h){if(!C(h,Exception))throw h;}return!1},"~A");c$.checkWien2k=b(c$,"checkWien2k",function(a){return a[2].startsWith("MODE OF CALC=")||
a[2].startsWith("             RELA")||a[2].startsWith("             NREL")},"~A");c$.checkXyz=b(c$,"checkXyz",function(a){try{Integer.parseInt(a[0].trim());try{Integer.parseInt(a[2].trim())}catch(c){if(C(c,NumberFormatException))return 1;throw c;}return 2}catch(d){if(C(d,NumberFormatException)){if(0<=a[0].indexOf("Bilbao Crys"))return 2}else throw d;}return 0},"~A");c$.checkLineStarts=b(c$,"checkLineStarts",function(a){for(var c=0;c<J.adapter.smarter.Resolver.lineStartsWithRecords.length;++c)for(var d=
J.adapter.smarter.Resolver.lineStartsWithRecords[c],b=1;b<d.length;++b)for(var f=d[b],g=0;g<a.length;g++)if(a[g].startsWith(f))return d[0];return null},"~A");c$.checkHeaderContains=b(c$,"checkHeaderContains",function(a){for(var c=0;c<J.adapter.smarter.Resolver.headerContainsRecords.length;++c)for(var d=J.adapter.smarter.Resolver.headerContainsRecords[c],b=1;b<d.length;++b)if(!(0>a.indexOf(d[b])))return c=d[0],!c.equals("Xml")?c:0<=a.indexOf("/AFLOWDATA/")||0<=a.indexOf("-- Structure PRE --")?"AFLOW":
0>a.indexOf("<!DOCTYPE HTML PUBLIC")&&0>a.indexOf("XHTML")&&(0>a.indexOf("xhtml")||0<=a.indexOf("<cml"))?J.adapter.smarter.Resolver.getXmlType(a):null;return null},"~S");c$.getXmlType=b(c$,"getXmlType",function(a){return 0<=a.indexOf("http://www.molpro.net/")?"XmlMolpro":0<=a.indexOf("odyssey")?"XmlOdyssey":0<=a.indexOf("C3XML")?"XmlChem3d":0<=a.indexOf("arguslab")?"XmlArgus":0<=a.indexOf("jvxl")||0<=a.indexOf("http://www.xml-cml.org/schema")||0<=a.indexOf("cml:")?"XmlCml":0<=a.indexOf("XSD")?"XmlXsd":
0<=a.indexOf(">vasp")?"XmlVasp":0<=a.indexOf("<GEOMETRY_INFO>")?"XmlQE":"XmlCml(unidentified)"},"~S");c$.checkSpecial2=b(c$,"checkSpecial2",function(a){if(J.adapter.smarter.Resolver.checkGromacs(a))return"Gromacs";if(J.adapter.smarter.Resolver.checkCrystal(a))return"Crystal";a=J.adapter.smarter.Resolver.checkCastepVasp(a);return null!=a?a:null},"~A");c$.checkCrystal=b(c$,"checkCrystal",function(a){var c=a[1].trim();if(c.equals("SLAB")||c.equals("MOLECULE")||c.equals("CRYSTAL")||c.equals("POLYMER")||
(c=a[3]).equals("SLAB")||c.equals("MOLECULE")||c.equals("POLYMER"))return!0;for(c=0;c<a.length;c++)if(a[c].trim().equals("OPTGEOM")||a[c].trim().equals("FREQCALC")||a[c].contains("DOVESI")||a[c].contains("TORINO")||a[c].contains("http://www.crystal.unito.it")||a[c].contains("Pcrystal")||a[c].contains("MPPcrystal")||a[c].contains("crystal executable"))return!0;return!1},"~A");c$.checkGromacs=b(c$,"checkGromacs",function(a){if(-2147483648==JU.PT.parseInt(a[1]))return!1;for(var c=-1,d=2;16>d&&0!=c;d++)if(69!=
(c=a[d].length)&&45!=c&&0!=c)return!1;return!0},"~A");c$.checkCastepVasp=b(c$,"checkCastepVasp",function(a){for(var c=0;c<a.length;c++){var d=a[c].toUpperCase();if(1==d.indexOf("FREQUENCIES IN         CM-1")||d.contains("CASTEP")||d.startsWith("%BLOCK LATTICE_ABC")||d.startsWith("%BLOCK LATTICE_CART")||d.startsWith("%BLOCK POSITIONS_FRAC")||d.startsWith("%BLOCK POSITIONS_ABS")||d.contains("<-- E"))return"Castep";if(6<=c&&10>c&&(d.startsWith("DIRECT")||d.startsWith("CARTESIAN")))return"VaspPoscar"}return null},
"~A");D(c$,"classBase","J.adapter.readers.");c$.readerSets=c$.prototype.readerSets=x(-1,"aflow. ;AFLOW; cif. ;Cif;MMCif; molxyz. ;Mol3D;Mol;Xyz; more. ;BinaryDcd;Gromacs;Jcampdx;MdCrd;MdTop;Mol2;TlsDataOnly; quantum. ;Adf;Csf;Dgrid;GamessUK;GamessUS;Gaussian;GaussianFchk;GaussianWfn;Jaguar;Molden;MopacGraphf;GenNBO;NWChem;Odyssey;Psi;Qchem;Spartan;SpartanSmol;WebMO; pdb. ;Pdb;Pqr;P2n;JmolData; pymol. ;PyMOL; simple. ;Alchemy;Ampac;Cube;FoldingXyz;GhemicalMM;HyperChem;Jme;JSON;Mopac;MopacArchive;Tinker;Input; xtal. ;Abinit;Aims;Bilbao;Castep;Cgd;Crystal;Dmol;Espresso;Gulp;Jana;Magres;Shelx;Siesta;VaspOutcar;VaspPoscar;Wien2k;Xcrysden; xml. ;XmlArgus;XmlCml;XmlChem3d;XmlMolpro;XmlOdyssey;XmlXsd;XmlVasp;XmlQE;".split(" "));
D(c$,"CML_NAMESPACE_URI","http://www.xml-cml.org/schema","LEADER_CHAR_MAX",64,"sptRecords",x(-1,["spt","# Jmol state","# Jmol script","JmolManifest"]),"m3dStartRecords",x(-1,["Alchemy","STRUCTURE  1.00     1"]),"cubeFileStartRecords",x(-1,["Cube","JVXL","#JVXL"]),"mol2Records",x(-1,["Mol2","mol2","@<TRIPOS>"]),"webmoFileStartRecords",x(-1,["WebMO","[HEADER]"]),"moldenFileStartRecords",x(-1,["Molden","[Molden"]),"dcdFileStartRecords",x(-1,["BinaryDcd","T\x00\x00\x00CORD","\x00\x00\x00TCORD"]),"tlsDataOnlyFileStartRecords",
x(-1,["TlsDataOnly","REFMAC\n\nTL","REFMAC\r\n\r\n","REFMAC\r\rTL"]),"inputFileStartRecords",x(-1,["Input","#ZMATRIX","%mem=","AM1"]),"magresFileStartRecords",x(-1,["Magres","#$magres","# magres"]),"pymolStartRecords",x(-1,["PyMOL","}q"]),"janaStartRecords",x(-1,["Jana","Version Jana"]),"jsonStartRecords",x(-1,["JSON",'{"mol":']),"jcampdxStartRecords",x(-1,["Jcampdx","##TITLE"]),"jmoldataStartRecords",x(-1,["JmolData","REMARK   6 Jmol"]),"pqrStartRecords",x(-1,["Pqr","REMARK   1 PQR","REMARK    The B-factors"]),
"p2nStartRecords",x(-1,["P2n","REMARK   1 P2N"]));c$.fileStartsWithRecords=c$.prototype.fileStartsWithRecords=x(-1,[J.adapter.smarter.Resolver.sptRecords,J.adapter.smarter.Resolver.m3dStartRecords,J.adapter.smarter.Resolver.cubeFileStartRecords,J.adapter.smarter.Resolver.mol2Records,J.adapter.smarter.Resolver.webmoFileStartRecords,J.adapter.smarter.Resolver.moldenFileStartRecords,J.adapter.smarter.Resolver.dcdFileStartRecords,J.adapter.smarter.Resolver.tlsDataOnlyFileStartRecords,J.adapter.smarter.Resolver.inputFileStartRecords,
J.adapter.smarter.Resolver.magresFileStartRecords,J.adapter.smarter.Resolver.pymolStartRecords,J.adapter.smarter.Resolver.janaStartRecords,J.adapter.smarter.Resolver.jsonStartRecords,J.adapter.smarter.Resolver.jcampdxStartRecords,J.adapter.smarter.Resolver.jmoldataStartRecords,J.adapter.smarter.Resolver.pqrStartRecords,J.adapter.smarter.Resolver.p2nStartRecords]);D(c$,"mmcifLineStartRecords",x(-1,"MMCif _entry.id _database_PDB_ _pdbx_ _chem_comp.pdbx_type _audit_author.name _atom_site.".split(" ")),
"cifLineStartRecords",x(-1,["Cif","data_","_publ"]),"pdbLineStartRecords",x(-1,"Pdb;HEADER;OBSLTE;TITLE ;CAVEAT;COMPND;SOURCE;KEYWDS;EXPDTA;AUTHOR;REVDAT;SPRSDE;JRNL  ;REMARK ;DBREF ;SEQADV;SEQRES;MODRES;HELIX ;SHEET ;TURN  ;CRYST1;ORIGX1;ORIGX2;ORIGX3;SCALE1;SCALE2;SCALE3;ATOM  ;HETATM;MODEL ;LINK  ;USER  MOD ".split(";")),"cgdLineStartRecords",x(-1,["Cgd","EDGE ","edge "]),"shelxLineStartRecords",x(-1,"Shelx;TITL ;ZERR ;LATT ;SYMM ;CELL ".split(";")),"ghemicalMMLineStartRecords",x(-1,["GhemicalMM",
"!Header mm1gp","!Header gpr"]),"jaguarLineStartRecords",x(-1,["Jaguar","  |  Jaguar version"]),"mdlLineStartRecords",x(-1,["Mol","$MDL "]),"spartanSmolLineStartRecords",x(-1,["SpartanSmol","INPUT="]),"csfLineStartRecords",x(-1,["Csf","local_transform"]),"mdTopLineStartRecords",x(-1,["MdTop","%FLAG TITLE"]),"hyperChemLineStartRecords",x(-1,["HyperChem","mol 1"]),"vaspOutcarLineStartRecords",x(-1,["VaspOutcar"," vasp."," INCAR:"]));c$.lineStartsWithRecords=c$.prototype.lineStartsWithRecords=x(-1,[J.adapter.smarter.Resolver.mmcifLineStartRecords,
J.adapter.smarter.Resolver.cifLineStartRecords,J.adapter.smarter.Resolver.pdbLineStartRecords,J.adapter.smarter.Resolver.cgdLineStartRecords,J.adapter.smarter.Resolver.shelxLineStartRecords,J.adapter.smarter.Resolver.ghemicalMMLineStartRecords,J.adapter.smarter.Resolver.jaguarLineStartRecords,J.adapter.smarter.Resolver.mdlLineStartRecords,J.adapter.smarter.Resolver.spartanSmolLineStartRecords,J.adapter.smarter.Resolver.csfLineStartRecords,J.adapter.smarter.Resolver.mol2Records,J.adapter.smarter.Resolver.mdTopLineStartRecords,
J.adapter.smarter.Resolver.hyperChemLineStartRecords,J.adapter.smarter.Resolver.vaspOutcarLineStartRecords]);D(c$,"bilbaoContainsRecords",x(-1,["Bilbao",">Bilbao Crystallographic Server<"]),"xmlContainsRecords",x(-1,'Xml <?xml <atom <molecule <reaction <cml <bond .dtd" <list> <entry <identifier http://www.xml-cml.org/schema/cml2/core'.split(" ")),"gaussianContainsRecords",x(-1,["Gaussian","Entering Gaussian System","Entering Link 1","1998 Gaussian, Inc."]),"ampacContainsRecords",x(-1,["Ampac","AMPAC Version"]),
"mopacContainsRecords",x(-1,"Mopac;MOPAC 93 (c) Fujitsu;MOPAC FOR LINUX (PUBLIC DOMAIN VERSION);MOPAC:  VERSION  6;MOPAC   7;MOPAC2;MOPAC (PUBLIC".split(";")),"qchemContainsRecords",x(-1,["Qchem","Welcome to Q-Chem","A Quantum Leap Into The Future Of Chemistry"]),"gamessUKContainsRecords",x(-1,["GamessUK","GAMESS-UK","G A M E S S - U K"]),"gamessUSContainsRecords",x(-1,["GamessUS","GAMESS","$CONTRL"]),"spartanBinaryContainsRecords",x(-1,["SpartanSmol","|PropertyArchive","_spartan","spardir","BEGIN Directory Entry Molecule"]),
"spartanContainsRecords",x(-1,["Spartan","Spartan"]),"adfContainsRecords",x(-1,["Adf","Amsterdam Density Functional"]),"psiContainsRecords",x(-1,["Psi","    PSI  3","PSI3:"]),"nwchemContainsRecords",x(-1,["NWChem"," argument  1 = "]),"uicrcifContainsRecords",x(-1,["Cif","Crystallographic Information File"]),"dgridContainsRecords",x(-1,["Dgrid","BASISFILE   created by DGrid"]),"crystalContainsRecords",x(-1,["Crystal","*                                CRYSTAL","TORINO","DOVESI"]),"dmolContainsRecords",
x(-1,["Dmol","DMol^3"]),"gulpContainsRecords",x(-1,["Gulp","GENERAL UTILITY LATTICE PROGRAM"]),"espressoContainsRecords",x(-1,["Espresso","Program PWSCF","Program PHONON"]),"siestaContainsRecords",x(-1,["Siesta","MD.TypeOfRun","SolutionMethod","MeshCutoff","WELCOME TO SIESTA"]),"xcrysDenContainsRecords",x(-1,["Xcrysden","PRIMVEC","CONVVEC","PRIMCOORD","ANIMSTEP"]),"mopacArchiveContainsRecords",x(-1,["MopacArchive","SUMMARY OF PM"]),"abinitContainsRecords",x(-1,["Abinit","http://www.abinit.org","Catholique",
"Louvain"]),"gaussianFchkContainsRecords",x(-1,["GaussianFchk","Number of point charges in /Mol/"]),"inputContainsRecords",x(-1,"Input; ATOMS cartesian;$molecule;&zmat;geometry={;$DATA;%coords;GEOM=PQS;geometry units angstroms".split(";")),"aflowContainsRecords",x(-1,["AFLOW","/AFLOWDATA/"]));c$.headerContainsRecords=c$.prototype.headerContainsRecords=x(-1,[J.adapter.smarter.Resolver.sptRecords,J.adapter.smarter.Resolver.bilbaoContainsRecords,J.adapter.smarter.Resolver.xmlContainsRecords,J.adapter.smarter.Resolver.gaussianContainsRecords,
J.adapter.smarter.Resolver.ampacContainsRecords,J.adapter.smarter.Resolver.mopacContainsRecords,J.adapter.smarter.Resolver.qchemContainsRecords,J.adapter.smarter.Resolver.gamessUKContainsRecords,J.adapter.smarter.Resolver.gamessUSContainsRecords,J.adapter.smarter.Resolver.spartanBinaryContainsRecords,J.adapter.smarter.Resolver.spartanContainsRecords,J.adapter.smarter.Resolver.mol2Records,J.adapter.smarter.Resolver.adfContainsRecords,J.adapter.smarter.Resolver.psiContainsRecords,J.adapter.smarter.Resolver.nwchemContainsRecords,
J.adapter.smarter.Resolver.uicrcifContainsRecords,J.adapter.smarter.Resolver.dgridContainsRecords,J.adapter.smarter.Resolver.crystalContainsRecords,J.adapter.smarter.Resolver.dmolContainsRecords,J.adapter.smarter.Resolver.gulpContainsRecords,J.adapter.smarter.Resolver.espressoContainsRecords,J.adapter.smarter.Resolver.siestaContainsRecords,J.adapter.smarter.Resolver.xcrysDenContainsRecords,J.adapter.smarter.Resolver.mopacArchiveContainsRecords,J.adapter.smarter.Resolver.abinitContainsRecords,J.adapter.smarter.Resolver.gaussianFchkContainsRecords,
J.adapter.smarter.Resolver.inputContainsRecords,J.adapter.smarter.Resolver.aflowContainsRecords])});l("J.adapter.smarter");u(["J.api.JmolAdapter"],"J.adapter.smarter.SmarterJmolAdapter","java.io.BufferedReader javajs.api.GenericBinaryDocument JU.PT $.Rdr J.adapter.smarter.AtomIterator $.AtomSetCollection $.AtomSetCollectionReader $.BondIterator $.Resolver $.StructureIterator JS.SV JU.Logger".split(" "),function(){c$=B(J.adapter.smarter,"SmarterJmolAdapter",J.api.JmolAdapter);e(c$,"getFileTypeName",
function(a){return p(a,J.adapter.smarter.AtomSetCollection)?a.fileTypeName:p(a,java.io.BufferedReader)?J.adapter.smarter.Resolver.getFileType(a):null},"~O");e(c$,"getAtomSetCollectionReader",function(a,c,d,b){return J.adapter.smarter.SmarterJmolAdapter.staticGetAtomSetCollectionReader(a,c,d,b)},"~S,~S,~O,java.util.Map");c$.staticGetAtomSetCollectionReader=b(c$,"staticGetAtomSetCollectionReader",function(a,c,d,b){try{var f=J.adapter.smarter.Resolver.getAtomCollectionReader(a,c,d,b,-1);if(p(f,String))try{J.adapter.smarter.SmarterJmolAdapter.close(d)}catch(g){if(!C(g,
Exception))throw g;}else f.setup(a,b,d);return f}catch(h){try{J.adapter.smarter.SmarterJmolAdapter.close(d)}catch(k){if(!C(k,Exception))throw k;}JU.Logger.error(""+h);return""+h}},"~S,~S,~O,java.util.Map");e(c$,"getAtomSetCollectionFromReader",function(a,c,d){var b=J.adapter.smarter.Resolver.getAtomCollectionReader(a,null,c,d,-1);return p(b,J.adapter.smarter.AtomSetCollectionReader)?(b.setup(a,d,c),b.readData()):""+b},"~S,~O,java.util.Map");e(c$,"getAtomSetCollection",function(a){return J.adapter.smarter.SmarterJmolAdapter.staticGetAtomSetCollection(a)},
"~O");c$.staticGetAtomSetCollection=b(c$,"staticGetAtomSetCollection",function(a){var c=null;try{var c=a.reader,d=a.readData();return!p(d,J.adapter.smarter.AtomSetCollection)?d:null!=d.errorMessage?d.errorMessage:d}catch(b){try{JU.Logger.info(b.toString())}catch(f){if(C(f,Exception))JU.Logger.error(b.toString());else throw f;}try{c.close()}catch(g){if(!C(g,Exception))throw g;}JU.Logger.error(""+b);return""+b}},"J.adapter.smarter.AtomSetCollectionReader");e(c$,"getAtomSetCollectionReaders",function(a,
c,d,b,f){var g=b.get("vwr"),h=c.length,k=f?Array(h):null,e=null;if(b.containsKey("concatenate")){for(var e="",n=0;n<h;n++){var s=c[n],w=g.getFileAsString3(s,!1,null);if(0<n&&3>=h&&w.startsWith("{"))s=w.contains('version":"DSSR')?"dssr":w.contains("/outliers/")?"validation":"domains",w=g.parseJSON(w),null!=w&&b.put(s,s.equals("dssr")?w:JS.SV.getVariableMap(w));else{0<=s.indexOf("|")&&(s=JU.PT.rep(s,"_","/"));if(1==n){if(0<=s.indexOf("/rna3dhub/")){e+="\n_rna3d \n;"+w+"\n;\n";continue}if(0<=s.indexOf("/dssr/")){e+=
"\n_dssr \n;"+w+"\n;\n";continue}}e+=w;e.endsWith("\n")||(e+="\n")}}h=1;e=JU.Rdr.getBR(e)}w=f?null:Array(h);s=null;for(n=0;n<h;n++)try{null!=s&&b.put("vwr",g);null==e&&(e=a.getBufferedReaderOrBinaryDocument(n,!1));if(!p(e,java.io.BufferedReader)&&!p(e,javajs.api.GenericBinaryDocument))return e;var F=J.adapter.smarter.Resolver.getAtomCollectionReader(c[n],null==d?null:d[n],e,b,n);if(!p(F,J.adapter.smarter.AtomSetCollectionReader))return F;s=F;s.setup(null,null,null);s.isBinary?s.setup(c[n],b,a.getBufferedReaderOrBinaryDocument(n,
!0)):s.setup(c[n],b,e);e=null;if(f)k[n]=s;else{F=s.readData();if(!p(F,J.adapter.smarter.AtomSetCollection))return F;w[n]=F;if(null!=w[n].errorMessage)return w[n].errorMessage}}catch(z){return JU.Logger.error(""+z),g.isJS||z.printStackTrace(),""+z}return f?k:this.getAtomSetCollectionFromSet(k,w,b)},"J.api.JmolFilesReaderInterface,~A,~A,java.util.Map,~B");e(c$,"getAtomSetCollectionFromSet",function(a,c,d){var b=null==c?Array(a.length):c;if(null==c)for(c=0;c<a.length;c++)try{var f=a[c].readData();if(!p(f,
J.adapter.smarter.AtomSetCollection))return f;b[c]=f;if(null!=b[c].errorMessage)return b[c].errorMessage}catch(g){return JU.Logger.error(""+g),""+g}if(d.containsKey("trajectorySteps")){a=b[0];try{a.finalizeTrajectoryAs(d.get("trajectorySteps"),d.get("vibrationSteps"))}catch(h){if(C(h,Exception))null==a.errorMessage&&(a.errorMessage=""+h);else throw h;}}else if(b[0].isTrajectory){a=b[0];for(c=1;c<b.length;c++)b[0].mergeTrajectories(b[c])}else a=1==b.length?b[0]:new J.adapter.smarter.AtomSetCollection("Array",
null,b,null);return null==a.errorMessage?a:a.errorMessage},"~O,~O,java.util.Map");e(c$,"getAtomSetCollectionFromDOM",function(a,c){try{var d=J.adapter.smarter.Resolver.DOMResolve(a,c);if(!p(d,J.adapter.smarter.AtomSetCollectionReader))return d;var b=d;b.setup("DOM node",c,null);d=b.readDataObject(a);return!p(d,J.adapter.smarter.AtomSetCollection)?d:null!=d.errorMessage?d.errorMessage:d}catch(f){return JU.Logger.error(""+f),""+f}},"~O,java.util.Map");e(c$,"finish",function(a){a.finish()},"~O");e(c$,
"getAtomSetCollectionName",function(a){return a.collectionName},"~O");e(c$,"getAtomSetCollectionAuxiliaryInfo",function(a){return a.atomSetInfo},"~O");e(c$,"getAtomSetCount",function(a){return a.atomSetCount},"~O");e(c$,"getAtomSetNumber",function(a,c){return a.getAtomSetNumber(c)},"~O,~N");e(c$,"getAtomSetName",function(a,c){return a.getAtomSetName(c)},"~O,~N");e(c$,"getAtomSetAuxiliaryInfo",function(a,c){return a.getAtomSetAuxiliaryInfo(c)},"~O,~N");e(c$,"getHydrogenAtomCount",function(a){return a.getHydrogenAtomCount()},
"~O");e(c$,"getBondList",function(a){return a.getBondList()},"~O");e(c$,"getAtomCount",function(a){return null==a.bsAtoms?a.ac:a.bsAtoms.cardinality()},"~O");e(c$,"coordinatesAreFractional",function(a){return a.coordinatesAreFractional},"~O");e(c$,"getAtomIterator",function(a){return new J.adapter.smarter.AtomIterator(a)},"~O");e(c$,"getBondIterator",function(a){return new J.adapter.smarter.BondIterator(a)},"~O");e(c$,"getStructureIterator",function(a){return 0==a.structureCount?null:new J.adapter.smarter.StructureIterator(a)},
"~O");c$.close=b(c$,"close",function(a){p(a,java.io.BufferedReader);a.close()},"~O");D(c$,"PATH_KEY",".PATH");c$.PATH_SEPARATOR=c$.prototype.PATH_SEPARATOR=System.getProperty("path.separator","/")});l("J.adapter.smarter");u(["J.api.JmolAdapterStructureIterator"],"J.adapter.smarter.StructureIterator",["J.api.JmolAdapter"],function(){c$=r(function(){this.structureCount=0;this.structure=this.structures=null;this.istructure=0;this.bsModelsDefined=null;q(this,arguments)},J.adapter.smarter,"StructureIterator",
J.api.JmolAdapterStructureIterator);t(c$,function(a){this.structureCount=a.structureCount;this.structures=a.structures;this.istructure=0;this.bsModelsDefined=a.bsStructuredModels},"J.adapter.smarter.AtomSetCollection");e(c$,"hasNext",function(){if(this.istructure==this.structureCount)return!1;this.structure=this.structures[this.istructure++];return!0});e(c$,"getStructureType",function(){return this.structure.structureType});e(c$,"getSubstructureType",function(){return this.structure.substructureType});
e(c$,"getStructureID",function(){return this.structure.structureID});e(c$,"getSerialID",function(){return this.structure.serialID});e(c$,"getStartChainID",function(){return this.structure.startChainID});e(c$,"getStartSequenceNumber",function(){return this.structure.startSequenceNumber});e(c$,"getStartInsertionCode",function(){return J.api.JmolAdapter.canonizeInsertionCode(this.structure.startInsertionCode)});e(c$,"getEndChainID",function(){return this.structure.endChainID});e(c$,"getEndSequenceNumber",
function(){return this.structure.endSequenceNumber});e(c$,"getEndInsertionCode",function(){return this.structure.endInsertionCode});e(c$,"getStrandCount",function(){return this.structure.strandCount});e(c$,"getStructuredModels",function(){return this.bsModelsDefined});e(c$,"getAtomIndices",function(){return this.structure.atomStartEnd});e(c$,"getModelIndices",function(){return this.structure.modelStartEnd})});l("J.api");I(J.api,"AtomIndexIterator");l("J.api");u(null,"J.api.Interface",["JU.Logger"],
function(){c$=B(J.api,"Interface");c$.getInterface=b(c$,"getInterface",function(a,c,d){try{var b=null,b=ba._4Name(a,c&&c.html5Applet,d);return null==b?null:b.newInstance()}catch(f){if(C(f,Exception))return JU.Logger.error("Interface.java Error creating instance for "+a+": \n"+f),null;throw f;}},"~S,JV.Viewer,~S");c$.getOption=b(c$,"getOption",function(a,c,d){return J.api.Interface.getInterface("J."+a,c,d)},"~S,JV.Viewer,~S");c$.getUtil=b(c$,"getUtil",function(a,c,d){return J.api.Interface.getInterface("JU."+
a,c,d)},"~S,JV.Viewer,~S");c$.getSymmetry=b(c$,"getSymmetry",function(a,c){return J.api.Interface.getInterface("JS.Symmetry",a,c)},"JV.Viewer,~S")});l("J.api");u(null,"J.api.JmolAdapter",["java.util.Hashtable","JU.PT","J.api.JmolViewer","JU.Elements"],function(){c$=B(J.api,"JmolAdapter");c$.getElementSymbol=b(c$,"getElementSymbol",function(a){return JU.Elements.elementSymbolFromNumber(a)},"~N");c$.getElementNumber=b(c$,"getElementNumber",function(a){return JU.Elements.elementNumberFromSymbol(a,!1)},
"~S");c$.getNaturalIsotope=b(c$,"getNaturalIsotope",function(a){return JU.Elements.getNaturalIsotope(a)},"~N");c$.getBondingRadius=b(c$,"getBondingRadius",function(a,c){return JU.Elements.getBondingRadius(a,c)},"~N,~N");b(c$,"getAtomSetCollectionFromReaderType",function(a,c,d,b){null==b&&(b=new java.util.Hashtable);b.containsKey("vwr")||b.put("vwr",J.api.JmolViewer.allocateViewer(null,this));a=this.getAtomSetCollectionReader(a,c,d,b);return p(a,String)?a:this.getAtomSetCollection(a)},"~S,~S,~O,java.util.Map");
b(c$,"openBufferedReader",function(a,c){return this.getAtomSetCollectionFromReaderType(a,null,c,null)},"~S,java.io.BufferedReader");b(c$,"openBufferedReader",function(a,c,d){return this.getAtomSetCollectionFromReaderType(a,null,c,d)},"~S,java.io.BufferedReader,java.util.Map");b(c$,"openBufferedReader",function(a,c,d){return this.getAtomSetCollectionFromReaderType(a,c,d,null)},"~S,~S,java.io.BufferedReader");c$.canonizeAlphaDigit=b(c$,"canonizeAlphaDigit",function(a){return JU.PT.isLetterOrDigit(a)?
a:"\x00"},"~S");c$.canonizeInsertionCode=b(c$,"canonizeInsertionCode",function(a){return J.api.JmolAdapter.canonizeAlphaDigit(a)},"~S");c$.canonizeAlternateLocationID=b(c$,"canonizeAlternateLocationID",function(a){return J.api.JmolAdapter.canonizeAlphaDigit(a)},"~S");D(c$,"ORDER_COVALENT_SINGLE",1,"ORDER_COVALENT_DOUBLE",2,"ORDER_COVALENT_TRIPLE",3,"ORDER_COVALENT_QUAD",4,"ORDER_AROMATIC",515,"ORDER_AROMATIC_SINGLE",513,"ORDER_AROMATIC_DOUBLE",514,"ORDER_HBOND",2048,"ORDER_STEREO_NEAR",1025,"ORDER_STEREO_FAR",
1041,"ORDER_PARTIAL01",33,"ORDER_PARTIAL12",66,"ORDER_PARTIAL23",97,"ORDER_PARTIAL32",100,"ORDER_UNSPECIFIED",17,"ORDER_PYMOL_SINGLE",65536,"ORDER_PYMOL_MULT",98304,"cellParamNames",x(-1,"_cell_length_a _cell_length_b _cell_length_c _cell_angle_alpha _cell_angle_beta _cell_angle_gamma".split(" ")))});l("J.api");I(J.api,"JmolAdapterAtomIterator");l("J.api");c$=B(J.api,"JmolAdapterBondIterator");l("J.api");c$=B(J.api,"JmolAdapterStructureIterator");l("J.api");I(J.api,"JmolAppConsoleInterface");l("J.api");
u(["J.api.JmolSyncInterface"],"J.api.JmolAppletInterface",null,function(){I(J.api,"JmolAppletInterface",J.api.JmolSyncInterface)});l("J.api");I(J.api,"JmolCallbackListener");l("J.api");I(J.api,"JmolAnnotationParser");l("J.api");I(J.api,"JmolGraphicsInterface");l("J.api");I(J.api,"JmolMeasurementClient");l("J.api");I(J.api,"JmolModulationSet");l("J.api");I(J.api,"JmolNavigatorInterface",Runnable);l("J.api");u(["J.api.JmolGraphicsInterface"],"J.api.JmolRendererInterface",null,function(){I(J.api,"JmolRendererInterface",
J.api.JmolGraphicsInterface)});l("J.api");I(J.api,"JmolRepaintManager");l("J.api");u(["J.api.JmolCallbackListener"],"J.api.JmolStatusListener",null,function(){I(J.api,"JmolStatusListener",J.api.JmolCallbackListener)});l("J.api");I(J.api,"JmolSyncInterface");l("J.api");u(null,"J.api.JmolViewer",["java.util.Hashtable"],function(){c$=r(function(){this.apiPlatform=this.menuStructure=null;q(this,arguments)},J.api,"JmolViewer");c$.allocateViewer=b(c$,"allocateViewer",function(a,c,d,b,f,g,h,k){var e=new java.util.Hashtable;
null!=a&&e.put("display",a);null!=c&&e.put("adapter",c);null!=h&&e.put("statuslistener",h);null!=k&&e.put("platform",k);null!=g&&e.put("options",g);null!=d&&e.put("fullname",d);null!=b&&e.put("documentbase",b);null!=f&&e.put("codebase",f);return new JV.Viewer(e)},"~O,J.api.JmolAdapter,~S,java.net.URL,java.net.URL,~S,J.api.JmolStatusListener,javajs.api.GenericPlatform");c$.allocateViewer=b(c$,"allocateViewer",function(a,c){return J.api.JmolViewer.allocateViewer(a,c,null,null,null,null,null,null)},
"~O,J.api.JmolAdapter");c$.allocateViewer=b(c$,"allocateViewer",function(a,c,d,b,f,g,h){return J.api.JmolViewer.allocateViewer(a,c,d,b,f,g,h,null)},"~O,J.api.JmolAdapter,~S,java.net.URL,java.net.URL,~S,J.api.JmolStatusListener");b(c$,"setConsole",function(a){this.getProperty("DATA_API","getAppConsole",a)},"J.api.JmolAppConsoleInterface");c$.getJmolVersion=b(c$,"getJmolVersion",function(){return JV.Viewer.getJmolVersion()});b(c$,"openFileAsync",function(a){this.openFileAsyncSpecial(a,0)},"~S");b(c$,
"renderScreenImage",function(a,c){this.apiPlatform.renderScreenImage(a,c)},"~O,~O,~O");b(c$,"dispose",function(){})});l("J.api");I(J.api,"JmolZipUtilities");l("J.api");I(J.api,"Translator");l("J.appletjs");u(["javajs.api.JSInterface","JU.GenericApplet"],"J.appletjs.Jmol",["java.util.Hashtable","JU.PT","JU.Logger","$.Parser"],function(){c$=r(function(){this.htParams=null;q(this,arguments)},J.appletjs,"Jmol",JU.GenericApplet,javajs.api.JSInterface);t(c$,function(a){H(this,J.appletjs.Jmol,[]);this.htParams=
new java.util.Hashtable;null==a&&(a=new java.util.Hashtable);this.vwrOptions=a;for(var c,d=a.entrySet().iterator();d.hasNext()&&((c=d.next())||1);)this.htParams.put(c.getKey().toLowerCase(),c.getValue());this.documentBase=""+a.get("documentBase");this.codeBase=""+a.get("codePath");this.isJS=!0;this.init(this)},"java.util.Map");e(c$,"setStereoGraphics",function(a){return a?vwr.apiPlatform.context:null},"~B");e(c$,"initOptions",function(){this.vwrOptions.remove("debug");this.vwrOptions.put("fullName",
this.fullName);this.haveDocumentAccess="true".equalsIgnoreCase(""+this.getValue("allowjavascript","true"));this.mayScript=!0});e(c$,"getJmolParameter",function(a){a=this.htParams.get(a.toLowerCase());return null==a?null:""+a},"~S");e(c$,"doSendJsTextStatus",function(a){System.out.println(a)},"~S");e(c$,"doSendJsTextareaStatus",function(a){System.out.println(a)},"~S");e(c$,"doFunctionXY",function(a,c,d){var b=G(Math.abs(c),Math.abs(d),0);if(!this.mayScript||!this.haveDocumentAccess||0==c||0==d)return b;
try{if(0<c&&0<d)for(var f=0;f<c;f++)for(var g=0;g<d;g++)b[f][g]=eval(a)(this.htmlName,f,g);else if(0<d){var h;h=eval(a)(this.htmlName,c,d);c=Math.abs(c);var k=G(c*d,0);JU.Parser.parseStringInfestedFloatArray(h,null,k);for(a=f=0;f<c;f++)for(g=0;g<d;g++,a++)b[f][g]=k[a]}else eval(a)(this.htmlName,c,d,b)}catch(e){if(C(e,Exception))JU.Logger.error("Exception "+e+" with nX, nY: "+c+" "+d);else throw e;}return b},"~S,~N,~N");e(c$,"doFunctionXYZ",function(a,c,d,b){var f=G(Math.abs(c),Math.abs(d),Math.abs(b),
0);if(!this.mayScript||!this.haveDocumentAccess||0==c||0==d||0==b)return f;try{eval(a)(this.htmlName,c,d,b,f)}catch(g){if(C(g,Exception))JU.Logger.error("Exception "+g+" for "+a+" with nX, nY, nZ: "+c+" "+d+" "+b);else throw g;}return f},"~S,~N,~N,~N");e(c$,"doShowDocument",function(a){window.open(a.toString())},"java.net.URL");e(c$,"doSendCallback",function(a,c,d){if(!(null==a||0==a.length))if(a.equals("alert"))alert(d);else{d=JU.PT.split(a,".");try{for(var b=window[d[0]],f=1;f<d.length;f++)b=b[d[f]];
for(f=0;f<c.length;f++)c[f]&&c[f].booleanValue&&(c[f]=c[f].booleanValue());return b.apply(null,c)}catch(g){System.out.println(a+" failed "+g)}}return""},"~S,~A,~S");e(c$,"doEval",function(a){try{return""+eval(a)}catch(c){if(C(c,Exception))JU.Logger.error("# error evaluating "+a+":"+c.toString());else throw c;}return""},"~S");e(c$,"doShowStatus",function(a){try{System.out.println(a)}catch(c){if(!C(c,Exception))throw c;}},"~S");b(c$,"getGLmolView",function(){return this.viewer.getGLmolView()});b(c$,
"openFile",function(a){return this.viewer.openFile(a)},"~S");e(c$,"cacheFileByName",function(a,c){return this.viewer.cacheFileByName(a,c)},"~S,~B");e(c$,"cachePut",function(a,c){this.viewer.cachePut(a,c)},"~S,~O");e(c$,"getFullName",function(){return this.fullName});e(c$,"processMouseEvent",function(a,c,d,b,f){return this.viewer.processMouseEvent(a,c,d,b,f)},"~N,~N,~N,~N,~N");e(c$,"setDisplay",function(a){this.viewer.setDisplay(a)},"~O");e(c$,"setStatusDragDropped",function(a,c,d,b){return this.viewer.setStatusDragDropped(a,
c,d,b)},"~N,~N,~N,~S");e(c$,"startHoverWatcher",function(a){this.viewer.startHoverWatcher(a)},"~B");e(c$,"update",function(){this.viewer.updateJS()});e(c$,"openFileAsyncSpecial",function(a,c){this.viewer.openFileAsyncSpecial(a,c)},"~S,~N");e(c$,"processTwoPointGesture",function(a){this.viewer.processTwoPointGesture(a)},"~A");e(c$,"setScreenDimension",function(a,c){this.viewer.setScreenDimension(a,c)},"~N,~N")});l("J.atomdata");c$=r(function(){this.modelName=this.fileName=this.programInfo=null;this.modelIndex=
0;this.radiusData=this.bsMolecules=this.bsIgnored=this.bsSelected=null;this.hAtomRadius=this.lastModelIndex=this.firstModelIndex=this.firstAtomIndex=0;this.hAtoms=this.atomMolecule=this.atomicNumber=this.atomRadius=this.atomXyz=this.atomIndex=null;this.adpMode=this.hydrogenAtomCount=this.ac=0;q(this,arguments)},J.atomdata,"AtomData");t(c$,function(){});D(c$,"MODE_FILL_MODEL",0,"MODE_FILL_COORDS",1,"MODE_FILL_RADII",2,"MODE_FILL_MOLECULES",4,"MODE_GET_ATTACHED_HYDROGENS",8,"MODE_FILL_MULTIMODEL",16);
l("J.atomdata");I(J.atomdata,"AtomDataServer");l("J.atomdata");u(["java.lang.Enum","J.c.VDW"],"J.atomdata.RadiusData",["java.lang.Float","JU.SB"],function(){c$=r(function(){this.vdwType=this.factorType=this.info=null;this.value=NaN;this.valueExtended=0;this.values=null;q(this,arguments)},J.atomdata,"RadiusData");M(c$,function(){this.factorType=J.atomdata.RadiusData.EnumType.ABSOLUTE;this.vdwType=J.c.VDW.AUTO});t(c$,function(a,c,d,b){null!=a?(this.values=a,this.value=2147483647):null!=d&&(this.factorType=
d,this.value=c,null!=b&&(this.vdwType=b))},"~A,~N,J.atomdata.RadiusData.EnumType,J.c.VDW");e(c$,"toString",function(){if(Float.isNaN(this.value))return"";var a=new JU.SB;switch(this.factorType){case J.atomdata.RadiusData.EnumType.ABSOLUTE:a.appendF(this.value);break;case J.atomdata.RadiusData.EnumType.OFFSET:a.append(0<this.value?"+":"").appendF(this.value);break;case J.atomdata.RadiusData.EnumType.FACTOR:a.appendI(A(100*this.value)).append("%");this.vdwType!==J.c.VDW.AUTO&&a.append(this.vdwType.getVdwLabel());
break;case J.atomdata.RadiusData.EnumType.SCREEN:a.appendI(A(this.value))}return a.toString()});K(self.c$);c$=B(J.atomdata.RadiusData,"EnumType",Enum);E(c$,"ABSOLUTE",0,[]);E(c$,"OFFSET",1,[]);E(c$,"FACTOR",2,[]);E(c$,"SCREEN",3,[]);c$=L()});l("J.awtjs");u(["J.awtjs2d.Platform"],"J.awtjs.Platform",null,function(){c$=B(J.awtjs,"Platform",J.awtjs2d.Platform);e(c$,"drawImage",function(){},"~O,~O,~N,~N,~N,~N,~B");e(c$,"getTextPixels",function(){return null},"~S,javajs.awt.Font,~O,~O,~N,~N,~N");e(c$,"getGraphics",
function(){return null},"~O");e(c$,"getStaticGraphics",function(){return null},"~O,~B");e(c$,"newBufferedImage",function(){return null},"~O,~N,~N");e(c$,"newOffScreenImage",function(){return null},"~N,~N")});l("J.awtjs2d");c$=B(J.awtjs2d,"Display");c$.getFullScreenDimensions=b(c$,"getFullScreenDimensions",function(a,c){c[0]=a.width;c[1]=a.height},"~O,~A");c$.hasFocus=b(c$,"hasFocus",function(){return!0},"~O");c$.requestFocusInWindow=b(c$,"requestFocusInWindow",function(){},"~O");c$.renderScreenImage=
b(c$,"renderScreenImage",function(){},"javajs.api.PlatformViewer,~O,~O");c$.setTransparentCursor=b(c$,"setTransparentCursor",function(){},"~O");c$.setCursor=b(c$,"setCursor",function(){},"~N,~O");c$.prompt=b(c$,"prompt",function(a,c){var d=prompt(a,c);return null!=d?d:"null"},"~S,~S,~A,~B");c$.convertPointFromScreen=b(c$,"convertPointFromScreen",function(){},"~O,JU.P3");c$.drawImage=b(c$,"drawImage",function(a,c,d,b,f,g,h){b=c.buf8;g=c.buf32;var k=c.width*c.height,e=1;if(h){var n=f%2;f=Math.floor(f/
2);e=Math.floor(c.width/f)}h=4*(c.width-f||d);var s=0,w=0;for(d*=4;s<k;)b[d++]=g[s]>>16&255,b[d++]=g[s]>>8&255,b[d++]=g[s]&255,b[d++]=255,s+=e,0==++w%f&&(n&&(s+=1,b[d]=0,b[d+1]=0,b[d+2]=0,b[d+3]=0),d+=h);a.putImageData(c.imgdata,0,0)},"~O,~O,~N,~N,~N,~N,~B");l("J.awtjs2d");u(null,"J.awtjs2d.Image",["J.awtjs2d.Platform"],function(){c$=B(J.awtjs2d,"Image");c$.getWidth=b(c$,"getWidth",function(a){return a.imageWidth?a.imageWidth:a.width},"~O");c$.getHeight=b(c$,"getHeight",function(a){return a.imageHeight?
a.imageHeight:a.height},"~O");c$.grabPixels=b(c$,"grabPixels",function(a,c,d){var b=null,b=a.getImageData(0,0,c,d).data;return J.awtjs2d.Image.toIntARGB(b)},"~O,~N,~N");c$.toIntARGB=b(c$,"toIntARGB",function(a){for(var c=v(a.length/4),d=y(c,0),b=0,f=0;b<c;)d[b++]=a[f++]<<16|a[f++]<<8|a[f++]|a[f++]<<24;return d},"~A");c$.getTextPixels=b(c$,"getTextPixels",function(a,c,d,b,f,g){d.fillStyle="#000000";d.fillRect(0,0,b,f);d.fillStyle="#FFFFFF";d.font=c.font;d.fillText(a,0,g);return this.grabPixels(d,b,
f)},"~S,javajs.awt.Font,~O,~N,~N,~N");c$.allocateRgbImage=b(c$,"allocateRgbImage",function(a,c,d,b,f,g){null==g&&(g={width:a,height:c});g.buf32=d;return g},"~N,~N,~A,~N,~B,~O");c$.getImageDialog=b(c$,"getImageDialog",function(a,c,d){return J.awtjs2d.Platform.Jmol()._consoleGetImageDialog(a,c,d)},"JV.Viewer,~S,java.util.Map")});l("J.awtjs2d");u(["javajs.api.GenericFileInterface"],"J.awtjs2d.JSFile",["JU.OC","$.PT","JV.Viewer"],function(){c$=r(function(){this.fullName=this.name=null;q(this,arguments)},
J.awtjs2d,"JSFile",null,javajs.api.GenericFileInterface);c$.newFile=b(c$,"newFile",function(a){return new J.awtjs2d.JSFile(a)},"~S");t(c$,function(a){this.name=a.$replace("\\","/");this.fullName=a;!this.fullName.startsWith("/")&&0>JU.OC.urlTypeIndex(a)&&(this.fullName=JV.Viewer.jsDocumentBase+"/"+this.fullName);this.fullName=JU.PT.rep(this.fullName,"/./","/");a.substring(a.lastIndexOf("/")+1)},"~S");e(c$,"getParentAsFile",function(){var a=this.fullName.lastIndexOf("/");return 0>a?null:new J.awtjs2d.JSFile(this.fullName.substring(0,
a))});e(c$,"getFullPath",function(){return this.fullName});e(c$,"getName",function(){return this.name});e(c$,"isDirectory",function(){return this.fullName.endsWith("/")});e(c$,"length",function(){return 0});c$.getURLContents=b(c$,"getURLContents",function(a,c,d){try{var b=a.openConnection();null!=c?b.outputBytes(c):null!=d&&b.outputString(d);return b.getContents()}catch(f){if(C(f,Exception))return f.toString();throw f;}},"java.net.URL,~A,~S")});l("J.awtjs2d");c$=B(J.awtjs2d,"JSFont");c$.newFont=b(c$,
"newFont",function(a,c,d,b,f){a=a.equals("Monospaced")?"Courier":a.startsWith("Sans")?"Helvetica Neue, Sans-serif":"Serif";return(c?"bold ":"")+(d?"italic ":"")+b+f+" "+a},"~S,~B,~B,~N,~S");c$.getFontMetrics=b(c$,"getFontMetrics",function(a,c){c.font!=a.font&&(c.font=a.font,a.font=c.font,c._fontAscent=Math.ceil(a.fontSize),c._fontDescent=Math.ceil(0.25*a.fontSize));return c},"javajs.awt.Font,~O");c$.getAscent=b(c$,"getAscent",function(a){return Math.ceil(a._fontAscent)},"~O");c$.getDescent=b(c$,"getDescent",
function(a){return Math.ceil(a._fontDescent)},"~O");c$.stringWidth=b(c$,"stringWidth",function(a,c,d){c.font=a.font;return Math.ceil(c.measureText(d).width)},"javajs.awt.Font,~O,~S");l("J.awtjs2d");u(["javajs.api.GenericMouseInterface","javajs.awt.event.Event"],"J.awtjs2d.Mouse",["java.lang.Character","JU.PT","$.V3","JU.Logger"],function(){c$=r(function(){this.manager=this.vwr=null;this.keyBuffer="";this.wheeling=this.isMouseDown=!1;this.modifiersWhenPressed10=this.yWhenPressed=this.xWhenPressed=
this.modifiersDown=0;q(this,arguments)},J.awtjs2d,"Mouse",null,javajs.api.GenericMouseInterface);t(c$,function(a,c){this.vwr=c;this.manager=this.vwr.acm},"~N,JV.Viewer,~O");e(c$,"clear",function(){});e(c$,"dispose",function(){});e(c$,"processEvent",function(a,c,d,b,f){-1!=a&&(b=J.awtjs2d.Mouse.applyLeftMouse(b));switch(a){case -1:this.wheeled(f,c,b);break;case 501:this.xWhenPressed=c;this.yWhenPressed=d;this.modifiersWhenPressed10=b;this.pressed(f,c,d,b,!1);break;case 506:this.dragged(f,c,d,b);break;
case 504:this.entry(f,c,d,!1);break;case 505:this.entry(f,c,d,!0);break;case 503:this.moved(f,c,d,b);break;case 502:this.released(f,c,d,b);c==this.xWhenPressed&&(d==this.yWhenPressed&&b==this.modifiersWhenPressed10)&&this.clicked(f,c,d,b,1);break;default:return!1}return!0},"~N,~N,~N,~N,~N");e(c$,"processTwoPointGesture",function(a){if(!(2>a[0].length)){var c=a[0],d=a[1],b=c[0],f=c[d.length-1];a=b[0];var g=f[0],b=b[1],f=f[1],h=JU.V3.new3(g-a,f-b,0),k=h.length(),e=d[0],n=d[d.length-1],d=e[0],s=n[0],
e=e[1],n=n[1],w=JU.V3.new3(s-d,n-e,0),F=w.length();1>k||1>F||(h.normalize(),w.normalize(),h=h.dot(w),0.8<h?(a=A(g-c[c.length-2][0]),c=A(f-c[c.length-2][1]),this.vwr.translateXYBy(a,c)):-0.8>h&&(h=JU.V3.new3(d-a,e-b,0),w=JU.V3.new3(s-g,n-f,0),c=w.length()-h.length(),this.wheeled(System.currentTimeMillis(),0>c?-1:1,32)))}},"~A");b(c$,"mouseClicked",function(a){this.clicked(a.getWhen(),a.getX(),a.getY(),a.getModifiers(),a.getClickCount())},"java.awt.event.MouseEvent");b(c$,"mouseEntered",function(a){this.entry(a.getWhen(),
a.getX(),a.getY(),!1)},"java.awt.event.MouseEvent");b(c$,"mouseExited",function(a){this.entry(a.getWhen(),a.getX(),a.getY(),!0)},"java.awt.event.MouseEvent");b(c$,"mousePressed",function(a){this.pressed(a.getWhen(),a.getX(),a.getY(),a.getModifiers(),a.isPopupTrigger())},"java.awt.event.MouseEvent");b(c$,"mouseReleased",function(a){this.released(a.getWhen(),a.getX(),a.getY(),a.getModifiers())},"java.awt.event.MouseEvent");b(c$,"mouseDragged",function(a){var c=a.getModifiers();0==(c&28)&&(c|=16);this.dragged(a.getWhen(),
a.getX(),a.getY(),c)},"java.awt.event.MouseEvent");b(c$,"mouseMoved",function(a){this.moved(a.getWhen(),a.getX(),a.getY(),a.getModifiers())},"java.awt.event.MouseEvent");b(c$,"mouseWheelMoved",function(a){a.consume();this.wheeled(a.getWhen(),a.getWheelRotation(),a.getModifiers())},"java.awt.event.MouseWheelEvent");b(c$,"keyTyped",function(a){a.consume();if(this.vwr.menuEnabled()){var c=a.getKeyChar(),d=a.getModifiers();JU.Logger.debuggingHigh&&JU.Logger.debug("MouseManager keyTyped: "+c+" "+(0+c.charCodeAt(0))+
" "+d);if(0!=d&&1!=d)switch(c){case String.fromCharCode(11):case "k":a=!this.vwr.getBooleanProperty("allowKeyStrokes");switch(d){case 2:this.vwr.setBooleanProperty("allowKeyStrokes",a);this.vwr.setBooleanProperty("showKeyStrokes",!0);break;case 10:case 1:this.vwr.setBooleanProperty("allowKeyStrokes",a),this.vwr.setBooleanProperty("showKeyStrokes",!1)}this.clearKeyBuffer();this.vwr.refresh(3,"showkey");break;case 26:case "z":switch(d){case 2:this.vwr.undoMoveAction(4165,1);break;case 3:this.vwr.undoMoveAction(4139,
1)}break;case 25:case "y":switch(d){case 2:this.vwr.undoMoveAction(4139,1)}}else this.vwr.getBooleanProperty("allowKeyStrokes")&&this.addKeyBuffer(1==a.getModifiers()?Character.toUpperCase(c):c)}},"java.awt.event.KeyEvent");b(c$,"keyPressed",function(a){this.vwr.isApplet&&a.consume();this.manager.keyPressed(a.getKeyCode(),a.getModifiers())},"java.awt.event.KeyEvent");b(c$,"keyReleased",function(a){a.consume();this.manager.keyReleased(a.getKeyCode())},"java.awt.event.KeyEvent");b(c$,"clearKeyBuffer",
function(){0!=this.keyBuffer.length&&(this.keyBuffer="",this.vwr.getBooleanProperty("showKeyStrokes")&&this.vwr.evalStringQuietSync('!set echo _KEYSTROKES; set echo bottom left;echo ""',!0,!0))});b(c$,"addKeyBuffer",function(a){10==a.charCodeAt(0)?this.sendKeyBuffer():(8==a.charCodeAt(0)?0<this.keyBuffer.length&&(this.keyBuffer=this.keyBuffer.substring(0,this.keyBuffer.length-1)):this.keyBuffer+=a,this.vwr.getBooleanProperty("showKeyStrokes")&&this.vwr.evalStringQuietSync("!set echo _KEYSTROKES; set echo bottom left;echo "+
JU.PT.esc("\u0001"+this.keyBuffer),!0,!0))},"~S");b(c$,"sendKeyBuffer",function(){var a=this.keyBuffer;this.vwr.getBooleanProperty("showKeyStrokes")&&this.vwr.evalStringQuietSync("!set echo _KEYSTROKES; set echo bottom left;echo "+JU.PT.esc(this.keyBuffer),!0,!0);this.clearKeyBuffer();this.vwr.evalStringQuietSync(a,!1,!0)});b(c$,"entry",function(a,c,d,b){this.isMouseDown=this.wheeling=!1;this.modifiersDown=0;this.manager.mouseEnterExit(a,c,d,b)},"~N,~N,~N,~B");b(c$,"clicked",function(a,c,d,b){this.clearKeyBuffer();
this.manager.mouseAction(2,a,c,d,1,b)},"~N,~N,~N,~N,~N");b(c$,"moved",function(a,c,d,b){this.clearKeyBuffer();this.isMouseDown?this.manager.mouseAction(1,a,c,d,0,this.modifiersDown):this.manager.mouseAction(0,a,c,d,0,b)},"~N,~N,~N,~N");b(c$,"wheeled",function(a,c,d){this.clearKeyBuffer();this.wheeling=!0;this.manager.mouseAction(3,a,0,c,0,d&-29|32)},"~N,~N,~N");b(c$,"pressed",function(a,c,d,b){this.clearKeyBuffer();this.isMouseDown=!0;this.modifiersDown=b;this.wheeling=!1;this.manager.mouseAction(4,
a,c,d,0,b)},"~N,~N,~N,~N,~B");b(c$,"released",function(a,c,d,b){this.isMouseDown=!1;this.modifiersDown=0;this.wheeling=!1;this.manager.mouseAction(5,a,c,d,0,b)},"~N,~N,~N,~N");b(c$,"dragged",function(a,c,d){this.wheeling||(20==(this.modifiersDown&20)&&(this.modifiersDown=this.modifiersDown&-5|2),this.manager.mouseAction(1,a,c,d,0,this.modifiersDown))},"~N,~N,~N,~N");c$.applyLeftMouse=b(c$,"applyLeftMouse",function(a){return 0==(a&28)?a|16:a},"~N")});l("J.awtjs2d");u(["javajs.api.GenericPlatform"],
"J.awtjs2d.Platform","java.net.URL JU.AjaxURLStreamHandlerFactory $.Rdr $.SB J.api.Interface J.awtjs2d.Display $.Image $.JSFile $.JSFont $.Mouse".split(" "),function(){c$=r(function(){this.context=this.vwr=this.canvas=null;q(this,arguments)},J.awtjs2d,"Platform",null,javajs.api.GenericPlatform);e(c$,"setViewer",function(a,c){this.vwr=a;null==c?(c=document.createElement("canvas"),this.context=c.getContext("2d")):(this.context=c.getContext("2d"),c.imgdata=this.context.getImageData(0,0,c.width,c.height),
c.buf8=c.imgdata.data);this.canvas=c;try{java.net.URL.setURLStreamHandlerFactory(new JU.AjaxURLStreamHandlerFactory)}catch(d){}},"javajs.api.PlatformViewer,~O");e(c$,"isSingleThreaded",function(){return!0});e(c$,"getJsObjectInfo",function(a,c,d){return"localName"==c?a[0].nodeName:null==d?a[0][c]:a[0][c](d[0])},"~A,~S,~A");e(c$,"isHeadless",function(){return!1});e(c$,"getMouseManager",function(a,c){return new J.awtjs2d.Mouse(a,this.vwr,c)},"~N,~O");e(c$,"convertPointFromScreen",function(a,c){J.awtjs2d.Display.convertPointFromScreen(a,
c)},"~O,JU.P3");e(c$,"getFullScreenDimensions",function(a,c){J.awtjs2d.Display.getFullScreenDimensions(a,c)},"~O,~A");e(c$,"getMenuPopup",function(a,c){var d="j"==c?"awtjs2d.JmolJSPopup":"awtjs2d.JSModelKitPopup",b=J.api.Interface.getOption(d,this.vwr,"popup");try{null!=b&&b.jpiInitialize(this.vwr,a)}catch(f){if(C(f,Exception))return System.out.println("Exception creating "+d+":"+f),null;throw f;}return b},"~S,~S");e(c$,"hasFocus",function(a){return J.awtjs2d.Display.hasFocus(a)},"~O");e(c$,"prompt",
function(a,c,d,b){return J.awtjs2d.Display.prompt(a,c,d,b)},"~S,~S,~A,~B");e(c$,"renderScreenImage",function(a,c){J.awtjs2d.Display.renderScreenImage(this.vwr,a,c)},"~O,~O");e(c$,"drawImage",function(a,c,d,b,f,g,h){J.awtjs2d.Display.drawImage(a,c,d,b,f,g,h)},"~O,~O,~N,~N,~N,~N,~B");e(c$,"requestFocusInWindow",function(a){J.awtjs2d.Display.requestFocusInWindow(a)},"~O");e(c$,"repaint",function(){var a=null,a="undefined"!=typeof Jmol&&Jmol._repaint?Jmol:null;null!=a&&a._repaint(this.vwr.html5Applet,
!0)},"~O");e(c$,"setTransparentCursor",function(a){J.awtjs2d.Display.setTransparentCursor(a)},"~O");e(c$,"setCursor",function(a,c){J.awtjs2d.Display.setCursor(a,c)},"~N,~O");e(c$,"allocateRgbImage",function(a,c,d,b,f,g){null==d&&(d=this.grabPixels(null,0,0,null,0,0),a=this.canvas.width,c=this.canvas.height);return J.awtjs2d.Image.allocateRgbImage(a,c,d,b,f,g?null:this.canvas)},"~N,~N,~A,~N,~B,~B");e(c$,"notifyEndOfRendering",function(){});e(c$,"disposeGraphics",function(){},"~O");e(c$,"grabPixels",
function(a,c,d){var b=null,f=null==a;f&&(this.canvas=a=Jmol._loadImage(this,"webgl",""+System.currentTimeMillis(),this.vwr.html5Applet._canvas.toDataURL(),null,null),c=a.imageWidth,d=a.imageHeight,a.imageWidth=0);a.image&&(c!=a.width||d!=a.height)&&Jmol._setCanvasImage(a,c,d);if(a.buf32)return a.buf32;b=a.getContext("2d");c=J.awtjs2d.Image.grabPixels(b,c,d);a.buf32=c;if(f)for(a=c.length;0<=--a;)0==c[a]&&(c[a]=-1);return c},"~O,~N,~N,~A,~N,~N");e(c$,"drawImageToBuffer",function(a,c,d,b,f){return this.grabPixels(d,
b,f,null,0,0)},"~O,~O,~O,~N,~N,~N");e(c$,"getTextPixels",function(a,c,d,b,f,g,h){return J.awtjs2d.Image.getTextPixels(a,c,d,f,g,h)},"~S,javajs.awt.Font,~O,~O,~N,~N,~N");e(c$,"flushImage",function(){},"~O");e(c$,"getGraphics",function(a){return null==a?this.context:a.getContext("2d")},"~O");e(c$,"getImageHeight",function(a){return null==a?-1:J.awtjs2d.Image.getHeight(a)},"~O");e(c$,"getImageWidth",function(a){return null==a?-1:J.awtjs2d.Image.getWidth(a)},"~O");e(c$,"getStaticGraphics",function(a){return this.getGraphics(a)},
"~O,~B");e(c$,"newBufferedImage",function(a,c,d){return J.awtjs2d.Platform.Jmol()._getHiddenCanvas(this.vwr.html5Applet,"stereoImage",c,d)},"~O,~N,~N");e(c$,"newOffScreenImage",function(a,c){return J.awtjs2d.Platform.Jmol()._getHiddenCanvas(this.vwr.html5Applet,"textImage",a,c)},"~N,~N");e(c$,"waitForDisplay",function(){return!1},"~O,~O");e(c$,"createImage",function(a){var c=a[0],d=a[1];a=a[2];var b=this.vwr,f=null==a?b.getEvalContextAndHoldQueue(b.eval):null,g=null,g=function(a,d){b.loadImageData(a,
d,c,f)};return J.awtjs2d.Platform.Jmol()._loadImage(this,c,d,a,g)},"~O");e(c$,"fontStringWidth",function(a,c){return J.awtjs2d.JSFont.stringWidth(a,this.context,c)},"javajs.awt.Font,~S");e(c$,"getFontAscent",function(a){return J.awtjs2d.JSFont.getAscent(a)},"~O");e(c$,"getFontDescent",function(a){return J.awtjs2d.JSFont.getDescent(a)},"~O");e(c$,"getFontMetrics",function(a,c){return J.awtjs2d.JSFont.getFontMetrics(a,null==c?this.context:c)},"javajs.awt.Font,~O");e(c$,"newFont",function(a,c,d,b){return J.awtjs2d.JSFont.newFont(a,
c,d,b,"px")},"~S,~B,~B,~N");e(c$,"getDateFormat",function(a){if(null!=a){if(0<=a.indexOf("8824")){var c=new Date;a=c.toString().split(" ");var d="0"+(1+c.getMonth()),d=d.substring(d.length-2),c="0"+c.getDate(),c=c.substring(c.length-2);return a[3]+d+c+a[4].replace(/\:/g,"")+a[5].substring(3,6)+"'"+a[5].substring(6,8)+"'"}if(0<=a.indexOf("8601")){c=new Date;a=c.toString().split(" ");if(1==a.length)return a;d="0"+(1+c.getMonth());d=d.substring(d.length-2);c="0"+c.getDate();c=c.substring(c.length-2);
return a[3]+"-"+d+"-"+c+"T"+a[4]}}return(""+new Date).split(" (")[0]},"~S");e(c$,"newFile",function(a){return new J.awtjs2d.JSFile(a)},"~S");e(c$,"getBufferedFileInputStream",function(){return null},"~S");e(c$,"getURLContents",function(a,c,d,b){return J.awtjs2d.Platform.getURLContentsStatic(a,c,d,b)},"java.net.URL,~A,~S,~B");c$.getURLContentsStatic=b(c$,"getURLContentsStatic",function(a,c,d,b){a=J.awtjs2d.JSFile.getURLContents(a,c,d);try{return!b?a:p(a,String)?a:p(a,JU.SB)?a.toString():p(a,Array)?
String.instantialize(a):String.instantialize(JU.Rdr.getStreamAsBytes(a,null))}catch(f){if(C(f,Exception))return""+f;throw f;}},"java.net.URL,~A,~S,~B");e(c$,"getLocalUrl",function(){return null},"~S");e(c$,"getImageDialog",function(a,c){return J.awtjs2d.Image.getImageDialog(this.vwr,a,c)},"~S,java.util.Map");c$.Jmol=b(c$,"Jmol",function(){return Jmol})});l("J.bspt");u(null,"J.bspt.Bspf",["JU.AU","J.bspt.Bspt","JU.Logger"],function(){c$=r(function(){this.dimMax=0;this.bspts=null;this.isValid=!1;this.cubeIterators=
this.bsptsValid=null;q(this,arguments)},J.bspt,"Bspf");b(c$,"validateModel",function(a,c){this.bsptsValid[a]=c},"~N,~B");b(c$,"isInitializedIndex",function(a){return this.bspts.length>a&&null!=this.bspts[a]&&this.bsptsValid[a]},"~N");t(c$,function(a){this.dimMax=a;this.bspts=Array(1);this.bsptsValid=ha(1,!1);this.cubeIterators=[]},"~N");b(c$,"addTuple",function(a,c){a>=this.bspts.length&&(this.bspts=JU.AU.arrayCopyObject(this.bspts,a+1),this.bsptsValid=JU.AU.arrayCopyBool(this.bsptsValid,a+1));var d=
this.bspts[a];null==d&&(d=this.bspts[a]=new J.bspt.Bspt(this.dimMax,a));d.addTuple(c)},"~N,JU.P3");b(c$,"stats",function(){for(var a=0;a<this.bspts.length;++a)null!=this.bspts[a]&&this.bspts[a].stats()});b(c$,"dump",function(){for(var a=0;a<this.bspts.length;++a)JU.Logger.info(">>>>\nDumping bspt #"+a+"\n>>>>"),this.bspts[a].dump();JU.Logger.info("<<<<")});b(c$,"getCubeIterator",function(a){if(0>a)return this.getNewCubeIterator(-1-a);a>=this.cubeIterators.length&&(this.cubeIterators=JU.AU.arrayCopyObject(this.cubeIterators,
a+1));null==this.cubeIterators[a]&&null!=this.bspts[a]&&(this.cubeIterators[a]=this.getNewCubeIterator(a));this.cubeIterators[a].set(this.bspts[a]);return this.cubeIterators[a]},"~N");b(c$,"getNewCubeIterator",function(a){return this.bspts[a].allocateCubeIterator()},"~N");b(c$,"initialize",function(a,c,d){null!=this.bspts[a]&&this.bspts[a].reset();for(var b=d.nextSetBit(0);0<=b;b=d.nextSetBit(b+1))this.addTuple(a,c[b]);this.bsptsValid[a]=!0},"~N,~A,JU.BS")});l("J.bspt");u(null,"J.bspt.Bspt",["JU.SB",
"J.bspt.CubeIterator","$.Leaf","JU.Logger"],function(){c$=r(function(){this.index=this.dimMax=this.treeDepth=0;this.eleRoot=null;q(this,arguments)},J.bspt,"Bspt");t(c$,function(a,c){this.dimMax=a;this.index=c;this.reset()},"~N,~N");b(c$,"reset",function(){this.eleRoot=new J.bspt.Leaf(this,null,0);this.treeDepth=1});b(c$,"addTuple",function(a){this.eleRoot=this.eleRoot.addTuple(0,a)},"JU.P3");b(c$,"stats",function(){});b(c$,"dump",function(){var a=new JU.SB;this.eleRoot.dump(0,a);JU.Logger.info(a.toString())});
b(c$,"allocateCubeIterator",function(){return new J.bspt.CubeIterator(this)});D(c$,"leafCountMax",2,"MAX_TREE_DEPTH",100)});l("J.bspt");u(null,"J.bspt.CubeIterator",["J.bspt.Node"],function(){c$=r(function(){this.stack=this.bspt=null;this.leafIndex=this.sp=0;this.leaf=null;this.dz=this.dy=this.dx=this.cz=this.cy=this.cx=this.radius=0;this.tHemisphere=!1;q(this,arguments)},J.bspt,"CubeIterator");t(c$,function(a){this.set(a)},"J.bspt.Bspt");b(c$,"set",function(a){this.bspt=a;this.stack=Array(a.treeDepth)},
"J.bspt.Bspt");b(c$,"initialize",function(a,c,d){this.radius=c;this.tHemisphere=!1;this.cx=a.x;this.cy=a.y;this.cz=a.z;this.leaf=null;this.stack[0]=this.bspt.eleRoot;this.sp=1;this.findLeftLeaf();this.tHemisphere=d},"JU.T3,~N,~B");b(c$,"release",function(){this.set(this.bspt)});b(c$,"hasMoreElements",function(){for(;null!=this.leaf;){for(;this.leafIndex<this.leaf.count;++this.leafIndex)if(this.isWithinRadius(this.leaf.tuples[this.leafIndex]))return!0;this.findLeftLeaf()}return!1});b(c$,"nextElement",
function(){return this.leaf.tuples[this.leafIndex++]});b(c$,"foundDistance2",function(){return this.dx*this.dx+this.dy*this.dy+this.dz*this.dz});b(c$,"findLeftLeaf",function(){this.leaf=null;if(0!=this.sp){for(var a=this.stack[--this.sp];p(a,J.bspt.Node);){var c;switch(a.dim){case 0:c=this.cx;break;case 1:c=this.cy;break;default:c=this.cz}var d=c+this.radius;if(!this.tHemisphere||0!=a.dim)c-=this.radius;if(c<=a.maxLeft&&d>=a.minLeft)d>=a.minRight&&c<=a.maxRight&&(this.stack[this.sp++]=a.eleRight),
a=a.eleLeft;else if(d>=a.minRight&&c<=a.maxRight)a=a.eleRight;else{if(0==this.sp)return;a=this.stack[--this.sp]}}this.leaf=a;this.leafIndex=0}});b(c$,"isWithinRadius",function(a){this.dx=a.x-this.cx;return(!this.tHemisphere||0<=this.dx)&&(this.dx=Math.abs(this.dx))<=this.radius&&(this.dy=Math.abs(a.y-this.cy))<=this.radius&&(this.dz=Math.abs(a.z-this.cz))<=this.radius},"JU.T3")});l("J.bspt");c$=r(function(){this.bspt=null;this.count=0;q(this,arguments)},J.bspt,"Element");l("J.bspt");u(["J.bspt.Element"],
"J.bspt.Leaf",["J.bspt.Node","JU.Escape"],function(){c$=r(function(){this.tuples=null;q(this,arguments)},J.bspt,"Leaf",J.bspt.Element);t(c$,function(a,c,d){this.bspt=a;this.count=0;this.tuples=Array(2);if(null!=c){for(a=d;2>a;++a)this.tuples[this.count++]=c.tuples[a],c.tuples[a]=null;c.count=d}},"J.bspt.Bspt,J.bspt.Leaf,~N");b(c$,"sort",function(a){for(var c=this.count;0<--c;)for(var d=this.tuples[c],b=J.bspt.Node.getDimensionValue(d,a),f=c;0<=--f;){var g=this.tuples[f],h=J.bspt.Node.getDimensionValue(g,
a);h>b&&(this.tuples[c]=g,this.tuples[f]=d,d=g,b=h)}},"~N");e(c$,"addTuple",function(a,c){return 2>this.count?(this.tuples[this.count++]=c,this):(new J.bspt.Node(this.bspt,a,this)).addTuple(a,c)},"~N,JU.P3");e(c$,"dump",function(a,c){for(var d=0;d<this.count;++d){for(var b=this.tuples[d],f=0;f<a;++f)c.append(".");c.append(JU.Escape.eP(b)).append("Leaf ").appendI(d).append(": ").append(b.getInfo())}},"~N,JU.SB");e(c$,"toString",function(){return"leaf:"+this.count+"\n"})});l("J.bspt");u(["J.bspt.Element"],
"J.bspt.Node",["java.lang.NullPointerException","J.bspt.Leaf"],function(){c$=r(function(){this.maxLeft=this.minLeft=this.dim=0;this.eleLeft=null;this.maxRight=this.minRight=0;this.eleRight=null;q(this,arguments)},J.bspt,"Node",J.bspt.Element);t(c$,function(a,c,d){this.bspt=a;c==a.treeDepth&&(a.treeDepth=c+1);if(2!=d.count)throw new NullPointerException;this.dim=c%a.dimMax;d.sort(this.dim);a=new J.bspt.Leaf(a,d,1);this.minLeft=J.bspt.Node.getDimensionValue(d.tuples[0],this.dim);this.maxLeft=J.bspt.Node.getDimensionValue(d.tuples[d.count-
1],this.dim);this.minRight=J.bspt.Node.getDimensionValue(a.tuples[0],this.dim);this.maxRight=J.bspt.Node.getDimensionValue(a.tuples[a.count-1],this.dim);this.eleLeft=d;this.eleRight=a;this.count=2},"J.bspt.Bspt,~N,J.bspt.Leaf");b(c$,"addTuple",function(a,c){var d=J.bspt.Node.getDimensionValue(c,this.dim);++this.count;d<this.maxLeft||(d>this.minRight?0:d==this.maxLeft?d==this.minRight?this.eleLeft.count<this.eleRight.count:1:d==this.minRight?0:this.eleLeft.count<this.eleRight.count)?(d<this.minLeft?
this.minLeft=d:d>this.maxLeft&&(this.maxLeft=d),this.eleLeft=this.eleLeft.addTuple(a+1,c)):(d<this.minRight?this.minRight=d:d>this.maxRight&&(this.maxRight=d),this.eleRight=this.eleRight.addTuple(a+1,c));return this},"~N,JU.P3");b(c$,"dump",function(a,c){c.append("\nnode LEFT"+a);this.eleLeft.dump(a+1,c);for(var d=0;d<a;++d)c.append("->");c.append(" RIGHT"+a);this.eleRight.dump(a+1,c)},"~N,JU.SB");b(c$,"toString",function(){return this.eleLeft.toString()+this.dim+":\n"+this.eleRight.toString()});
c$.getDimensionValue=b(c$,"getDimensionValue",function(a,c){switch(c){case 0:return a.x;case 1:return a.y;default:return a.z}},"JU.P3,~N")});l("J.c");u(["java.lang.Enum"],"J.c.CBK",["JU.SB"],function(){c$=B(J.c,"CBK",Enum);c$.getCallback=b(c$,"getCallback",function(a){a=a.toUpperCase();a=a.substring(0,Math.max(a.indexOf("CALLBACK"),0));for(var c,d=0,b=J.c.CBK.values();d<b.length&&((c=b[d])||1);d++)if(c.name().equalsIgnoreCase(a))return c;return null},"~S");c$.getNameList=b(c$,"getNameList",function(){if(null==
J.c.CBK.nameList){for(var a=new JU.SB,c,d=0,b=J.c.CBK.values();d<b.length&&((c=b[d])||1);d++)a.append(c.name().toLowerCase()).append("Callback;");J.c.CBK.nameList=a.toString()}return J.c.CBK.nameList});c$.nameList=null;E(c$,"ANIMFRAME",0,[]);E(c$,"APPLETREADY",1,[]);E(c$,"ATOMMOVED",2,[]);E(c$,"CLICK",3,[]);E(c$,"DRAGDROP",4,[]);E(c$,"ECHO",5,[]);E(c$,"ERROR",6,[]);E(c$,"EVAL",7,[]);E(c$,"HOVER",8,[]);E(c$,"IMAGE",9,[]);E(c$,"LOADSTRUCT",10,[]);E(c$,"MEASURE",11,[]);E(c$,"MESSAGE",12,[]);E(c$,"MINIMIZATION",
13,[]);E(c$,"SERVICE",14,[]);E(c$,"PICK",15,[]);E(c$,"RESIZE",16,[]);E(c$,"SCRIPT",17,[]);E(c$,"SYNC",18,[]);E(c$,"STRUCTUREMODIFIED",19,[])});l("J.c");u(["java.lang.Enum"],"J.c.FIL",null,function(){c$=r(function(){this.code=0;q(this,arguments)},J.c,"FIL",Enum);b(c$,"getCode",function(){return this.code});t(c$,function(a){this.code=a},"~N");E(c$,"DELETED",0,[5]);E(c$,"CREATED",1,[3]);E(c$,"CREATING_MODELSET",2,[2]);E(c$,"ZAPPED",3,[0]);E(c$,"NOT_LOADED",4,[-1])});l("J.c");u(["java.lang.Enum"],"J.c.PAL",
["java.lang.Byte"],function(){c$=r(function(){this.$$name=null;this.id=0;q(this,arguments)},J.c,"PAL",Enum);t(c$,function(a,c){this.$$name=a;this.id=c},"~S,~N");c$.pidOf=b(c$,"pidOf",function(a){return p(a,J.c.PAL)?a.id:p(a,Byte)?a.byteValue():J.c.PAL.UNKNOWN.id},"~O");c$.isPaletteVariable=b(c$,"isPaletteVariable",function(a){return 0!=(a&64)},"~N");c$.getPalette=b(c$,"getPalette",function(a){if(0>a.indexOf("_"))for(var c,d=0,b=J.c.PAL.values();d<b.length&&((c=b[d])||1);d++)if(a.equalsIgnoreCase(c.$$name))return c;
return 0==a.indexOf("property_")?J.c.PAL.PROPERTY:J.c.PAL.UNKNOWN},"~S");c$.getPaletteID=b(c$,"getPaletteID",function(a){if(0>a.indexOf("_"))for(var c,d=0,b=J.c.PAL.values();d<b.length&&((c=b[d])||1);d++)if(a.equalsIgnoreCase(c.$$name))return c.id;return 0==a.indexOf("property_")?J.c.PAL.PROPERTY.id:J.c.PAL.UNKNOWN.id},"~S");c$.getPaletteName=b(c$,"getPaletteName",function(a){for(var c,d=0,b=J.c.PAL.values();d<b.length&&((c=b[d])||1);d++)if(c.id==a)return c.$$name;return null},"~N");c$.PALETTE_VOLATILE=
64;c$.PALETTE_NONE=0;c$.PALETTE_CPK=1;c$.PALETTE_PARTIAL_CHARGE=2;c$.PALETTE_FORMAL_CHARGE=3;c$.PALETTE_TEMP=68;c$.PALETTE_FIXEDTEMP=5;c$.PALETTE_SURFACE=70;c$.PALETTE_STRUCTURE=7;c$.PALETTE_AMINO=8;c$.PALETTE_SHAPELY=9;c$.PALETTE_CHAIN=10;c$.PALETTE_GROUP=75;c$.PALETTE_MONOMER=76;c$.PALETTE_MOLECULE=77;c$.PALETTE_ALTLOC=14;c$.PALETTE_INSERTION=15;c$.PALETTE_JMOL=16;c$.PALETTE_RASMOL=17;c$.PALETTE_TYPE=18;c$.PALETTE_ENERGY=19;c$.PALETTE_PROPERTY=84;c$.PALETTE_VARIABLE=85;c$.PALETTE_STRAIGHTNESS=86;
c$.PALETTE_POLYMER=87;c$.argbsCpkRasmol=y(-1,[16716947,33554431,50315467,62005794,83951360,113821896,126849023,149946368,165324064,184549631,203590434,226525328,249210144,268412160,285198386,285277952,343965840,377520272,411074704,427851920,452961536,480586282,497363498,514140714,598026794,796950672,899686640,956278016,1339729184]);c$.argbsCpk=y(-1,[4294907027,4294967295,4292476927,4291592447,4290969344,4294948277,4287664272,4281356536,4294905101,4287684688,4289979381,4289420530,4287299328,4290750118,
4293970080,4294934528,4294967088,4280283167,4286632419,4287578324,4282253056,4293322470,4290757319,4289111723,4287273415,4288445127,4292896307,4293955744,4283486288,4291330099,4286415024,4290940815,4284911503,4290609379,4294942976,4289079593,4284266705,4285542064,4278255360,4287954943,4287946976,4285776585,4283741621,4282097310,4280586127,4278877580,4278217093,4290822336,4294957455,4289099123,4284907648,4288570293,4292114944,4287889556,4282556080,4283897743,4278241536,4285584639,4294967239,4292476871,
4291297223,4288937927,4287627207,4284612551,4282777543,4281401287,4280287175,4278255516,4278249077,4278244434,4278239032,4278233892,4283286271,4283279103,4280390870,4280712619,4280706710,4279719047,4291875040,4294955299,4290296016,4289090637,4283914593,4288565173,4289420288,4285878085,4282548886,4282515558,4278222080,4285574138,4278237951,4278231551,4278226943,4278223103,4278217727,4283718898,4286078179,4287254499,4288755412,4289929172,4289929146,4289924518,4290579847,4291231846,4291559513,4291887183,
4292411461,4292870200,4293263406,4293591078]);E(c$,"UNKNOWN",0,[null,255]);E(c$,"NONE",1,["none",0]);E(c$,"CPK",2,["cpk",1]);E(c$,"PARTIAL_CHARGE",3,["partialcharge",2]);E(c$,"FORMAL_CHARGE",4,["formalcharge",3]);E(c$,"TEMP",5,["temperature",68]);E(c$,"FIXEDTEMP",6,["fixedtemperature",5]);E(c$,"SURFACE",7,["surfacedistance",70]);E(c$,"STRUCTURE",8,["structure",7]);E(c$,"AMINO",9,["amino",8]);E(c$,"SHAPELY",10,["shapely",9]);E(c$,"CHAIN",11,["chain",10]);E(c$,"GROUP",12,["group",75]);E(c$,"MONOMER",
13,["monomer",76]);E(c$,"MOLECULE",14,["molecule",77]);E(c$,"ALTLOC",15,["altloc",14]);E(c$,"INSERTION",16,["insertion",15]);E(c$,"JMOL",17,["jmol",16]);E(c$,"RASMOL",18,["rasmol",17]);E(c$,"TYPE",19,["type",18]);E(c$,"ENERGY",20,["energy",19]);E(c$,"PROPERTY",21,["property",84]);E(c$,"VARIABLE",22,["variable",85]);E(c$,"STRAIGHTNESS",23,["straightness",86]);E(c$,"POLYMER",24,["polymer",87])});l("J.c");u(["java.lang.Enum"],"J.c.STER",null,function(){c$=r(function(){this.$$name=null;this.$isBiColor=
!1;q(this,arguments)},J.c,"STER",Enum);t(c$,function(a,c){this.$$name=a;this.$isBiColor=c},"~S,~B");b(c$,"getName",function(){return this.$$name});b(c$,"isBiColor",function(){return this.$isBiColor});c$.getStereoMode=b(c$,"getStereoMode",function(a){for(var c,d=0,b=J.c.STER.values();d<b.length&&((c=b[d])||1);d++)if(c.$$name.equalsIgnoreCase(a))return c;return null},"~S");E(c$,"NONE",0,["OFF",!1]);E(c$,"DOUBLE",1,["",!1]);E(c$,"REDCYAN",2,["REDCYAN",!0]);E(c$,"REDBLUE",3,["REDBLUE",!0]);E(c$,"REDGREEN",
4,["REDGREEN",!0]);E(c$,"DTI",5,["DTI",!1]);E(c$,"CUSTOM",6,["",!0])});l("J.c");u(["java.lang.Enum"],"J.c.STR",null,function(){c$=r(function(){this.color=this.id=0;q(this,arguments)},J.c,"STR",Enum);t(c$,function(a,c){this.id=a;this.color=c},"~N,~N");b(c$,"getId",function(){return this.id});b(c$,"getColor",function(){return this.color});c$.getProteinStructureType=b(c$,"getProteinStructureType",function(a){for(var c,d=0,b=J.c.STR.values();d<b.length&&((c=b[d])||1);d++)if(a.equalsIgnoreCase(c.name()))return c.isProtein()?
c:J.c.STR.NOT;return J.c.STR.NOT},"~S");b(c$,"getBioStructureTypeName",function(a){return 0>this.id?"":a&&this.isProtein()?"protein":this.name()},"~B");b(c$,"isProtein",function(){return 0<=this.id&&3>=this.id||7<=this.id});E(c$,"NOT",0,[-1,4286611584]);E(c$,"NONE",1,[0,4294967295]);E(c$,"TURN",2,[1,4284514559]);E(c$,"SHEET",3,[2,4294952960]);E(c$,"HELIX",4,[3,4294901888]);E(c$,"DNA",5,[4,4289593598]);E(c$,"RNA",6,[5,4294771042]);E(c$,"CARBOHYDRATE",7,[6,4289111802]);E(c$,"HELIX310",8,[7,4288675968]);
E(c$,"HELIXALPHA",9,[8,4294901888]);E(c$,"HELIXPI",10,[9,4284481664]);E(c$,"ANNOTATION",11,[-2,0])});l("J.c");u(["java.lang.Enum"],"J.c.VDW",null,function(){c$=r(function(){this.pt=0;this.type2=this.type=null;q(this,arguments)},J.c,"VDW",Enum);t(c$,function(a,c,d){this.pt=a;this.type=c;this.type2=d},"~N,~S,~S");b(c$,"getVdwLabel",function(){return null==this.type?this.type2:this.type});c$.getVdwType=b(c$,"getVdwType",function(a){if(null!=a)for(var c,d=0,b=J.c.VDW.values();d<b.length&&((c=b[d])||1);d++)if(a.equalsIgnoreCase(c.type))return c;
return null},"~S");c$.getVdwType2=b(c$,"getVdwType2",function(a){if(null!=a)for(var c,d=0,b=J.c.VDW.values();d<b.length&&((c=b[d])||1);d++)if(a.equalsIgnoreCase(c.type2))return c;return null},"~S");E(c$,"JMOL",0,[0,"Jmol",null]);E(c$,"BABEL",1,[1,"Babel",null]);E(c$,"RASMOL",2,[2,"RasMol",null]);E(c$,"BABEL21",3,[3,"Babel21",null]);E(c$,"AUTO_JMOL",4,[0,null,"Jmol"]);E(c$,"AUTO_BABEL",5,[1,null,"Babel"]);E(c$,"AUTO_RASMOL",6,[2,null,"RasMol"]);E(c$,"AUTO",7,[0,"Auto",null]);E(c$,"USER",8,[-1,"User",
null]);E(c$,"ADPMAX",9,[-1,null,"adpmax"]);E(c$,"ADPMIN",10,[-1,null,"adpmin"]);E(c$,"HYDRO",11,[-1,null,"hydrophobic"]);E(c$,"BONDING",12,[-1,null,"bondingradius"]);E(c$,"TEMP",13,[-1,null,"temperature"]);E(c$,"NOJMOL",14,[-1,null,null]);E(c$,"NADA",15,[-1,null,null])});l("J.g3d");u(null,"J.g3d.CylinderRenderer",["JU.AU","$.P3"],function(){c$=r(function(){this.shader=this.line3d=this.g3d=null;this.colixB=this.colixA=0;this.shadesB=this.shadesA=null;this.dzBf=this.dyBf=this.dxBf=this.zAf=this.yAf=
this.xAf=this.dzB=this.dyB=this.dxB=this.zA=this.yA=this.xA=0;this.tEvenDiameter=!1;this.endcaps=this.diameter=0;this.tEndcapOpen=!1;this.sinPhi=this.cosPhi=this.cosTheta=this.radius2=this.radius=this.endcapShadeIndex=this.colixEndcap=this.argbEndcap=this.zEndcap=this.yEndcap=this.xEndcap=0;this.clipped=!1;this.rasterCount=0;this.ptB0=this.ptA0=this.xyzfRaster=this.xyztRaster=null;this.zTip=this.yTip=this.xTip=0;q(this,arguments)},J.g3d,"CylinderRenderer");M(c$,function(){this.xyztRaster=x(-1,[G(32,
0),G(32,0),G(32,0),G(32,0)]);this.xyzfRaster=x(-1,[y(32,0),y(32,0),y(32,0),y(32,0)])});t(c$,function(a){this.g3d=a;this.line3d=a.line3d;this.shader=a.shader},"J.g3d.Graphics3D");b(c$,"renderOld",function(a,c,d,b,f,g,h,k,e,n,s){var w=v(f/2)+1,F=this.g3d,z=F.clipCode3(g-w,h-w,k-w),l=F.clipCode3(g+w,h+w,k+w),p=F.clipCode3(e-w,n-w,s-w),w=F.clipCode3(e+w,n+w,s+w),q=z|l|p|w;this.clipped=0!=q;if(!(-1==q||0!=(z&w&l&p)))if(this.dxB=e-g,this.dyB=n-h,this.dzB=s-k,1>=f)this.line3d.plotLineDeltaOld(F.getColorArgbOrGray(a),
F.getColorArgbOrGray(c),g,h,k,this.dxB,this.dyB,this.dzB,this.clipped);else{e=0==d&&(this.clipped||2==b||0==b);this.diameter=f;this.xA=g;this.yA=h;this.zA=k;this.endcaps=b;this.shadesA=F.getShades(this.colixA=a);this.shadesB=F.getShades(this.colixB=c);this.calcArgbEndcap(!0,!1);this.calcCosSin(this.dxB,this.dyB,this.dzB);this.calcPoints(3,!1);this.interpolate(0,1,this.xyzfRaster,this.xyztRaster);this.interpolate(1,2,this.xyzfRaster,this.xyztRaster);k=this.xyzfRaster;(2==b||4==b)&&this.renderFlatEndcap(!0,
!1,k);F.setZMargin(5);a=F.width;c=F.zbuf;f=k[0];g=k[1];h=k[2];k=k[3];n=F.pixel;for(s=this.rasterCount;0<=--s;)z=k[s]>>8,l=z>>1,p=f[s],w=g[s],q=h[s],this.tEndcapOpen&&0!=this.argbEndcap&&(this.clipped?(F.plotPixelClippedArgb(this.argbEndcap,this.xEndcap+p,this.yEndcap+w,this.zEndcap-q-1,a,c,n),F.plotPixelClippedArgb(this.argbEndcap,this.xEndcap-p,this.yEndcap-w,this.zEndcap+q-1,a,c,n)):(F.plotPixelUnclipped(this.argbEndcap,this.xEndcap+p,this.yEndcap+w,this.zEndcap-q-1,a,c,n),F.plotPixelUnclipped(this.argbEndcap,
this.xEndcap-p,this.yEndcap-w,this.zEndcap+q-1,a,c,n))),this.line3d.plotLineDeltaAOld(this.shadesA,this.shadesB,d,z,this.xA+p,this.yA+w,this.zA-q,this.dxB,this.dyB,this.dzB,this.clipped),e&&this.line3d.plotLineDeltaOld(this.shadesA[l],this.shadesB[l],this.xA-p,this.yA-w,this.zA+q,this.dxB,this.dyB,this.dzB,this.clipped);F.setZMargin(0);3==b&&this.renderSphericalEndcaps()}},"~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N");b(c$,"renderBits",function(a,c,d,b,f,g,h){var k=this.g3d;if(0==f||1==f)this.line3d.plotLineBits(k.getColorArgbOrGray(a),
k.getColorArgbOrGray(c),g,h);else{null==this.ptA0&&(this.ptA0=new JU.P3,this.ptB0=new JU.P3);this.ptA0.setT(g);var e=v(f/2)+1,n=Math.round(g.x),s=Math.round(g.y),w=Math.round(g.z),F=Math.round(h.x),z=Math.round(h.y),l=Math.round(h.z),p=k.clipCode3(n-e,s-e,w-e),n=k.clipCode3(n+e,s+e,w+e),s=k.clipCode3(F-e,z-e,l-e),e=k.clipCode3(F+e,z+e,l+e),F=p|n|s|e;this.clipped=0!=F;if(!(-1==F||0!=(p&e&n&s))){this.dxBf=h.x-g.x;this.dyBf=h.y-g.y;this.dzBf=h.z-g.z;0<f&&(this.diameter=f,this.xAf=g.x,this.yAf=g.y,this.zAf=
g.z);g=0==d&&(this.clipped||2==b||0==b);this.xA=A(this.xAf);this.yA=A(this.yAf);this.zA=A(this.zAf);this.dxB=A(this.dxBf);this.dyB=A(this.dyBf);this.dzB=A(this.dzBf);this.shadesA=k.getShades(this.colixA=a);this.shadesB=k.getShades(this.colixB=c);this.endcaps=b;this.calcArgbEndcap(!0,!0);F=this.xyzfRaster;0<f&&this.generateBaseEllipsePrecisely(!1);2==b&&this.renderFlatEndcap(!0,!0,F);this.line3d.setLineBits(this.dxBf,this.dyBf);k.setZMargin(5);f=k.pixel;a=k.width;c=k.zbuf;h=F[0];p=F[1];e=F[2];F=F[3];
for(z=this.rasterCount;0<=--z;){var l=F[z]>>8,n=l>>1,s=h[z],w=p[z],q=e[z];this.tEndcapOpen&&0!=this.argbEndcap&&(this.clipped?(k.plotPixelClippedArgb(this.argbEndcap,this.xEndcap+s,this.yEndcap+w,this.zEndcap-q-1,a,c,f),k.plotPixelClippedArgb(this.argbEndcap,this.xEndcap-s,this.yEndcap-w,this.zEndcap+q-1,a,c,f)):(k.plotPixelUnclipped(this.argbEndcap,this.xEndcap+s,this.yEndcap+w,this.zEndcap-q-1,a,c,f),k.plotPixelUnclipped(this.argbEndcap,this.xEndcap-s,this.yEndcap-w,this.zEndcap+q-1,a,c,f)));this.ptA0.set(this.xA+
s,this.yA+w,this.zA-q);this.ptB0.setT(this.ptA0);this.ptB0.x+=this.dxB;this.ptB0.y+=this.dyB;this.ptB0.z+=this.dzB;this.line3d.plotLineDeltaABits(this.shadesA,this.shadesB,l,this.ptA0,this.ptB0,d,this.clipped);g&&(this.ptA0.set(this.xA-s,this.yA-w,this.zA+q),this.ptB0.setT(this.ptA0),this.ptB0.x+=this.dxB,this.ptB0.y+=this.dyB,this.ptB0.z+=this.dzB,this.line3d.plotLineDeltaABits(this.shadesA,this.shadesB,n,this.ptA0,this.ptB0,d,this.clipped))}k.setZMargin(0);3==b&&this.renderSphericalEndcaps();this.xAf+=
this.dxBf;this.yAf+=this.dyBf;this.zAf+=this.dzBf}}},"~N,~N,~N,~N,~N,JU.P3,JU.P3");b(c$,"renderConeOld",function(a,c,d,b,f,g,h,k,e,n,s){this.dxBf=h-(this.xAf=b);this.dyBf=k-(this.yAf=f);this.dzBf=e-(this.zAf=g);this.xA=v(Math.floor(this.xAf));this.yA=v(Math.floor(this.yAf));this.zA=v(Math.floor(this.zAf));this.dxB=v(Math.floor(this.dxBf));this.dyB=v(Math.floor(this.dyBf));this.dzB=v(Math.floor(this.dzBf));this.xTip=h;this.yTip=k;this.zTip=e;this.shadesA=this.g3d.getShades(this.colixA=a);var w=this.shader.getShadeIndex(this.dxB,
this.dyB,-this.dzB);a=this.g3d;b=a.pixel;f=a.width;g=a.zbuf;a.plotPixelClippedArgb(this.shadesA[w],A(h),A(k),A(e),f,g,b);this.diameter=d;if(1>=d)1==d&&this.line3d.plotLineDeltaOld(this.colixA,this.colixA,this.xA,this.yA,this.zA,this.dxB,this.dyB,this.dzB,this.clipped);else{this.endcaps=c;this.calcArgbEndcap(!1,!0);this.generateBaseEllipsePrecisely(s);!s&&2==this.endcaps&&this.renderFlatEndcap(!1,!0,this.xyzfRaster);a.setZMargin(5);c=this.xyztRaster[0];d=this.xyztRaster[1];h=this.xyztRaster[2];k=this.xyzfRaster[3];
e=this.shadesA;for(var w=this.tEndcapOpen&&0!=this.argbEndcap,F=this.rasterCount;0<=--F;){var z=c[F],l=d[F],p=h[F],q=k[F]>>8,t=this.xAf+z,r=this.yAf+l,u=this.zAf-p,z=this.xAf-z,l=this.yAf-l,p=this.zAf+p,x=e[0];w&&(a.plotPixelClippedArgb(this.argbEndcap,A(t),A(r),A(u),f,g,b),a.plotPixelClippedArgb(this.argbEndcap,A(z),A(l),A(p),f,g,b));0!=x&&(this.line3d.plotLineDeltaAOld(e,e,0,q,A(t),A(r),A(u),v(Math.ceil(this.xTip-t)),v(Math.ceil(this.yTip-r)),v(Math.ceil(this.zTip-u)),!0),n&&(this.line3d.plotLineDeltaAOld(e,
e,0,q,A(t),A(r)+1,A(u),v(Math.ceil(this.xTip-t)),v(Math.ceil(this.yTip-r))+1,v(Math.ceil(this.zTip-u)),!0),this.line3d.plotLineDeltaAOld(e,e,0,q,A(t)+1,A(r),A(u),v(Math.ceil(this.xTip-t))+1,v(Math.ceil(this.yTip-r)),v(Math.ceil(this.zTip-u)),!0)),!s&&!(2!=this.endcaps&&0<this.dzB)&&this.line3d.plotLineDeltaOld(x,x,A(z),A(l),A(p),v(Math.ceil(this.xTip-z)),v(Math.ceil(this.yTip-l)),v(Math.ceil(this.zTip-p)),!0))}a.setZMargin(0)}},"~N,~N,~N,~N,~N,~N,~N,~N,~N,~B,~B");b(c$,"generateBaseEllipsePrecisely",
function(a){this.calcCosSin(this.dxBf,this.dyBf,this.dzBf);this.calcPoints(a?2:3,!0);this.interpolatePrecisely(0,1,this.xyzfRaster,this.xyztRaster);a||this.interpolatePrecisely(1,2,this.xyzfRaster,this.xyztRaster);for(a=3;0<=--a;)for(var c=this.rasterCount;0<=--c;)this.xyzfRaster[a][c]=v(Math.floor(this.xyztRaster[a][c]))},"~B");b(c$,"calcPoints",function(a,c){this.calcRotatedPoint(0,0,c,this.xyzfRaster,this.xyztRaster);this.calcRotatedPoint(0.5,1,c,this.xyzfRaster,this.xyztRaster);3==(this.rasterCount=
a)&&this.calcRotatedPoint(1,2,c,this.xyzfRaster,this.xyztRaster)},"~N,~B");b(c$,"calcCosSin",function(a,c,d){var b=a*a+c*c;if(0==b)this.cosPhi=this.cosTheta=1,this.sinPhi=0;else{var f=Math.sqrt(b),b=Math.sqrt(b+d*d);this.cosTheta=d/b;this.cosPhi=a/f;this.sinPhi=c/f}},"~N,~N,~N");b(c$,"calcRotatedPoint",function(a,c,d,b,f){f[3][c]=a;a*=3.141592653589793;var g=Math.sin(a)*this.cosTheta,h=Math.cos(a);a=this.radius*(g*this.cosPhi-h*this.sinPhi);g=this.radius*(g*this.sinPhi+h*this.cosPhi);h=this.radius2-
(a*a+g*g);h=0<h?Math.sqrt(h):0;d?(f[0][c]=a,f[1][c]=g,f[2][c]=h):(this.tEvenDiameter?(b[0][c]=v(a-0.5),b[1][c]=v(g-0.5)):(b[0][c]=v(a),b[1][c]=v(g)),b[2][c]=v(h+0.5));b[3][c]=this.shader.getShadeFp8(a,g,h)},"~N,~N,~B,~A,~A");b(c$,"allocRaster",function(a,c,d){if(this.rasterCount>=c[0].length)for(;this.rasterCount>=c[0].length;){for(var b=4;0<=--b;)c[b]=JU.AU.doubleLengthI(c[b]);d[3]=JU.AU.doubleLengthF(d[3])}if(a)for(;this.rasterCount>=d[0].length;)for(b=3;0<=--b;)d[b]=JU.AU.doubleLengthF(d[b]);return this.rasterCount++},
"~B,~A,~A");b(c$,"interpolate",function(a,c,d,b){var f=d[0],g=d[1],f=f[c]-f[a];0>f&&(f=-f);g=g[c]-g[a];0>g&&(g=-g);if(!(1>=f+g)){for(var h=this.allocRaster(!1,d,b),f=d[0],g=d[1],k=d[3],e=b[3][a],n=b[3][c],s=4;0<=--s;){var w=(e+n)/2;this.calcRotatedPoint(w,h,!1,d,b);if(f[h]==f[a]&&g[h]==g[a])k[a]=k[a]+k[h]>>>1,e=w;else if(f[h]==f[c]&&g[h]==g[c])k[c]=k[c]+k[h]>>>1,n=w;else{this.interpolate(a,h,d,b);this.interpolate(h,c,d,b);return}}f[h]=f[a];g[h]=g[c]}},"~N,~N,~A,~A");b(c$,"interpolatePrecisely",function(a,
c,d,b){var f=b[0],g=b[1],h=v(Math.floor(f[c]))-v(Math.floor(f[a]));0>h&&(h=-h);g=v(Math.floor(g[c]))-v(Math.floor(g[a]));0>g&&(g=-g);if(!(1>=h+g)){for(var g=b[3],h=g[a],k=g[c],e=this.allocRaster(!0,d,b),f=b[0],g=b[1],n=d[3],s=4;0<=--s;){var w=(h+k)/2;this.calcRotatedPoint(w,e,!0,d,b);if(v(Math.floor(f[e]))==v(Math.floor(f[a]))&&v(Math.floor(g[e]))==v(Math.floor(g[a])))n[a]=n[a]+n[e]>>>1,h=w;else if(v(Math.floor(f[e]))==v(Math.floor(f[c]))&&v(Math.floor(g[e]))==v(Math.floor(g[c])))n[c]=n[c]+n[e]>>>
1,k=w;else{this.interpolatePrecisely(a,e,d,b);this.interpolatePrecisely(e,c,d,b);return}}f[e]=f[a];g[e]=g[c]}},"~N,~N,~A,~A");b(c$,"renderFlatEndcap",function(a,c,d){var b,f;if(c){if(0==this.dzBf||!this.g3d.setC(this.colixEndcap))return;c=this.xAf;b=this.yAf;f=this.zAf;a&&0>this.dzBf&&(c+=this.dxBf,b+=this.dyBf,f+=this.dzBf);c=A(c);b=A(b);f=A(f)}else{if(0==this.dzB||!this.g3d.setC(this.colixEndcap))return;c=this.xA;b=this.yA;f=this.zA;if(a&&0>this.dzB){if(4==this.endcaps)return;c+=this.dxB;b+=this.dyB;
f+=this.dzB}}var g=d[1][0];a=d[1][0];var h=0,k=0,e=d[0],n=d[1];d=d[2];for(var s=this.rasterCount;0<--s;){var w=n[s];w<g?g=w:w>a?a=w:(w=-w,w<g?g=w:w>a&&(a=w))}for(w=g;w<=a;++w){for(var g=2147483647,F=-2147483648,s=this.rasterCount;0<=--s;){if(n[s]==w){var z=e[s];z<g&&(g=z,h=d[s]);z>F&&(F=z,k=d[s])}n[s]==-w&&(z=-e[s],z<g&&(g=z,h=-d[s]),z>F&&(F=z,k=-d[s]))}s=F-g+1;this.g3d.setColorNoisy(this.endcapShadeIndex);this.g3d.plotPixelsClippedRaster(s,c+g,b+w,f-h-1,f-k-1,null,null)}},"~B,~B,~A");b(c$,"renderSphericalEndcaps",
function(){0!=this.colixA&&this.g3d.setC(this.colixA)&&this.g3d.fillSphereXYZ(this.diameter,this.xA,this.yA,this.zA+1);0!=this.colixB&&this.g3d.setC(this.colixB)&&this.g3d.fillSphereXYZ(this.diameter,this.xA+this.dxB,this.yA+this.dyB,this.zA+this.dzB+1)});b(c$,"calcArgbEndcap",function(a,c){this.tEvenDiameter=0==(this.diameter&1);this.radius=this.diameter/2;this.radius2=this.radius*this.radius;this.tEndcapOpen=!1;var d=c?this.dzBf:this.dzB;if(!(3==this.endcaps||0==d)){this.xEndcap=this.xA;this.yEndcap=
this.yA;this.zEndcap=this.zA;var b=c?this.dxBf:this.dxB,f=c?this.dyBf:this.dyB;0<=d||!a?(this.endcapShadeIndex=this.shader.getShadeIndex(-b,-f,d),this.colixEndcap=this.colixA,d=this.shadesA):(this.endcapShadeIndex=this.shader.getShadeIndex(b,f,-d),this.colixEndcap=this.colixB,d=this.shadesB,this.xEndcap+=this.dxB,this.yEndcap+=this.dyB,this.zEndcap+=this.dzB);56<this.endcapShadeIndex&&(this.endcapShadeIndex=56);this.argbEndcap=d[this.endcapShadeIndex];this.tEndcapOpen=1==this.endcaps}},"~B,~B")});
l("J.g3d");I(J.g3d,"G3DRenderer");l("J.g3d");u(["J.api.JmolRendererInterface","JU.GData","JU.V3"],"J.g3d.Graphics3D","java.lang.NullPointerException java.util.Arrays javajs.awt.Font JU.AU J.api.Interface J.c.STER J.g3d.CylinderRenderer $.LineRenderer $.Pixelator $.PixelatorScreened $.PixelatorShaded $.PixelatorT $.Platform3D $.SphereRenderer $.TextRenderer $.TextString JU.C $.Normix".split(" "),function(){c$=r(function(){this.hermite3d=this.circle3d=this.triangle3d=this.cylinder3d=this.sphere3d=this.line3d=
this.platform=null;this.antialias2=this.isFullSceneAntialiasingEnabled=!1;this.strings=null;this.stringCount=0;this.anaglyphChannelBytes=null;this.$haveTranslucentObjects=this.twoPass=!1;this.zbufT=this.zbuf=this.pbufT=this.pbuf=null;this.translucencyMask=0;this.renderLow=!1;this.shadesCurrent=null;this.anaglyphLength=0;this.pixelShaded=this.pixelScreened=this.pixelT0=this.pixel0=this.pixel=null;this.zMargin=0;this.aobuf=null;this.translucencyLog=this.lastRawColor=this.currentShadeIndex=0;this.wasScreened=
!1;this.saveDiffuse=this.saveAmbient=0;this.shadeIndexes2Sided=this.shadeIndexes=this.vectorNormal=this.vectorAC=this.vectorAB=null;this.pass2Flag01=0;q(this,arguments)},J.g3d,"Graphics3D",JU.GData,J.api.JmolRendererInterface);M(c$,function(){this.vectorAB=new JU.V3;this.vectorAC=new JU.V3;this.vectorNormal=new JU.V3;this.shadeIndexes=O(JU.GData.normixCount,0);this.shadeIndexes2Sided=O(JU.GData.normixCount,0)});e(c$,"clear",function(){this.stringCount=0;this.strings=null;J.g3d.TextRenderer.clearFontCache()});
e(c$,"destroy",function(){this.releaseBuffers();this.graphicsForMetrics=this.pixel=this.pixel0=this.pixelScreened=this.pixelShaded=this.platform=null});b(c$,"setZMargin",function(a){this.zMargin=a},"~N");t(c$,function(){H(this,J.g3d.Graphics3D,[]);for(var a=JU.GData.normixCount;0<=--a;)this.transformedVectors[a]=new JU.V3});e(c$,"initialize",function(a,c){this.vwr=a;this.apiPlatform=c;this.platform=new J.g3d.Platform3D(c);this.pixel=this.pixel0=new J.g3d.Pixelator(this);this.graphicsForMetrics=this.platform.getGraphicsForMetrics();
this.line3d=new J.g3d.LineRenderer(this);this.sphere3d=new J.g3d.SphereRenderer(this);this.cylinder3d=new J.g3d.CylinderRenderer(this)},"JV.Viewer,javajs.api.GenericPlatform");e(c$,"addRenderer",function(a){switch(a){case 1073741880:null==this.circle3d&&(this.circle3d=this.getRenderer("Circle"));break;case 553648147:null==this.hermite3d&&(this.hermite3d=this.getRenderer("Hermite"));case 1073742182:null==this.triangle3d&&(this.triangle3d=this.getRenderer("Triangle"),this.triangle3d.isOrthographic=
!this.vwr.tm.perspectiveDepth)}},"~N");b(c$,"getRenderer",function(a){a=J.api.Interface.getOption("g3d."+a+"Renderer",this.vwr,"render");if(null==a)throw new NullPointerException("Interface");a.set(this,this);return a},"~S");e(c$,"setWindowParameters",function(a,c,d){this.setWinParams(a,c,d);this.currentlyRendering&&this.endRendering()},"~N,~N,~B");e(c$,"checkTranslucent",function(a){a&&(this.$haveTranslucentObjects=!0);return!this.twoPass||this.twoPass&&this.isPass2==a},"~B");e(c$,"beginRendering",
function(a,c,d,b){this.currentlyRendering&&this.endRendering();this.renderLow=b;if(this.windowWidth!=this.newWindowWidth||this.windowHeight!=this.newWindowHeight||this.newAntialiasing!=this.isFullSceneAntialiasingEnabled)this.windowWidth=this.newWindowWidth,this.windowHeight=this.newWindowHeight,this.isFullSceneAntialiasingEnabled=this.newAntialiasing,this.releaseBuffers();this.setRotationMatrix(a);this.line3d.isOrthographic=!this.vwr.tm.perspectiveDepth;null!=this.triangle3d&&(this.triangle3d.isOrthographic=
!this.vwr.tm.perspectiveDepth);this.antialiasEnabled=this.antialiasThisFrame=this.newAntialiasing;this.currentlyRendering=!0;if(null!=this.strings)for(a=Math.min(this.strings.length,this.stringCount);0<=--a;)this.strings[a]=null;this.stringCount=0;this.twoPass=!0;this.isPass2=!1;this.colixCurrent=this.pass2Flag01=0;this.$haveTranslucentObjects=this.wasScreened=!1;this.pixel=this.pixel0;this.translucentCoverOnly=!c;null==this.pbuf&&(this.platform.allocateBuffers(this.windowWidth,this.windowHeight,
this.antialiasThisFrame,d),this.pbuf=this.platform.pBuffer,this.zbuf=this.platform.zBuffer,this.aobuf=null,this.pixel0.setBuf(),null!=this.pixelT0&&this.pixelT0.setBuf());this.setWidthHeight(this.antialiasThisFrame);null!=this.pixelScreened&&(this.pixelScreened.width=this.width);this.platform.clearBuffer();null!=this.backgroundImage&&this.plotImage(-2147483648,0,-2147483648,this.backgroundImage,null,0,0,0);this.textY=0},"JU.M3,~B,~B,~B");e(c$,"setBackgroundTransparent",function(a){null!=this.platform&&
this.platform.setBackgroundTransparent(a)},"~B");b(c$,"releaseBuffers",function(){this.aobuf=this.zbufT=this.pbufT=this.zbuf=this.pbuf=null;this.platform.releaseBuffers();this.line3d.clearLineCache()});e(c$,"setPass2",function(a){if(!this.$haveTranslucentObjects||!this.currentlyRendering)return!1;this.isPass2=!0;this.pass2Flag01=1;this.colixCurrent=0;if(null==this.pbufT||this.antialias2!=a)this.platform.allocateTBuffers(a),this.pbufT=this.platform.pBufferT,this.zbufT=this.platform.zBufferT;this.antialias2=
a;this.antialiasThisFrame&&!this.antialias2&&this.downsampleFullSceneAntialiasing(!0);this.platform.clearTBuffer();null==this.pixelT0&&(this.pixelT0=new J.g3d.PixelatorT(this));null==this.pixel.p0?this.pixel=this.pixelT0:this.pixel.p0=this.pixelT0;return!0},"~B");e(c$,"endRendering",function(){if(this.currentlyRendering){if(null!=this.pbuf){if(this.isPass2&&null!=this.pbufT)for(var a=this.pbufT.length;0<=--a;)J.g3d.Graphics3D.mergeBufferPixel(this.pbuf,a,this.pbufT[a],this.bgcolor);this.pixel===this.pixelShaded&&
0==this.pixelShaded.zShadePower&&this.pixelShaded.showZBuffer();this.antialiasThisFrame&&this.downsampleFullSceneAntialiasing(!1)}this.platform.setBackgroundColor(this.bgcolor);this.platform.notifyEndOfRendering();this.currentlyRendering=this.isPass2=!1}});c$.mergeBufferPixel=b(c$,"mergeBufferPixel",function(a,c,d,b){if(0!=d){var f=a[c];if(f!=d){0==f&&(f=b);b=f&16711935;var f=f&65280,g=d&16711935,h=d&65280;switch(d>>24&15){case 0:b=g;f=h;break;case 1:b=(g<<2)+(g<<1)+g+b>>3&16711935;f=(h<<2)+ +(h<<
1)+h+f>>3&65280;break;case 2:b=(g<<1)+g+b>>2&16711935;f=(h<<1)+h+f>>2&65280;break;case 3:b=(g<<2)+g+(b<<1)+b>>3&16711935;f=(h<<2)+h+(f<<1)+f>>3&65280;break;case 4:b=b+g>>1&16711935;f=f+h>>1&65280;break;case 5:b=(g<<1)+g+(b<<2)+b>>3&16711935;f=(h<<1)+h+(f<<2)+f>>3&65280;break;case 6:b=(b<<1)+b+g>>2&16711935;f=(f<<1)+f+h>>2&65280;break;case 7:b=(b<<2)+(b<<1)+b+g>>3&16711935,f=(f<<2)+(f<<1)+f+h>>3&65280}a[c]=4278190080|b|f}}},"~A,~N,~N,~N");e(c$,"getScreenImage",function(a){var c=this.platform.bufferedImage;
a&&this.releaseBuffers();return c},"~B");e(c$,"applyAnaglygh",function(a,c){switch(a){case J.c.STER.REDCYAN:for(var d=this.anaglyphLength;0<=--d;){var b=this.anaglyphChannelBytes[d]&255;this.pbuf[d]=this.pbuf[d]&4294901760|b<<8|b}break;case J.c.STER.CUSTOM:for(var b=c[0],f=c[1]&16777215,d=this.anaglyphLength;0<=--d;){var g=this.anaglyphChannelBytes[d]&255,g=(g|(g|g<<8)<<8)&f;this.pbuf[d]=this.pbuf[d]&b|g}break;case J.c.STER.REDBLUE:for(d=this.anaglyphLength;0<=--d;)b=this.anaglyphChannelBytes[d]&
255,this.pbuf[d]=this.pbuf[d]&4294901760|b;break;case J.c.STER.REDGREEN:for(d=this.anaglyphLength;0<=--d;)this.pbuf[d]=this.pbuf[d]&4294901760|(this.anaglyphChannelBytes[d]&255)<<8}},"J.c.STER,~A");e(c$,"snapshotAnaglyphChannelBytes",function(){if(this.currentlyRendering)throw new NullPointerException;this.anaglyphLength=this.windowWidth*this.windowHeight;if(null==this.anaglyphChannelBytes||this.anaglyphChannelBytes.length!=this.anaglyphLength)this.anaglyphChannelBytes=O(this.anaglyphLength,0);for(var a=
this.anaglyphLength;0<=--a;)this.anaglyphChannelBytes[a]=this.pbuf[a]});e(c$,"releaseScreenImage",function(){this.platform.clearScreenBufferThreaded()});e(c$,"haveTranslucentObjects",function(){return this.$haveTranslucentObjects});e(c$,"setSlabAndZShade",function(a,c,d,b,f){this.setSlab(a);this.setDepth(c);d<b?(null==this.pixelShaded&&(this.pixelShaded=new J.g3d.PixelatorShaded(this)),this.pixel=this.pixelShaded.set(d,b,f)):this.pixel=this.pixel0},"~N,~N,~N,~N,~N");b(c$,"downsampleFullSceneAntialiasing",
function(a){var c=this.bgcolor;a&&(c+=255==(c&255)?-1:1);J.g3d.Graphics3D.downsample2d(this.pbuf,this.windowWidth,this.windowHeight,c);a&&(J.g3d.Graphics3D.downsample2dZ(this.pbuf,this.zbuf,this.windowWidth,this.windowHeight,c),this.antialiasThisFrame=!1,this.setWidthHeight(!1))},"~B");c$.downsample2d=b(c$,"downsample2d",function(a,c,d,b){var f=c<<1;if(0!=b){b&=16777215;for(var g=a.length;0<=--g;)0==a[g]&&(a[g]=b)}for(var h=(b>>2&1061109567)<<2,h=h+((h&3233857728)>>6),k=0,e=0,g=d;0<=--g;e+=f)for(d=
c;0<=--d;++k){var n=(a[e]>>2&1061109567)+(a[e++ +f]>>2&1061109567)+(a[e]>>2&1061109567)+(a[e++ +f]>>2&1061109567),n=n+((n&3233857728)>>6);n==h&&(n=b);a[k]=n&16777215|4278190080}},"~A,~N,~N,~N");c$.downsample2dZ=b(c$,"downsample2dZ",function(a,c,d,b,f){for(var g=d<<1,h=0,k=0;0<=--b;k+=g)for(var e=d;0<=--e;++h,++k){var n=Math.min(c[k],c[k+g]),n=Math.min(n,c[++k]),n=Math.min(n,c[k+g]);2147483647!=n&&(n>>=1);c[h]=a[h]==f?2147483647:n}},"~A,~A,~N,~N,~N");b(c$,"hasContent",function(){return this.platform.hasContent()});
e(c$,"setC",function(a){var c=JU.C.isColixLastAvailable(a);if(!c&&a==this.colixCurrent&&-1==this.currentShadeIndex)return!0;var d=a&30720;if(16384==d)return!1;this.renderLow&&(d=0);var b=0!=d,f=b&&30720==d;this.setScreened(f);if(!this.checkTranslucent(b&&!f))return!1;this.isPass2?(this.translucencyMask=d<<13|16777215,this.translucencyLog=d>>11):this.translucencyLog=0;this.colixCurrent=a;c&&this.argbCurrent!=this.lastRawColor&&(0==this.argbCurrent&&(this.argbCurrent=4294967295),this.lastRawColor=this.argbCurrent,
this.shader.setLastColix(this.argbCurrent,this.inGreyscaleMode));this.shadesCurrent=this.getShades(a);this.currentShadeIndex=-1;this.setColor(this.getColorArgbOrGray(a));return!0},"~N");b(c$,"setScreened",function(a){this.wasScreened!=a&&((this.wasScreened=a)?(null==this.pixelScreened&&(this.pixelScreened=new J.g3d.PixelatorScreened(this,this.pixel0)),null==this.pixel.p0?this.pixel=this.pixelScreened:this.pixel.p0=this.pixelScreened):null==this.pixel.p0||this.pixel===this.pixelScreened?this.pixel=
this.isPass2?this.pixelT0:this.pixel0:this.pixel.p0=this.isPass2?this.pixelT0:this.pixel0);return this.pixel},"~B");e(c$,"drawFilledCircle",function(a,c,d,b,f,g){if(!this.isClippedZ(g)){var h=v((d+1)/2),h=b<h||b+h>=this.width||f<h||f+h>=this.height;if(!h||!this.isClippedXY(d,b,f))0!=a&&this.setC(a)&&(h?this.isClippedXY(d,b,f)||this.circle3d.plotCircleCenteredClipped(b,f,g,d):this.circle3d.plotCircleCenteredUnclipped(b,f,g,d)),0!=c&&this.setC(c)&&(h?this.circle3d.plotFilledCircleCenteredClipped(b,
f,g,d):this.circle3d.plotFilledCircleCenteredUnclipped(b,f,g,d))}},"~N,~N,~N,~N,~N,~N");e(c$,"volumeRender4",function(a,c,d,b){if(1==a)this.plotPixelClippedArgb(this.argbCurrent,c,d,b,this.width,this.zbuf,this.pixel);else if(!this.isClippedZ(b)){var f=v((a+1)/2),f=c<f||c+f>=this.width||d<f||d+f>=this.height;if(!f||!this.isClippedXY(a,c,d))f?this.circle3d.plotFilledCircleCenteredClipped(c,d,b,a):this.circle3d.plotFilledCircleCenteredUnclipped(c,d,b,a)}},"~N,~N,~N,~N");e(c$,"fillSphereXYZ",function(a,
c,d,b){switch(a){case 1:this.plotPixelClippedArgb(this.argbCurrent,c,d,b,this.width,this.zbuf,this.pixel);return;case 0:return}a<=(this.antialiasThisFrame?2E3:1E3)&&this.sphere3d.render(this.shadesCurrent,a,c,d,b,null,null,null,-1,null)},"~N,~N,~N,~N");e(c$,"volumeRender",function(a){a?(this.saveAmbient=this.getAmbientPercent(),this.saveDiffuse=this.getDiffusePercent(),this.setAmbientPercent(100),this.setDiffusePercent(0),this.addRenderer(1073741880)):(this.setAmbientPercent(this.saveAmbient),this.setDiffusePercent(this.saveDiffuse))},
"~B");e(c$,"fillSphereI",function(a,c){this.fillSphereXYZ(a,c.x,c.y,c.z)},"~N,JU.P3i");e(c$,"fillSphereBits",function(a,c){this.fillSphereXYZ(a,Math.round(c.x),Math.round(c.y),Math.round(c.z))},"~N,JU.P3");e(c$,"fillEllipsoid",function(a,c,d,b,f,g,h,k,e,n,s){switch(g){case 1:this.plotPixelClippedArgb(this.argbCurrent,d,b,f,this.width,this.zbuf,this.pixel);return;case 0:return}g<=(this.antialiasThisFrame?2E3:1E3)&&this.sphere3d.render(this.shadesCurrent,g,d,b,f,h,k,e,n,s)},"JU.P3,~A,~N,~N,~N,~N,JU.M3,~A,JU.M4,~N,~A");
e(c$,"drawRect",function(a,c,d,b,f,g){if(!(0!=b&&this.isClippedZ(b))){b=f-1;g-=1;f=a+b;var h=c+g;0<=c&&c<this.height&&this.drawHLine(a,c,d,b);0<=h&&h<this.height&&this.drawHLine(a,h,d,b);0<=a&&a<this.width&&this.drawVLine(a,c,d,g);0<=f&&f<this.width&&this.drawVLine(f,c,d,g)}},"~N,~N,~N,~N,~N,~N");b(c$,"drawHLine",function(a,c,d,b){0>b&&(a+=b,b=-b);0>a&&(b+=a,a=0);a+b>=this.width&&(b=this.width-1-a);var f=this.pixel,g=this.argbCurrent;a+=this.width*c;for(c=0;c<=b;c++)d<this.zbuf[a]&&f.addPixel(a,d,
g),a++},"~N,~N,~N,~N");b(c$,"drawVLine",function(a,c,d,b){0>b&&(c+=b,b=-b);0>c&&(b+=c,c=0);c+b>=this.height&&(b=this.height-1-c);a+=this.width*c;c=this.pixel;for(var f=this.argbCurrent,g=0;g<=b;g++)d<this.zbuf[a]&&c.addPixel(a,d,f),a+=this.width},"~N,~N,~N,~N");e(c$,"fillTextRect",function(a,c,d,b,f,g){if(!this.isClippedZ(b)){b=this.width;if(0>a){f+=a;if(0>=f)return;a=0}if(a+f>b&&(f=b-a,0>=f))return;if(0>c){g+=c;if(0>=g)return;c=0}c+g>this.height&&(g=this.height-c);for(var h=this.argbCurrent,k=this.zbuf,
e=this.pixel;0<=--g;)this.plotPixelsUnclippedCount(h,f,a,c++,d,b,k,e)}},"~N,~N,~N,~N,~N,~N");e(c$,"drawString",function(a,c,d,b,f,g,h){this.currentShadeIndex=0;null!=a&&(this.isClippedZ(g)||this.drawStringNoSlab(a,c,d,b,f,h))},"~S,javajs.awt.Font,~N,~N,~N,~N,~N");e(c$,"drawStringNoSlab",function(a,c,d,b,f,g){if(null!=a){null==this.strings&&(this.strings=Array(10));this.stringCount==this.strings.length&&(this.strings=JU.AU.doubleLength(this.strings));var h=new J.g3d.TextString;h.setText(a,null==c?
this.currentFont:this.currentFont=c,this.argbCurrent,JU.C.isColixTranslucent(g)?this.getColorArgbOrGray(g)&16777215|(g&30720)<<13:0,d,b,f);this.strings[this.stringCount++]=h}},"~S,javajs.awt.Font,~N,~N,~N,~N");e(c$,"renderAllStrings",function(a){if(null!=this.strings){2<=this.stringCount&&(null==J.g3d.Graphics3D.sort&&(J.g3d.Graphics3D.sort=new J.g3d.TextString),java.util.Arrays.sort(this.strings,J.g3d.Graphics3D.sort));for(var c=0;c<this.stringCount;c++){var d=this.strings[c];this.plotText(d.x,d.y,
d.z,d.argb,d.bgargb,d.text,d.font,a)}this.strings=null;this.stringCount=0}},"~O");e(c$,"plotText",function(a,c,d,b,f,g,h,k){J.g3d.TextRenderer.plot(a,c,d,b,f,g,h,this,k,this.antialiasThisFrame)},"~N,~N,~N,~N,~N,~S,javajs.awt.Font,J.api.JmolRendererInterface");e(c$,"drawImage",function(a,c,d,b,f,g,h,k){null!=a&&(0<h&&0<k&&!this.isClippedZ(f))&&this.plotImage(c,d,b,a,null,g,h,k)},"~O,~N,~N,~N,~N,~N,~N,~N");e(c$,"plotImage",function(a,c,d,b,f,g,h,k){this.setC(g);this.isPass2||(this.translucencyMask=
-1);0==g&&(this.argbCurrent=0);var e=-2147483648==a;g=e?this.bgcolor:this.argbCurrent;e&&(a=0,d=2147483646,h=this.width,k=this.height);if(!(0>=a+h||a>=this.width||0>=c+k||c>=this.height))if(b=this.apiPlatform.drawImageToBuffer(null,this.platform.offscreenImage,b,h,k,e?g:0),null!=b){var e=this.zbuf,n=this.width,s=this.pixel,w=this.height,F=this.translucencyLog;if(null==f&&0<=a&&a+h<=n&&0<=c&&c+k<=w){var z=0,l=0;for(a=c*n+a;z<k;z++,a+=n-h)for(var p=0;p<h;p++,l++,a++)if(d<e[a]){var q=b[l];-16777216==
(q&4278190080)&&s.addPixel(a,d,q)}}else{null==f&&(f=this);for(l=z=0;z<k;z++)for(p=0;p<h;p++)q=b[l++],-16777216==(q&4278190080)&&f.plotImagePixel(q,a+p,c+z,d,8,g,n,w,e,s,F)}}},"~N,~N,~N,~O,J.api.JmolRendererInterface,~N,~N,~N");e(c$,"setFontFid",function(a){this.currentFont=javajs.awt.Font.getFont3D(a)},"~N");e(c$,"setFont",function(a){this.currentFont=a},"javajs.awt.Font");e(c$,"drawPixel",function(a,c,d){this.plotPixelClippedArgb(this.argbCurrent,a,c,d,this.width,this.zbuf,this.pixel)},"~N,~N,~N");
e(c$,"drawPoints",function(a,c,d){if(1<d)for(var b=0.8*d*d,f=-d;f<d;f++)for(var g=-d;g<d;g++)f*f+g*g>b||(this.plotPoints(a,c,f,g),this.plotPoints(a,c,f,g));else this.plotPoints(a,c,0,0)},"~N,~A,~N");e(c$,"drawDashedLineBits",function(a,c,d,b){this.line3d.plotDashedLineBits(this.argbCurrent,a,c,d,b)},"~N,~N,JU.P3,JU.P3");e(c$,"drawDottedLineBits",function(a,c){this.line3d.plotDashedLineBits(this.argbCurrent,2,1,a,c)},"JU.P3,JU.P3");e(c$,"drawLineXYZ",function(a,c,d,b,f,g){this.line3d.plotLineOld(this.argbCurrent,
this.argbCurrent,a,c,d,b,f,g,!0)},"~N,~N,~N,~N,~N,~N");e(c$,"drawLine",function(a,c,d,b,f,g,h,k){this.setC(a)||(a=0);var e=this.argbCurrent;this.setC(c)||(c=0);(0!=a||0!=c)&&this.line3d.plotLineOld(e,this.argbCurrent,d,b,f,g,h,k,!0)},"~N,~N,~N,~N,~N,~N,~N,~N");e(c$,"drawLineBits",function(a,c,d,b){this.setC(a)||(a=0);var f=this.argbCurrent;this.setC(c)||(c=0);(0!=a||0!=c)&&this.line3d.plotLineBits(f,this.argbCurrent,d,b)},"~N,~N,JU.P3,JU.P3");e(c$,"drawLineAB",function(a,c){this.line3d.plotLineBits(this.argbCurrent,
this.argbCurrent,a,c)},"JU.P3,JU.P3");e(c$,"fillCylinderXYZ",function(a,c,d,b,f,g,h,k,e,n){if(!(b>this.ht3)){var s=0;this.currentShadeIndex=0;this.setC(c)||(c=0);this.wasScreened&&(s=2);this.setC(a)||(a=0);this.wasScreened&&(s+=1);0==a&&0==c||this.cylinder3d.renderOld(a,c,s,d,b,f,g,h,k,e,n)}},"~N,~N,~N,~N,~N,~N,~N,~N,~N,~N");e(c$,"fillCylinderScreen3I",function(a,c,d,b){c<=this.ht3&&this.cylinder3d.renderOld(this.colixCurrent,this.colixCurrent,0,a,c,A(d.x),A(d.y),A(d.z),A(b.x),A(b.y),A(b.z))},"~N,~N,JU.P3,JU.P3,JU.P3,JU.P3,~N");
e(c$,"fillCylinder",function(a,c,d,b){c<=this.ht3&&this.cylinder3d.renderOld(this.colixCurrent,this.colixCurrent,0,a,c,d.x,d.y,d.z,b.x,b.y,b.z)},"~N,~N,JU.P3i,JU.P3i");e(c$,"fillCylinderBits",function(a,c,d,b){c<=this.ht3&&(1!=d.z&&1!=b.z)&&this.cylinder3d.renderBits(this.colixCurrent,this.colixCurrent,0,a,c,d,b)},"~N,~N,JU.P3,JU.P3");e(c$,"fillCylinderBits2",function(a,c,d,b,f,g){if(!(b>this.ht3)){var h=0;this.currentShadeIndex=0;this.setC(c)||(c=0);this.wasScreened&&(h=2);this.setC(a)||(a=0);this.wasScreened&&
(h+=1);0==a&&0==c||this.cylinder3d.renderBits(a,c,h,d,b,f,g)}},"~N,~N,~N,~N,JU.P3,JU.P3");e(c$,"fillConeScreen3f",function(a,c,d,b,f){c<=this.ht3&&this.cylinder3d.renderConeOld(this.colixCurrent,a,c,d.x,d.y,d.z,b.x,b.y,b.z,!0,f)},"~N,~N,JU.P3,JU.P3,~B");e(c$,"drawHermite4",function(a,c,d,b,f){this.hermite3d.renderHermiteRope(!1,a,0,0,0,c,d,b,f)},"~N,JU.P3,JU.P3,JU.P3,JU.P3");e(c$,"drawHermite7",function(a,c,d,b,f,g,h,k,e,n,s,w,F){if(0==F)this.hermite3d.renderHermiteRibbon(a,c,d,b,f,g,h,k,e,n,s,w,
0);else{this.hermite3d.renderHermiteRibbon(a,c,d,b,f,g,h,k,e,n,s,w,1);var z=this.colixCurrent;this.setC(F);this.hermite3d.renderHermiteRibbon(a,c,d,b,f,g,h,k,e,n,s,w,-1);this.setC(z)}},"~B,~B,~N,JU.P3,JU.P3,JU.P3,JU.P3,JU.P3,JU.P3,JU.P3,JU.P3,~N,~N");e(c$,"fillHermite",function(a,c,d,b,f,g,h,k){this.hermite3d.renderHermiteRope(!0,a,c,d,b,f,g,h,k)},"~N,~N,~N,~N,JU.P3,JU.P3,JU.P3,JU.P3");e(c$,"drawTriangle3C",function(a,c,d,b,f,g,h){1==(h&1)&&this.drawLine(c,b,a.x,a.y,a.z,d.x,d.y,d.z);2==(h&2)&&this.drawLine(b,
g,d.x,d.y,d.z,f.x,f.y,f.z);4==(h&4)&&this.drawLine(c,g,a.x,a.y,a.z,f.x,f.y,f.z)},"JU.P3i,~N,JU.P3i,~N,JU.P3i,~N,~N");e(c$,"fillTriangleTwoSided",function(a,c,d,b){this.setColorNoisy(this.getShadeIndex(a));this.triangle3d.fillTriangleP3f(c,d,b,!1,!0)},"~N,JU.P3,JU.P3,JU.P3");e(c$,"fillTriangle3f",function(a,c,d,b){var f=this.getShadeIndexP3(a,c,d);b?this.setColorNoisy(f):this.setColor(this.shadesCurrent[f]);this.triangle3d.fillTriangleP3f(a,c,d,!1,!0)},"JU.P3,JU.P3,JU.P3,~B");e(c$,"fillTriangle3i",
function(a,c,d,b,f,g,h){h&&(b=this.vectorAB,b.set(c.x-a.x,c.y-a.y,c.z-a.z),null==d?b=this.shader.getShadeIndex(-b.x,-b.y,b.z):(this.vectorAC.set(d.x-a.x,d.y-a.y,d.z-a.z),b.cross(b,this.vectorAC),b=0<=b.z?this.shader.getShadeIndex(-b.x,-b.y,b.z):this.shader.getShadeIndex(b.x,b.y,-b.z)),56<b&&(b=56),this.setColorNoisy(b));this.triangle3d.fillTriangleP3f(a,c,d,!1,!1)},"JU.P3,JU.P3,JU.P3,JU.T3,JU.T3,JU.T3,~B");e(c$,"fillTriangle3CN",function(a,c,d,b,f,g,h,k,e){this.triangle3d.fillTriangleP3i(a,b,h,this.checkGouraud(c,
f,k,d,g,e))},"JU.P3i,~N,~N,JU.P3i,~N,~N,JU.P3i,~N,~N");e(c$,"fillTriangle3CNBits",function(a,c,d,b,f,g,h,k,e){this.triangle3d.fillTriangleP3f(a,b,h,this.checkGouraud(c,f,k,d,g,e),!0)},"JU.P3,~N,~N,JU.P3,~N,~N,JU.P3,~N,~N");b(c$,"checkGouraud",function(a,c,d,b,f,g){if(!this.isPass2&&b==f&&b==g&&a==c&&a==d){c=this.getShadeIndex(b);if(a!=this.colixCurrent||this.currentShadeIndex!=c)this.currentShadeIndex=-1,this.setC(a),this.setColorNoisy(c);return!1}this.setTriangleTranslucency(a,c,d);this.triangle3d.setGouraud(this.getShades(a)[this.getShadeIndex(b)],
this.getShades(c)[this.getShadeIndex(f)],this.getShades(d)[this.getShadeIndex(g)]);return!0},"~N,~N,~N,~N,~N,~N");b(c$,"getShadeIndex",function(a){return-1E4==a||9999==a?J.g3d.Graphics3D.nullShadeIndex:0>a?this.shadeIndexes2Sided[~a]:this.shadeIndexes[a]},"~N");b(c$,"setTriangleTranslucency",function(a,c,d){this.isPass2&&(a&=14336,c&=14336,d&=14336,this.translucencyMask=(JU.GData.roundInt(v((a+c+d)/3))&30720)<<13|16777215)},"~N,~N,~N");e(c$,"fillQuadrilateral",function(a,c,d,b){var f=this.getShadeIndexP3(a,
c,d);this.setColorNoisy(f);this.triangle3d.fillTriangleP3f(a,c,d,!1,!0);this.triangle3d.fillTriangleP3f(a,d,b,!1,!0)},"JU.P3,JU.P3,JU.P3,JU.P3");e(c$,"drawSurface",function(){},"JU.MeshSurface,~N");e(c$,"plotPixelClippedP3i",function(a){this.plotPixelClippedArgb(this.argbCurrent,a.x,a.y,a.z,this.width,this.zbuf,this.pixel)},"JU.P3i");b(c$,"plotPixelClippedArgb",function(a,c,d,b,f,g,h){this.isClipped3(c,d,b)||(c=d*f+c,b<g[c]&&h.addPixel(c,b,a))},"~N,~N,~N,~N,~N,~A,J.g3d.Pixelator");b(c$,"plotPixelUnclipped",
function(a,c,d,b,f,g,h){c=d*f+c;b<g[c]&&h.addPixel(c,b,a)},"~N,~N,~N,~N,~N,~A,J.g3d.Pixelator");b(c$,"plotImagePixel",function(a,c,d,b,f,g,h,k,e,n,s){0>c||(c>=h||0>d||d>=k)||(c=d*h+c,b<e[c]&&(8==f?n.addPixel(c,b,a):(f+=s,7>=f&&this.shadeTextPixel(c,b,a,g,f,e))))},"~N,~N,~N,~N,~N,~N,~N,~N,~A,~O,~N");b(c$,"plotPixelsClippedRaster",function(a,c,d,b,f,g,h){var k,e;if(!(0>=a||0>d||d>=this.height||c>=this.width||b<(e=this.slab)&&f<e||b>(k=this.depth)&&f>k)){var n=this.zbuf,s=(c<<16)+(d<<1)^858993459,w=
(b<<10)+512;b=f-b;f=v(a/2);b=JU.GData.roundInt(v(((b<<10)+(0<=b?f:-f))/a));if(0>c){c=-c;w+=b*c;a-=c;if(0>=a)return;c=0}a+c>this.width&&(a=this.width-c);c=d*this.width+c;d=this.pixel;if(null==g){g=this.argbNoisyDn;f=this.argbNoisyUp;for(var F=this.argbCurrent;0<=--a;){h=w>>10;if(h>=e&&h<=k&&h<n[c]){var s=(s<<16)+(s<<1)+s&2147483647,z=s>>16&7;d.addPixel(c,h,0==z?g:1==z?f:F)}++c;w+=b}}else{s=g.r<<8;f=v((h.r-g.r<<8)/a);F=g.g;z=v((h.g-F)/a);g=g.b;for(var l=v((h.b-g)/a);0<=--a;)h=w>>10,h>=e&&(h<=k&&h<n[c])&&
d.addPixel(c,h,4278190080|s&16711680|F&65280|g>>8&255),++c,w+=b,s+=f,F+=z,g+=l}}},"~N,~N,~N,~N,~N,JU.Rgb16,JU.Rgb16");b(c$,"plotPixelsUnclippedRaster",function(a,c,d,b,f,g,h){if(!(0>=a)){var k=((c<<16)+(d<<1)^858993459)&2147483647,e=(b<<10)+512;b=f-b;f=v(a/2);b=JU.GData.roundInt(v(((b<<10)+(0<=b?f:-f))/a));c=d*this.width+c;d=this.zbuf;f=this.pixel;if(null==g){g=this.argbNoisyDn;for(var n=this.argbNoisyUp,s=this.argbCurrent;0<=--a;){h=e>>10;if(h<d[c]){var k=(k<<16)+(k<<1)+k&2147483647,w=k>>16&7;f.addPixel(c,
h,0==w?g:1==w?n:s)}++c;e+=b}}else{k=g.r<<8;n=JU.GData.roundInt(v((h.r-g.r<<8)/a));s=g.g;w=JU.GData.roundInt(v((h.g-s)/a));g=g.b;for(var F=JU.GData.roundInt(v((h.b-g)/a));0<=--a;)h=e>>10,h<d[c]&&f.addPixel(c,h,4278190080|k&16711680|s&65280|g>>8&255),++c,e+=b,k+=n,s+=w,g+=F}}},"~N,~N,~N,~N,~N,JU.Rgb16,JU.Rgb16");b(c$,"plotPixelsClippedRasterBits",function(a,c,d,b,f,g,h,k,e){var n,s;if(!(0>=a||0>d||d>=this.height||c>=this.width||b<(s=this.slab)&&f<s||b>(n=this.depth)&&f>n)){b=this.zbuf;var w=(c<<16)+
(d<<1)^858993459;if(0>c){a-=-c;if(0>=a)return;c=0}a+c>this.width&&(a=this.width-c);d=d*this.width+c;f=this.pixel;if(null==g){g=this.argbNoisyDn;for(var F=this.argbNoisyUp,z=this.argbCurrent;0<=--a;){h=this.line3d.getZCurrent(k,e,c++);if(h>=s&&h<=n&&h<b[d]){var w=(w<<16)+(w<<1)+w&2147483647,l=w>>16&7;f.addPixel(d,h,2>l?g:6>l?F:z)}++d}}else{w=g.r<<8;F=v((h.r-g.r<<8)/a);z=g.g;l=v((h.g-z)/a);g=g.b;for(var p=v((h.b-g)/a);0<=--a;)h=this.line3d.getZCurrent(k,e,c++),h>=s&&(h<=n&&h<b[d])&&f.addPixel(d,h,4278190080|
w&16711680|z&65280|g>>8&255),++d,w+=F,z+=l,g+=p}}},"~N,~N,~N,~N,~N,JU.Rgb16,JU.Rgb16,~N,~N");b(c$,"plotPixelsUnclippedRasterBits",function(a,c,d,b,f,g,h){if(!(0>=a)){var k=((c<<16)+(d<<1)^858993459)&2147483647;d=d*this.width+c;var e=this.zbuf,n=this.pixel;if(null==b)for(var s=this.argbNoisyDn,w=this.argbNoisyUp,F=this.argbCurrent;0<=--a;)f=this.line3d.getZCurrent(g,h,c++),f<e[d]&&(k=(k<<16)+(k<<1)+k&2147483647,b=k>>16&7,n.addPixel(d,f,0==b?s:1==b?w:F)),++d;else{k=b.r<<8;s=JU.GData.roundInt(v((f.r-
b.r<<8)/a));w=b.g;F=JU.GData.roundInt(v((f.g-w)/a));b=b.b;for(var z=JU.GData.roundInt(v((f.b-b)/a));0<=--a;)f=this.line3d.getZCurrent(g,h,c++),f<e[d]&&n.addPixel(d,f,4278190080|k&16711680|w&65280|b>>8&255),++d,k+=s,w+=F,b+=z}}},"~N,~N,~N,JU.Rgb16,JU.Rgb16,~N,~N");b(c$,"plotPixelsUnclippedCount",function(a,c,d,b,f,g,h,k){for(d=b*g+d;0<=--c;)f<h[d]&&k.addPixel(d,f,a),++d},"~N,~N,~N,~N,~N,~N,~A,J.g3d.Pixelator");b(c$,"plotPoints",function(a,c,d,b){var f=this.pixel,g=this.argbCurrent,h=this.zbuf,k=this.width,
e=this.antialiasThisFrame;for(a*=3;0<a;){var n=c[--a],s=c[--a]+b,w=c[--a]+d;if(!this.isClipped3(w,s,n)){var F=s*k+w++;n<h[F]&&f.addPixel(F,n,g);e&&(F=s*k+w,!this.isClipped3(w,s,n)&&n<h[F]&&f.addPixel(F,n,g),F=++s*k+w,!this.isClipped3(w,s,n)&&n<h[F]&&f.addPixel(F,n,g),F=s*k+--w,!this.isClipped3(w,s,n)&&n<h[F]&&f.addPixel(F,n,g))}}},"~N,~A,~N,~N");b(c$,"setColorNoisy",function(a){this.currentShadeIndex=a;this.argbCurrent=this.shadesCurrent[a];this.argbNoisyUp=this.shadesCurrent[63>a?a+1:63];this.argbNoisyDn=
this.shadesCurrent[0<a?a-1:0]},"~N");b(c$,"getShadeIndexP3",function(a,c,d){this.vectorAB.sub2(c,a);this.vectorAC.sub2(d,a);a=this.vectorNormal;a.cross(this.vectorAB,this.vectorAC);return 0<=a.z?this.shader.getShadeIndex(-a.x,-a.y,a.z):this.shader.getShadeIndex(a.x,a.y,-a.z)},"JU.P3,JU.P3,JU.P3");e(c$,"renderBackground",function(a){null!=this.backgroundImage&&this.plotImage(-2147483648,0,-2147483648,this.backgroundImage,a,0,0,0)},"J.api.JmolRendererInterface");e(c$,"drawAtom",function(a){this.fillSphereXYZ(a.sD,
a.sX,a.sY,a.sZ)},"JM.Atom");e(c$,"getExportType",function(){return 0});e(c$,"getExportName",function(){return null});b(c$,"canDoTriangles",function(){return!0});b(c$,"isCartesianExport",function(){return!1});e(c$,"initializeExporter",function(){return null},"JV.Viewer,~N,JU.GData,java.util.Map");e(c$,"finalizeOutput",function(){return null});e(c$,"drawBond",function(){},"JU.P3,JU.P3,~N,~N,~N,~N,~N");e(c$,"drawEllipse",function(){return!1},"JU.P3,JU.P3,JU.P3,~B,~B");b(c$,"getPrivateKey",function(){return 0});
e(c$,"clearFontCache",function(){J.g3d.TextRenderer.clearFontCache()});b(c$,"setRotationMatrix",function(a){for(var c=JU.Normix.getVertexVectors(),d=JU.GData.normixCount;0<=--d;){var b=this.transformedVectors[d];a.rotate2(c[d],b);this.shadeIndexes[d]=this.shader.getShadeB(b.x,-b.y,b.z);this.shadeIndexes2Sided[d]=0<=b.z?this.shadeIndexes[d]:this.shader.getShadeB(-b.x,b.y,-b.z)}},"JU.M3");e(c$,"renderCrossHairs",function(a,c,d,b,f){c=this.isAntialiased();this.setC(0>f?10:100<f?11:23);f=Math.max(Math.min(this.width,
Math.round(b.x)),0);d=Math.max(Math.min(this.height,Math.round(b.y)),0);var g=Math.round(b.z)+1,h=c?8:4,k=c?20:10;c=c?2:1;this.drawRect(f-h,d,g,0,k,c);this.drawRect(f,d-h,g,0,c,k);this.drawRect(f-h,d-h,g,0,k,k);h=k;k>>=1;this.setC(a[1]<b.x?21:11);this.drawRect(f-h,d,g,0,k,c);this.setC(a[0]>b.x?21:11);this.drawRect(f+k,d,g,0,k,c);this.setC(a[3]<b.y?21:11);this.drawRect(f,d-h,g,0,c,k);this.setC(a[2]>b.y?21:11);this.drawRect(f,d+k,g,0,c,k)},"~A,~N,~N,JU.P3,~N");e(c$,"initializeOutput",function(){return!1},
"JV.Viewer,~N,java.util.Map");b(c$,"shadeTextPixel",function(a,c,d,b,f,g){0!=b&&J.g3d.Graphics3D.mergeBufferPixel(this.pbuf,a,b,this.bgcolor);J.g3d.Graphics3D.mergeBufferPixel(this.pbuf,a,d&16777215|f<<24,this.bgcolor);g[a]=c},"~N,~N,~N,~N,~N,~A");D(c$,"sort",null,"nullShadeIndex",50)});l("J.g3d");u(["J.g3d.PrecisionRenderer","java.util.Hashtable"],"J.g3d.LineRenderer",["java.lang.Float","JU.BS","$.P3"],function(){c$=r(function(){this.lineBits=this.shader=this.g3d=null;this.slope=0;this.lineTypeX=
!1;this.nBits=0;this.ptBtrimmed=this.ptAtrimmed=this.slopeKey=this.lineCache=null;this.z2t=this.y2t=this.x2t=this.z1t=this.y1t=this.x1t=0;q(this,arguments)},J.g3d,"LineRenderer",J.g3d.PrecisionRenderer);M(c$,function(){this.lineCache=new java.util.Hashtable});t(c$,function(a){H(this,J.g3d.LineRenderer,[]);this.g3d=a;this.shader=a.shader},"J.g3d.Graphics3D");b(c$,"setLineBits",function(a,c){this.slope=0!=a?c/a:0<=c?3.4028235E38:-3.4028235E38;this.nBits=(this.lineTypeX=1>=this.slope&&-1<=this.slope)?
this.g3d.width:this.g3d.height;this.slopeKey=Float.$valueOf(this.slope);if(this.lineCache.containsKey(this.slopeKey))this.lineBits=this.lineCache.get(this.slopeKey);else{this.lineBits=JU.BS.newN(this.nBits);c=Math.abs(c);a=Math.abs(a);if(c>a){var d=a;a=c;c=d}for(var d=0,b=a+a,f=c+c,g=0;g<this.nBits;g++)d+=f,d>a&&(this.lineBits.set(g),d-=b);this.lineCache.put(this.slopeKey,this.lineBits)}},"~N,~N");b(c$,"clearLineCache",function(){this.lineCache.clear()});b(c$,"plotLineOld",function(a,c,d,b,f,g,h,
k,e){this.x1t=d;this.x2t=g;this.y1t=b;this.y2t=h;this.z1t=f;this.z2t=k;if(e)switch(this.getTrimmedLineImpl()){case 0:e=!1;break;case 2:return}this.plotLineClippedOld(a,c,d,b,f,g-d,h-b,k-f,e,0,0)},"~N,~N,~N,~N,~N,~N,~N,~N,~B");b(c$,"plotLineDeltaOld",function(a,c,d,b,f,g,h,k,e){this.x1t=d;this.x2t=d+g;this.y1t=b;this.y2t=b+h;this.z1t=f;this.z2t=f+k;if(e)switch(this.getTrimmedLineImpl()){case 2:return;case 0:e=!1}this.plotLineClippedOld(a,c,d,b,f,g,h,k,e,0,0)},"~N,~N,~N,~N,~N,~N,~N,~N,~B");b(c$,"plotLineDeltaAOld",
function(a,c,d,b,f,g,h,k,e,n,s){this.x1t=f;this.x2t=f+k;this.y1t=g;this.y2t=g+e;this.z1t=h;this.z2t=h+n;if(s)switch(this.getTrimmedLineImpl()){case 2:return;case 0:s=!1}var w=this.g3d.zbuf,F=this.g3d.width,z=0,l=g*F+f,p=this.g3d.bufferSize,q=63>b?b+1:b,t=0<b?b-1:b,r=a[q],u=a[t],x=c[b],q=c[q];c=c[t];a=a[b];b=this.g3d.pixel;0!=d&&(b=this.g3d.setScreened(1==(d&1)),this.g3d.currentShadeIndex=0);0!=a&&(!s&&0<=l&&l<p&&h<w[l])&&b.addPixel(l,h,a);if(!(0==k&&0==e)){s=1;t=F;f+=k;var y=g+e;0>k&&(k=-k,s=-1);
0>e&&(e=-e,t=-F);F=k+k;g=e+e;h<<=10;if(e<=k){var A=k-1;0>n&&(A=-A);n=v(((n<<10)+A)/k);e=0;A=Math.abs(f-this.x2t)-1;f=Math.abs(f-this.x1t)-1;for(var y=k-1,B=v(y/2);--y>=A;){if(y==B){a=x;if(0==a)break;r=q;u=c;0!=d%3&&(b=this.g3d.setScreened(2==(d&2)),this.g3d.currentShadeIndex=0)}l+=s;h+=n;e+=g;e>k&&(l+=t,e-=F);if(0!=a&&y<f&&0<=l&&l<p&&2147483647>z){var C=h>>10;if(C<w[l]){var E=this.shader.nextRandom8Bit();b.addPixel(l,C,85>E?u:170<E?r:a)}}z=(z+1)%1}}else{A=e-1;0>n&&(A=-A);n=v(((n<<10)+A)/e);k=0;A=
Math.abs(y-this.y2t)-1;f=Math.abs(y-this.y1t)-1;y=e-1;for(B=v(y/2);--y>=A;){if(y==B){a=x;if(0==a)break;r=q;u=c;0!=d%3&&(b=this.g3d.setScreened(2==(d&2)),this.g3d.currentShadeIndex=0)}l+=t;h+=n;k+=F;k>e&&(l+=s,k-=g);0!=a&&(y<f&&0<=l&&l<p&&2147483647>z)&&(C=h>>10,C<w[l]&&(E=this.g3d.shader.nextRandom8Bit(),b.addPixel(l,C,85>E?u:170<E?r:a)));z=(z+1)%1}}}},"~A,~A,~N,~N,~N,~N,~N,~N,~N,~N,~B");b(c$,"plotLineDeltaABits",function(a,c,d,b,f,g,h){var k=Math.round(b.x),e=Math.round(b.y),n=Math.round(b.z),s=
Math.round(f.x),w=Math.round(f.y),F=Math.round(f.z),z=s-k,l=w-e;this.x1t=k;this.x2t=s;this.y1t=e;this.y2t=w;this.z1t=n;this.z2t=F;if(!(h&&2==this.getTrimmedLineImpl())){h=this.g3d.zbuf;var p=this.g3d.width,s=0,F=63>d?d+1:d,w=0<d?d-1:d,q=a[d],t=a[F],r=a[w];d=c[d];a=c[F];c=c[w];var w=e*p+k,F=this.g3d.bufferSize,u,x,y,B;this.lineTypeX?(u=k,x=this.x1t,y=this.x2t,k+=v(z/2),B=e=0<=z?1:-1,z=0<=l?p:-p,this.setRastAB(b.x,b.z,f.x,f.z)):(u=e,x=this.y1t,y=this.y2t,k=e+v(l/2),e=0<=l?1:-1,B=0<=l?p:-p,z=0<=z?1:
-1,this.setRastAB(b.y,b.z,f.y,f.z));b=n;f=q;n=t;l=r;t=!1;r=this.g3d.pixel;0!=g&&(r=this.g3d.setScreened(1==(g&1)),this.g3d.currentShadeIndex=0);for(q=u;;q+=e,u+=e){q==x&&(t=!0);if(q==k){f=d;if(0==f)break;n=a;l=c;0!=g%3&&(r=this.g3d.setScreened(2==(g&2)),this.g3d.currentShadeIndex=0)}0!=f&&(t&&0<=w&&w<F&&2147483647>s)&&(b=this.getZCurrent(this.a,this.b,q),b<h[w]&&(p=this.shader.nextRandom8Bit(),r.addPixel(w,A(b),85>p?l:170<p?n:f)));if(q==y)break;s=(s+1)%1;for(w+=B;0>u;)u+=this.nBits;this.lineBits.get(u%
this.nBits)&&(w+=z)}}},"~A,~A,~N,JU.P3,JU.P3,~N,~B");b(c$,"plotLineBits",function(a,c,d,b){if(!(1>=d.z||1>=b.z)){var f=!0;switch(this.getTrimmedLineP3(d,b)){case 2:return;case 0:f=!1}this.plotLineClippedBits(a,c,d,b,f,0,0)}},"~N,~N,JU.P3,JU.P3");b(c$,"plotDashedLineBits",function(a,c,d,b,f){if(!(1>=b.z||1>=f.z)){var g=!0;switch(this.getTrimmedLineP3(b,f)){case 2:return;case 0:g=!1;break;default:null==this.ptAtrimmed&&(this.ptAtrimmed=new JU.P3,this.ptBtrimmed=new JU.P3),this.ptAtrimmed.set(this.x1t,
this.y1t,this.z1t),this.ptBtrimmed.set(this.x2t,this.y2t,this.z2t),b=this.ptAtrimmed,f=this.ptBtrimmed}this.plotLineClippedBits(a,a,b,f,g,c,d)}},"~N,~N,~N,JU.P3,JU.P3");b(c$,"getTrimmedLineP3",function(a,c){this.x1t=A(a.x);this.y1t=A(a.y);this.z1t=A(a.z);this.x2t=A(c.x);this.y2t=A(c.y);this.z2t=A(c.z);return this.getTrimmedLineImpl()},"JU.P3,JU.P3");b(c$,"getTrimmedLineImpl",function(){var a=this.g3d.clipCode3(this.x1t,this.y1t,this.z1t),c=this.g3d.clipCode3(this.x2t,this.y2t,this.z2t);if(0==(a|c))return 0;
if(-1==(a|c))return 2;var d=this.g3d.xLast,b=this.g3d.yLast,f=this.g3d.slab,g=this.g3d.depth;do{if(0!=(a&c))return 2;var h=this.x2t-this.x1t,k=this.y2t-this.y1t,e=this.z2t-this.z1t;0!=a?(0!=(a&8)?(this.y1t+=A(-this.x1t*k/h),this.z1t+=A(-this.x1t*e/h),this.x1t=0):0!=(a&4)?(this.y1t+=A((d-this.x1t)*k/h),this.z1t+=A((d-this.x1t)*e/h),this.x1t=d):0!=(a&2)?(this.x1t+=A(-this.y1t*h/k),this.z1t+=A(-this.y1t*e/k),this.y1t=0):0!=(a&1)?(this.x1t+=A((b-this.y1t)*h/k),this.z1t+=A((b-this.y1t)*e/k),this.y1t=b):
0!=(a&32)?(this.x1t+=A((f-this.z1t)*h/e),this.y1t+=A((f-this.z1t)*k/e),this.z1t=f):(this.x1t+=A((g-this.z1t)*h/e),this.y1t+=A((g-this.z1t)*k/e),this.z1t=g),a=this.g3d.clipCode3(this.x1t,this.y1t,this.z1t)):(0!=(c&8)?(this.y2t+=A(-this.x2t*k/h),this.z2t+=A(-this.x2t*e/h),this.x2t=0):0!=(c&4)?(this.y2t+=A((d-this.x2t)*k/h),this.z2t+=A((d-this.x2t)*e/h),this.x2t=d):0!=(c&2)?(this.x2t+=A(-this.y2t*h/k),this.z2t+=A(-this.y2t*e/k),this.y2t=0):0!=(c&1)?(this.x2t+=A((b-this.y2t)*h/k),this.z2t+=A((b-this.y2t)*
e/k),this.y2t=b):0!=(c&32)?(this.x2t+=A((f-this.z2t)*h/e),this.y2t+=A((f-this.z2t)*k/e),this.z2t=f):(this.x2t+=A((g-this.z2t)*h/e),this.y2t+=A((g-this.z2t)*k/e),this.z2t=g),c=this.g3d.clipCode3(this.x2t,this.y2t,this.z2t))}while(0!=(a|c));return 1});b(c$,"plotLineClippedOld",function(a,c,d,b,f,g,h,k,e,n,s){var w=this.g3d.zbuf,l=this.g3d.width,z=0;0==n&&(s=2147483647,n=1);var p=b*l+d,q=this.g3d.bufferSize,t=this.g3d.pixel;0!=a&&(!e&&0<=p&&p<q&&f<w[p])&&t.addPixel(p,f,a);if(!(0==g&&0==h)){e=1;var r=
l;d+=g;var u=b+h;0>g&&(g=-g,e=-1);0>h&&(h=-h,r=-l);l=g+g;b=h+h;f<<=10;if(h<=g){var x=g-1;0>k&&(x=-x);k=v(((k<<10)+x)/g);h=0;x=Math.abs(d-this.x2t)-1;d=Math.abs(d-this.x1t)-1;for(var u=g-1,y=v(u/2);--u>=x&&!(u==y&&(a=c,0==a));){p+=e;f+=k;h+=b;h>g&&(p+=r,h-=l);if(0!=a&&u<d&&0<=p&&p<q&&z<s){var A=f>>10;A<w[p]&&t.addPixel(p,A,a)}z=(z+1)%n}}else{x=h-1;0>k&&(x=-x);k=v(((k<<10)+x)/h);g=0;x=Math.abs(u-this.y2t)-1;d=Math.abs(u-this.y1t)-1;u=h-1;for(y=v(u/2);--u>=x&&!(u==y&&(a=c,0==a));)p+=r,f+=k,g+=l,g>h&&
(p+=e,g-=b),0!=a&&(u<d&&0<=p&&p<q&&z<s)&&(A=f>>10,A<w[p]&&t.addPixel(p,A,a)),z=(z+1)%n}}},"~N,~N,~N,~N,~N,~N,~N,~N,~B,~N,~N");b(c$,"plotLineClippedBits",function(a,c,d,b,f,g,h){var k=this.g3d.zbuf,e=this.g3d.width,n=0;0==g&&(h=2147483647,g=1);var s=A(d.x),w=A(d.y),l=A(d.z),z=A(b.x)-s,p=s+z,q=A(b.y)-w,t=w+q,r=w*e+s,u=this.g3d.bufferSize,x=this.g3d.pixel;0!=a&&(!f&&0<=r&&r<u&&l<k[r])&&x.addPixel(r,l,a);if(!(0==z&&0==q)){var y=f=1,l=e;0>z&&(z=-z,f=-1);0>q&&(q=-q,l=-e,y=-1);var e=z+z,B=q+q;if(q<=z){this.setRastAB(d.x,
d.z,b.x,b.z);w=0;d=Math.abs(p-this.x2t)-1;p=Math.abs(p-this.x1t)-1;t=z-1;for(b=v(t/2);--t>=d&&!(t==b&&(a=c,0==a));){r+=f;s+=f;w+=B;w>z&&(r+=l,w-=e);if(0!=a&&t<p&&0<=r&&r<u&&n<h){var C=this.getZCurrent(this.a,this.b,s);C<k[r]&&x.addPixel(r,C,a)}n=(n+1)%g}}else{this.setRastAB(d.y,d.z,b.y,b.z);s=0;d=Math.abs(t-this.y2t)-1;p=Math.abs(t-this.y1t)-1;t=q-1;for(b=v(t/2);--t>=d&&!(t==b&&(a=c,0==a));)r+=l,w+=y,s+=e,s>q&&(r+=f,s-=B),0!=a&&(t<p&&0<=r&&r<u&&n<h)&&(C=this.getZCurrent(this.a,this.b,w),C<k[r]&&x.addPixel(r,
C,a)),n=(n+1)%g}}},"~N,~N,JU.P3,JU.P3,~B,~N,~N");D(c$,"VISIBILITY_UNCLIPPED",0,"VISIBILITY_CLIPPED",1,"VISIBILITY_OFFSCREEN",2)});l("J.g3d");c$=r(function(){this.pb=this.zb=this.p0=this.g=null;this.width=0;q(this,arguments)},J.g3d,"Pixelator");t(c$,function(a){this.g=a;this.setBuf()},"J.g3d.Graphics3D");b(c$,"setBuf",function(){this.zb=this.g.zbuf;this.pb=this.g.pbuf});b(c$,"clearPixel",function(a,c){this.zb[a]>c&&(this.zb[a]=2147483647)},"~N,~N");b(c$,"addPixel",function(a,c,d){this.zb[a]=c;this.pb[a]=
d},"~N,~N,~N");l("J.g3d");u(["J.g3d.Pixelator"],"J.g3d.PixelatorT",["J.g3d.Graphics3D"],function(){c$=B(J.g3d,"PixelatorT",J.g3d.Pixelator);e(c$,"clearPixel",function(){},"~N,~N");e(c$,"addPixel",function(a,c,d){var b=this.g.zbufT[a];if(c<b){var f=this.g.pbufT[a];!this.g.translucentCoverOnly&&(0!=f&&b-c>this.g.zMargin)&&J.g3d.Graphics3D.mergeBufferPixel(this.g.pbuf,a,f,this.g.bgcolor);this.g.zbufT[a]=c;this.g.pbufT[a]=d&this.g.translucencyMask}else c!=b&&!this.g.translucentCoverOnly&&c-b>this.g.zMargin&&
J.g3d.Graphics3D.mergeBufferPixel(this.g.pbuf,a,d&this.g.translucencyMask,this.g.bgcolor)},"~N,~N,~N")});l("J.g3d");u(["J.g3d.Pixelator"],"J.g3d.PixelatorShaded",null,function(){c$=r(function(){this.tmp=this.bgRGB=null;this.zShadePower=this.zDepth=this.zSlab=0;q(this,arguments)},J.g3d,"PixelatorShaded",J.g3d.Pixelator);t(c$,function(a){H(this,J.g3d.PixelatorShaded,[a]);this.tmp=y(3,0)},"J.g3d.Graphics3D");b(c$,"set",function(a,c,d){this.bgRGB=y(-1,[this.g.bgcolor&255,this.g.bgcolor>>8&255,this.g.bgcolor>>
16&255]);this.zSlab=0>a?0:a;this.zDepth=0>c?0:c;this.zShadePower=d;this.p0=this.g.pixel0;return this},"~N,~N,~N");e(c$,"addPixel",function(a,c,d){if(!(c>this.zDepth)){if(c>=this.zSlab&&0<this.zShadePower){var b=this.tmp,f=this.bgRGB;b[0]=d;b[1]=d>>8;b[2]=d>>16;var g=(this.zDepth-c)/(this.zDepth-this.zSlab);if(1<this.zShadePower)for(var h=0;h<this.zShadePower;h++)g*=g;for(h=0;3>h;h++)b[h]=f[h]+A(g*((b[h]&255)-f[h]));d=b[2]<<16|b[1]<<8|b[0]|d&4278190080}this.p0.addPixel(a,c,d)}},"~N,~N,~N");b(c$,"showZBuffer",
function(){for(var a=this.p0.zb.length;0<=--a;)if(0!=this.p0.pb[a]){var c=A(Math.min(255,Math.max(0,255*(this.zDepth-this.p0.zb[a])/(this.zDepth-this.zSlab))));this.p0.pb[a]=4278190080|c|c<<8|c<<16}})});l("J.g3d");u(["J.g3d.Pixelator"],"J.g3d.PixelatorScreened",null,function(){c$=B(J.g3d,"PixelatorScreened",J.g3d.Pixelator);t(c$,function(a,c){H(this,J.g3d.PixelatorScreened,[a]);this.width=a.width;this.p0=c},"J.g3d.Graphics3D,J.g3d.Pixelator");e(c$,"addPixel",function(a,c,d){a%this.width%2==v(a/this.width)%
2&&this.p0.addPixel(a,c,d)},"~N,~N,~N")});l("J.g3d");c$=r(function(){this.bufferSizeT=this.bufferSize=this.bufferHeight=this.bufferWidth=this.windowSize=this.windowHeight=this.windowWidth=0;this.zBufferT=this.zBuffer=this.pBufferT=this.pBuffer=this.bufferedImage=null;this.heightOffscreen=this.widthOffscreen=0;this.apiPlatform=this.graphicsForTextOrImage=this.offscreenImage=null;q(this,arguments)},J.g3d,"Platform3D");t(c$,function(a){this.apiPlatform=a},"javajs.api.GenericPlatform");b(c$,"getGraphicsForMetrics",
function(){return this.apiPlatform.getGraphics(this.allocateOffscreenImage(1,1))});b(c$,"allocateTBuffers",function(a){this.bufferSizeT=a?this.bufferSize:this.windowSize;this.zBufferT=y(this.bufferSizeT,0);this.pBufferT=y(this.bufferSizeT,0)},"~B");b(c$,"allocateBuffers",function(a,c,d,b){this.windowWidth=a;this.windowHeight=c;this.windowSize=a*c;d&&(a*=2,c*=2);this.bufferWidth=a;this.bufferHeight=c;this.bufferSize=this.bufferWidth*this.bufferHeight;this.zBuffer=y(this.bufferSize,0);this.pBuffer=
y(this.bufferSize,0);this.bufferedImage=this.apiPlatform.allocateRgbImage(this.windowWidth,this.windowHeight,this.pBuffer,this.windowSize,J.g3d.Platform3D.backgroundTransparent,b)},"~N,~N,~B,~B");b(c$,"releaseBuffers",function(){this.windowWidth=this.windowHeight=this.bufferWidth=this.bufferHeight=this.bufferSize=-1;null!=this.bufferedImage&&(this.apiPlatform.flushImage(this.bufferedImage),this.bufferedImage=null);this.zBufferT=this.pBufferT=this.zBuffer=this.pBuffer=null});b(c$,"hasContent",function(){for(var a=
this.bufferSize;0<=--a;)if(2147483647!=this.zBuffer[a])return!0;return!1});b(c$,"clearScreenBuffer",function(){for(var a=this.bufferSize;0<=--a;)this.zBuffer[a]=2147483647,this.pBuffer[a]=0});b(c$,"setBackgroundColor",function(a){if(null!=this.pBuffer)for(var c=this.bufferSize;0<=--c;)0==this.pBuffer[c]&&(this.pBuffer[c]=a)},"~N");b(c$,"clearTBuffer",function(){for(var a=this.bufferSizeT;0<=--a;)this.zBufferT[a]=2147483647,this.pBufferT[a]=0});b(c$,"clearBuffer",function(){this.clearScreenBuffer()});
b(c$,"clearScreenBufferThreaded",function(){});b(c$,"notifyEndOfRendering",function(){this.apiPlatform.notifyEndOfRendering()});b(c$,"getGraphicsForTextOrImage",function(a,c){if(a>this.widthOffscreen||c>this.heightOffscreen)null!=this.offscreenImage&&(this.apiPlatform.disposeGraphics(this.graphicsForTextOrImage),this.apiPlatform.flushImage(this.offscreenImage)),a>this.widthOffscreen&&(this.widthOffscreen=a),c>this.heightOffscreen&&(this.heightOffscreen=c),this.offscreenImage=this.allocateOffscreenImage(this.widthOffscreen,
this.heightOffscreen),this.graphicsForTextOrImage=this.apiPlatform.getStaticGraphics(this.offscreenImage,J.g3d.Platform3D.backgroundTransparent);return this.graphicsForTextOrImage},"~N,~N");b(c$,"allocateOffscreenImage",function(a,c){return this.apiPlatform.newOffScreenImage(a,c)},"~N,~N");b(c$,"setBackgroundTransparent",function(a){J.g3d.Platform3D.backgroundTransparent=a},"~B");D(c$,"backgroundTransparent",!1);l("J.g3d");u(["JU.P3"],"J.g3d.SphereRenderer",null,function(){c$=r(function(){this.mDeriv=
this.coef=this.mat=this.zroot=this.shader=this.g3d=null;this.planeShade=this.selectedOctant=0;this.zbuf=null;this.offsetPbufBeginLine=this.slab=this.depth=this.height=this.width=0;this.dxyz=this.planeShades=this.ptTemp=null;q(this,arguments)},J.g3d,"SphereRenderer");M(c$,function(){this.zroot=X(2,0);this.ptTemp=new JU.P3;this.planeShades=y(3,0);this.dxyz=G(3,3,0)});t(c$,function(a){this.g3d=a;this.shader=a.shader},"J.g3d.Graphics3D");b(c$,"render",function(a,c,d,b,f,g,h,k,e,n){if(1!=f&&(49<c&&(c&=
-2),!this.g3d.isClippedXY(c,d,b))){this.slab=this.g3d.slab;this.depth=this.g3d.depth;var s=c+1>>1,w=f-s;if(!(f+s<this.slab||w>this.depth)){var l=d-s,z=d+s,p=b-s,q=b+s;this.shader.nOut=this.shader.nIn=0;this.zbuf=this.g3d.zbuf;this.height=this.g3d.height;this.width=this.g3d.width;this.offsetPbufBeginLine=this.width*b+d;var r=this.shader;this.mat=g;if(null!=g&&(this.coef=h,this.mDeriv=k,this.selectedOctant=e,null==r.ellipsoidShades&&r.createEllipsoidShades(),null!=n)){this.planeShade=-1;for(h=0;3>h;h++)if(s=
this.dxyz[h][0]=n[h].x-d,k=this.dxyz[h][1]=n[h].y-b,e=this.dxyz[h][2]=n[h].z-f,this.planeShades[h]=r.getShadeIndex(s,k,-e),0==s&&0==k){this.planeShade=this.planeShades[h];break}}if(null!=g||128<c)this.renderQuadrant(-1,-1,d,b,f,c,a),this.renderQuadrant(-1,1,d,b,f,c,a),this.renderQuadrant(1,-1,d,b,f,c,a),this.renderQuadrant(1,1,d,b,f,c,a),null!=g&&(this.mDeriv=this.coef=this.mat=null);else{var t=r.sphereShapeCache[c-1];if(null==t){t=0;g=0!=(c&1);n=c/2;k=n*n;s=v((c+1)/2);e=g?0:0.5;for(h=0;h<s;++h,++e)for(var u=
e*e,x=g?0:0.5,B=0;B<s;++B,++x){var C=x*x,C=k-u-C;0<=C&&++t}var t=y(t,0),E=0;e=g?0:0.5;for(h=0;h<s;++h,++e){u=e*e;x=g?0:0.5;for(B=0;B<s;++B,++x)if(C=x*x,C=k-u-C,0<=C){var D=Math.sqrt(C),C=A(D),G=r.getShadeN(x,e,D,n),H=r.getShadeN(-x,e,D,n),L=r.getShadeN(x,-e,D,n),D=r.getShadeN(-x,-e,D,n),C=C|G<<7|H<<13|L<<19|D<<25;t[E++]=C}t[E-1]|=2147483648}r.sphereShapeCache[c-1]=t}0>l||z>=this.width||0>p||q>=this.height||w<this.slab||f>this.depth?this.renderSphereClipped(t,d,b,f,c,a):this.renderSphereUnclipped(t,
f,c,a)}this.zbuf=null}}},"~A,~N,~N,~N,~N,JU.M3,~A,JU.M4,~N,~A");b(c$,"renderSphereUnclipped",function(a,c,d,b){var f=0,g=1-(d&1),h=this.offsetPbufBeginLine,k=h-g*this.width;d=v((d+1)/2);var e=this.zbuf,n=this.width,s=this.g3d.pixel;do{var w=h,l=h-g,z=k,p=k-g,q;do{q=a[f++];var r=c-(q&127);r<e[w]&&s.addPixel(w,r,b[q>>7&63]);r<e[l]&&s.addPixel(l,r,b[q>>13&63]);r<e[z]&&s.addPixel(z,r,b[q>>19&63]);r<e[p]&&s.addPixel(p,r,b[q>>25&63]);++w;--l;++z;--p}while(0<=q);h+=n;k-=n}while(0<--d)},"~A,~N,~N,~A");b(c$,
"renderSphereClipped",function(a,c,d,b,f,g){var h=this.width,k=this.height,e=0,n=1-(f&1),s=this.offsetPbufBeginLine,w=s-n*h;f=v((f+1)/2);var l=d,z=d-n;d=(c<<16)+(d<<1)^858993459;var p=this.zbuf,q=this.g3d.pixel,r=this.slab,t=this.depth;do{var u=0<=l&&l<k,x=0<=z&&z<k,y=s,A=s-n,B=w,C=w-n,E,D=c,G=c-n;do{var H=0<=G&&G<h,L=0<=D&&D<h;E=a[e++];var K;K=E&127;var I;b<r?(I=b+K,K=I>=r):(I=b-K,K=I<r);K&&(I=r);if(I>=r&&I<=t){if(u){if(L&&I<p[y]){var M=K?44+(d>>7&7):E>>7&63;q.addPixel(y,I,g[M])}H&&I<p[A]&&(M=K?
44+(d>>13&7):E>>13&63,q.addPixel(A,I,g[M]))}x&&(L&&I<p[B]&&(M=K?44+(d>>19&7):E>>19&63,q.addPixel(B,I,g[M])),H&&I<p[C]&&(M=K?44+(d>>25&7):E>>25&63,q.addPixel(C,I,g[M])))}++y;--A;++B;--C;++D;--G;K&&(d=(d<<16)+(d<<1)+d&2147483647)}while(0<=E);s+=h;w-=h;++l;--z}while(0<--f)},"~A,~N,~N,~N,~N,~A");b(c$,"renderQuadrant",function(a,c,d,b,f,g,h){g=v(g/2);var k=d+g*a,e=(0>d?-1:d<this.width?0:1)+(0>k?-2:k<this.width?0:2);-3==e||3==e||(k=b+g*c,k=(0>b?-1:b<this.height?0:1)+(0>k?-2:k<this.height?0:2),-3==k||3==
k||(null==this.mat&&0==e&&0==k&&f-g>=this.slab&&f<=this.depth?this.renderQuadrantUnclipped(g,a,c,f,h):this.renderQuadrantClipped(g,a,c,d,b,f,h)))},"~N,~N,~N,~N,~N,~N,~A");b(c$,"renderQuadrantUnclipped",function(a,c,d,b,f){for(var g=a*a,h=2*a+1,e=0>d?-this.width:this.width,m=this.offsetPbufBeginLine,n=this.zbuf,s=this.g3d.pixel,w=this.shader.sphereShadeIndexes,l=0,z=0;z<=g;z+=l+ ++l,m+=e)for(var p=m,q=g-z,r=b-a,t=v((l*d+a<<8)/h),u=0,x=0;x<=q;x+=u+ ++u,p+=c)if(!(n[p]<=r)&&(r=v(Math.sqrt(q-x)),r=b-r,
!(n[p]<=r))){var y=v((u*c+a<<8)/h);s.addPixel(p,r,f[w[(t<<8)+y]])}},"~N,~N,~N,~N,~A");b(c$,"renderQuadrantClipped",function(a,c,d,b,f,g,h){for(var e=null!=this.mat,m=0<=this.selectedOctant,n=a*a,s=2*a+1,w=0>d?-this.width:this.width,l=this.offsetPbufBeginLine,z=(b<<16)+(f<<1)^858993459,p=0,q=0,r=this.g3d.pixel,t=0,u=this.height,x=this.width,y=this.zbuf,A=this.dxyz,B=this.slab,C=this.depth,E=this.ptTemp,D=this.coef,G=this.zroot,H=this.selectedOctant,I=this.shader,K=this.planeShades,L=I.sphereShadeIndexes,
M=this.planeShade,O=this.mat,Q=0,R=0,N=f;R<=n;R+=Q+ ++Q,l+=w,N+=d)if(0>N){if(0>d)break}else if(N>=u){if(0<d)break}else{var T=n-(e?0:R);e||(p=v((Q*d+a<<8)/s));for(var z=(z<<16)+(z<<1)+z&2147483647,Y=b,W=0,V=0,X=-1,Z=1,U=l;V<=T;V+=W+ ++W,U+=c,Y+=c)if(0>Y){if(0>c)break}else if(Y>=x){if(0<c)break}else{var P;if(e){P=(D[4]*Y+D[5]*N+D[8])/D[2]/2;var S=P*P-(D[0]*Y*Y+D[1]*N*N+D[3]*Y*N+D[6]*Y+D[7]*N-1)/D[2];if(0>S){if(0<=X)break;continue}S=Math.sqrt(S);G[0]=-P-S;G[1]=-P+S;X=g<B?1:0;if(0==(P=v(G[X])))P=g;Z=
2;t=P;if(m){E.set(Y-b,N-f,P-g);O.rotate(E);S=0;0>E.x&&(S|=1);0>E.y&&(S|=2);0>E.z&&(S|=4);if(S==H){if(0<=M)q=M;else{Z=3;q=3.4028235E38;for(P=0;3>P;P++)if(0!=(S=A[P][2]))S=g+(-A[P][0]*(Y-b)-A[P][1]*(N-f))/S,S<q&&(q=S,Z=P);3==Z&&(Z=0,q=g);G[0]=q;q=K[Z]}P=v(G[0]);Z=3}if(S=g<B?P>=B:P<B)t=P=B,Z=0}if(P<B||P>C||y[U]<=t)continue}else{P=v(Math.sqrt(T-V));P=g+(g<B?P:-P);if(S=g<B?P>=B:P<B)P=B,Z=0;if(P<B||P>C||y[U]<=P)continue}switch(Z){case 0:q=44+(z>>8&7);z=(z<<16)+(z<<1)+z&2147483647;Z=1;break;case 2:q=I.getEllipsoidShade(Y,
N,G[X],a,this.mDeriv);break;case 3:r.clearPixel(U,t);break;default:q=v((W*c+a<<8)/s),q=L[(p<<8)+q]}r.addPixel(U,P,h[q])}z=(z+Y+N|1)&2147483647}},"~N,~N,~N,~N,~N,~N,~A");D(c$,"maxOddSizeSphere",49,"maxSphereDiameter",1E3,"maxSphereDiameter2",2E3,"SHADE_SLAB_CLIPPED",47)});l("J.g3d");u(["java.util.Hashtable"],"J.g3d.TextRenderer",["JU.CU"],function(){c$=r(function(){this.size=this.mapWidth=this.width=this.ascent=this.height=0;this.tmap=null;this.isInvalid=!1;q(this,arguments)},J.g3d,"TextRenderer");
c$.clearFontCache=b(c$,"clearFontCache",function(){J.g3d.TextRenderer.working||(J.g3d.TextRenderer.htFont3d.clear(),J.g3d.TextRenderer.htFont3dAntialias.clear())});c$.plot=b(c$,"plot",function(a,c,d,b,f,g,h,e,m,n){if(0==g.length)return 0;if(0<=g.indexOf("<su")||0<=g.indexOf("<color"))return J.g3d.TextRenderer.plotByCharacter(a,c,d,b,f,g,h,e,m,n);var s=h.getAscent();c-=s;g=J.g3d.TextRenderer.getPlotText3D(a,c,e,g,h,n);if(g.isInvalid)return g.width;n&&0==(b&12632256)&&(b|=263172);n=g.height;h=g.width;
var s=g.tmap,w=e.width,l=e.height,z=e.zbuf,p=e.pixel,q=e.translucencyLog;if(null!=m||(0>a||a+g.width>w||0>c||c+g.height>l)&&null!=(m=e))for(var r=0,t=0;t<n;t++)for(var u=0;u<h;u++){var v=s[r++];0!=v&&m.plotImagePixel(b,a+u,c+t,d,v,f,w,l,z,p,q)}else{a=c*w+a;for(r=t=0;t<n;t++){for(u=0;u<h;u++)v=s[r++],0!=v&&d<z[a]&&(8==v?p.addPixel(a,d,b):(v+=q,7>=v&&e.shadeTextPixel(a,d,b,f,v,z))),a++;a+=w-h}}return g.width},"~N,~N,~N,~N,~N,~S,javajs.awt.Font,J.g3d.Graphics3D,J.api.JmolRendererInterface,~B");c$.plotByCharacter=
b(c$,"plotByCharacter",function(a,c,d,b,f,g,h,e,m,n){for(var s=0,w=g.length,l=Math.round(0.25*h.getHeight()),z=-Math.round(0.3*h.getHeight()),p=0,q=0;q<w;q++){if("<"==g.charAt(q)){if(q+5<w&&g.substring(q,q+6).equals("<color")){var p=b,r=g.indexOf(">",q);if(0>r)continue;b=JU.CU.getArgbFromString(g.substring(q+7,r).trim());q=r;continue}if(q+7<w&&g.substring(q,q+8).equals("</color>")){q+=7;b=p;continue}if(q+4<w&&g.substring(q,q+5).equals("<sub>")){q+=4;c+=l;continue}if(q+4<w&&g.substring(q,q+5).equals("<sup>")){q+=
4;c+=z;continue}if(q+5<w&&g.substring(q,q+6).equals("</sub>")){q+=5;c-=l;continue}if(q+5<w&&g.substring(q,q+6).equals("</sup>")){q+=5;c-=z;continue}}r=J.g3d.TextRenderer.plot(a+s,c,d,b,f,g.substring(q,q+1),h,e,m,n);s+=r}return s},"~N,~N,~N,~N,~N,~S,javajs.awt.Font,J.g3d.Graphics3D,J.api.JmolRendererInterface,~B");t(c$,function(a,c){this.ascent=c.getAscent();this.height=c.getHeight();this.width=c.stringWidth(a);0!=this.width&&(this.mapWidth=this.width,this.size=this.mapWidth*this.height)},"~S,javajs.awt.Font");
c$.getPlotText3D=b(c$,"getPlotText3D",function(a,c,d,b,f,g){J.g3d.TextRenderer.working=!0;g=g?J.g3d.TextRenderer.htFont3dAntialias:J.g3d.TextRenderer.htFont3d;var h=g.get(f),e=null,m=!1,n=!1;null!=h?e=h.get(b):(h=new java.util.Hashtable,m=!0);null==e&&(e=new J.g3d.TextRenderer(b,f),n=!0);e.isInvalid=0==e.width||0>=a+e.width||a>=d.width||0>=c+e.height||c>=d.height;if(e.isInvalid)return e;m&&g.put(f,h);n&&(e.setTranslucency(b,f,d),h.put(b,e));J.g3d.TextRenderer.working=!1;return e},"~N,~N,J.g3d.Graphics3D,~S,javajs.awt.Font,~B");
b(c$,"setTranslucency",function(a,c,d){a=d.apiPlatform.getTextPixels(a,c,d.platform.getGraphicsForTextOrImage(this.mapWidth,this.height),d.platform.offscreenImage,this.mapWidth,this.height,this.ascent);if(null!=a){this.tmap=O(this.size,0);for(c=a.length;0<=--c;)d=a[c]&255,0!=d&&(this.tmap[c]=J.g3d.TextRenderer.translucency[d>>5])}},"~S,javajs.awt.Font,J.g3d.Graphics3D");D(c$,"translucency",O(-1,[7,6,5,4,3,2,1,8]),"working",!1);c$.htFont3d=c$.prototype.htFont3d=new java.util.Hashtable;c$.htFont3dAntialias=
c$.prototype.htFont3dAntialias=new java.util.Hashtable});l("J.g3d");u(["JU.P3i"],"J.g3d.TextString",null,function(){c$=r(function(){this.font=this.text=null;this.bgargb=this.argb=0;q(this,arguments)},J.g3d,"TextString",JU.P3i,java.util.Comparator);b(c$,"setText",function(a,c,d,b,f,g,h){this.text=a;this.font=c;this.argb=d;this.bgargb=b;this.x=f;this.y=g;this.z=h},"~S,javajs.awt.Font,~N,~N,~N,~N,~N");e(c$,"compare",function(a,c){return null==a||null==c?0:a.z>c.z?-1:a.z<c.z?1:0},"J.g3d.TextString,J.g3d.TextString");
b(c$,"toString",function(){return T(this,J.g3d.TextString,"toString",[])+" "+this.text})});l("J.g3d");u(["J.g3d.G3DRenderer","$.PrecisionRenderer","JU.Rgb16"],"J.g3d.TriangleRenderer",["JU.GData"],function(){c$=r(function(){this.abc=this.rgb16t2=this.rgb16t1=this.rgb16sGouraud=this.rgb16sE=this.rgb16sW=this.azE=this.axE=this.azW=this.axW=this.bb=this.aa=this.az=this.ay=this.ax=this.g3d=null;q(this,arguments)},J.g3d,"TriangleRenderer",J.g3d.PrecisionRenderer,J.g3d.G3DRenderer);M(c$,function(){this.ax=
y(3,0);this.ay=y(3,0);this.az=y(3,0);this.aa=G(64,0);this.bb=G(64,0);this.axW=y(64,0);this.azW=y(64,0);this.axE=y(64,0);this.azE=y(64,0);this.rgb16t1=new JU.Rgb16;this.rgb16t2=new JU.Rgb16;this.abc=Array(3)});t(c$,function(){H(this,J.g3d.TriangleRenderer,[])});e(c$,"set",function(a){try{this.rgb16sW=Array(64);this.rgb16sE=Array(64);for(var c=64;0<=--c;)this.rgb16sW[c]=new JU.Rgb16,this.rgb16sE[c]=new JU.Rgb16;this.g3d=a;this.rgb16sGouraud=Array(3);for(c=3;0<=--c;)this.rgb16sGouraud[c]=new JU.Rgb16}catch(d){if(!C(d,
Exception))throw d;}return this},"J.api.JmolRendererInterface,JU.GData");b(c$,"reallocRgb16s",function(a,c){var d=Array(c);System.arraycopy(a,0,d,0,a.length);for(var b=a.length;b<c;++b)d[b]=new JU.Rgb16;return d},"~A,~N");b(c$,"setGouraud",function(a,c,d){this.rgb16sGouraud[0].setInt(a);this.rgb16sGouraud[1].setInt(c);this.rgb16sGouraud[2].setInt(d)},"~N,~N,~N");b(c$,"fillTriangleXYZ",function(a,c,d,b,f,g,h,e,m,n){this.ax[0]=a;this.ax[1]=b;this.ax[2]=h;this.ay[0]=c;this.ay[1]=f;this.ay[2]=e;this.az[0]=
d;this.az[1]=g;this.az[2]=m;this.abc[0]=null;this.fillTriangleB(n)},"~N,~N,~N,~N,~N,~N,~N,~N,~N,~B");b(c$,"fillTriangleP3i",function(a,c,d,b){this.ax[0]=a.x;this.ax[1]=c.x;this.ax[2]=d.x;this.ay[0]=a.y;this.ay[1]=c.y;this.ay[2]=d.y;this.az[0]=a.z;this.az[1]=c.z;this.az[2]=d.z;this.abc[0]=null;this.fillTriangleB(b)},"JU.P3i,JU.P3i,JU.P3i,~B");b(c$,"fillTriangleP3f",function(a,c,d,b,f){this.ax[0]=Math.round(a.x);this.ax[1]=Math.round(c.x);this.ax[2]=Math.round(d.x);this.ay[0]=Math.round(a.y);this.ay[1]=
Math.round(c.y);this.ay[2]=Math.round(d.y);this.az[0]=Math.round(a.z);this.az[1]=Math.round(c.z);this.az[2]=Math.round(d.z);f?(this.abc[0]=a,this.abc[1]=c,this.abc[2]=d):this.abc[0]=null;this.fillTriangleB(b)},"JU.P3,JU.P3,JU.P3,~B,~B");b(c$,"fillTriangleB",function(a){if(!(1>=this.az[0]||1>=this.az[1]||1>=this.az[2])){var c=this.g3d.clipCode3(this.ax[0],this.ay[0],this.az[0]),d=this.g3d.clipCode3(this.ax[1],this.ay[1],this.az[1]),b=this.g3d.clipCode3(this.ax[2],this.ay[2],this.az[2]),f=c|d|b,g=0!=
f;if(!g||!(-1==f||0!=(c&d&b))){b=null!=this.abc[0];f=0;this.ay[1]<this.ay[f]&&(f=1);this.ay[2]<this.ay[f]&&(f=2);var h=(f+1)%3,e=(f+2)%3;if(this.ay[h]>this.ay[e])var m=h,h=e,e=m;var c=this.ay[f],n=this.ay[h],s=this.ay[e],d=s-c+1;if(!(d>3*this.g3d.height)){if(d>this.axW.length){var w=d+31&-32;this.axW=y(w,0);this.azW=y(w,0);this.axE=y(w,0);this.azE=y(w,0);b&&(this.aa=G(w,0),this.bb=G(w,0));this.rgb16sW=this.reallocRgb16s(this.rgb16sW,w);this.rgb16sE=this.reallocRgb16s(this.rgb16sE,w)}var l;a?(w=this.rgb16sW,
l=this.rgb16sE):w=l=null;m=n-c;0==m?(this.ax[h]<this.ax[f]&&(m=h,h=f,f=m),this.generateRaster(d,f,e,this.axW,this.azW,this.aa,b,0,w,!1),this.generateRaster(d,h,e,this.axE,this.azE,this.bb,b,0,l,!0)):n==s?(this.ax[e]<this.ax[h]&&(m=h,h=e,e=m),this.generateRaster(d,f,h,this.axW,this.azW,this.aa,b,0,w,!1),this.generateRaster(d,f,e,this.axE,this.azE,this.bb,b,0,l,!0)):(n=this.ax[e]-this.ax[f],s=JU.GData.roundInt(v(d/2)),0>n&&(s=-s),this.ax[f]+v((n*m+s)/d)<this.ax[h]?(this.generateRaster(d,f,e,this.axW,
this.azW,this.aa,b,0,w,!1),this.generateRaster(m+1,f,h,this.axE,this.azE,this.bb,b,0,l,!0),this.generateRaster(d-m,h,e,this.axE,this.azE,this.bb,b,m,l,!0)):(this.generateRaster(m+1,f,h,this.axW,this.azW,this.aa,b,0,w,!1),this.generateRaster(d-m,h,e,this.axW,this.azW,this.aa,b,m,w,!1),this.generateRaster(d,f,e,this.axE,this.azE,this.bb,b,0,l,!0)));this.g3d.setZMargin(5);f=this.g3d.pass2Flag01;h=1-f;e=0;0>c&&(d+=c,e-=c,c=0);c+d>this.g3d.height&&(d=this.g3d.height-c);if(a)if(g)for(;--d>=f;++c,++e)g=
this.axE[e]-(a=this.axW[e])+h,0<g&&this.g3d.plotPixelsClippedRaster(g,a,c,this.azW[e],this.azE[e],this.rgb16sW[e],this.rgb16sE[e]);else for(;--d>=f;++c,++e)g=this.axE[e]-(a=this.axW[e])+h,1==f&&0>g&&(g=1,a--),0<g&&this.g3d.plotPixelsUnclippedRaster(g,a,c,this.azW[e],this.azE[e],this.rgb16sW[e],this.rgb16sE[e]);else if(b)if(g)for(;--d>=f;++c,++e)g=this.axE[e]-(a=this.axW[e])+h,0<g&&this.g3d.plotPixelsClippedRasterBits(g,a,c,this.azW[e],this.azE[e],null,null,this.aa[e],this.bb[e]);else for(;--d>=f;++c,
++e)g=this.axE[e]-(a=this.axW[e])+h,1==f&&0>g&&(g=1,a--),0<g&&this.g3d.plotPixelsUnclippedRasterBits(g,a,c,null,null,this.aa[e],this.bb[e]);else if(g)for(;--d>=f;++c,++e)g=this.axE[e]-(a=this.axW[e])+h,0<g&&this.g3d.plotPixelsClippedRaster(g,a,c,this.azW[e],this.azE[e],null,null);else for(;--d>=f;++c,++e)g=this.axE[e]-(a=this.axW[e])+h,1==f&&0>g&&(g=1,a--),0<g&&this.g3d.plotPixelsUnclippedRaster(g,a,c,this.azW[e],this.azE[e],null,null);this.g3d.setZMargin(0)}}}},"~B");b(c$,"generateRaster",function(a,
c,d,b,f,g,h,e,m,n){var s=this.ax[c],w=this.az[c],l=this.ax[d]-s,z=this.az[d]-w,p,q,r;0<=l?(p=1,q=l,r=0):(p=-1,q=-l,r=1-a);h&&this.setRastAB(this.abc[c].y,this.abc[c].z,this.abc[d].y,this.abc[d].z);q<=a?l=0:(l=JU.GData.roundInt(v(l/a)),q%=a);if(h){var w=this.a,t=this.b,u=this.ay[c];h=0;for(z=e;h<a;++z,++h){b[z]=s;if(0==z||z>e)z>g.length&&System.out.println("triangle rend errror"),f[z]=A(g[z]=this.getZCurrent(w,t,u++)),n&&(this.setRastAB(this.axW[z],this.aa[z],s,g[z]),this.aa[z]=this.a,this.bb[z]=this.b);
s+=l;r+=q;0<r&&(s+=p,r-=a)}}else{g=(w<<10)+512;n=JU.GData.roundInt(v(a/2));0>z&&(n=-n);n=v(((z<<10)+n)/a);h=0;for(z=e;h<a;g+=n,++z,++h)b[z]=s,f[z]=g>>10,s+=l,r+=q,0<r&&(s+=p,r-=a)}if(null!=m){b=this.rgb16t1;b.setRgb(this.rgb16sGouraud[c]);c=this.rgb16t2;c.diffDiv(this.rgb16sGouraud[d],b,a);z=e;for(a=e+a;z<a;++z)m[z].setAndIncrement(b,c)}},"~N,~N,~N,~A,~A,~A,~B,~N,~A,~B");D(c$,"DEFAULT",64)});l("J.i18n");u("J.api.Translator java.text.MessageFormat java.util.Hashtable JU.PT J.i18n.Language $.Resource".split(" "),
"J.i18n.GT",["JU.Logger"],function(){c$=r(function(){this.resources=null;this.resourceCount=0;this.doTranslate=!0;this.language=null;q(this,arguments)},J.i18n,"GT",null,J.api.Translator);t(c$,function(){});e(c$,"translate",function(a){return J.i18n.GT._(a)},"~S");t(c$,function(a,c){this.resources=null;this.resourceCount=0;J.i18n.GT.$getTextWrapper=this;null!=c&&0==c.length&&(c="none");null!=c&&(this.language=c);"none".equals(this.language)&&(this.language=null);null==this.language&&(this.language=
J.i18n.Resource.getLanguage());null==this.language&&(this.language="en");var d=this.language,b=null,f=null,g=this.language.indexOf("_");if(0<=g&&(d=d.substring(0,g),b=this.language,0<=(g=b.indexOf("_",++g))))b=b.substring(0,g),f=this.language;if(null==(this.language=this.getSupported(f))&&null==(this.language=this.getSupported(b))&&null==(this.language=this.getSupported(d)))this.language="en",System.out.println(this.language+" not supported -- using en");else{b=f=null;switch(this.language.length){default:f=
this.language;b=this.language.substring(0,5);d=this.language.substring(0,2);break;case 5:b=this.language;d=this.language.substring(0,2);break;case 2:d=this.language}b=this.getSupported(b);d=this.getSupported(d);if(d===b||"en_US".equals(d))d=null;b===f&&(b=null);"en_US".equals(b)||(J.i18n.GT.allowDebug&&JU.Logger.debugging&&JU.Logger.debug("Instantiating gettext wrapper for "+this.language+" using files for language:"+d+" country:"+b+" variant:"+f),J.i18n.GT.$ignoreApplicationBundle||this.addBundles(a,
"Jmol",f,null,null),this.addBundles(a,"JmolApplet",f,null,null),J.i18n.GT.$ignoreApplicationBundle||this.addBundles(a,"Jmol",null,b,null),this.addBundles(a,"JmolApplet",null,b,null),J.i18n.GT.$ignoreApplicationBundle||this.addBundles(a,"Jmol",null,null,d),this.addBundles(a,"JmolApplet",null,null,d))}},"JV.Viewer,~S");c$.getLanguageList=b(c$,"getLanguageList",function(a){null==J.i18n.GT.languageList&&(null==a&&(a=J.i18n.GT.getTextWrapper()),a.createLanguageList());return J.i18n.GT.languageList},"J.i18n.GT");
c$.getLanguage=b(c$,"getLanguage",function(){return J.i18n.GT.getTextWrapper().language});c$.ignoreApplicationBundle=b(c$,"ignoreApplicationBundle",function(){J.i18n.GT.$ignoreApplicationBundle=!0});c$.setDoTranslate=b(c$,"setDoTranslate",function(a){var c=J.i18n.GT.getDoTranslate();J.i18n.GT.getTextWrapper().doTranslate=a;return c},"~B");c$.getDoTranslate=b(c$,"getDoTranslate",function(){return J.i18n.GT.getTextWrapper().doTranslate});c$._=b(c$,"_",function(a){return J.i18n.GT.getTextWrapper().getString(a)},
"~S");c$.o=b(c$,"o",function(a,c){if(p(c,Array)){if(1!=c.length)return java.text.MessageFormat.format(a,c);c=c[0]}return JU.PT.rep(a,"{0}",c.toString())},"~S,~O");c$.i=b(c$,"i",function(a,c){return JU.PT.rep(a,"{0}",""+c)},"~S,~N");c$.escapeHTML=b(c$,"escapeHTML",function(a){for(var c,d=a.length;0<=--d;)if(127<(c=a.charAt(d)).charCodeAt(0))a=a.substring(0,d)+"&#"+c.charCodeAt(0)+";"+a.substring(d+1);return a},"~S");c$.getTextWrapper=b(c$,"getTextWrapper",function(){return null==J.i18n.GT.$getTextWrapper?
J.i18n.GT.$getTextWrapper=new J.i18n.GT(null,null):J.i18n.GT.$getTextWrapper});b(c$,"createLanguageList",function(){var a=this.doTranslate;this.doTranslate=!1;J.i18n.GT.languageList=J.i18n.Language.getLanguageList();this.doTranslate=a});b(c$,"getSupported",function(a){if(null==a)return null;var c=J.i18n.GT.htLanguages.get(a);if(null!=c)return 0==c.length?null:c;c=J.i18n.Language.getSupported(J.i18n.GT.getLanguageList(this),a);J.i18n.GT.htLanguages.put(a,null==c?"":c);return c},"~S");b(c$,"addBundles",
function(a,c,d,b,f){try{c="J.translation."+c+".",null!=d&&this.addBundle(a,c,d),null!=b&&this.addBundle(a,c,b),null!=f&&this.addBundle(a,c,f)}catch(g){if(C(g,Exception))J.i18n.GT.allowDebug&&JU.Logger.errorEx("Some exception occurred!",g),this.resources=null,this.resourceCount=0;else throw g;}},"JV.Viewer,~S,~S,~S,~S");b(c$,"addBundle",function(a,c,d){a=J.i18n.Resource.getResource(a,c,d);null!=a&&(null==this.resources&&(this.resources=Array(8),this.resourceCount=0),this.resources[this.resourceCount]=
a,this.resourceCount++,J.i18n.GT.allowDebug&&JU.Logger.debug("GT adding "+c))},"JV.Viewer,~S,~S");b(c$,"getString",function(a){var c=null;if(this.doTranslate){for(var d=0;d<this.resourceCount;d++)if(c=this.resources[d].getString(a),null!=c){a=c;break}0<this.resourceCount&&(null==c&&J.i18n.GT.allowDebug&&JU.Logger.debugging)&&JU.Logger.debug("No trans, using default: "+a)}null==c&&(a.startsWith("[")?a=a.substring(a.indexOf("]")+1):a.endsWith("]")&&(a=a.substring(0,a.indexOf("["))));return a},"~S");
D(c$,"$ignoreApplicationBundle",!1,"$getTextWrapper",null,"languageList",null,"allowDebug",!1,"vwr",null);c$.htLanguages=c$.prototype.htLanguages=new java.util.Hashtable});l("J.i18n");u(null,"J.i18n.Language",["J.i18n.GT"],function(){c$=r(function(){this.nativeLanguage=this.language=this.code=null;this.display=!1;q(this,arguments)},J.i18n,"Language");c$.getLanguageList=b(c$,"getLanguageList",function(){return x(-1,[new J.i18n.Language("ar",J.i18n.GT._("Arabic"),"\u0627\u0644\u0639\u0631\u0628\u064a\u0629",
!1),new J.i18n.Language("ast",J.i18n.GT._("Asturian"),"Asturian",!1),new J.i18n.Language("az",J.i18n.GT._("Azerbaijani"),"az\u0259rbaycan dili",!1),new J.i18n.Language("bs",J.i18n.GT._("Bosnian"),"bosanski jezik",!1),new J.i18n.Language("ca",J.i18n.GT._("Catalan"),"Catal\u00e0",!0),new J.i18n.Language("cs",J.i18n.GT._("Czech"),"\u010ce\u0161tina",!0),new J.i18n.Language("da",J.i18n.GT._("Danish"),"Dansk",!0),new J.i18n.Language("de",J.i18n.GT._("German"),"Deutsch",!0),new J.i18n.Language("el",J.i18n.GT._("Greek"),
"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",!1),new J.i18n.Language("en_AU",J.i18n.GT._("Australian English"),"Australian English",!1),new J.i18n.Language("en_GB",J.i18n.GT._("British English"),"British English",!0),new J.i18n.Language("en_US",J.i18n.GT._("American English"),"American English",!0),new J.i18n.Language("es",J.i18n.GT._("Spanish"),"Espa\u00f1ol",!0),new J.i18n.Language("et",J.i18n.GT._("Estonian"),"Eesti",!1),new J.i18n.Language("eu",J.i18n.GT._("Basque"),"Euskara",!0),new J.i18n.Language("fi",
J.i18n.GT._("Finnish"),"Suomi",!0),new J.i18n.Language("fo",J.i18n.GT._("Faroese"),"F\u00f8royskt",!1),new J.i18n.Language("fr",J.i18n.GT._("French"),"Fran\u00e7ais",!0),new J.i18n.Language("fy",J.i18n.GT._("Frisian"),"Frysk",!1),new J.i18n.Language("gl",J.i18n.GT._("Galician"),"Galego",!1),new J.i18n.Language("hr",J.i18n.GT._("Croatian"),"Hrvatski",!1),new J.i18n.Language("hu",J.i18n.GT._("Hungarian"),"Magyar",!0),new J.i18n.Language("hy",J.i18n.GT._("Armenian"),"\u0540\u0561\u0575\u0565\u0580\u0565\u0576",
!1),new J.i18n.Language("id",J.i18n.GT._("Indonesian"),"Indonesia",!0),new J.i18n.Language("it",J.i18n.GT._("Italian"),"Italiano",!0),new J.i18n.Language("ja",J.i18n.GT._("Japanese"),"\u65e5\u672c\u8a9e",!0),new J.i18n.Language("jv",J.i18n.GT._("Javanese"),"Basa Jawa",!1),new J.i18n.Language("ko",J.i18n.GT._("Korean"),"\ud55c\uad6d\uc5b4",!0),new J.i18n.Language("ms",J.i18n.GT._("Malay"),"Bahasa Melayu",!0),new J.i18n.Language("nb",J.i18n.GT._("Norwegian Bokmal"),"Norsk Bokm\u00e5l",!1),new J.i18n.Language("nl",
J.i18n.GT._("Dutch"),"Nederlands",!0),new J.i18n.Language("oc",J.i18n.GT._("Occitan"),"Occitan",!1),new J.i18n.Language("pl",J.i18n.GT._("Polish"),"Polski",!1),new J.i18n.Language("pt",J.i18n.GT._("Portuguese"),"Portugu\u00eas",!1),new J.i18n.Language("pt_BR",J.i18n.GT._("Brazilian Portuguese"),"Portugu\u00eas brasileiro",!0),new J.i18n.Language("ru",J.i18n.GT._("Russian"),"\u0420\u0443\ufffd?\ufffd?\u043a\u0438\u0439",!1),new J.i18n.Language("sl",J.i18n.GT._("Slovenian"),"Sloven\u0161\ufffd?ina",
!1),new J.i18n.Language("sr",J.i18n.GT._("Serbian"),"\ufffd?\u0440\u043f\ufffd?\u043a\u0438 \u0458\u0435\u0437\u0438\u043a",!1),new J.i18n.Language("sv",J.i18n.GT._("Swedish"),"Svenska",!0),new J.i18n.Language("ta",J.i18n.GT._("Tamil"),"\u0ba4\u0bae\u0bbf\u0bb4\ufffd?",!1),new J.i18n.Language("te",J.i18n.GT._("Telugu"),"\u0c24\u0c46\u0c32\ufffd?\u0c17\ufffd?",!1),new J.i18n.Language("tr",J.i18n.GT._("Turkish"),"T\u00fcrk\u00e7e",!0),new J.i18n.Language("ug",J.i18n.GT._("Uyghur"),"Uy\u01a3urq\u0259",
!1),new J.i18n.Language("uk",J.i18n.GT._("Ukrainian"),"\u0423\u043a\u0440\u0430\u0457\u043d\ufffd?\u044c\u043a\u0430",!0),new J.i18n.Language("uz",J.i18n.GT._("Uzbek"),"O'zbek",!1),new J.i18n.Language("zh_CN",J.i18n.GT._("Simplified Chinese"),"\u7b80\u4f53\u4e2d\u6587",!0),new J.i18n.Language("zh_TW",J.i18n.GT._("Traditional Chinese"),"\ufffd?\u9ad4\u4e2d\u6587",!0)])});t(c$,function(a,c,d,b){this.code=a;this.language=c;this.nativeLanguage=d;this.display=b},"~S,~S,~S,~B");c$.getSupported=b(c$,"getSupported",
function(a,c){for(var d=a.length;0<=--d;)if(a[d].code.equalsIgnoreCase(c))return a[d].code;for(d=a.length;0<=--d;)if(a[d].code.startsWith(c))return a[d].code;return null},"~A,~S")});l("J.i18n");u(null,"J.i18n.Resource",["java.util.Hashtable","JU.PT","J.api.Interface","JU.Logger","JV.Viewer"],function(){c$=r(function(){this.resourceMap=this.resource=null;q(this,arguments)},J.i18n,"Resource");t(c$,function(a,c){null==c?this.resourceMap=a:this.resource=a},"~O,~S");c$.getResource=b(c$,"getResource",function(a,
c,d){var b=null;if(null!=a&&a.isApplet)return c=JV.Viewer.appletIdiomaBase+"/"+d+".po",JU.Logger.info("Loading language resource "+c),b=a.getFileAsString3(c,!1,"gt"),J.i18n.Resource.getResourceFromPO(b);c+=d+".Messages_"+d;a=J.api.Interface.getInterface(c,a,"gt");return null==a?null:new J.i18n.Resource(a,c)},"JV.Viewer,~S,~S");b(c$,"getString",function(a){try{return null==this.resource?this.resourceMap.get(a):this.resource.getString(a)}catch(c){if(C(c,Exception))return null;throw c;}},"~S");c$.getLanguage=
b(c$,"getLanguage",function(){var a=null;return a=Jmol.featureDetection.getDefaultLanguage().replace(/-/g,"_")});c$.getResourceFromPO=b(c$,"getResourceFromPO",function(a){if(null==a||0==a.length)return null;var c=new java.util.Hashtable;try{var d=JU.PT.split(a,"\n");a=0;for(var b="",f="",g=0;g<d.length;g++){var h=d[g];2>=h.length?(2==a&&(0!=b.length&&0!=f.length)&&c.put(f,b),a=0):0==h.indexOf("msgid")?(a=1,f=J.i18n.Resource.fix(h)):0==h.indexOf("msgstr")?(a=2,b=J.i18n.Resource.fix(h)):1==a?f+=J.i18n.Resource.fix(h):
2==a&&(b+=J.i18n.Resource.fix(h))}}catch(e){if(!C(e,Exception))throw e;}JU.Logger.info(c.size()+" translations loaded");return 0==c.size()?null:new J.i18n.Resource(c,null)},"~S");c$.fix=b(c$,"fix",function(a){0<=a.indexOf('\\"')&&(a=JU.PT.rep(a,'\\"','"'));return JU.PT.rep(a.substring(a.indexOf('"')+1,a.lastIndexOf('"')),"\\n","\n")},"~S")});l("J.io");u(null,"J.io.FileReader","java.io.BufferedInputStream $.BufferedReader $.Reader javajs.api.GenericBinaryDocument $.ZInputStream JU.AU $.PT J.api.Interface JU.Logger".split(" "),
function(){c$=r(function(){this.htParams=this.reader=this.atomSetCollection=this.fileTypeIn=this.nameAsGivenIn=this.fullPathNameIn=this.fileNameIn=this.vwr=this.fm=null;this.isAppend=!1;this.bytes=null;q(this,arguments)},J.io,"FileReader");t(c$,function(a,c,d,b,f,g,h,e,m){this.fm=a;this.vwr=c;this.fileNameIn=d;this.fullPathNameIn=b;this.nameAsGivenIn=f;this.fileTypeIn=g;this.reader=p(h,java.io.BufferedReader)?h:p(h,java.io.Reader)?new java.io.BufferedReader(h):null;this.bytes=JU.AU.isAB(h)?h:null;
this.htParams=e;this.isAppend=m},"JV.FileManager,JV.Viewer,~S,~S,~S,~S,~O,java.util.Map,~B");b(c$,"run",function(){!this.isAppend&&this.vwr.displayLoadErrors&&this.vwr.zap(!1,!0,!1);var a=null,a=null;if(null==this.reader){a=this.fm.getUnzippedReaderOrStreamFromName(this.fullPathNameIn,this.bytes,!0,!1,!1,!0,this.htParams);if(null==a||p(a,String)){a=null==a?"error opening:"+this.nameAsGivenIn:a;a.startsWith("NOTE:")||JU.Logger.error("file ERROR: "+this.fullPathNameIn+"\n"+a);this.atomSetCollection=
a;return}if(p(a,java.io.BufferedReader))this.reader=a;else if(p(a,javajs.api.ZInputStream)){var c=this.fullPathNameIn,d=null,c=c.$replace("\\","/");0<=c.indexOf("|")&&!c.endsWith(".zip")&&(d=JU.PT.split(c,"|"),c=d[0]);null!=d&&this.htParams.put("subFileList",d);d=a;a=this.fm.getZipDirectory(c,!0,!0);this.atomSetCollection=a=this.fm.getJmb().getAtomSetCollectionOrBufferedReaderFromZip(this.vwr.getModelAdapter(),d,c,a,this.htParams,!1);try{d.close()}catch(b){if(!C(b,Exception))throw b;}}}p(a,java.io.BufferedInputStream)&&
(c=J.api.Interface.getInterface("JU.BinaryDocument",this.vwr,"file"),c.setStream(this.vwr.getJzt(),a,!0),this.reader=c);if(null!=this.reader){this.atomSetCollection=this.vwr.getModelAdapter().getAtomSetCollectionReader(this.fullPathNameIn,this.fileTypeIn,this.reader,this.htParams);p(this.atomSetCollection,String)||(this.atomSetCollection=this.vwr.getModelAdapter().getAtomSetCollection(this.atomSetCollection));try{p(this.reader,java.io.BufferedReader)?this.reader.close():p(this.reader,javajs.api.GenericBinaryDocument)&&
this.reader.close()}catch(f){if(!C(f,java.io.IOException))throw f;}}p(this.atomSetCollection,String)||(!this.isAppend&&!this.vwr.displayLoadErrors&&this.vwr.zap(!1,!0,!1),this.fm.setFileInfo(x(-1,[this.fullPathNameIn,this.fileNameIn,this.nameAsGivenIn])))});b(c$,"getAtomSetCollection",function(){return this.atomSetCollection})});l("J.render");u(["J.render.ShapeRenderer"],"J.render.BallsRenderer",["J.shape.Shape"],function(){c$=B(J.render,"BallsRenderer",J.render.ShapeRenderer);e(c$,"render",function(){var a=
!1;if(this.isExport||this.vwr.checkMotionRendering(1140850689))for(var c=this.ms.at,d=this.shape.colixes,b=this.vwr.shm.bsRenderableAtoms,f=b.nextSetBit(0);0<=f;f=b.nextSetBit(f+1)){var g=c[f];0<g.sD&&0!=(g.shapeVisibilityFlags&this.myVisibilityFlag)&&(this.g3d.setC(null==d?g.colixAtom:J.shape.Shape.getColix(d,f,g))?this.g3d.drawAtom(g):a=!0)}return a})});l("J.render");u(["J.render.ShapeRenderer","JU.P3","$.P3i","$.V3"],"J.render.FontLineShapeRenderer",["java.lang.Float","JU.PT"],function(){c$=r(function(){this.imageFontScaling=
0;this.tickInfo=this.vectorT3=this.vectorT2=this.vectorT=this.pointT3=this.pointT2=this.pointT=this.s2=this.s1=this.pt2i=this.pt1i=this.pt0i=this.font3d=this.tickBs=this.tickAs=this.tickB=this.tickA=null;this.draw000=!0;this.width=0;this.endcap=3;this.pt1=this.pt0=null;this.colixB=this.colixA=0;this.dotsOrDashes=!1;this.dashDots=null;this.asLineOnly=!1;q(this,arguments)},J.render,"FontLineShapeRenderer",J.render.ShapeRenderer);M(c$,function(){this.pt0i=new JU.P3i;this.pt1i=new JU.P3i;this.pt2i=new JU.P3i;
this.s1=new JU.P3i;this.s2=new JU.P3i;this.pointT=new JU.P3;this.pointT2=new JU.P3;this.pointT3=new JU.P3;this.vectorT=new JU.V3;this.vectorT2=new JU.V3;this.vectorT3=new JU.V3;this.pt0=new JU.P3;this.pt1=new JU.P3});b(c$,"getDiameter",function(a,c){var d;d=20<c;switch(this.exportType){case 1:d=d?c:v(Math.floor(1E3*this.vwr.tm.unscaleToScreen(a,2*c)));break;default:d?d=A(this.vwr.tm.scaleToScreen(a,c)):(this.g3d.isAntialiased()&&(c+=c),d=c)}return d},"~N,~N");b(c$,"renderLine",function(a,c,d,b){0>
d?this.g3d.drawDottedLineBits(a,c):this.g3d.fillCylinderBits(this.endcap,d,a,c);b&&null!=this.tickInfo&&(this.checkTickTemps(),this.tickAs.setT(a),this.tickBs.setT(c),this.drawTicks(d,!0))},"JU.P3,JU.P3,~N,~B");b(c$,"checkTickTemps",function(){null==this.tickA&&(this.tickA=new JU.P3,this.tickB=new JU.P3,this.tickAs=new JU.P3,this.tickBs=new JU.P3)});b(c$,"drawTicks",function(a,c){Float.isNaN(this.tickInfo.first)&&(this.tickInfo.first=0);this.drawTicks2(this.tickInfo.ticks.x,8,a,!c?null:null==this.tickInfo.tickLabelFormats?
x(-1,["%0.2f"]):this.tickInfo.tickLabelFormats);this.drawTicks2(this.tickInfo.ticks.y,4,a,null);this.drawTicks2(this.tickInfo.ticks.z,2,a,null)},"~N,~B");b(c$,"drawTicks2",function(a,c,d,b){if(0!=a&&(this.g3d.isAntialiased()&&(c*=2),this.vectorT2.set(this.tickBs.x,this.tickBs.y,0),this.vectorT.set(this.tickAs.x,this.tickAs.y,0),this.vectorT2.sub(this.vectorT),!(50>this.vectorT2.length()))){var f=this.tickInfo.signFactor;this.vectorT.sub2(this.tickB,this.tickA);var g=this.vectorT.length();if(null!=
this.tickInfo.scale)if(Float.isNaN(this.tickInfo.scale.x)){var h=this.vwr.getUnitCellInfo(0);Float.isNaN(h)||this.vectorT.set(this.vectorT.x/h,this.vectorT.y/this.vwr.getUnitCellInfo(1),this.vectorT.z/this.vwr.getUnitCellInfo(2))}else this.vectorT.set(this.vectorT.x*this.tickInfo.scale.x,this.vectorT.y*this.tickInfo.scale.y,this.vectorT.z*this.tickInfo.scale.z);h=this.vectorT.length()+1E-4*a;if(!(h<a)){this.vectorT.scale(a/h*g/h);var g=(this.tickBs.z-this.tickAs.z)/(h/a),h=h+this.tickInfo.first,e=
v(Math.floor(this.tickInfo.first/a))*a-this.tickInfo.first;this.pointT.scaleAdd2(e/a,this.vectorT,this.tickA);var e=e+this.tickInfo.first,m=this.tickAs.z;0>d&&(d=1);this.vectorT2.set(-this.vectorT2.y,this.vectorT2.x,0);this.vectorT2.scale(c/this.vectorT2.length());c=this.tickInfo.reference;null==c?(this.pointT3.setT(this.vwr.getBoundBoxCenter()),603979810==this.vwr.g.axesMode&&this.pointT3.add3(1,1,1)):this.pointT3.setT(c);this.tm.transformPtScr(this.pointT3,this.pt2i);c=0.2>Math.abs(this.vectorT2.x/
this.vectorT2.y);for(var n=!c,s=!c&&0>this.vectorT2.x,w=null!=b&&0<b.length,l,z,p=Array(1),q=this.draw000?0:-1;e<h;){if(e>=this.tickInfo.first&&(this.pointT2.setT(this.pointT),this.tm.transformPt3f(this.pointT2,this.pointT2),this.drawLine(v(Math.floor(this.pointT2.x)),v(Math.floor(this.pointT2.y)),A(m),l=v(Math.floor(this.pointT2.x+this.vectorT2.x)),z=v(Math.floor(this.pointT2.y+this.vectorT2.y)),A(m),d),w&&(this.draw000||0!=e))){p[0]=Float.$valueOf(0==e?0:e*f);var r=JU.PT.sprintf(b[q%b.length],"f",
p);this.drawString(l,z,A(m),4,s,c,n,v(Math.floor(this.pointT2.y)),r)}this.pointT.add(this.vectorT);e+=a;m+=g;q++}}}},"~N,~N,~N,~A");b(c$,"drawLine",function(a,c,d,b,f,g,h){return this.drawLine2(a,c,d,b,f,g,h)},"~N,~N,~N,~N,~N,~N,~N");b(c$,"drawLine2",function(a,c,d,b,f,g,h){this.pt0.set(a,c,d);this.pt1.set(b,f,g);if(this.dotsOrDashes)null!=this.dashDots&&this.drawDashed(a,c,d,b,f,g,this.dashDots);else{if(0>h)return this.g3d.drawDashedLineBits(4,2,this.pt0,this.pt1),1;this.g3d.fillCylinderBits(2,h,
this.pt0,this.pt1)}return v((h+1)/2)},"~N,~N,~N,~N,~N,~N,~N");b(c$,"drawString",function(a,c,d,b,f,g,h,e,m){if(null!=m){var n=this.font3d.stringWidth(m),s=this.font3d.getAscent();a=f?a-(v(b/2)+2+n):g?a-(v(b/2)+2+v(n/2)):a+(v(b/2)+2);f=c;f=h?f+v(s/2):0==e||e<c?f+s:f-v(b/2);c=d-b-2;1>c&&(c=1);this.g3d.drawString(m,this.font3d,a,f,c,c,0)}},"~N,~N,~N,~N,~B,~B,~B,~N,~S");b(c$,"drawDashed",function(a,c,d,b,f,g,h){if(!(null==h||0>this.width)){var e=h[0];b-=a;f-=c;g-=d;var m=0,n=h===J.render.FontLineShapeRenderer.ndots,
s=n||h===J.render.FontLineShapeRenderer.sixdots;if(s){var w=(b*b+f*f)/(this.width*this.width);n?(e=Math.sqrt(w)/1.5,m=A(e)+3):8>w?h=J.render.FontLineShapeRenderer.twodots:32>w&&(h=J.render.FontLineShapeRenderer.fourdots)}var w=h[1],l=h[2],z=this.colixA,p=0==l?this.colixB:this.colixA;0==m&&(m=h.length);for(var q=0,r=3;r<m;r++){var q=n?q+1:h[r],t=v(Math.floor(a+b*q/e)),u=v(Math.floor(c+f*q/e)),x=v(Math.floor(d+g*q/e));if(s)this.s1.set(t,u,x),r==w?this.g3d.setC(this.colixA):r==l&&this.g3d.setC(this.colixB),
this.g3d.fillSphereI(this.width,this.s1);else{r==w&&(z=this.colixB);q=h[++r];r==l&&(p=this.colixB);var y=v(Math.floor(a+b*q/e)),B=v(Math.floor(c+f*q/e)),C=v(Math.floor(d+g*q/e));this.fillCylinder(z,p,2,this.width,t,u,x,y,B,C)}}}},"~N,~N,~N,~N,~N,~N,~A");b(c$,"fillCylinder",function(a,c,d,b,f,g,h,e,m,n){this.asLineOnly?this.g3d.drawLine(a,c,f,g,h,e,m,n):this.g3d.fillCylinderXYZ(a,c,d,!this.isExport||1==this.mad?b:this.mad,f,g,h,e,m,n)},"~N,~N,~N,~N,~N,~N,~N,~N,~N,~N");D(c$,"dashes",y(-1,[12,0,0,2,
5,7,10]),"hDashes",y(-1,[10,7,6,1,3,4,6,7,9]),"ndots",y(-1,[0,3,1E3]),"sixdots",y(-1,[12,3,6,1,3,5,7,9,11]),"fourdots",y(-1,[13,3,5,2,5,8,11]),"twodots",y(-1,[12,3,4,3,9]))});l("J.render");u(["J.render.ShapeRenderer"],"J.render.FrankRenderer",null,function(){c$=B(J.render,"FrankRenderer",J.render.ShapeRenderer);e(c$,"render",function(){var a=this.shape,c=this.vwr.getBooleanProperty("allowKeyStrokes"),d=this.vwr.getBoolean(603979883);this.colix=d?20:this.vwr.isSignedApplet?c||this.vwr.isJS&&!this.vwr.isWebGL?
5:10:c?7:12;if(this.isExport||!this.vwr.getShowFrank()||!this.g3d.setC(this.colix))return!1;if(this.vwr.frankOn&&!this.vwr.noFrankEcho)return this.vwr.noFrankEcho;this.vwr.noFrankEcho=!0;c=this.vwr.imageFontScaling;a.getFont(c);var c=A(a.frankWidth+4*c),b=a.frankDescent;this.g3d.drawStringNoSlab(a.frankString,a.font3d,this.vwr.gdata.width-c,this.vwr.gdata.height-b,0,0);d&&this.g3d.fillTextRect(0,0,0,0,2*b,v(3*c/2));return!1})});l("J.render");u(["J.api.JmolRepaintManager","JU.BS"],"J.render.RepaintManager",
["java.lang.NullPointerException","J.api.Interface","JU.Logger","JV.JC"],function(){c$=r(function(){this.bsTranslucent=this.renderers=this.shapeManager=this.vwr=null;this.holdRepaint=0;this.repaintPending=!1;q(this,arguments)},J.render,"RepaintManager",null,J.api.JmolRepaintManager);M(c$,function(){this.bsTranslucent=JU.BS.newN(37)});t(c$,function(){});e(c$,"set",function(a,c){this.vwr=a;this.shapeManager=c},"JV.Viewer,JV.ShapeManager");e(c$,"isRepaintPending",function(){return this.repaintPending});
e(c$,"pushHoldRepaint",function(){++this.holdRepaint},"~S");e(c$,"popHoldRepaint",function(a,c){--this.holdRepaint;0>=this.holdRepaint&&(this.holdRepaint=0,a&&(this.repaintPending=!0,this.repaintNow(c)))},"~B,~S");e(c$,"requestRepaintAndWait",function(){"undefined"!=typeof Jmol&&Jmol._repaint&&Jmol._repaint(this.vwr.html5Applet,!1);this.repaintDone()},"~S");e(c$,"repaintIfReady",function(a){if(this.repaintPending)return!1;this.repaintPending=!0;0==this.holdRepaint&&this.repaintNow(a);return!0},"~S");
b(c$,"repaintNow",function(){this.vwr.haveDisplay&&this.vwr.apiPlatform.repaint(this.vwr.display)},"~S");e(c$,"repaintDone",function(){this.repaintPending=!1});e(c$,"clear",function(a){if(null!=this.renderers)if(0<=a)this.renderers[a]=null;else for(a=0;37>a;++a)this.renderers[a]=null},"~N");b(c$,"getRenderer",function(a){if(null!=this.renderers[a])return this.renderers[a];var c=JV.JC.getShapeClassName(a,!0)+"Renderer";if(null==(c=J.api.Interface.getInterface(c,this.vwr,"render")))return null;c.setViewerG3dShapeID(this.vwr,
a);return this.renderers[a]=c},"~N");e(c$,"render",function(a,c,d,b){null==this.renderers&&(this.renderers=Array(37));this.getAllRenderers();try{var f=this.vwr.getBoolean(603979934);a.renderBackground(null);if(d){this.bsTranslucent.clearAll();null!=b&&a.renderCrossHairs(b,this.vwr.getScreenWidth(),this.vwr.getScreenHeight(),this.vwr.tm.getNavigationOffset(),this.vwr.tm.navigationDepthPercent);var g=this.vwr.getRubberBandSelection();null!=g&&a.setC(this.vwr.cm.colixRubberband)&&a.drawRect(g.x,g.y,
0,0,g.width,g.height);this.vwr.noFrankEcho=!0}b=null;for(g=0;37>g&&a.currentlyRendering;++g){var h=this.shapeManager.getShape(g);null!=h&&(f&&(b="rendering "+JV.JC.getShapeClassName(g,!1),JU.Logger.startTimer(b)),(d||this.bsTranslucent.get(g))&&this.getRenderer(g).renderShape(a,c,h)&&this.bsTranslucent.set(g),f&&JU.Logger.checkTimer(b,!1))}a.renderAllStrings(null)}catch(e){if(C(e,Exception)){this.vwr.isJS||e.printStackTrace();if(this.vwr.async&&"Interface".equals(e.getMessage()))throw new NullPointerException;
JU.Logger.error("rendering error? "+e)}else throw e;}},"JU.GData,JM.ModelSet,~B,~A");b(c$,"getAllRenderers",function(){for(var a=!0,c=0;37>c;++c)null==this.shapeManager.getShape(c)||null!=this.getRenderer(c)||(a=this.repaintPending=!this.vwr.async);if(!a)throw new NullPointerException;});e(c$,"renderExport",function(a,c,d){this.vwr.finalizeTransformParameters();this.shapeManager.finalizeAtoms(null,null);a=this.vwr.initializeExporter(d);if(null==a)return JU.Logger.error("Cannot export "+d.get("type")),
null;null==this.renderers&&(this.renderers=Array(37));this.getAllRenderers();d=null;try{var b=this.vwr.getBoolean(603979934);a.renderBackground(a);for(var f=0;37>f;++f){var g=this.shapeManager.getShape(f);null!=g&&(b&&(d="rendering "+JV.JC.getShapeClassName(f,!1),JU.Logger.startTimer(d)),this.getRenderer(f).renderShape(a,c,g),b&&JU.Logger.checkTimer(d,!1))}a.renderAllStrings(a);d=a.finalizeOutput()}catch(h){if(C(h,Exception))this.vwr.isJS||h.printStackTrace(),JU.Logger.error("rendering error? "+h);
else throw h;}return d},"JU.GData,JM.ModelSet,java.util.Map")});l("J.render");u(null,"J.render.ShapeRenderer",["JV.JC"],function(){c$=r(function(){this.shape=this.ms=this.g3d=this.tm=this.vwr=null;this.exportType=this.madEnd=this.madMid=this.madBeg=this.mad=this.colix=this.shapeID=this.myVisibilityFlag=0;this.isExport=!1;q(this,arguments)},J.render,"ShapeRenderer");b(c$,"initRenderer",function(){});b(c$,"setViewerG3dShapeID",function(a,c){this.vwr=a;this.tm=a.tm;this.shapeID=c;this.myVisibilityFlag=
JV.JC.getShapeVisibilityFlag(c);this.initRenderer()},"JV.Viewer,~N");b(c$,"renderShape",function(a,c,d){this.g3d=a;this.ms=c;this.shape=d;this.exportType=a.getExportType();this.isExport=0!=this.exportType;a=this.render();this.exportType=0;this.isExport=!1;return a},"J.api.JmolRendererInterface,JM.ModelSet,J.shape.Shape");b(c$,"isVisibleForMe",function(a){return a.isVisible(this.myVisibilityFlag|9)},"JM.Atom")});l("J.render");u(["J.render.FontLineShapeRenderer","JU.BS","$.P3","$.V3"],"J.render.SticksRenderer",
"java.lang.Float JU.A4 $.M3 J.c.PAL JM.Bond JU.C $.Edge".split(" "),function(){c$=r(function(){this.showMultipleBonds=!1;this.multipleBondRadiusFactor=this.multipleBondSpacing=0;this.useBananas=this.bondsPerp=!1;this.modeMultipleBond=0;this.isCartesian=!1;this.endcaps=0;this.hbondsSolid=this.bondsBackbone=this.hbondsBackbone=this.ssbondsBackbone=!1;this.bond=this.b=this.a=null;this.bondOrder=this.mag2d=this.dy=this.dx=this.zB=this.yB=this.xB=this.zA=this.yA=this.xA=0;this.slabByAtom=this.slabbing=
this.isAntialiased=this.wireframeOnly=!1;this.bsForPass2=this.p2=this.p1=this.z=this.y=this.x=null;this.isPass2=!1;this.a4=this.rot=null;this.dyStep=this.dxStep=this.yAxis2=this.xAxis2=this.yAxis1=this.xAxis1=0;q(this,arguments)},J.render,"SticksRenderer",J.render.FontLineShapeRenderer);M(c$,function(){this.x=new JU.V3;this.y=new JU.V3;this.z=new JU.V3;this.p1=new JU.P3;this.p2=new JU.P3;this.bsForPass2=JU.BS.newN(64)});e(c$,"render",function(){var a=this.ms.bo;if(null==a)return!1;(this.isPass2=this.vwr.gdata.isPass2)||
this.bsForPass2.clearAll();this.slabbing=this.tm.slabEnabled;this.slabByAtom=this.vwr.getBoolean(603979939);this.endcaps=3;this.dashDots=this.vwr.getBoolean(603979891)?J.render.FontLineShapeRenderer.sixdots:J.render.FontLineShapeRenderer.dashes;this.isCartesian=1==this.exportType;this.getMultipleBondSettings(!1);this.wireframeOnly=!this.vwr.checkMotionRendering(1677721602);this.ssbondsBackbone=this.vwr.getBoolean(603979952);this.hbondsBackbone=this.vwr.getBoolean(603979852);this.bondsBackbone=(new Boolean(this.hbondsBackbone|
this.ssbondsBackbone)).valueOf();this.hbondsSolid=this.vwr.getBoolean(603979854);this.isAntialiased=this.g3d.isAntialiased();var c=!1;if(this.isPass2){if(!this.isExport)for(var d=this.bsForPass2.nextSetBit(0);0<=d;d=this.bsForPass2.nextSetBit(d+1))this.bond=a[d],this.renderBond()}else for(d=this.ms.bondCount;0<=--d;)this.bond=a[d],0!=(this.bond.shapeVisibilityFlags&this.myVisibilityFlag)&&this.renderBond()&&(c=!0,this.bsForPass2.set(d));return c});b(c$,"getMultipleBondSettings",function(a){this.useBananas=
this.vwr.getBoolean(603979886)&&!a;this.multipleBondSpacing=a?0.15:this.vwr.getFloat(570425370);this.multipleBondRadiusFactor=a?0.4:this.vwr.getFloat(570425369);this.bondsPerp=this.useBananas||0<this.multipleBondSpacing&&0>this.multipleBondRadiusFactor;this.useBananas&&(this.multipleBondSpacing=0>this.multipleBondSpacing?0.4*-this.multipleBondSpacing:this.multipleBondSpacing);this.multipleBondRadiusFactor=Math.abs(this.multipleBondRadiusFactor);0==this.multipleBondSpacing&&this.isCartesian&&(this.multipleBondSpacing=
0.2);this.modeMultipleBond=this.vwr.g.modeMultipleBond;this.showMultipleBonds=0!=this.multipleBondSpacing&&0!=this.modeMultipleBond&&this.vwr.getBoolean(603979928)},"~B");b(c$,"renderBond",function(){var a,c;this.a=a=this.bond.atom1;this.b=c=this.bond.atom2;var d=this.bond.order&-131073;this.bondsBackbone&&(this.ssbondsBackbone&&0!=(d&256)?(this.a=this.a.group.getLeadAtomOr(this.a),this.b=this.b.group.getLeadAtomOr(this.b)):this.hbondsBackbone&&JM.Bond.isOrderH(d)&&(this.a=this.a.group.getLeadAtomOr(this.a),
this.b=this.b.group.getLeadAtomOr(this.b)));if(!this.isPass2&&(!this.a.isVisible(9)||!this.b.isVisible(9)||!this.g3d.isInDisplayRange(this.a.sX,this.a.sY)||!this.g3d.isInDisplayRange(this.b.sX,this.b.sY))||this.slabbing&&(this.vwr.gdata.isClippedZ(this.a.sZ)&&this.vwr.gdata.isClippedZ(this.b.sZ)||this.slabByAtom&&(this.vwr.gdata.isClippedZ(this.a.sZ)||this.vwr.gdata.isClippedZ(this.b.sZ))))return!1;this.zA=this.a.sZ;this.zB=this.b.sZ;if(1==this.zA||1==this.zB)return!1;this.colixA=a.colixAtom;this.colixB=
c.colixAtom;2==((this.colix=this.bond.colix)&-30721)?(this.colix&=30720,this.colixA=JU.C.getColixInherited(this.colix|this.vwr.cm.getColixAtomPalette(a,J.c.PAL.CPK.id),this.colixA),this.colixB=JU.C.getColixInherited(this.colix|this.vwr.cm.getColixAtomPalette(c,J.c.PAL.CPK.id),this.colixB)):(this.colixA=JU.C.getColixInherited(this.colix,this.colixA),this.colixB=JU.C.getColixInherited(this.colix,this.colixB));a=!1;if(!this.isExport&&!this.isPass2){c=!JU.C.renderPass2(this.colixA);var b=!JU.C.renderPass2(this.colixB);
if(!c||!b){if(!c&&!b&&!a)return this.g3d.setC(!c?this.colixA:this.colixB),!0;a=!0}}this.bondOrder=d&-131073;if(0==(this.bondOrder&224)&&(0!=(this.bondOrder&256)&&(this.bondOrder&=-257),0!=(this.bondOrder&1023)&&(!this.showMultipleBonds||2==this.modeMultipleBond&&500<this.mad||65536==(this.bondOrder&98304))))this.bondOrder=1;c=0;switch(this.bondOrder){case 1:case 2:case 3:case 4:break;case 17:case 513:this.bondOrder=1;c=513==d?0:1;break;case 515:case 514:this.bondOrder=2;c=515==d?this.getAromaticDottedBondMask():
0;break;default:0!=(this.bondOrder&224)?(this.bondOrder=JU.Edge.getPartialBondOrder(d),c=JU.Edge.getPartialBondDotted(d)):JM.Bond.isOrderH(this.bondOrder)?(this.bondOrder=1,this.hbondsSolid||(c=-1)):32768==this.bondOrder?this.bondOrder=1:98304==(this.bondOrder&98304)&&(this.getMultipleBondSettings(!0),this.bondOrder&=3,c=-2)}this.xA=this.a.sX;this.yA=this.a.sY;this.xB=this.b.sX;this.yB=this.b.sY;this.mad=this.bond.mad;0<this.multipleBondRadiusFactor&&1<this.bondOrder&&(this.mad*=this.multipleBondRadiusFactor);
this.dx=this.xB-this.xA;this.dy=this.yB-this.yA;this.width=A(this.vwr.tm.scaleToScreen(v((this.zA+this.zB)/2),this.mad));this.wireframeOnly&&0<this.width&&(this.width=1);if(!this.isCartesian&&(this.asLineOnly=1>=this.width)&&this.isAntialiased)this.width=3,this.asLineOnly=!1;switch(c){case -2:this.drawBond(0);this.getMultipleBondSettings(!1);break;case -1:this.drawDashed(this.xA,this.yA,this.zA,this.xB,this.yB,this.zB,J.render.FontLineShapeRenderer.hDashes);break;default:this.drawBond(c)}return a});
b(c$,"drawBond",function(a){if(this.isCartesian&&1==this.bondOrder)this.g3d.drawBond(this.a,this.b,this.colixA,this.colixB,this.endcaps,this.mad,-1);else{var c=0==this.dx&&0==this.dy;if(!c||!this.asLineOnly){var d=1<this.bondOrder&&0<this.multipleBondSpacing,b=d&&(null!=this.vwr.getHybridizationAndAxes(this.a.i,this.z,this.x,"pz")||null!=this.vwr.getHybridizationAndAxes(this.b.i,this.z,this.x,"pz"))&&!Float.isNaN(this.x.x);if(c&&!d){a=v(this.width/8)+3;a=this.width+a;d=this.yA-v((this.bondOrder-1)*
a/2);do this.fillCylinder(this.colixA,this.colixB,this.endcaps,this.width,this.xA,d,this.zA,this.xB,d,this.zB),d+=a;while(0<--this.bondOrder)}else if(c=0!=(a&1),1==this.bondOrder)c?this.drawDashed(this.xA,this.yA,this.zA,this.xB,this.yB,this.zB,this.dashDots):this.fillCylinder(this.colixA,this.colixB,this.endcaps,this.width,this.xA,this.yA,this.zA,this.xB,this.yB,this.zB);else if(d)if(b||this.z.setT(JU.P3.getUnlikely()),this.x.sub2(this.b,this.a),this.y.cross(this.x,this.z),this.y.normalize(),Float.isNaN(this.y.x)&&
(this.z.setT(JU.P3.getUnlikely()),this.y.cross(this.x,this.z),this.y.cross(this.y,this.x),this.y.normalize()),this.bondsPerp&&this.y.cross(this.y,this.x),this.y.scale(this.multipleBondSpacing),this.x.setT(this.y),this.x.scale((this.bondOrder-1)/2),this.useBananas)switch(this.drawBanana(this.a,this.b,this.x,0),this.bondOrder){case 4:this.drawBanana(this.a,this.b,this.x,90),this.drawBanana(this.a,this.b,this.x,-90);default:this.drawBanana(this.a,this.b,this.x,180);break;case 3:this.drawBanana(this.a,
this.b,this.x,120),this.drawBanana(this.a,this.b,this.x,-120)}else{this.p1.sub2(this.a,this.x);for(this.p2.sub2(this.b,this.x);;){this.isCartesian&&!c?this.g3d.drawBond(this.p1,this.p2,this.colixA,this.colixB,this.endcaps,this.mad,-2):(this.tm.transformPtScr(this.p1,this.s1),this.tm.transformPtScr(this.p2,this.s2),c?this.drawDashed(this.s1.x,this.s1.y,this.s1.z,this.s2.x,this.s2.y,this.s2.z,this.dashDots):this.fillCylinder(this.colixA,this.colixB,this.endcaps,this.width,this.s1.x,this.s1.y,this.s1.z,
this.s2.x,this.s2.y,this.s2.z),a>>=1,c=0!=(a&1));if(0>=--this.bondOrder)break;this.p1.add(this.y);this.p2.add(this.y);this.stepAxisCoordinates()}}else{this.mag2d=Math.round(Math.sqrt(this.dx*this.dx+this.dy*this.dy));for(this.resetAxisCoordinates();;){0!=(a&1)?this.drawDashed(this.xAxis1,this.yAxis1,this.zA,this.xAxis2,this.yAxis2,this.zB,this.dashDots):this.fillCylinder(this.colixA,this.colixB,this.endcaps,this.width,this.xAxis1,this.yAxis1,this.zA,this.xAxis2,this.yAxis2,this.zB);a>>=1;if(0>=--this.bondOrder)break;
this.stepAxisCoordinates()}}}}},"~N");b(c$,"drawBanana",function(a,c,d,b){this.g3d.addRenderer(553648147);this.vectorT.sub2(c,a);null==this.rot&&(this.rot=new JU.M3,this.a4=new JU.A4);this.a4.setVA(this.vectorT,3.141592653589793*b/180);this.rot.setAA(this.a4);this.pointT.setT(a);this.pointT3.setT(c);this.pointT2.ave(a,c);this.rot.rotate2(d,this.vectorT);this.pointT2.add(this.vectorT);this.tm.transformPtScrT3(a,this.pointT);this.tm.transformPtScrT3(this.pointT2,this.pointT2);this.tm.transformPtScrT3(c,
this.pointT3);a=Math.max(this.width,1);this.g3d.setC(this.colixA);this.g3d.fillHermite(5,a,a,a,this.pointT,this.pointT,this.pointT2,this.pointT3);this.g3d.setC(this.colixB);this.g3d.fillHermite(5,a,a,a,this.pointT,this.pointT2,this.pointT3,this.pointT3)},"JM.Atom,JM.Atom,JU.V3,~N");b(c$,"resetAxisCoordinates",function(){var a=this.mag2d>>3;-1!=this.multipleBondSpacing&&0>this.multipleBondSpacing&&(a*=-this.multipleBondSpacing);a=this.width+a;this.dxStep=v(a*this.dy/this.mag2d);this.dyStep=v(a*-this.dx/
this.mag2d);this.xAxis1=this.xA;this.yAxis1=this.yA;this.xAxis2=this.xB;this.yAxis2=this.yB;a=this.bondOrder-1;this.xAxis1-=v(this.dxStep*a/2);this.yAxis1-=v(this.dyStep*a/2);this.xAxis2-=v(this.dxStep*a/2);this.yAxis2-=v(this.dyStep*a/2)});b(c$,"stepAxisCoordinates",function(){this.xAxis1+=this.dxStep;this.yAxis1+=this.dyStep;this.xAxis2+=this.dxStep;this.yAxis2+=this.dyStep});b(c$,"getAromaticDottedBondMask",function(){var a=this.b.findAromaticNeighbor(this.a.i);return null==a?1:0>this.dx*(a.sY-
this.yA)-this.dy*(a.sX-this.xA)?2:1})});l("JS");u(["JS.T"],"JS.ContextToken",["java.util.Hashtable","JS.SV"],function(){c$=r(function(){this.name0=this.forVars=this.contextVariables=null;q(this,arguments)},JS,"ContextToken",JS.T);c$.newContext=b(c$,"newContext",function(a){a=a?JS.ContextToken.newCmd(1275335685,"{"):JS.ContextToken.newCmd(1275334681,"}");a.intValue=0;return a},"~B");c$.newCmd=b(c$,"newCmd",function(a,c){var d=new JS.ContextToken;d.tok=a;d.value=c;return d},"~N,~O");b(c$,"addName",
function(a){null==this.contextVariables&&(this.contextVariables=new java.util.Hashtable);this.contextVariables.put(a,JS.SV.newS("").setName(a))},"~S")});l("JS");u(null,"JS.ScriptContext",["java.util.Hashtable","JS.SV"],function(){c$=r(function(){this.aatoken=null;this.chk=this.allowJSThreads=!1;this.contextPath=" >> ";this.vars=null;this.displayLoadErrorsSave=!1;this.errorType=this.errorMessageUntranslated=this.errorMessage=null;this.executionStepping=this.executionPaused=!1;this.functionName=null;
this.iCommandError=-1;this.id=0;this.isComplete=!0;this.isTryCatch=this.isStateScript=this.isJSThread=this.isFunction=!1;this.forVars=null;this.iToken=0;this.lineEnd=2147483647;this.lineNumbers=this.lineIndices=null;this.mustResumeEval=!1;this.parentContext=this.parallelProcessor=this.outputBuffer=null;this.pc0=this.pc=0;this.pcEnd=2147483647;this.scriptFileName=this.scriptExtensions=this.script=null;this.scriptLevel=0;this.htFileCache=this.statement=null;this.statementLength=0;this.token=null;this.tryPt=
0;this.theToken=null;this.theTok=0;this.pointers=null;q(this,arguments)},JS,"ScriptContext");t(c$,function(){this.id=++JS.ScriptContext.contextCount});b(c$,"setMustResume",function(){for(var a=this;null!=a;)a.mustResumeEval=!0,a.pc=a.pc0,a=a.parentContext});b(c$,"getVariable",function(a){for(var c=this;null!=c&&!c.isFunction;){if(null!=c.vars&&c.vars.containsKey(a))return c.vars.get(a);c=c.parentContext}return null},"~S");b(c$,"getFullMap",function(){var a=new java.util.Hashtable,c=this;for(null!=
this.contextPath&&a.put("_path",JS.SV.newS(this.contextPath));null!=c&&!c.isFunction;){if(null!=c.vars)for(var d,b=c.vars.keySet().iterator();b.hasNext()&&((d=b.next())||1);)if(!a.containsKey(d)){var f=c.vars.get(d);(2!=f.tok||2147483647!=f.intValue)&&a.put(d,f)}c=c.parentContext}return a});b(c$,"saveTokens",function(a){this.aatoken=a;if(null==a)this.pointers=null;else{this.pointers=y(a.length,0);for(var c=this.pointers.length;0<=--c;)this.pointers[c]=null==a[c]?-1:a[c][0].intValue}},"~A");b(c$,"restoreTokens",
function(){if(null!=this.pointers)for(var a=this.pointers.length;0<=--a;)null!=this.aatoken[a]&&(this.aatoken[a][0].intValue=this.pointers[a]);return this.aatoken});b(c$,"getTokenCount",function(){return null==this.aatoken?-1:this.aatoken.length});b(c$,"getToken",function(a){return this.aatoken[a]},"~N");D(c$,"contextCount",0)});l("JS");u(["java.lang.Exception"],"JS.ScriptException",null,function(){c$=r(function(){this.untranslated=this.message=this.eval=null;this.isError=!1;q(this,arguments)},JS,
"ScriptException",Exception);t(c$,function(a,c,d,b){this.eval=a;this.message=c;(this.isError=b)&&this.eval.setException(this,c,d)},"JS.ScriptError,~S,~S,~B");b(c$,"getErrorMessageUntranslated",function(){return this.untranslated});e(c$,"getMessage",function(){return this.message});e(c$,"toString",function(){return this.message})});l("JS");u(["javajs.api.JSONEncodable","JS.T","JU.P3"],"JS.SV","java.lang.Boolean $.Float java.util.Arrays $.Collections $.Hashtable $.Map JU.AU $.BArray $.BS $.Base64 $.Lst $.M3 $.M34 $.M4 $.Measure $.P4 $.PT $.Quat $.SB $.T3 $.V3 JM.BondSet JS.ScriptContext JU.BSUtil $.Escape".split(" "),
function(){c$=r(function(){this.index=2147483647;this.myName=null;N("JS.SV.Sort")||JS.SV.$SV$Sort$();q(this,arguments)},JS,"SV",JS.T,javajs.api.JSONEncodable);c$.newV=b(c$,"newV",function(a,c){var d=new JS.SV;d.tok=a;d.value=c;return d},"~N,~O");c$.newI=b(c$,"newI",function(a){var c=new JS.SV;c.tok=2;c.intValue=a;return c},"~N");c$.newS=b(c$,"newS",function(a){return JS.SV.newV(4,a)},"~S");c$.newT=b(c$,"newT",function(a){return JS.SV.newSV(a.tok,a.intValue,a.value)},"JS.T");c$.newSV=b(c$,"newSV",
function(a,c,d){a=JS.SV.newV(a,d);a.intValue=c;return a},"~N,~N,~O");b(c$,"setv",function(a){this.index=a.index;this.intValue=a.intValue;this.tok=a.tok;this.value=a.value;return this},"JS.SV");c$.sizeOf=b(c$,"sizeOf",function(a){switch(null==a?0:a.tok){case 10:return JU.BSUtil.cardinalityOf(JS.SV.bsSelectToken(a));case 1073742335:case 1073742334:return-1;case 2:return-2;case 3:return-4;case 8:return-8;case 9:return-16;case 11:return-32;case 12:return-64;case 15:return a.value.data.length;case 4:return a.value.length;
case 7:return 2147483647==a.intValue?a.getList().size():JS.SV.sizeOf(JS.SV.selectItemTok(a,-2147483648));case 6:return a.value.size();case 14:return a.value.getFullMap().size();default:return 0}},"JS.T");c$.isVariableType=b(c$,"isVariableType",function(a){return p(a,JS.SV)||p(a,Boolean)||p(a,Integer)||p(a,Float)||p(a,String)||p(a,JU.T3)||p(a,JU.BS)||p(a,JU.P4)||p(a,JU.Quat)||p(a,JU.M34)||p(a,java.util.Map)||p(a,JU.Lst)||p(a,JU.BArray)||p(a,JS.ScriptContext)||JS.SV.isArray(a)},"~O");c$.isArray=b(c$,
"isArray",function(a){return p(a,Array)},"~O");c$.getVariable=b(c$,"getVariable",function(a){return null==a?JS.SV.newS(""):p(a,JS.SV)?a:p(a,Boolean)?JS.SV.getBoolean(a.booleanValue()):p(a,Integer)?JS.SV.newI(a.intValue()):p(a,Float)?JS.SV.newV(3,a):p(a,String)?(a=JS.SV.unescapePointOrBitsetAsVariable(a),p(a,JS.SV)?a:JS.SV.newV(4,a)):p(a,JU.P3)?JS.SV.newV(8,a):p(a,JU.V3)?JS.SV.newV(8,JU.P3.newP(a)):p(a,JU.BS)?JS.SV.newV(10,a):p(a,JU.P4)?JS.SV.newV(9,a):p(a,JU.Quat)?JS.SV.newV(9,a.toPoint4f()):p(a,
JU.M34)?JS.SV.newV(p(a,JU.M4)?12:11,a):p(a,java.util.Map)?JS.SV.getVariableMap(a):p(a,JU.Lst)?JS.SV.getVariableList(a):p(a,JU.BArray)?JS.SV.newV(15,a):p(a,JS.ScriptContext)?JS.SV.newV(14,a):JU.Escape.isAV(a)?JS.SV.getVariableAV(a):JU.AU.isAI(a)?JS.SV.getVariableAI(a):JU.AU.isAB(a)?JS.SV.getVariableAB(a):JU.AU.isAF(a)?JS.SV.getVariableAF(a):JU.AU.isAD(a)?JS.SV.getVariableAD(a):JU.AU.isAS(a)?JS.SV.getVariableAS(a):JU.AU.isAP(a)?JS.SV.getVariableAP(a):JU.AU.isAII(a)?JS.SV.getVariableAII(a):JU.AU.isAFF(a)?
JS.SV.getVariableAFF(a):JU.AU.isASS(a)?JS.SV.getVariableASS(a):JU.AU.isADD(a)?JS.SV.getVariableADD(a):JU.AU.isAFloat(a)?JS.SV.newV(13,a):JS.SV.newS(a.toString())},"~O");c$.getVariableMap=b(c$,"getVariableMap",function(a){for(var c=a,d=null,b,f=c.values().iterator();f.hasNext()&&((b=f.next())||1);){d=b;break}if(!p(d,JS.SV)){a=new java.util.Hashtable;for(var g,c=c.entrySet().iterator();c.hasNext()&&((g=c.next())||1);)a.put(g.getKey(),JS.SV.getVariable(g.getValue()))}return JS.SV.newV(6,a)},"java.util.Map");
c$.getVariableList=b(c$,"getVariableList",function(a){var c=a.size();if(0<c&&p(a.get(0),JS.SV))return JS.SV.newV(7,a);for(var d=new JU.Lst,b=0;b<c;b++)d.addLast(JS.SV.getVariable(a.get(b)));return JS.SV.newV(7,d)},"JU.Lst");c$.getVariableAV=b(c$,"getVariableAV",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(a[d]);return JS.SV.newV(7,c)},"~A");c$.getVariableAD=b(c$,"getVariableAD",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.newV(3,Float.$valueOf(a[d])));return JS.SV.newV(7,
c)},"~A");c$.getVariableAS=b(c$,"getVariableAS",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.newV(4,a[d]));return JS.SV.newV(7,c)},"~A");c$.getVariableAP=b(c$,"getVariableAP",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.newV(8,a[d]));return JS.SV.newV(7,c)},"~A");c$.getVariableAFF=b(c$,"getVariableAFF",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.getVariableAF(a[d]));return JS.SV.newV(7,c)},"~A");c$.getVariableADD=b(c$,"getVariableADD",
function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.getVariableAD(a[d]));return JS.SV.newV(7,c)},"~A");c$.getVariableASS=b(c$,"getVariableASS",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.getVariableAS(a[d]));return JS.SV.newV(7,c)},"~A");c$.getVariableAII=b(c$,"getVariableAII",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.getVariableAI(a[d]));return JS.SV.newV(7,c)},"~A");c$.getVariableAF=b(c$,"getVariableAF",function(a){for(var c=new JU.Lst,
d=0;d<a.length;d++)c.addLast(JS.SV.newV(3,Float.$valueOf(a[d])));return JS.SV.newV(7,c)},"~A");c$.getVariableAI=b(c$,"getVariableAI",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.newI(a[d]));return JS.SV.newV(7,c)},"~A");c$.getVariableAB=b(c$,"getVariableAB",function(a){for(var c=new JU.Lst,d=0;d<a.length;d++)c.addLast(JS.SV.newI(a[d]));return JS.SV.newV(7,c)},"~A");b(c$,"setName",function(a){this.myName=a;return this},"~S");b(c$,"canIncrement",function(){switch(this.tok){case 2:case 3:return!0;
default:return!1}});b(c$,"increment",function(a){switch(this.tok){case 2:return this.intValue+=a,!0;case 3:return this.value=Float.$valueOf(this.value.floatValue()+a),!0;default:return!1}},"~N");b(c$,"asBoolean",function(){return JS.SV.bValue(this)});b(c$,"asInt",function(){return JS.SV.iValue(this)});b(c$,"asFloat",function(){return JS.SV.fValue(this)});b(c$,"asString",function(){return JS.SV.sValue(this)});c$.oValue=b(c$,"oValue",function(a){if(!p(a,JS.SV))return a;switch(a.tok){case 1073742335:return Boolean.TRUE;
case 0:case 1073742334:return Boolean.FALSE;case 2:return Integer.$valueOf(a.intValue);case 10:case 1275068418:return JS.SV.selectItemVar(a).value;default:return a.value}},"~O");c$.nValue=b(c$,"nValue",function(a){switch(null==a?0:a.tok){case 3:return a.value;case 2:a=a.intValue;break;case 4:if(0<=a.value.indexOf("."))return Float.$valueOf(JS.SV.toFloat(a.value));a=A(JS.SV.toFloat(a.value));break;case 8:return Float.$valueOf(a.value.length());default:a=0}return Integer.$valueOf(a)},"JS.T");c$.bValue=
b(c$,"bValue",function(a){switch(null==a?0:a.tok){case 1073742335:case 14:return!0;case 1073742334:return!1;case 2:return 0!=a.intValue;case 3:case 4:case 7:return 0!=JS.SV.fValue(a);case 10:case 15:return 0!=JS.SV.iValue(a);case 8:case 9:case 11:case 12:return 1E-4<Math.abs(JS.SV.fValue(a));case 6:return!a.getMap().isEmpty();default:return!1}},"JS.T");c$.iValue=b(c$,"iValue",function(a){switch(null==a?0:a.tok){case 1073742335:return 1;case 1073742334:return 0;case 2:return a.intValue;case 3:case 7:case 4:return A(JS.SV.fValue(a));
case 10:return JU.BSUtil.cardinalityOf(JS.SV.bsSelectToken(a));case 15:return a.value.data.length;default:return 0}},"JS.T");c$.fValue=b(c$,"fValue",function(a){switch(null==a?0:a.tok){case 1073742335:return 1;case 1073742334:return 0;case 2:return a.intValue;case 3:return a.value.floatValue();case 7:if(2147483647==a.intValue)return a.getList().size();case 4:return JS.SV.toFloat(JS.SV.sValue(a));case 10:case 15:return JS.SV.iValue(a);case 8:return a.value.length();case 9:return JU.Measure.distanceToPlane(a.value,
JS.SV.pt0);case 11:var c=new JU.P3;a.value.rotate(c);return c.length();case 12:return c=new JU.P3,a.value.rotTrans(c),c.length();default:return 0}},"JS.T");c$.sValue=b(c$,"sValue",function(a){if(null==a)return"";var c;switch(a.tok){case 1073742335:return"true";case 1073742334:return"false";case 2:return""+a.intValue;case 10:return c=JS.SV.bsSelectToken(a),p(a.value,JM.BondSet)?JU.Escape.eBond(c):JU.Escape.eBS(c);case 7:var d=a.getList();c=a.intValue;0>=c&&(c=d.size()-c);if(2147483647!=c)return 1>
c||c>d.size()?"":JS.SV.sValue(d.get(c-1));case 6:case 14:if(p(a.value,String))return a.value;c=new JU.SB;JS.SV.sValueArray(c,a,"","",!1,!0,!0,2147483647,!1);return JU.PT.rep(c.toString(),"\n\x00"," ");case 4:return d=a.value,c=a.intValue,0>=c&&(c=d.length-c),2147483647==c?d:1>c||c>d.length?"":""+d.charAt(c-1);case 8:return JU.Escape.eP(a.value);case 9:return JU.Escape.eP4(a.value);case 11:case 12:return JU.Escape.e(a.value);default:return a.value.toString()}},"JS.T");c$.sValueArray=b(c$,"sValueArray",
function(a,c,d,b,f,g,h,e,m){switch(c.tok){case 6:case 14:case 7:var n=";"+c.hashCode()+";";if(0<=d.indexOf(n)){a.append(f?7==c.tok?"[ ]":"{ }":(7==c.tok?"":"\x00")+'"<'+(null==c.myName?"circular reference":c.myName)+'>"');break}d+=n;if(7==c.tok){if(!h)break;g||a.append(f?"[ ":b+"[\n");c=c.getList();for(n=0;n<c.size();n++){f&&0<n&&a.append(",");var s=c.get(n);JS.SV.sValueArray(a,s,d,b+"  ",f,0==b.length&&!f&&JS.SV.isRawType(s.tok),h,e,m);f||a.append("\n")}g||a.append(f?" ]":b+"]")}else 0<=--e&&(g=
14==c.tok?c.value.getFullMap():c.getMap(),JS.SV.sValueAddKeys(a,d,g,b,f,h,e,m));break;default:if(!h)break;!g&&!f&&a.append(b);a.append(f?c.escape():JS.SV.sValue(c))}},"JU.SB,JS.SV,~S,~S,~B,~B,~B,~N,~B");c$.sValueAddKeys=b(c$,"sValueAddKeys",function(a,c,d,b,f,g,h,e){if(!(0>h)){var m=d.keySet(),m=d.keySet().toArray(Array(m.size()));java.util.Arrays.sort(m);if(f){a.append("{ ");for(var n="",s=0;s<m.length;s++){f=m[s];var w=d.get(f);if(!e||!(7==w.tok&&0==w.getList().size()||6==w.tok&&w.getMap().isEmpty()))g?
a.append(n).append(JU.PT.esc(f)).append(":"):a.appendC(" ").append(f),JS.SV.sValueArray(a,w,c,b+"  ",!0,!1,g,h,e),n=","}a.append(" }");g||a.append("\n")}else{a.append(b).append("{\n");b+="  ";for(s=0;s<m.length;s++)a.append(b),f=m[s],a.append(JU.PT.esc(f)).append("  :"),n=new JU.SB,w=d.get(f),f=JS.SV.isRawType(w.tok),JS.SV.sValueArray(n,w,c,b,f,!1,g,h,e),n=n.toString(),f&&g?a.append("  "):a.append("\n"),a.append(n).append("\n");a.append(b.substring(1)).append("}")}}},"JU.SB,~S,java.util.Map,~S,~B,~B,~N,~B");
c$.isRawType=b(c$,"isRawType",function(a){switch(a){case 4:case 3:case 2:case 8:case 9:case 10:case 15:case 1073742335:case 1073742334:return!0}return!1},"~N");c$.ptValue=b(c$,"ptValue",function(a){switch(a.tok){case 8:return a.value;case 4:if(a=JU.Escape.uP(a.value),p(a,JU.P3))return a}return null},"JS.SV");c$.pt4Value=b(c$,"pt4Value",function(a){switch(a.tok){case 9:return a.value;case 4:a=JU.Escape.uP(a.value);if(!p(a,JU.P4))break;return a}return null},"JS.SV");c$.toFloat=b(c$,"toFloat",function(a){return a.equalsIgnoreCase("true")?
1:0==a.length||a.equalsIgnoreCase("false")?0:JU.PT.parseFloatStrict(a)},"~S");c$.concatList=b(c$,"concatList",function(a,c,d){var b=a.getList(),f=c.getList();if(!d){if(null==f)b.addLast(JS.SV.newT(c));else for(d=0;d<f.size();d++)b.addLast(f.get(d));return a}var g=new JU.Lst;if(null==b)g.addLast(a);else for(d=0;d<b.size();d++)g.addLast(b.get(d));if(null==f)g.addLast(c);else for(d=0;d<f.size();d++)g.addLast(f.get(d));return JS.SV.getVariableList(g)},"JS.SV,JS.SV,~B");c$.bsSelectToken=b(c$,"bsSelectToken",
function(a){a=JS.SV.selectItemTok(a,-2147483648);return a.value},"JS.T");c$.bsSelectVar=b(c$,"bsSelectVar",function(a){2147483647==a.index&&(a=JS.SV.selectItemVar(a));return a.value},"JS.SV");c$.bsSelectRange=b(c$,"bsSelectRange",function(a,c){a=JS.SV.selectItemTok(a,-2147483648);a=JS.SV.selectItemTok(a,0>=c?c:1);a=JS.SV.selectItemTok(a,0>=c?2147483646:c);return a.value},"JS.T,~N");c$.selectItemVar=b(c$,"selectItemVar",function(a){return 2147483647!=a.index||(7==a.tok||15==a.tok)&&2147483647==a.intValue?
a:JS.SV.selectItemTok(a,-2147483648)},"JS.SV");c$.selectItemTok=b(c$,"selectItemTok",function(a,c){switch(a.tok){case 11:case 12:case 10:case 7:case 15:case 4:break;default:return p(a,JS.SV)&&null!=a.myName?JS.SV.newI(0).setv(a):a}var d=null,b=null,f=a.intValue,g=-2147483648==c;if(2147483647==f)return JS.SV.newSV(a.tok,g?f:c,a.value);var h=0,e=p(a,JS.SV)&&2147483647!=a.index,m=JS.SV.newSV(a.tok,2147483647,null);switch(a.tok){case 10:p(a.value,JM.BondSet)?(d=JM.BondSet.newBS(a.value,a.value.associatedAtoms),
h=JU.BSUtil.cardinalityOf(d)):(d=JU.BSUtil.copy(a.value),h=e?1:JU.BSUtil.cardinalityOf(d));break;case 15:h=a.value.data.length;break;case 7:h=a.getList().size();break;case 4:b=a.value;h=b.length;break;case 11:h=-3;break;case 12:h=-4}if(0>h){h=-h;if(0<f&&Math.abs(f)>h)return m=f%10,f=v((f-m)/10),0<m&&m<=h&&f<=h?JS.SV.newV(3,Float.$valueOf(a.value.getElement(f-1,m-1))):JS.SV.newV(4,"");if(Math.abs(f)>h)return JS.SV.newV(4,"");d=G(h,0);0>f?a.value.getColumn(-1-f,d):a.value.getRow(f-1,d);return g?JS.SV.getVariableAF(d):
1>c||c>h?JS.SV.newV(4,""):JS.SV.newV(3,Float.$valueOf(d[c-1]))}0>=f&&(f=h+f);g||(1>f&&(f=1),0==c?c=h:0>c&&(c=h+c),c<f&&(c=f));switch(a.tok){case 10:m.value=d;if(e){1<f&&d.clearAll();break}if(g){f==h?c=d.length()-1:1==f&&(c=d.nextSetBit(0));if(-1<=c){d.clearAll();0<=c&&d.set(c);break}c=f}h=0;for(g=d.nextSetBit(0);0<=g;g=d.nextSetBit(g+1))(++h<f||h>c)&&d.clear(g);break;case 4:m.value=0>--f||f>=h?"":g?b.substring(f,f+1):b.substring(f,Math.min(c,h));break;case 7:if(0>--f||f>=h)return JS.SV.newV(4,"");
if(g)return a.getList().get(f);d=new JU.Lst;g=a.getList();b=Math.min(c,h)-f;for(h=0;h<b;h++)d.addLast(JS.SV.newT(g.get(h+f)));m.value=d;break;case 15:if(0>--f||f>=h)return JS.SV.newV(4,"");d=a.value.data;if(g)return JS.SV.newI(d[f]);g=O(Math.min(c,h)-f,0);for(h=g.length;0<=--h;)g[h]=d[f+h];m.value=new JU.BArray(g)}return m},"JS.T,~N");b(c$,"setSelectedValue",function(a,c,d){if(2147483647!=a){var b;switch(this.tok){case 11:case 12:b=11==this.tok?3:4;if(2147483647!=c){var f=a;if(0<c&&c<=b&&f<=b){this.value.setElement(f-
1,c-1,JS.SV.fValue(d));break}}if(0!=a&&(Math.abs(a)<=b&&7==d.tok)&&(d=d.getList(),d.size()==b)){f=G(b,0);for(c=0;c<b;c++)f[c]=JS.SV.fValue(d.get(c));0<a?this.value.setRowA(a-1,f):this.value.setColumnA(-1-a,f);break}break;case 4:b=this.value;f=b.length;0>=a&&(a=f+a);for(0>--a&&(a=0);a>=b.length;)b+=" ";if(2147483647==c)c=a;else for(0>--c&&(c=f+c);c>=b.length;)b+=" ";c>=a&&(this.value=b.substring(0,a)+JS.SV.sValue(d)+b.substring(++c));this.intValue=this.index=2147483647;break;case 7:b=this.getList().size();
0>=a&&(a=b+a);0>--a&&(a=0);if(b<=a)for(c=b;c<=a;c++)this.getList().addLast(JS.SV.newV(4,""));this.getList().set(a,d)}}},"~N,~N,JS.SV");b(c$,"escape",function(){switch(this.tok){case 4:return JU.PT.esc(this.value);case 11:case 12:return JU.PT.toJSON(null,this.value);case 7:case 6:case 14:var a=new JU.SB;JS.SV.sValueArray(a,this,"","",!0,!1,!0,2147483647,!1);return a.toString();default:return JS.SV.sValue(this)}});c$.unescapePointOrBitsetAsVariable=b(c$,"unescapePointOrBitsetAsVariable",function(a){if(null==
a)return a;var c=null,d=null;if(p(a,JS.SV))switch(a.tok){case 8:case 9:case 11:case 12:case 10:c=a.value;break;case 4:d=a.value;break;default:d=JS.SV.sValue(a)}else p(a,String)&&(d=a);if(null!=d&&0==d.length)return d;null==c&&(c=JU.Escape.uABsM(d));return p(c,JU.P3)?JS.SV.newV(8,c):p(c,JU.P4)?JS.SV.newV(9,c):p(c,JU.BS)?(null!=d&&0==d.indexOf("[{")&&(c=JM.BondSet.newBS(c,null)),JS.SV.newV(10,c)):p(c,JU.M34)?JS.SV.newV(p(c,JU.M3)?11:12,c):a},"~O");c$.getBoolean=b(c$,"getBoolean",function(a){return JS.SV.newT(a?
JS.SV.vT:JS.SV.vF)},"~B");c$.sprintf=b(c$,"sprintf",function(a,c){if(null==c)return a;var d=7==c.tok,b=0<=a.indexOf("d")||0<=a.indexOf("i")?y(1,0):null,f=0<=a.indexOf("f")?G(1,0):null,g=0<=a.indexOf("e")?X(1,0):null,h=0<=a.indexOf("s"),e=0<=a.indexOf("p")&&(d||8==c.tok),m=0<=a.indexOf("q")&&(d||9==c.tok),n=x(-1,[b,f,g,null,null,null]);if(!d)return JS.SV.sprintf(a,c,n,b,f,g,h,e,m);for(var d=c.getList(),s=Array(d.size()),w=0;w<s.length;w++)s[w]=JS.SV.sprintf(a,d.get(w),n,b,f,g,h,e,m);return s},"~S,JS.SV");
c$.sprintf=b(c$,"sprintf",function(a,c,d,b,f,g,h,e,m){if(6==c.tok){var n=a.indexOf("[");if(0<=n){var s;c=c.getMap().get(a.substring(n+1,s=a.indexOf("]")));a=a.substring(0,n)+a.substring(s+1)}}null!=b&&(b[0]=JS.SV.iValue(c));null!=f&&(f[0]=JS.SV.fValue(c));null!=g&&(g[0]=JS.SV.fValue(c));h&&(d[3]=JS.SV.sValue(c));e&&(d[4]=c.value);m&&(d[5]=c.value);return JU.PT.sprintf(a,"IFDspq",d)},"~S,JS.SV,~A,~A,~A,~A,~B,~B,~B");c$.getFormatType=b(c$,"getFormatType",function(a){return 0<=a.indexOf(";")?-1:";json;base64;bytearray;array;".indexOf(";"+
a.toLowerCase()+";")},"~S");c$.format=b(c$,"format",function(a,c){switch(a.length){case 0:return"";case 1:return JS.SV.sValue(a[0]);case 2:switch(2147483647==c&&(c=JS.SV.getFormatType(a[0].asString())),c){case 0:var d=a[1].myName;a[1].myName=null;var b=a[1].toJSON();a[1].myName=d;return b;case 5:case 12:case 22:var f;switch(a[1].tok){case 15:f=JU.AU.arrayCopyByte(a[1].value.data,-1);break;case 7:b=a[1].getList();if(22==c){f=new JU.Lst;for(d=b.size();0<=--d;)f.addLast(b.get(d));return f}f=O(b.size(),
0);for(d=f.length;0<=--d;)f[d]=b.get(d).asInt();break;default:if(d=a[1].asString(),d.startsWith(";base64,")){if(5==c)return d;f=JU.Base64.decodeBase64(d)}else f=d.getBytes()}return 22==c?JS.SV.getVariable(f):12==c?new JU.BArray(f):";base64,"+JU.Base64.getBase64(f).toString()}}b=new JU.SB;f=JU.PT.split(JU.PT.rep(JS.SV.sValue(a[0]),"%%","\u0001"),"%");b.append(f[0]);for(d=1;d<f.length;d++){var g=JS.SV.sprintf(JU.PT.formatCheck("%"+f[d]),6==a[1].tok?a[1]:7==a[1].tok?a[1].getList().get(d-1):d<a.length?
a[d]:null);if(JU.AU.isAS(g))for(var h=0;h<g.length;h++)b.append(g[h]).append("\n");else b.append(g)}return b.toString()},"~A,~N,~B");c$.getBitSet=b(c$,"getBitSet",function(a,c){switch(a.tok){case 10:return JS.SV.bsSelectVar(a);case 7:return JS.SV.unEscapeBitSetArray(a.getList(),c);default:return c?null:new JU.BS}},"JS.SV,~B");c$.unEscapeBitSetArray=b(c$,"unEscapeBitSetArray",function(a,c){for(var d=new JU.BS,b=0;b<a.size();b++)if(!JS.SV.unEscapeBitSet(a.get(b),d))return c?null:d;return d},"JU.Lst,~B");
c$.areEqual=b(c$,"areEqual",function(a,c){if(null==a||null==c)return!1;if(a.tok==c.tok)switch(a.tok){case 4:return a.value.equalsIgnoreCase(c.value);case 10:case 15:case 6:case 7:case 14:return a.equals(c);case 8:return 1E-6>a.value.distance(c.value);case 9:return 1E-6>a.value.distance4(c.value)}return 1E-6>Math.abs(JS.SV.fValue(a)-JS.SV.fValue(c))},"JS.SV,JS.SV");c$.isLike=b(c$,"isLike",function(a,c){return null!=a&&null!=c&&4==a.tok&&4==c.tok&&JU.PT.isLike(a.value,c.value)},"JS.SV,JS.SV");b(c$,
"sortOrReverse",function(a){var c=this.getList();if(null!=c&&1<c.size())if(-2147483648==a){a=c.size();for(var d=0;d<a;d++){var b=c.get(d);c.set(d,c.get(--a));c.set(a,b)}}else java.util.Collections.sort(this.getList(),R(JS.SV.Sort,this,null,--a,null));return this},"~N");b(c$,"pushPop",function(a,c){if(null!=c){var d=this.getMap();if(null==a){var b;return null==d||null==(b=d.remove(c.asString()))?JS.SV.newS(""):b}null!=d&&d.put(c.asString(),JS.SV.newI(0).setv(a))}else{d=this.getList();if(null==a||null==
d)return null==d||0==d.size()?JS.SV.newS(""):d.remove(d.size()-1);d.addLast(JS.SV.newI(0).setv(a))}return this},"JS.SV,JS.SV");c$.unEscapeBitSet=b(c$,"unEscapeBitSet",function(a,c){switch(a.tok){case 4:var d=JU.BS.unescape(a.value);if(null==d)break;c.or(d);return!0;case 10:return c.or(a.value),!0}return!1},"JS.SV,JU.BS");c$.strListValue=b(c$,"strListValue",function(a){if(7!=a.tok)return x(-1,[JS.SV.sValue(a)]);a=a.getList();for(var c=Array(a.size()),d=a.size();0<=--d;)c[d]=JS.SV.sValue(a.get(d));
return c},"JS.T");c$.flistValue=b(c$,"flistValue",function(a,c){if(7!=a.tok)return G(-1,[JS.SV.fValue(a)]);var d=a.getList(),b;b=G(Math.max(c,d.size()),0);0==c&&(c=b.length);for(var f=Math.min(d.size(),c);0<=--f;)b[f]=JS.SV.fValue(d.get(f));return b},"JS.T,~N");b(c$,"toArray",function(){var a,c,d=null,b=null;switch(this.tok){case 11:d=this.value;a=3;break;case 12:b=this.value;a=4;break;case 7:return this;default:return c=new JU.Lst,c.addLast(this),JS.SV.newV(7,c)}c=new JU.Lst;for(var f=0;f<a;f++){var g=
G(a,0);null==d?b.getRow(f,g):d.getRow(f,g);c.addLast(JS.SV.getVariableAF(g))}return JS.SV.newV(7,c)});b(c$,"mapValue",function(a){switch(this.tok){case 6:return this.value.get(a);case 14:var c=this.value;return a.equals("_path")?JS.SV.newS(c.contextPath):c.getVariable(a)}return null},"~S");b(c$,"getList",function(){return 7==this.tok?this.value:null});c$.isScalar=b(c$,"isScalar",function(a){switch(a.tok){case 7:return!1;case 4:return 0>a.value.indexOf("\n");default:return!0}},"JS.SV");e(c$,"toJSON",
function(){switch(this.tok){case 1073742335:case 1073742334:case 2:case 3:return JS.SV.sValue(this);case 15:return JU.PT.byteArrayToJSON(this.value.data);case 14:return JU.PT.toJSON(null,this.value.getFullMap());case 7:case 6:if(null!=this.myName)return this.myName=null,6==this.tok?"{  }":"[  ]";this.myName="x";var a=JU.PT.toJSON(null,this.value);this.myName=null;return a;default:return JU.PT.toJSON(null,this.value)}});b(c$,"mapGet",function(a){return this.getMap().get(a)},"~S");b(c$,"mapPut",function(a,
c){this.getMap().put(a,c)},"~S,JS.SV");b(c$,"getMap",function(){switch(this.tok){case 6:return this.value;case 14:return this.value.vars}return null});b(c$,"getMapKeys",function(a,c){if(6!=this.tok)return"";var d=new JU.SB;JS.SV.sValueArray(d,this,"","",!0,!1,!1,a+1,c);return d.toString()},"~N,~B");e(c$,"toString",function(){return this.toString2()+"["+this.myName+" index ="+this.index+" intValue="+this.intValue+"]"});b(c$,"getKeys",function(a){switch(this.tok){case 6:case 14:case 7:break;default:return null}var c=
new JU.Lst;this.getKeyList(a,c,"");a=c.toArray(Array(c.size()));java.util.Arrays.sort(a);return a},"~B");b(c$,"getKeyList",function(a,c,d){var b=this.getMap();if(null==b){if(a){var f,g;null!=(f=this.getList())&&0<(g=f.size())&&f.get(g-1).getKeyList(!0,c,d+g+".")}}else for(var h,b=b.entrySet().iterator();b.hasNext()&&((h=b.next())||1);){f=h.getKey();if(a&&(0==f.length||!JU.PT.isLetter(f.charAt(0))))d.endsWith(".")&&(d=d.substring(0,d.length-1)),f="["+JU.PT.esc(f)+"]";c.addLast(d+f);a&&h.getValue().getKeyList(!0,
c,d+f+".")}},"~B,JU.Lst,~S");c$.deepCopy=b(c$,"deepCopy",function(a,c,d){if(c){c=new java.util.Hashtable;var b;for(a=a.entrySet().iterator();a.hasNext()&&((b=a.next())||1);){var f=b.getValue();c.put(b.getKey(),d?JS.SV.deepCopySV(f):f)}return c}b=new JU.Lst;c=0;for(f=a.size();c<f;c++){var g=a.get(c);b.addLast(d?JS.SV.deepCopySV(g):g)}return b},"~O,~B,~B");c$.deepCopySV=b(c$,"deepCopySV",function(a){switch(a.tok){case 6:case 7:if(null!=a.myName)a.myName=null,a=JS.SV.newV(a.tok,6==a.tok?new java.util.Hashtable:
new JU.Lst);else{a.myName="recursing";var c=a;a=JS.SV.newV(a.tok,JS.SV.deepCopy(a.value,6==a.tok,!0));c.myName=null}}return a},"JS.SV");b(c$,"sortMapArray",function(a){null!=this.getList()&&java.util.Collections.sort(this.getList(),R(JS.SV.Sort,this,null,0,a));return this},"~S");c$.$SV$Sort$=function(){K(self.c$);c$=r(function(){W(this,arguments);this.arrayPt=0;this.myKey=null;q(this,arguments)},JS.SV,"Sort",null,java.util.Comparator);t(c$,function(a,c){this.arrayPt=a;this.myKey=c},"~N,~S");e(c$,
"compare",function(a,c){if(a.tok!=c.tok){if(3==a.tok||2==a.tok||3==c.tok||2==c.tok){var d=JS.SV.fValue(a),b=JS.SV.fValue(c);return d<b?-1:d>b?1:0}if(4==a.tok||4==c.tok)return JS.SV.sValue(a).compareTo(JS.SV.sValue(c))}switch(a.tok){case 4:return JS.SV.sValue(a).compareTo(JS.SV.sValue(c));case 7:d=a.getList();b=c.getList();if(d.size()!=b.size())return d.size()<b.size()?-1:1;var f=this.arrayPt;0>f&&(f+=d.size());return 0>f||f>=d.size()?0:this.compare(d.get(f),b.get(f));case 6:if(null!=this.myKey)return this.compare(a.getMap().get(this.myKey),
c.getMap().get(this.myKey));default:return d=JS.SV.fValue(a),b=JS.SV.fValue(c),d<b?-1:d>b?1:0}},"JS.SV,JS.SV");c$=L()};c$.vT=c$.prototype.vT=JS.SV.newSV(1073742335,1,"true");c$.vF=c$.prototype.vF=JS.SV.newSV(1073742334,0,"false");c$.pt0=c$.prototype.pt0=new JU.P3});l("JS");u(["java.util.Hashtable"],"JS.T",["java.lang.Boolean","java.util.Arrays","JU.AU","$.Lst","JU.Logger"],function(){c$=r(function(){this.tok=0;this.value=null;this.intValue=2147483647;q(this,arguments)},JS,"T");c$.t=b(c$,"t",function(a){var c=
new JS.T;c.tok=a;return c},"~N");c$.tv=b(c$,"tv",function(a,c,d){a=JS.T.t(a);a.intValue=c;a.value=d;return a},"~N,~N,~O");c$.o=b(c$,"o",function(a,c){var d=JS.T.t(a);d.value=c;return d},"~N,~O");c$.n=b(c$,"n",function(a,c){var d=JS.T.t(a);d.intValue=c;return d},"~N,~N");c$.i=b(c$,"i",function(a){var c=JS.T.t(2);c.intValue=a;return c},"~N");c$.tokAttr=b(c$,"tokAttr",function(a,c){return(a&c)==(c&c)},"~N,~N");c$.tokAttrOr=b(c$,"tokAttrOr",function(a,c,d){return(a&c)==(c&c)||(a&d)==(d&d)},"~N,~N,~N");
c$.getPrecedence=b(c$,"getPrecedence",function(a){return a>>4&15},"~N");c$.getMaxMathParams=b(c$,"getMaxMathParams",function(a){return a>>9&3},"~N");c$.addToken=b(c$,"addToken",function(a,c){JS.T.tokenMap.put(a,c)},"~S,JS.T");c$.getTokenFromName=b(c$,"getTokenFromName",function(a){null==a&&System.out.println("???");return JS.T.tokenMap.get(a)},"~S");c$.getTokFromName=b(c$,"getTokFromName",function(a){a=JS.T.getTokenFromName(a.toLowerCase());return null==a?0:a.tok},"~S");c$.nameOf=b(c$,"nameOf",function(a){for(var c,
d=JS.T.tokenMap.values().iterator();d.hasNext()&&((c=d.next())||1);)if(c.tok==a)return""+c.value;return"0x"+Integer.toHexString(a)},"~N");e(c$,"toString",function(){return this.toString2()});b(c$,"toString2",function(){return"Token["+JS.T.astrType[16>this.tok?this.tok:16]+"("+this.tok%512+"/0x"+Integer.toHexString(this.tok)+")"+(2147483647==this.intValue?"":" intValue="+this.intValue+"(0x"+Integer.toHexString(this.intValue)+")")+(null==this.value?"":p(this.value,String)?' value="'+this.value+'"':
" value="+this.value)+"]"});c$.getCommandSet=b(c$,"getCommandSet",function(a){var c="",d=new java.util.Hashtable,b=0;a=null==a||0==a.length?null:a.toLowerCase();for(var j=null!=a&&1<a.length,f,g=JS.T.tokenMap.entrySet().iterator();g.hasNext()&&((f=g.next())||1);){var h=f.getKey(),e=f.getValue();0!=(e.tok&4096)&&((null==a||0==h.indexOf(a))&&(j||e.value.equals(h)))&&d.put(h,Boolean.TRUE)}for(g=d.entrySet().iterator();g.hasNext()&&((f=g.next())||1);)if(h=f.getKey(),"s"!=h.charAt(h.length-1)||!d.containsKey(h.substring(0,
h.length-1)))c+=(0==b++?"":";")+h;return c},"~S");c$.getAtomPropertiesLike=b(c$,"getAtomPropertiesLike",function(a){a=a.toLowerCase();for(var c=new JU.Lst,d=0==a.length,b,j=JS.T.tokenMap.entrySet().iterator();j.hasNext()&&((b=j.next())||1);){var f=b.getKey();if("_"!=f.charAt(0)){var g=b.getValue();if(JS.T.tokAttr(g.tok,1077936128)&&(d||f.toLowerCase().startsWith(a))){if(d||!g.value.toLowerCase().startsWith(a))g=JS.T.o(g.tok,f);c.addLast(g)}}}return 0==c.size()?null:c},"~S");c$.getTokensLike=b(c$,
"getTokensLike",function(a){a=a.equals("setparam")?536870912:a.equals("misc")?1073741824:a.equals("mathfunc")?134217728:4096;for(var c=536870912==a?1610612736:0,d=new JU.Lst,b,j=JS.T.tokenMap.entrySet().iterator();j.hasNext()&&((b=j.next())||1);){var f=b.getKey(),g=b.getValue();JS.T.tokAttr(g.tok,a)&&(0==c||!JS.T.tokAttr(g.tok,c))&&d.addLast(f)}b=d.toArray(Array(d.size()));java.util.Arrays.sort(b);return b},"~S");c$.getSettableTokFromString=b(c$,"getSettableTokFromString",function(a){a=JS.T.getTokFromName(a);
return 0!=a&&JS.T.tokAttr(a,2048)&&!JS.T.tokAttr(a,1140850688)?a:0},"~S");c$.completeCommand=b(c$,"completeCommand",function(a,c,d,b,j){null==a?a=JS.T.tokenMap:d=!1;var f=new JU.Lst;b=b.toLowerCase();var g;for(a=a.keySet().iterator();a.hasNext()&&((g=a.next())||1);)if(g.startsWith(b)){var h=JS.T.getTokFromName(g);(d?JS.T.tokAttr(h,4096):c?JS.T.tokAttr(h,536870912)&&!JS.T.tokAttr(h,1610612736):1)&&f.addLast(g)}return JU.AU.sortedItem(f,j)},"java.util.Map,~B,~B,~S,~N");c$.getParamType=b(c$,"getParamType",
function(a){return!JS.T.tokAttr(a,536870912)?0:a&662700032},"~N");c$.getTokensType=b(c$,"getTokensType",function(a,c){for(var d,b=JS.T.tokenMap.entrySet().iterator();b.hasNext()&&((d=b.next())||1);){var j=d.getValue();JS.T.tokAttr(j.tok,c)&&a.put(d.getKey(),d.getValue())}},"java.util.Map,~N");c$.isIDcmd=b(c$,"isIDcmd",function(a){switch(a){case 135180:case 135176:case 135174:case 135188:case 134353926:return!0;default:return!1}},"~N");b(c$,"equals",function(a){if(!p(a,JS.T))return!1;if(this.tok==
a.tok)return a.intValue==this.intValue&&(2==this.tok||a.value.equals(this.value));switch(this.tok){case 2:return 3==a.tok&&a.value.floatValue()==this.intValue;case 3:return 2==a.tok&&this.value.floatValue()==a.intValue;default:return!1}},"~O");D(c$,"astrType",null);JS.T.astrType="nada identifier integer decimal string inscode hash array point point4 bitset matrix3f matrix4f array hash bytearray keyword".$plit(" ");D(c$);c$.tokenSpaceBeforeSquare=c$.prototype.tokenSpaceBeforeSquare=JS.T.o(1073742195," ");c$.tokenOn=c$.prototype.tokenOn=JS.T.tv(1073742335,1,"on");c$.tokenOff=c$.prototype.tokenOff=JS.T.tv(1073742334,0,"off");c$.tokenAll=c$.prototype.tokenAll=JS.T.o(1073742327,"all");c$.tokenIf=c$.prototype.tokenIf=JS.T.o(134320649,"if");c$.tokenAnd=c$.prototype.tokenAnd=JS.T.o(268435552,"and");
c$.tokenAndSpec=c$.prototype.tokenAndSpec=JS.T.o(268435584,"");c$.tokenOr=c$.prototype.tokenOr=JS.T.o(268435536,"or");c$.tokenAndFALSE=c$.prototype.tokenAndFALSE=JS.T.o(268435552,"and");c$.tokenOrTRUE=c$.prototype.tokenOrTRUE=JS.T.o(268435536,"or");c$.tokenOpIf=c$.prototype.tokenOpIf=JS.T.o(805306401,"?");c$.tokenComma=c$.prototype.tokenComma=JS.T.o(268435504,",");c$.tokenDefineString=c$.prototype.tokenDefineString=JS.T.tv(12290,4,"@");c$.tokenPlus=c$.prototype.tokenPlus=JS.T.o(268435617,"+");c$.tokenMinus=
c$.prototype.tokenMinus=JS.T.o(268435616,"-");c$.tokenMul3=c$.prototype.tokenMul3=JS.T.o(1275068930,"mul3");c$.tokenTimes=c$.prototype.tokenTimes=JS.T.o(268435633,"*");c$.tokenDivide=c$.prototype.tokenDivide=JS.T.o(268435632,"/");c$.tokenLeftParen=c$.prototype.tokenLeftParen=JS.T.o(268435472,"(");c$.tokenRightParen=c$.prototype.tokenRightParen=JS.T.o(268435473,")");c$.tokenArraySquare=c$.prototype.tokenArraySquare=JS.T.o(1275068418,"[");c$.tokenArrayOpen=c$.prototype.tokenArrayOpen=JS.T.o(268435520,
"[");c$.tokenArrayClose=c$.prototype.tokenArrayClose=JS.T.o(268435521,"]");c$.tokenLeftBrace=c$.prototype.tokenLeftBrace=JS.T.o(1073742332,"{");c$.tokenExpressionBegin=c$.prototype.tokenExpressionBegin=JS.T.o(1073742325,"expressionBegin");c$.tokenExpressionEnd=c$.prototype.tokenExpressionEnd=JS.T.o(1073742326,"expressionEnd");c$.tokenConnected=c$.prototype.tokenConnected=JS.T.o(134217736,"connected");c$.tokenCoordinateBegin=c$.prototype.tokenCoordinateBegin=JS.T.o(1073742332,"{");c$.tokenRightBrace=
c$.prototype.tokenRightBrace=JS.T.o(1073742338,"}");c$.tokenCoordinateEnd=c$.prototype.tokenCoordinateEnd=JS.T.tokenRightBrace;c$.tokenColon=c$.prototype.tokenColon=JS.T.o(268435490,":");c$.tokenSetCmd=c$.prototype.tokenSetCmd=JS.T.o(36867,"set");c$.tokenSet=c$.prototype.tokenSet=JS.T.tv(36867,61,"");c$.tokenSetArray=c$.prototype.tokenSetArray=JS.T.tv(36867,91,"");c$.tokenSetProperty=c$.prototype.tokenSetProperty=JS.T.tv(36867,46,"");c$.tokenSetVar=c$.prototype.tokenSetVar=JS.T.tv(36868,61,"var");
c$.tokenEquals=c$.prototype.tokenEquals=JS.T.o(268435860,"=");c$.tokenScript=c$.prototype.tokenScript=JS.T.o(134222850,"script");c$.tokenSwitch=c$.prototype.tokenSwitch=JS.T.o(102410,"switch");c$.tokenMap=c$.prototype.tokenMap=new java.util.Hashtable;for(var a=x(-1,["(",JS.T.tokenLeftParen,")",JS.T.tokenRightParen,"and",JS.T.tokenAnd,"&",null,"&&",null,"or",JS.T.tokenOr,"|",null,"||",null,"?",JS.T.tokenOpIf,",",JS.T.tokenComma,"=",JS.T.tokenEquals,"==",null,":",JS.T.tokenColon,"+",JS.T.tokenPlus,
"-",JS.T.tokenMinus,"*",JS.T.tokenTimes,"/",JS.T.tokenDivide,"script",JS.T.tokenScript,"source",null,"set",JS.T.tokenSetCmd,"switch",JS.T.tokenSwitch,"all",JS.T.tokenAll,"off",JS.T.tokenOff,"false",null,"on",JS.T.tokenOn,"true",null]),c,d=null,j,f,g=a.length-1,h=0;h<g;h+=2)j=a[h],f=j.toLowerCase(),c=a[h+1],null==c?c=d:null==c.value&&(c.value=j),JS.T.tokenMap.put(f,c),d=c;var a=null,a=x(-1,"+= -= *= /= \\= &= |= not ! xor tog < <= >= > != <> LIKE within . .. [ ] { } $ % ; ++ -- ** \\ animation anim assign axes backbone background bind bondorder boundbox boundingBox break calculate capture cartoon cartoons case catch cd center centre centerat cgo color colour compare configuration conformation config connect console contact contacts continue data default define @ delay delete density depth dipole dipoles display dot dots draw echo ellipsoid ellipsoids else elseif end endif exit eval file files font for format frame frames frank function functions geosurface getProperty goto halo halos helix helixalpha helix310 helixpi hbond hbonds help hide history hover if in initialize invertSelected isosurface javascript label labels lcaoCartoon lcaoCartoons load log loop measure measures monitor monitors meshribbon meshribbons message minimize minimization mo model models modulation move moveTo mutate navigate navigation nbo origin out parallel pause wait plot plot3d pmesh polygon polyhedra polyhedron print process prompt quaternion quaternions quit ramachandran rama refresh reset unset restore restrict return ribbon ribbons rocket rockets rotate rotateSelected save select selectionHalos selectionHalo showSelections sheet show slab spacefill cpk spin ssbond ssbonds star stars step steps stereo strand strands structure _structure strucNo struts strut subset subsystem synchronize sync trace translate translateSelected try unbind unitcell var vector vectors vibration while wireframe write zap zoom zoomTo atom atoms axis axisangle basepair basepairs orientation orientations pdbheader polymer polymers residue residues rotation row sequence seqcode shape state symbol symmetry spaceGroup transform translation url _ abs absolute acos add adpmax adpmin align altloc altlocs ambientOcclusion amino angle array as atomID _atomID _a atomIndex atomName atomno atomType atomX atomY atomZ average babel babel21 back backlit balls baseModel best bin bondCount bonded bottom branch brillouin bzone wignerSeitz cache carbohydrate cell chain chains chainNo chemicalShift cs clash clear clickable clipboard connected context constraint contourLines coord coordinates coords cos cross covalentRadius covalent direction displacement displayed distance div DNA domains dotted DSSP DSSR element elemno _e error exportScale fill find fixedTemperature forcefield formalCharge charge eta front frontlit frontOnly fullylit fx fy fz fxyz fux fuy fuz fuxyz group groups group1 groupID _groupID _g groupIndex hidden highlight hkl hydrophobicity hydrophobic hydro id identify ident image info inline insertion insertions intramolecular intra intermolecular inter bondingRadius ionicRadius ionic isAromatic Jmol JSON join keys last left length lines list magneticShielding ms mass max mep mesh middle min mlp mode modify modifyOrCreate modt modt1 modt2 modt3 modx mody modz modo modxyz molecule molecules modelIndex monomer morph movie mouse mul mul3 nci next noDots noFill noMesh none null inherit normal noContourLines notFrontOnly noTriangles now nucleic occupancy omega only opaque options partialCharge phi pivot plane planar play playRev point points pointGroup polymerLength pop previous prev probe property properties protein psi purine push PyMOL pyrimidine random range rasmol replace resno resume rewind reverse right rmsd RNA rna3d rock rubberband saSurface saved scale scene search smarts selected seqid shapely sidechain sin site size smiles substructure solid sort specialPosition sqrt split starWidth starScale stddev straightness structureId supercell sub sum sum2 surface surfaceDistance symop sx sy sz sxyz temperature relativeTemperature tensor theta thisModel ticks top torsion trajectory trajectories translucent transparent triangles trim type ux uy uz uxyz user valence vanderWaals vdw vdwRadius visible volume vx vy vz vxyz xyz w x y z addHydrogens allConnected angstroms anisotropy append arc area aromatic arrow async auto barb binary blockData cancel cap cavity centroid check chemical circle collapsed col colorScheme command commands contour contours corners count criterion create crossed curve cutoff cylinder diameter discrete distanceFactor downsample drawing dynamicMeasurements eccentricity ed edges energy exitJmol faceCenterOffset filter first fixed fix fps from frontEdges full fullPlane functionXY functionXYZ gridPoints homo ignore InChI InChIKey increment insideout interior intersection intersect internal lattice line lineData link lobe lonePair lp lumo macro manifest mapProperty map maxSet menu minSet modelBased molecular mrc msms name nmr noCross noDebug noEdges noHead noLoad noPlane object obj offset offsetSide once orbital atomicOrbital packed palindrome parameters path pdb period periodic perpendicular perp phase planarParam pocket pointsPerAngstrom radical rad reference remove resolution reverseColor rotate45 selection sigma sign silent sphere squared stdInChI stdInChIKey stop title titleFormat to validation value variable variables vertices width backgroundModel celShading celShadingPower debug defaultLattice measurements measurement scale3D toggleLabel userColorScheme throw timeout timeouts animationMode appletProxy atomTypes axesColor axis1Color axis2Color axis3Color backgroundColor bondmode boundBoxColor boundingBoxColor currentLocalPath dataSeparator defaultAngleLabel defaultColorScheme defaultColors defaultDirectory defaultDistanceLabel defaultDropScript defaultLabelPDB defaultLabelXYZ defaultLoadFilter defaultLoadScript defaults defaultTorsionLabel defaultVDW drawFontSize edsUrlCutoff edsUrlFormat edsUrlFormatDiff energyUnits fileCacheDirectory fontsize helpPath hoverLabel language loadFormat loadLigandFormat logFile measurementUnits nmrPredictFormat nmrUrlFormat pathForAllFiles picking pickingStyle pickLabel platformSpeed propertyColorScheme quaternionFrame smilesUrlFormat smiles2dImageFormat unitCellColor axesScale axisScale bondTolerance cameraDepth defaultDrawArrowScale defaultTranslucent dipoleScale ellipsoidAxisDiameter gestureSwipeFactor hbondsAngleMinimum hbondsDistanceMaximum hoverDelay loadAtomDataTolerance minBondDistance minimizationCriterion modulationScale mouseDragFactor mouseWheelFactor navFPS navigationDepth navigationSlab navigationSpeed navX navY navZ particleRadius pointGroupDistanceTolerance pointGroupLinearTolerance radius rotationRadius scaleAngstromsPerInch sheetSmoothing slabRange solventProbeRadius spinFPS spinX spinY spinZ stereoDegrees strutDefaultRadius strutLengthMaximum vectorScale vectorsCentered vectorSymmetry vibrationPeriod vibrationScale visualRange ambientPercent ambient animationFps axesMode bondRadiusMilliAngstroms bondingVersion delayMaximumMs diffusePercent diffuse dotDensity dotScale ellipsoidDotCount helixStep hermiteLevel historyLevel lighting logLevel meshScale minimizationSteps minPixelSelRadius percentVdwAtom perspectiveModel phongExponent pickingSpinRate propertyAtomNumberField propertyAtomNumberColumnCount propertyDataColumnCount propertyDataField repaintWaitMs ribbonAspectRatio contextDepthMax scriptReportingLevel showScript smallMoleculeMaxAtoms specular specularExponent specularPercent specPercent specularPower specpower strandCount strandCountForMeshRibbon strandCountForStrands strutSpacing zDepth zSlab zshadePower allowEmbeddedScripts allowGestures allowKeyStrokes allowModelKit allowMoveAtoms allowMultiTouch allowRotateSelected antialiasDisplay antialiasImages antialiasTranslucent appendNew applySymmetryToBonds atomPicking autobond autoFPS axesMolecular axesOrientationRasmol axesUnitCell axesWindow backboneSteps bondModeOr bondPicking bonds bond cartoonBaseEdges cartoonsFancy cartoonFancy cartoonLadders cartoonRibose cartoonRockets chainCaseSensitive colorRasmol debugScript defaultStructureDssp disablePopupMenu displayCellParameters showUnitcellInfo dotsSelectedOnly dotSurface dragSelected drawHover drawPicking dsspCalculateHydrogenAlways ellipsoidArcs ellipsoidArrows ellipsoidAxes ellipsoidBall ellipsoidDots ellipsoidFill fileCaching fontCaching fontScaling forceAutoBond fractionalRelative greyscaleRendering hbondsBackbone hbondsRasmol hbondsSolid hetero hideNameInPopup hideNavigationPoint hideNotSelected highResolution hydrogen hydrogens imageState isKiosk isosurfaceKey isosurfacePropertySmoothing isosurfacePropertySmoothingPower justifyMeasurements languageTranslation leadAtom leadAtoms legacyAutoBonding legacyHAddition legacyJavaFloat logCommands logGestures measureAllModels measurementLabels measurementNumbers messageStyleChime minimizationRefresh minimizationSilent modelkitMode modulateOccupancy monitorEnergy multiplebondbananas multipleBondRadiusFactor multipleBondSpacing multiProcessor navigateSurface navigationMode navigationPeriodic partialDots pdbAddHydrogens pdbGetHeader pdbSequential perspectiveDepth preserveState rangeSelected redoMove refreshing ribbonBorder rocketBarrels saveProteinStructureState scriptQueue selectAllModels selectHetero selectHydrogen showAxes showBoundBox showBoundingBox showFrank showHiddenSelectionHalos showHydrogens showKeyStrokes showMeasurements showModulationVectors showMultipleBonds showNavigationPointAlways showTiming showUnitcell showUnitcellDetails slabByAtom slabByMolecule slabEnabled smartAromatic solvent solventProbe ssBondsBackbone statusReporting strutsMultiple syncMouse syncScript testFlag1 testFlag2 testFlag3 testFlag4 traceAlpha twistedSheets undo undoMove useMinimizationThread useNumberLocalization waitForMoveTo windowCentered wireframeRotation zeroBasedXyzRasmol zoomEnabled zoomHeight zoomLarge zShade".split(" ")),
k=y(-1,[268435666,-1,-1,-1,-1,-1,-1,268435568,-1,268435537,268435538,268435859,268435858,268435857,268435856,268435861,-1,268435862,134217759,1073742336,1073742337,268435520,268435521,1073742332,1073742338,1073742330,268435634,1073742339,268435650,268435649,268435651,268435635,4097,-1,4098,1611272194,1114249217,1610616835,4100,4101,1678381065,-1,102407,4102,4103,1112152066,-1,102411,102412,20488,12289,-1,4105,135174,1765808134,-1,134221831,1094717448,-1,-1,4106,528395,134353926,-1,102408,134221834,
102413,12290,-1,528397,12291,1073741914,554176526,135175,-1,1610625028,1275069444,1112150019,135176,537022465,1112150020,-1,364547,102402,102409,364548,266255,134218253,1228935687,-1,4114,134320648,1287653388,4115,-1,1611272202,134320141,-1,1112150021,1275072526,20500,1112152070,-1,136314895,2097159,2097160,2097162,1613238294,-1,20482,12294,1610616855,544771,134320649,1275068432,266265,4122,135180,134238732,1825200146,-1,135182,-1,134222849,36869,528411,1745489939,-1,-1,-1,1112152071,-1,20485,4126,
-1,1073877010,1094717454,-1,1275072532,4128,4129,4130,4131,-1,1073877011,1073742078,1073742079,102436,20487,-1,4133,135190,135188,1073742106,1275203608,-1,36865,102439,134256131,134221850,-1,266281,4138,-1,266284,4141,-1,4142,12295,36866,1112152073,-1,1112152074,-1,528432,4145,4146,1275082245,1611141171,-1,-1,2097184,134222350,554176565,1112152075,-1,1611141175,1611141176,-1,1112152076,-1,266298,-1,528443,1649022989,-1,1639976963,-1,1094713367,659482,-1,2109448,1094713368,4156,-1,1112152078,4160,
4162,364558,4164,1747587102,36868,135198,-1,4166,102406,659488,134221856,12297,4168,4170,1140850689,-1,1073741854,134217731,1073741864,-1,1073742077,-1,1073742088,1094713362,-1,1073742120,-1,1073742132,1275068935,1086324744,1086324747,1086324748,1073742158,1086326798,1088421903,1073742152,1073742176,1073742178,1073742184,1275068449,134218250,1073741826,134218242,1275069441,1111490561,1111490562,1073741832,1086324739,-1,553648129,2097154,134217729,1275068418,1073741848,1094713346,-1,-1,1094713347,
1086326786,1094715393,1086326785,1111492609,1111492610,1111492611,96,1073741856,1073741858,1073741859,1073741862,1073741860,2097200,1073741863,1275068420,1228931587,2097155,1073741871,1073742328,1073741872,-1,-1,134221829,2097188,1094713349,1086324740,-1,1094713351,1111490563,-1,1073741881,1073741882,2097190,1073741884,134217736,14,1073741894,1073741898,1073742329,-1,-1,134218245,1275069442,1111490564,-1,1073741918,1073741922,2097192,1275069443,1275068928,2097156,1073741925,1073741926,1073741915,
1073741916,1086326789,1094715402,1094713353,1073741935,570425358,1073741938,1275068427,1073741946,545259561,1631586315,-1,1111490565,1073741954,1073741958,1073741960,1073741964,1111492612,1111492613,1111492614,1145047051,1111492615,1111492616,1111492617,1145047053,1086324742,-1,1086324743,1094713356,-1,-1,1094713357,2097194,536870920,134219265,1113589786,-1,-1,1073741974,1086324745,-1,4120,1073741982,1073741983,1086324746,-1,1073741989,-1,1073741990,-1,1111492618,-1,-1,1073742331,1073741991,1073741992,
1275069446,1140850706,1073741993,1073741996,1140850691,1140850692,1073742001,1111490566,-1,1111490567,64,1073742016,1073742018,1073742019,32,1073742022,1073742024,1073742025,1073742026,1111490580,-1,1111490581,1111490582,1111490583,1111490584,1111490585,1111490586,1145045008,1094713360,-1,1094713359,1094713361,1073742030,1073742032,1073742031,1275068929,1275068930,1073742036,1073742037,1073742042,1073742046,1073742052,1073742333,-1,-1,1073742056,1073742039,1073742058,1073742060,134217749,2097166,
1128269825,1111490568,1073742072,1073742074,1073742075,1111492619,1111490569,1140850707,134217750,-1,1073742096,1073742098,134217751,-1,1073742102,1094713363,1275334681,1073742108,-1,1073742109,1715472409,-1,2097168,1111490570,2097170,1275335685,1073742110,2097172,134219268,1073742114,1073742116,1275068443,1094715412,4143,1073742125,1140850693,1073742126,1073742127,2097174,1073742128,1073742129,1073742134,1073742135,1073742136,1073742138,1073742139,134218756,-1,1113589787,1094713365,1073742144,2097178,
134218244,1094713366,1140850694,134218757,1237320707,1073742150,1275068444,2097196,134218246,1275069447,570425403,-1,192,1111490574,1086324749,1073742163,1275068931,128,160,2097180,1111490575,1296041474,1111490571,1111490572,1111490573,1145047052,1111492620,-1,1275068445,1111490576,2097182,1073742164,1073742172,1073742174,536870926,-1,603979967,-1,1073742182,1275068932,1140850696,1111490577,1111490578,1111490579,1145045006,1073742186,1094715417,1648363544,-1,-1,2097198,1312817669,1111492626,1111492627,
1111492628,1145047055,1145047050,1140850705,1111492629,1111492630,1111492631,1073741828,1073741834,1073741836,1073741837,1073741839,1073741840,1073741842,1075838996,1073741846,1073741849,1073741852,1073741861,1073741866,1073741868,1073741874,1073741875,1073741876,1094713350,1073741878,1073741879,1073741880,1073741886,1275068934,1073741888,1073741890,1073741892,1073741896,1073741900,1073741902,1275068425,1073741905,1073741904,1073741906,1073741908,1073741910,1073741912,1073741917,1073741920,1073741924,
1073741928,1073741929,603979835,1073741931,1073741932,1073741933,1073741934,266256,1073741937,1073741940,1073741942,12293,-1,1073741950,1073741952,1073741956,1073741961,1073741962,1073741966,1073741968,1073741970,1073741973,1073741976,1073741977,1073741978,1073741981,1073741984,1073741986,134219266,-1,1073741988,1073741994,1073741998,1073742E3,1073741999,1073742002,1073742004,1073742006,1073742008,4124,1073742010,4125,-1,1073742014,1073742015,1073742020,1073742027,1073742028,1073742033,1073742034,
1073742035,1073742038,1073742040,1073742041,1073742044,1073742048,1073742050,1073742054,1073742064,1073742062,1073742066,1073742068,1073742070,1073742076,1073741850,1073742080,1073742082,1073742083,1073742084,1073742086,1073742090,-1,1073742092,-1,1073742094,1073742099,1073742100,1073742104,1073742112,1073742111,1073742118,1073742119,1073742122,1073742124,1073742130,1073742140,1073742146,1073742147,1073742148,1073742154,1073742156,1073742159,1073742160,1073742162,1073742166,1073742168,1073742170,
1073742189,1073742188,1073742190,1073742192,1073742194,1073742196,536870914,603979822,553648137,536870916,536870918,537006096,-1,1610612740,1610612741,536870930,36870,536875070,-1,545259521,545259522,545259524,545259526,545259528,545259530,545259532,545259534,1610612737,545259536,-1,545259538,545259540,545259542,545259545,-1,545259546,545259547,545259548,545259543,545259544,545259549,545259550,545259552,545259554,545259555,570425356,545259556,545259557,545259558,545259559,545259560,1610612738,545259562,
545259563,545259564,545259565,545259566,545259567,545259568,545259569,545259570,545259571,545259572,545259574,545259576,553648158,545259578,545259580,545259582,545259584,545259586,570425346,-1,570425348,570425350,570425352,570425354,570425355,570425357,570425359,570425360,570425361,570425362,570425363,570425364,570425365,570425366,570425367,570425368,570425371,570425372,570425373,570425374,570425376,570425378,570425380,570425381,570425382,570425384,1665140738,570425388,570425390,570425392,570425393,
570425394,570425396,570425398,570425400,570425402,570425404,570425406,570425408,1648361473,603979972,603979973,570425412,570425414,570425416,553648130,-1,553648132,553648134,553648136,553648138,553648140,553648142,-1,553648143,553648144,553648145,553648146,553648147,553648148,1073741995,553648150,553648151,553648152,553648153,553648154,553648155,553648156,553648157,553648159,553648160,553648162,553648164,553648165,553648166,553648167,553648168,536870922,553648170,536870924,553648172,553648174,-1,
553648176,-1,553648178,553648180,553648182,553648184,553648186,553648188,553648190,603979778,603979780,603979781,603979782,603979783,603979784,603979785,603979786,603979788,603979790,603979792,603979794,603979796,603979798,603979800,603979804,603979806,603979808,603979810,603979811,603979812,603979814,1677721602,-1,603979816,603979817,-1,603979818,603979819,603979820,603979823,603979824,603979825,603979826,603979827,603979828,-1,603979829,603979830,603979831,603979832,603979833,603979834,603979836,
603979837,603979838,603979839,603979840,603979841,603979842,603979844,603979845,603979846,603979848,603979850,603979852,603979853,603979854,1612709894,603979858,603979860,603979862,603979864,1612709900,-1,603979867,603979868,603979869,603979870,553648149,603979871,603979872,2097165,-1,603979873,603979874,603979875,603979876,603979877,603979878,603979879,1610612739,603979880,603979881,603979882,603979883,603979884,603979885,603979886,570425369,570425370,603979887,603979888,603979889,603979890,603979891,
603979892,603979893,603979894,603979895,603979896,603979897,4139,603979898,603979899,603979900,603979902,603979904,603979906,603979908,603979910,603979914,603979916,-1,603979918,603979920,603979922,603979924,603979926,603979927,603979928,603979930,603979934,603979936,603979937,603979939,603979940,603979942,603979944,1612709912,603979948,603979952,603979954,603979955,603979956,603979958,603979960,603979962,603979964,603979965,603979966,603979968,536870928,4165,603979970,603979971,603979974,603979975,
603979976,603979978,603979980,603979982,603979983,603979984]);a.length!=k.length&&JU.Logger.error("sTokens.length ("+a.length+") != iTokens.length! ("+k.length+")");g=a.length;for(h=0;h<g;h++)j=a[h],f=j.toLowerCase(),c=k[h],c=d=-1==c?d:JS.T.o(c,j),null!=JS.T.tokenMap.get(f)&&JU.Logger.error("duplicate token definition:"+f),JS.T.tokenMap.put(f,c);k=a=null});l("J.shape");u(["J.shape.Shape"],"J.shape.AtomShape","JU.AU $.BS J.atomdata.RadiusData J.c.PAL $.VDW JU.BSUtil $.C".split(" "),function(){c$=r(function(){this.mad=
-1;this.paletteIDs=this.colixes=this.mads=null;this.ac=0;this.atoms=null;this.isActive=!1;this.monomerCount=0;this.rd=this.bsSizeDefault=null;q(this,arguments)},J.shape,"AtomShape",J.shape.Shape);b(c$,"getMonomers",function(){return null});e(c$,"initModelSet",function(){this.atoms=this.ms.at;this.ac=this.ms.ac;null!=this.mads&&(this.mads=JU.AU.arrayCopyShort(this.mads,this.ac));null!=this.colixes&&(this.colixes=JU.AU.arrayCopyShort(this.colixes,this.ac));null!=this.paletteIDs&&(this.paletteIDs=JU.AU.arrayCopyByte(this.paletteIDs,
this.ac))});e(c$,"getSize",function(a){return null==this.mads?0:this.mads[a]},"~N");e(c$,"setSize",function(a,c){this.setSize2(a,c)},"~N,JU.BS");b(c$,"setSize2",function(a,c){0==a?this.setSizeRD(null,c):(null==this.rd?this.rd=new J.atomdata.RadiusData(null,a,J.atomdata.RadiusData.EnumType.SCREEN,null):this.rd.value=a,this.setSizeRD(this.rd,c))},"~N,JU.BS");e(c$,"setSizeRD",function(a,c){if(null!=this.atoms){this.isActive=!0;null==this.bsSizeSet&&(this.bsSizeSet=new JU.BS);var d=null!=a&&0!=a.value,
b=null==c,f=b?this.ac-1:c.nextSetBit(0);null==this.mads&&0<=f&&(this.mads=Q(this.ac,0));for(;0<=f;f=b?f-1:c.nextSetBit(f+1))this.setSizeRD2(f,a,d)}},"J.atomdata.RadiusData,JU.BS");b(c$,"setSizeRD2",function(a,c,d){var b=this.atoms[a];this.mads[a]=b.calculateMad(this.vwr,c);this.bsSizeSet.setBitTo(a,d);this.setShapeVisibility(b,d)},"~N,J.atomdata.RadiusData,~B");b(c$,"setPropAS",function(a,c,d){if("color"===a){this.isActive=!0;var b=JU.C.getColixO(c);a=J.c.PAL.pidOf(c);null==this.bsColixSet&&(this.bsColixSet=
new JU.BS);for(c=d.nextSetBit(0);0<=c;c=d.nextSetBit(c+1))this.setColixAndPalette(b,a,c)}else if("params"===a){this.isActive=!0;a=c[0];var f=c[1],g=c[2],h=new J.atomdata.RadiusData(null,0,J.atomdata.RadiusData.EnumType.FACTOR,J.c.VDW.AUTO);null==this.bsColixSet&&(this.bsColixSet=new JU.BS);null==this.bsSizeSet&&(this.bsSizeSet=new JU.BS);c=d.nextSetBit(0);null==this.mads&&0<=c&&(this.mads=Q(this.ac,0));for(var e=0;0<=c;c=d.nextSetBit(c+1),e++){b=null==a?0:a[e];0==b&&(b=0);var m=null==f?0:f[e];0.01<
m&&(b=JU.C.getColixTranslucent3(b,!0,m));this.setColixAndPalette(b,J.c.PAL.UNKNOWN.id,c);null!=g&&(b=0<(h.value=g[e]),this.setSizeRD2(c,h,b))}}else if("translucency"===a){this.isActive=!0;a=c.equals("translucent");null==this.bsColixSet&&(this.bsColixSet=new JU.BS);for(c=d.nextSetBit(0);0<=c;c=d.nextSetBit(c+1))null==this.colixes&&(this.colixes=Q(this.ac,0),this.paletteIDs=O(this.ac,0)),this.colixes[c]=JU.C.getColixTranslucent3(this.colixes[c],a,this.translucentLevel),a&&this.bsColixSet.set(c)}else"deleteModelAtoms"===
a?(this.atoms=c[1],a=c[2],this.ac=this.ms.ac,c=a[1],a=a[2],this.mads=JU.AU.deleteElements(this.mads,c,a),this.colixes=JU.AU.deleteElements(this.colixes,c,a),this.paletteIDs=JU.AU.deleteElements(this.paletteIDs,c,a),JU.BSUtil.deleteBits(this.bsSizeSet,d),JU.BSUtil.deleteBits(this.bsColixSet,d)):this.setPropS(a,c,d)},"~S,~O,JU.BS");b(c$,"setColixAndPalette",function(a,c,d){if(null==this.colixes||d>=this.colixes.length){if(0==a)return;this.colixes=JU.AU.ensureLengthShort(this.colixes,d+1);this.paletteIDs=
JU.AU.ensureLengthByte(this.paletteIDs,d+1)}null==this.bsColixSet&&(this.bsColixSet=JU.BS.newN(this.ac));this.colixes[d]=a=this.getColixI(a,c,d);this.bsColixSet.setBitTo(d,0!=a);this.paletteIDs[d]=c},"~N,~N,~N");e(c$,"setAtomClickability",function(){if(this.isActive)for(var a=this.ac;0<=--a;){var c=this.atoms[a];0==(c.shapeVisibilityFlags&this.vf)||this.ms.isAtomHidden(a)||c.setClickable(this.vf)}});e(c$,"getShapeState",function(){return this.isActive?this.vwr.getAtomShapeState(this):""});b(c$,"getInfoAsString",
function(){return null},"~N")});l("J.shape");u(["J.shape.AtomShape"],"J.shape.Balls",["JU.BS","J.c.PAL","JU.C"],function(){c$=B(J.shape,"Balls",J.shape.AtomShape);e(c$,"setSize",function(a,c){2147483647==a?(this.isActive=!0,null==this.bsSizeSet&&(this.bsSizeSet=new JU.BS),this.bsSizeSet.or(c)):this.setSize2(a,c)},"~N,JU.BS");e(c$,"setSizeRD",function(a,c){this.isActive=!0;null==this.bsSizeSet&&(this.bsSizeSet=new JU.BS);for(var d=Math.min(this.atoms.length,c.length()),b=c.nextSetBit(0);0<=b&&b<d;b=
c.nextSetBit(b+1))this.atoms[b].setMadAtom(this.vwr,a),this.bsSizeSet.set(b)},"J.atomdata.RadiusData,JU.BS");e(c$,"setProperty",function(a,c,d){if("color"===a){var b=JU.C.getColixO(c);0==b&&(b=2);null==this.bsColixSet&&(this.bsColixSet=new JU.BS);var f=J.c.PAL.pidOf(c);for(a=d.nextSetBit(0);0<=a;a=d.nextSetBit(a+1)){var g=this.atoms[a];g.colixAtom=this.getColixA(b,f,g);this.bsColixSet.setBitTo(a,2!=b||f!=J.c.PAL.NONE.id);g.paletteID=f}}else if("colorValues"===a){if(0!=c.length){null==this.bsColixSet&&
(this.bsColixSet=new JU.BS);var h=0,f=null;for(a=d.nextSetBit(0);0<=a&&!(h>=c.length);a=d.nextSetBit(a+1))f=Integer.$valueOf(c[h++]),b=JU.C.getColixO(f),0==b&&(b=2),f=J.c.PAL.pidOf(f),g=this.atoms[a],g.colixAtom=this.getColixA(b,f,g),this.bsColixSet.setBitTo(a,2!=b||f!=J.c.PAL.NONE.id),g.paletteID=f}}else if("colors"===a){c=c[0];null==this.bsColixSet&&(this.bsColixSet=new JU.BS);for(a=d.nextSetBit(0);0<=a;a=d.nextSetBit(a+1))a>=c.length||(this.atoms[a].colixAtom=c[a],this.atoms[a].paletteID=J.c.PAL.UNKNOWN.id,
this.bsColixSet.set(a))}else if("translucency"===a){c=c.equals("translucent");null==this.bsColixSet&&(this.bsColixSet=new JU.BS);for(a=d.nextSetBit(0);0<=a;a=d.nextSetBit(a+1))this.atoms[a].setTranslucent(c,this.translucentLevel),c&&this.bsColixSet.set(a)}else a.startsWith("ball")&&(a=a.substring(4).intern()),this.setPropAS(a,c,d)},"~S,~O,JU.BS");e(c$,"setAtomClickability",function(){for(var a=this.vwr.slm.bsDeleted,c=this.ac;0<=--c;){var d=this.atoms[c];d.setClickable(0);null!=a&&a.get(c)||(0==(d.shapeVisibilityFlags&
this.vf)||this.ms.isAtomHidden(c))||d.setClickable(this.vf)}});e(c$,"getShapeState",function(){return this.vwr.getShapeState(this)})});l("J.shape");u(["J.shape.Shape"],"J.shape.FontLineShape",null,function(){c$=r(function(){this.tickInfos=null;this.mad=0;this.font3d=null;q(this,arguments)},J.shape,"FontLineShape",J.shape.Shape);M(c$,function(){this.tickInfos=Array(4)});e(c$,"initShape",function(){this.translucentAllowed=!1});b(c$,"setPropFLS",function(a,c){"tickInfo"===a?null==c.ticks?c.type.equals(" ")?
this.tickInfos[0]=this.tickInfos[1]=this.tickInfos[2]=this.tickInfos[3]=null:this.tickInfos["xyz".indexOf(c.type)+1]=null:this.tickInfos["xyz".indexOf(c.type)+1]=c:"font"===a&&(this.font3d=c)},"~S,~O");e(c$,"getShapeState",function(){var a=this.vwr.getFontState(this.myType,this.font3d);return null==this.tickInfos?a:this.vwr.getFontLineShapeState(a,this.myType,this.tickInfos)})});l("J.shape");u(["J.shape.Shape"],"J.shape.Frank",["J.i18n.GT"],function(){c$=r(function(){this.frankString="Jmol";this.baseFont3d=
this.currentMetricsFont3d=null;this.scaling=this.dy=this.dx=this.y=this.x=this.frankDescent=this.frankAscent=this.frankWidth=0;this.font3d=null;q(this,arguments)},J.shape,"Frank",J.shape.Shape);b(c$,"initShape",function(){T(this,J.shape.Frank,"initShape",[]);this.myType="frank";this.baseFont3d=this.font3d=this.vwr.gdata.getFont3DFSS("SansSerif","Plain",16);this.calcMetrics()});e(c$,"setProperty",function(a,c){"font"===a&&10<=c.fontSize&&(this.baseFont3d=c,this.scaling=0)},"~S,~O,JU.BS");e(c$,"wasClicked",
function(a,c){var d=this.vwr.getScreenWidth(),b=this.vwr.getScreenHeight();return 0<d&&0<b&&a>d-this.frankWidth-4&&c>b-this.frankAscent-4},"~N,~N");e(c$,"checkObjectHovered",function(a,c){if(!this.vwr.getShowFrank()||!this.wasClicked(a,c)||!this.vwr.menuEnabled())return!1;this.vwr.gdata.antialiasEnabled&&!this.vwr.isSingleThreaded&&(a<<=1,c<<=1);this.vwr.hoverOnPt(a,c,J.i18n.GT._("Click for menu..."),null,null);return!0},"~N,~N,JU.BS");b(c$,"calcMetrics",function(){this.vwr.isJS?this.frankString=
"JSmol":this.vwr.isSignedApplet&&(this.frankString="Jmol_S");this.font3d!==this.currentMetricsFont3d&&(this.currentMetricsFont3d=this.font3d,this.frankWidth=this.font3d.stringWidth(this.frankString),this.frankDescent=this.font3d.getDescent(),this.frankAscent=this.font3d.getAscent())});b(c$,"getFont",function(a){a!=this.scaling&&(this.scaling=a,this.font3d=this.vwr.gdata.getFont3DScaled(this.baseFont3d,a),this.calcMetrics())},"~N");e(c$,"getShapeState",function(){return this.vwr.getFontState(this.myType,
this.baseFont3d)});D(c$,"defaultFontName","SansSerif","defaultFontStyle","Plain","defaultFontSize",16,"frankMargin",4)});l("J.shape");u(null,"J.shape.Shape",["J.c.PAL","JU.C","$.Logger","JV.JC"],function(){c$=r(function(){this.ms=this.vwr=this.myType=null;this.translucentLevel=this.vf=this.shapeID=0;this.translucentAllowed=!0;this.isBioShape=!1;this.bsColixSet=this.bsSizeSet=null;q(this,arguments)},J.shape,"Shape");b(c$,"initializeShape",function(a,c,d){this.vwr=a;this.shapeID=d;this.vf=JV.JC.getShapeVisibilityFlag(d);
this.setModelSet(c);this.initShape()},"JV.Viewer,JM.ModelSet,~N");b(c$,"setModelVisibilityFlags",function(){},"JU.BS");b(c$,"getSize",function(){return 0},"~N");b(c$,"getSizeG",function(){return 0},"JM.Group");b(c$,"replaceGroup",function(){},"JM.Group,JM.Group");b(c$,"setModelSet",function(a){this.ms=a;this.initModelSet()},"JM.ModelSet");b(c$,"initModelSet",function(){});b(c$,"setShapeVisibility",function(a,c){a.setShapeVisibility(this.vf,c)},"JM.Atom,~B");b(c$,"initShape",function(){});b(c$,"merge",
function(){},"J.shape.Shape");b(c$,"setShapeSizeRD",function(a,c,d){null==c?this.setSize(a,d):this.setSizeRD(c,d)},"~N,J.atomdata.RadiusData,JU.BS");b(c$,"setSize",function(){},"~N,JU.BS");b(c$,"setSizeRD",function(){},"J.atomdata.RadiusData,JU.BS");b(c$,"getPropertyData",function(){return!1},"~S,~A");b(c$,"setPropS",function(a,c,d){if("setProperties"===a)for(null==d&&(d=this.vwr.bsA());0<c.size();)a=c.remove(0),this.setProperty(a[0].intern(),a[1],d);else"translucentLevel"===a?this.translucentLevel=
c.floatValue():"refreshTrajectories"!==a&&JU.Logger.warn("unassigned "+JV.JC.shapeClassBases[this.shapeID]+" + shape setProperty:"+a+":"+c)},"~S,~O,JU.BS");b(c$,"getProperty",function(){return null},"~S,~N");b(c$,"getIndexFromName",function(){return-1},"~S");b(c$,"wasClicked",function(){return!1},"~N,~N");b(c$,"findNearestAtomIndex",function(){},"~N,~N,~A,JU.BS");b(c$,"checkBoundsMinMax",function(){},"JU.P3,JU.P3");b(c$,"setAtomClickability",function(){});b(c$,"checkObjectClicked",function(){return null},
"~N,~N,~N,JU.BS,~B");b(c$,"checkObjectHovered",function(){return!1},"~N,~N,JU.BS");b(c$,"checkObjectDragged",function(){return!1},"~N,~N,~N,~N,~N,JU.BS");b(c$,"coordinateInRange",function(a,c,d,b,f){this.vwr.tm.transformPtScr(d,f);a=(a-f.x)*(a-f.x)+(c-f.y)*(c-f.y);return a<b?a:-1},"~N,~N,JU.T3,~N,JU.P3i");b(c$,"getColixI",function(a,c,d){return this.getColixA(a,c,this.ms.at[d])},"~N,~N,~N");b(c$,"getColixA",function(a,c,d){return 2==a?this.vwr.cm.getColixAtomPalette(d,c):a},"~N,~N,JM.Atom");b(c$,
"getColixB",function(a,c,d){return 2==a?this.vwr.cm.getColixBondPalette(d,c):a},"~N,~N,JM.Bond");b(c$,"getShapeDetail",function(){return null});c$.getColix=b(c$,"getColix",function(a,c,d){return JU.C.getColixInherited(null==a||c>=a.length?0:a[c],d.colixAtom)},"~A,~N,JM.Atom");c$.getFontCommand=b(c$,"getFontCommand",function(a,c){return null==c?"":"font "+a+" "+c.getInfo()},"~S,javajs.awt.Font");c$.getColorCommandUnk=b(c$,"getColorCommandUnk",function(a,c,d){return J.shape.Shape.getColorCommand(a,
J.c.PAL.UNKNOWN.id,c,d)},"~S,~N,~B");c$.getColorCommand=b(c$,"getColorCommand",function(a,c,d,b){if(c==J.c.PAL.UNKNOWN.id&&0==d)return"";c=c==J.c.PAL.UNKNOWN.id&&0==d?"":(b?J.shape.Shape.getTranslucentLabel(d)+" ":"")+(c!=J.c.PAL.UNKNOWN.id&&!J.c.PAL.isPaletteVariable(c)?J.c.PAL.getPaletteName(c):J.shape.Shape.encodeColor(d));return"color "+a+" "+c},"~S,~N,~N,~B");c$.encodeColor=b(c$,"encodeColor",function(a){return JU.C.isColixColorInherited(a)?"none":JU.C.getHexCode(a)},"~N");c$.getTranslucentLabel=
b(c$,"getTranslucentLabel",function(a){return JU.C.isColixTranslucent(a)?JU.C.getColixTranslucencyLabel(a):"opaque"},"~N");c$.appendCmd=b(c$,"appendCmd",function(a,c){0!=c.length&&a.append("  ").append(c).append(";\n")},"JU.SB,~S");D(c$,"RADIUS_MAX",4)});l("J.shape");u(["J.shape.Shape","JU.P3i"],"J.shape.Sticks","java.util.Hashtable JU.BS $.P3 J.c.PAL JU.BSUtil $.C $.Edge $.Escape".split(" "),function(){c$=r(function(){this.myMask=0;this.reportAll=!1;this.ptXY=this.selectedBonds=this.bsOrderSet=null;
q(this,arguments)},J.shape,"Sticks",J.shape.Shape);M(c$,function(){this.ptXY=new JU.P3i});b(c$,"initShape",function(){T(this,J.shape.Sticks,"initShape",[]);this.myMask=1023;this.reportAll=!1});e(c$,"setSize",function(a,c){if(2147483647==a)this.selectedBonds=JU.BSUtil.copy(c);else if(-2147483648==a)null==this.bsOrderSet&&(this.bsOrderSet=new JU.BS),this.bsOrderSet.or(c);else{null==this.bsSizeSet&&(this.bsSizeSet=new JU.BS);for(var d=null!=this.selectedBonds?this.ms.getBondIterator(this.selectedBonds):
this.ms.getBondIteratorForType(this.myMask,c);d.hasNext();)this.bsSizeSet.set(d.nextIndex()),d.next().setMad(a)}},"~N,JU.BS");e(c$,"setProperty",function(a,c,d){if("type"===a)this.myMask=c.intValue();else if("reportAll"===a)this.reportAll=!0;else if("reset"===a)this.selectedBonds=this.bsColixSet=this.bsSizeSet=this.bsOrderSet=null;else if("bondOrder"===a){null==this.bsOrderSet&&(this.bsOrderSet=new JU.BS);a=c.shortValue();for(d=null!=this.selectedBonds?this.ms.getBondIterator(this.selectedBonds):
this.ms.getBondIteratorForType(65535,d);d.hasNext();)this.bsOrderSet.set(d.nextIndex()),d.next().setOrder(a)}else if("color"===a)if(null==this.bsColixSet&&(this.bsColixSet=new JU.BS),a=JU.C.getColixO(c),c=p(c,J.c.PAL)?c:null,c===J.c.PAL.TYPE||c===J.c.PAL.ENERGY){var b=c===J.c.PAL.ENERGY;for(d=null!=this.selectedBonds?this.ms.getBondIterator(this.selectedBonds):this.ms.getBondIteratorForType(this.myMask,d);d.hasNext();){this.bsColixSet.set(d.nextIndex());var f=d.next();f.colix=b?this.getColixB(a,c.id,
f):JU.C.getColix(JU.Edge.getArgbHbondType(f.order))}}else{if(!(2==a&&c!==J.c.PAL.CPK))for(d=null!=this.selectedBonds?this.ms.getBondIterator(this.selectedBonds):this.ms.getBondIteratorForType(this.myMask,d);d.hasNext();)c=d.nextIndex(),d.next().colix=a,this.bsColixSet.setBitTo(c,0!=a&&2!=a)}else if("translucency"===a){null==this.bsColixSet&&(this.bsColixSet=new JU.BS);a=c.equals("translucent");for(d=null!=this.selectedBonds?this.ms.getBondIterator(this.selectedBonds):this.ms.getBondIteratorForType(this.myMask,
d);d.hasNext();)this.bsColixSet.set(d.nextIndex()),d.next().setTranslucent(a,this.translucentLevel)}else"deleteModelAtoms"!==a&&this.setPropS(a,c,d)},"~S,~O,JU.BS");e(c$,"getProperty",function(a){return a.equals("selectionState")?null!=this.selectedBonds?"select BONDS "+JU.Escape.eBS(this.selectedBonds)+"\n":"":a.equals("sets")?x(-1,[this.bsOrderSet,this.bsSizeSet,this.bsColixSet]):null},"~S,~N");e(c$,"setAtomClickability",function(){for(var a=this.ms.bo,c=this.ms.bondCount;0<=--c;){var d=a[c];0==
(d.shapeVisibilityFlags&this.vf)||(this.ms.isAtomHidden(d.atom1.i)||this.ms.isAtomHidden(d.atom2.i))||(d.atom1.setClickable(this.vf),d.atom2.setClickable(this.vf))}});e(c$,"getShapeState",function(){return this.vwr.getBondState(this,this.bsOrderSet,this.reportAll)});e(c$,"checkObjectHovered",function(a,c,d){var b=new JU.P3;a=this.findPickedBond(a,c,d,b);if(null==a)return!1;this.vwr.highlightBond(a.index,!0);return!0},"~N,~N,JU.BS");e(c$,"checkObjectClicked",function(a,c,d,b){d=new JU.P3;a=this.findPickedBond(a,
c,b,d);if(null==a)return null;c=a.atom1.mi;b=a.getIdentity();var f=new java.util.Hashtable;f.put("pt",d);f.put("index",Integer.$valueOf(a.index));f.put("modelIndex",Integer.$valueOf(c));f.put("model",this.vwr.getModelNumberDotted(c));f.put("type","bond");f.put("info",b);this.vwr.setStatusAtomPicked(-3,'["bond","'+a.getIdentity()+'",'+d.x+","+d.y+","+d.z+"]",f);return f},"~N,~N,~N,JU.BS,~B");b(c$,"findPickedBond",function(a,c,d,b){d=100;this.vwr.gdata.isAntialiased()&&(a<<=1,c<<=1,d<<=1);for(var f=
null,g=new JU.P3,h=this.ms.bo,e=this.ms.bondCount;0<=--e;){var m=h[e];if(0!=m.shapeVisibilityFlags){var n=m.atom1,s=m.atom2;if(n.checkVisible()&&s.checkVisible()){g.ave(n,s);var w=this.coordinateInRange(a,c,g,d,this.ptXY);0<=w&&(n=1*(this.ptXY.x-n.sX)/(s.sX-n.sX),0.4>n||0.6<n||(d=w,f=m,b.setT(g)))}}}return f},"~N,~N,JU.BS,JU.P3");D(c$,"MAX_BOND_CLICK_DISTANCE_SQUARED",100)});l("J.thread");u(["J.thread.JmolThread"],"J.thread.HoverWatcherThread",["java.lang.Thread"],function(){c$=r(function(){this.moved=
this.current=this.actionManager=null;this.hoverDelay=0;q(this,arguments)},J.thread,"HoverWatcherThread",J.thread.JmolThread);t(c$,function(a,c,d,b){this.setViewer(b,"HoverWatcher");this.actionManager=a;this.current=c;this.moved=d;this.start()},"JV.ActionManager,JV.MouseState,JV.MouseState,JV.Viewer");e(c$,"run1",function(a){for(;;)switch(a){case -1:this.isJS||Thread.currentThread().setPriority(1);a=0;break;case 0:this.hoverDelay=this.vwr.getHoverDelay();if(this.stopped||0>=this.hoverDelay||!this.runSleep(this.hoverDelay,
1))return;a=1;break;case 1:this.moved.is(this.current)&&(this.currentTime=System.currentTimeMillis(),this.currentTime-this.moved.time>this.hoverDelay&&!this.stopped&&this.actionManager.checkHover()),a=0}},"~N")});l("J.thread");u(["java.lang.Thread"],"J.thread.JmolThread",["JU.Logger"],function(){c$=r(function(){this.$name="JmolThread";this.sc=this.eval=this.vwr=null;this.hoverEnabled=this.haveReference=!1;this.sleepTime=this.currentTime=this.lastRepaintTime=this.targetTime=this.startTime=0;this.isReset=
this.stopped=this.isJS=!1;this.useTimeout=!0;this.junk=0;q(this,arguments)},J.thread,"JmolThread",Thread);b(c$,"setManager",function(){return 0},"~O,JV.Viewer,~O");b(c$,"setViewer",function(a,c){this.setName(c);this.$name=c+"_"+ ++J.thread.JmolThread.threadIndex;this.vwr=a;this.isJS=a.isSingleThreaded},"JV.Viewer,~S");b(c$,"setEval",function(a){this.eval=a;this.sc=this.vwr.getEvalContextAndHoldQueue(a);null!=this.sc&&(this.useTimeout=a.getAllowJSThreads())},"J.api.JmolScriptEvaluator");b(c$,"resumeEval",
function(){if(!(null==this.eval||!this.isJS&&!this.vwr.testAsync||!this.useTimeout)){this.sc.mustResumeEval=!this.stopped;var a=this.eval,c=this.sc;this.sc=this.eval=null;setTimeout(function(){a.resumeEval(c)},1)}});b(c$,"start",function(){this.isJS?this.run():T(this,J.thread.JmolThread,"start",[])});e(c$,"run",function(){this.startTime=System.currentTimeMillis();try{this.run1(-1)}catch(a){if(C(a,InterruptedException)){var c=a;JU.Logger.debugging&&!p(this,J.thread.HoverWatcherThread)&&this.oops(c)}else if(C(a,
Exception))this.oops(a);else throw a;}});b(c$,"oops",function(a){JU.Logger.debug(this.$name+" exception "+a);this.vwr.isJS||a.printStackTrace();this.vwr.queueOnHold=!1},"Exception");b(c$,"runSleep",function(a,c){if(this.isJS&&!this.useTimeout)return!0;var d=this;setTimeout(function(){d.run1(c)},Math.max(a,0));return!1},"~N,~N");b(c$,"interrupt",function(){this.stopped=!0;this.vwr.startHoverWatcher(!0);this.isJS||T(this,J.thread.JmolThread,"interrupt",[])});b(c$,"checkInterrupted",function(a){return this.haveReference&&
(null==a||!a.$name.equals(this.$name))?!0:this.stopped},"J.thread.JmolThread");b(c$,"reset",function(){this.isReset=!0;this.interrupt()});D(c$,"threadIndex",0,"INIT",-1,"MAIN",0,"FINISH",-2,"CHECK1",1,"CHECK2",2,"CHECK3",3)});l("J.thread");u(["J.thread.JmolThread"],"J.thread.TimeoutThread",["java.lang.Thread","JU.SB"],function(){c$=r(function(){this.script=null;this.status=0;this.triggered=!0;q(this,arguments)},J.thread,"TimeoutThread",J.thread.JmolThread);t(c$,function(a,c,d,b){this.setViewer(a,
c);this.$name=c;this.set(d,b)},"JV.Viewer,~S,~N,~S");b(c$,"set",function(a,c){this.sleepTime=a;null!=c&&(this.script=c)},"~N,~S");e(c$,"toString",function(){return"timeout name="+this.$name+" executions="+this.status+" mSec="+this.sleepTime+" secRemaining="+(this.targetTime-System.currentTimeMillis())/1E3+" script="+this.script});e(c$,"run1",function(a){for(;;)switch(a){case -1:this.isJS||Thread.currentThread().setPriority(1);this.targetTime=System.currentTimeMillis()+Math.abs(this.sleepTime);a=0;
break;case 0:if(this.checkInterrupted(null)||(null==this.script||0==this.script.length)||!this.runSleep(26,1))return;a=1;break;case 1:a=System.currentTimeMillis()<this.targetTime?0:2;break;case 2:this.currentTime=System.currentTimeMillis();if(null==this.vwr.timeouts.get(this.$name))return;this.status++;(a=0>this.sleepTime)?this.targetTime=System.currentTimeMillis()+Math.abs(this.sleepTime):this.vwr.timeouts.remove(this.$name);this.triggered&&(this.triggered=!1,this.$name.equals("_SET_IN_MOTION_")?
this.vwr.checkInMotion(2):this.vwr.evalStringQuiet(a?this.script+';\ntimeout ID "'+this.$name+'";':this.script));a=a?0:-2;break;case -2:this.vwr.timeouts.remove(this.$name);return}},"~N");c$.clear=b(c$,"clear",function(a){for(var c,d=a.values().iterator();d.hasNext()&&((c=d.next())||1);){var b=c;b.script.equals("exitJmol")||b.interrupt()}a.clear()},"java.util.Map");c$.setTimeout=b(c$,"setTimeout",function(a,c,d,b,f){var g=c.get(d);0==b?null!=g&&(g.interrupt(),c.remove(d)):null!=g?g.set(b,f):(g=new J.thread.TimeoutThread(a,
d,b,f),c.put(d,g),g.start())},"JV.Viewer,java.util.Map,~S,~N,~S");c$.trigger=b(c$,"trigger",function(a,c){var d=a.get(c);null!=d&&(d.triggered=0>d.sleepTime)},"java.util.Map,~S");c$.showTimeout=b(c$,"showTimeout",function(a,c){var d=new JU.SB;if(null!=a)for(var b,f=a.values().iterator();f.hasNext()&&((b=f.next())||1);){var g=b;(null==c||g.$name.equalsIgnoreCase(c))&&d.append(g.toString()).append("\n")}return 0<d.length()?d.toString():"<no timeouts set>"},"java.util.Map,~S")});l("JM");u(["JU.BNode",
"$.Point3fi","J.c.PAL"],"JM.Atom","java.lang.Float JU.BS $.CU $.P3 $.PT $.SB J.atomdata.RadiusData J.c.VDW JM.Group JU.C $.Elements".split(" "),function(){c$=r(function(){this.altloc="\x00";this.atomSite=this.atomID=0;this.group=null;this.atomicAndIsotopeNumber=this.valence=this.userDefinedVanDerWaalRadius=0;this.atomSymmetry=null;this.paletteID=this.colixAtom=this.madAtom=this.formalChargeAndFlags=0;this.bonds=null;this.shapeVisibilityFlags=this.clickabilityFlags=this.nBackbonesDisplayed=this.nBondsDisplayed=
0;q(this,arguments)},JM,"Atom",JU.Point3fi,JU.BNode);M(c$,function(){this.paletteID=J.c.PAL.CPK.id});e(c$,"setAtom",function(a,c,d,b,f,g,h,e,m){this.mi=a;this.atomSymmetry=f;this.atomSite=g;this.i=c;this.atomicAndIsotopeNumber=h;m&&(this.formalChargeAndFlags=2);0!=e&&-2147483648!=e&&this.setFormalCharge(e);this.userDefinedVanDerWaalRadius=b;this.setT(d);return this},"~N,~N,JU.P3,~N,JU.BS,~N,~N,~N,~B");b(c$,"setShapeVisibility",function(a,c){this.shapeVisibilityFlags=c?this.shapeVisibilityFlags|a:
this.shapeVisibilityFlags&~a},"~N,~B");b(c$,"isCovalentlyBonded",function(a){if(null!=this.bonds)for(var c=this.bonds.length;0<=--c;)if(this.bonds[c].isCovalent()&&this.bonds[c].getOtherAtom(this)===a)return!0;return!1},"JM.Atom");b(c$,"isBonded",function(a){if(null!=this.bonds)for(var c=this.bonds.length;0<=--c;)if(this.bonds[c].getOtherAtom(this)===a)return!0;return!1},"JM.Atom");b(c$,"getBond",function(a){if(null!=this.bonds)for(var c=this.bonds.length;0<=--c;)if(null!=this.bonds[c].getOtherAtom(a))return this.bonds[c];
return null},"JM.Atom");b(c$,"addDisplayedBond",function(a,c){this.nBondsDisplayed+=c?1:-1;this.setShapeVisibility(a,0<this.nBondsDisplayed)},"~N,~B");b(c$,"deleteBond",function(a){if(null!=this.bonds)for(var c=this.bonds.length;0<=--c;)if(this.bonds[c]===a){this.deleteBondAt(c);break}},"JM.Bond");b(c$,"deleteBondAt",function(a){var c=this.bonds.length-1;if(0==c)this.bonds=null;else{for(var d=Array(c),b=0;b<a;++b)d[b]=this.bonds[b];for(;b<c;++b)d[b]=this.bonds[b+1];this.bonds=d}},"~N");e(c$,"getBondedAtomIndex",
function(a){return this.bonds[a].getOtherAtom(this).i},"~N");b(c$,"setMadAtom",function(a,c){this.madAtom=this.calculateMad(a,c)},"JV.Viewer,J.atomdata.RadiusData");b(c$,"calculateMad",function(a,c){if(null==c)return 0;var d=c.value;if(0==d)return 0;switch(c.factorType){case J.atomdata.RadiusData.EnumType.SCREEN:return aa(d);case J.atomdata.RadiusData.EnumType.FACTOR:case J.atomdata.RadiusData.EnumType.OFFSET:var b=0;switch(c.vdwType){case J.c.VDW.TEMP:b=a.ms.getBfactor100Hi();b=0<b?this.getBfactor100()/
b:0;break;case J.c.VDW.HYDRO:b=Math.abs(this.getHydrophobicity());break;case J.c.VDW.BONDING:b=this.getBondingRadius();break;case J.c.VDW.ADPMIN:case J.c.VDW.ADPMAX:b=this.getADPMinMax(c.vdwType===J.c.VDW.ADPMAX);break;default:b=this.getVanderwaalsRadiusFloat(a,c.vdwType)}d=c.factorType===J.atomdata.RadiusData.EnumType.FACTOR?d*b:d+b;break;case J.atomdata.RadiusData.EnumType.ABSOLUTE:if(16.1==d)return JM.Atom.MAD_GLOBAL}b=aa(0>d?d:2E3*d);0>b&&0<d&&(b=0);return b},"JV.Viewer,J.atomdata.RadiusData");
b(c$,"getADPMinMax",function(a){var c=this.getTensors();if(null==c)return 0;var d=c[0];if(null==d||1!=d.iType)return 0;this.group.chain.model.ms.isModulated(this.i)&&d.isUnmodulated&&(d=c[1]);return d.getFactoredValue(a?2:1)},"~B");b(c$,"getTensors",function(){return this.group.chain.model.ms.getAtomTensorList(this.i)});b(c$,"getRasMolRadius",function(){return Math.abs(v(this.madAtom/8))});e(c$,"getCovalentBondCount",function(){if(null==this.bonds)return 0;for(var a=0,c,d=this.bonds.length;0<=--d;)0!=
((c=this.bonds[d]).order&1023)&&!c.getOtherAtom(this).isDeleted()&&++a;return a});e(c$,"getCovalentHydrogenCount",function(){if(null==this.bonds)return 0;for(var a=0,c=this.bonds.length;0<=--c;)if(0!=(this.bonds[c].order&1023)){var d=this.bonds[c].getOtherAtom(this);0<=d.valence&&1==d.getElementNumber()&&++a}return a});e(c$,"getEdges",function(){return null==this.bonds?[]:this.bonds});e(c$,"getBondCount",function(){return null==this.bonds?0:this.bonds.length});b(c$,"setTranslucent",function(a,c){this.colixAtom=
JU.C.getColixTranslucent3(this.colixAtom,a,c)},"~B,~N");e(c$,"getElementNumber",function(){return JU.Elements.getElementNumber(this.atomicAndIsotopeNumber)});e(c$,"getIsotopeNumber",function(){return JU.Elements.getIsotopeNumber(this.atomicAndIsotopeNumber)});e(c$,"getAtomicAndIsotopeNumber",function(){return this.atomicAndIsotopeNumber});b(c$,"setAtomicAndIsotopeNumber",function(a){if(0>a||(a&127)>=JU.Elements.elementNumberMax||32767<a)a=0;this.atomicAndIsotopeNumber=a},"~N");b(c$,"getElementSymbolIso",
function(a){return JU.Elements.elementSymbolFromNumber(a?this.atomicAndIsotopeNumber:this.atomicAndIsotopeNumber&127)},"~B");b(c$,"getElementSymbol",function(){return this.getElementSymbolIso(!0)});b(c$,"isHetero",function(){return 0!=(this.formalChargeAndFlags&2)});b(c$,"hasVibration",function(){return 0!=(this.formalChargeAndFlags&1)});b(c$,"setFormalCharge",function(a){this.formalChargeAndFlags=this.formalChargeAndFlags&3|(-2147483648==a?0:7<a?7:-3>a?-3:a)<<2},"~N");b(c$,"setVibrationVector",function(){this.formalChargeAndFlags|=
1});e(c$,"getFormalCharge",function(){return this.formalChargeAndFlags>>2});b(c$,"getOccupancy100",function(){var a=this.group.chain.model.ms.occupancies;return null==a?100:Math.round(a[this.i])});b(c$,"isOccupied",function(){var a=this.group.chain.model.ms.occupancies;return null==a||50<=a[this.i]});b(c$,"getBfactor100",function(){var a=this.group.chain.model.ms.bfactor100s;return null==a?0:a[this.i]});b(c$,"getHydrophobicity",function(){var a=this.group.chain.model.ms.hydrophobicities;return null==
a?JU.Elements.getHydrophobicity(this.group.groupID):a[this.i]});b(c$,"setRadius",function(a){return!Float.isNaN(this.userDefinedVanDerWaalRadius=0<a?a:NaN)},"~N");b(c$,"$delete",function(a){this.valence=-1;if(null!=this.bonds)for(var c=this.bonds.length;0<=--c;){var d=this.bonds[c];d.getOtherAtom(this).deleteBond(d);a.set(d.index)}this.bonds=null},"JU.BS");e(c$,"isDeleted",function(){return 0>this.valence});b(c$,"setValence",function(a){this.isDeleted()||(this.valence=0>a?0:239>a?a:239)},"~N");e(c$,
"getValence",function(){if(this.isDeleted())return-1;var a=this.valence;if(0==a&&null!=this.bonds)for(var c=this.bonds.length;0<=--c;)a+=this.bonds[c].getValence();return a});e(c$,"getImplicitHydrogenCount",function(){return this.group.chain.model.ms.getImplicitHydrogenCount(this,!1)});b(c$,"getTargetValence",function(){switch(this.getElementNumber()){case 6:case 14:return 4;case 5:case 7:case 15:return 3;case 8:case 16:return 2;case 1:case 9:case 17:case 35:case 53:return 1}return-1});b(c$,"getDimensionValue",
function(a){return 0==a?this.x:1==a?this.y:this.z},"~N");b(c$,"getVanderwaalsRadiusFloat",function(a,c){return Float.isNaN(this.userDefinedVanDerWaalRadius)?a.getVanderwaalsMarType(this.atomicAndIsotopeNumber,this.getVdwType(c))/1E3:this.userDefinedVanDerWaalRadius},"JV.Viewer,J.c.VDW");b(c$,"getVdwType",function(a){switch(a){case J.c.VDW.AUTO:a=this.group.chain.model.ms.getDefaultVdwType(this.mi);break;case J.c.VDW.NOJMOL:a=this.group.chain.model.ms.getDefaultVdwType(this.mi),a===J.c.VDW.AUTO_JMOL&&
(a=J.c.VDW.AUTO_BABEL)}return a},"J.c.VDW");b(c$,"getBondingRadius",function(){var a=this.group.chain.model.ms.bondingRadii,a=null==a?0:a[this.i];return 0==a?JU.Elements.getBondingRadius(this.atomicAndIsotopeNumber,this.getFormalCharge()):a});b(c$,"getVolume",function(a,c){var d=null==c?this.userDefinedVanDerWaalRadius:NaN;Float.isNaN(d)&&(d=a.getVanderwaalsMarType(this.getElementNumber(),this.getVdwType(c))/1E3);var b=0;if(null!=this.bonds)for(var f=0;f<this.bonds.length;f++)if(this.bonds[f].isCovalent()){var g=
this.bonds[f].getOtherAtom(this),h=null==c?g.userDefinedVanDerWaalRadius:NaN;Float.isNaN(h)&&(h=a.getVanderwaalsMarType(g.getElementNumber(),g.getVdwType(c))/1E3);g=this.distance(g);if(!(g>d+h)){if(g+d<=h)return 0;h=d-(d*d+g*g-h*h)/(2*g);b-=1.0471975511965976*h*h*(3*d-h)}}return b+4.1887902047863905*d*d*d},"JV.Viewer,J.c.VDW");b(c$,"getCurrentBondCount",function(){return null==this.bonds?0:this.bonds.length});b(c$,"getRadius",function(){return Math.abs(this.madAtom/2E3)});e(c$,"getIndex",function(){return this.i});
e(c$,"getAtomSite",function(){return this.atomSite});e(c$,"getGroupBits",function(a){this.group.setAtomBits(a)},"JU.BS");e(c$,"getAtomName",function(){return 0<this.atomID?JM.Group.specialAtomNames[this.atomID]:this.group.chain.model.ms.atomNames[this.i]});e(c$,"getAtomType",function(){var a=this.group.chain.model.ms.atomTypes,a=null==a?null:a[this.i];return null==a?this.getAtomName():a});e(c$,"getAtomNumber",function(){var a=this.group.chain.model.ms.atomSerials;return null==a?this.i:a[this.i]});
b(c$,"getSeqID",function(){var a=this.group.chain.model.ms.atomSeqIDs;return null==a?0:a[this.i]});b(c$,"isVisible",function(a){return(this.shapeVisibilityFlags&a)==a},"~N");b(c$,"getPartialCharge",function(){var a=this.group.chain.model.ms.partialCharges;return null==a?0:a[this.i]});b(c$,"getSymmetryTranslation",function(a,c,d){for(var b=0;b<c.length;b++)if(this.atomSymmetry.get(a+=d))return c[b];return 0},"~N,~A,~N");b(c$,"getCellTranslation",function(a,c,d){for(var b=d,f=0;f<c.length;f++)for(var g=
0;g<d;g++,b++)if(this.atomSymmetry.get(b)&&c[f]==a)return c[f];return 0},"~N,~A,~N");b(c$,"getSymmetryOperatorList",function(a){var c="",d=this.group.chain.model.ms,b=d.getModelSymmetryCount(this.mi);if(0==b||null==this.atomSymmetry)return"";for(var d=d.getModelCellRange(this.mi),f=b,g=null==d?1:d.length,h=a?null:new JU.BS,e=0;e<g;e++)for(var m=0;m<b;m++)this.atomSymmetry.get(f++)&&(a?c+=","+(m+1)+d[e]:h.set(m+1));if(!a)for(e=h.nextSetBit(0);0<=e;e=h.nextSetBit(e+1))c+=","+e;return 0==c.length?"":
c.substring(1)},"~B");e(c$,"getModelIndex",function(){return this.mi});b(c$,"getMoleculeNumber",function(a){return this.group.chain.model.ms.getMoleculeIndex(this.i,a)+1},"~B");b(c$,"getFractionalCoord",function(a,c,d,b){b=this.getFractionalCoordPt(a,d,b);return"X"==c?b.x:"Y"==c?b.y:b.z},"~B,~S,~B,JU.P3");b(c$,"getFractionalCoordPt",function(a,c,d){var b=this.getUnitCell();if(null==b)return this;null==d?d=JU.P3.newP(this):d.setT(this);b.toFractional(d,c);a&&JU.PT.fixPtFloats(d,1E5);return d},"~B,~B,JU.P3");
b(c$,"getUnitCell",function(){return this.group.chain.model.ms.getUnitCellForAtom(this.i)});b(c$,"getFractionalUnitCoord",function(a,c,d){d=this.getFractionalUnitCoordPt(a,!1,d);return"X"==c?d.x:"Y"==c?d.y:d.z},"~B,~S,JU.P3");b(c$,"getFractionalUnitCoordPt",function(a,c,d){var b=this.getUnitCell();if(null==b)return this;null==d?d=JU.P3.newP(this):d.setT(this);this.group.chain.model.isJmolDataFrame?(b.toFractional(d,!1),c&&b.toCartesian(d,!1)):(b.toUnitCell(d,null),c||b.toFractional(d,!1));a&&JU.PT.fixPtFloats(d,
c?1E4:1E5);return d},"~B,~B,JU.P3");b(c$,"getFractionalUnitDistance",function(a,c,d){var b=this.getUnitCell();if(null==b)return this.distance(a);c.setT(this);d.setT(a);this.group.chain.model.isJmolDataFrame?(b.toFractional(c,!0),b.toFractional(d,!0)):(b.toUnitCell(c,null),b.toUnitCell(d,null));return c.distance(d)},"JU.P3,JU.P3,JU.P3");b(c$,"setFractionalCoord",function(a,c,d){var b=this.getUnitCell();null!=b&&b.toFractional(this,d);switch(a){case 1111492615:case 1111492612:this.x=c;break;case 1111492616:case 1111492613:this.y=
c;break;case 1111492617:case 1111492614:this.z=c}null!=b&&b.toCartesian(this,d)},"~N,~N,~B");b(c$,"setFractionalCoordTo",function(a,c){this.setFractionalCoordPt(this,a,c)},"JU.P3,~B");b(c$,"setFractionalCoordPt",function(a,c,d){a.setT(c);c=this.getUnitCell();null!=c&&c.toCartesian(a,d&&!this.group.chain.model.isJmolDataFrame)},"JU.P3,JU.P3,~B");b(c$,"isCursorOnTopOf",function(a,c,d,b){var f=v(this.sD/2);f<d&&(f=d);d=f*f;f=this.sX-a;f*=f;if(f>d)return!1;var g=this.sY-c;d-=f+g*g;if(0>d)return!1;if(null==
b)return!0;var f=this.sZ,g=b.sZ,h=v(b.sD/2);if(f<g-h)return!0;a=b.sX-a;c=b.sY-c;c=h*h-(a*a+c*c);return f-Math.sqrt(d)<g-Math.sqrt(c)},"~N,~N,~N,JM.Atom");b(c$,"getInfo",function(){return this.getIdentity(!0)});b(c$,"getIdentityXYZ",function(a,c){c=this.group.chain.model.isJmolDataFrame?this.getFractionalCoordPt(!this.group.chain.model.ms.vwr.g.legacyJavaFloat,!1,c):this;return this.getIdentity(a)+" "+c.x+" "+c.y+" "+c.z},"~B,JU.P3");b(c$,"getIdentity",function(a){var c=new JU.SB,d=this.getGroup3(!0);
if(null!=d&&0<d.length&&!d.equals("UNK")){c.append("[");c.append(d);c.append("]");d=this.group.getSeqcodeString();null!=d&&c.append(d);d=this.group.chain.chainID;if(0!=d&&32!=d){c.append(":");var b=this.getChainIDStr();256<=d&&(b=JU.PT.esc(b));c.append(b)}if(!a)return c.toString();c.append(".")}c.append(this.getAtomName());0==c.length()&&(c.append(this.getElementSymbolIso(!1)),c.append(" "),c.appendI(this.getAtomNumber()));"\x00"!=this.altloc&&(c.append("%"),c.appendC(this.altloc));1<this.group.chain.model.ms.mc&&
!this.group.chain.model.isJmolDataFrame&&(c.append("/"),c.append(this.getModelNumberForLabel()));c.append(" #");c.appendI(this.getAtomNumber());return c.toString()},"~B");e(c$,"getGroup3",function(a){var c=this.group.getGroup3();return a||null!=c&&0<c.length?c:"UNK"},"~B");e(c$,"getGroup1",function(a){var c=this.group.getGroup1();return"\x00"!=c?""+c:"\x00"!=a?""+a:""},"~S");e(c$,"getBioSmilesType",function(){return this.group.isProtein()?"p":this.group.isDna()?"d":this.group.isRna()?"r":this.group.isCarbohydrate()?
"c":" "});e(c$,"isPurine",function(){return this.group.isPurine()});e(c$,"isPyrimidine",function(){return this.group.isPyrimidine()});e(c$,"getResno",function(){return this.group.getResno()});b(c$,"isClickable",function(){return this.checkVisible()&&0!=this.clickabilityFlags&&0!=((this.shapeVisibilityFlags|this.group.shapeVisibilityFlags)&this.clickabilityFlags)});b(c$,"setClickable",function(a){0==a?this.clickabilityFlags=0:(this.clickabilityFlags|=a,1040384!=a&&(this.shapeVisibilityFlags|=a))},
"~N");b(c$,"checkVisible",function(){if(this.isVisible(2))return this.isVisible(4);var a=this.isVisible(9);if(a){a=this.shapeVisibilityFlags;if(0!=this.group.shapeVisibilityFlags&&(8192!=this.group.shapeVisibilityFlags||this.isLeadAtom()))a|=this.group.shapeVisibilityFlags;a&=-10;32==a&&0==this.clickabilityFlags&&(a=0);if(a=0!=a)this.shapeVisibilityFlags|=4}this.shapeVisibilityFlags|=2;return a});e(c$,"isLeadAtom",function(){return this.group.isLeadAtom(this.i)});e(c$,"getChainID",function(){return this.group.chain.chainID});
e(c$,"getChainIDStr",function(){return this.group.chain.getIDStr()});b(c$,"getSurfaceDistance100",function(){return this.group.chain.model.ms.getSurfaceDistance100(this.i)});b(c$,"getVibrationVector",function(){return this.group.chain.model.ms.getVibration(this.i,!1)});b(c$,"getModulation",function(){return this.group.chain.model.ms.getModulation(this.i)});b(c$,"getModelNumberForLabel",function(){return this.group.chain.model.ms.getModelNumberForAtomLabel(this.mi)});b(c$,"getModelNumber",function(){return this.group.chain.model.ms.getModelNumber(this.mi)%
1E6});e(c$,"getBioStructureTypeName",function(){return this.group.getProteinStructureType().getBioStructureTypeName(!0)});e(c$,"equals",function(a){return this===a},"~O");e(c$,"hashCode",function(){return this.i});b(c$,"findAromaticNeighbor",function(a){if(null==this.bonds)return null;for(var c=this.bonds.length;0<=--c;){var d=this.bonds[c],b=d.getOtherAtom(this);if(d.isAromatic()&&b.i!=a)return b}return null},"~N");b(c$,"atomPropertyInt",function(a){switch(a){case 1094715393:return this.getAtomNumber();
case 1094713365:return this.getSeqID();case 1094713346:return this.atomID;case 1094713368:return Math.max(0,this.altloc.charCodeAt(0)-32);case 1094713347:return this.i;case 1228931587:return this.getCovalentBondCount();case 1094713351:return this.group.chain.chainNo;case 1765808134:return this.group.chain.model.ms.vwr.gdata.getColorArgbOrGray(this.colixAtom);case 1086326789:case 1094715402:return this.getElementNumber();case 1094713353:return this.atomicAndIsotopeNumber;case 1228935687:return this.group.chain.model.fileIndex+
1;case 1631586315:return this.getFormalCharge();case 1094713356:return this.group.groupID;case 1094713357:return this.group.groupIndex;case 1094717454:return this.getModelNumber();case -1094717454:return this.group.chain.model.ms.modelFileNumbers[this.mi];case 1094713359:return this.mi;case 1094713360:return this.getMoleculeNumber(!0);case 1094713361:return this.group.getMonomerIndex()+1;case 1128269825:return this.getOccupancy100();case 1094713362:return this.group.getBioPolymerIndexInModel()+1;
case 1094713363:return this.group.getBioPolymerLength();case 1665140738:return this.getRasMolRadius();case 1094715412:return this.getResno();case 1094713366:return this.getAtomSite();case 1639976963:return this.group.getProteinStructureType().getId();case 1237320707:return this.group.getProteinStructureSubType().getId();case 1094713367:return this.group.getStrucNo();case 1296041474:return this.getSymOp();case 1094715417:return this.getValence()}return 0},"~N");b(c$,"getSymOp",function(){return null==
this.atomSymmetry?0:this.atomSymmetry.nextSetBit(0)+1});b(c$,"atomPropertyFloat",function(a,c,d){switch(c){case 1111490561:return this.getADPMinMax(!0);case 1111490562:return this.getADPMinMax(!1);case 1111492609:case 1111492629:return this.x;case 1111492610:case 1111492630:return this.y;case 1111492611:case 1111492631:return this.z;case 1114249217:case 1112152066:case 1112150019:case 1112150020:case 1112150021:case 1112152070:case 1112152071:case 1112152073:case 1112152074:case 1112152076:case 1649022989:case 1112152078:return a.shm.getAtomShapeValue(c,
this.group,this.i);case 1111492618:return this.getBondingRadius();case 1111490563:return a.getNMRCalculation().getChemicalShift(this);case 1111490564:return JU.Elements.getCovalentRadius(this.atomicAndIsotopeNumber);case 1111490565:case 1111490576:case 1111490574:return this.group.getGroupParameter(c);case 1111492612:return this.getFractionalCoord(!a.g.legacyJavaFloat,"X",!0,d);case 1111492613:return this.getFractionalCoord(!a.g.legacyJavaFloat,"Y",!0,d);case 1111492614:return this.getFractionalCoord(!a.g.legacyJavaFloat,
"Z",!0,d);case 1111492615:return this.getFractionalCoord(!a.g.legacyJavaFloat,"X",!1,d);case 1111492616:return this.getFractionalCoord(!a.g.legacyJavaFloat,"Y",!1,d);case 1111492617:return this.getFractionalCoord(!a.g.legacyJavaFloat,"Z",!1,d);case 1113589786:return this.getHydrophobicity();case 1111490566:return a.getNMRCalculation().getMagneticShielding(this);case 1111490567:return this.getMass();case 1128269825:return this.getOccupancy100()/100;case 1111492619:return this.getPartialCharge();case 1111490569:case 1111490570:case 1111490568:if(this.group.chain.model.isJmolDataFrame&&
this.group.chain.model.jmolFrameType.startsWith("plot ramachandran"))switch(c){case 1111490569:return this.getFractionalCoord(!a.g.legacyJavaFloat,"X",!1,d);case 1111490570:return this.getFractionalCoord(!a.g.legacyJavaFloat,"Y",!1,d);case 1111490568:if(this.group.chain.model.isJmolDataFrame&&this.group.chain.model.jmolFrameType.equals("plot ramachandran"))return a=this.getFractionalCoord(!a.g.legacyJavaFloat,"Z",!1,d)-180,-180>a?360+a:a}return this.group.getGroupParameter(c);case 1665140738:case 1112152075:return this.getRadius();
case 1111490571:return a.antialiased?v(this.sX/2):this.sX;case 1111490572:return a.getScreenHeight()-(a.antialiased?v(this.sY/2):this.sY);case 1111490573:return a.antialiased?v(this.sZ/2):this.sZ;case 1113589787:return a.slm.isAtomSelected(this.i)?1:0;case 1111490575:return a.ms.getSurfaceDistanceMax(),this.getSurfaceDistance100()/100;case 1111492620:return this.getBfactor100()/100;case 1111490577:return this.getFractionalUnitCoord(!a.g.legacyJavaFloat,"X",d);case 1111490578:return this.getFractionalUnitCoord(!a.g.legacyJavaFloat,
"Y",d);case 1111490579:return this.getFractionalUnitCoord(!a.g.legacyJavaFloat,"Z",d);case 1648363544:return this.getVanderwaalsRadiusFloat(a,J.c.VDW.AUTO);case 1648361473:return c=this.getVibrationVector(),null==c?0:c.length()*a.getFloat(1648361473);case 1111492626:return this.getVib("x");case 1111492627:return this.getVib("y");case 1111492628:return this.getVib("z");case 1111490583:return this.getVib("X");case 1111490584:return this.getVib("Y");case 1111490585:return this.getVib("Z");case 1111490586:return this.getVib("O");
case 1111490580:return this.getVib("1");case 1111490581:return this.getVib("2");case 1111490582:return this.getVib("3");case 1312817669:return this.getVolume(a,J.c.VDW.AUTO);case 1145047051:case 1145047053:case 1145045006:case 1145047052:case 1145047055:case 1145045008:case 1145047050:return a=this.atomPropertyTuple(a,c,d),null==a?-1:a.length()}return this.atomPropertyInt(c)},"JV.Viewer,~N,JU.P3");b(c$,"getVib",function(a){return this.group.chain.model.ms.getVibCoord(this.i,a)},"~S");b(c$,"getMass",
function(){var a=this.getIsotopeNumber();return 0<a?a:JU.Elements.getAtomicMass(this.getElementNumber())});b(c$,"atomPropertyString",function(a,c){var d;switch(c){case 1086324739:return d=this.altloc,"\x00"==d?"":""+d;case 1086326786:return this.getAtomName();case 1086326785:return this.getAtomType();case 1086324740:return this.getChainIDStr();case 1086324744:return this.getGroup1("?");case 1086324747:return d=this.group.getSeqcodeString(),null==d?"":d;case 1086324743:return this.getGroup1("\x00");
case 1086324742:return this.getGroup3(!1);case 1086326789:return this.getElementSymbolIso(!0);case 1086324745:return this.getIdentity(!0);case 1086324746:return d=this.group.getInsertionCode(),"\x00"==d?"":""+d;case 1825200146:case 1287653388:return d=a.shm.getShapePropertyIndex(5,"label",this.i),null==d&&(d=""),d;case 1639976963:return this.group.getProteinStructureType().getBioStructureTypeName(!1);case 1237320707:return this.group.getProteinStructureSubType().getBioStructureTypeName(!1);case 1086324749:return this.group.getStructureId();
case 1086324748:return a.getHybridizationAndAxes(this.i,null,null,"d");case 1086326798:return this.getElementSymbolIso(!1);case 1088421903:return this.getSymmetryOperatorList(!0)}return""},"JV.Viewer,~N");b(c$,"atomPropertyTuple",function(a,c,d){switch(c){case 1073742329:return JU.P3.newP(this);case 1145047051:return this.getFractionalCoordPt(!a.g.legacyJavaFloat,!this.group.chain.model.isJmolDataFrame,d);case 1145047053:return this.getFractionalCoordPt(!a.g.legacyJavaFloat,!1,d);case 1145045006:return this.group.chain.model.isJmolDataFrame?
this.getFractionalCoordPt(!a.g.legacyJavaFloat,!1,d):this.getFractionalUnitCoordPt(!a.g.legacyJavaFloat,!1,d);case 1145047052:return JU.P3.new3(this.sX,this.group.chain.model.ms.vwr.getScreenHeight()-this.sY,this.sZ);case 1145047055:return this.getVibrationVector();case 1145045008:return a=this.getModulation(),null==a?null:a.getV3();case 1145047050:return this;case 1765808134:return JU.CU.colorPtFromInt(this.group.chain.model.ms.vwr.gdata.getColorArgbOrGray(this.colixAtom),d)}return null},"JV.Viewer,~N,JU.P3");
e(c$,"getOffsetResidueAtom",function(a,c){return this.group.getAtomIndex(a,c)},"~S,~N");e(c$,"isCrossLinked",function(a){return this.group.isCrossLinked(a.group)},"JU.BNode");e(c$,"getCrossLinkVector",function(a,c,d){return this.group.getCrossLinkVector(a,c,d)},"JU.Lst,~B,~B");e(c$,"toString",function(){return this.getInfo()});e(c$,"findAtomsLike",function(a){return this.group.chain.model.ms.vwr.getAtomBitSet(a)},"~S");b(c$,"getUnitID",function(a){var c=this.group.getModel();return c.isBioModel?c.getUnitID(this,
a):""},"~N");D(c$,"ATOM_INFRAME",1,"ATOM_VISSET",2,"ATOM_VISIBLE",4,"ATOM_NOTHIDDEN",8,"ATOM_NOFLAGS",-64,"ATOM_INFRAME_NOTHIDDEN",9,"ATOM_SHAPE_VIS_MASK",-10,"VIBRATION_VECTOR_FLAG",1,"IS_HETERO_FLAG",2,"FLAG_MASK",3,"RADIUS_MAX",16,"RADIUS_GLOBAL",16.1,"MAD_GLOBAL",32200)});l("JM");u(["JU.V3"],"JM.AtomCollection","java.lang.Float java.util.Arrays $.Hashtable JU.A4 $.AU $.BS $.Lst $.M3 $.Measure $.P3 $.PT J.api.Interface $.JmolModulationSet J.atomdata.RadiusData J.c.PAL $.VDW JM.Group JS.T JU.BSUtil $.Elements $.Escape $.Logger $.Parser $.Vibration".split(" "),
function(){c$=r(function(){this.bioModelset=this.g3d=this.vwr=null;this.haveBioModels=!1;this.at=null;this.ac=0;this.labeler=this.surfaceDistance100s=this.atomTensors=this.atomTensorList=this.hydrophobicities=this.bondingRadii=this.partialCharges=this.bfactor100s=this.occupancies=this.vibrations=this.atomSeqIDs=this.atomResnos=this.atomSerials=this.atomTypes=this.atomNames=this.trajectory=null;this.maxVanderwaalsRadius=this.maxBondingRadius=1.4E-45;this.hasBfactorRange=!1;this.bfactor100Hi=this.bfactor100Lo=
0;this.bsSurface=null;this.surfaceDistanceMax=this.nSurfaceAtoms=0;this.bspf=this.averageAtomPoint=null;this.canSkipLoad=this.preserveState=!0;this.haveStraightness=!1;this.bsModulated=this.bsClickable=this.bsVisible=this.bsHidden=this.tainted=null;this.haveBSClickable=this.haveBSVisible=!1;this.aaRet=null;N("JM.AtomCollection.AtomSorter")||JM.AtomCollection.$AtomCollection$AtomSorter$();q(this,arguments)},JM,"AtomCollection");b(c$,"setupAC",function(){this.bsHidden=new JU.BS;this.bsVisible=new JU.BS;
this.bsClickable=new JU.BS;null==JM.AtomCollection.userSettableValues&&(JM.AtomCollection.userSettableValues="atomName atomType coord element formalCharge hydrophobicity ionic occupancy partialCharge temperature valence vanderWaals vibrationVector atomNo seqID resNo".$plit(" "))});b(c$,"releaseModelSet",function(){this.releaseModelSetAC()});b(c$,"releaseModelSetAC",function(){this.atomTensors=this.bondingRadii=this.partialCharges=this.bfactor100s=this.occupancies=this.vibrations=this.atomSeqIDs=this.atomSerials=
this.atomResnos=this.atomTypes=this.atomNames=this.tainted=this.bsSurface=this.surfaceDistance100s=this.bspf=this.g3d=this.vwr=this.at=null});b(c$,"mergeAtomArrays",function(a){this.tainted=a.tainted;this.atomNames=a.atomNames;this.atomTypes=a.atomTypes;this.atomResnos=a.atomResnos;this.atomSerials=a.atomSerials;this.atomSeqIDs=a.atomSeqIDs;this.vibrations=a.vibrations;this.occupancies=a.occupancies;this.bfactor100s=a.bfactor100s;this.bondingRadii=a.bondingRadii;this.partialCharges=a.partialCharges;
this.atomTensors=a.atomTensors;this.atomTensorList=a.atomTensorList;this.bsModulated=a.bsModulated;this.haveStraightness=!1;this.surfaceDistance100s=null},"JM.AtomCollection");b(c$,"getAtomPointVector",function(a){var c=new JU.Lst;if(null!=a)for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))c.addLast(this.at[d]);return c},"JU.BS");b(c$,"modelSetHasVibrationVectors",function(){return null!=this.vibrations});b(c$,"getAtomTypes",function(){return this.atomTypes});b(c$,"getPartialCharges",function(){return this.partialCharges});
b(c$,"getBondingRadii",function(){return this.bondingRadii});b(c$,"getBFactors",function(){return this.bfactor100s});b(c$,"getHydrophobicity",function(){return this.hydrophobicities});b(c$,"setBsHidden",function(a){this.bsHidden=a},"JU.BS");b(c$,"isAtomHidden",function(a){return this.bsHidden.get(a)},"~N");b(c$,"getLabeler",function(){return null==this.labeler?this.labeler=J.api.Interface.getInterface("JM.LabelToken",this.vwr,"ms"):this.labeler});b(c$,"getAtomInfo",function(a,c,d){return null==c?
this.at[a].getInfo():this.getLabeler().formatLabel(this.vwr,this.at[a],c,d)},"~N,~S,JU.P3");b(c$,"getElementName",function(a){return JU.Elements.elementNameFromNumber(this.at[a].getAtomicAndIsotopeNumber())},"~N");b(c$,"getQuaternion",function(a,c){return 0>a?null:this.at[a].group.getQuaternion(c)},"~N,~S");b(c$,"getFirstAtomIndexFromAtomNumber",function(a,c){for(var d=0;d<this.ac;d++){var b=this.at[d];if(b.getAtomNumber()==a&&c.get(b.mi))return d}return-1},"~N,JU.BS");b(c$,"setFormalCharges",function(a,
c){if(null!=a)for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))this.at[d].setFormalCharge(c),this.taintAtom(d,4)},"JU.BS,~N");b(c$,"getAtomicCharges",function(){for(var a=G(this.ac,0),c=this.ac;0<=--c;)a[c]=this.at[c].getElementNumber();return a});b(c$,"getRadiusVdwJmol",function(a){return JU.Elements.getVanderwaalsMar(a.getElementNumber(),J.c.VDW.JMOL)/1E3},"JM.Atom");b(c$,"getMaxVanderwaalsRadius",function(){1.4E-45==this.maxVanderwaalsRadius&&this.findMaxRadii();return this.maxVanderwaalsRadius});
b(c$,"findMaxRadii",function(){for(var a,c=this.ac;0<=--c;){var d=this.at[c];if((a=d.getBondingRadius())>this.maxBondingRadius)this.maxBondingRadius=a;if((a=d.getVanderwaalsRadiusFloat(this.vwr,J.c.VDW.AUTO))>this.maxVanderwaalsRadius)this.maxVanderwaalsRadius=a}});b(c$,"clearBfactorRange",function(){this.hasBfactorRange=!1});b(c$,"calcBfactorRange",function(a){if(!this.hasBfactorRange){this.bfactor100Lo=2147483647;this.bfactor100Hi=-2147483648;if(null==a)for(var c=0;c<this.ac;c++)this.setBf(c);else for(c=
a.nextSetBit(0);0<=c;c=a.nextSetBit(c+1))this.setBf(c);this.hasBfactorRange=!0}},"JU.BS");b(c$,"setBf",function(a){a=this.at[a].getBfactor100();a<this.bfactor100Lo?this.bfactor100Lo=a:a>this.bfactor100Hi&&(this.bfactor100Hi=a)},"~N");b(c$,"getBfactor100Lo",function(){this.hasBfactorRange||(this.vwr.g.rangeSelected?this.calcBfactorRange(this.vwr.bsA()):this.calcBfactorRange(null));return this.bfactor100Lo});b(c$,"getBfactor100Hi",function(){this.getBfactor100Lo();return this.bfactor100Hi});b(c$,"getSurfaceDistanceMax",
function(){null==this.surfaceDistance100s&&this.calcSurfaceDistances();return this.surfaceDistanceMax});b(c$,"calculateVolume",function(a,c){var d=0;if(null!=a)for(var b=a.nextSetBit(0);0<=b;b=a.nextSetBit(b+1))d+=this.at[b].getVolume(this.vwr,c);return d},"JU.BS,J.c.VDW");b(c$,"getSurfaceDistance100",function(a){if(0==this.nSurfaceAtoms)return-1;null==this.surfaceDistance100s&&this.calcSurfaceDistances();return this.surfaceDistance100s[a]},"~N");b(c$,"calcSurfaceDistances",function(){this.calculateSurface(null,
-1)});b(c$,"calculateSurface",function(a,c){0>c&&(c=3);var d=J.api.Interface.getOption("geodesic.EnvelopeCalculation",this.vwr,"ms").set(this.vwr,this.ac,null);d.calculate(new J.atomdata.RadiusData(null,c,J.atomdata.RadiusData.EnumType.ABSOLUTE,null),3.4028235E38,a,JU.BSUtil.copyInvert(a,this.ac),!1,!1,!1,!0);var b=d.getPoints();this.surfaceDistanceMax=0;this.bsSurface=d.getBsSurfaceClone();this.surfaceDistance100s=y(this.ac,0);this.nSurfaceAtoms=JU.BSUtil.cardinalityOf(this.bsSurface);if(0==this.nSurfaceAtoms||
null==b||0==b.length)return b;for(var d=3.4028235E38==c?0:c,f=0;f<this.ac;f++)if(this.bsSurface.get(f))this.surfaceDistance100s[f]=0;else{for(var g=3.4028235E38,h=this.at[f],e=b.length;0<=--e;){var m=Math.abs(b[e].distance(h)-d);0>m&&JU.Logger.debugging&&JU.Logger.debug("draw d"+e+" "+JU.Escape.eP(b[e])+' "'+m+" ? "+h.getInfo()+'"');g=Math.min(m,g)}m=this.surfaceDistance100s[f]=v(Math.floor(100*g));this.surfaceDistanceMax=Math.max(this.surfaceDistanceMax,m)}return b},"JU.BS,~N");b(c$,"setAtomCoord2",
function(a,c,d){var b=null,f=null,g=null,h=0,e=1;if(p(d,JU.P3))b=d;else if(p(d,JU.Lst)){g=d;if(0==(e=g.size()))return;h=1}else if(JU.AU.isAP(d)){f=d;if(0==(e=f.length))return;h=2}else return;d=0;if(null!=a)for(var m=a.nextSetBit(0);0<=m;m=a.nextSetBit(m+1)){switch(h){case 1:if(d>=e)return;b=g.get(d++);break;case 2:if(d>=e)return;b=f[d++]}if(null!=b)switch(c){case 1145047050:this.setAtomCoord(m,b.x,b.y,b.z);break;case 1145047051:this.at[m].setFractionalCoordTo(b,!0);this.taintAtom(m,2);break;case 1145047053:this.at[m].setFractionalCoordTo(b,
!1);this.taintAtom(m,2);break;case 1145047055:this.setAtomVibrationVector(m,b)}}},"JU.BS,~N,~O");b(c$,"setAtomVibrationVector",function(a,c){this.setVibrationVector(a,c);this.taintAtom(a,12)},"~N,JU.T3");b(c$,"setAtomCoord",function(a,c,d,b){if(!(0>a||a>=this.ac)){var f=this.at[a];f.set(c,d,b);this.fixTrajectory(f);this.taintAtom(a,2)}},"~N,~N,~N,~N");b(c$,"fixTrajectory",function(a){this.isTrajectory(a.mi)&&this.trajectory.fixAtom(a)},"JM.Atom");b(c$,"setAtomCoordRelative",function(a,c,d,b){if(!(0>
a||a>=this.ac)){var f=this.at[a];f.add3(c,d,b);this.fixTrajectory(f);this.taintAtom(a,2)}},"~N,~N,~N,~N");b(c$,"setAtomsCoordRelative",function(a,c,d,b){if(null!=a)for(var f=a.nextSetBit(0);0<=f;f=a.nextSetBit(f+1))this.setAtomCoordRelative(f,c,d,b)},"JU.BS,~N,~N,~N");b(c$,"setAPa",function(a,c,d,b,f,g,h){var e=0;if(!(null!=g&&0==g.length||null==a)){for(var m=null!=g&&g.length==this.ac||null!=h&&h.length==this.ac,n=a.nextSetBit(0);0<=n;n=a.nextSetBit(n+1)){m&&(e=n);if(null!=g){if(e>=g.length)return;
b=g[e++];if(Float.isNaN(b))continue;d=A(b)}else if(null!=h){if(e>=h.length)return;f=h[e++]}var s=this.at[n];switch(c){case 1086326786:this.taintAtom(n,0);this.setAtomName(n,f);break;case 1094715393:this.taintAtom(n,13);this.setAtomNumber(n,d);break;case 1094713365:this.taintAtom(n,14);this.setAtomSeqID(n,d);break;case 1086326785:this.taintAtom(n,1);this.setAtomType(n,f);break;case 1111492609:case 1111492629:this.setAtomCoord(n,b,s.y,s.z);break;case 1111492610:case 1111492630:this.setAtomCoord(n,s.x,
b,s.z);break;case 1111492611:case 1111492631:this.setAtomCoord(n,s.x,s.y,b);break;case 1111492626:case 1111492627:case 1111492628:this.setVibrationVector2(n,c,b);break;case 1111492612:case 1111492613:case 1111492614:s.setFractionalCoord(c,b,!0);this.taintAtom(n,2);break;case 1111492615:case 1111492616:case 1111492617:s.setFractionalCoord(c,b,!1);this.taintAtom(n,2);break;case 1094715402:case 1086326789:this.setElement(s,d);break;case 1631586315:s.setFormalCharge(d);this.taintAtom(n,4);break;case 1113589786:this.setHydrophobicity(n,
b)&&this.taintAtom(n,5);break;case 1825200146:case 1287653388:this.vwr.shm.setAtomLabel(f,n);break;case 1128269825:2>b&&0.01<b&&(b*=100);this.setOccupancy(n,b)&&this.taintAtom(n,7);break;case 1111492619:this.setPartialCharge(n,b)&&this.taintAtom(n,8);break;case 1111492618:this.setBondingRadius(n,b)&&this.taintAtom(n,6);break;case 1665140738:case 1112152075:0>b?b=0:16<b&&(b=16.1);s.madAtom=aa(2E3*b);break;case 1113589787:this.vwr.slm.setSelectedAtom(s.i,0!=b);break;case 1111492620:this.setBFactor(n,
b)&&this.taintAtom(n,9);break;case 1094715412:this.setAtomResno(n,d);this.taintAtom(n,15);break;case 1094715417:s.setValence(d);this.taintAtom(n,10);break;case 1648363544:s.setRadius(b)?this.taintAtom(n,11):this.untaint(n,11);break;default:JU.Logger.error("unsettable atom property: "+JS.T.nameOf(c));return}}switch(c){case 1113589787:this.vwr.slm.setSelectedAtom(-1,!1);break;case 1665140738:case 1112152075:this.vwr.setShapeSize(0,2147483647,a)}}},"JU.BS,~N,~N,~N,~S,~A,~A");b(c$,"setElement",function(a,
c){this.taintAtom(a.i,3);a.setAtomicAndIsotopeNumber(c);a.paletteID=J.c.PAL.CPK.id;a.colixAtom=this.vwr.cm.getColixAtomPalette(a,J.c.PAL.CPK.id)},"JM.Atom,~N");b(c$,"getVibCoord",function(a,c){var d=null,b=null;switch(c){case "x":case "y":case "z":b=this.getVibration(a,!1);break;default:d=this.getModulation(a),null!=d&&(b=d.getVibration(!1),null==b&&(b=d))}if(null==b&&null==d)return NaN;switch(c){case "x":case "X":return b.x;case "y":case "Y":return b.y;case "z":case "Z":return b.z;case "O":return d.getModulation("O",
null).floatValue();case "1":case "2":case "3":return d=d.getModulation("T",null),d="1"==c?d.x:"2"==c?d.y:d.z,d-Math.floor(d);default:return NaN}},"~N,~S");b(c$,"getVibration",function(a,c){var d=null==this.vibrations?null:this.vibrations[a];return p(d,J.api.JmolModulationSet)?d.getVibration(c):null==d&&c?new JU.Vibration:d},"~N,~B");b(c$,"getModulation",function(a){a=null==this.vibrations?null:this.vibrations[a];return null!=a&&0<a.modDim?a:null},"~N");b(c$,"setVibrationVector",function(a,c){if(!Float.isNaN(c.x)&&
!Float.isNaN(c.y)&&!Float.isNaN(c.z)){if(null==this.vibrations||this.vibrations.length<a)this.vibrations=Array(this.at.length);p(c,JU.Vibration)?this.vibrations[a]=c:(null==this.vibrations[a]&&(this.vibrations[a]=new JU.Vibration),this.vibrations[a].setXYZ(c));this.at[a].setVibrationVector()}},"~N,JU.T3");b(c$,"setVibrationVector2",function(a,c,d){var b=this.getVibration(a,!0);if(null!=b){switch(c){case 1111492626:b.x=d;break;case 1111492627:b.y=d;break;case 1111492628:b.z=d}this.setAtomVibrationVector(a,
b)}},"~N,~N,~N");b(c$,"setAtomName",function(a,c){var d=this.am[this.at[a].mi].isBioModel?this.vwr.getJBR().lookupSpecialAtomID(c):0;this.at[a].atomID=d;0<d||(null==this.atomNames&&(this.atomNames=Array(this.at.length)),this.atomNames[a]=c)},"~N,~S");b(c$,"setAtomType",function(a,c){null==this.atomTypes&&(this.atomTypes=Array(this.at.length));this.atomTypes[a]=c},"~N,~S");b(c$,"setAtomNumber",function(a,c){null==this.atomSerials&&(this.atomSerials=y(this.at.length,0));this.atomSerials[a]=c;return!0},
"~N,~N");b(c$,"setAtomResno",function(a,c){null==this.atomResnos&&(this.atomResnos=y(this.at.length,0));this.atomResnos[a]=c;this.at[a].group.setResno(c);return!0},"~N,~N");b(c$,"setAtomSeqID",function(a,c){null==this.atomSeqIDs&&(this.atomSeqIDs=y(this.at.length,0));this.atomSeqIDs[a]=c;return!0},"~N,~N");b(c$,"setOccupancy",function(a,c){if(null==this.occupancies){if(100==c)return!1;this.occupancies=G(this.at.length,0);for(var d=this.at.length;0<=--d;)this.occupancies[d]=100}this.occupancies[a]=
c;return!0},"~N,~N");b(c$,"setPartialCharge",function(a,c){if(Float.isNaN(c))return!1;if(null==this.partialCharges){if(0==c)return!1;this.partialCharges=G(this.at.length,0)}this.partialCharges[a]=c;return!0},"~N,~N");b(c$,"setBondingRadius",function(a,c){if(Float.isNaN(c))return!1;null==this.bondingRadii&&(this.bondingRadii=G(this.at.length,0));this.bondingRadii[a]=c;return!0},"~N,~N");b(c$,"setBFactor",function(a,c){if(Float.isNaN(c))return!1;if(null==this.bfactor100s){if(0==c&&null==this.bfactor100s)return!1;
this.bfactor100s=Q(this.at.length,0)}this.bfactor100s[a]=qa(100*(-327.68>c?-327.68:327.67<c?327.67:c)+(0>c?-0.5:0.5));return!0},"~N,~N");b(c$,"setHydrophobicity",function(a,c){if(Float.isNaN(c))return!1;if(null==this.hydrophobicities){this.hydrophobicities=G(this.at.length,0);for(var d=0;d<this.at.length;d++)this.hydrophobicities[d]=JU.Elements.getHydrophobicity(this.at[d].group.groupID)}this.hydrophobicities[a]=c;return!0},"~N,~N");b(c$,"setAtomData",function(a,c,d,b){var f=null,g=null;switch(a){case 2:this.loadCoordinates(d,
!1,!b);return;case 12:this.loadCoordinates(d,!0,!0);return;case 16:f=G(this.ac,0),g=JU.BS.newN(this.ac)}b=JU.Parser.markLines(d,";");var h=0;try{for(var e=JU.PT.parseInt(d.substring(0,b[0]-1)),m=1;m<=e;m++){var n=JU.PT.getTokens(JU.PT.parseTrimmed(d.substring(b[m],b[m+1]-1))),s=JU.PT.parseInt(n[0])-1;if(!(0>s||s>=this.ac)){var w=this.at[s];h++;var l=n.length-1,z=JU.PT.parseFloat(n[l]);switch(a){case 16:f[s]=z;g.set(s);continue;case 13:this.setAtomNumber(s,A(z));break;case 15:this.setAtomResno(s,A(z));
break;case 14:this.setAtomSeqID(s,A(z));break;case 0:this.setAtomName(s,n[l]);break;case 1:this.setAtomType(s,n[l]);break;case 3:w.setAtomicAndIsotopeNumber(A(z));w.paletteID=J.c.PAL.CPK.id;w.colixAtom=this.vwr.cm.getColixAtomPalette(w,J.c.PAL.CPK.id);break;case 4:w.setFormalCharge(A(z));break;case 5:this.setHydrophobicity(s,z);break;case 6:this.setBondingRadius(s,z);break;case 8:this.setPartialCharge(s,z);break;case 9:this.setBFactor(s,z);break;case 10:w.setValence(A(z));break;case 11:w.setRadius(z)}this.taintAtom(s,
a)}}16==a&&0<h&&this.vwr.setData(c,x(-1,[c,f,g,Integer.$valueOf(1)]),0,0,0,0,0)}catch(p){if(C(p,Exception))JU.Logger.error("AtomCollection.loadData error: "+p);else throw p;}},"~N,~S,~S,~B");b(c$,"loadCoordinates",function(a,c,d){var b=JU.Parser.markLines(a,";"),f=c?new JU.V3:null;try{for(var g=JU.PT.parseInt(a.substring(0,b[0]-1)),h=1;h<=g;h++){var e=JU.PT.getTokens(JU.PT.parseTrimmed(a.substring(b[h],b[h+1]))),m=JU.PT.parseInt(e[0])-1,n=JU.PT.parseFloat(e[3]),s=JU.PT.parseFloat(e[4]),w=JU.PT.parseFloat(e[5]);
c?(f.set(n,s,w),this.setAtomVibrationVector(m,f)):(this.setAtomCoord(m,n,s,w),d||this.untaint(m,2))}}catch(l){if(C(l,Exception))JU.Logger.error("Frame.loadCoordinate error: "+l);else throw l;}},"~S,~B,~B");b(c$,"validateBspf",function(a){null!=this.bspf&&(this.bspf.isValid=a);this.averageAtomPoint=null},"~B");b(c$,"validateBspfForModel",function(a,c){null!=this.bspf&&this.bspf.validateModel(a,c)},"~N,~B");b(c$,"setPreserveState",function(a){this.preserveState=a},"~B");c$.getUserSettableType=b(c$,
"getUserSettableType",function(a){var c=0==a.indexOf("property_");a=c?a.substring(9):a;for(var d=0;16>d;d++)if(JM.AtomCollection.userSettableValues[d].equalsIgnoreCase(a))return d;return c?16:-1},"~S");b(c$,"getTaintedAtoms",function(a){return null==this.tainted?null:this.tainted[a]},"~N");b(c$,"taintAtoms",function(a,c){this.canSkipLoad=!1;if(this.preserveState)for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))this.taintAtom(d,c)},"JU.BS,~N");b(c$,"taintAtom",function(a,c){this.preserveState&&(null==
this.tainted&&(this.tainted=Array(16)),null==this.tainted[c]&&(this.tainted[c]=JU.BS.newN(this.ac)),this.tainted[c].set(a),2==c&&this.validateBspfForModel(this.am[this.at[a].mi].trajectoryBaseIndex,!1))},"~N,~N");b(c$,"untaint",function(a,c){this.preserveState&&(null==this.tainted||null==this.tainted[c]||this.tainted[c].clear(a))},"~N,~N");b(c$,"setTaintedAtoms",function(a,c){this.preserveState&&(null==a?null!=this.tainted&&(this.tainted[c]=null):(null==this.tainted&&(this.tainted=Array(16)),null==
this.tainted[c]&&(this.tainted[c]=JU.BS.newN(this.ac)),JU.BSUtil.copy2(a,this.tainted[c])))},"JU.BS,~N");b(c$,"unTaintAtoms",function(a,c){if(!(null==this.tainted||null==this.tainted[c])){for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))this.tainted[c].clear(d);0>this.tainted[c].nextSetBit(0)&&(this.tainted[c]=null)}},"JU.BS,~N");b(c$,"findNearest2",function(a,c,d,b,f){for(var g=null,h=this.ac;0<=--h;)if(!(null!=b&&b.get(h))){var e=this.at[h];e.isClickable()&&this.isCursorOnTopOf(e,a,c,f,g)&&(g=
e)}d[0]=g},"~N,~N,~A,JU.BS,~N");b(c$,"isCursorOnTopOf",function(a,c,d,b,f){return 1<a.sZ&&!this.g3d.isClippedZ(a.sZ)&&this.g3d.isInDisplayRange(a.sX,a.sY)&&a.isCursorOnTopOf(c,d,b,f)},"JM.Atom,~N,~N,~N,JM.Atom");b(c$,"fillADa",function(a,c){a.atomXyz=this.at;a.ac=this.ac;a.atomicNumber=y(this.ac,0);var d=0!=(c&2);d&&(a.atomRadius=G(this.ac,0));for(var b=0!=(c&16),f=0;f<this.ac;f++){var g=this.at[f];g.isDeleted()||!b&&0<=a.modelIndex&&g.mi!=a.firstModelIndex?(null==a.bsIgnored&&(a.bsIgnored=new JU.BS),
a.bsIgnored.set(f)):(a.atomicNumber[f]=g.getElementNumber(),a.lastModelIndex=g.mi,d&&(a.atomRadius[f]=this.getWorkingRadius(g,a)))}},"J.atomdata.AtomData,~N");b(c$,"getWorkingRadius",function(a,c){var d=0,b=c.radiusData;switch(b.factorType){case J.atomdata.RadiusData.EnumType.ABSOLUTE:d=b.value;break;case J.atomdata.RadiusData.EnumType.FACTOR:case J.atomdata.RadiusData.EnumType.OFFSET:switch(b.vdwType){case J.c.VDW.BONDING:d=a.getBondingRadius();break;case J.c.VDW.ADPMAX:d=a.getADPMinMax(!0);break;
case J.c.VDW.ADPMIN:d=a.getADPMinMax(!1);break;default:d=a.getVanderwaalsRadiusFloat(this.vwr,c.radiusData.vdwType)}d=b.factorType===J.atomdata.RadiusData.EnumType.FACTOR?d*b.value:d+b.value}return d+b.valueExtended},"JM.Atom,J.atomdata.AtomData");b(c$,"calculateHydrogens",function(a,c,d,b,f){var g=new JU.V3,h=new JU.V3,e=Array(this.ac),m=this.vwr.slm.bsDeleted,n,s=0;if(null!=a)for(var w=a.nextSetBit(0);0<=w;w=a.nextSetBit(w+1))if(!(null!=m&&m.get(w))){var l=this.at[w],z=l.getElementNumber();if(!(b&&
6!=z)){var p=6>=z?1.1:10>=z?1:1.3;switch(z){case 7:case 8:p=1}if(!(d&&0<l.getCovalentHydrogenCount())&&(n=this.getImplicitHydrogenCount(l,!1),0!=n)){var q=this.aaRet[0],r=this.aaRet[2],t=this.aaRet[3];if(!(0==t&&l.isHetero())){e[w]=Array(n);var u=0;if(0==t)switch(n){case 4:g.set(0.635,0.635,0.635),n=JU.P3.newP(g),n.add(l),e[w][u++]=n,null!=f&&f.addLast(l);case 3:g.set(-0.635,-0.635,0.635),n=JU.P3.newP(g),n.add(l),e[w][u++]=n,null!=f&&f.addLast(l);case 2:g.set(-0.635,0.635,-0.635),n=JU.P3.newP(g),
n.add(l),e[w][u++]=n,null!=f&&f.addLast(l);case 1:g.set(0.635,-0.635,-0.635),n=JU.P3.newP(g),n.add(l),e[w][u++]=n,null!=f&&f.addLast(l)}else switch(n){case 3:this.getHybridizationAndAxes(w,z,g,h,"sp3b",!1,!0);n=new JU.P3;n.scaleAdd2(p,g,l);e[w][u++]=n;null!=f&&f.addLast(l);this.getHybridizationAndAxes(w,z,g,h,"sp3c",!1,!0);n=new JU.P3;n.scaleAdd2(p,g,l);e[w][u++]=n;null!=f&&f.addLast(l);this.getHybridizationAndAxes(w,z,g,h,"sp3d",!1,!0);n=new JU.P3;n.scaleAdd2(p,g,l);e[w][u++]=n;null!=f&&f.addLast(l);
break;case 2:r=2==r||5==z||1==t&&4==q||7==z&&this.isAdjacentSp2(l);this.getHybridizationAndAxes(w,z,g,h,r?"sp2b":3==q?"sp3c":"lpa",!1,!0);n=JU.P3.newP(g);n.scaleAdd2(p,g,l);e[w][u++]=n;null!=f&&f.addLast(l);this.getHybridizationAndAxes(w,z,g,h,r?"sp2c":3==q?"sp3d":"lpb",!1,!0);n=JU.P3.newP(g);n.scaleAdd2(p,g,l);e[w][u++]=n;null!=f&&f.addLast(l);break;case 1:switch(q-t){case 1:if(8==z&&l===l.group.getCarbonylOxygenAtom()){e[w]=null;continue}null!=this.getHybridizationAndAxes(w,z,g,h,2==r||5==z||7==
z&&(l.group.getNitrogenAtom()===l||this.isAdjacentSp2(l))?"sp2c":"sp3d",!0,!1)?(n=JU.P3.newP(g),n.scaleAdd2(p,g,l),e[w][u++]=n,null!=f&&f.addLast(l)):e[w]=[];break;case 2:this.getHybridizationAndAxes(w,z,g,h,4==q?"sp2c":"sp2b",!1,!1);n=JU.P3.newP(g);n.scaleAdd2(p,g,l);e[w][u++]=n;null!=f&&f.addLast(l);break;case 3:this.getHybridizationAndAxes(w,z,g,h,"spb",!1,!0),n=JU.P3.newP(g),n.scaleAdd2(p,g,l),e[w][u++]=n,null!=f&&f.addLast(l)}}s+=u}}}}c[0]=s;return e},"JU.BS,~A,~B,~B,JU.Lst");b(c$,"isAdjacentSp2",
function(a){for(var c=a.bonds,d=0;d<c.length;d++)for(var b=c[d].getOtherAtom(a).bonds,f=0;f<b.length;f++)switch(b[f].order){case 515:case 514:case 2:case 3:return!0}return!1},"JM.Atom");b(c$,"getImplicitHydrogenCount",function(a,c){var d=a.getTargetValence();if(0>d)return 0;var b=a.getFormalCharge();null==this.aaRet&&(this.aaRet=y(4,0));this.aaRet[0]=d;this.aaRet[1]=b;this.aaRet[2]=0;this.aaRet[3]=a.getCovalentBondCount();var f=this.am[a.mi],f=f.isBioModel&&!f.isPdbWithMultipleBonds?a.group.getGroup3():
null;null!=f&&0==b&&this.vwr.getJBR().getAminoAcidValenceAndCharge(f,a.getAtomName(),this.aaRet)&&(d=this.aaRet[0],b=this.aaRet[1]);0!=b&&(d+=4==d?-Math.abs(b):b,this.aaRet[0]=d);d-=a.getValence();return 0>d&&!c?0:d},"JM.Atom,~B");b(c$,"fixFormalCharges",function(a){for(var c=0,d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1)){var b=this.at[d],f=this.getImplicitHydrogenCount(b,!0);if(0!=f){var g=b.getFormalCharge(),f=g-f;b.setFormalCharge(f);this.taintAtom(d,4);JU.Logger.debugging&&JU.Logger.debug("atom "+
b+" formal charge "+g+" -> "+f);c++}}return c},"JU.BS");b(c$,"getHybridizationAndAxes",function(a,c,d,b,f,g,h){var e=0<f.length&&"-"==f.charAt(0)?f.substring(1):f;if(0<=f.indexOf("d")&&!f.endsWith("sp3d"))return this.getHybridizationAndAxesD(a,d,b,e);f=this.at[a];0==c&&(c=f.getElementNumber());var m=this.getAttached(f,4,g),n=m.length,s=e.charCodeAt(e.length-1)-97;if(0>s||6<s)s=0;d.set(0,0,0);b.set(0,0,0);for(var w=Array(4),l=0;l<n;l++)w[l]=JU.V3.newVsub(f,m[l]),w[l].normalize(),d.add(w[l]);0<n&&b.setT(w[0]);
l=!1;a=new JU.V3;if(3<=n){2.984513>b.angle(w[1])?a.cross(b,w[1]):a.cross(b,w[2]);a.normalize();var p=new JU.V3;2.984513>w[1].angle(w[2])?p.cross(w[1],w[2]):p.cross(b,w[2]);p.normalize();l=0.95<=Math.abs(p.dot(a))}var q=0==e.indexOf("sp3"),r=!q&&0==e.indexOf("sp2"),t=!q&&!r&&0==e.indexOf("sp"),u=0==e.indexOf("p"),v=0==e.indexOf("lp"),p=null;if(g){if(0==n)return null;if(q){if(3<s||4<n)return null}else if(r){if(2<s||3<n)return null}else if(t&&(1<s||2<n))return null;switch(n){case 1:if(1==c&&!q)return null;
if(q){p="sp3";break}switch(m[0].getCovalentBondCount()){case 1:if(2!=m[0].getValence()){p="sp";break}case 2:p=t?"sp":"sp2";break;case 3:if(!r&&!u)return null;p="sp2"}break;case 2:if(0.1>d.length()){if(0<=e.indexOf("2")||0<=e.indexOf("3"))return null;p="sp";break}p=q?"sp3":"sp2";if(0==e.indexOf("sp"))break;if(v){p="lp";break}p=e;break;default:if(l)p="sp2";else{if(v&&3==n){p="lp";break}p="sp3"}}if(null==p)return null;if(0==e.indexOf("p")){if("sp3"===p)return null}else if(0>e.indexOf(p))return null}if(s<
n&&!e.startsWith("p")&&!e.startsWith("l"))return d.sub2(m[s],f),d.normalize(),p;switch(n){case 0:e.equals("sp3c")||e.equals("sp2d")||e.equals("lpa")?d.set(-0.5,-0.7,1):e.equals("sp3b")||e.equals("lpb")?d.set(0.5,-0.7,-1):e.equals("sp3a")?d.set(0,1,0):d.set(0,0,1);b.set(1,0,0);break;case 1:a.setT(JM.AtomCollection.vRef);b.cross(a,d);if(q){for(l=m[0].getBondCount();0<=--l;)if(m[0].bonds[l].isCovalent()&&m[0].getBondedAtomIndex(l)!=f.i&&(b.sub2(m[0],m[0].bonds[l].getOtherAtom(m[0])),b.cross(d,b),0!=
b.length())){b.cross(b,d);break}b.normalize();Float.isNaN(b.x)&&(b.setT(JM.AtomCollection.vRef),b.cross(b,d));a.cross(d,b);a.normalize();d.normalize();b.scaleAdd2(2.828,b,d);3!=s&&(b.normalize(),(new JU.M3).setAA(JU.A4.new4(d.x,d.y,d.z,2.09439507*(2==s?1:-1))).rotate(b));d.setT(b);b.cross(a,d);break}a.cross(b,d);switch(m[0].getCovalentBondCount()){case 1:if(2!=m[0].getValence())break;case 2:h=m[0];b.setT(d);for(a.setT(JM.AtomCollection.vRef);null!=h&&2==h.getCovalentBondCount();){e=h.bonds;c=null;
for(l=0;l<e.length;l++)if(e[l].isCovalent()&&(c=e[l].getOtherAtom(h),c!==f)){a.sub2(c,h);break}a.cross(a,b);if(0.1<a.length()||2!=c.getCovalentBondCount())break;f=h;h=c}0.1<a.length()?(d.cross(a,b),d.normalize(),1==s&&d.scale(-1),d.scale(JM.AtomCollection.sqrt3_2),d.scaleAdd2(0.5,b,d),u&&(a.cross(d,b),d.setT(a),a.setT(b)),b.cross(a,d)):(d.setT(b),b.cross(JM.AtomCollection.vRef,b));break;case 3:this.getHybridizationAndAxes(m[0].i,0,b,a,"pz",!1,h),a.setT(b),r?(b.cross(b,d),1==s&&b.scale(-1),b.scale(JM.AtomCollection.sqrt3_2),
d.scaleAdd2(0.5,d,b)):(a.setT(d),d.setT(b)),b.cross(a,d)}break;case 2:if(0.1>d.length()){if(!e.equals("pz")){c=m[0];(f=3==c.getCovalentBondCount())||(f=3==(c=m[1]).getCovalentBondCount());if(f){this.getHybridizationAndAxes(c.i,0,b,d,"pz",!1,h);e.equals("px")&&b.scale(-1);d.setT(w[0]);break}a.setT(JM.AtomCollection.vRef);d.cross(a,b);a.cross(d,b)}d.setT(b);b.cross(a,d);break}a.cross(d,b);if(r){b.cross(d,a);break}if(q||v){a.normalize();d.normalize();e.equals("lp")||(0==s||2==s?d.scaleAdd2(-1.2,a,d):
d.scaleAdd2(1.2,a,d));b.cross(d,a);break}b.cross(d,a);d.setT(a);0>d.z&&(d.scale(-1),b.scale(-1));break;default:if(q)break;if(!l){b.cross(d,b);break}d.setT(a);0>d.z&&h&&(d.scale(-1),b.scale(-1))}b.normalize();d.normalize();return p},"~N,~N,JU.V3,JU.V3,~S,~B,~B");b(c$,"getHybridizationAndAxesD",function(a,c,d,b){b.startsWith("sp3d2")&&(b="d2sp3"+(5==b.length?"a":b.substring(5)));b.startsWith("sp3d")&&(b="dsp3"+(4==b.length?"a":b.substring(4)));if(b.equals("d2sp3")||b.equals("dsp3"))b+="a";var f=b.startsWith("dsp3"),
g=b.charCodeAt(b.length-1)-97;if(null!=c&&(!f&&(5<g||!b.startsWith("d2sp3"))||f&&4<g))return null;a=this.at[a];b=this.getAttached(a,6,!0);if(null==b)return null==c?null:"?";var h=b.length;if(3>h&&null!=c)return null;for(var e=g>=h,m=v(h*(h-1)/2),n=JU.AU.newInt2(m),s=y(3,0),m=y(3,m,0),l=0,p=0,z=0;z<h-1;z++)for(var q=z+1;q<h;q++){var r=JU.Measure.computeAngleABC(b[z],a,b[q],!0),r=105>r?0:150<=r?2:1;m[r][s[r]]=l;s[r]++;n[l++]=y(-1,[z,q]);0==z&&1==r&&p++}l=100*s[0]+10*s[1]+s[2];if(null==c)switch(l){default:return"";
case 0:return"";case 1:return"linear";case 100:case 10:return"bent";case 111:case 201:return"T-shaped";case 30:case 120:case 210:case 300:return 162<Math.abs(JU.Measure.computeTorsion(b[0],a,b[1],b[2],!0))?"trigonal planar":"trigonal pyramidal";case 330:return 1==p%2?"tetrahedral":"uncapped trigonal pyramid";case 60:case 150:case 240:return"tetrahedral";case 402:return"square planar";case 411:case 501:return"see-saw";case 631:return"trigonal bipyramidal";case 802:return"uncapped square pyramid";case 1203:return"octahedral"}switch(l){default:return null;
case 201:break;case 210:case 330:case 411:case 631:if(!f)return null;break;case 300:case 402:case 501:case 802:case 1203:if(f)return null}if(e)if(f)switch(s[1]){case 0:c.sub2(b[n[m[0][0]][0]],a);d.sub2(b[n[m[0][0]][1]],a);c.cross(c,d);c.normalize();4==g&&c.scale(-1);s=this.findNotAttached(h,n,m[2],s[2]);z=s.nextSetBit(0);d.sub2(b[z],a);d.normalize();d.scale(0.5);c.scaleAdd2(JM.AtomCollection.sqrt3_2,c,d);g=-1;break;case 1:4==g?(d=n[m[1][0]],c.add2(b[d[0]],b[d[1]]),c.scaleAdd2(-2,a,c),g=-1):(s=this.findNotAttached(h,
n,m[1],s[1]),g=s.nextSetBit(0));break;default:s=this.findNotAttached(h,n,m[1],s[1]),g=s.nextSetBit(0)}else{l=!1;if(4==h)switch(s[2]){case 1:s=this.findNotAttached(h,n,m[2],s[2]);z=s.nextSetBit(0);g=4==g?z:s.nextSetBit(z+1);break;default:l=!0}else{s=this.findNotAttached(h,n,m[2],s[2]);z=s.nextSetBit(0);for(q=h;q<g&&0<=z;q++)z=s.nextSetBit(z+1);-1==z?l=!0:g=z}l&&(c.sub2(b[n[m[0][0]][0]],a),d.sub2(b[n[m[0][0]][1]],a),c.cross(c,d),4==g&&c.scale(-1),g=-1)}0<=g&&c.sub2(b[g],a);e&&c.scale(-1);c.normalize();
return f?"dsp3":"d2sp3"},"~N,JU.V3,JU.V3,~S");b(c$,"getAttached",function(a,c,d){var b=a.getCovalentBondCount();if(b>c)return null;c=Array(b);if(0<b){for(var b=a.bonds,f=0,g=0;g<b.length;g++)b[g].isCovalent()&&(c[f++]=b[g].getOtherAtom(a));d&&java.util.Arrays.sort(c,R(JM.AtomCollection.AtomSorter,this,null))}return c},"JM.Atom,~N,~B");b(c$,"findNotAttached",function(a,c,d,b){var f=JU.BS.newN(a);f.setBits(0,a);for(var g=0;g<a;g++)for(var h=0;h<b;h++){var e=c[d[h]];(e[0]==g||e[1]==g)&&f.clear(g)}return f},
"~N,~A,~A,~N");b(c$,"getAtomBitsMDa",function(a,c,d){var b=p(c,Integer)?c.intValue():0;switch(a){case 1086326786:case 1086326785:var f=1086326785==a,g=","+c+",";for(a=this.ac;0<=--a;)c=f?this.at[a].getAtomType():this.at[a].getAtomName(),0<=g.indexOf(","+c+",")&&d.set(a);return d;case 1094715393:for(a=this.ac;0<=--a;)this.at[a].getAtomNumber()==b&&d.set(a);return d;case 2097155:for(a=this.ac;0<=--a;)0<this.at[a].getCovalentBondCount()&&d.set(a);return d;case 2097188:case 2097156:case 136314895:case 2097166:case 2097168:case 2097170:case 2097172:case 2097174:case 2097184:return this.haveBioModels?
this.bioModelset.getAtomBitsBS(a,null,d):d;case 1612709894:for(a=this.ac;0<=--a;)this.at[a].isHetero()&&d.set(a);return d;case 1612709900:for(a=this.ac;0<=--a;)1==this.at[a].getElementNumber()&&d.set(a);return d;case 1073741824:return this.getIdentifierOrNull(c);case 2097165:for(a=this.ac;0<=--a;)this.at[a].isLeadAtom()&&d.set(a);return d;case 1094713362:case 1639976963:return this.haveBioModels?this.bioModelset.getAtomBitsBS(a,c,d):d;case 1094715412:for(a=this.ac;0<=--a;)this.at[a].getResno()==b&&
d.set(a);return d;case 1612709912:c=y(2,0);for(a=this.ac;0<=--a;)if(b=this.at[a].group.groupID,42<=b&&45>b)d.set(a);else if(8==(f=this.at[a]).getElementNumber()&&2==f.getCovalentBondCount()){for(var b=f.bonds,h=0,e=b.length;0<=--e&&3>h;)if(b[e].isCovalent()&&1==(g=b[e].getOtherAtom(f)).getElementNumber())c[h++%2]=g.i;2==h&&(d.set(c[1]),d.set(c[0]),d.set(a))}return d;case 1073742355:for(a=this.ac;0<=--a;)this.isAltLoc(this.at[a].altloc,c)&&d.set(a);return d;case 1073742356:f=c.toUpperCase();0<=f.indexOf("\\?")&&
(f=JU.PT.rep(f,"\\?","\u0001"));(g=f.startsWith("?*"))&&(f=f.substring(1));for(a=this.ac;0<=--a;)this.isAtomNameMatch(this.at[a],f,g,g)&&d.set(a);return d;case 1073742357:return JU.BSUtil.copy(this.getChainBits(b));case 1073742360:return this.getSpecName(c);case 1073742361:for(a=this.ac;0<=--a;)this.at[a].group.groupID==b&&d.set(a);return d;case 1073742362:return JU.BSUtil.copy(this.getSeqcodeBits(b,!0));case 5:for(a=this.ac;0<=--a;)this.at[a].group.getInsCode()==b&&d.set(a);return d;case 1296041474:for(a=
this.ac;0<=--a;)this.at[a].getSymOp()==b&&d.set(a);return d}g=c.nextSetBit(0);if(0>g)return d;switch(a){case 1094717454:f=JU.BSUtil.copy(c);for(a=g;0<=a;a=f.nextSetBit(a+1))d.or(this.am[this.at[a].mi].bsAtoms),f.andNot(d);return d;case 1086324740:f=JU.BSUtil.copy(c);for(a=g;0<=a;a=f.nextSetBit(a+1))this.at[a].group.chain.setAtomBits(d),f.andNot(d);return d;case 1086326789:f=new JU.BS;for(a=g;0<=a;a=c.nextSetBit(a+1))f.set(this.at[a].getElementNumber());for(a=this.ac;0<=--a;)f.get(this.at[a].getElementNumber())&&
d.set(a);return d;case 1086324742:f=JU.BSUtil.copy(c);for(a=g;0<=a;a=f.nextSetBit(a+1))this.at[a].group.setAtomBits(d),f.andNot(d);return d;case 1094713366:f=new JU.BS;for(a=g;0<=a;a=c.nextSetBit(a+1))f.set(this.at[a].atomSite);for(a=this.ac;0<=--a;)f.get(this.at[a].atomSite)&&d.set(a);return d}JU.Logger.error("MISSING getAtomBits entry for "+JS.T.nameOf(a));return d},"~N,~O,JU.BS");b(c$,"getChainBits",function(a){var c=this.vwr.getBoolean(603979823);0<=a&&(300>a&&!c)&&(a=this.chainToUpper(a));for(var d=
new JU.BS,b=JU.BS.newN(this.ac),f,g=b.nextClearBit(0);g<this.ac;g=b.nextClearBit(g+1)){var h=this.at[g].group.chain;a==(f=h.chainID)||!c&&0<=f&&300>f&&a==this.chainToUpper(f)?(h.setAtomBits(d),b.or(d)):h.setAtomBits(b)}return d},"~N");b(c$,"chainToUpper",function(a){return 97<=a&&122>=a?a-32:256<=a&&300>a?a-191:a},"~N");b(c$,"isAltLoc",function(a,c){if(null==c)return"\x00"==a;if(1!=c.length)return!1;var d=c.charAt(0);return"*"==d||"?"==d&&"\x00"!=a||a==d},"~S,~S");b(c$,"getSeqcodeBits",function(a,
c){var d=new JU.BS,b=JM.Group.getSeqNumberFor(a),f=2147483647!=b,g=!0,h=JM.Group.getInsertionCodeChar(a);switch(h){case "?":for(var e=this.ac;0<=--e;){var m=this.at[e].group.seqcode;if((!f||b==JM.Group.getSeqNumberFor(m))&&0!=JM.Group.getInsertionCodeFor(m))d.set(e),g=!1}break;default:for(e=this.ac;0<=--e;)if(m=this.at[e].group.seqcode,a==m||!f&&a==JM.Group.getInsertionCodeFor(m)||"*"==h&&b==JM.Group.getSeqNumberFor(m))d.set(e),g=!1}return!g||c?d:null},"~N,~B");b(c$,"getIdentifierOrNull",function(a){var c=
this.getSpecNameOrNull(a,!1);0<=a.indexOf("\\?")&&(a=JU.PT.rep(a,"\\?","\u0001"));return null!=c||0<a.indexOf("?")?c:0<a.indexOf("*")?this.getSpecNameOrNull(a,!0):this.haveBioModels?this.bioModelset.getIdentifierOrNull(a):null},"~S");b(c$,"getSpecName",function(a){var c=this.getSpecNameOrNull(a,!1);if(null!=c)return c;0<a.indexOf("*")&&(c=this.getSpecNameOrNull(a,!0));return null==c?new JU.BS:c},"~S");b(c$,"getSpecNameOrNull",function(a,c){var d=null;a=a.toUpperCase();0<=a.indexOf("\\?")&&(a=JU.PT.rep(a,
"\\?","\u0001"));var b=a.startsWith("?*");b&&(a=a.substring(1));for(var f=this.ac;0<=--f;){var g=this.at[f].getGroup3(!0);if(null!=g&&0<g.length){if(JU.PT.isMatch(g,a,c,!0)){null==d&&(d=JU.BS.newN(f+1));for(d.set(f);0<=--f&&this.at[f].getGroup3(!0).equals(g);)d.set(f);f++}}else this.isAtomNameMatch(this.at[f],a,c,b)&&(null==d&&(d=JU.BS.newN(f+1)),d.set(f))}return d},"~S,~B");b(c$,"isAtomNameMatch",function(a,c,d,b){return JU.PT.isMatch(a.getAtomName().toUpperCase(),c,d,b)},"JM.Atom,~S,~B,~B");b(c$,
"getAtomIndices",function(a){for(var c=0,d=y(this.ac,0),b=a.nextSetBit(0);0<=b&&b<this.ac;b=a.nextSetBit(b+1))d[b]=++c;return d},"JU.BS");b(c$,"getAtomsNearPlane",function(a,c){for(var d=new JU.BS,b=this.ac;0<=--b;){var f=this.at[b],g=JU.Measure.distanceToPlane(c,f);(0<a&&-0.1<=g&&g<=a||0>a&&0.1>=g&&g>=a||0==a&&0.01>Math.abs(g))&&d.set(f.i)}return d},"~N,JU.P4");b(c$,"clearVisibleSets",function(){this.haveBSClickable=this.haveBSVisible=!1});b(c$,"getAtomsInFrame",function(a){this.clearVisibleSets();
a.clearAll();for(var c=this.ac;0<=--c;)this.at[c].isVisible(1)&&a.set(c)},"JU.BS");b(c$,"getVisibleSet",function(a){if(a)this.vwr.setModelVisibility();else if(this.haveBSVisible)return this.bsVisible;this.bsVisible.clearAll();for(a=this.ac;0<=--a;)this.at[a].checkVisible()&&this.bsVisible.set(a);this.haveBSVisible=!0;return this.bsVisible},"~B");b(c$,"getClickableSet",function(a){if(a)this.vwr.setModelVisibility();else if(this.haveBSClickable)return this.bsClickable;this.bsClickable.clearAll();for(a=
this.ac;0<=--a;)this.at[a].isClickable()&&this.bsClickable.set(a);this.haveBSClickable=!0;return this.bsClickable},"~B");b(c$,"isModulated",function(a){return null!=this.bsModulated&&this.bsModulated.get(a)},"~N");b(c$,"deleteModelAtoms",function(a,c,d){this.at=JU.AU.deleteElements(this.at,a,c);this.ac=this.at.length;for(var b=a;b<this.ac;b++)this.at[b].i=b,this.at[b].mi--;null!=this.bsModulated&&JU.BSUtil.deleteBits(this.bsModulated,d);this.deleteAtomTensors(d);this.atomNames=JU.AU.deleteElements(this.atomNames,
a,c);this.atomTypes=JU.AU.deleteElements(this.atomTypes,a,c);this.atomResnos=JU.AU.deleteElements(this.atomResnos,a,c);this.atomSerials=JU.AU.deleteElements(this.atomSerials,a,c);this.atomSeqIDs=JU.AU.deleteElements(this.atomSeqIDs,a,c);this.bfactor100s=JU.AU.deleteElements(this.bfactor100s,a,c);this.hasBfactorRange=!1;this.occupancies=JU.AU.deleteElements(this.occupancies,a,c);this.partialCharges=JU.AU.deleteElements(this.partialCharges,a,c);this.atomTensorList=JU.AU.deleteElements(this.atomTensorList,
a,c);this.vibrations=JU.AU.deleteElements(this.vibrations,a,c);this.nSurfaceAtoms=0;this.surfaceDistance100s=this.bsSurface=null;if(null!=this.tainted)for(a=0;16>a;a++)JU.BSUtil.deleteBits(this.tainted[a],d)},"~N,~N,JU.BS");b(c$,"getAtomIdentityInfo",function(a,c,d){c.put("_ipt",Integer.$valueOf(a));c.put("atomIndex",Integer.$valueOf(a));c.put("atomno",Integer.$valueOf(this.at[a].getAtomNumber()));c.put("info",this.getAtomInfo(a,null,d));c.put("sym",this.at[a].getElementSymbol())},"~N,java.util.Map,JU.P3");
b(c$,"getAtomTensorList",function(a){return 0>a||null==this.atomTensorList||a>=this.atomTensorList.length?null:this.atomTensorList[a]},"~N");b(c$,"deleteAtomTensors",function(a){if(null!=this.atomTensors){for(var c=new JU.Lst,d,b=this.atomTensors.keySet().iterator();b.hasNext()&&((d=b.next())||1);){for(var f=this.atomTensors.get(d),g=f.size();0<=--g;){var h=f.get(g);(a.get(h.atomIndex1)||0<=h.atomIndex2&&a.get(h.atomIndex2))&&f.remove(g)}0==f.size()&&c.addLast(d)}for(g=c.size();0<=--g;)this.atomTensors.remove(c.get(g))}},
"JU.BS");b(c$,"setAtomTensors",function(a,c){if(!(null==c||0==c.size())){null==this.atomTensors&&(this.atomTensors=new java.util.Hashtable);null==this.atomTensorList&&(this.atomTensorList=Array(this.at.length));this.atomTensorList=JU.AU.ensureLength(this.atomTensorList,this.at.length);this.atomTensorList[a]=JM.AtomCollection.getTensorList(c);for(var d=c.size();0<=--d;){var b=c.get(d);b.atomIndex1=a;b.atomIndex2=-1;b.modelIndex=this.at[a].mi;this.addTensor(b,b.type);null!=b.altType&&this.addTensor(b,
b.altType)}}},"~N,JU.Lst");c$.getTensorList=b(c$,"getTensorList",function(a){for(var c=-1,d=!1,b=a.size(),f=b;0<=--f;){var g=a.get(f);g.forThermalEllipsoid?c=f:2==g.iType&&(d=!0)}var h=Array((0<=c||!d?0:1)+b);if(0<=c&&(h[0]=a.get(c),1==a.size()))return h;if(d){c=0;for(f=b;0<=--f;)g=a.get(f),g.forThermalEllipsoid||(h[++c]=g)}else for(f=0;f<b;f++)h[f]=a.get(f);return h},"JU.Lst");b(c$,"getAtomTensor",function(a,c){var d=this.getAtomTensorList(a);if(null!=d&&null!=c){c=c.toLowerCase();for(var b=0;b<
d.length;b++){var f=d[b];if(null!=f&&(c.equals(f.type)||c.equals(f.altType)))return f}}return null},"~N,~S");b(c$,"addTensor",function(a,c){c=c.toLowerCase();var d=this.atomTensors.get(c);null==d&&this.atomTensors.put(c,d=new JU.Lst);d.addLast(a)},"JU.Tensor,~S");b(c$,"getAllAtomTensors",function(a){if(null==this.atomTensors)return null;if(null!=a)return this.atomTensors.get(a.toLowerCase());a=new JU.Lst;for(var c,d=this.atomTensors.entrySet().iterator();d.hasNext()&&((c=d.next())||1);)a.addAll(c.getValue());
return a},"~S");b(c$,"scaleVectorsToMax",function(a){if(!(null==this.vibrations||0==a)){for(var c=0,d=JU.BS.newN(this.ac),b=this.vibrations.length;0<=--b;){var f=this.getVibration(b,!1);if(null!=f&&(-1==f.modDim||-2==f.modDim))c=Math.max(c,f.length()),d.set(b)}if(!(0==c||c==a)){c=a/c;a=!1;for(b=d.nextSetBit(0);0<=b;b=d.nextSetBit(b+1)){var f=this.getVibration(b,!1),g=this.getModulation(b);null!=g?g.scaleVibration(c):f.scale(c);a||(this.taintAtom(b,12),a=!0)}this.tainted[12].or(d)}}},"~N");b(c$,"getAtomsFromAtomNumberInFrame",
function(a){for(var c=this.vwr.getFrameAtoms(),d=c.nextSetBit(0);0<=d;d=c.nextSetBit(d+1))this.at[d].getAtomNumber()!=a&&c.clear(d);return c},"~N");c$.$AtomCollection$AtomSorter$=function(){K(self.c$);c$=r(function(){W(this,arguments);q(this,arguments)},JM.AtomCollection,"AtomSorter",null,java.util.Comparator);e(c$,"compare",function(a,c){return a.i>c.i?1:a.i<c.i?-1:0},"JM.Atom,JM.Atom");c$=L()};D(c$,"TAINT_ATOMNAME",0,"TAINT_ATOMTYPE",1,"TAINT_COORD",2,"TAINT_ELEMENT",3,"TAINT_FORMALCHARGE",4,"TAINT_HYDROPHOBICITY",
5,"TAINT_BONDINGRADIUS",6,"TAINT_OCCUPANCY",7,"TAINT_PARTIALCHARGE",8,"TAINT_TEMPERATURE",9,"TAINT_VALENCE",10,"TAINT_VANDERWAALS",11,"TAINT_VIBRATION",12,"TAINT_ATOMNO",13,"TAINT_SEQID",14,"TAINT_RESNO",15,"TAINT_MAX",16,"userSettableValues",null,"almost180",2.984513);c$.sqrt3_2=c$.prototype.sqrt3_2=Math.sqrt(3)/2;c$.vRef=c$.prototype.vRef=JU.V3.new3(3.14159,2.71828,1.41421)});l("JM");u(["J.api.AtomIndexIterator"],"JM.AtomIteratorWithinModel",["J.atomdata.RadiusData"],function(){c$=r(function(){this.bspf=
this.cubeIterator=null;this.isZeroBased=this.hemisphereOnly=this.threadSafe=!1;this.modelIndex=2147483647;this.atomIndex=-1;this.distanceSquared=this.zeroBase=0;this.bsSelected=null;this.checkGreater=this.isGreaterOnly=!1;this.radiusData=null;this.vdw1=0;this.isVdw=!1;this.vwr=this.atoms=null;this.iNext=0;q(this,arguments)},JM,"AtomIteratorWithinModel",null,J.api.AtomIndexIterator);t(c$,function(){});b(c$,"initialize",function(a,c,d,b,f,g){this.bspf=a;this.bsSelected=c;this.isGreaterOnly=d;this.isZeroBased=
b;this.hemisphereOnly=f;this.threadSafe=g;this.cubeIterator=null},"J.bspt.Bspf,JU.BS,~B,~B,~B,~B");e(c$,"setModel",function(a,c,d,b,f,g,h){this.threadSafe&&(c=-1-c);if(c!=this.modelIndex||null==this.cubeIterator)this.cubeIterator=this.bspf.getCubeIterator(c),this.modelIndex=c;this.zeroBase=this.isZeroBased?d:0;if(-2147483648!=g){this.atomIndex=0>g?-1:b;if(this.isVdw=null!=h)this.radiusData=h,this.atoms=a.at,this.vwr=a.vwr,g=h.factorType===J.atomdata.RadiusData.EnumType.OFFSET?5+h.value:5*h.value,
this.vdw1=this.atoms[b].getVanderwaalsRadiusFloat(this.vwr,h.vdwType);this.checkGreater=this.isGreaterOnly&&2147483647!=b;this.setCenter(f,g)}},"JM.ModelSet,~N,~N,~N,JU.T3,~N,J.atomdata.RadiusData");e(c$,"setCenter",function(a,c){this.setCenter2(a,c)},"JU.T3,~N");b(c$,"setCenter2",function(a,c){null!=this.cubeIterator&&(this.cubeIterator.initialize(a,c,this.hemisphereOnly),this.distanceSquared=c*c)},"JU.T3,~N");e(c$,"hasNext",function(){return this.hasNext2()});b(c$,"hasNext2",function(){if(0<=this.atomIndex)for(;this.cubeIterator.hasMoreElements();){var a=
this.cubeIterator.nextElement();if((this.iNext=a.i)!=this.atomIndex&&(!this.checkGreater||this.iNext>this.atomIndex)&&(null==this.bsSelected||this.bsSelected.get(this.iNext)))return!0}else if(this.cubeIterator.hasMoreElements())return a=this.cubeIterator.nextElement(),this.iNext=a.i,!0;this.iNext=-1;return!1});e(c$,"next",function(){return this.iNext-this.zeroBase});e(c$,"foundDistance2",function(){return null==this.cubeIterator?-1:this.cubeIterator.foundDistance2()});e(c$,"addAtoms",function(a){for(var c;this.hasNext();)if(0<=
(c=this.next())){var d;if(this.isVdw){d=this.atoms[c].getVanderwaalsRadiusFloat(this.vwr,this.radiusData.vdwType)+this.vdw1;switch(this.radiusData.factorType){case J.atomdata.RadiusData.EnumType.OFFSET:d+=2*this.radiusData.value;break;case J.atomdata.RadiusData.EnumType.FACTOR:d*=this.radiusData.value}d*=d}else d=this.distanceSquared;this.foundDistance2()<=d&&a.set(c)}},"JU.BS");e(c$,"release",function(){null!=this.cubeIterator&&(this.cubeIterator.release(),this.cubeIterator=null)});e(c$,"getPosition",
function(){return null})});l("JM");u(["JM.AtomIteratorWithinModel"],"JM.AtomIteratorWithinModelSet",null,function(){c$=r(function(){this.center=this.bsModels=null;this.distance=0;q(this,arguments)},JM,"AtomIteratorWithinModelSet",JM.AtomIteratorWithinModel);t(c$,function(a){H(this,JM.AtomIteratorWithinModelSet,[]);this.bsModels=a},"JU.BS");e(c$,"setCenter",function(a,c){this.center=a;this.distance=c;this.set(0)},"JU.T3,~N");b(c$,"set",function(a){if(0>(this.modelIndex=this.bsModels.nextSetBit(a))||
null==(this.cubeIterator=this.bspf.getCubeIterator(this.modelIndex)))return!1;this.setCenter2(this.center,this.distance);return!0},"~N");e(c$,"hasNext",function(){return this.hasNext2()?!0:!this.set(this.modelIndex+1)?!1:this.hasNext()})});l("JM");u(["JU.Edge","JV.JC"],"JM.Bond",["JU.C"],function(){c$=r(function(){this.atom2=this.atom1=null;this.shapeVisibilityFlags=this.colix=this.mad=0;q(this,arguments)},JM,"Bond",JU.Edge);t(c$,function(a,c,d,b,f){this.atom1=a;this.atom2=c;this.colix=f;this.setOrder(d);
this.setMad(b)},"JM.Atom,JM.Atom,~N,~N,~N");b(c$,"setMad",function(a){this.mad=a;this.setShapeVisibility(0!=a)},"~N");b(c$,"setShapeVisibility",function(a){0!=(this.shapeVisibilityFlags&JM.Bond.myVisibilityFlag)!=a&&(this.atom1.addDisplayedBond(JM.Bond.myVisibilityFlag,a),this.atom2.addDisplayedBond(JM.Bond.myVisibilityFlag,a),this.shapeVisibilityFlags=a?this.shapeVisibilityFlags|JM.Bond.myVisibilityFlag:this.shapeVisibilityFlags&~JM.Bond.myVisibilityFlag)},"~B");b(c$,"getIdentity",function(){return this.index+
1+" "+JU.Edge.getBondOrderNumberFromOrder(this.order)+" "+this.atom1.getInfo()+" -- "+this.atom2.getInfo()+" "+this.atom1.distance(this.atom2)});e(c$,"isCovalent",function(){return 0!=(this.order&1023)});e(c$,"isHydrogen",function(){return JM.Bond.isOrderH(this.order)});c$.isOrderH=b(c$,"isOrderH",function(a){return 0!=(a&30720)},"~N");b(c$,"isStereo",function(){return 0!=(this.order&1024)});b(c$,"isPartial",function(){return 0!=(this.order&224)});b(c$,"isAromatic",function(){return 0!=(this.order&
512)});b(c$,"isPymolStyle",function(){return 98304==(this.order&98304)});b(c$,"getEnergy",function(){return 0});b(c$,"getValence",function(){return!this.isCovalent()?0:this.isPartial()||this.is(515)?1:this.order&7});b(c$,"deleteAtomReferences",function(){null!=this.atom1&&this.atom1.deleteBond(this);null!=this.atom2&&this.atom2.deleteBond(this);this.atom1=this.atom2=null});b(c$,"setTranslucent",function(a,c){this.colix=JU.C.getColixTranslucent3(this.colix,a,c)},"~B,~N");b(c$,"setOrder",function(a){16==
this.atom1.getElementNumber()&&16==this.atom2.getElementNumber()&&(a|=256);512==a&&(a=515);this.order=a|this.order&131072},"~N");e(c$,"getAtomIndex1",function(){return this.atom1.i});e(c$,"getAtomIndex2",function(){return this.atom2.i});e(c$,"getCovalentOrder",function(){return JU.Edge.getCovalentBondOrder(this.order)});b(c$,"getOtherAtom",function(a){return this.atom1===a?this.atom2:this.atom2===a?this.atom1:null},"JM.Atom");b(c$,"is",function(a){return(this.order&-131073)==a},"~N");e(c$,"getOtherAtomNode",
function(a){return this.atom1===a?this.atom2:this.atom2===a?this.atom1:null},"JU.Node");e(c$,"toString",function(){return this.atom1+" - "+this.atom2});c$.myVisibilityFlag=c$.prototype.myVisibilityFlag=JV.JC.getShapeVisibilityFlag(1)});l("JM");u(["JM.AtomCollection"],"JM.BondCollection","JU.AU $.BS JM.Bond $.BondIteratorSelected $.BondSet $.HBond JU.BSUtil $.C $.Edge $.Logger".split(" "),function(){c$=r(function(){this.bo=null;this.bondCount=0;this.molecules=this.freeBonds=this.numCached=null;this.defaultCovalentMad=
this.moleculeCount=0;this.bsAromatic=this.bsAromaticDouble=this.bsAromaticSingle=null;this.haveHiddenBonds=!1;q(this,arguments)},JM,"BondCollection",JM.AtomCollection);b(c$,"setupBC",function(){this.bsAromatic=new JU.BS;this.numCached=y(5,0);this.freeBonds=Array(5);for(var a=5;0<--a;)this.freeBonds[a]=Array(200);this.setupAC()});e(c$,"releaseModelSet",function(){this.releaseModelSetBC()});b(c$,"releaseModelSetBC",function(){this.freeBonds=this.bo=null;this.releaseModelSetAC()});b(c$,"resetMolecules",
function(){this.molecules=null;this.moleculeCount=0});b(c$,"getBondIteratorForType",function(a,c){return new JM.BondIteratorSelected(this.bo,this.bondCount,a,c,this.vwr.getBoolean(603979812))},"~N,JU.BS");b(c$,"getBondIterator",function(a){return new JM.BondIteratorSelected(this.bo,this.bondCount,131071,a,!1)},"JU.BS");b(c$,"getBondColix1",function(a){return JU.C.getColixInherited(this.bo[a].colix,this.bo[a].atom1.colixAtom)},"~N");b(c$,"getBondColix2",function(a){return JU.C.getColixInherited(this.bo[a].colix,
this.bo[a].atom2.colixAtom)},"~N");b(c$,"getBondCountInModel",function(a){for(var c=0,d=this.bondCount;0<=--d;)this.bo[d].atom1.mi==a&&c++;return c},"~N");b(c$,"getBondsForSelectedAtoms",function(a,c){for(var d=new JU.BS,b=0;b<this.bondCount;++b){var f=this.bo[b],g=a.get(f.atom1.i),f=a.get(f.atom2.i);(c?g||f:g&&f)&&d.set(b)}return d},"JU.BS,~B");b(c$,"bondAtoms",function(a,c,d,b,f,g,h,e){d=this.getOrAddBond(a,c,d,b,f,g,!0);e&&(d.order|=131072,h&&(a.group=c.group,a.group.addAtoms(a.i)));return d},
"JM.Atom,JM.Atom,~N,~N,JU.BS,~N,~B,~B");b(c$,"getOrAddBond",function(a,c,d,b,f,g,h){if(131071==d||65535==d)d=1;a.isBonded(c)?(a=a.getBond(c).index,h&&(this.bo[a].setOrder(d),this.bo[a].setMad(b),p(this.bo[a],JM.HBond)&&(this.bo[a].energy=g))):(this.bondCount==this.bo.length&&(this.bo=JU.AU.arrayCopyObject(this.bo,this.bondCount+250)),a=this.setBond(this.bondCount++,this.bondMutually(a,c,d,b,g)).index);null!=f&&f.set(a);return this.bo[a]},"JM.Atom,JM.Atom,~N,~N,JU.BS,~N,~B");b(c$,"setBond",function(a,
c){return this.bo[c.index=a]=c},"~N,JM.Bond");b(c$,"bondMutually",function(a,c,d,b,f){d=JM.Bond.isOrderH(d)?new JM.HBond(a,c,d,b,0,f):new JM.Bond(a,c,d,b,0);this.addBondToAtom(a,d);this.addBondToAtom(c,d);return d},"JM.Atom,JM.Atom,~N,~N,~N");b(c$,"addBondToAtom",function(a,c){null==a.bonds?(a.bonds=Array(1),a.bonds[0]=c):a.bonds=this.addToBonds(c,a.bonds)},"JM.Atom,JM.Bond");b(c$,"addToBonds",function(a,c){var d;if(null==c)d=0<this.numCached[1]?this.freeBonds[1][--this.numCached[1]]:Array(1),d[0]=
a;else{var b=c.length;d=b+1;d=5>d&&0<this.numCached[d]?this.freeBonds[d][--this.numCached[d]]:Array(d);d[b]=a;for(var f=b;0<=--f;)d[f]=c[f];5>b&&200>this.numCached[b]&&(this.freeBonds[b][this.numCached[b]++]=c)}return d},"JM.Bond,~A");b(c$,"addHBond",function(a,c,d,b){this.bondCount==this.bo.length&&(this.bo=JU.AU.arrayCopyObject(this.bo,this.bondCount+250));return this.setBond(this.bondCount++,this.bondMutually(a,c,d,1,b)).index},"JM.Atom,JM.Atom,~N,~N");b(c$,"deleteAllBonds2",function(){this.vwr.setShapeProperty(1,
"reset",null);for(var a=this.bondCount;0<=--a;)this.bo[a].deleteAtomReferences(),this.bo[a]=null;this.bondCount=0});b(c$,"getDefaultMadFromOrder",function(a){return JM.Bond.isOrderH(a)?1:32768==a?v(Math.floor(2E3*this.vwr.getFloat(570425406))):this.defaultCovalentMad},"~N");b(c$,"deleteConnections",function(a,c,d,b,f,g,h){var e=0>a,m=0>c,n=e||m;a=this.fixD(a,e);c=this.fixD(c,m);var s=new JU.BS,l=0,p=d|=131072;!h&&JM.Bond.isOrderH(d)&&(d=30720);if(g)g=b;else{g=new JU.BS;for(var z=b.nextSetBit(0);0<=
z;z=b.nextSetBit(z+1)){var q=this.at[z];if(null!=q.bonds)for(var r=q.bonds.length;0<=--r;)f.get(q.getBondedAtomIndex(r))&&g.set(q.bonds[r].index)}}for(z=g.nextSetBit(0);z<this.bondCount&&0<=z;z=g.nextSetBit(z+1))if(b=this.bo[z],this.isInRange(b.atom1,b.atom2,a,c,e,m,n)&&(h||p==(b.order&-257|131072)||0!=(d&b.order&30720)))s.set(z),l++;0<l&&this.dBm(s,!1);return y(-1,[0,l])},"~N,~N,~N,JU.BS,JU.BS,~B,~B");b(c$,"fixD",function(a,c){return c?-a:a*a},"~N,~B");b(c$,"isInRange",function(a,c,d,b,f,g,h){var e=
a.distanceSquared(c);return h?(h=Math.sqrt(e),a=a.getBondingRadius()+c.getBondingRadius(),(f?h>=a*d:e>=d)&&(g?h<=a*b:e<=b)):e>=d&&e<=b},"JM.Atom,JM.Atom,~N,~N,~B,~B,~B");b(c$,"dBm",function(a,c){this.deleteBonds(a,c)},"JU.BS,~B");b(c$,"dBb",function(a,c){var d=a.nextSetBit(0);if(!(0>d)){this.resetMolecules();for(var b=-1,f=a.cardinality(),g=d;g<this.bondCount;++g){var h=this.bo[g];if(0<f&&a.get(g)){f--;if(!c){var e=h.atom1.mi;e!=b&&this.am[b=e].resetBoundCount()}h.deleteAtomReferences()}else this.setBond(d++,
h)}for(b=this.bondCount;--b>=d;)this.bo[b]=null;this.bondCount=d;d=this.vwr.getShapeProperty(1,"sets");if(null!=d)for(b=0;b<d.length;b++)JU.BSUtil.deleteBits(d[b],a);JU.BSUtil.deleteBits(this.bsAromatic,a)}},"JU.BS,~B");b(c$,"resetAromatic",function(){for(var a=this.bondCount;0<=--a;){var c=this.bo[a];c.isAromatic()&&c.setOrder(515)}});b(c$,"assignAromaticBondsBs",function(a,c){a||(this.bsAromatic=new JU.BS);this.bsAromaticSingle=new JU.BS;this.bsAromaticDouble=new JU.BS;for(var d=null==c,b=d?this.bondCount-
1:c.nextSetBit(0),f=b;0<=f;f=d?f-1:c.nextSetBit(f+1)){var g=this.bo[f];this.bsAromatic.get(f)&&g.setOrder(515);switch(g.order&-131073){case 515:this.bsAromatic.set(f);break;case 513:this.bsAromaticSingle.set(f);break;case 514:this.bsAromaticDouble.set(f)}}for(var b=(d=null==c)?this.bondCount-1:c.nextSetBit(0),h=new JU.BS,f=b;0<=f;f=d?f-1:c.nextSetBit(f+1))g=this.bo[f],g.is(515)&&(!this.bsAromaticDouble.get(f)&&!this.bsAromaticSingle.get(f))&&(h.set(f),8==g.atom1.getElementNumber()||8==g.atom2.getElementNumber()?
this.assignAromaticDouble(g)||this.assignAromaticSingle(g):h.set(f));for(f=h.nextSetBit(0);0<=f;f=h.nextSetBit(f+1))g=this.bo[f],this.assignAromaticDouble(g)||this.assignAromaticSingle(g);for(f=b;0<=f;f=d?f-1:c.nextSetBit(f+1))if(g=this.bo[f],this.bsAromaticDouble.get(f))g.is(514)||(this.bsAromatic.set(f),g.setOrder(514));else if((this.bsAromaticSingle.get(f)||g.isAromatic())&&!g.is(513))this.bsAromatic.set(f),g.setOrder(513);this.assignAromaticNandO(c);this.bsAromaticDouble=this.bsAromaticSingle=
null},"~B,JU.BS");b(c$,"assignAromaticDouble",function(a){var c=a.index;if(this.bsAromaticSingle.get(c))return!1;if(this.bsAromaticDouble.get(c))return!0;this.bsAromaticDouble.set(c);return!this.assignAromaticSingleForAtom(a.atom1,c)||!this.assignAromaticSingleForAtom(a.atom2,c)?(this.bsAromaticDouble.clear(c),!1):!0},"JM.Bond");b(c$,"assignAromaticSingle",function(a){var c=a.index;if(this.bsAromaticDouble.get(c))return!1;if(this.bsAromaticSingle.get(c))return!0;this.bsAromaticSingle.set(c);return!this.assignAromaticDoubleForAtom(a.atom1)||
!this.assignAromaticDoubleForAtom(a.atom2)?(this.bsAromaticSingle.clear(c),!1):!0},"JM.Bond");b(c$,"assignAromaticSingleForAtom",function(a,c){var d=a.bonds;if(null==d)return!1;for(var b=d.length;0<=--b;){var f=d[b],g=f.index;if(!(g==c||!f.isAromatic()||this.bsAromaticSingle.get(g)))if(this.bsAromaticDouble.get(g)||!this.assignAromaticSingle(f))return!1}return!0},"JM.Atom,~N");b(c$,"assignAromaticDoubleForAtom",function(a){a=a.bonds;if(null==a)return!1;for(var c=!1,d=-1,b=a.length;0<=--b;)this.bsAromaticDouble.get(a[b].index)&&
(c=!0),a[b].isAromatic()&&(d=b);for(b=a.length;0<=--b;){var f=a[b],g=f.index;if(f.isAromatic()&&!this.bsAromaticDouble.get(g)&&!this.bsAromaticSingle.get(g))if(!c&&this.assignAromaticDouble(f))c=!0;else if((c||b<d)&&!this.assignAromaticSingle(f))return!1}return c},"JM.Atom");b(c$,"allowAromaticBond",function(a){if(this.assignAromaticMustBeSingle(a.atom1)||this.assignAromaticMustBeSingle(a.atom2))return!1;switch(a.getCovalentOrder()){case 1:case 2:return 3>=a.atom1.getCovalentBondCount()&&3>=a.atom2.getCovalentBondCount();
default:return!1}},"JM.Bond");b(c$,"assignAromaticMustBeSingle",function(a){var c=a.getElementNumber();switch(c){case 6:case 7:case 8:case 16:break;default:return!0}var d=a.getValence();switch(c){case 6:return 4==d;case 7:return a.group.getNitrogenAtom()===a||3==d&&1>a.getFormalCharge();case 8:return a.group.getCarbonylOxygenAtom()!==a&&2==d&&1>a.getFormalCharge();case 16:return 5==a.group.groupID||2==d&&1>a.getFormalCharge()}return!1},"JM.Atom");b(c$,"assignAromaticNandO",function(a){for(var c,d=
null==a,b=d?this.bondCount-1:a.nextSetBit(0);0<=b;b=d?b-1:a.nextSetBit(b+1))if(c=this.bo[b],c.is(513)){var f,g=c.atom2,h,e=g.getElementNumber();7==e||8==e?(h=e,f=g,g=c.atom1,e=g.getElementNumber()):(f=c.atom1,h=f.getElementNumber());if(!(7!=h&&8!=h)){var m=f.getValence();if(!(0>m)){var n=f.getCovalentBondCount();f=f.getFormalCharge();switch(h){case 7:3==m&&(3==n&&1>f&&6==e&&3==g.getValence())&&c.setOrder(514);break;case 8:1==m&&(0==f&&(14==e||16==e))&&c.setOrder(514)}}}}},"JU.BS");b(c$,"getAtomBitsMDb",
function(a,c){var d=new JU.BS;switch(a){default:return this.getAtomBitsMDa(a,c,d);case 1677721602:for(var b=c.nextSetBit(0);0<=b;b=c.nextSetBit(b+1))d.set(this.bo[b].atom1.i),d.set(this.bo[b].atom2.i);return d;case 1073742331:for(b=this.bondCount;0<=--b;)this.bo[b].isAromatic()&&(d.set(this.bo[b].atom1.i),d.set(this.bo[b].atom2.i));return d}},"~N,~O");b(c$,"setBondOrder",function(a,c){var d=c.charCodeAt(0)-48,b=this.bo[a];switch(c){case "0":case "1":case "2":case "3":break;case "p":case "m":d=JU.Edge.getBondOrderNumberFromOrder(b.getCovalentOrder()).charCodeAt(0)-
48+("p"==c?1:-1);3<d?d=1:0>d&&(d=3);break;default:return null}var f=new JU.BS;try{if(0==d){var g=new JU.BS;g.set(b.index);f.set(b.atom1.i);f.set(b.atom2.i);this.dBm(g,!1);return f}b.setOrder(d|131072);1!=b.atom1.getElementNumber()&&1!=b.atom2.getElementNumber()&&(this.removeUnnecessaryBonds(b.atom1,!1),this.removeUnnecessaryBonds(b.atom2,!1));f.set(b.atom1.i);f.set(b.atom2.i)}catch(h){if(C(h,Exception))JU.Logger.error("Exception in seBondOrder: "+h.toString());else throw h;}return f},"~N,~S");b(c$,
"removeUnnecessaryBonds",function(a,c){var d=new JU.BS,b=new JU.BS,f=a.bonds;if(null!=f){for(var g=0;g<f.length;g++)f[g].isCovalent()?1==f[g].getOtherAtom(a).getElementNumber()&&d.set(f[g].getOtherAtom(a).i):b.set(f[g].index);0<=b.nextSetBit(0)&&this.dBm(b,!1);c&&d.set(a.i);0<=d.nextSetBit(0)&&this.vwr.deleteAtoms(d,!1)}},"JM.Atom,~B");b(c$,"displayBonds",function(a,c){c||(this.haveHiddenBonds=!0);for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))d<this.bondCount&&0!=this.bo[d].mad&&this.bo[d].setShapeVisibility(c)},
"JM.BondSet,~B");b(c$,"getAtomsConnected",function(a,c,d,b){for(var f=p(b,JM.BondSet),g=f?new JM.BondSet:new JU.BS,h=y(this.ac,0),e,m=30720==d,n=65535==d,s=0;s<this.bondCount;s++){var l=this.bo[s];if(n||l.is(d)||m&&l.isHydrogen())f?g.set(s):(b.get(l.atom1.i)&&(h[e=l.atom2.i]++,g.set(e)),b.get(l.atom2.i)&&(h[e=l.atom1.i]++,g.set(e)))}if(f)return g;d=0==a;for(e=this.ac;0<=--e;)b=h[e],b<a||b>c?g.clear(e):d&&0==b&&g.set(e);return g},"~N,~N,~N,JU.BS");D(c$,"BOND_GROWTH_INCREMENT",250,"MAX_BONDS_LENGTH_TO_CACHE",
5,"MAX_NUM_TO_CACHE",200)});l("JM");I(JM,"BondIterator");l("JM");u(["JM.BondIterator"],"JM.BondIteratorSelected",null,function(){c$=r(function(){this.bonds=null;this.iBond=this.bondType=this.bondCount=0;this.bsSelected=null;this.bondSelectionModeOr=!1;q(this,arguments)},JM,"BondIteratorSelected",null,JM.BondIterator);t(c$,function(a,c,d,b,f){this.bonds=a;this.bondCount=c;this.bondType=d;this.bsSelected=b;this.bondSelectionModeOr=f},"~A,~N,~N,JU.BS,~B");e(c$,"hasNext",function(){if(131071==this.bondType)return this.iBond=
this.bsSelected.nextSetBit(this.iBond),0<=this.iBond&&this.iBond<this.bondCount;for(;this.iBond<this.bondCount;++this.iBond){var a=this.bonds[this.iBond];if(!(65535!=this.bondType&&0==(a.order&this.bondType))&&!(65535==this.bondType&&32768!=a.order)){var c=this.bsSelected.get(a.atom1.i),a=this.bsSelected.get(a.atom2.i);if(!this.bondSelectionModeOr&&c&&a||this.bondSelectionModeOr&&(c||a))return!0}}return!1});e(c$,"nextIndex",function(){return this.iBond});e(c$,"next",function(){return this.bonds[this.iBond++]})});
l("JM");u(["JU.BS"],"JM.BondSet",["JU.BSUtil"],function(){c$=r(function(){this.associatedAtoms=null;q(this,arguments)},JM,"BondSet",JU.BS);t(c$,function(){H(this,JM.BondSet,[])});c$.newBS=b(c$,"newBS",function(a,c){var d=new JM.BondSet;JU.BSUtil.copy2(a,d);d.associatedAtoms=c;return d},"JU.BS,~A")});l("JM");u(["JM.Structure"],"JM.Chain",null,function(){c$=r(function(){this.model=null;this.chainNo=this.chainID=0;this.groups=null;this.selectedGroupCount=this.groupCount=0;q(this,arguments)},JM,"Chain",
null,JM.Structure);t(c$,function(a,c,d){this.model=a;this.chainID=c;this.chainNo=d;this.groups=Array(16)},"JM.Model,~N,~N");b(c$,"getIDStr",function(){return 0==this.chainID?"":256>this.chainID?""+String.fromCharCode(this.chainID):this.model.ms.vwr.getChainIDStr(this.chainID)});b(c$,"calcSelectedGroupsCount",function(a){for(var c=this.selectedGroupCount=0;c<this.groupCount;c++)this.groups[c].selectedIndex=this.groups[c].isSelected(a)?this.selectedGroupCount++:-1},"JU.BS");b(c$,"fixIndices",function(a,
c){for(var d=0;d<this.groupCount;d++)this.groups[d].fixIndices(a,c)},"~N,JU.BS");e(c$,"setAtomBits",function(a){for(var c=0;c<this.groupCount;c++)this.groups[c].setAtomBits(a)},"JU.BS");e(c$,"setAtomBitsAndClear",function(a,c){for(var d=0;d<this.groupCount;d++)this.groups[d].setAtomBitsAndClear(a,c)},"JU.BS,JU.BS")});l("JM");u(["JM.Structure","java.lang.Short","JV.JC"],"JM.Group","java.util.Hashtable JU.BS $.Quat J.c.STR JU.BSUtil $.Escape $.Logger".split(" "),function(){c$=r(function(){this.chain=
null;this.groupIndex=0;this.group1="\x00";this.leadAtomIndex=this.firstAtomIndex=-1;this.lastAtomIndex=0;this.bsAdded=null;this.shapeVisibilityFlags=this.selectedIndex=this.groupID=this.seqcode=0;q(this,arguments)},JM,"Group",null,JM.Structure);t(c$,function(){});b(c$,"setGroup",function(a,c,d,b,f){this.chain=a;this.seqcode=d;this.firstAtomIndex=b;this.lastAtomIndex=f;null!=c&&0<c.length&&this.setGroupID(c);return this},"JM.Chain,~S,~N,~N,~N");b(c$,"setGroupID",function(){},"~S");b(c$,"isAdded",function(a){return null!=
this.bsAdded&&this.bsAdded.get(a)},"~N");b(c$,"addAtoms",function(a){null==this.bsAdded&&(this.bsAdded=new JU.BS);this.bsAdded.set(a)},"~N");e(c$,"setAtomBits",function(a){a.setBits(this.firstAtomIndex,this.lastAtomIndex+1);null!=this.bsAdded&&a.or(this.bsAdded)},"JU.BS");e(c$,"setAtomBitsAndClear",function(a,c){a.setBits(this.firstAtomIndex,this.lastAtomIndex+1);c.clearBits(this.firstAtomIndex,this.lastAtomIndex+1);null!=this.bsAdded&&(a.or(this.bsAdded),c.andNot(this.bsAdded))},"JU.BS,JU.BS");b(c$,
"isSelected",function(a){var c=a.nextSetBit(this.firstAtomIndex);return 0<=c&&c<=this.lastAtomIndex||null!=this.bsAdded&&this.bsAdded.intersects(a)},"JU.BS");b(c$,"setShapeVisibility",function(a,c){this.shapeVisibilityFlags=c?this.shapeVisibilityFlags|a:this.shapeVisibilityFlags&~a},"~N,~B");b(c$,"getGroup3",function(){return 1>this.groupID?"":JM.Group.group3Names[this.groupID]});b(c$,"getGroup1",function(){return"?"});b(c$,"getBioPolymerLength",function(){return 0});b(c$,"getMonomerIndex",function(){return-1});
b(c$,"getStructure",function(){return null});b(c$,"getStrucNo",function(){return 0});b(c$,"getProteinStructureType",function(){return J.c.STR.NOT});b(c$,"getProteinStructureSubType",function(){return this.getProteinStructureType()});b(c$,"setProteinStructureType",function(){return-1},"J.c.STR,~N");b(c$,"isProtein",function(){return 1<=this.groupID&&24>this.groupID});b(c$,"isNucleic",function(){return 24<=this.groupID&&42>this.groupID});b(c$,"isDna",function(){return this.isDnaByID()});b(c$,"isRna",
function(){return this.isRnaByID()});b(c$,"isPurine",function(){return this.isPurineByID()});b(c$,"isPurineByID",function(){return this.isNucleic()&&0!=(153957&1<<this.groupID-24)});b(c$,"isPyrimidine",function(){return this.isPyrimidineByID()});b(c$,"isPyrimidineByID",function(){return this.isNucleic()&&0!=(108186&1<<this.groupID-24)});b(c$,"isRnaByID",function(){return this.isNucleic()&&0!=(196663&1<<this.groupID-24)});b(c$,"isDnaByID",function(){return this.isNucleic()&&0!=(65480&1<<this.groupID-
24)});b(c$,"isCarbohydrate",function(){return!1});b(c$,"getResno",function(){return-2147483648==this.seqcode?0:this.seqcode>>8});b(c$,"setResno",function(a){this.seqcode=JM.Group.getSeqcodeFor(a,this.getInsertionCode())},"~N");c$.getSeqNumberFor=b(c$,"getSeqNumberFor",function(a){return JM.Group.haveSequenceNumber(a)?a>>8:2147483647},"~N");c$.haveSequenceNumber=b(c$,"haveSequenceNumber",function(a){return 0!=(a&128)},"~N");b(c$,"getSeqcodeString",function(){return JM.Group.getSeqcodeStringFor(this.seqcode)});
c$.getSeqcodeFor=b(c$,"getSeqcodeFor",function(a,c){if(-2147483648==a)return a;"A"<=c&&"Z">=c||("a"<=c&&"z">=c||"0"<=c&&"9">=c||"?"==c||"*"==c)||(" "!=c&&"\x00"!=c&&JU.Logger.warn("unrecognized insertionCode:"+c),c="\x00");return(2147483647==a?0:a<<8|128)+c.charCodeAt(0)},"~N,~S");c$.getSeqcodeStringFor=b(c$,"getSeqcodeStringFor",function(a){if(-2147483648==a)return null;var c=""+(a>>8);0!=(a&127)&&(c+="^"+String.fromCharCode(a&127));return c},"~N");b(c$,"getInsertionCode",function(){return-2147483648==
this.seqcode?"\x00":String.fromCharCode(this.seqcode&127)});b(c$,"getInsCode",function(){return this.seqcode&127});c$.getInsertionCodeFor=b(c$,"getInsertionCodeFor",function(a){return a&127},"~N");c$.getInsertionCodeChar=b(c$,"getInsertionCodeChar",function(a){return-2147483648==a?"\x00":String.fromCharCode(a&127)},"~N");b(c$,"scaleToScreen",function(a,c){return this.chain.model.ms.vwr.tm.scaleToScreen(a,c)},"~N,~N");b(c$,"isCursorOnTopOf",function(a,c,d,b,f){return this.chain.model.ms.isCursorOnTopOf(a,
c,d,b,f)},"JM.Atom,~N,~N,~N,JM.Atom");b(c$,"getModel",function(){return this.chain.model});b(c$,"getSelectedMonomerCount",function(){return 0});b(c$,"getSelectedMonomerIndex",function(){return-1});b(c$,"isLeadAtom",function(){return!1},"~N");b(c$,"getLeadAtomOr",function(a){var c=this.getLeadAtom();return null==c?a:c},"JM.Atom");b(c$,"getLeadAtom",function(){return null});b(c$,"getQuaternion",function(){return null},"~S");b(c$,"getQuaternionFrame",function(a){if(3>this.lastAtomIndex-this.firstAtomIndex)return null;
var c=this.firstAtomIndex;return JU.Quat.getQuaternionFrame(a[c],a[++c],a[++c])},"~A");b(c$,"setStrucNo",function(){},"~N");b(c$,"getHelixData",function(a){return JU.Escape.escapeHelical(null,a,null,null,null)},"~N,~S,~N");b(c$,"isWithinStructure",function(){return!1},"J.c.STR");b(c$,"getProteinStructureTag",function(){return null});b(c$,"getStructureId",function(){return""});b(c$,"getBioPolymerIndexInModel",function(){return-1});b(c$,"isCrossLinked",function(){return!1},"JM.Group");b(c$,"getCrossLinkVector",
function(){return!1},"JU.Lst,~B,~B");b(c$,"isConnectedPrevious",function(){return!1});b(c$,"getNitrogenAtom",function(){return null});b(c$,"getCarbonylOxygenAtom",function(){return null});b(c$,"fixIndices",function(a,c){this.firstAtomIndex-=a;this.leadAtomIndex-=a;this.lastAtomIndex-=a;null!=this.bsAdded&&JU.BSUtil.deleteBits(this.bsAdded,c)},"~N,JU.BS");b(c$,"getGroupInfo",function(a,c){var d=new java.util.Hashtable;d.put("groupIndex",Integer.$valueOf(a));d.put("groupID",Short.$valueOf(this.groupID));
var b=this.getSeqcodeString();null!=b&&d.put("seqCode",b);d.put("_apt1",Integer.$valueOf(this.firstAtomIndex));d.put("_apt2",Integer.$valueOf(this.lastAtomIndex));null!=this.bsAdded&&d.put("addedAtoms",this.bsAdded);d.put("atomInfo1",this.chain.model.ms.getAtomInfo(this.firstAtomIndex,null,c));d.put("atomInfo2",this.chain.model.ms.getAtomInfo(this.lastAtomIndex,null,c));d.put("visibilityFlags",Integer.$valueOf(this.shapeVisibilityFlags));return d},"~N,JU.P3");b(c$,"getMinZ",function(a,c){c[0]=2147483647;
for(var d=this.firstAtomIndex;d<=this.lastAtomIndex;d++)this.checkMinZ(a[d],c);if(null!=this.bsAdded)for(d=this.bsAdded.nextSetBit(0);0<=d;d=this.bsAdded.nextSetBit(d+1))this.checkMinZ(a[d],c)},"~A,~A");b(c$,"checkMinZ",function(a,c){var d=a.sZ-v(a.sD/2)-2;d<c[0]&&(c[0]=Math.max(1,d))},"JM.Atom,~A");b(c$,"getGroupParameter",function(){return NaN},"~N");b(c$,"getAtomIndex",function(){return-1},"~S,~N");b(c$,"getBSSideChain",function(){return new JU.BS});e(c$,"toString",function(){return"["+this.getGroup3()+
"-"+this.getSeqcodeString()+"]"});D(c$,"standardGroupList",null);c$.group3Names=c$.prototype.group3Names=Array(128);D(c$,"specialAtomNames",null,"SEQUENCE_NUMBER_FLAG",128,"INSERTION_CODE_MASK",127,"SEQUENCE_NUMBER_SHIFT",8)});l("JM");u(["JM.Bond"],"JM.HBond",["JU.Logger"],function(){c$=r(function(){this.energy=0;q(this,arguments)},JM,"HBond",JM.Bond);t(c$,function(a,c,d,b,f,g){H(this,JM.HBond,[a,c,d,b,f]);this.energy=g;JU.Logger.debugging&&JU.Logger.debug("HBond energy = "+g+" #"+this.getIdentity())},
"JM.Atom,JM.Atom,~N,~N,~N,~N");b(c$,"getEnergy",function(){return this.energy});c$.getEnergy=b(c$,"getEnergy",function(a,c,d,b){return Math.round(-27888/a- -27888/b+-27888/d- -27888/c)},"~N,~N,~N,~N");D(c$,"QConst",-27888)});l("JM");u(null,"JM.LabelToken","java.lang.Float java.util.Hashtable JU.AU $.Lst $.PT $.SB $.T3 JS.SV $.T JU.Edge JV.JC".split(" "),function(){c$=r(function(){this.data=this.key=this.text=null;this.tok=0;this.pt=-1;this.ch1="\x00";this.width=0;this.precision=2147483647;this.intAsFloat=
this.zeroPad=this.alignLeft=!1;q(this,arguments)},JM,"LabelToken");t(c$,function(){});b(c$,"set",function(a,c){this.text=a;this.pt=c;return this},"~S,~N");c$.isLabelPropertyTok=b(c$,"isLabelPropertyTok",function(a){for(var c=JM.LabelToken.labelTokenIds.length;0<=--c;)if(JM.LabelToken.labelTokenIds[c]==a)return!0;return!1},"~N");c$.compile=b(c$,"compile",function(a,c,d,b){if(null==c||0==c.length)return null;if(0>c.indexOf("%")||2>c.length)return x(-1,[(new JM.LabelToken).set(c,-1)]);for(var f=0,g=
-1,h=c.length;++g<h&&0<=(g=c.indexOf("%",g));)f++;for(var f=Array(2*f+1),e,m=0,g=0;0<=(e=c.indexOf("%",g));)g!=e&&(f[m++]=(new JM.LabelToken).set(c.substring(g,e),-1)),g=f[m++]=(new JM.LabelToken).set(null,e),a.autoCalculate(g.tok),g=JM.LabelToken.setToken(a,c,g,h,d.charCodeAt(0),b);g<h&&(f[m++]=(new JM.LabelToken).set(c.substring(g),-1));return f},"JV.Viewer,~S,~S,java.util.Map");b(c$,"formatLabel",function(a,c,d,b){return null==d||0==d.length?null:JM.LabelToken.formatLabelAtomArray(a,c,JM.LabelToken.compile(a,
d,"\x00",null),"\x00",null,b)},"JV.Viewer,JM.Atom,~S,JU.P3");c$.formatLabelAtomArray=b(c$,"formatLabelAtomArray",function(a,c,d,b,f,g){if(null==c)return null;var h="0"<b?null:new JU.SB;if(null!=d)for(var e=0;e<d.length;e++){var m=d[e];if(null==m)break;"0"<b&&m.ch1!=b||(0>=m.tok||null!=m.key?null!=h&&(h.append(m.text),"\x00"!=m.ch1&&h.appendC(m.ch1)):JM.LabelToken.appendAtomTokenValue(a,c,m,h,f,g))}return null==h?null:h.toString().intern()},"JV.Viewer,JM.Atom,~A,~S,~A,JU.P3");c$.getBondLabelValues=
b(c$,"getBondLabelValues",function(){var a=new java.util.Hashtable;a.put("#","");a.put("ORDER","");a.put("TYPE","");a.put("LENGTH",Float.$valueOf(0));a.put("ENERGY",Float.$valueOf(0));return a});c$.formatLabelBond=b(c$,"formatLabelBond",function(a,c,d,b,f,g){b.put("#",""+(c.index+1));b.put("ORDER",""+JU.Edge.getBondOrderNumberFromOrder(c.order));b.put("TYPE",JU.Edge.getBondOrderNameFromOrder(c.order));b.put("LENGTH",Float.$valueOf(c.atom1.distance(c.atom2)));b.put("ENERGY",Float.$valueOf(c.getEnergy()));
JM.LabelToken.setValues(d,b);JM.LabelToken.formatLabelAtomArray(a,c.atom1,d,"1",f,g);JM.LabelToken.formatLabelAtomArray(a,c.atom2,d,"2",f,g);return JM.LabelToken.getLabel(d)},"JV.Viewer,JM.Bond,~A,java.util.Map,~A,JU.P3");c$.formatLabelMeasure=b(c$,"formatLabelMeasure",function(a,c,d,b,f){var g=new java.util.Hashtable;g.put("#",""+(c.index+1));g.put("VALUE",Float.$valueOf(b));g.put("UNITS",f);d=JM.LabelToken.compile(a,d,"\u0001",g);if(null==d)return"";JM.LabelToken.setValues(d,g);g=c.ms.at;c=c.countPlusIndices;
for(b=c[0];1<=b;--b)0<=c[b]&&JM.LabelToken.formatLabelAtomArray(a,g[c[b]],d,String.fromCharCode(48+b),null,null);d=JM.LabelToken.getLabel(d);return null==d?"":d},"JV.Viewer,JM.Measurement,~S,~N,~S");c$.setValues=b(c$,"setValues",function(a,c){for(var d=0;d<a.length;d++){var b=a[d];if(null==b)break;if(null!=b.key){var f=c.get(b.key);b.text=p(f,Float)?b.format(f.floatValue(),null,null):b.format(NaN,f,null)}}},"~A,java.util.Map");c$.getLabel=b(c$,"getLabel",function(a){for(var c=new JU.SB,d=0;d<a.length;d++){var b=
a[d];if(null==b)break;c.append(b.text)}return c.toString()},"~A");c$.setToken=b(c$,"setToken",function(a,c,d,b,f,g){var h=d.pt+1;if(h>=b)return d.text="%",h;var e;"-"==c.charAt(h)&&(d.alignLeft=!0,++h);h<b&&"0"==c.charAt(h)&&(d.zeroPad=!0,++h);for(;h<b&&JU.PT.isDigit(e=c.charAt(h));)d.width=10*d.width+(e.charCodeAt(0)-48),++h;d.precision=2147483647;var m=!1;if(h<b&&"."==c.charAt(h)){++h;if(h<b&&"-"==(e=c.charAt(h)))m=!0,++h;if(h<b&&JU.PT.isDigit(e=c.charAt(h)))d.precision=e.charCodeAt(0)-48,m&&(d.precision=
-1-d.precision),++h}if(h<b&&null!=g){var n;for(g=g.keySet().iterator();g.hasNext()&&((n=g.next())||1);)if(c.indexOf(n)==h)return h+(d.key=n).length}if(h<b)switch(e=c.charAt(h++)){case "%":return d.text="%",h;case "[":n=c.indexOf("]",h);if(n<h){h=b;break}h=c.substring(h,n).toLowerCase();h.startsWith("property_")?(d.tok=134221834,d.data=a.getDataObj(h,null,1)):h.startsWith("validation.")?(d.tok=1073742189,d.data=a.getDataObj("property_"+h.substring(11),null,1)):h.startsWith("unitid")?(d.tok=1073741974,
d.data=Integer.$valueOf(JV.JC.getUnitIDFlags(h.substring(6)))):(a=JS.T.getTokenFromName(h),null!=a&&JM.LabelToken.isLabelPropertyTok(a.tok)&&(d.tok=a.tok));h=n+1;break;case "{":n=c.indexOf("}",h);if(n<h){h=b;break}h=c.substring(h,n);d.data=a.getDataObj(h,null,1);null==d.data?(d.data=a.getDataObj(h,null,-1),null!=d.data&&(d.data=d.data[1],p(d.data,String)&&(d.data=JU.PT.split(d.data,"\n")),JU.AU.isAS(d.data)||(d.data=null)),null==d.data?(d.tok=1715472409,d.data=h):d.tok=1275068418):d.tok=134221834;
h=n+1;break;default:var s,l;if(h<b&&0<=(s="fuv".indexOf(e))&&0<=(l="xyz".indexOf(c.charAt(h))))d.tok=JM.LabelToken.twoCharLabelTokenIds[3*s+l],h++;else if(0<=(s="AaBbCcDEefGgIiLlMmNnOoPpQqRrSsTtUuVvWXxxYyyZzz%%%gqW".indexOf(e)))d.tok=JM.LabelToken.labelTokenIds[s]}d.text=c.substring(d.pt,h);if(h<b&&0!=f&&JU.PT.isDigit(e=c.charAt(h)))h++,d.ch1=e,e.charCodeAt(0)!=f&&1!=f&&(d.tok=0);return h},"JV.Viewer,~S,JM.LabelToken,~N,~N,java.util.Map");c$.appendAtomTokenValue=b(c$,"appendAtomTokenValue",function(a,
c,d,b,f,g){var h=null,e=NaN,m=null;try{switch(d.tok){case 1094713347:h=""+(null==f?c.i:f[c.i]);break;case 1765808134:m=c.atomPropertyTuple(a,d.tok,g);break;case 1073741974:h=c.getUnitID(d.data.intValue());break;case 134221834:case 1073742189:if(null!=d.data&&(e=d.data[c.i],1073742189==d.tok&&1!=e&&0!=e)){var n=a.getAtomValidation(d.text.substring(13,d.text.length-1),c);if(null==n)System.out.println("?? o is null ??");else if(1==n.size())e=n.get(0).floatValue();else{e=NaN;h="";a=0;for(var s=n.size();a<
s;a++)h+=","+n.get(a);1<h.length&&(h=h.substring(1))}}break;case 1715472409:var l=a.ms.getInfo(c.mi,d.data),q=c.i-a.ms.am[c.mi].firstAtomIndex,n=null;if(0<=q)if(p(l,Array))var z=l,n=q<z.length?z[q]:null;else p(l,JU.Lst)&&(n=q<l.size()?JS.SV.oValue(l.get(q)):null);null==n?h="":p(n,Float)?e=n.floatValue():p(n,Integer)?e=n.intValue():p(n,JU.T3)?m=n:h=n.toString();break;case 1275068418:null!=d.data&&(z=d.data,h=c.i<z.length?z[c.i]:"");break;case 1631586315:var r=c.getFormalCharge(),h=0<r?""+r+"+":0>r?
""+-r+"-":"";break;case 1094717454:h=c.getModelNumberForLabel();break;case 1128269825:h=""+c.atomPropertyInt(d.tok);break;case 1665140738:e=c.atomPropertyFloat(a,d.tok,g);break;case 1086324749:h=c.group.getStructureId();break;case 1094713367:var t=c.group.getStrucNo(),h=0>=t?"":""+t;break;case 1111490574:if(Float.isNaN(e=c.group.getGroupParameter(1111490574)))h="null";break;case 1111492626:case 1111492627:case 1111492628:case 1111490583:case 1111490584:case 1111490585:case 1111490586:e=c.atomPropertyFloat(a,
d.tok,g);Float.isNaN(e)&&(h="");break;case 1086324747:case 1639976963:case 1237320707:h=c.atomPropertyString(a,d.tok);break;case 1140850705:h=c.getIdentityXYZ(!1,g);break;case 79:h=c.getSymmetryOperatorList(!1);break;case 81:e=c.getOccupancy100()/100;break;default:switch(d.tok&1136656384){case 1094713344:d.intAsFloat?e=c.atomPropertyInt(d.tok):h=""+c.atomPropertyInt(d.tok);break;case 1111490560:e=c.atomPropertyFloat(a,d.tok,g);break;case 1086324736:h=c.atomPropertyString(a,d.tok);break;case 1077936128:m=
c.atomPropertyTuple(a,d.tok,g),null==m&&(h="")}}}catch(u){if(C(u,IndexOutOfBoundsException))e=NaN,m=h=null;else throw u;}h=d.format(e,h,m);null==b?d.text=h:b.append(h)},"JV.Viewer,JM.Atom,JM.LabelToken,JU.SB,~A,JU.P3");b(c$,"format",function(a,c,d){return Float.isNaN(a)?null!=c?JU.PT.formatS(c,this.width,this.precision,this.alignLeft,this.zeroPad):null!=d?(0==this.width&&2147483647==this.precision&&(this.width=6,this.precision=2),JU.PT.formatF(d.x,this.width,this.precision,!1,!1)+JU.PT.formatF(d.y,
this.width,this.precision,!1,!1)+JU.PT.formatF(d.z,this.width,this.precision,!1,!1)):this.text:JU.PT.formatF(a,this.width,this.precision,this.alignLeft,this.zeroPad)},"~N,~S,JU.T3");D(c$,"labelTokenParams","AaBbCcDEefGgIiLlMmNnOoPpQqRrSsTtUuVvWXxxYyyZzz%%%gqW","labelTokenIds",y(-1,[1086324739,1086326786,1086326785,1111492620,1631586315,1086324740,1094713347,1086324746,1086326789,1111490569,1094713357,1094713361,1111492618,1094715393,1094713363,1094715402,1094717454,1086324743,1094713360,1086324742,
79,1088421903,1111492619,1111490570,81,1128269825,1094715412,1086324747,1094713366,1086324740,1111490574,1111492620,1086324745,1111490575,1648363544,1145047055,1140850705,1111492612,1111492609,1111492629,1111492613,1111492610,1111492630,1111492614,1111492611,1111492631,1114249217,1112152066,1112150019,1112150020,1112150021,1112152070,1112152071,1112152073,1112152074,1112152076,1649022989,1112152078,1111490561,1111490562,1094713346,1228931587,1765808134,1094713356,1111490564,1228935687,1287653388,
1825200146,1111490567,1094713359,1111490565,1111490568,1094713362,1715472409,1665140738,1113589787,1086324748,1086324744,1112152075,1639976963,1237320707,1094713367,1086324749,1086326798,1111490576,1111490577,1111490578,1111490579,1094715417,1648361473,1111492626,1111492627,1111492628,1312817669,1145045006,1145047051,1145047050,1145047053,1111492615,1111492616,1111492617,1113589786,1111490571,1111490572,1111490573,1145047052,1111490566,1111490563,1094713351,1094713365,1111490583,1111490584,1111490585,
1111490586,1145045008,1296041474]),"STANDARD_LABEL","%[identify]","twoCharLabelTokenParams","fuv","twoCharLabelTokenIds",y(-1,[1111492612,1111492613,1111492614,1111490577,1111490578,1111490579,1111492626,1111492627,1111492628]))});l("JM");u(null,"JM.Measurement","java.lang.Float JU.Measure $.PT $.SB J.atomdata.RadiusData J.c.VDW JM.LabelToken JU.Escape".split(" "),function(){c$=r(function(){this.ms=this.thisID=null;this.index=0;this.isVisible=!0;this.isTrajectory=this.isHidden=!1;this.$isValid=!0;
this.colix=0;this.labelColix=-1;this.mad=0;this.tickInfo=null;this.traceX=-2147483648;this.count=this.traceY=0;this.pts=this.countPlusIndices=null;this.value=0;this.type=this.strMeasurement=this.vwr=this.text=this.strFormat=null;this.tainted=!1;this.renderArc=this.renderAxis=null;q(this,arguments)},JM,"Measurement");M(c$,function(){this.countPlusIndices=y(5,0)});b(c$,"isTainted",function(){return this.tainted&&!(this.tainted=!1)});b(c$,"setM",function(a,c,d,b,f,g){this.ms=a;this.index=g;this.vwr=
a.vwr;this.colix=b;this.strFormat=f;null!=c&&(this.tickInfo=c.tickInfo,this.pts=c.pts,this.mad=c.mad,this.thisID=c.thisID,this.text=c.text,null!=this.thisID&&null!=this.text&&(this.labelColix=this.text.colix));null==this.pts&&(this.pts=Array(4));c=null==c?null:c.countPlusIndices;this.count=null==c?0:c[0];0<this.count&&(System.arraycopy(c,0,this.countPlusIndices,0,this.count+1),this.isTrajectory=a.isTrajectoryMeasurement(this.countPlusIndices));this.value=Float.isNaN(d)||this.isTrajectory?this.getMeasurement(null):
d;this.formatMeasurement(null);return this},"JM.ModelSet,JM.Measurement,~N,~N,~S,~N");b(c$,"setPoints",function(a,c,d,b){this.ms=a;this.countPlusIndices=c;this.count=c[0];this.pts=null==d?Array(4):d;this.vwr=a.vwr;this.tickInfo=b;return this},"JM.ModelSet,~A,~A,JM.TickInfo");b(c$,"setCount",function(a){this.setCountM(a)},"~N");b(c$,"setCountM",function(a){this.count=this.countPlusIndices[0]=a},"~N");b(c$,"getAtomIndex",function(a){return 0<a&&a<=this.count?this.countPlusIndices[a]:-1},"~N");b(c$,
"getAtom",function(a){a=this.countPlusIndices[a];return-1>a?this.pts[-2-a]:this.ms.at[a]},"~N");b(c$,"getLastIndex",function(){return 0<this.count?this.countPlusIndices[this.count]:-1});b(c$,"getString",function(){return this.strMeasurement});b(c$,"getStringUsing",function(a,c,d){this.vwr=a;this.value=this.getMeasurement(null);this.formatMeasurementAs(c,d,!0);return null==c?this.getInfoAsString(d):this.strMeasurement},"JV.Viewer,~S,~S");b(c$,"getStringDetail",function(){return(2==this.count?"Distance":
3==this.count?"Angle":"Torsion")+this.getMeasurementScript(" - ",!1)+" : "+this.value});b(c$,"refresh",function(a){this.value=this.getMeasurement(a);this.isTrajectory=this.ms.isTrajectoryMeasurement(this.countPlusIndices);this.formatMeasurement(null)},"~A");b(c$,"getMeasurementScript",function(a,c){for(var d=new JU.SB,b=a.equals(" "),f=1;f<=this.count;f++)d.append(1<f?a:" ").append(this.getLabel(f,b,c));return d.toString()},"~S,~B");b(c$,"formatMeasurementAs",function(a,c,d){null!=a&&0==a.length&&
(a=null);if(d||!(null!=a&&0!=a.indexOf(this.countPlusIndices[0]+":")))this.strFormat=a,this.formatMeasurement(c)},"~S,~S,~B");b(c$,"formatMeasurement",function(a){this.tainted=!0;switch(Float.isNaN(this.value)?0:this.count){default:this.strMeasurement=null;break;case 2:this.strMeasurement=this.formatDistance(a);break;case 3:case 4:this.strMeasurement=this.formatAngle(this.value)}},"~S");b(c$,"reformatDistanceIfSelected",function(){2==this.count&&this.vwr.slm.isSelected(this.countPlusIndices[1])&&
this.vwr.slm.isSelected(this.countPlusIndices[2])&&this.formatMeasurement(null)});b(c$,"formatDistance",function(a){var c=this.getLabelString();if(null==c)return"";if(null==a){var d=this.strFormat.indexOf("//");a=0<=d?this.strFormat.substring(d+2):null;null==a&&(a=this.vwr.g.measureDistanceUnits,this.strFormat+="//"+a)}a=JM.Measurement.fixUnits(a);d=c.indexOf("//");0<=d&&(c=c.substring(0,d),0==c.length&&(c="%VALUE"));d=this.fixValue(a,0<=c.indexOf("%V"));return this.formatString(d,a,c)},"~S");c$.fixUnits=
b(c$,"fixUnits",function(a){return a.equals("nanometers")?"nm":a.equals("picometers")?"pm":a.equals("angstroms")?"\u00c5":a.equals("vanderwaals")||a.equals("vdw")?"%":a},"~S");b(c$,"fixValue",function(a,c){if(2!=this.count)return this.value;var d=this.value;if(null!=a){var b=a.equals("%");if(b||a.endsWith("hz")){var f=this.getAtomIndex(1),g=this.getAtomIndex(2);if(0<=f&&0<=g){var f=this.getAtom(1),g=this.getAtom(2),h=!b&&1==JM.Measurement.nmrType(a);this.type=b?"percent":h?"dipoleCouplingConstant":
"J-CouplingConstant";d=b?d/(f.getVanderwaalsRadiusFloat(this.vwr,J.c.VDW.AUTO)+g.getVanderwaalsRadiusFloat(this.vwr,J.c.VDW.AUTO)):h?this.vwr.getNMRCalculation().getDipolarConstantHz(f,g):this.vwr.getNMRCalculation().getIsoOrAnisoHz(!0,f,g,a,null);this.$isValid=!Float.isNaN(d);b&&(a="pm")}}if(a.equals("nm"))return c?Math.round(100*d)/1E3:d/10;if(a.equals("pm"))return c?Math.round(1E3*d)/10:100*d;if(a.equals("au"))return c?Math.round(1E3*(d/0.5291772))/1E3:d/0.5291772;if(a.endsWith("khz"))return c?
Math.round(d/10)/100:d/1E3}return c?Math.round(100*d)/100:d},"~S,~B");c$.nmrType=b(c$,"nmrType",function(a){return 0>a.indexOf("hz")?0:a.startsWith("dc_")||a.equals("khz")?1:2},"~S");b(c$,"formatAngle",function(a){var c=this.getLabelString();0<=c.indexOf("%V")&&(a=Math.round(10*a)/10);return this.formatString(a,"\u00b0",c)},"~N");b(c$,"getLabelString",function(){var a=this.countPlusIndices[0]+":",c=null;if(null!=this.strFormat){if(0==this.strFormat.length)return null;c=2<this.strFormat.length&&0==
this.strFormat.indexOf(a)?this.strFormat:null}null==c&&(this.strFormat=null,c=this.vwr.getDefaultMeasurementLabel(this.countPlusIndices[0]));0==c.indexOf(a)&&(c=c.substring(2));null==this.strFormat&&(this.strFormat=a+c);return c});b(c$,"formatString",function(a,c,d){return JM.LabelToken.formatLabelMeasure(this.vwr,this,d,a,c)},"~N,~S,~S");b(c$,"sameAsPoints",function(a,c){if(this.count!=a[0])return!1;for(var d=!0,b=1;b<=this.count&&d;b++)d=this.countPlusIndices[b]==a[b];if(d)for(b=0;b<this.count&&
d;b++)null!=c[b]&&(d=0.01>this.pts[b].distance(c[b]));if(d)return!0;switch(this.count){default:return!0;case 2:return this.sameAsIJ(a,c,1,2)&&this.sameAsIJ(a,c,2,1);case 3:return this.sameAsIJ(a,c,1,3)&&this.sameAsIJ(a,c,2,2)&&this.sameAsIJ(a,c,3,1);case 4:return this.sameAsIJ(a,c,1,4)&&this.sameAsIJ(a,c,2,3)&&this.sameAsIJ(a,c,3,2)&&this.sameAsIJ(a,c,4,1)}},"~A,~A");b(c$,"sameAsIJ",function(a,c,d,b){d=this.countPlusIndices[d];a=a[b];return 0<=d||0<=a?d==a:0.01>this.pts[-2-d].distance(c[-2-a])},"~A,~A,~N,~N");
b(c$,"sameAs",function(a,c){return this.sameAsIJ(this.countPlusIndices,this.pts,a,c)},"~N,~N");b(c$,"getMeasurement",function(a){if(null==this.countPlusIndices||2>this.count)return NaN;for(var c=this.count;0<=--c;)if(-1==this.countPlusIndices[c+1])return NaN;var c=null==a?this.getAtom(1):a[0],d=null==a?this.getAtom(2):a[1],b;switch(this.count){case 2:return c.distance(d);case 3:return b=null==a?this.getAtom(3):a[2],JU.Measure.computeAngleABC(c,d,b,!0);case 4:return b=null==a?this.getAtom(3):a[2],
a=null==a?this.getAtom(4):a[3],JU.Measure.computeTorsion(c,d,b,a,!0);default:return NaN}},"~A");b(c$,"getLabel",function(a,c,d){var b=this.countPlusIndices[a];return 0>b?(d?"modelIndex "+this.getAtom(a).mi+" ":"")+JU.Escape.eP(this.getAtom(a)):c?"({"+b+"})":this.vwr.getAtomInfo(b)},"~N,~B,~B");b(c$,"setModelIndex",function(a){if(null!=this.pts)for(var c=0;c<this.count;c++)null!=this.pts[c]&&(this.pts[c].mi=a)},"~N");b(c$,"isValid",function(){return!(this.sameAs(1,2)||2<this.count&&this.sameAs(1,3)||
4==this.count&&this.sameAs(2,4))});c$.find=b(c$,"find",function(a,c){for(var d=c.countPlusIndices,b=c.pts,f=a.size();0<=--f;)if(a.get(f).sameAsPoints(d,b))return f;return-1},"JU.Lst,JM.Measurement");b(c$,"isConnected",function(a,c){for(var d=-1,b=1;b<=c;b++){var f=this.getAtomIndex(b);if(!(0>f)){if(0<=d&&!a[f].isBonded(a[d]))return!1;d=f}}return!0},"~A,~N");b(c$,"getInfoAsString",function(a){var c=this.fixValue(a,!0);a=new JU.SB;a.append(2==this.count?null==this.type?"distance":this.type:3==this.count?
"angle":"dihedral");a.append(" \t").appendF(c);a.append(" \t").append(JU.PT.esc(this.strMeasurement));for(c=1;c<=this.count;c++)a.append(" \t").append(this.getLabel(c,!1,!1));null!=this.thisID&&a.append(" \t").append(this.thisID);return a.toString()},"~S");b(c$,"isInRange",function(a,c){if(a.factorType===J.atomdata.RadiusData.EnumType.FACTOR){var d=this.getAtom(1),b=this.getAtom(2),d=(d.getVanderwaalsRadiusFloat(this.vwr,a.vdwType)+b.getVanderwaalsRadiusFloat(this.vwr,a.vdwType))*a.value;return c<=
d}return 3.4028235E38==a.values[0]||c>=a.values[0]&&c<=a.values[1]},"J.atomdata.RadiusData,~N");b(c$,"isIntramolecular",function(a,c){for(var d=-1,b=1;b<=c;b++){var f=this.getAtomIndex(b);if(!(0>f))if(f=a[f].getMoleculeNumber(!1),0>d)d=f;else if(f!=d)return!1}return!0},"~A,~N");b(c$,"isMin",function(a){var c=this.getAtom(1),d=this.getAtom(2),b=A(100*d.distanceSquared(c)),c=c.getAtomName(),d=d.getAtomName(),d=0>c.compareTo(d)?c+d:d+c;a=a.get(d);return null!=a&&b==a.intValue()},"java.util.Map");D(c$,
"NMR_NOT",0,"NMR_DC",1,"NMR_JC",2)});l("JM");u(["J.api.JmolMeasurementClient"],"JM.MeasurementData",["java.lang.Float","JU.BS","$.Lst","JM.Measurement","JU.BSUtil"],function(){c$=r(function(){this.points=this.measurements=this.measurementStrings=this.client=null;this.mustNotBeConnected=this.mustBeConnected=!1;this.tickInfo=null;this.tokAction=12290;this.note=this.strFormat=this.radiusData=null;this.isAll=!1;this.colix=0;this.intramolecular=null;this.mad=0;this.vwr=this.ms=this.minArray=this.units=
this.atoms=this.text=this.thisID=null;this.iFirstAtom=0;this.justOneModel=!0;this.htMin=null;q(this,arguments)},JM,"MeasurementData",null,J.api.JmolMeasurementClient);t(c$,function(){});b(c$,"init",function(a,c,d){this.vwr=c;this.points=d;this.thisID=a;return this},"~S,JV.Viewer,JU.Lst");b(c$,"setModelSet",function(a){this.ms=a;return this},"JM.ModelSet");b(c$,"set",function(a,c,d,b,f,g,h,e,m,n,s,l,q){this.ms=this.vwr.ms;this.tokAction=a;2<=this.points.size()&&(p(this.points.get(0),JU.BS)&&p(this.points.get(1),
JU.BS))&&(this.justOneModel=JU.BSUtil.haveCommon(this.vwr.ms.getModelBS(this.points.get(0),!1),this.vwr.ms.getModelBS(this.points.get(1),!1)));this.htMin=c;this.radiusData=d;this.strFormat=b;this.units=f;this.tickInfo=g;this.mustBeConnected=h;this.mustNotBeConnected=e;this.intramolecular=m;this.isAll=n;this.mad=s;this.colix=l;this.text=q;return this},"~N,java.util.Map,J.atomdata.RadiusData,~S,~S,JM.TickInfo,~B,~B,Boolean,~B,~N,~N,JM.Text");b(c$,"processNextMeasure",function(a){var c=a.getMeasurement(null);
if(!(null!=this.htMin&&!a.isMin(this.htMin)||null!=this.radiusData&&!a.isInRange(this.radiusData,c)))if(null==this.measurementStrings&&null==this.measurements){var d=this.minArray[this.iFirstAtom];a.value=c;c=a.fixValue(this.units,!1);this.minArray[this.iFirstAtom]=-Infinity==1/d?c:Math.min(d,c)}else null!=this.measurementStrings?this.measurementStrings.addLast(a.getStringUsing(this.vwr,this.strFormat,this.units)):this.measurements.addLast(Float.$valueOf(a.getMeasurement(null)))},"JM.Measurement");
b(c$,"getMeasurements",function(a,c){if(c){this.minArray=G(this.points.get(0).cardinality(),0);for(var d=0;d<this.minArray.length;d++)this.minArray[d]=-0;this.define(null,this.ms);return this.minArray}if(a)return this.measurements=new JU.Lst,this.define(null,this.ms),this.measurements;this.measurementStrings=new JU.Lst;this.define(null,this.ms);return this.measurementStrings},"~B,~B");b(c$,"define",function(a,c){this.client=null==a?this:a;this.atoms=c.at;var d=this.points.size();if(!(2>d)){var b=
-1,f=Array(4),g=y(5,0),h=(new JM.Measurement).setPoints(c,g,f,null);h.setCount(d);for(var e=-1,m=0;m<d;m++){var n=this.points.get(m);if(p(n,JU.BS)){e=n.cardinality();if(0==e)return;1<e&&(b=0);e=m;0==m&&(this.iFirstAtom=0);g[m+1]=n.nextSetBit(0)}else f[m]=n,g[m+1]=-2-m}this.nextMeasure(0,e,h,b)}},"J.api.JmolMeasurementClient,JM.ModelSet");b(c$,"nextMeasure",function(a,c,d,b){if(a>c)d.isValid()&&((!this.mustBeConnected||d.isConnected(this.atoms,a))&&(!this.mustNotBeConnected||!d.isConnected(this.atoms,
a))&&(null==this.intramolecular||d.isIntramolecular(this.atoms,a)==this.intramolecular.booleanValue()))&&this.client.processNextMeasure(d);else{var f=this.points.get(a),g=d.countPlusIndices,h=0==a?2147483647:g[a];if(0>h)this.nextMeasure(a+1,c,d,b);else{for(var e=!1,m=f.nextSetBit(0),n=0;0<=m;m=f.nextSetBit(m+1),n++)if(m!=h){var s=this.atoms[m].mi;if(0<=b&&this.justOneModel)if(0==a)b=s;else if(b!=s)continue;g[a+1]=m;0==a&&(this.iFirstAtom=n);e=!0;this.nextMeasure(a+1,c,d,b)}e||this.nextMeasure(a+1,
c,d,b)}}},"~N,~N,JM.Measurement,~N")});l("JM");u(["JM.Measurement"],"JM.MeasurementPending",null,function(){c$=r(function(){this.haveModified=this.haveTarget=!1;this.numSet=0;this.lastIndex=-1;q(this,arguments)},JM,"MeasurementPending",JM.Measurement);b(c$,"set",function(a){return this.setM(a,null,NaN,0,null,0)},"JM.ModelSet");b(c$,"checkPoint",function(a){for(var c=1;c<=this.numSet;c++)if(this.countPlusIndices[c]==-1-c&&0.01>this.pts[c-1].distance(a))return!1;return!0},"JU.Point3fi");b(c$,"getIndexOf",
function(a){for(var c=1;c<=this.numSet;c++)if(this.countPlusIndices[c]==a)return c;return 0},"~N");e(c$,"setCount",function(a){this.setCountM(a);this.numSet=a},"~N");b(c$,"addPoint",function(a,c,d){this.haveModified=a!=this.lastIndex;this.lastIndex=a;if(null==c){if(0<this.getIndexOf(a))return d&&(this.numSet=this.count),this.count;this.haveTarget=0<=a;if(!this.haveTarget)return this.count=this.numSet;this.count=this.numSet+1;this.countPlusIndices[this.count]=a}else{if(!this.checkPoint(c))return d&&
(this.numSet=this.count),this.count;a=this.numSet;this.haveModified=this.haveTarget=!0;this.count=this.numSet+1;this.pts[a]=c;this.countPlusIndices[this.count]=-2-a}this.countPlusIndices[0]=this.count;d&&(this.numSet=this.count);this.value=this.getMeasurement(null);this.strFormat=null;this.formatMeasurement(null);return this.count},"~N,JU.Point3fi,~B")});l("JM");u(["JU.BS","$.SB"],"JM.Model",["java.util.Hashtable","JU.AU","JU.BSUtil"],function(){c$=r(function(){this.ms=null;this.fileIndex=this.modelIndex=
0;this.isModelKit=this.isPdbWithMultipleBonds=this.isBioModel=!1;this.translation=this.dataFrames=this.biosymmetry=this.properties=this.auxiliaryInfo=this.orientation=this.dssrCache=this.simpleCage=this.chains=null;this.dataSourceFrame=-1;this.loadState="";this.loadScript=null;this.isTrajectory=this.isJmolDataFrame=this.structureTainted=this.hasRasmolHBonds=!1;this.act=this.insertionCount=this.altLocCount=this.trajectoryBaseIndex=0;this.bondCount=-1;this.chainCount=0;this.groupCount=-1;this.firstMoleculeIndex=
this.firstAtomIndex=this.biosymmetryCount=this.moleculeCount=this.hydrogenCount=0;this.bsAtomsDeleted=this.bsAtoms=null;this.frameDelay=this.defaultRotationRadius=0;this.selectedTrajectory=-1;this.pdbID=this.jmolFrameType=this.jmolData=null;q(this,arguments)},JM,"Model");M(c$,function(){this.chains=Array(8);this.loadScript=new JU.SB;this.bsAtoms=new JU.BS;this.bsAtomsDeleted=new JU.BS});t(c$,function(){});b(c$,"set",function(a,c,d,b,f,g){this.ms=a;this.dataSourceFrame=this.modelIndex=c;this.trajectoryBaseIndex=
(this.isTrajectory=0<=d)?d:c;null==g&&(g=new java.util.Hashtable);this.auxiliaryInfo=g;g.containsKey("biosymmetryCount")&&(this.biosymmetryCount=g.get("biosymmetryCount").intValue(),this.biosymmetry=g.get("biosymmetry"));this.properties=f;null==b?this.jmolFrameType="modelSet":(this.jmolData=b,this.isJmolDataFrame=!0,g.put("jmolData",b),g.put("title",b),this.jmolFrameType=0<=b.indexOf("ramachandran")?"ramachandran":0<=b.indexOf("quaternion")?"quaternion":"data");return this},"JM.ModelSet,~N,~N,~S,java.util.Properties,java.util.Map");
b(c$,"getTrueAtomCount",function(){return this.bsAtoms.cardinality()-this.bsAtomsDeleted.cardinality()});b(c$,"resetBoundCount",function(){this.bondCount=-1});b(c$,"getBondCount",function(){if(0<=this.bondCount)return this.bondCount;var a=this.ms.bo;this.bondCount=0;for(var c=this.ms.bondCount;0<=--c;)a[c].atom1.mi==this.modelIndex&&this.bondCount++;return this.bondCount});b(c$,"getChainCount",function(a){if(1<this.chainCount&&!a)for(a=0;a<this.chainCount;a++)if(0==this.chains[a].chainID)return this.chainCount-
1;return this.chainCount},"~B");b(c$,"calcSelectedGroupsCount",function(a){for(var c=this.chainCount;0<=--c;)this.chains[c].calcSelectedGroupsCount(a)},"JU.BS");b(c$,"getGroupCount",function(){if(0>this.groupCount){this.groupCount=0;for(var a=this.chainCount;0<=--a;)this.groupCount+=this.chains[a].groupCount}return this.groupCount});b(c$,"getChainAt",function(a){return a<this.chainCount?this.chains[a]:null},"~N");b(c$,"getChain",function(a){for(var c=this.chainCount;0<=--c;){var d=this.chains[c];
if(d.chainID==a)return d}return null},"~N");b(c$,"fixIndices",function(a,c,d){this.fixIndicesM(a,c,d)},"~N,~N,JU.BS");b(c$,"fixIndicesM",function(a,c,d){this.dataSourceFrame>a&&this.dataSourceFrame--;this.trajectoryBaseIndex>a&&this.trajectoryBaseIndex--;this.firstAtomIndex-=c;for(a=0;a<this.chainCount;a++)this.chains[a].fixIndices(c,d);JU.BSUtil.deleteBits(this.bsAtoms,d);JU.BSUtil.deleteBits(this.bsAtomsDeleted,d)},"~N,~N,JU.BS");b(c$,"freeze",function(){this.freezeM();return!1});b(c$,"freezeM",
function(){for(var a=0;a<this.chainCount;a++)if(0==this.chains[a].groupCount){for(var c=a+1;c<this.chainCount;c++)this.chains[c-1]=this.chains[c];this.chainCount--}this.chains=JU.AU.arrayCopyObject(this.chains,this.chainCount);this.groupCount=-1;this.getGroupCount();for(a=0;a<this.chainCount;++a)this.chains[a].groups=JU.AU.arrayCopyObject(this.chains[a].groups,this.chains[a].groupCount)})});l("JM");u(["java.util.Hashtable","JU.BS"],"JM.ModelLoader","java.lang.Boolean $.Float $.NullPointerException java.util.Arrays JU.AU $.Lst $.P3 $.PT $.SB $.V3 J.api.Interface JM.Chain $.Group $.Model $.ModelSet JS.T JU.BSUtil $.Elements $.JmolMolecule $.Logger".split(" "),
function(){c$=r(function(){this.modelSet0=this.ms=this.vwr=null;this.appendNew=this.merging=!1;this.specialAtomIndexes=this.group3Counts=this.group3Lists=this.jmolData=null;this.doAddHydrogens=this.doMinimize=this.isPyMOLsession=this.isTrajectory=this.isMutate=this.is2D=this.someModelsAreModulated=this.someModelsHaveUnitcells=!1;this.groups=this.jbr=this.fileHeader=null;this.groupCount=0;this.firstAtomIndexes=this.seqcodes=this.group3Of=this.chainOf=this.htAtomMap=this.modulationTUV=null;this.iModel=
0;this.model=null;this.currentChainID=0;this.isNewChain=!1;this.currentChain=null;this.currentGroupSequenceNumber=0;this.currentGroupInsertionCode="\x00";this.nullGroup=this.currentGroup3=null;this.adapterTrajectoryCount=this.adapterModelCount=this.baseTrajectoryCount=this.baseGroupIndex=this.baseAtomIndex=this.baseModelCount=this.baseModelIndex=0;this.modulationOn=this.noAutoBond=!1;this.$mergeGroups=this.htGroup1=null;this.iChain=0;this.structuresDefinedInFile=this.vStereo=null;q(this,arguments)},
JM,"ModelLoader");M(c$,function(){this.htAtomMap=new java.util.Hashtable;this.structuresDefinedInFile=new JU.BS});t(c$,function(a,c,d,b,f,g){this.vwr=a;this.ms=new JM.ModelSet(a,c);var h=a.getModelAdapter();this.modelSet0=f;(this.merging=null!=f&&0<f.ac)?this.ms.canSkipLoad=!1:a.resetShapes(!1);this.ms.preserveState=a.getPreserveState();this.ms.showRebondTimes=a.getBoolean(603979934);null==g?(this.initializeInfo(c,null),this.createModelSet(null,null,null),a.setStringProperty("_fileType","")):(this.ms.preserveState||
(this.ms.canSkipLoad=!1),a=h.getAtomSetCollectionAuxiliaryInfo(b),a.put("loadScript",d),this.initializeInfo(h.getFileTypeName(b).toLowerCase().intern(),a),this.createModelSet(h,b,g),null!=this.jbr&&this.jbr.setLoader(null),this.jbr=null)},"JV.Viewer,~S,JU.SB,~O,JM.ModelSet,JU.BS");b(c$,"initializeInfo",function(a,c){this.ms.g3d=this.vwr.gdata;this.ms.modelSetTypeName=a;this.ms.isXYZ="xyz"===a;this.ms.msInfo=c;this.ms.modelSetProperties=this.ms.getInfoM("properties");this.ms.haveBioModels=this.ms.getMSInfoB("isPDB");
this.isMutate=this.ms.getMSInfoB("isMutate");this.ms.haveBioModels&&(this.jbr=this.vwr.getJBR().setLoader(this));this.jmolData=0==this.adapterModelCount?this.ms.getInfoM("jmolData"):null;this.fileHeader=this.ms.getInfoM("fileHeader");var d=this.ms.getInfoM("trajectorySteps");if(this.isTrajectory=null!=d)this.ms.trajectory=this.newTrajectory(this.ms,d);this.isPyMOLsession=this.ms.getMSInfoB("isPyMOL");this.doAddHydrogens=null!=this.jbr&&!this.isTrajectory&&!this.isPyMOLsession&&!this.ms.getMSInfoB("pdbNoHydrogens")&&
(this.ms.getMSInfoB("pdbAddHydrogens")||this.vwr.getBooleanProperty("pdbAddHydrogens"));null!=c&&(c.remove("pdbNoHydrogens"),c.remove("pdbAddHydrogens"),c.remove("trajectorySteps"),this.isTrajectory&&(this.ms.vibrationSteps=c.remove("vibrationSteps")),c.containsKey("legacyJavaFloat")&&this.vwr.setBooleanProperty("legacyJavaFloat",!0));this.htGroup1=this.ms.getInfoM("htGroup1");d=this.ms.getInfoM("modulationOn");null!=d&&(this.modulationOn=!0,this.modulationTUV=d===Boolean.TRUE?null:d);this.noAutoBond=
this.ms.getMSInfoB("noAutoBond");this.doMinimize=(this.is2D=this.ms.getMSInfoB("is2D"))&&this.ms.getMSInfoB("doMinimize");this.adapterTrajectoryCount=this.isTrajectory?this.ms.trajectory.steps.size():0;this.ms.someModelsHaveSymmetry=this.ms.getMSInfoB("someModelsHaveSymmetry");this.someModelsHaveUnitcells=this.ms.getMSInfoB("someModelsHaveUnitcells");this.someModelsAreModulated=this.ms.getMSInfoB("someModelsAreModulated");this.ms.someModelsHaveFractionalCoordinates=this.ms.getMSInfoB("someModelsHaveFractionalCoordinates");
this.merging&&(this.ms.haveBioModels=(new Boolean(this.ms.haveBioModels|this.modelSet0.haveBioModels)).valueOf(),this.ms.bioModelset=this.modelSet0.bioModelset,this.ms.someModelsHaveSymmetry=(new Boolean(this.ms.someModelsHaveSymmetry|this.modelSet0.getMSInfoB("someModelsHaveSymmetry"))).valueOf(),this.someModelsHaveUnitcells=(new Boolean(this.someModelsHaveUnitcells|this.modelSet0.getMSInfoB("someModelsHaveUnitcells"))).valueOf(),this.ms.someModelsHaveFractionalCoordinates=(new Boolean(this.ms.someModelsHaveFractionalCoordinates|
this.modelSet0.getMSInfoB("someModelsHaveFractionalCoordinates"))).valueOf(),this.ms.someModelsHaveAromaticBonds=(new Boolean(this.ms.someModelsHaveAromaticBonds|this.modelSet0.someModelsHaveAromaticBonds)).valueOf(),this.ms.msInfo.put("someModelsHaveSymmetry",Boolean.$valueOf(this.ms.someModelsHaveSymmetry)),this.ms.msInfo.put("someModelsHaveUnitcells",Boolean.$valueOf(this.someModelsHaveUnitcells)),this.ms.msInfo.put("someModelsHaveFractionalCoordinates",Boolean.$valueOf(this.ms.someModelsHaveFractionalCoordinates)),
this.ms.msInfo.put("someModelsHaveAromaticBonds",Boolean.$valueOf(this.ms.someModelsHaveAromaticBonds)))},"~S,java.util.Map");b(c$,"newTrajectory",function(a,c){return J.api.Interface.getInterface("JM.Trajectory",this.vwr,"load").set(this.vwr,a,c)},"JM.ModelSet,JU.Lst");b(c$,"getGroup3",function(a){return a>=this.group3Of.length?null:this.group3Of[a]},"~N");b(c$,"getFirstAtomIndex",function(a){return this.firstAtomIndexes[a]},"~N");b(c$,"getAtomCount",function(){return this.ms.ac});b(c$,"createModelSet",
function(a,c,d){var b=null==a?0:a.getAtomCount(c);0<b&&JU.Logger.info("reading "+b+" atoms");this.adapterModelCount=null==a?1:a.getAtomSetCount(c);this.appendNew=!this.isMutate&&(!this.merging||null==a||1<this.adapterModelCount||this.isTrajectory||this.vwr.getBoolean(603979792));this.htAtomMap.clear();this.chainOf=Array(32);this.group3Of=Array(32);this.seqcodes=y(32,0);this.firstAtomIndexes=y(32,0);this.currentChainID=2147483647;this.currentChain=null;this.currentGroupInsertionCode="\uffff";this.currentGroup3=
"xxxxx";this.iModel=-1;this.model=null;this.merging&&this.mergeTrajAndVib(this.modelSet0,this.ms);this.initializeAtomBondModelCounts(b);null!=d&&(this.doMinimize||this.is2D)&&d.setBits(this.baseAtomIndex,this.baseAtomIndex+b);null==a?this.setModelNameNumberProperties(0,-1,"",1,null,null,null):(0<this.adapterModelCount&&(JU.Logger.info("ModelSet: haveSymmetry:"+this.ms.someModelsHaveSymmetry+" haveUnitcells:"+this.someModelsHaveUnitcells+" haveFractionalCoord:"+this.ms.someModelsHaveFractionalCoordinates),
JU.Logger.info(this.adapterModelCount+" model"+(1==this.ms.mc?"":"s")+' in this collection. Use getProperty "modelInfo" or getProperty "auxiliaryInfo" to inspect them.')),d=this.ms.getInfoM("defaultOrientationQuaternion"),null!=d&&(JU.Logger.info("defaultOrientationQuaternion = "+d),JU.Logger.info('Use "set autoLoadOrientation TRUE" before loading or "restore orientation DEFAULT" after loading to view this orientation.')),this.iterateOverAllNewModels(a,c),this.iterateOverAllNewAtoms(a,c),this.iterateOverAllNewBonds(a,
c),this.merging&&!this.appendNew&&(d=a.getAtomSetAuxiliaryInfo(c,0),this.ms.setInfo(this.baseModelIndex,"initialAtomCount",d.get("initialAtomCount")),this.ms.setInfo(this.baseModelIndex,"initialBondCount",d.get("initialBondCount"))),this.initializeUnitCellAndSymmetry(),this.initializeBonding());this.finalizeGroupBuild();this.is2D&&this.doMinimize&&this.applyStereochemistry();this.doAddHydrogens&&this.jbr.finalizeHydrogens();null!=a&&(this.ms.calculatePolymers(this.groups,this.groupCount,this.baseGroupIndex,
null),null!=this.jbr&&this.jbr.iterateOverAllNewStructures(a,c));this.setDefaultRendering(this.vwr.getInt(553648170));var f=this.vwr.rd;d=this.ms.ac;for(var b=this.ms.at,g=this.baseAtomIndex;g<d;g++)b[g].setMadAtom(this.vwr,f);f=this.ms.am;for(g=f[this.baseModelIndex].firstAtomIndex;g<d;g++)f[b[g].mi].bsAtoms.set(g);this.freeze();this.finalizeShapes();this.vwr.setModelSet(this.ms);this.setAtomProperties();null!=a&&a.finish(c);null!=this.modelSet0&&this.modelSet0.releaseModelSet();this.modelSet0=null},
"J.api.JmolAdapter,~O,JU.BS");b(c$,"mergeTrajAndVib",function(a,c){this.baseModelCount=a.mc;this.baseTrajectoryCount=0;null==a.trajectory&&this.isTrajectory&&this.newTrajectory(a,new JU.Lst);if(!(null==a.trajectory||0==a.mc)){this.baseTrajectoryCount=a.mc;for(var d=a.trajectory.steps.size(),b=d;b<this.baseTrajectoryCount;b++)a.trajectory.steps.addLast(null);if(this.isTrajectory){if(null==a.vibrationSteps){a.vibrationSteps=new JU.Lst;for(b=d;0<=--b;)a.vibrationSteps.addLast(null)}d=c.trajectory.steps.size();
for(b=0;b<d;b++)a.trajectory.steps.addLast(c.trajectory.steps.get(b)),a.vibrationSteps.addLast(null==c.vibrationSteps?null:c.vibrationSteps.get(b))}else c.trajectory=this.newTrajectory(c,null);c.vibrationSteps=a.vibrationSteps;c.trajectory.steps=a.trajectory.steps;a.trajectory=null}},"JM.ModelSet,JM.ModelSet");b(c$,"setDefaultRendering",function(a){if(!this.isPyMOLsession){for(var c=new JU.SB,d=this.ms.mc,b=this.ms.am,f=this.baseModelIndex;f<d;f++)b[f].isBioModel&&b[f].getDefaultLargePDBRendering(c,
a);0!=c.length()&&(c.append("select *;"),a=this.ms.getInfoM("jmolscript"),null==a&&(a=""),c.append(a),this.ms.msInfo.put("jmolscript",c.toString()))}},"~N");b(c$,"setAtomProperties",function(){for(var a=this.ms.mc,c=this.baseModelIndex;c<a;c++){var d=this.ms.getInfo(c,"atomProperties");null!=this.jmolData&&this.addJmolDataProperties(this.ms.am[c],this.ms.getInfo(c,"jmolDataProperties"));var b=this.ms.getInfo(c,"groupPropertyList");this.ms.am[c].isBioModel&&null!=this.ms.getInfo(c,"dssr")&&this.vwr.getAnnotationParser(!0).setGroup1(this.ms,
c);if(null!=d)for(var f,d=d.entrySet().iterator();d.hasNext()&&((f=d.next())||1);){var g=f.getKey(),h=f.getValue(),e=this.ms.getModelAtomBitSetIncludingDeleted(c,!0);if(this.doAddHydrogens)var m=null!=b&&JU.PT.isOneOf(g,b),h=this.jbr.fixPropertyValue(e,h,m);g="property_"+g.toLowerCase();JU.Logger.info("creating "+g+" for model "+this.ms.getModelName(c));this.vwr.setData(g,x(-1,[g,h,e,Integer.$valueOf(-1),Boolean.FALSE]),this.ms.ac,0,0,2147483647,0)}}});b(c$,"initializeAtomBondModelCounts",function(a){var c=
this.adapterTrajectoryCount;this.merging?(this.appendNew?(this.baseModelIndex=this.baseModelCount,this.ms.mc=this.baseModelCount+this.adapterModelCount):(this.baseModelIndex=this.vwr.am.cmi,0>this.baseModelIndex&&(this.baseModelIndex=this.baseModelCount-1),this.ms.mc=this.baseModelCount),this.ms.ac=this.baseAtomIndex=this.modelSet0.ac,this.ms.bondCount=this.modelSet0.bondCount,this.$mergeGroups=this.modelSet0.getGroups(),this.groupCount=this.baseGroupIndex=this.$mergeGroups.length,this.ms.mergeModelArrays(this.modelSet0),
this.ms.growAtomArrays(this.ms.ac+a)):(this.ms.mc=this.adapterModelCount,this.ms.ac=0,this.ms.bondCount=0,this.ms.at=Array(a),this.ms.bo=Array(250+a));this.doAddHydrogens&&this.jbr.initializeHydrogenAddition();1<c&&(this.ms.mc+=c-1);this.ms.am=JU.AU.arrayCopyObject(this.ms.am,this.ms.mc);this.ms.modelFileNumbers=JU.AU.arrayCopyI(this.ms.modelFileNumbers,this.ms.mc);this.ms.modelNumbers=JU.AU.arrayCopyI(this.ms.modelNumbers,this.ms.mc);this.ms.modelNumbersForAtomLabel=JU.AU.arrayCopyS(this.ms.modelNumbersForAtomLabel,
this.ms.mc);this.ms.modelNames=JU.AU.arrayCopyS(this.ms.modelNames,this.ms.mc);this.ms.frameTitles=JU.AU.arrayCopyS(this.ms.frameTitles,this.ms.mc);if(this.merging)for(a=0;a<this.modelSet0.mc;a++)(this.ms.am[a]=this.modelSet0.am[a]).ms=this.ms},"~N");b(c$,"mergeGroups",function(){var a=this.modelSet0.getAuxiliaryInfo(null),c=a.get("group3Lists"),a=a.get("group3Counts");if(null!=c){for(var d=0;d<this.baseModelCount;d++)this.group3Lists[d+1]=c[d+1],this.group3Counts[d+1]=a[d+1],this.structuresDefinedInFile.set(d);
this.group3Lists[0]=c[0];this.group3Counts[0]=a[0]}!this.appendNew&&this.ms.haveBioModels&&this.structuresDefinedInFile.clear(this.baseModelIndex)});b(c$,"iterateOverAllNewModels",function(a,c){this.group3Lists=Array(this.ms.mc+1);this.group3Counts=JU.AU.newInt2(this.ms.mc+1);this.structuresDefinedInFile=new JU.BS;this.merging&&this.mergeGroups();for(var d=this.isTrajectory?this.baseTrajectoryCount:-1,b=this.baseModelIndex,f=0;f<this.adapterModelCount;++f,++b){var g=a.getAtomSetNumber(c,f),h=a.getAtomSetName(c,
f),e=a.getAtomSetAuxiliaryInfo(c,f);e.containsKey("modelID")&&e.put("modelID0",e.get("modelID"));var m=e.get("modelProperties");this.vwr.setStringProperty("_fileType",e.get("fileType"));null==h&&(h=null!=this.jmolData&&2<this.jmolData.indexOf(";")?this.jmolData.substring(this.jmolData.indexOf(":")+2,this.jmolData.indexOf(";")):this.appendNew?""+g%1E6:"");this.setModelNameNumberProperties(b,d,h,g,m,e,this.jmolData);null!=this.ms.getInfo(b,"periodicOriginXyz")&&(this.ms.someModelsHaveSymmetry=!0)}d=
this.ms.am[this.baseModelIndex];this.vwr.setSmilesString(this.ms.msInfo.get("smilesString"));f=this.ms.msInfo.remove("loadState");g=this.ms.msInfo.remove("loadScript");if(0>g.indexOf("Viewer.AddHydrogens")||!d.isModelKit){h=JU.PT.split(f,"\n");e=new JU.SB;for(f=0;f<h.length;f++)m=d.loadState.indexOf(h[f]),(0>m||m!=d.loadState.lastIndexOf(h[f]))&&e.append(h[f]).appendC("\n");d.loadState+=d.loadScript.toString()+e.toString();d.loadScript=new JU.SB;0<=g.indexOf("load append ")&&g.append("; set appendNew true");
d.loadScript.append("  ").appendSB(g).append(";\n")}if(this.isTrajectory){f=this.ms.mc-b+1;JU.Logger.info(f+" trajectory steps read");this.ms.setInfo(this.baseModelCount,"trajectoryStepCount",Integer.$valueOf(f));d=this.adapterModelCount;for(f=b;f<this.ms.mc;f++,d++)this.ms.am[f]=this.ms.am[this.baseModelCount],this.ms.modelNumbers[f]=a.getAtomSetNumber(c,d),this.ms.modelNames[f]=a.getAtomSetName(c,d),this.structuresDefinedInFile.set(f)}this.finalizeModels(this.baseModelCount)},"J.api.JmolAdapter,~O");
b(c$,"setModelNameNumberProperties",function(a,c,d,b,f,g,h){if(this.appendNew){var e=null!=g&&Boolean.TRUE===g.get("isPDB");this.ms.am[a]=e?this.jbr.getBioModel(a,c,h,f,g):(new JM.Model).set(this.ms,a,c,h,f,g);this.ms.modelNumbers[a]=b;this.ms.modelNames[a]=d;e&&this.jbr.setGroupLists(a)}else c=g.get("PDB_CONECT_firstAtom_count_max"),null!=c&&this.ms.setInfo(a,"PDB_CONECT_firstAtom_count_max",c);c=this.ms.am;b=this.ms.at;c[a].bsAtoms.set(b.length+1);c[a].bsAtoms.clear(b.length+1);b=this.ms.getInfo(a,
"altLocs");c[a].altLocCount=null==b?0:b.length;null!=b&&(b=b.toCharArray(),java.util.Arrays.sort(b),b=String.valueOf(b),this.ms.setInfo(a,"altLocs",b));b=this.ms.getInfo(a,"insertionCodes");c[a].insertionCount=null==b?0:b.length;d=null!=this.ms.modelSetName&&this.ms.modelSetName.startsWith("Jmol Model Kit")||d.startsWith("Jmol Model Kit")||"Jme".equals(this.ms.getInfo(a,"fileType"));c[a].isModelKit=d},"~N,~N,~S,~N,java.util.Properties,java.util.Map,~S");b(c$,"finalizeModels",function(a){var c=this.ms.mc;
if(c!=a){var d,b=0,f=-1,g=this.ms.modelNumbers,h=this.ms.modelNames;if(this.isTrajectory)for(var e=a;++e<this.ms.mc;)g[e]=g[e-1]+1;if(0<a){if(1E6>g[0])for(e=0;e<a;e++)0==h[e].length&&(h[e]=""+g[e]),g[e]+=1E6,this.ms.modelNumbersForAtomLabel[e]="1."+(e+1);var m=g[a-1],m=m-m%1E6;1E6>g[a]&&(m+=1E6);for(e=a;e<c;e++)g[e]+=m}for(var n=this.ms.am,e=a;e<c;++e)if(this.ms.setInfo(e,"fileType",this.ms.modelSetTypeName),null!=this.fileHeader&&this.ms.setInfo(e,"fileHeader",this.fileHeader),m=v(g[e]/1E6),m!=f&&
(b=0,f=m),b++,0==m?(d=""+this.ms.getModelNumber(e),m=1):d=m+"."+b,this.ms.modelNumbersForAtomLabel[e]=d,n[e].fileIndex=m-1,this.ms.modelFileNumbers[e]=1E6*m+b,null==h[e]||0==h[e].length)h[e]=d;if(this.merging)for(e=0;e<a;e++)n[e].ms=this.ms;for(e=0;e<c;e++)this.ms.setInfo(e,"modelName",h[e]),this.ms.setInfo(e,"modelNumber",Integer.$valueOf(g[e]%1E6)),this.ms.setInfo(e,"modelFileNumber",Integer.$valueOf(this.ms.modelFileNumbers[e])),this.ms.setInfo(e,"modelNumberDotted",this.ms.getModelNumberDotted(e)),
a=this.ms.getInfo(e,"altLocs"),null!=a&&JU.Logger.info("model "+this.ms.getModelNumberDotted(e)+" alternative locations: "+a)}},"~N");b(c$,"iterateOverAllNewAtoms",function(a,c){var d=-1,b=!1,f=!1,g=a.getAtomIterator(c),h=0,e=this.ms.am;0<this.ms.mc&&(this.nullGroup=(new JM.Group).setGroup(new JM.Chain(this.ms.am[this.baseModelIndex],32,0),"",0,-1,-1));for(;g.hasNext();){h++;var m=g.getAtomSetIndex()+this.baseModelIndex;m!=d&&(this.iChain=0,this.iModel=m,this.model=e[m],this.currentChainID=2147483647,
this.isNewChain=!0,e[m].bsAtoms.clearAll(),b=e[m].isBioModel,d=m,f=b&&this.doAddHydrogens,null!=this.jbr&&this.jbr.setHaveHsAlready(!1));var m=g.getGroup3(),n=g.getChainID();this.checkNewGroup(a,n,m,g.getSequenceNumber(),g.getInsertionCode(),f,!1);n=g.getElementNumber();f&&1==JU.Elements.getElementNumber(n)&&this.jbr.setHaveHsAlready(!0);var s=g.getAtomName(),l=f?this.getPdbCharge(m,s):g.getFormalCharge();this.addAtom(b,g.getSymmetry(),g.getAtomSite(),g.getUniqueID(),n,s,l,g.getPartialCharge(),g.getTensors(),
g.getOccupancy(),g.getBfactor(),g.getXYZ(),g.getIsHetero(),g.getSerial(),g.getSeqID(),m,g.getVib(),g.getAltLoc(),g.getRadius())}0<this.groupCount&&f&&this.jbr.addImplicitHydrogenAtoms(a,this.groupCount-1,this.isNewChain?1:0);d=-1;b=null;f=this.ms.at;for(g=0;g<this.ms.ac;g++)f[g].mi!=d&&(d=f[g].mi,e[d].firstAtomIndex=g,m=this.ms.getDefaultVdwType(d),m!==b&&(JU.Logger.info("Default Van der Waals type for model set to "+m.getVdwLabel()),b=m));JU.Logger.info(h+" atoms created")},"J.api.JmolAdapter,~O");
b(c$,"addJmolDataProperties",function(a,c){if(null!=c)for(var d=a.bsAtoms,b=d.cardinality(),f,g=c.entrySet().iterator();g.hasNext()&&((f=g.next())||1);){var h=f.getKey(),e=f.getValue();if(e.length!=b)break;var m=h.startsWith("property_")?1715472409:JS.T.getTokFromName(h);switch(m){default:if(JS.T.tokAttr(m,2048)){this.vwr.setAtomProperty(d,m,0,0,null,e,null);break}case 1111492629:case 1111492630:case 1111492631:h="property_"+h;case 1715472409:this.vwr.setData(h,x(-1,[h,e,d,Integer.$valueOf(1)]),0,
0,0,0,0)}}},"JM.Model,java.util.Map");b(c$,"getPdbCharge",function(a,c){return a.equals("ARG")&&c.equals("NH1")||a.equals("LYS")&&c.equals("NZ")||a.equals("HIS")&&c.equals("ND1")?1:0},"~S,~S");b(c$,"addAtom",function(a,c,d,b,f,g,h,e,m,n,s,l,p,q,r,t,u,v,x){var y=0,A=null;if(null!=g){var B;if(0<=(B=g.indexOf("\x00")))A=g.substring(B+1),g=g.substring(0,B);a&&(0<=g.indexOf("*")&&(g=g.$replace("*","'")),y=this.vwr.getJBR().lookupSpecialAtomID(g),2==y&&"CA".equalsIgnoreCase(t)&&(y=0))}a=this.ms.addAtom(this.iModel,
this.nullGroup,f,g,A,q,r,d,l,x,u,h,e,n,s,m,p,y,c);a.altloc=v;this.htAtomMap.put(b,a)},"~B,JU.BS,~N,~O,~N,~S,~N,~N,JU.Lst,~N,~N,JU.P3,~B,~N,~N,~S,JU.V3,~S,~N");b(c$,"checkNewGroup",function(a,c,d,b,f,g,h){var e=null==d?null:d.intern();c!=this.currentChainID&&(this.currentChainID=c,this.currentChain=this.getOrAllocateChain(this.model,c),this.currentGroupInsertionCode="\uffff",this.currentGroupSequenceNumber=-1,this.currentGroup3="xxxx",this.isNewChain=!0);if(b!=this.currentGroupSequenceNumber||f!=this.currentGroupInsertionCode||
e!==this.currentGroup3){0<this.groupCount&&g&&(this.jbr.addImplicitHydrogenAtoms(a,this.groupCount-1,this.isNewChain&&!h?1:0),this.jbr.setHaveHsAlready(!1));this.currentGroupSequenceNumber=b;this.currentGroupInsertionCode=f;for(this.currentGroup3=e;this.groupCount>=this.group3Of.length;)this.chainOf=JU.AU.doubleLength(this.chainOf),this.group3Of=JU.AU.doubleLengthS(this.group3Of),this.seqcodes=JU.AU.doubleLengthI(this.seqcodes),this.firstAtomIndexes=JU.AU.doubleLengthI(this.firstAtomIndexes);this.firstAtomIndexes[this.groupCount]=
this.ms.ac;this.chainOf[this.groupCount]=this.currentChain;this.group3Of[this.groupCount]=d;this.seqcodes[this.groupCount]=JM.Group.getSeqcodeFor(b,f);++this.groupCount}},"J.api.JmolAdapter,~N,~S,~N,~S,~B,~B");b(c$,"getOrAllocateChain",function(a,c){var d=a.getChain(c);if(null!=d)return d;a.chainCount==a.chains.length&&(a.chains=JU.AU.doubleLength(a.chains));return a.chains[a.chainCount++]=new JM.Chain(a,c,0==c||32==c?0:++this.iChain)},"JM.Model,~N");b(c$,"iterateOverAllNewBonds",function(a,c){var d=
a.getBondIterator(c);if(null!=d){var b=this.vwr.getMadBond();this.ms.defaultCovalentMad=null==this.jmolData?b:0;for(var f=!1;d.hasNext();){var g=d.getEncodedOrder(),h=g,e=this.bondAtoms(d.getAtomUniqueID1(),d.getAtomUniqueID2(),h);null!=e&&(1<h&&(1025!=h&&1041!=h)&&(f=!0),h=d.getRadius(),0<h&&e.setMad(aa(2E3*h)),h=d.getColix(),0<=h&&(e.colix=h),e.order|=g&98304)}f&&(this.ms.someModelsHaveSymmetry&&!this.vwr.getBoolean(603979794))&&JU.Logger.info('ModelSet: use "set appletSymmetryToBonds TRUE " to apply the file-based multiple bonds to symmetry-generated atoms.');
this.ms.defaultCovalentMad=b}},"J.api.JmolAdapter,~O");b(c$,"bondAtoms",function(a,c,d){var b=this.htAtomMap.get(a);if(null==b)return JU.Logger.error("bondAtoms cannot find atomUid1?:"+a),null;a=this.htAtomMap.get(c);if(null==a)return JU.Logger.error("bondAtoms cannot find atomUid2?:"+c),null;if(b.isBonded(a))return null;1025==d||1041==d?(c=this.ms.bondMutually(b,a,this.is2D?d:1,this.ms.getDefaultMadFromOrder(1),0),null==this.vStereo&&(this.vStereo=new JU.Lst),this.vStereo.addLast(c)):(c=this.ms.bondMutually(b,
a,d,this.ms.getDefaultMadFromOrder(d),0),c.isAromatic()&&(this.ms.someModelsHaveAromaticBonds=!0));this.ms.bondCount==this.ms.bo.length&&(this.ms.bo=JU.AU.arrayCopyObject(this.ms.bo,this.ms.bondCount+250));this.ms.setBond(this.ms.bondCount++,c);return c},"~O,~O,~N");b(c$,"initializeUnitCellAndSymmetry",function(){this.someModelsAreModulated&&null==this.ms.bsModulated&&(this.ms.bsModulated=new JU.BS);if(this.someModelsHaveUnitcells){this.ms.unitCells=Array(this.ms.mc);this.ms.haveUnitCells=!0;for(var a=
null!=this.modelSet0&&null!=this.modelSet0.unitCells,c=0,d=0;c<this.ms.mc;c++)if(a&&c<this.baseModelCount)this.ms.unitCells[c]=this.modelSet0.unitCells[c];else{this.ms.unitCells[c]=J.api.Interface.getSymmetry(this.vwr,"file");var b=null;if(this.isTrajectory){var f=this.ms.getInfoM("unitCells");null!=f&&(b=f.get(d++))}this.ms.unitCells[c].setSymmetryInfo(c,this.ms.getModelAuxiliaryInfo(c),b)}}if(this.appendNew&&this.ms.someModelsHaveSymmetry){this.ms.getAtoms(1088421903,null);a=this.ms.at;c=this.baseAtomIndex;
d=-1;for(b=0;c<this.ms.ac;c++)a[c].mi!=d&&(d=a[c].mi,b=this.baseAtomIndex+this.ms.getInfoI(d,"presymmetryAtomIndex")+this.ms.getInfoI(d,"presymmetryAtomCount")),c>=b&&this.ms.bsSymmetry.set(c)}if(this.appendNew&&this.ms.someModelsHaveFractionalCoordinates){for(var a=this.ms.at,d=-1,b=null,f=!1,g=!this.vwr.g.legacyJavaFloat,c=this.baseAtomIndex;c<this.ms.ac;c++)a[c].mi!=d&&(d=a[c].mi,b=this.ms.getUnitCell(d),f=null!=b&&b.getCoordinatesAreFractional()),f&&(b=a[c].getUnitCell(),b.toCartesian(b.toSupercell(a[c]),
!1),g&&JU.PT.fixPtFloats(a[c],1E4));for(c=this.baseModelIndex;c<this.ms.mc;c++)this.ms.isTrajectory(c)&&this.ms.trajectory.setUnitCell(c)}});b(c$,"initializeBonding",function(){var a=null==this.ms.getInfoM("someModelsHaveCONECT")?null:new JU.BS;null!=a&&this.ms.setPdbConectBonding(this.baseAtomIndex,this.baseModelIndex,a);var c=0,d=this.vwr.getBoolean(603979794),b=this.vwr.getBoolean(603979798),f=this.vwr.getBoolean(603979846),g=null,h=!1,e=this.ms.mc,m=this.ms.am;if(!this.noAutoBond)for(var n=this.baseModelIndex;n<
e;n++){var c=m[n].bsAtoms.cardinality(),s=this.ms.getInfoI(n,"initialBondCount"),l=m[n].isBioModel;0>s&&(s=this.ms.bondCount);if(f||b&&(0==s||l&&null==this.jmolData&&(this.ms.getMSInfoB("havePDBHeaderName")||s<v(c/2))||this.ms.getInfoB(n,"hasSymmetry")&&!d&&!this.ms.getInfoB(n,"hasBonds")))if(h=!0,this.merging||1<e)null==g&&(g=JU.BS.newN(this.ms.ac)),(n==this.baseModelIndex||!this.isTrajectory)&&g.or(m[n].bsAtoms)}this.modulationOn&&this.ms.setModulation(null,!0,this.modulationTUV,!1);h?(this.ms.autoBondBs4(g,
g,a,null,this.ms.defaultCovalentMad,this.vwr.getBoolean(603979873)),JU.Logger.info("ModelSet: autobonding; use  autobond=false  to not generate bonds automatically")):(this.ms.initializeBspf(),JU.Logger.info("ModelSet: not autobonding; use  forceAutobond=true  to force automatic bond creation"))});b(c$,"finalizeGroupBuild",function(){this.groups=Array(this.groupCount);if(this.merging)for(var a=0;a<this.$mergeGroups.length;a++)(this.groups[a]=this.$mergeGroups[a]).chain.model.ms=this.ms;for(a=this.baseGroupIndex;a<
this.groupCount;++a)this.distinguishAndPropagateGroup(a,this.chainOf[a],this.group3Of[a],this.seqcodes[a],this.firstAtomIndexes[a],(a==this.groupCount-1?this.ms.ac:this.firstAtomIndexes[a+1])-1);if(null!=this.group3Lists){this.ms.msInfo.put("group3Lists",this.group3Lists);this.ms.msInfo.put("group3Counts",this.group3Counts);for(a=0;a<this.group3Counts.length;a++)null==this.group3Counts[a]&&(this.group3Counts[a]=y(0,0))}});b(c$,"distinguishAndPropagateGroup",function(a,c,d,b,f,g){if(g<f)throw new NullPointerException;
var h=this.ms.at[f].mi,e=null==d||null==this.jbr?null:this.jbr.distinguishAndPropagateGroup(c,d,b,f,g,h,this.specialAtomIndexes,this.ms.at);null==e?(e=(new JM.Group).setGroup(c,d,b,f,g),null!=this.jbr&&(e.groupID=this.jbr.getGroupID(d)),b="o>"):b=e.isProtein()?"p>":e.isNucleic()?"n>":e.isCarbohydrate()?"c>":"o>";null!=d&&(this.countGroup(h,b,d),e.isNucleic()&&(d=null==this.htGroup1?null:this.htGroup1.get(d),null!=d&&(e.group1=d.charAt(0))));this.addGroup(c,e);this.groups[a]=e;e.groupIndex=a;for(a=
g+1;--a>=f;)this.ms.at[a].group=e},"~N,JM.Chain,~S,~N,~N,~N");b(c$,"addGroup",function(a,c){a.groupCount==a.groups.length&&(a.groups=JU.AU.doubleLength(a.groups));a.groups[a.groupCount++]=c},"JM.Chain,JM.Group");b(c$,"countGroup",function(a,c,d){var b=a+1;if(!(null==this.group3Lists||null==this.group3Lists[b])){var f=(d+"   ").substring(0,3),g=this.group3Lists[b].indexOf(f);0>g&&(this.group3Lists[b]+=",["+f+"]",g=this.group3Lists[b].indexOf(f),this.group3Counts[b]=JU.AU.arrayCopyI(this.group3Counts[b],
this.group3Counts[b].length+10));this.group3Counts[b][v(g/6)]++;g=this.group3Lists[b].indexOf(",["+f);0<=g&&(this.group3Lists[b]=this.group3Lists[b].substring(0,g)+c+this.group3Lists[b].substring(g+2));0<=a&&this.countGroup(-1,c,d)}},"~N,~S,~S");b(c$,"freeze",function(){this.htAtomMap.clear();this.ms.ac<this.ms.at.length&&this.ms.growAtomArrays(this.ms.ac);this.ms.bondCount<this.ms.bo.length&&(this.ms.bo=JU.AU.arrayCopyObject(this.ms.bo,this.ms.bondCount));for(var a=5;0<--a;){this.ms.numCached[a]=
0;for(var c=this.ms.freeBonds[a],d=c.length;0<=--d;)c[d]=null}this.ms.setAtomNamesAndNumbers(0,this.baseAtomIndex,this.modelSet0);this.findElementsPresent();this.ms.resetMolecules();this.currentChain=this.model=null;!this.ms.haveBioModels||this.isPyMOLsession||this.isMutate?this.ms.freezeModels():(a=this.vwr.getBoolean(603979826),a=this.ms.calculateStructuresAllExcept(this.structuresDefinedInFile,a,!1,!0,!0,a),0<a.length&&JU.Logger.info(a))});b(c$,"findElementsPresent",function(){this.ms.elementsPresent=
Array(this.ms.mc);for(var a=0;a<this.ms.mc;a++)this.ms.elementsPresent[a]=JU.BS.newN(64);for(a=this.ms.ac;0<=--a;){var c=this.ms.at[a].getAtomicAndIsotopeNumber();c>=JU.Elements.elementNumberMax&&(c=JU.Elements.elementNumberMax+JU.Elements.altElementIndexFromNumber(c));this.ms.elementsPresent[this.ms.at[a].mi].set(c)}});b(c$,"applyStereochemistry",function(){this.set2dZ(this.baseAtomIndex,this.ms.ac);if(null!=this.vStereo){var a=new JU.BS;a.setBits(this.baseAtomIndex,this.ms.ac);for(var c=this.vStereo.size();0<=
--c;){var d=this.vStereo.get(c),b=1025==d.order?3:-3;d.order=1;d.atom2.z!=d.atom1.z&&0>b==d.atom2.z<d.atom1.z&&(b/=3);var f=JU.JmolMolecule.getBranchBitSet(this.ms.at,d.atom2.i,a,null,d.atom1.i,!1,!0);f.set(d.atom2.i);for(var g=f.nextSetBit(0);0<=g;g=f.nextSetBit(g+1))this.ms.at[g].z+=b;d.atom2.x=(d.atom1.x+d.atom2.x)/2;d.atom2.y=(d.atom1.y+d.atom2.y)/2}this.vStereo=null}this.is2D=!1});b(c$,"set2dZ",function(a,c){var d=JU.BS.newN(c),b=new JU.BS,f=new JU.V3,g=JU.V3.new3(0,1,0),h=new JU.V3,e=new JU.BS;
e.setBits(a,c);for(var m=a;m<c;m++)!d.get(m)&&!b.get(m)&&(b=this.getBranch2dZ(m,-1,e,b,f,g,h),d.or(b))},"~N,~N");b(c$,"getBranch2dZ",function(a,c,d,b,f,g,h){b=JU.BS.newN(this.ms.ac);if(0>a)return b;var e=new JU.BS;e.or(d);0<=c&&e.clear(c);JM.ModelLoader.setBranch2dZ(this.ms.at[a],b,e,f,g,h);return b},"~N,~N,JU.BS,JU.BS,JU.V3,JU.V3,JU.V3");c$.setBranch2dZ=b(c$,"setBranch2dZ",function(a,c,d,b,f,g){var h=a.i;if(d.get(h)&&(d.clear(h),c.set(h),null!=a.bonds))for(h=a.bonds.length;0<=--h;){var e=a.bonds[h];
e.isHydrogen()||(e=e.getOtherAtom(a),JM.ModelLoader.setAtom2dZ(a,e,b,f,g),JM.ModelLoader.setBranch2dZ(e,c,d,b,f,g))}},"JM.Atom,JU.BS,JU.BS,JU.V3,JU.V3,JU.V3");c$.setAtom2dZ=b(c$,"setAtom2dZ",function(a,c,d,b,f){d.sub2(c,a);d.z=0;d.normalize();f.cross(b,d);d=Math.acos(d.dot(b));c.z=a.z+0.8*Math.sin(4*d)},"JM.Atom,JM.Atom,JU.V3,JU.V3,JU.V3");b(c$,"finalizeShapes",function(){this.ms.sm=this.vwr.shm;this.ms.sm.setModelSet(this.ms);this.ms.setBsHidden(this.vwr.slm.getHiddenSet());this.merging||this.ms.sm.resetShapes();
this.ms.sm.loadDefaultShapes(this.ms);this.ms.someModelsHaveAromaticBonds&&this.vwr.getBoolean(603979944)&&this.ms.assignAromaticBondsBs(!1,null);this.merging&&1==this.baseModelCount&&this.ms.sm.setShapePropertyBs(6,"clearModelIndex",null,null)});b(c$,"undeleteAtom",function(a){this.ms.at[a].valence=0},"~N");c$.createAtomDataSet=b(c$,"createAtomDataSet",function(a,c,d,b,f){if(null==b)return null;var g=a.getModelAdapter(),h=new JU.P3,e=c.at,m=a.getFloat(570425363);if(null!=c.unitCells)for(var n=f.nextSetBit(0);0<=
n;n=f.nextSetBit(n+1))if(null!=e[n].atomSymmetry){m=-m;break}for(var n=-1,s=0,l=JU.BSUtil.cardinalityOf(f)==a.ms.ac,p=g.getAtomIterator(b);p.hasNext();){var q=p.getXYZ();if(!Float.isNaN(q.x+q.y+q.z))if(1145047050==d){n=f.nextSetBit(n+1);if(0>n)break;s++;JU.Logger.debugging&&JU.Logger.debug("atomIndex = "+n+": "+e[n]+" --\x3e ("+q.x+","+q.y+","+q.z);c.setAtomCoord(n,q.x,q.y,q.z)}else{h.setT(q);q=JU.BS.newN(c.ac);c.getAtomsWithin(m,h,q,-1);q.and(f);if(l)if(s=JU.BSUtil.cardinalityOf(q),0==s){JU.Logger.warn("createAtomDataSet: no atom found at position "+
h);continue}else 1<s&&JU.Logger.debugging&&JU.Logger.debug("createAtomDataSet: "+s+" atoms found at position "+h);switch(d){case 1145047055:var r=p.getVib();if(null==r)continue;JU.Logger.debugging&&JU.Logger.debug("xyz: "+h+" vib: "+r);c.setAtomCoords(q,1145047055,r);break;case 1128269825:c.setAtomProperty(q,d,0,p.getOccupancy(),null,null,null);break;case 1111492619:c.setAtomProperty(q,d,0,p.getPartialCharge(),null,null,null);break;case 1111492620:c.setAtomProperty(q,d,0,p.getBfactor(),null,null,
null)}}}switch(d){case 1145047055:c=g.getAtomSetName(b,0);JU.Logger.info("_vibrationName = "+c);a.setStringProperty("_vibrationName",c);break;case 1145047050:if(JU.Logger.info(s+" atom positions read"),c.recalculateLeadMidpointsAndWingVectors(-1),s==c.ac)return"boundbox {*};reset"}return null},"JV.Viewer,JM.ModelSet,~N,~O,JU.BS");D(c$,"defaultGroupCount",32)});l("JM");u(["JM.BondCollection"],"JM.ModelSet","java.lang.Boolean $.Float java.util.Hashtable JU.A4 $.AU $.BS $.Lst $.M3 $.M4 $.Measure $.P3 $.P4 $.PT $.Quat $.SB $.V3 J.api.Interface $.JmolModulationSet J.atomdata.RadiusData J.bspt.Bspf J.c.PAL $.VDW JM.Atom $.AtomIteratorWithinModel $.AtomIteratorWithinModelSet $.Bond $.HBond $.Model $.StateScript JU.BSUtil $.BoxInfo $.Elements $.Escape $.JmolMolecule $.Logger $.SimpleUnitCell JV.JC".split(" "),
function(){c$=r(function(){this.am=this.modelSetName=this.bsSymmetry=null;this.mc=0;this.unitCells=null;this.haveUnitCells=!1;this.elementsPresent=this.frameTitles=this.modelNames=this.modelNumbersForAtomLabel=this.modelFileNumbers=this.modelNumbers=this.closest=null;this.isXYZ=!1;this.msInfo=this.modelSetProperties=null;this.isBbcageDefault=this.someModelsHaveFractionalCoordinates=this.someModelsHaveAromaticBonds=this.someModelsHaveSymmetry=!1;this.stateScripts=this.boxInfo=this.bboxAtoms=this.bboxModels=
null;this.thisStateModel=0;this.selectedMolecules=this.vibrationSteps=null;this.showRebondTimes=!0;this.sm=this.bsAll=null;this.proteinStructureTainted=!1;this.vTemp=this.mat4t=this.mat4=this.matInv=this.matTemp=this.ptTemp2=this.ptTemp1=this.ptTemp=this.triangulator=this.vOrientations=this.htPeaks=this.symTemp=null;this.echoShapeActive=!1;this.defaultBBox=this.pointGroup=this.translations=this.modelSetTypeName=null;this.maxBondWarned=!1;q(this,arguments)},JM,"ModelSet",JM.BondCollection);t(c$,function(a,
c){this.vwr=a;this.modelSetName=c;this.selectedMolecules=new JU.BS;this.stateScripts=new JU.Lst;this.boxInfo=new JU.BoxInfo;this.boxInfo.addBoundBoxPoint(JU.P3.new3(-10,-10,-10));this.boxInfo.addBoundBoxPoint(JU.P3.new3(10,10,10));this.am=Array(1);this.modelNumbers=y(1,0);this.modelFileNumbers=y(1,0);this.modelNumbersForAtomLabel=Array(1);this.modelNames=Array(1);this.frameTitles=Array(1);this.closest=Array(1);this.ptTemp=new JU.P3;this.ptTemp1=new JU.P3;this.ptTemp2=new JU.P3;this.matTemp=new JU.M3;
this.matInv=new JU.M3;this.mat4=new JU.M4;this.mat4t=new JU.M4;this.vTemp=new JU.V3;this.setupBC()},"JV.Viewer,~S");e(c$,"releaseModelSet",function(){this.am=null;this.unitCells=this.bsAll=this.bsSymmetry=this.am=this.closest[0]=null;this.releaseModelSetBC()});b(c$,"getEchoStateActive",function(){return this.echoShapeActive});b(c$,"setEchoStateActive",function(a){this.echoShapeActive=a},"~B");b(c$,"getModelSetTypeName",function(){return this.modelSetTypeName});b(c$,"getModelNumberIndex",function(a,
c,d){if(c){for(c=0;c<this.mc;c++)if(this.modelNumbers[c]==a||1E6>a&&this.modelNumbers[c]==1E6+a)return c;return-1}if(1E6>a)return a;for(c=0;c<this.mc;c++)if(this.modelFileNumbers[c]==a)return d&&this.isTrajectory(c)&&this.setTrajectory(c),c;return-1},"~N,~B,~B");b(c$,"getModelDataBaseName",function(a){for(var c=0;c<this.mc;c++)if(a.equals(this.am[c].bsAtoms))return this.getInfo(c,"dbName");return null},"JU.BS");b(c$,"setTrajectory",function(a){0<=a&&(this.isTrajectory(a)&&this.at[this.am[a].firstAtomIndex].mi!=
a)&&this.trajectory.setModel(a)},"~N");b(c$,"getBitSetTrajectories",function(){return null==this.trajectory?null:this.trajectory.getModelsSelected()});b(c$,"setTrajectoryBs",function(a){if(null!=this.trajectory)for(var c=0;c<this.mc;c++)a.get(c)&&this.setTrajectory(c)},"JU.BS");b(c$,"morphTrajectories",function(a,c,d){0<=a&&(0<=c&&this.isTrajectory(a)&&this.isTrajectory(c))&&this.trajectory.morph(a,c,d)},"~N,~N,~N");b(c$,"getTranslation",function(a){return null==this.translations||a>=this.translations.length?
null:this.translations[a]},"~N");b(c$,"translateModel",function(a,c){if(null==c){var d=this.getTranslation(a);null!=d&&(c=JU.P3.newP(d),c.scale(-1),this.translateModel(a,c),this.translations[a]=null)}else{if(null==this.translations||this.translations.length<=a)this.translations=Array(this.mc);null==this.translations[a]&&(this.translations[a]=new JU.P3);this.translations[a].add(c);for(var d=this.am[a].bsAtoms,b=d.nextSetBit(0);0<=b;b=d.nextSetBit(b+1))this.at[b].add(c)}},"~N,JU.T3");b(c$,"getFrameOffsets",
function(a,c){if(null==a){if(c)for(var d=this.mc;0<=--d;){var b=this.am[d];!b.isJmolDataFrame&&!b.isTrajectory&&this.translateModel(b.modelIndex,null)}return null}if(0>a.nextSetBit(0))return null;if(c){for(var f=JU.BSUtil.copy(a),g=null,h=new JU.P3,d=0;d<this.mc;d++){b=this.am[d];if(!b.isJmolDataFrame&&!b.isTrajectory){var e=f.nextSetBit(0);b.bsAtoms.get(e)&&(null==g?g=JU.P3.newP(this.at[e]):(h.sub2(g,this.at[e]),this.translateModel(d,h)))}f.andNot(b.bsAtoms)}return null}f=Array(this.mc);for(d=this.mc;0<=
--d;)f[d]=new JU.P3;var h=g=0,e=f[0],m=null!=this.trajectory&&this.trajectory.steps.size()==this.mc,n=m?this.mc:1;f[0].set(0,0,0);for(b=0;b<n;b++){m&&this.setTrajectory(b);for(d=0;d<=this.ac;d++){if(d==this.ac||this.at[d].mi!=g){0<h&&(e.scale(-1/h),0!=g&&e.sub(f[0]),h=0);if(d==this.ac)break;g=this.at[d].mi;e=f[g]}a.get(d)&&(e.add(this.at[d]),h++)}}return f},"JU.BS,~B");b(c$,"getAtoms",function(a,c){switch(a){default:return JU.BSUtil.andNot(this.getAtomBitsMaybeDeleted(a,c),this.vwr.slm.bsDeleted);
case 1073742358:var d=c.intValue(),b=this.getModelNumberIndex(d,!0,!0);return 0>b&&0<d?new JU.BS:this.vwr.getModelUndeletedAtomsBitSet(b);case 1275203608:return d=x(-1,[null,null]),this.vwr.shm.getShapePropertyData(21,"centers",d),null==d[1]?new JU.BS:d[1]}},"~N,~O");b(c$,"findNearestAtomIndex",function(a,c,d,b){if(0==this.ac)return-1;this.closest[0]=null;this.g3d.isAntialiased()&&(a<<=1,c<<=1);this.findNearest2(a,c,this.closest,d,b);this.sm.findNearestShapeAtomIndex(a,c,this.closest,d);a=null==this.closest[0]?
-1:this.closest[0].i;this.closest[0]=null;return a},"~N,~N,JU.BS,~N");b(c$,"calculatePointGroup",function(a){return this.calculatePointGroupForFirstModel(a,!1,!1,!1,null,0,0)},"JU.BS");b(c$,"getPointGroupInfo",function(a){return this.calculatePointGroupForFirstModel(a,!1,!1,!0,null,0,0)},"JU.BS");b(c$,"getPointGroupAsString",function(a,c,d,b,f){return this.calculatePointGroupForFirstModel(a,!0,c,!1,d,b,f)},"JU.BS,~B,~S,~N,~N");b(c$,"calculatePointGroupForFirstModel",function(a,c,d,b,f,g,h){var e=
this.vwr.am.cmi,m=null==a?-1:a.nextSetBit(0);0>e&&0<=m&&(e=this.at[m].mi);0>e&&(e=this.vwr.getVisibleFramesBitSet().nextSetBit(0),a=null);var n=this.vwr.getModelUndeletedAtomsBitSet(e),s=null!=a&&n.cardinality()!=a.cardinality();null!=a&&n.and(a);m=n.nextSetBit(0);0>m&&(n=this.vwr.getModelUndeletedAtomsBitSet(e),m=n.nextSetBit(0));a=this.vwr.shm.getShapePropertyIndex(18,"mad",m);var l=null!=a&&0!=a.intValue()||this.vwr.tm.vibrationOn;a=J.api.Interface.getSymmetry(this.vwr,"ms");var p=this.at,q=this.pointGroup,
r=null!=f&&0<=f.toUpperCase().indexOf(":POLY");if(r){m=x(-1,[Integer.$valueOf(m),null]);this.vwr.shm.getShapePropertyData(21,"points",m);p=m[1];if(null==p)return null;n=null;l=!1;q=null}null!=f&&0<=f.indexOf(":")&&(f=f.substring(0,f.indexOf(":")));q=a.setPointGroup(q,p,n,l,this.vwr.getFloat(570425382),this.vwr.getFloat(570425384),s);r||(this.pointGroup=q);if(!c&&!b)return q.getPointGroupName();c=q.getPointGroupInfo(e,d,b,f,g,h);return b?c:(1<this.mc?"frame "+this.getModelNumberDotted(e)+"; ":"")+
c},"JU.BS,~B,~B,~B,~S,~N,~N");b(c$,"getDefaultStructure",function(a,c){return this.haveBioModels?this.bioModelset.getAllDefaultStructures(a,c):""},"JU.BS,JU.BS");b(c$,"makeConnections",function(a,c,d,b,f,g,h,e,m,n){if(1073741852==b&&2048!=d){var s="connect ";0.1!=a&&(s+=a+" ");1E8!=c&&(s+=c+" ");this.addStateScript(s,e?f:null,e?null:f,e?null:g," auto",!1,!0)}this.moleculeCount=0;return this.makeConnections2(a,c,d,b,f,g,h,e,m,n)},"~N,~N,~N,~N,JU.BS,JU.BS,JU.BS,~B,~B,~N");b(c$,"setPdbConectBonding",
function(a,c,d){for(var b=this.vwr.getMadBond();c<this.mc;c++){var f=this.getInfo(c,"PDB_CONECT_bonds");if(null!=f){var g=f.size();this.setInfo(c,"initialBondCount",Integer.$valueOf(g));for(var h=this.getInfo(c,"PDB_CONECT_firstAtom_count_max"),e=h[0]+a,m=e+h[1],h=h[2],n=y(h+1,0),s=e;s<m;s++)if(0<(e=this.atomSerials[s]))n[e]=s+1;for(m=0;m<g;m++){var e=f.get(m),s=e[0],l=e[1],e=e[2];if(!(0>s||0>l||s>h||l>h))if(s=n[s]-1,l=n[l]-1,!(0>s||0>l)){var p=this.at[s],q=this.at[l];null!=d&&(p.isHetero()&&d.set(s),
q.isHetero()&&d.set(l));if(p.altloc==q.altloc||"\x00"==p.altloc||"\x00"==q.altloc)this.getOrAddBond(p,q,e,2048==e?1:b,null,0,!1)}}}}},"~N,~N,JU.BS");b(c$,"deleteAllBonds",function(){this.moleculeCount=0;for(var a=this.stateScripts.size();0<=--a;)this.stateScripts.get(a).isConnect()&&this.stateScripts.remove(a);this.deleteAllBonds2()});b(c$,"includeAllRelatedFrames",function(a){for(var c=0,d=0;d<this.mc;d++){var b=this.isTrajectory(d),f=b&&a.get(c=this.am[d].trajectoryBaseIndex);if(a.get(d)){if(b&&
!f){a.set(c);this.includeAllRelatedFrames(a);break}}else(b||this.isJmolDataFrameForModel(d)&&a.get(this.am[d].dataSourceFrame))&&a.set(d)}},"JU.BS");b(c$,"deleteModels",function(a){this.includeAllRelatedFrames(a);var c=JU.BSUtil.cardinalityOf(a);if(0==c)return null;this.moleculeCount=0;null!=this.msInfo&&this.msInfo.remove("models");for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))this.clearDataFrameReference(d);if(c==this.mc)return c=this.getModelAtomBitSetIncludingDeleted(-1,!0),this.vwr.zap(!0,
!1,!1),c;this.validateBspf(!1);for(var b=Array(this.mc-c),f=this.am,c=new JU.BS,g=d=0;d<this.mc;d++)a.get(d)?(this.getAtomCountInModel(d),c.or(this.getModelAtomBitSetIncludingDeleted(d,!1))):(this.am[d].modelIndex=g,b[g++]=this.am[d]);this.am=b;var h=this.mc,e=this.getBondsForSelectedAtoms(c,!0);this.deleteBonds(e,!0);for(g=d=0;d<h;d++)if(a.get(d)){var m=f[d].act;if(0!=m){var n=f[d].bsAtoms,s=f[d].firstAtomIndex;JU.BSUtil.deleteBits(this.bsSymmetry,n);this.deleteModel(g,s,m,n,e);for(var l=h;--l>d;)f[l].fixIndices(g,
m,n);this.vwr.shm.deleteShapeAtoms(x(-1,[b,this.at,y(-1,[g,s,m])]),n);this.mc--}}else g++;this.haveBioModels=!1;for(d=this.mc;0<=--d;)this.am[d].isBioModel&&(this.haveBioModels=!0,this.bioModelset=this.am[d]);this.validateBspf(!1);this.bsAll=null;this.resetMolecules();this.isBbcageDefault=!1;this.calcBoundBoxDimensions(null,1);return c},"JU.BS");b(c$,"deleteModel",function(a,c,d,b,f){if(!(0>a)){this.modelNumbers=JU.AU.deleteElements(this.modelNumbers,a,1);this.modelFileNumbers=JU.AU.deleteElements(this.modelFileNumbers,
a,1);this.modelNumbersForAtomLabel=JU.AU.deleteElements(this.modelNumbersForAtomLabel,a,1);this.modelNames=JU.AU.deleteElements(this.modelNames,a,1);this.frameTitles=JU.AU.deleteElements(this.frameTitles,a,1);this.thisStateModel=-1;var g=this.getInfoM("group3Lists"),h=this.getInfoM("group3Counts"),e=a+1;if(null!=g&&null!=g[e])for(var m=v(g[e].length/6);0<=--m;)0<h[e][m]&&(h[0][m]-=h[e][m],0==h[0][m]&&(g[0]=g[0].substring(0,6*m)+",["+g[0].substring(6*m+2)));null!=g&&(this.msInfo.put("group3Lists",
JU.AU.deleteElements(g,a,1)),this.msInfo.put("group3Counts",JU.AU.deleteElements(h,a,1)));null!=this.unitCells&&(this.unitCells=JU.AU.deleteElements(this.unitCells,a,1));for(m=this.stateScripts.size();0<=--m;)this.stateScripts.get(m).deleteAtoms(a,f,b)||this.stateScripts.remove(m);this.deleteModelAtoms(c,d,b);this.vwr.deleteModelAtoms(a,c,d,b)}},"~N,~N,~N,JU.BS,JU.BS");b(c$,"setAtomProperty",function(a,c,d,b,f,g,h){switch(c){case 1114249217:case 1112152066:case 1112152071:case 1112152073:case 1112152074:case 1649022989:case 1112152078:if(4<
b&&(b=4),null!=g){d=G(this.ac,0);try{var e=a.nextSetBit(0);for(f=0;0<=e;e=a.nextSetBit(e+1))d[e]=g[f++]}catch(m){if(C(m,Exception))return;throw m;}g=d}case 1112152070:case 1112152076:e=null;d=0;null==g?(16<b&&(b=16.1),0>b&&(b=0),d=v(Math.floor(2E3*b))):e=new J.atomdata.RadiusData(g,0,null,null);this.sm.setShapeSizeBs(JV.JC.shapeTokenIndex(c),d,e,a);return}this.setAPm(a,c,d,b,f,g,h)},"JU.BS,~N,~N,~N,~S,~A,~A");b(c$,"getFileData",function(a){if(0>a)return"";var c=this.getInfo(a,"fileData");if(null!=
c)return c;if(!this.getInfoB(a,"isCIF"))return this.getPDBHeader(a);c=this.vwr.getCifData(a);this.setInfo(a,"fileData",c);return c},"~N");b(c$,"addHydrogens",function(a,c){var d=this.mc-1,b=new JU.BS;if(this.isTrajectory(d)||1<this.am[d].getGroupCount())return b;this.growAtomArrays(this.ac+c.length);var f=this.vwr.rd,g=this.getDefaultMadFromOrder(1);this.am[d].dssrCache=null;for(var h=0,e=this.am[d].act+1;h<a.size();h++,e++){var m=a.get(h),n=this.addAtom(d,m.group,1,"H"+e,null,e,m.getSeqID(),e,c[h],
NaN,null,0,0,100,NaN,null,!1,0,null);n.setMadAtom(this.vwr,f);b.set(n.i);this.bondAtoms(m,n,1,g,null,0,!1,!1)}this.sm.loadDefaultShapes(this);return b},"JU.Lst,~A");b(c$,"mergeModelArrays",function(a){this.at=a.at;this.bo=a.bo;this.stateScripts=a.stateScripts;this.proteinStructureTainted=a.proteinStructureTainted;this.thisStateModel=-1;this.bsSymmetry=a.bsSymmetry;this.modelFileNumbers=a.modelFileNumbers;this.modelNumbersForAtomLabel=a.modelNumbersForAtomLabel;this.modelNames=a.modelNames;this.modelNumbers=
a.modelNumbers;this.frameTitles=a.frameTitles;null!=this.msInfo&&this.msInfo.remove("models");this.mergeAtomArrays(a)},"JM.ModelSet");b(c$,"getUnitCell",function(a){if(0>a||a>=this.mc)return null;if(null!=this.am[a].simpleCage)return this.am[a].simpleCage;if(null!=this.unitCells&&a<this.unitCells.length&&this.unitCells[a].haveUnitCell())return this.unitCells[a];if(null!=this.getInfo(a,"unitCellParams")){null==this.unitCells&&(this.unitCells=Array(this.mc));this.getSymTemp(!0).setSymmetryInfo(a,this.am[a].auxiliaryInfo,
null);var c=this.symTemp;this.symTemp=null;this.haveUnitCells=!0;return this.unitCells[a]=c}return null},"~N");b(c$,"setModelCage",function(a,c){0<=a&&a<this.mc&&(this.am[a].simpleCage=c,this.haveUnitCells=!0)},"~N,J.api.SymmetryInterface");b(c$,"getPlaneIntersection",function(a,c,d,b,f){var g=null;switch(a){case 1747587102:if(null==f)return null;g=f.getCanonicalCopy(d,!0);break;case 1678381065:g=this.boxInfo.getCanonicalCopy(d)}a=new JU.Lst;a.addLast(g);return this.intersectPlane(c,a,b)},"~N,JU.P4,~N,~N,J.api.SymmetryInterface");
b(c$,"getModelName",function(a){return 1>this.mc?"":0<=a?this.modelNames[a]:this.modelNumbersForAtomLabel[-1-a]},"~N");b(c$,"getModelTitle",function(a){return this.getInfo(a,"title")},"~N");b(c$,"getModelFileName",function(a){return this.getInfo(a,"fileName")},"~N");b(c$,"getModelFileType",function(a){return this.getInfo(a,"fileType")},"~N");b(c$,"setFrameTitle",function(a,c){if(p(c,String))for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))this.frameTitles[d]=c;else for(var d=a.nextSetBit(0),b=0;0<=
d;d=a.nextSetBit(d+1))b<c.length&&(this.frameTitles[d]=c[b++])},"JU.BS,~O");b(c$,"getFrameTitle",function(a){return 0<=a&&a<this.mc?this.frameTitles[a]:""},"~N");b(c$,"getModelNumberForAtomLabel",function(a){return this.modelNumbersForAtomLabel[a]},"~N");b(c$,"getGroups",function(){for(var a=0,c=0;c<this.mc;c++)a+=this.am[c].getGroupCount();for(var a=Array(a),d=c=0;c<this.mc;c++)for(var b=0;b<this.am[c].chainCount;b++)for(var f=0;f<this.am[c].chains[b].groupCount;f++)a[d]=this.am[c].chains[b].groups[f],
a[d].groupIndex=d,d++;return a});b(c$,"getUnitCellParams",function(){var a=this.getUnitCell(0);return null==a?null:a.getUnitCellParams()});b(c$,"setCrystallographicDefaults",function(){return!this.haveBioModels&&this.someModelsHaveSymmetry&&this.someModelsHaveFractionalCoordinates});b(c$,"getBoundBoxCenter",function(a){return this.isJmolDataFrameForModel(a)?new JU.P3:(null==this.getDefaultBoundBox()?this.boxInfo:this.defaultBBox).getBoundBoxCenter()},"~N");b(c$,"getBoundBoxCornerVector",function(){return this.boxInfo.getBoundBoxCornerVector()});
b(c$,"getBBoxVertices",function(){return this.boxInfo.getBoundBoxVertices()});b(c$,"setBoundBox",function(a,c,d,b){this.isBbcageDefault=!1;this.bboxAtoms=this.bboxModels=null;this.boxInfo.setBoundBox(a,c,d,b)},"JU.T3,JU.T3,~B,~N");b(c$,"getBoundBoxCommand",function(a){if(!a&&null!=this.bboxAtoms)return"boundbox "+JU.Escape.eBS(this.bboxAtoms);this.ptTemp.setT(this.boxInfo.getBoundBoxCenter());var c=this.boxInfo.getBoundBoxCornerVector();a=a?"boundbox "+JU.Escape.eP(this.ptTemp)+" "+JU.Escape.eP(c)+
"\n#or\n":"";this.ptTemp.sub(c);a+="boundbox corners "+JU.Escape.eP(this.ptTemp)+" ";this.ptTemp.scaleAdd2(2,c,this.ptTemp);c=Math.abs(8*c.x*c.y*c.z);return a+=JU.Escape.eP(this.ptTemp)+" # volume = "+c},"~B");b(c$,"findAtomsInRectangle",function(a){for(var c=this.vwr.getVisibleFramesBitSet(),d=new JU.BS,b=this.ac;0<=--b;){var f=this.at[b];c.get(f.mi)?f.checkVisible()&&a.contains(f.sX,f.sY)&&d.set(b):b=this.am[f.mi].firstAtomIndex}return d},"JU.Rectangle");b(c$,"getDefaultVdwType",function(a){return!this.am[a].isBioModel?
J.c.VDW.AUTO_BABEL:0==this.am[a].hydrogenCount?J.c.VDW.AUTO_JMOL:J.c.VDW.AUTO_BABEL},"~N");b(c$,"setRotationRadius",function(a,c){return this.isJmolDataFrameForModel(a)?(this.am[a].defaultRotationRadius=c,!1):!0},"~N,~N");b(c$,"calcRotationRadius",function(a,c,d){if(this.isJmolDataFrameForModel(a))return c=this.am[a].defaultRotationRadius,0==c?10:c;if(d&&null!=this.getDefaultBoundBox())return 1.2*(this.defaultBBox.getMaxDim()/2);d=0;for(var b=this.ac;0<=--b;)if(this.isJmolDataFrameForAtom(this.at[b]))for(a=
this.at[b].mi;0<=b&&this.at[b].mi==a;)b--;else a=this.at[b],a=c.distance(a)+this.getRadiusVdwJmol(a),a>d&&(d=a);return 0==d?10:d},"~N,JU.P3,~B");b(c$,"calcBoundBoxDimensions",function(a,c){null!=a&&0>a.nextSetBit(0)&&(a=null);if(!(null==a&&this.isBbcageDefault||0==this.ac)){if(null==this.getDefaultBoundBox())this.bboxModels=this.getModelBS(this.bboxAtoms=JU.BSUtil.copy(a),!1),this.calcAtomsMinMax(a,this.boxInfo)==this.ac&&(this.isBbcageDefault=!0),null==a&&null!=this.unitCells&&this.calcUnitCellMinMax();
else{var d=this.defaultBBox.getBoundBoxVertices();this.boxInfo.reset();for(var b=0;8>b;b++)this.boxInfo.addBoundBoxPoint(d[b])}this.boxInfo.setBbcage(c)}},"JU.BS,~N");b(c$,"getDefaultBoundBox",function(){var a=this.getInfoM("boundbox");null==a?this.defaultBBox=null:(null==this.defaultBBox&&(this.defaultBBox=new JU.BoxInfo),this.defaultBBox.setBoundBoxFromCriticalPoints(a));return this.defaultBBox});b(c$,"getBoxInfo",function(a,c){if(null==a)return this.boxInfo;var d=new JU.BoxInfo;this.calcAtomsMinMax(a,
d);d.setBbcage(c);return d},"JU.BS,~N");b(c$,"calcAtomsMinMax",function(a,c){c.reset();for(var d=0,b=null==a,f=b?this.ac-1:a.nextSetBit(0);0<=f;f=b?f-1:a.nextSetBit(f+1))d++,this.isJmolDataFrameForAtom(this.at[f])||c.addBoundBoxPoint(this.at[f]);return d},"JU.BS,JU.BoxInfo");b(c$,"calcUnitCellMinMax",function(){for(var a=new JU.P3,c=0;c<this.mc;c++)if(this.unitCells[c].getCoordinatesAreFractional())for(var d=this.unitCells[c].getUnitCellVerticesNoOffset(),b=this.unitCells[c].getCartesianOffset(),
f=0;8>f;f++)a.add2(b,d[f]),this.boxInfo.addBoundBoxPoint(a)});b(c$,"calcRotationRadiusBs",function(a){for(var c=this.getAtomSetCenter(a),d=0,b=a.nextSetBit(0);0<=b;b=a.nextSetBit(b+1)){var f=this.at[b],f=c.distance(f)+this.getRadiusVdwJmol(f);f>d&&(d=f)}return 0==d?10:d},"JU.BS");b(c$,"getCenterAndPoints",function(a,c){for(var d,b,f=c?1:0,g=a.size();0<=--g;){var h=a.get(g);d=h[0];p(h[1],JU.BS)?(b=h[1],f+=Math.min(d.cardinality(),b.cardinality())):f+=Math.min(d.cardinality(),h[1].length)}var e=x(2,
f,null);c&&(e[0][0]=new JU.P3,e[1][0]=new JU.P3);for(g=a.size();0<=--g;)if(h=a.get(g),d=h[0],p(h[1],JU.BS)){b=h[1];for(var h=d.nextSetBit(0),m=b.nextSetBit(0);0<=h&&0<=m;h=d.nextSetBit(h+1),m=b.nextSetBit(m+1))e[0][--f]=this.at[h],e[1][f]=this.at[m],c&&(e[0][0].add(this.at[h]),e[1][0].add(this.at[m]))}else{b=h[1];h=d.nextSetBit(0);for(m=0;0<=h&&m<b.length;h=d.nextSetBit(h+1),m++)e[0][--f]=this.at[h],e[1][f]=b[m],c&&(e[0][0].add(this.at[h]),e[1][0].add(b[m]))}c&&(e[0][0].scale(1/(e[0].length-1)),e[1][0].scale(1/
(e[1].length-1)));return e},"JU.Lst,~B");b(c$,"getAtomSetCenter",function(a){for(var c=new JU.P3,d=0,b=a.nextSetBit(0);0<=b;b=a.nextSetBit(b+1))this.isJmolDataFrameForAtom(this.at[b])||(d++,c.add(this.at[b]));0<d&&c.scale(1/d);return c},"JU.BS");b(c$,"getAverageAtomPoint",function(){null==this.averageAtomPoint&&(this.averageAtomPoint=new JU.P3).setT(this.getAtomSetCenter(this.vwr.getAllAtoms()));return this.averageAtomPoint});b(c$,"setAPm",function(a,c,d,b,f,g,e){this.setAPa(a,c,d,b,f,g,e);switch(c){case 1094715417:case 1631586315:this.vwr.getBoolean(603979944)&&
this.assignAromaticBondsBs(!0,null)}},"JU.BS,~N,~N,~N,~S,~A,~A");b(c$,"addStateScript",function(a,c,d,b,f,g,e){var k=this.vwr.am.cmi;g?(this.thisStateModel!=k&&(a="frame "+(0>k?"all #"+k:this.getModelNumberDotted(k))+";\n  "+a),this.thisStateModel=k):this.thisStateModel=-1;a=new JM.StateScript(this.thisStateModel,a,c,d,b,f,e);a.isValid()&&this.stateScripts.addLast(a);return a},"~S,JU.BS,JU.BS,JU.BS,~S,~B,~B");b(c$,"freezeModels",function(){this.haveBioModels=!1;for(var a=this.mc;0<=--a;)this.haveBioModels=
(new Boolean(this.haveBioModels|this.am[a].freeze())).valueOf()});b(c$,"getStructureList",function(){return this.vwr.getStructureList()});b(c$,"getInfoM",function(a){return null==this.msInfo?null:this.msInfo.get(a)},"~S");b(c$,"getMSInfoB",function(a){a=this.getInfoM(a);return p(a,Boolean)&&a.booleanValue()},"~S");b(c$,"isTrajectory",function(a){return this.am[a].isTrajectory},"~N");b(c$,"isTrajectorySubFrame",function(a){return this.am[a].trajectoryBaseIndex!=a},"~N");b(c$,"isTrajectoryMeasurement",
function(a){return null!=this.trajectory&&this.trajectory.hasMeasure(a)},"~A");b(c$,"getModelBS",function(a,c){var d=new JU.BS,b=0,f=null==a;c=(new Boolean(c&null!=this.trajectory)).valueOf();for(b=f?0:a.nextSetBit(0);0<=b&&b<this.ac;b=f?b+1:a.nextSetBit(b+1))d.set(b=this.at[b].mi),c&&this.trajectory.getModelBS(b,d),b=this.am[b].firstAtomIndex+this.am[b].act-1;return d},"JU.BS,~B");b(c$,"getIterativeModels",function(a){for(var c=new JU.BS,d=0;d<this.mc;d++)if(a||!this.isJmolDataFrameForModel(d))this.isTrajectorySubFrame(d)||
c.set(d);return c},"~B");b(c$,"fillAtomData",function(a,c){if(0!=(c&4)){this.getMolecules();a.bsMolecules=Array(this.molecules.length);a.atomMolecule=y(this.ac,0);for(var d,b=0;b<this.molecules.length;b++){d=a.bsMolecules[b]=this.molecules[b].atomList;for(var f=d.nextSetBit(0);0<=f;f=d.nextSetBit(f+1))a.atomMolecule[f]=b}}0!=(c&8)?(d=y(1,0),a.hAtomRadius=this.vwr.getVanderwaalsMar(1)/1E3,a.hAtoms=this.calculateHydrogens(a.bsSelected,d,!1,!0,null),a.hydrogenAtomCount=d[0]):(a.firstAtomIndex=0>a.modelIndex?
null==a.bsSelected?0:Math.max(0,a.bsSelected.nextSetBit(0)):this.am[a.modelIndex].firstAtomIndex,a.lastModelIndex=a.firstModelIndex=0==this.ac?0:this.at[a.firstAtomIndex].mi,a.modelName=this.getModelNumberDotted(a.firstModelIndex),this.fillADa(a,c))},"J.atomdata.AtomData,~N");b(c$,"getModelNumberDotted",function(a){return 1>this.mc||a>=this.mc||0>a?"":JU.Escape.escapeModelFileNumber(this.modelFileNumbers[a])},"~N");b(c$,"getModelNumber",function(a){return this.modelNumbers[2147483647==a?this.mc-1:
a]},"~N");b(c$,"getModelProperty",function(a,c){var d=this.am[a].properties;return null==d?null:d.getProperty(c)},"~N,~S");b(c$,"getModelAuxiliaryInfo",function(a){return 0>a?null:this.am[a].auxiliaryInfo},"~N");b(c$,"setInfo",function(a,c,d){this.am[a].auxiliaryInfo.put(c,d)},"~N,~O,~O");b(c$,"getInfo",function(a,c){return 0>a?null:this.am[a].auxiliaryInfo.get(c)},"~N,~S");b(c$,"getInfoB",function(a,c){var d=this.am[a].auxiliaryInfo;return null!=d&&d.containsKey(c)&&d.get(c).booleanValue()},"~N,~S");
b(c$,"getInfoI",function(a,c){var d=this.am[a].auxiliaryInfo;return null!=d&&d.containsKey(c)?d.get(c).intValue():-2147483648},"~N,~S");b(c$,"getInsertionCountInModel",function(a){return this.am[a].insertionCount},"~N");c$.modelFileNumberFromFloat=b(c$,"modelFileNumberFromFloat",function(a){var c=v(Math.floor(a));for(a=v(Math.floor(1E4*(a-c+1E-5)));0!=a&&0==a%10;)a/=10;return 1E6*c+a},"~N");b(c$,"getChainCountInModelWater",function(a,c){if(0>a){for(var d=0,b=this.mc;0<=--b;)d+=this.am[b].getChainCount(c);
return d}return this.am[a].getChainCount(c)},"~N,~B");b(c$,"getGroupCountInModel",function(a){if(0>a){a=0;for(var c=this.mc;0<=--c;)a+=this.am[c].getGroupCount();return a}return this.am[a].getGroupCount()},"~N");b(c$,"calcSelectedGroupsCount",function(){for(var a=this.vwr.bsA(),c=this.mc;0<=--c;)this.am[c].calcSelectedGroupsCount(a)});b(c$,"isJmolDataFrameForModel",function(a){return 0<=a&&a<this.mc&&this.am[a].isJmolDataFrame},"~N");b(c$,"isJmolDataFrameForAtom",function(a){return this.am[a.mi].isJmolDataFrame},
"JM.Atom");b(c$,"setJmolDataFrame",function(a,c,d){var b=this.am[null==a?this.am[d].dataSourceFrame:c];null==a&&(a=this.am[d].jmolFrameType);0<=c&&(null==b.dataFrames&&(b.dataFrames=new java.util.Hashtable),this.am[d].dataSourceFrame=c,this.am[d].jmolFrameType=a,b.dataFrames.put(a,Integer.$valueOf(d)));a.startsWith("quaternion")&&0>a.indexOf("deriv")&&(a=a.substring(0,a.indexOf(" ")),b.dataFrames.put(a,Integer.$valueOf(d)))},"~S,~N,~N");b(c$,"getJmolDataFrameIndex",function(a,c){if(null==this.am[a].dataFrames)return-1;
var d=this.am[a].dataFrames.get(c);return null==d?-1:d.intValue()},"~N,~S");b(c$,"clearDataFrameReference",function(a){for(var c=0;c<this.mc;c++){var d=this.am[c].dataFrames;if(null!=d)for(d=d.values().iterator();d.hasNext();)d.next().intValue()==a&&d.remove()}},"~N");b(c$,"getJmolFrameType",function(a){return 0<=a&&a<this.mc?this.am[a].jmolFrameType:"modelSet"},"~N");b(c$,"getJmolDataSourceFrame",function(a){return 0<=a&&a<this.mc?this.am[a].dataSourceFrame:-1},"~N");b(c$,"saveModelOrientation",
function(a,c){this.am[a].orientation=c},"~N,JM.Orientation");b(c$,"getModelOrientation",function(a){return this.am[a].orientation},"~N");b(c$,"getPDBHeader",function(a){return this.am[a].isBioModel?this.am[a].getFullPDBHeader():this.getFileHeader(a)},"~N");b(c$,"getFileHeader",function(a){if(0>a)return"";if(this.am[a].isBioModel)return this.getPDBHeader(a);a=this.getInfo(a,"fileHeader");null==a&&(a=this.modelSetName);return null!=a?a:"no header information found"},"~N");b(c$,"getAltLocCountInModel",
function(a){return this.am[a].altLocCount},"~N");b(c$,"getAltLocIndexInModel",function(a,c){if("\x00"==c)return 0;var d=this.getAltLocListInModel(a);return 0==d.length?0:d.indexOf(c)+1},"~N,~S");b(c$,"getInsertionCodeIndexInModel",function(a,c){if("\x00"==c)return 0;var d=this.getInsertionListInModel(a);return 0==d.length?0:d.indexOf(c)+1},"~N,~S");b(c$,"getAltLocListInModel",function(a){a=this.getInfo(a,"altLocs");return null==a?"":a},"~N");b(c$,"getInsertionListInModel",function(a){a=this.getInfo(a,
"insertionCodes");return null==a?"":a},"~N");b(c$,"getModelSymmetryCount",function(a){return 0<this.am[a].biosymmetryCount?this.am[a].biosymmetryCount:null==this.unitCells||null==this.unitCells[a]?0:this.unitCells[a].getSpaceGroupOperationCount()},"~N");b(c$,"getModelCellRange",function(a){return null==this.unitCells?null:this.unitCells[a].getCellRange()},"~N");b(c$,"getLastVibrationVector",function(a,c){if(null!=this.vibrations)for(var d,b=0>a||this.isTrajectory(a)||a>=this.mc-1?this.ac:this.am[a+
1].firstAtomIndex,f=0>=a?0:this.am[a].firstAtomIndex;--b>=f;)if((0>a||this.at[b].mi==a)&&((1275072532==c||0==c)&&null!=(d=this.getModulation(b))||(4166==c||0==c)&&null!=(d=this.getVibration(b,!1)))&&d.isNonzero())return b;return-1},"~N,~N");b(c$,"getModulationList",function(a,c,d){var b=new JU.Lst;if(null!=this.vibrations)for(var f=a.nextSetBit(0);0<=f;f=a.nextSetBit(f+1))p(this.vibrations[f],J.api.JmolModulationSet)?b.addLast(this.vibrations[f].getModulation(c,d)):b.addLast(Float.$valueOf("O"==c?
NaN:-1));return b},"JU.BS,~S,JU.P3");b(c$,"getElementsPresentBitSet",function(a){if(0<=a)return this.elementsPresent[a];a=new JU.BS;for(var c=0;c<this.mc;c++)a.or(this.elementsPresent[c]);return a},"~N");b(c$,"getMoleculeIndex",function(a,c){0==this.moleculeCount&&this.getMolecules();for(var d=0;d<this.moleculeCount;d++)if(this.molecules[d].atomList.get(a))return c?this.molecules[d].indexInModel:d;return 0},"~N,~B");b(c$,"getMoleculeBitSet",function(a){0==this.moleculeCount&&this.getMolecules();var c=
JU.BSUtil.copy(a);a=JU.BSUtil.copy(a);for(var d=0,b=new JU.BS;0<=(d=a.length()-1);)b=this.getMoleculeBitSetForAtom(d),null==b?(a.clear(d),c.clear(d)):(a.andNot(b),c.or(b));return c},"JU.BS");b(c$,"getMoleculeBitSetForAtom",function(a){0==this.moleculeCount&&this.getMolecules();for(var c=0;c<this.moleculeCount;c++)if(this.molecules[c].atomList.get(a))return this.molecules[c].atomList;return null},"~N");b(c$,"getModelDipole",function(a){if(0>a)return null;var c=this.getInfo(a,"dipole");null==c&&(c=
this.getInfo(a,"DIPOLE_VEC"));return c},"~N");b(c$,"calculateMolecularDipole",function(a,c){if(null!=c){var d=c.nextSetBit(0);if(0>d)return null;a=this.at[d].mi}if(null==this.partialCharges||0>a)return null;var b=d=0,f=0,g=0,e=new JU.V3,k=new JU.V3;null==c&&(c=this.getModelAtomBitSetIncludingDeleted(-1,!1));for(var m=c.nextSetBit(0);0<=m;m=c.nextSetBit(m+1))if(!(this.at[m].mi!=a||this.at[m].isDeleted())){var n=this.partialCharges[m];0>n?(b++,g+=n,k.scaleAdd2(n,this.at[m],k)):0<n&&(d++,f+=n,e.scaleAdd2(n,
this.at[m],e))}if(0.01<Math.abs(f+g))return JU.Logger.info("Dipole calculation requires balanced charges: "+f+" "+g),null;if(0==b||0==d)return null;e.add(k);e.scale(4.8);return e},"~N,JU.BS");b(c$,"getMoleculeCountInModel",function(a){var c=0;0==this.moleculeCount&&this.getMolecules();if(0>a)return this.moleculeCount;for(var d=0;d<this.mc;d++)a==d&&(c+=this.am[d].moleculeCount);return c},"~N");b(c$,"calcSelectedMoleculesCount",function(){var a=this.vwr.bsA();0==this.moleculeCount&&this.getMolecules();
this.selectedMolecules.xor(this.selectedMolecules);for(var c=new JU.BS,d=0;d<this.moleculeCount;d++)JU.BSUtil.copy2(a,c),c.and(this.molecules[d].atomList),0<c.length()&&this.selectedMolecules.set(d)});b(c$,"setCentroid",function(a,c){var d=this.getNotInCentroid(a,c);null!=d&&0<=d.nextSetBit(0)&&this.vwr.deleteAtoms(d,!1)},"JU.BS,~A");b(c$,"getNotInCentroid",function(a,c){var d=a.nextSetBit(0);if(0>d)return null;d=this.getUnitCell(this.at[d].mi);return null==d?null:d.notInCentroid(this,a,c)},"JU.BS,~A");
b(c$,"getMolecules",function(){if(0<this.moleculeCount)return this.molecules;null==this.molecules&&(this.molecules=Array(4));this.moleculeCount=0;for(var a=null,c=Array(this.mc),d=null,b=0;b<this.mc;b++)c[b]=this.vwr.getModelUndeletedAtomsBitSet(b),a=this.am[b],a.moleculeCount=0,d=a.isBioModel?a.getBioBranches(d):null;this.molecules=JU.JmolMolecule.getMolecules(this.at,c,d,null);for(b=this.moleculeCount=this.molecules.length;0<=--b;)a=this.am[this.molecules[b].modelIndex],a.firstMoleculeIndex=b,a.moleculeCount++;
return this.molecules});b(c$,"initializeBspf",function(){if(!(null!=this.bspf&&this.bspf.isValid)){this.showRebondTimes&&JU.Logger.startTimer("build bspf");var a=new J.bspt.Bspf(3);JU.Logger.debugging&&JU.Logger.debug("sequential bspt order");for(var c=JU.BS.newN(this.mc),d=this.ac;0<=--d;){var b=this.at[d];!b.isDeleted()&&!this.isTrajectorySubFrame(b.mi)&&(a.addTuple(this.am[b.mi].trajectoryBaseIndex,b),c.set(b.mi))}this.showRebondTimes&&(JU.Logger.checkTimer("build bspf",!1),a.stats());for(d=c.nextSetBit(0);0<=
d;d=c.nextSetBit(d+1))a.validateModel(d,!0);a.isValid=!0;this.bspf=a}});b(c$,"initializeBspt",function(a){this.initializeBspf();this.bspf.isInitializedIndex(a)||this.bspf.initialize(a,this.at,this.vwr.getModelUndeletedAtomsBitSet(a))},"~N");b(c$,"setIteratorForPoint",function(a,c,d,b){0>c?a.setCenter(d,b):(this.initializeBspt(c),a.setModel(this,c,this.am[c].firstAtomIndex,2147483647,d,b,null))},"J.api.AtomIndexIterator,~N,JU.T3,~N");b(c$,"setIteratorForAtom",function(a,c,d,b,f){0>c&&(c=this.at[d].mi);
c=this.am[c].trajectoryBaseIndex;this.initializeBspt(c);a.setModel(this,c,this.am[c].firstAtomIndex,d,this.at[d],b,f)},"J.api.AtomIndexIterator,~N,~N,~N,J.atomdata.RadiusData");b(c$,"getSelectedAtomIterator",function(a,c,d,b,f){this.initializeBspf();if(f){f=this.getModelBS(a,!1);for(var g=f.nextSetBit(0);0<=g;g=f.nextSetBit(g+1))this.initializeBspt(g);f=new JM.AtomIteratorWithinModelSet(f)}else f=new JM.AtomIteratorWithinModel;f.initialize(this.bspf,a,c,d,b,this.vwr.isParallel());return f},"JU.BS,~B,~B,~B,~B");
e(c$,"getBondCountInModel",function(a){return 0>a?this.bondCount:this.am[a].getBondCount()},"~N");b(c$,"getAtomCountInModel",function(a){return 0>a?this.ac:this.am[a].act},"~N");b(c$,"getModelAtomBitSetIncludingDeletedBs",function(a){var c=new JU.BS;null==a&&null==this.bsAll&&(this.bsAll=JU.BSUtil.setAll(this.ac));if(null==a)c.or(this.bsAll);else for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))c.or(this.getModelAtomBitSetIncludingDeleted(d,!1));return c},"JU.BS");b(c$,"getModelAtomBitSetIncludingDeleted",
function(a,c){var d=0>a?this.bsAll:this.am[a].bsAtoms;null==d&&(d=this.bsAll=JU.BSUtil.setAll(this.ac));return c?JU.BSUtil.copy(d):d},"~N,~B");b(c$,"getAtomBitsMaybeDeleted",function(a,c){var d,b;switch(a){default:return this.getAtomBitsMDa(a,c,new JU.BS);case 1073741925:case 1073742189:case 1073741916:case 1073742128:case 1073741864:case 1086324744:return b=new JU.BS,this.haveBioModels?this.bioModelset.getAtomBitsStr(a,c,b):b;case 1677721602:case 1073742331:return this.getAtomBitsMDb(a,c);case 1678381065:var f=
this.getBoxInfo(c,1);b=this.getAtomsWithin(f.getBoundBoxCornerVector().length()+1E-4,f.getBoundBoxCenter(),null,-1);for(d=b.nextSetBit(0);0<=d;d=b.nextSetBit(d+1))f.isWithin(this.at[d])||b.clear(d);return b;case 1094713349:b=new JU.BS;d=c;this.ptTemp1.set(d[0]/1E3,d[1]/1E3,d[2]/1E3);for(d=this.ac;0<=--d;)this.isInLatticeCell(d,this.ptTemp1,this.ptTemp2,!1)&&b.set(d);return b;case 1094713350:b=JU.BSUtil.newBitSet2(0,this.ac);d=c;f=y(-1,[v(d[0]/1E3)-1,v(d[1]/1E3)-1,v(d[2]/1E3)-1,v(d[0]/1E3),v(d[1]/
1E3),v(d[2]/1E3),0]);for(d=this.mc;0<=--d;){var g=this.getUnitCell(d);null==g?JU.BSUtil.andNot(b,this.am[d].bsAtoms):b.andNot(g.notInCentroid(this,this.am[d].bsAtoms,f))}return b;case 1094713360:return this.getMoleculeBitSet(c);case 1073742363:return this.getSelectCodeRange(c);case 2097196:b=JU.BS.newN(this.ac);f=-1;g=0;for(d=this.ac;0<=--d;){var e=this.at[d],k=e.atomSymmetry;if(null!=k){if(e.mi!=f){f=e.mi;if(null==this.getModelCellRange(f))continue;g=this.getModelSymmetryCount(f)}for(var e=0,m=g;0<=
--m;)if(k.get(m)&&1<++e){b.set(d);break}}}return b;case 1088421903:return JU.BSUtil.copy(null==this.bsSymmetry?this.bsSymmetry=JU.BS.newN(this.ac):this.bsSymmetry);case 1747587102:b=new JU.BS;if(null==this.vwr.getCurrentUnitCell())return b;this.ptTemp1.set(1,1,1);for(d=this.ac;0<=--d;)this.isInLatticeCell(d,this.ptTemp1,this.ptTemp2,!1)&&b.set(d);return b}},"~N,~O");b(c$,"getSelectCodeRange",function(a){var c=new JU.BS,d=a[0],b=a[1];a=a[2];var f=this.vwr.getBoolean(603979823);0<=a&&(300>a&&!f)&&(a=
this.chainToUpper(a));for(var g=this.mc;0<=--g;)if(this.am[g].isBioModel)for(var e=this.am[g],k,m=e.chainCount;0<=--m;){var n=e.chains[m];if(-1==a||a==(k=n.chainID)||!f&&0<k&&300>k&&a==this.chainToUpper(k))for(var s=n.groups,n=n.groupCount,l=0;0<=l;)l=JM.ModelSet.selectSeqcodeRange(s,n,l,d,b,c)}return c},"~A");c$.selectSeqcodeRange=b(c$,"selectSeqcodeRange",function(a,c,d,b,f,g){var e,k,m,n=!1;for(k=d;k<c&&a[k].seqcode!=b;k++);if(k==c){if(0<d)return-1;n=!0;m=2147483647;for(var s=c;0<=--s;)if((e=a[s].seqcode)>
b&&e-b<m)k=s,m=e-b;if(2147483647==m)return-1}if(2147483647==f)b=c-1,n=!0;else{for(b=k;b<c&&a[b].seqcode!=f;b++);if(b==c){if(0<d)return-1;n=!0;m=2147483647;for(s=k;s<c;s++)if((e=a[s].seqcode)<f&&f-e<m)b=s,m=f-e;if(2147483647==m)return-1}}for(s=k;s<=b;++s)a[s].setAtomBits(g);return n?-1:b+1},"~A,~N,~N,~N,~N,JU.BS");b(c$,"isInLatticeCell",function(a,c,d,b){var f=this.getUnitCell(this.at[a].mi);d.setT(this.at[a]);return null!=f&&f.checkUnitCell(f,c,d,b)},"~N,JU.P3,JU.P3,~B");b(c$,"getAtomsWithinRadius",
function(a,c,d,b){var f=new JU.BS,g=this.getIterativeModels(!1);c=JU.BSUtil.andNot(c,this.vwr.slm.bsDeleted);var e=this.getSelectedAtomIterator(null,!1,!1,!1,!1);if(d){d=!this.vwr.g.legacyJavaFloat;for(var k=new JU.P3,m=c.nextSetBit(0);0<=m;m=c.nextSetBit(m+1))for(var n=this.mc;0<=--n;)g.get(n)&&(0>a?this.getAtomsWithin(a,this.at[m].getFractionalUnitCoordPt(d,!0,k),f,-1):(this.setIteratorForAtom(e,n,m,a,b),e.addAtoms(f)))}else{f.or(c);for(m=c.nextSetBit(0);0<=m;m=c.nextSetBit(m+1))0>a?this.getAtomsWithin(a,
this.at[m],f,this.at[m].mi):(this.setIteratorForAtom(e,-1,m,a,b),e.addAtoms(f))}e.release();return f},"~N,JU.BS,~B,J.atomdata.RadiusData");b(c$,"getAtomsWithin",function(a,c,d,b){null==d&&(d=new JU.BS);if(0>a){a=-a;for(var f=this.ac;0<=--f;){var g=this.at[f];0<=b&&this.at[f].mi!=b||!d.get(f)&&g.getFractionalUnitDistance(c,this.ptTemp1,this.ptTemp2)<=a&&d.set(g.i)}return d}b=this.getIterativeModels(!0);f=this.getSelectedAtomIterator(null,!1,!1,!1,!1);for(g=this.mc;0<=--g;)b.get(g)&&!this.am[g].bsAtoms.isEmpty()&&
(this.setIteratorForAtom(f,-1,this.am[g].firstAtomIndex,-1,null),f.setCenter(c,a),f.addAtoms(d));f.release();return d},"~N,JU.P3,JU.BS,~N");b(c$,"deleteBonds",function(a,c){if(!c)for(var d=new JU.BS,b=new JU.BS,f=a.nextSetBit(0);0<=f;f=a.nextSetBit(f+1)){var g=this.bo[f].atom1;this.am[g.mi].isModelKit||(d.clearAll(),b.clearAll(),d.set(g.i),b.set(this.bo[f].getAtomIndex2()),this.addStateScript("connect ",null,d,b,"delete",!1,!0))}this.dBb(a,c)},"JU.BS,~B");b(c$,"makeConnections2",function(a,c,d,b,
f,g,e,k,m,n){null==e&&(e=new JU.BS);var s=65535==d,l=131071==d;l&&(d=1);var p=JM.Bond.isOrderH(d),q=!1,r=!1,t=!1,u=!1;switch(b){case 12291:return this.deleteConnections(a,c,d,f,g,k,l);case 603979873:case 1073741852:if(515!=d){if(k){a=f;f=new JU.BS;g=new JU.BS;for(var v=a.nextSetBit(0);0<=v;v=a.nextSetBit(v+1))f.set(this.bo[v].atom1.i),g.set(this.bo[v].atom2.i)}return y(-1,[p?this.autoHbond(f,g,!1):this.autoBondBs4(f,g,null,e,this.vwr.getMadBond(),603979873==b),0])}r=u=!0;break;case 1086324745:q=r=
!0;break;case 1073742025:r=!0;break;case 1073741904:t=!0}b=!q||s;s=!q&&!s;this.defaultCovalentMad=this.vwr.getMadBond();var l=0>a,x=0>c,A=l||x,B=!k||0.1!=a||1E8!=c;B&&(a=this.fixD(a,l),c=this.fixD(c,x));var E=this.getDefaultMadFromOrder(d),D=0,G=0,H=null,I=null,K=null,L="\x00",M=d|131072,O=0!=(d&512);try{for(v=f.nextSetBit(0);0<=v;v=f.nextSetBit(v+1)){if(k)H=this.bo[v],I=H.atom1,K=H.atom2;else{I=this.at[v];if(I.isDeleted())continue;L=this.isModulated(v)?"\x00":I.altloc}for(var N=k?0:g.nextSetBit(0);0<=
N;N=g.nextSetBit(N+1)){if(k)N=2147483646;else{if(N==v)continue;K=this.at[N];if(I.mi!=K.mi||K.isDeleted())continue;if("\x00"!=L&&L!=K.altloc&&"\x00"!=K.altloc)continue;H=I.getBond(K)}if(!(null==H?r:t)&&!(B&&!this.isInRange(I,K,a,c,l,x,A)||O&&!this.allowAromaticBond(H)))if(null==H)e.set(this.bondAtoms(I,K,d,E,e,n,m,!0).index),D++;else if(s&&(H.setOrder(d),this.bsAromatic.clear(H.index)),b||d==H.order||M==H.order||p&&H.isHydrogen())e.set(H.index),G++}}}catch(Q){if(!C(Q,Exception))throw Q;}u&&this.assignAromaticBondsBs(!0,
e);q||this.sm.setShapeSizeBs(1,-2147483648,null,e);return y(-1,[D,G])},"~N,~N,~N,~N,JU.BS,JU.BS,JU.BS,~B,~B,~N");b(c$,"autoBondBs4",function(a,c,d,b,f,g){if(g)return this.autoBond_Pre_11_9_24(a,c,d,b,f);if(0==this.ac)return 0;0==f&&(f=1);1.4E-45==this.maxBondingRadius&&this.findMaxRadii();g=this.vwr.getFloat(570425348);var e=this.vwr.getFloat(570425364),e=e*e,k=0;this.showRebondTimes&&JU.Logger.startTimer("autobond");var m=-1,n=null==a,s,l;n?(l=0,s=null):(a.equals(c)?s=a:(s=JU.BSUtil.copy(a),s.or(c)),
l=s.nextSetBit(0));for(var p=this.getSelectedAtomIterator(null,!1,!1,!0,!1),q=!1;0<=l&&l<this.ac;l=n?l+1:s.nextSetBit(l+1)){var r=n||a.get(l),t=n||c.get(l),u=this.at[l];if(!u.isDeleted()){var v=u.mi;if(v!=m){m=v;if(this.isJmolDataFrameForModel(v)){l=this.am[v].firstAtomIndex+this.am[v].act-1;continue}q=this.getInfoB(v,"autoBondUsingOccupation")}v=u.getBondingRadius();if(0!=v){var x=null!=d&&d.get(l);for(this.setIteratorForAtom(p,-1,l,v+this.maxBondingRadius+g,null);p.hasNext();){var y=this.at[p.next()];
if(!y.isDeleted()){var A=y.i,B=n||a.get(A),C=n||c.get(A);!B&&!C||(!(r&&C||t&&B)||x&&d.get(A)||q&&null!=this.occupancies&&50>this.occupancies[l]!=50>this.occupancies[A])||(A=this.isBondable(v,y.getBondingRadius(),p.foundDistance2(),e,g)?1:0,0<A&&this.autoBondCheck(u,y,A,f,b)&&k++)}}p.release()}}}this.showRebondTimes&&JU.Logger.checkTimer("autoBond",!1);return k},"JU.BS,JU.BS,JU.BS,JU.BS,~N,~B");b(c$,"isBondable",function(a,c,d,b,f){if(0==a||0==c||d<b)return!1;a=a+c+f;return d<=a*a},"~N,~N,~N,~N,~N");
b(c$,"autoBondCheck",function(a,c,d,b,f){if(20<a.getCurrentBondCount()||20<c.getCurrentBondCount())return this.maxBondWarned||JU.Logger.warn("maximum auto bond count reached"),this.maxBondWarned=!0,!1;var g=a.getFormalCharge();if(0!=g){var e=c.getFormalCharge();if(0>g&&0>e||0<g&&0<e)return!1}if(a.altloc!=c.altloc&&"\x00"!=a.altloc&&"\x00"!=c.altloc&&null==this.getModulation(a.i))return!1;this.getOrAddBond(a,c,d,b,f,0,!1);return!0},"JM.Atom,JM.Atom,~N,~N,JU.BS");b(c$,"autoBond_Pre_11_9_24",function(a,
c,d,b,f){if(0==this.ac)return 0;0==f&&(f=1);1.4E-45==this.maxBondingRadius&&this.findMaxRadii();var g=this.vwr.getFloat(570425348),e=this.vwr.getFloat(570425364),e=e*e,k=0;this.initializeBspf();for(var m=-1,n=this.ac;0<=--n;){var s=null==a||a.get(n),l=null==c||c.get(n);if(s||l){var p=this.at[n];if(!p.isDeleted()){var q=p.mi;if(q!=m&&(m=q,this.isJmolDataFrameForModel(q))){for(;0<=--n&&this.at[n].mi==q;);n++;continue}var r=p.getBondingRadius();if(0!=r){var t=r+this.maxBondingRadius+g;this.initializeBspt(q);
q=this.bspf.getCubeIterator(q);for(q.initialize(p,t,!0);q.hasMoreElements();)if(t=q.nextElement(),!(t===p||t.isDeleted())){var u=t.i,v=null==a||a.get(u),x=null==c||c.get(u);if(!(!v&&!x||null!=d&&d.get(u)&&d.get(n)))if(s&&x||l&&v)u=this.isBondable(r,t.getBondingRadius(),q.foundDistance2(),e,g)?1:0,0<u&&this.autoBondCheck(p,t,u,f,b)&&k++}q.release()}}}}return k},"JU.BS,JU.BS,JU.BS,JU.BS,~N");b(c$,"autoHbond",function(a,c,d){if(d){for(var b=this.getModelBS(a,!1),f=b.nextSetBit(0);0<=f&&d;f=b.nextSetBit(f+
1))d=!this.am[f].hasRasmolHBonds;if(d)return 0}d=!1;for(f=a.nextSetBit(0);0<=f;f=a.nextSetBit(f+1))if(1==this.at[f].getElementNumber()){d=!0;break}b=new JU.BS;f=this.vwr.getBoolean(603979853);if(null==c||f&&!d)return JU.Logger.info((null==c?"DSSP/DSSR ":"RasMol")+" pseudo-hbond calculation"),this.calcRasmolHydrogenBonds(a,c,null,!1,2147483647,!1,b),-JU.BSUtil.cardinalityOf(b);JU.Logger.info(d?"Standard Hbond calculation":"Jmol pseudo-hbond calculation");var g=null;if(!d){g=new JU.BS;for(f=a.nextSetBit(0);0<=
f;f=a.nextSetBit(f+1))switch(this.at[f].atomID){case 64:case 4:case 14:case 15:case 16:case 17:g.set(f)}}var e=this.vwr.getFloat(570425361),k=3.141592653589793*this.vwr.getFloat(570425360)/180,m=e*e,n=JM.ModelSet.hbondMin*JM.ModelSet.hbondMin,s=e>JM.ModelSet.hbondMin?n:m,l=e>JM.ModelSet.hbondMin?JM.ModelSet.hbondMin:e,p=0,q=0,r=new JU.V3,t=new JU.V3;this.showRebondTimes&&JU.Logger.debugging&&JU.Logger.startTimer("hbond");var u=null,v=null;c=this.getSelectedAtomIterator(c,!1,!1,!1,!1);for(f=a.nextSetBit(0);0<=
f;f=a.nextSetBit(f+1)){var x=this.at[f],y=x.getElementNumber(),A=1==y;if(!(!A&&(d||7!=y&&8!=y)||A&&!d)){var B,C,E;if(A){y=x.bonds;if(null==y)continue;E=!1;for(B=0;B<y.length&&!E;B++)E=y[B].getOtherAtom(x).getElementNumber(),E=7==E||8==E;if(!E)continue;C=l;y=1;B=s;E=!1}else C=e,y=n,B=m,E=g.get(f);for(this.setIteratorForAtom(c,-1,x.i,C,null);c.hasNext();){C=this.at[c.next()];var D=C.getElementNumber();if(!(C===x||!A&&7!=D&&8!=D||A&&1==D||(q=c.foundDistance2())<y||q>B||E&&g.get(C.i)||x.isBonded(C))){if(0<
k){r.sub2(x,C);if(null==(v=JM.ModelSet.checkMinAttachedAngle(x,k,r,t,d)))continue;r.scale(-1);if(null==(u=JM.ModelSet.checkMinAttachedAngle(C,k,r,t,d)))continue}var D=0,G;A&&!Float.isNaN(u.x)&&!Float.isNaN(v.x)?(G=4096,D=JM.HBond.getEnergy(Math.sqrt(q),u.distance(x),u.distance(v),C.distance(v))/1E3):G=2048;b.set(this.addHBond(x,C,G,D));p++}}}}c.release();this.sm.setShapeSizeBs(1,-2147483648,null,b);this.showRebondTimes&&JU.Logger.checkTimer("hbond",!1);return d?p:-p},"JU.BS,JU.BS,~B");c$.checkMinAttachedAngle=
b(c$,"checkMinAttachedAngle",function(a,c,d,b,f){var g=a.bonds;if(null==g||0==g.length)return JU.P3.new3(NaN,0,0);for(var e=null,k=3.4028235E38,m=g.length;0<=--m;)if(g[m].isCovalent()){var n=g[m].getOtherAtom(a);if(f||1!=n.getElementNumber()){b.sub2(a,n);var s=b.angle(d);if(s<c)return null;s<k&&(e=n,k=s)}}return e},"JM.Atom,~N,JU.V3,JU.V3,~B");b(c$,"setStructureIndexes",function(){for(var a,c=0,d=-1,b=-1,f=-1,g=0;g<this.ac;g++){if((b=this.at[g].mi)!=f)c=0,f=b,d=-1;if((a=this.at[g].group.getStrucNo())!=
d&&0!=a)this.at[g].group.setStrucNo(++c),d=c}});b(c$,"getModelInfoAsString",function(){var a=(new JU.SB).append('<models count="');a.appendI(this.mc).append('" modelSetHasVibrationVectors="').append(this.modelSetHasVibrationVectors()+'">\n<properties>');if(null!=this.modelSetProperties){for(var c=this.modelSetProperties.propertyNames();c.hasMoreElements();){var d=c.nextElement();a.append('\n <property name="').append(d).append('" value=').append(JU.PT.esc(this.modelSetProperties.getProperty(d))).append(" />")}a.append("\n</properties>")}for(c=
0;c<this.mc;++c)a.append('\n<model index="').appendI(c).append('" n="').append(this.getModelNumberDotted(c)).append('" id=').append(JU.PT.esc(""+this.getInfo(c,"modelID"))),d=this.vwr.getJDXBaseModelIndex(c),d!=c&&a.append(" baseModelId=").append(JU.PT.esc(this.getInfo(d,"jdxModelID"))),a.append(" name=").append(JU.PT.esc(this.getModelName(c))).append(" title=").append(JU.PT.esc(this.getModelTitle(c))).append(' hasVibrationVectors="').appendB(this.vwr.modelHasVibrationVectors(c)).append('" />');a.append("\n</models>");
return a.toString()});b(c$,"getSymmetryInfoAsString",function(){for(var a=(new JU.SB).append("Symmetry Information:"),c=0;c<this.mc;++c){a.append("\nmodel #").append(this.getModelNumberDotted(c)).append("; name=").append(this.getModelName(c)).append("\n");var d=this.getUnitCell(c);a.append(null==d?"no symmetry information":d.getSymmetryInfoStr())}return a.toString()});b(c$,"getSymTemp",function(a){return null==this.symTemp||a?this.symTemp=J.api.Interface.getSymmetry(this.vwr,"ms"):this.symTemp},"~B");
b(c$,"createModels",function(a){a=this.mc+a;var c=JU.AU.arrayCopyObject(this.am,a);this.validateBspf(!1);this.modelNumbers=JU.AU.arrayCopyI(this.modelNumbers,a);this.modelFileNumbers=JU.AU.arrayCopyI(this.modelFileNumbers,a);this.modelNumbersForAtomLabel=JU.AU.arrayCopyS(this.modelNumbersForAtomLabel,a);this.modelNames=JU.AU.arrayCopyS(this.modelNames,a);this.frameTitles=JU.AU.arrayCopyS(this.frameTitles,a);for(var d=v(this.modelFileNumbers[this.mc-1]/1E6)+1,b=this.mc,f=0;b<a;b++)this.modelNumbers[b]=
b+this.mc,this.modelFileNumbers[b]=1E6*d+ ++f,this.modelNumbersForAtomLabel[b]=this.modelNames[b]=d+"."+f;this.thisStateModel=-1;d=this.getInfoM("group3Lists");null!=d&&(b=this.getInfoM("group3Counts"),d=JU.AU.arrayCopyS(d,a),b=JU.AU.arrayCopyII(b,a),this.msInfo.put("group3Lists",d),this.msInfo.put("group3Counts",b));this.unitCells=JU.AU.arrayCopyObject(this.unitCells,a);for(b=this.mc;b<a;b++)c[b]=(new JM.Model).set(this,b,-1,null,null,null),c[b].loadState=" model create #"+b+";";this.am=c;this.mc=
a},"~N");b(c$,"assignAtom",function(a,c,d){null==c&&(c="C");var b=this.at[a],f=new JU.BS,g=1==b.getElementNumber(),f=JU.Elements.elementNumberFromSymbol(c,!0),e=!1;if(0<f)this.setElement(b,f),this.vwr.shm.setShapeSizeBs(0,0,this.vwr.rd,JU.BSUtil.newAndSetBit(a)),this.setAtomName(a,c+b.getAtomNumber()),this.am[b.mi].isModelKit||this.taintAtom(a,0);else if(c.equals("Pl"))b.setFormalCharge(b.getFormalCharge()+1);else if(c.equals("Mi"))b.setFormalCharge(b.getFormalCharge()-1);else if(c.equals("X"))e=
!0;else if(!c.equals("."))return;this.removeUnnecessaryBonds(b,e);c=0;1==b.getCovalentBondCount()&&(g?c=1.5:!g&&1==f&&(c=1));0!=c&&(g=JU.V3.newVsub(b,this.at[b.getBondedAtomIndex(0)]),e=g.length(),g.normalize(),g.scale(c-e),this.setAtomCoordRelative(a,g.x,g.y,g.z));a=JU.BSUtil.newAndSetBit(a);1!=f&&d&&(this.validateBspf(!1),f=this.getAtomsWithinRadius(1,a,!1,null),f.andNot(a),0<=f.nextSetBit(0)&&this.vwr.deleteAtoms(f,!1),f=this.vwr.getModelUndeletedAtomsBitSet(b.mi),f.andNot(this.getAtomBitsMDa(1612709900,
null,new JU.BS)),this.makeConnections2(0.1,1.8,1,1073741904,a,f,null,!1,!1,0));this.vwr.addHydrogens(a,!1,!0)},"~N,~S,~B");b(c$,"deleteAtoms",function(a){this.averageAtomPoint=null;if(null!=a){for(var c=new JU.BS,d=a.nextSetBit(0);0<=d&&d<this.ac;d=a.nextSetBit(d+1))this.at[d].$delete(c);for(d=0;d<this.mc;d++)this.am[d].bsAtomsDeleted.or(a),this.am[d].bsAtomsDeleted.and(this.am[d].bsAtoms),this.am[d].dssrCache=null;this.deleteBonds(c,!1);this.validateBspf(!1)}},"JU.BS");b(c$,"adjustAtomArrays",function(a,
c,d){this.ac=d;for(var b=c;b<d;b++){this.at[b]=this.at[a[b]];this.at[b].i=b;var f=this.am[this.at[b].mi];f.firstAtomIndex==a[b]&&(f.firstAtomIndex=b);f.bsAtoms.set(b)}if(null!=this.vibrations)for(b=c;b<d;b++)this.vibrations[b]=this.vibrations[a[b]];if(null!=this.atomTensorList)for(b=c;b<d;b++)if(f=this.atomTensorList[b]=this.atomTensorList[a[b]],null!=f)for(var g=f.length;0<=--g;){var e=f[g];null!=e&&(e.atomIndex1=b)}if(null!=this.atomNames)for(b=c;b<d;b++)this.atomNames[b]=this.atomNames[a[b]];if(null!=
this.atomTypes)for(b=c;b<d;b++)this.atomTypes[b]=this.atomTypes[a[b]];if(null!=this.atomResnos)for(b=c;b<d;b++)this.atomResnos[b]=this.atomResnos[a[b]];if(null!=this.atomSerials)for(b=c;b<d;b++)this.atomSerials[b]=this.atomSerials[a[b]];if(null!=this.atomSeqIDs)for(b=c;b<d;b++)this.atomSeqIDs[b]=this.atomSeqIDs[a[b]];if(null!=this.bfactor100s)for(b=c;b<d;b++)this.bfactor100s[b]=this.bfactor100s[a[b]];if(null!=this.occupancies)for(b=c;b<d;b++)this.occupancies[b]=this.occupancies[a[b]];if(null!=this.partialCharges)for(b=
c;b<d;b++)this.partialCharges[b]=this.partialCharges[a[b]]},"~A,~N,~N");b(c$,"growAtomArrays",function(a){this.at=JU.AU.arrayCopyObject(this.at,a);null!=this.vibrations&&(this.vibrations=JU.AU.arrayCopyObject(this.vibrations,a));null!=this.occupancies&&(this.occupancies=JU.AU.arrayCopyF(this.occupancies,a));null!=this.bfactor100s&&(this.bfactor100s=JU.AU.arrayCopyShort(this.bfactor100s,a));null!=this.partialCharges&&(this.partialCharges=JU.AU.arrayCopyF(this.partialCharges,a));null!=this.atomTensorList&&
(this.atomTensorList=JU.AU.arrayCopyObject(this.atomTensorList,a));null!=this.atomNames&&(this.atomNames=JU.AU.arrayCopyS(this.atomNames,a));null!=this.atomTypes&&(this.atomTypes=JU.AU.arrayCopyS(this.atomTypes,a));null!=this.atomResnos&&(this.atomResnos=JU.AU.arrayCopyI(this.atomResnos,a));null!=this.atomSerials&&(this.atomSerials=JU.AU.arrayCopyI(this.atomSerials,a));null!=this.atomSeqIDs&&(this.atomSeqIDs=JU.AU.arrayCopyI(this.atomSeqIDs,a))},"~N");b(c$,"addAtom",function(a,c,d,b,f,g,e,k,m,n,s,
l,p,q,r,t,u,v,x){k=(new JM.Atom).setAtom(a,this.ac,m,n,x,k,d,l,u);this.am[a].act++;this.am[a].bsAtoms.set(this.ac);JU.Elements.isElement(d,1)&&this.am[a].hydrogenCount++;this.ac>=this.at.length&&this.growAtomArrays(this.ac+100);this.at[this.ac]=k;this.setBFactor(this.ac,r);this.setOccupancy(this.ac,q);this.setPartialCharge(this.ac,p);null!=t&&this.setAtomTensors(this.ac,t);k.group=c;k.colixAtom=this.vwr.cm.getColixAtomPalette(k,J.c.PAL.CPK.id);null!=b&&(null!=f&&(null==this.atomTypes&&(this.atomTypes=
Array(this.at.length)),this.atomTypes[this.ac]=f),k.atomID=v,0==v&&(null==this.atomNames&&(this.atomNames=Array(this.at.length)),this.atomNames[this.ac]=b.intern()));-2147483648!=g&&(null==this.atomSerials&&(this.atomSerials=y(this.at.length,0)),this.atomSerials[this.ac]=g);0!=e&&(null==this.atomSeqIDs&&(this.atomSeqIDs=y(this.at.length,0)),this.atomSeqIDs[this.ac]=e);null!=s&&this.setVibrationVector(this.ac,s);this.ac++;return k},"~N,JM.Group,~N,~S,~S,~N,~N,~N,JU.P3,~N,JU.V3,~N,~N,~N,~N,JU.Lst,~B,~N,JU.BS");
b(c$,"getInlineData",function(a){var c=null;if(0<=a)c=this.am[a].loadScript;else for(a=this.mc;0<=--a&&!(0<(c=this.am[a].loadScript).length()););a=c.lastIndexOf('data "');if(0>a)return null;a=c.indexOf2('"',a+7);var d=c.lastIndexOf('end "');return d<a||0>a?null:c.substring2(a+2,d)},"~N");b(c$,"isAtomPDB",function(a){return 0<=a&&this.am[this.at[a].mi].isBioModel},"~N");b(c$,"isAtomAssignable",function(a){return 0<=a&&this.at[a].mi==this.mc-1},"~N");b(c$,"haveModelKit",function(){for(var a=0;a<this.mc;a++)if(this.am[a].isModelKit)return!0;
return!1});b(c$,"getModelKitStateBitset",function(a,c){for(var d=JU.BSUtil.copy(c),b=0;b<this.mc;b++)this.am[b].isModelKit||d.andNot(this.am[b].bsAtoms);return JU.BSUtil.deleteBits(a,d)},"JU.BS,JU.BS");b(c$,"setAtomNamesAndNumbers",function(a,c,d){0>c&&(a=this.am[this.at[a].mi].firstAtomIndex);null==this.atomSerials&&(this.atomSerials=y(this.ac,0));null==this.atomNames&&(this.atomNames=Array(this.ac));for(var b=this.isXYZ&&this.vwr.getBoolean(603979978),f=2147483647,g=1;a<this.ac;++a){var e=this.at[a];
e.mi!=f&&(f=e.mi,g=b?0:1);if(a>=-c){if(0==this.atomSerials[a]||0>c)this.atomSerials[a]=a<c?d.atomSerials[a]:g;if(null==this.atomNames[a]||0>c)this.atomNames[a]=(e.getElementSymbol()+this.atomSerials[a]).intern()}(!this.am[f].isModelKit||0<e.getElementNumber()&&!e.isDeleted())&&g++}},"~N,~N,JM.AtomCollection");b(c$,"setUnitCellOffset",function(a,c,d){null!=a&&(null==c?a.setOffset(d):a.setOffsetPt(c))},"J.api.SymmetryInterface,JU.T3,~N");b(c$,"connect",function(a){this.resetMolecules();for(var c=new JU.BS,
d=0;d<a.length;d++){var b=a[d];if(!(null==b||2>b.length)){var f=A(b[0]),g=0>f;g&&(f=-1-f);var e=A(b[1]);if(!(0>e||f>=this.ac||e>=this.ac)){var k=2<b.length?A(b[2]):1;0>k&&(k&=65535);var m=3<b.length?aa(1E3*a[d][3]):this.getDefaultMadFromOrder(k);0==k||0==m&&32768!=k&&!JM.Bond.isOrderH(k)?(b=this.at[f].getBond(this.at[e]),null!=b&&c.set(b.index)):this.bondAtoms(this.at[f],this.at[e],k,m,null,4<b.length?b[4]:0,g,!0)}}}0<=c.nextSetBit(0)&&this.deleteBonds(c,!1)},"~A");b(c$,"setFrameDelayMs",function(a,
c){for(var d=c.nextSetBit(0);0<=d;d=c.nextSetBit(d+1))this.am[this.am[d].trajectoryBaseIndex].frameDelay=a},"~N,JU.BS");b(c$,"getFrameDelayMs",function(a){return a<this.am.length&&0<=a?this.am[this.am[a].trajectoryBaseIndex].frameDelay:0},"~N");b(c$,"getModelIndexFromId",function(a){var c=0<=a.indexOf("#"),d=a.toLowerCase().endsWith(".basemodel");d&&(a=a.substring(0,a.length-10));for(var b=-1,f=null,g=0;g<this.mc;g++){var e=this.getInfo(g,"modelID"),k=a.startsWith("~")?"~"+this.getModelNumberDotted(g):
null;if(!(null==k&&null==e&&null==(e=this.getModelTitle(g)))){c&&(f=this.getModelFileName(g),f.endsWith("#molfile")?e=f:(f+="#",e=f+e));if(a.equalsIgnoreCase(e)||a.equalsIgnoreCase(k))return d?this.vwr.getJDXBaseModelIndex(g):g;null!=f&&a.startsWith(f)&&(b=-2)}}return null==f&&!c?-2:b},"~S");b(c$,"getAuxiliaryInfo",function(a){var c=this.msInfo;null==c&&(c=new java.util.Hashtable);if(null!=a||!c.containsKey("models")){for(var d=new JU.Lst,b=0;b<this.mc;++b)if(null==a||a.get(b)){var f=this.getModelAuxiliaryInfo(b);
f.put("modelIndex",Integer.$valueOf(b));d.addLast(f)}c.put("models",d)}return c},"JU.BS");b(c$,"getDihedralMap",function(a){for(var c=new JU.Lst,d=a.length,b=null,f=null,g=null,e=null,k=d-1;0<=--k;)for(var m=d;--m>k;)if(b=this.at[a[k]],f=this.at[a[m]],b.isBonded(f))for(var n=d;0<=--n;)if(n!=k&&n!=m&&(g=this.at[a[n]]).isBonded(b))for(var s=d;0<=--s;)if(s!=k&&s!=m&&s!=n&&(e=this.at[a[s]]).isBonded(f)){var l=y(4,0);l[0]=g.i;l[1]=b.i;l[2]=f.i;l[3]=e.i;c.addLast(l)}d=c.size();a=JU.AU.newInt2(d);for(k=
d;0<=--k;)a[d-k-1]=c.get(k);return a},"~A");b(c$,"setModulation",function(a,c,d,b){if(null==this.bsModulated)if(c)this.bsModulated=new JU.BS;else if(null==a)return;null==a&&(a=this.getModelAtomBitSetIncludingDeleted(-1,!1));for(var f=this.vwr.getFloat(1275072532),g=!1,e=a.nextSetBit(0);0<=e;e=a.nextSetBit(e+1)){var k=this.getModulation(e);null!=k&&(k.setModTQ(this.at[e],c,d,b,f),null!=this.bsModulated&&this.bsModulated.setBitTo(e,c),g=!0)}g||(this.bsModulated=null)},"JU.BS,~B,JU.P3,~B");b(c$,"getBoundBoxOrientation",
function(a,c){var d=c.nextSetBit(0);if(0>d)return"{0 0 0 1}";var b=null==this.vOrientations?0:this.vOrientations.length;if(0==b){for(var f=Array(3375),b=0,g=new JU.P4,e=-7;7>=e;e++)for(var k=-7;7>=k;k++)for(var m=0;14>=m;m++,b++)1<(f[b]=JU.V3.new3(e/7,k/7,m/14)).length()&&--b;this.vOrientations=Array(b);for(e=b;0<=--e;)m=Math.sqrt(1-f[e].lengthSquared()),Float.isNaN(m)&&(m=0),g.set4(f[e].x,f[e].y,f[e].z,m),this.vOrientations[e]=JU.Quat.newP4(g)}for(var f=new JU.P3,g=3.4028235E38,n=null,l=null,e=0;e<
b;e++){var m=this.vOrientations[e],p=new JU.BoxInfo;p.setMargin(0);for(k=d;0<=k;k=c.nextSetBit(k+1))p.addBoundBoxPoint(m.transform2(this.at[k],f));switch(a){default:case 1312817669:case 1073741863:k=(p.bbCorner1.x-p.bbCorner0.x)*(p.bbCorner1.y-p.bbCorner0.y)*(p.bbCorner1.z-p.bbCorner0.z);break;case 1111492629:k=p.bbCorner1.x-p.bbCorner0.x;break;case 1111492630:k=p.bbCorner1.y-p.bbCorner0.y;break;case 1111492631:k=p.bbCorner1.z-p.bbCorner0.z}k<g&&(n=m,l=p,g=k)}if(1312817669!=a&&1073741863!=a)return n.toString();
m=JU.Quat.newQ(n);d=l.bbCorner1.x-l.bbCorner0.x;b=l.bbCorner1.y-l.bbCorner0.y;e=l.bbCorner1.z-l.bbCorner0.z;d<b&&(f.set(0,0,1),m=JU.Quat.newVA(f,90).mulQ(m),k=d,d=b,b=k);b<e&&(e>d&&(f.set(0,1,0),m=JU.Quat.newVA(f,90).mulQ(m),k=d,d=e,e=k),f.set(1,0,0),m=JU.Quat.newVA(f,90).mulQ(m),k=b,b=e,e=k);return 1312817669==a?g+"\t{"+d+" "+b+" "+e+"}":0==m.getTheta()?"{0 0 0 1}":m.toString()},"~N,JU.BS");b(c$,"intersectPlane",function(a,c,d){return(null==this.triangulator?this.triangulator=J.api.Interface.getUtil("TriangleData",
this.vwr,"ms"):this.triangulator).intersectPlane(a,c,d)},"JU.P4,JU.Lst,~N");b(c$,"getUnitCellForAtom",function(a){if(0>a||a>this.ac)return null;if(null!=this.bsModulated){var c=this.getModulation(a),c=null==c?null:c.getSubSystemUnitCell();if(null!=c)return c}return this.getUnitCell(this.at[a].mi)},"~N");b(c$,"clearCache",function(){for(var a=this.mc;0<=--a;)this.am[a].dssrCache=null});b(c$,"getSymMatrices",function(a){var c=this.getModelSymmetryCount(a);if(0==c)return null;var d=Array(c),b=this.am[a].biosymmetry;
null==b&&(b=this.getUnitCell(a));for(a=c;0<=--a;)d[a]=b.getSpaceGroupOperation(a);return d},"~N");b(c$,"getBsBranches",function(a){for(var c=v(a.length/6),d=Array(c),b=new java.util.Hashtable,f=0,g=0;f<c;f++,g+=6)if(!(1>Math.abs(a[g+5]-a[g+4]))){var e=A(a[g+1]),k=A(a[g+2]),m=""+e+"_"+k;if(!b.containsKey(m)){b.put(m,Boolean.TRUE);for(var m=this.vwr.getBranchBitSet(k,e,!0),n=this.at[e].bonds,e=this.at[e],l=0;l<n.length;l++){var p=n[l];if(p.isCovalent()&&(p=p.getOtherAtom(e).i,p!=k&&m.get(p))){m=null;
break}}d[f]=m}}return d},"~A");b(c$,"recalculatePositionDependentQuantities",function(a,c){null!=this.vwr.shm.getShape(21)&&this.vwr.shm.getShapePropertyData(21,"move",x(-1,[a,c]));this.haveStraightness&&this.calculateStraightnessAll();this.recalculateLeadMidpointsAndWingVectors(-1);for(var d=this.getModelBS(a,!1),b=d.nextSetBit(0);0<=b;b=d.nextSetBit(b+1))this.sm.notifyAtomPositionsChanged(b,a,c);this.averageAtomPoint=null},"JU.BS,JU.M4");b(c$,"moveAtoms",function(a,c,d,b,f,g,e,k){if(null!=a){for(c=
f.nextSetBit(0);0<=c;c=f.nextSetBit(c+1))a.rotTrans(this.at[c]),this.taintAtom(c,2);this.mat4.setM4(a);b=null}else if(!k){null==c?this.matTemp.setM3(d):(this.ptTemp.set(0,0,0),this.matInv.setM3(d),this.matInv.invert(),this.matTemp.mul2(c,d),this.matTemp.mul2(this.matInv,this.matTemp));e?(this.vTemp.setT(g),this.mat4.setIdentity(),this.mat4.setTranslation(this.vTemp),this.mat4t.setToM3(this.matTemp),this.mat4.mul(this.mat4t),this.mat4t.setIdentity(),this.vTemp.scale(-1),this.mat4t.setTranslation(this.vTemp),
this.mat4.mul(this.mat4t)):this.mat4.setToM3(this.matTemp);for(c=f.nextSetBit(0);0<=c;c=f.nextSetBit(c+1))e?this.mat4.rotTrans(this.at[c]):(this.ptTemp.add(this.at[c]),this.mat4.rotTrans(this.at[c]),this.ptTemp.sub(this.at[c])),this.taintAtom(c,2);e||(this.ptTemp.scale(1/f.cardinality()),null==b&&(b=new JU.V3),b.add(this.ptTemp))}if(null!=b){for(c=f.nextSetBit(0);0<=c;c=f.nextSetBit(c+1))this.at[c].add(b),this.taintAtom(c,2);k||(this.mat4t.setIdentity(),this.mat4t.setTranslation(b),this.mat4.mul2(this.mat4t,
this.mat4))}this.recalculatePositionDependentQuantities(f,this.mat4)},"JU.M4,JU.M3,JU.M3,JU.V3,JU.BS,JU.P3,~B,~B");b(c$,"setDihedrals",function(a,c,d){var b=v(a.length/6);1<d&&(d=1);for(var f=0,g=0;f<b;f++,g+=6){var e=c[f];if(!(null==e||e.isEmpty())){var k=this.at[A(a[g+1])],m=JU.V3.newVsub(this.at[A(a[g+2])],k),m=JU.A4.newVA(m,-((a[g+5]-a[g+4])*d)/57.29577951308232);this.matTemp.setAA(m);this.ptTemp.setT(k);for(k=e.nextSetBit(0);0<=k;k=e.nextSetBit(k+1))this.at[k].sub(this.ptTemp),this.matTemp.rotate(this.at[k]),
this.at[k].add(this.ptTemp),this.taintAtom(k,2)}}},"~A,~A,~N");b(c$,"setAtomCoordsRelative",function(a,c){this.setAtomsCoordRelative(c,a.x,a.y,a.z);this.mat4.setIdentity();this.vTemp.setT(a);this.mat4.setTranslation(this.vTemp);this.recalculatePositionDependentQuantities(c,this.mat4)},"JU.T3,JU.BS");b(c$,"setAtomCoords",function(a,c,d){this.setAtomCoord2(a,c,d);switch(c){case 1111492626:case 1111492627:case 1111492628:case 1145047055:break;default:this.recalculatePositionDependentQuantities(a,null)}},
"JU.BS,~N,~O");b(c$,"invertSelected",function(a,c,d,b,f){if(null!=a)for(var g=f.nextSetBit(0);0<=g;g=f.nextSetBit(g+1)){d=2*(a.x-this.at[g].x);b=2*(a.y-this.at[g].y);var e=2*(a.z-this.at[g].z);this.setAtomCoordRelative(g,d,b,e)}else if(null!=c){a=JU.V3.new3(c.x,c.y,c.z);a.normalize();for(var k=Math.sqrt(c.x*c.x+c.y*c.y+c.z*c.z),g=f.nextSetBit(0);0<=g;g=f.nextSetBit(g+1))e=2*-JU.Measure.distanceToPlaneD(c,k,this.at[g]),d=a.x*e,b=a.y*e,e*=a.z,this.setAtomCoordRelative(g,d,b,e)}else if(0<=d&&(c=this.at[d],
a=c.bonds,null!=a)){f=new JU.BS;e=new JU.Lst;k=this.vwr.getModelUndeletedAtomsBitSet(c.mi);for(g=0;g<a.length;g++){var m=a[g].getOtherAtom(c);b.get(m.i)?f.or(JU.JmolMolecule.getBranchBitSet(this.at,m.i,k,null,d,!0,!0)):e.addLast(m)}0!=e.size()&&(a=JU.Measure.getCenterAndPoints(e)[0],g=JU.V3.newVsub(c,a),g=JU.Quat.newVA(g,180),this.moveAtoms(null,null,g.getMatrix(),null,f,c,!0,!1))}},"JU.P3,JU.P4,~N,JU.BS,JU.BS");b(c$,"getCellWeights",function(a){var c=null,d=a.nextSetBit(0),b=-1;if(0<=d&&null!=this.getUnitCell(b=
this.at[d].mi)){var f=new JU.P3;this.getModelAtomBitSetIncludingDeleted(b,!0).and(a);c=G(a.cardinality(),0);for(b=0;0<=d;d=a.nextSetBit(d+1))c[b++]=JU.SimpleUnitCell.getCellWeight(this.at[d].getFractionalUnitCoordPt(!0,!1,f))}return c},"JU.BS");b(c$,"getAtomGroupQuaternions",function(a,c,d){var b=0,f=new JU.Lst;a=JU.BSUtil.copy(a);for(var g=new JU.BS,e=a.nextSetBit(0);0<=e&&b<c;e=a.nextSetBit(e+1)){var k=this.at[e].group;k.setAtomBits(g);a.andNot(g);var m=k.getQuaternion(d);if(null==m&&(this.am[this.at[e].mi].isBioModel||
(m=k.getQuaternionFrame(this.at)),null==m))continue;b++;f.addLast(m)}return f.toArray(Array(f.size()))},"JU.BS,~N,~S");b(c$,"getConformation",function(a,c,d,b){var f=new JU.BS;if(0<=c)for(var g=this.mc;0<=--g;)if(!(g!=a&&0<=a)){var e=this.am[g],k=this.vwr.getModelUndeletedAtomsBitSet(a);null!=b&&k.and(b);if(!(0>k.nextSetBit(0)))if(c>=e.altLocCount)0==c&&f.or(k);else if(!this.am[g].isBioModel||!this.am[g].getConformation(c,d,k,f)){for(var m=this.getAltLocCountInModel(g),e=this.getAltLocListInModel(g),
n=new JU.BS;0<=--m;)m!=c&&k.andNot(this.getAtomBitsMDa(1073742355,e.substring(m,m+1),n));0<=k.nextSetBit(0)&&f.or(k)}}return f},"~N,~N,~B,JU.BS");b(c$,"getSequenceBits",function(a,c,d){return this.haveBioModels?this.bioModelset.getAllSequenceBits(a,c,d):d},"~S,JU.BS,JU.BS");b(c$,"getBioPolymerCountInModel",function(a){return this.haveBioModels?this.bioModelset.getBioPolymerCountInModel(a):0},"~N");b(c$,"getPolymerPointsAndVectors",function(a,c,d,b){this.haveBioModels&&this.bioModelset.getAllPolymerPointsAndVectors(a,
c,d,b)},"JU.BS,JU.Lst,~B,~N");b(c$,"recalculateLeadMidpointsAndWingVectors",function(a){this.haveBioModels&&this.bioModelset.recalculatePoints(a)},"~N");b(c$,"calcRasmolHydrogenBonds",function(a,c,d,b,f,g,e){this.haveBioModels&&this.bioModelset.calcAllRasmolHydrogenBonds(a,c,d,b,f,g,e)},"JU.BS,JU.BS,JU.Lst,~B,~N,~B,JU.BS");b(c$,"calculateStraightnessAll",function(){this.haveBioModels&&!this.haveStraightness&&this.bioModelset.calculateStraightnessAll()});b(c$,"calculateStruts",function(a,c){return this.haveBioModels?
this.bioModelset.calculateStruts(a,c):0},"JU.BS,JU.BS");b(c$,"getGroupsWithin",function(a,c){return this.haveBioModels?this.bioModelset.getGroupsWithinAll(a,c):new JU.BS},"~N,JU.BS");b(c$,"getProteinStructureState",function(a,c){return this.haveBioModels?this.bioModelset.getFullProteinStructureState(a,c):""},"JU.BS,~N");b(c$,"calculateStructures",function(a,c,d,b,f){return this.haveBioModels?this.bioModelset.calculateAllStuctures(a,c,d,b,f):""},"JU.BS,~B,~B,~B,~B");b(c$,"calculateStructuresAllExcept",
function(a,c,d,b,f,g){this.freezeModels();return this.haveBioModels?this.bioModelset.calculateAllStructuresExcept(a,c,d,b,f,g):""},"JU.BS,~B,~B,~B,~B,~B");b(c$,"recalculatePolymers",function(a){this.bioModelset.recalculateAllPolymers(a,this.getGroups())},"JU.BS");b(c$,"calculatePolymers",function(a,c,d,b){null!=this.bioModelset&&this.bioModelset.calculateAllPolymers(a,c,d,b)},"~A,~N,~N,JU.BS");b(c$,"calcSelectedMonomersCount",function(){this.haveBioModels&&this.bioModelset.calcSelectedMonomersCount()});
b(c$,"setProteinType",function(a,c){this.haveBioModels&&this.bioModelset.setAllProteinType(a,c)},"JU.BS,J.c.STR");b(c$,"setStructureList",function(a){this.haveBioModels&&this.bioModelset.setAllStructureList(a)},"java.util.Map");b(c$,"setConformation",function(a){this.haveBioModels&&this.bioModelset.setAllConformation(a);return a},"JU.BS");b(c$,"getHeteroList",function(a){a=this.haveBioModels?this.bioModelset.getAllHeteroList(a):null;return null==a?this.getInfoM("hetNames"):a},"~N");b(c$,"getUnitCellPointsWithin",
function(a,c,d,b){var f=new JU.Lst,g=null,e=null;b&&(g=new java.util.Hashtable,e=new JU.Lst,g.put("atoms",e),g.put("points",f));var k=null==c?-1:c.nextSetBit(0);c=this.vwr.getModelUndeletedAtomsBitSet(0>k?this.vwr.am.cmi:this.at[k].mi);0>k&&(k=c.nextSetBit(0));if(0<=k){var m=this.getUnitCellForAtom(k);if(null!=m){c=m.getIterator(this.vwr,this.at[k],this.at,c,a);for(null!=d&&c.setCenter(d,a);c.hasNext();)k=c.next(),d=c.getPosition(),f.addLast(d),b&&e.addLast(Integer.$valueOf(k))}}return b?g:f},"~N,JU.BS,JU.P3,~B");
D(c$,"hbondMin",2.5)});l("JM");u(["JU.M3","$.P3"],"JM.Orientation",["JU.PT","JU.Escape"],function(){c$=r(function(){this.rotationMatrix=this.saveName=null;this.rotationRadius=this.zoom=this.yTrans=this.xTrans=0;this.navCenter=this.center=null;this.cameraY=this.cameraX=this.cameraDepth=this.navDepth=this.yNav=this.xNav=NaN;this.navigationMode=this.windowCenteredFlag=!1;this.vwr=this.pymolView=this.moveToText=null;q(this,arguments)},JM,"Orientation");M(c$,function(){this.rotationMatrix=new JU.M3;this.center=
new JU.P3;this.navCenter=new JU.P3});t(c$,function(a,c,d){this.vwr=a;null!=d?(this.pymolView=d,this.moveToText="moveTo -1.0 PyMOL "+JU.Escape.eAF(d)):(a.finalizeTransformParameters(),c?(c=a.ms.getInfoM("defaultOrientationMatrix"),null==c?this.rotationMatrix.setScale(1):this.rotationMatrix.setM3(c)):a.tm.getRotation(this.rotationMatrix),this.xTrans=a.tm.getTranslationXPercent(),this.yTrans=a.tm.getTranslationYPercent(),this.zoom=a.tm.getZoomSetting(),this.center.setT(a.tm.fixedRotationCenter),this.windowCenteredFlag=
a.tm.isWindowCentered(),this.rotationRadius=a.getFloat(570425388),this.navigationMode=a.getBoolean(603979889),this.moveToText=a.tm.getMoveToText(-1,!1),this.navigationMode&&(this.xNav=a.tm.getNavigationOffsetPercent("X"),this.yNav=a.tm.getNavigationOffsetPercent("Y"),this.navDepth=a.tm.navigationDepthPercent,this.navCenter=JU.P3.newP(a.tm.navigationCenter)),0!=a.tm.camera.z&&(this.cameraDepth=a.tm.getCameraDepth(),this.cameraX=a.tm.camera.x,this.cameraY=a.tm.camera.y))},"JV.Viewer,~B,~A");b(c$,"getMoveToText",
function(a){return a?"   "+this.moveToText+"\n  save orientation "+JU.PT.esc(this.saveName.substring(12))+";\n":this.moveToText},"~B");b(c$,"restore",function(a,c){c?(this.vwr.setBooleanProperty("windowCentered",this.windowCenteredFlag),this.vwr.setBooleanProperty("navigationMode",this.navigationMode),null==this.pymolView?this.vwr.moveTo(this.vwr.eval,a,this.center,null,NaN,this.rotationMatrix,this.zoom,this.xTrans,this.yTrans,this.rotationRadius,this.navCenter,this.xNav,this.yNav,this.navDepth,this.cameraDepth,
this.cameraX,this.cameraY):this.vwr.tm.moveToPyMOL(this.vwr.eval,a,this.pymolView)):this.vwr.tm.setRotation(this.rotationMatrix);return!0},"~N,~B")});l("JM");u(null,"JM.StateScript",["JU.SB","JU.BSUtil","$.Escape"],function(){c$=r(function(){this.modelIndex=0;this.script2=this.script1=this.bsAtoms2=this.bsAtoms1=this.bsBonds=null;this.inDefinedStateBlock=!1;q(this,arguments)},JM,"StateScript");t(c$,function(a,c,d,b,f,g,e){this.modelIndex=a;this.script1=c;this.bsBonds=JU.BSUtil.copy(d);this.bsAtoms1=
JU.BSUtil.copy(b);this.bsAtoms2=JU.BSUtil.copy(f);this.script2=g;this.inDefinedStateBlock=e},"~N,~S,JU.BS,JU.BS,JU.BS,~S,~B");b(c$,"isValid",function(){return null!=this.script1&&0<this.script1.length&&(null==this.bsBonds||0<=this.bsBonds.nextSetBit(0))&&(null==this.bsAtoms1||0<=this.bsAtoms1.nextSetBit(0))&&(null==this.bsAtoms2||0<=this.bsAtoms2.nextSetBit(0))});e(c$,"toString",function(){if(!this.isValid())return"";var a=JU.SB.newS(this.script1);null!=this.bsBonds&&a.append(" ").append(JU.Escape.eBond(this.bsBonds));
null!=this.bsAtoms1&&a.append(" ").append(JU.Escape.eBS(this.bsAtoms1));null!=this.bsAtoms2&&a.append(" ").append(JU.Escape.eBS(this.bsAtoms2));null!=this.script2&&a.append(" ").append(this.script2);a=a.toString();a.endsWith(";")||(a+=";");return a});b(c$,"isConnect",function(){return 0<=this.script1.indexOf("connect")});b(c$,"deleteAtoms",function(a,c,d){if(a==this.modelIndex)return!1;if(a>this.modelIndex)return!0;JU.BSUtil.deleteBits(this.bsBonds,c);JU.BSUtil.deleteBits(this.bsAtoms1,d);JU.BSUtil.deleteBits(this.bsAtoms2,
d);return this.isValid()},"~N,JU.BS,JU.BS");b(c$,"setModelIndex",function(a){this.modelIndex=a},"~N")});l("JM");c$=r(function(){this.id="";this.type=" ";this.scale=this.tickLabelFormats=this.ticks=null;this.first=0;this.signFactor=1;this.reference=null;q(this,arguments)},JM,"TickInfo");t(c$,function(a){this.ticks=a},"JU.P3");l("JU");u(["JU.P3","$.P3i","$.V3"],"JU.BoxInfo",["JU.Lst","$.Measure","$.P4","JU.Point3fi"],function(){c$=r(function(){this.bbVertices=this.bbVector=this.bbCenter=this.bbCorner1=
this.bbCorner0=null;this.isScaleSet=!1;this.margin=0;q(this,arguments)},JU,"BoxInfo");M(c$,function(){this.bbCorner0=new JU.P3;this.bbCorner1=new JU.P3;this.bbCenter=new JU.P3;this.bbVector=new JU.V3;this.bbVertices=Array(8);for(var a=8;0<=--a;)this.bbVertices[a]=new JU.Point3fi;for(a=0;8>a;a++)JU.BoxInfo.unitBboxPoints[a]=JU.P3.new3(-1,-1,-1),JU.BoxInfo.unitBboxPoints[a].scaleAdd2(2,JU.BoxInfo.unitCubePoints[a],JU.BoxInfo.unitBboxPoints[a])});t(c$,function(){this.reset()});b(c$,"intersectPlane",
function(a,c,d,b){var f=new JU.Lst;f.addLast(this.getCanonicalCopy(d));return a.intersectPlane(c,f,b)},"JM.ModelSet,JU.P4,~N,~N");b(c$,"getCanonicalCopy",function(a){return JU.BoxInfo.getCanonicalCopy(this.bbVertices,a)},"~N");c$.getCanonicalCopy=b(c$,"getCanonicalCopy",function(a,c){for(var d=Array(8),b=0;8>b;b++)d[JU.BoxInfo.toCanonical[b]]=JU.P3.newP(a[b]);JU.BoxInfo.scaleBox(d,c);return d},"~A,~N");c$.scaleBox=b(c$,"scaleBox",function(a,c){if(!(0==c||1==c)){for(var d=new JU.P3,b=new JU.V3,f=0;8>
f;f++)d.add(a[f]);d.scale(0.125);for(f=0;8>f;f++)b.sub2(a[f],d),b.scale(c),a[f].add2(d,b)}},"~A,~N");c$.getFacesFromCriticalPoints=b(c$,"getFacesFromCriticalPoints",function(a){var c=Array(6),d=new JU.V3,b=new JU.V3,f=new JU.P3,g=new JU.P3,e=new JU.P3;a=JU.BoxInfo.getVerticesFromCriticalPoints(a);for(var k=0;6>k;k++)f.setT(a[JU.BoxInfo.facePoints[k].x]),g.setT(a[JU.BoxInfo.facePoints[k].y]),e.setT(a[JU.BoxInfo.facePoints[k].z]),c[k]=JU.Measure.getPlaneThroughPoints(f,g,e,d,b,new JU.P4);return c},
"~A");c$.getVerticesFromCriticalPoints=b(c$,"getVerticesFromCriticalPoints",function(a){for(var c=Array(8),d=0;8>d;d++)c[d]=JU.P3.newP(a[0]),1==(d&1)&&c[d].add(a[1]),2==(d&2)&&c[d].add(a[2]),4==(d&4)&&c[d].add(a[3]);return c},"~A");c$.getUnitCellPoints=b(c$,"getUnitCellPoints",function(a,c){var d=JU.P3.newP(a[0]),b=JU.P3.newP(a[1]),f=JU.P3.newP(a[2]),g=JU.P3.newP(a[4]);b.sub(d);f.sub(d);g.sub(d);null!=c&&d.add(c);return x(-1,[d,b,f,g])},"~A,JU.T3");b(c$,"getBoundBoxCenter",function(){this.isScaleSet||
this.setBbcage(1);return this.bbCenter});b(c$,"getBoundBoxCornerVector",function(){this.isScaleSet||this.setBbcage(1);return this.bbVector});b(c$,"getBoundBoxPoints",function(a){this.isScaleSet||this.setBbcage(1);return a?x(-1,[this.bbCenter,JU.P3.newP(this.bbVector),this.bbCorner0,this.bbCorner1]):x(-1,[this.bbCorner0,this.bbCorner1])},"~B");b(c$,"getBoundBoxVertices",function(){this.isScaleSet||this.setBbcage(1);return this.bbVertices});b(c$,"setBoundBoxFromCriticalPoints",function(a){for(var c=
JU.P3.newP(a[0]),d=new JU.P3,b=0;4>b;b++)d.add(a[b]);this.setBoundBox(c,d,!0,1)},"~A");b(c$,"setBoundBox",function(a,c,d,b){if(null!=a){if(0==b)return;if(d){if(0==a.distance(c))return;this.bbCorner0.set(Math.min(a.x,c.x),Math.min(a.y,c.y),Math.min(a.z,c.z));this.bbCorner1.set(Math.max(a.x,c.x),Math.max(a.y,c.y),Math.max(a.z,c.z))}else{if(0==c.x||0==c.y&&0==c.z)return;this.bbCorner0.set(a.x-c.x,a.y-c.y,a.z-c.z);this.bbCorner1.set(a.x+c.x,a.y+c.y,a.z+c.z)}}this.setBbcage(b)},"JU.T3,JU.T3,~B,~N");b(c$,
"reset",function(){this.isScaleSet=!1;this.bbCorner0.set(3.4028235E38,3.4028235E38,3.4028235E38);this.bbCorner1.set(-3.4028235E38,-3.4028235E38,-3.4028235E38)});b(c$,"setMargin",function(a){this.margin=a},"~N");b(c$,"addBoundBoxPoint",function(a){this.isScaleSet=!1;JU.BoxInfo.addPoint(a,this.bbCorner0,this.bbCorner1,this.margin)},"JU.T3");c$.addPoint=b(c$,"addPoint",function(a,c,d,b){a.x-b<c.x&&(c.x=a.x-b);a.x+b>d.x&&(d.x=a.x+b);a.y-b<c.y&&(c.y=a.y-b);a.y+b>d.y&&(d.y=a.y+b);a.z-b<c.z&&(c.z=a.z-b);
a.z+b>d.z&&(d.z=a.z+b)},"JU.T3,JU.T3,JU.T3,~N");c$.addPointXYZ=b(c$,"addPointXYZ",function(a,c,d,b,f,g){a-g<b.x&&(b.x=a-g);a+g>f.x&&(f.x=a+g);c-g<b.y&&(b.y=c-g);c+g>f.y&&(f.y=c+g);d-g<b.z&&(b.z=d-g);d+g>f.z&&(f.z=d+g)},"~N,~N,~N,JU.P3,JU.P3,~N");b(c$,"setBbcage",function(a){this.isScaleSet=!0;this.bbCenter.add2(this.bbCorner0,this.bbCorner1);this.bbCenter.scale(0.5);this.bbVector.sub2(this.bbCorner1,this.bbCenter);0<a?this.bbVector.scale(a):(this.bbVector.x-=a/2,this.bbVector.y-=a/2,this.bbVector.z-=
a/2);for(a=8;0<=--a;){var c=this.bbVertices[a];c.setT(JU.BoxInfo.unitBboxPoints[a]);c.x*=this.bbVector.x;c.y*=this.bbVector.y;c.z*=this.bbVector.z;c.add(this.bbCenter)}this.bbCorner0.setT(this.bbVertices[0]);this.bbCorner1.setT(this.bbVertices[7])},"~N");b(c$,"isWithin",function(a){this.isScaleSet||this.setBbcage(1);return a.x>=this.bbCorner0.x&&a.x<=this.bbCorner1.x&&a.y>=this.bbCorner0.y&&a.y<=this.bbCorner1.y&&a.z>=this.bbCorner0.z&&a.z<=this.bbCorner1.z},"JU.P3");b(c$,"getMaxDim",function(){return 2*
this.bbVector.length()});D(c$,"bbcageTickEdges",da(-1,"z\x00\x00yx\x00\x00\x00\x00\x00\x00\x00".split("")),"uccageTickEdges",da(-1,"zyx\x00\x00\x00\x00\x00\x00\x00\x00\x00".split("")),"edges",O(-1,[0,1,0,2,0,4,1,3,1,5,2,3,2,6,3,7,4,5,4,6,5,7,6,7]));c$.unitCubePoints=c$.prototype.unitCubePoints=x(-1,[JU.P3.new3(0,0,0),JU.P3.new3(0,0,1),JU.P3.new3(0,1,0),JU.P3.new3(0,1,1),JU.P3.new3(1,0,0),JU.P3.new3(1,0,1),JU.P3.new3(1,1,0),JU.P3.new3(1,1,1)]);c$.facePoints=c$.prototype.facePoints=x(-1,[JU.P3i.new3(4,
0,6),JU.P3i.new3(4,6,5),JU.P3i.new3(5,7,1),JU.P3i.new3(1,3,0),JU.P3i.new3(6,2,7),JU.P3i.new3(1,0,5)]);D(c$,"toCanonical",y(-1,[0,3,4,7,1,2,5,6]));c$.cubeVertexOffsets=c$.prototype.cubeVertexOffsets=x(-1,[JU.P3i.new3(0,0,0),JU.P3i.new3(1,0,0),JU.P3i.new3(1,0,1),JU.P3i.new3(0,0,1),JU.P3i.new3(0,1,0),JU.P3i.new3(1,1,0),JU.P3i.new3(1,1,1),JU.P3i.new3(0,1,1)]);c$.unitBboxPoints=c$.prototype.unitBboxPoints=Array(8)});l("JU");u(["JU.BS"],"JU.BSUtil",null,function(){c$=B(JU,"BSUtil");c$.newAndSetBit=b(c$,
"newAndSetBit",function(a){var c=JU.BS.newN(a+1);c.set(a);return c},"~N");c$.areEqual=b(c$,"areEqual",function(a,c){return null==a||null==c?null==a&&null==c:a.equals(c)},"JU.BS,JU.BS");c$.haveCommon=b(c$,"haveCommon",function(a,c){return null==a||null==c?!1:a.intersects(c)},"JU.BS,JU.BS");c$.cardinalityOf=b(c$,"cardinalityOf",function(a){return null==a?0:a.cardinality()},"JU.BS");c$.newBitSet2=b(c$,"newBitSet2",function(a,c){var d=JU.BS.newN(c);d.setBits(a,c);return d},"~N,~N");c$.setAll=b(c$,"setAll",
function(a){var c=JU.BS.newN(a);c.setBits(0,a);return c},"~N");c$.andNot=b(c$,"andNot",function(a,c){null!=c&&null!=a&&a.andNot(c);return a},"JU.BS,JU.BS");c$.copy=b(c$,"copy",function(a){return null==a?null:a.clone()},"JU.BS");c$.copy2=b(c$,"copy2",function(a,c){if(null==a||null==c)return null;c.clearAll();c.or(a);return c},"JU.BS,JU.BS");c$.copyInvert=b(c$,"copyInvert",function(a,c){return null==a?null:JU.BSUtil.andNot(JU.BSUtil.setAll(c),a)},"JU.BS,~N");c$.invertInPlace=b(c$,"invertInPlace",function(a,
c){return JU.BSUtil.copy2(JU.BSUtil.copyInvert(a,c),a)},"JU.BS,~N");c$.toggleInPlace=b(c$,"toggleInPlace",function(a,c){a.equals(c)?a.clearAll():0==JU.BSUtil.andNot(JU.BSUtil.copy(c),a).length()?JU.BSUtil.andNot(a,c):a.or(c);return a},"JU.BS,JU.BS");c$.deleteBits=b(c$,"deleteBits",function(a,c){if(null==a||null==c)return a;var d=c.nextSetBit(0);if(0>d)return a;var b=a.length(),f=Math.min(b,c.length()),g;for(g=c.nextClearBit(d);g<f&&0<=g;g=c.nextClearBit(g+1))a.setBitTo(d++,a.get(g));for(g=f;g<b;g++)a.setBitTo(d++,
a.get(g));d<b&&a.clearBits(d,b);return a},"JU.BS,JU.BS");c$.shiftBits=b(c$,"shiftBits",function(a,c,d,b){if(!(null==a||null==c)){for(var f=c.length(),g=JU.BS.newN(f),e=!1,k=!1,m=d,n=0,l=0;n<f&&l<b;n++)c.get(n)?(k&&g.set(n),m=d,e=!1):a.get(l++)?(g.set(n),m&&(m=!1,k=e=!0)):m&&!e&&(k=!1);a.clearAll();a.or(g)}},"JU.BS,JU.BS,~B,~N");c$.offset=b(c$,"offset",function(a,c,d){if(null!=a){for(var b=JU.BS.newN(a.length()+d),f=a.nextSetBit(0);f>=c;f=a.nextSetBit(f+1))b.set(f+d);JU.BSUtil.copy2(b,a)}},"JU.BS,~N,~N");
c$.setMapBitSet=b(c$,"setMapBitSet",function(a,c,d,b){var f;a.containsKey(b)?f=a.get(b):a.put(b,f=new JU.BS);f.setBits(c,d+1)},"java.util.Map,~N,~N,~S");c$.emptySet=c$.prototype.emptySet=new JU.BS});l("JU");u(["JU.Int2IntHash"],"JU.C","java.lang.Byte $.Float JU.AU $.CU $.PT $.SB J.c.PAL JU.Escape $.Logger".split(" "),function(){c$=B(JU,"C");t(c$,function(){});c$.getColix=b(c$,"getColix",function(a){if(0==a)return 0;var c=0;-16777216!=(a&4278190080)&&(c=JU.C.getTranslucentFlag(a>>24&255),a|=4278190080);
var b=JU.C.colixHash.get(a);3==(b&3)&&(c=0);return(0<b?b:JU.C.allocateColix(a,!1))|c},"~N");c$.allocateColix=b(c$,"allocateColix",function(a,c){var b;if(c)b=2047;else{for(b=JU.C.colixMax;4<=--b;)if((a&16777215)==(JU.C.argbs[b]&16777215))return b;b=JU.C.colixMax}if(b>=JU.C.argbs.length){var g=c?b+1:2*JU.C.colixMax;2048<g&&(g=2048);JU.C.argbs=JU.AU.arrayCopyI(JU.C.argbs,g);null!=JU.C.argbsGreyscale&&(JU.C.argbsGreyscale=JU.AU.arrayCopyI(JU.C.argbsGreyscale,g))}JU.C.argbs[b]=a;null!=JU.C.argbsGreyscale&&
(JU.C.argbsGreyscale[b]=JU.CU.toFFGGGfromRGB(a));JU.C.colixHash.put(a,b);return 2047>b?JU.C.colixMax++:JU.C.colixMax},"~N,~B");c$.setLastGrey=b(c$,"setLastGrey",function(a){JU.C.calcArgbsGreyscale();JU.C.argbsGreyscale[2047]=JU.CU.toFFGGGfromRGB(a)},"~N");c$.calcArgbsGreyscale=b(c$,"calcArgbsGreyscale",function(){if(null==JU.C.argbsGreyscale){for(var a=y(JU.C.argbs.length,0),c=JU.C.argbs.length;4<=--c;)a[c]=JU.CU.toFFGGGfromRGB(JU.C.argbs[c]);JU.C.argbsGreyscale=a}});c$.getArgbGreyscale=b(c$,"getArgbGreyscale",
function(a){null==JU.C.argbsGreyscale&&JU.C.calcArgbsGreyscale();return JU.C.argbsGreyscale[a&-30721]},"~N");c$.getColixO=b(c$,"getColixO",function(a){if(null==a)return 0;if(p(a,J.c.PAL))return a===J.c.PAL.NONE?0:2;if(p(a,Integer))return JU.C.getColix(a.intValue());if(p(a,String))return JU.C.getColixS(a);if(p(a,Byte))return 0==a.byteValue()?0:2;JU.Logger.debugging&&JU.Logger.debug("?? getColix("+a+")");return 22},"~O");c$.getTranslucentFlag=b(c$,"getTranslucentFlag",function(a){return 0==a?0:0>a?
30720:Float.isNaN(a)||255<=a||1==a?16384:(v(Math.floor(1>a?256*a:15<=a?a:9>=a?v(Math.floor(a-1))<<5:256))>>5&15)<<11},"~N");c$.isColixLastAvailable=b(c$,"isColixLastAvailable",function(a){return 0<a&&2047==(a&2047)},"~N");c$.getArgb=b(c$,"getArgb",function(a){return JU.C.argbs[a&-30721]},"~N");c$.isColixColorInherited=b(c$,"isColixColorInherited",function(a){switch(a){case 0:case 1:return!0;default:return 1==(a&-30721)}},"~N");c$.getColixInherited=b(c$,"getColixInherited",function(a,c){switch(a){case 0:return c;
case 1:return c&-30721;default:return 1==(a&-30721)?c&-30721|a&30720:a}},"~N,~N");c$.renderPass2=b(c$,"renderPass2",function(a){a&=30720;return 0!=a&&30720!=a},"~N");c$.isColixTranslucent=b(c$,"isColixTranslucent",function(a){return 0!=(a&30720)},"~N");c$.getChangeableColixIndex=b(c$,"getChangeableColixIndex",function(a){return 0<=a?-1:a&2047},"~N");c$.getColixTranslucent3=b(c$,"getColixTranslucent3",function(a,c,b){a&=-30721;0==a&&(a=1);return c?a|JU.C.getTranslucentFlag(b):a},"~N,~B,~N");c$.copyColixTranslucency=
b(c$,"copyColixTranslucency",function(a,c){return JU.C.getColixTranslucent3(c,JU.C.isColixTranslucent(a),JU.C.getColixTranslucencyLevel(a))},"~N,~N");c$.getColixTranslucencyFractional=b(c$,"getColixTranslucencyFractional",function(a){a=JU.C.getColixTranslucencyLevel(a);return-1==a?0.5:0==a?0:255==a?1:a/256},"~N");c$.getColixTranslucencyLabel=b(c$,"getColixTranslucencyLabel",function(a){return"translucent "+(30720==(a&30720)?-1:JU.C.getColixTranslucencyFractional(a))},"~N");c$.getColixTranslucencyLevel=
b(c$,"getColixTranslucencyLevel",function(a){a=a>>11&15;switch(a){case 0:return 0;case 1:case 2:case 3:case 4:case 5:case 6:case 7:return a<<5;case 15:return-1;default:return 255}},"~N");c$.getColixS=b(c$,"getColixS",function(a){var c=JU.CU.getArgbFromString(a);return 0!=c?JU.C.getColix(c):"none".equalsIgnoreCase(a)?0:"opaque".equalsIgnoreCase(a)?1:2},"~S");c$.getColixArray=b(c$,"getColixArray",function(a){if(null==a||0==a.length)return null;a=JU.PT.getTokens(a);for(var c=Q(a.length,0),b=0;b<a.length;b++)if(c[b]=
JU.C.getColix(JU.CU.getArgbFromString(a[b])),0==c[b])return null;return c},"~S");c$.getHexCode=b(c$,"getHexCode",function(a){return JU.Escape.escapeColor(JU.C.getArgb(a))},"~N");c$.getHexCodes=b(c$,"getHexCodes",function(a){if(null==a)return null;for(var c=new JU.SB,b=0;b<a.length;b++)c.append(0==b?"":" ").append(JU.C.getHexCode(a[b]));return c.toString()},"~A");c$.getColixTranslucent=b(c$,"getColixTranslucent",function(a){var c=a>>24&255;return 255==c?JU.C.getColix(a):JU.C.getColixTranslucent3(JU.C.getColix(a),
!0,c/255)},"~N");c$.getBgContrast=b(c$,"getBgContrast",function(a){return 128>(JU.CU.toFFGGGfromRGB(a)&255)?8:4},"~N");D(c$,"INHERIT_ALL",0,"INHERIT_COLOR",1,"USE_PALETTE",2,"RAW_RGB",3,"SPECIAL_COLIX_MAX",4,"colixMax",4,"argbs",y(128,0),"argbsGreyscale",null);c$.colixHash=c$.prototype.colixHash=new JU.Int2IntHash(256);D(c$,"RAW_RGB_INT",3,"UNMASK_CHANGEABLE_TRANSLUCENT",2047,"CHANGEABLE_MASK",32768,"LAST_AVAILABLE_COLIX",2047,"TRANSLUCENT_SHIFT",11,"ALPHA_SHIFT",13,"TRANSLUCENT_MASK",30720,"TRANSLUCENT_SCREENED",
30720,"TRANSPARENT",16384,"OPAQUE_MASK",-30721,"BLACK",4,"ORANGE",5,"PINK",6,"BLUE",7,"WHITE",8,"CYAN",9,"RED",10,"GREEN",11,"GRAY",12,"SILVER",13,"LIME",14,"MAROON",15,"NAVY",16,"OLIVE",17,"PURPLE",18,"TEAL",19,"MAGENTA",20,"YELLOW",21,"HOTPINK",22,"GOLD",23);for(var a=y(-1,[4278190080,4294944E3,4294951115,4278190335,4294967295,4278255615,4294901760,4278222848,4286611584,4290822336,4278255360,4286578688,4278190208,4286611456,4286578816,4278222976,4294902015,4294967040,4294928820,4294956800]),c=0;c<
a.length;++c)JU.C.getColix(a[c])});l("JU");u(null,"JU.ColorEncoder","java.lang.Boolean $.Float java.util.Hashtable JU.AU $.CU $.Lst $.PT J.c.PAL JU.C $.Escape $.Logger JV.JC".split(" "),function(){c$=r(function(){this.argbsAmino=this.argbsShapely=this.argbsRwb=this.argbsRoygb=this.argbsCpk=this.paletteFriendly=this.paletteWB=this.paletteBW=this.vwr=null;this.ihalf=0;this.schemes=null;this.currentPalette=0;this.currentSegmentCount=1;this.isTranslucent=!1;this.hi=this.lo=0;this.isReversed=!1;this.thisScale=
this.userScale=null;this.thisName="scheme";this.isColorIndex=!1;this.ce=null;q(this,arguments)},JU,"ColorEncoder");M(c$,function(){this.userScale=y(-1,[-8355712]);this.thisScale=y(-1,[-8355712])});t(c$,function(a,c){null==a?(this.vwr=c,this.schemes=new java.util.Hashtable,this.argbsCpk=J.c.PAL.argbsCpk,this.argbsRoygb=JV.JC.argbsRoygbScale,this.argbsRwb=JV.JC.argbsRwbScale,this.argbsShapely=this.argbsAmino=null,this.ihalf=v(JV.JC.argbsRoygbScale.length/3),this.ce=this):(this.ce=a,this.vwr=a.vwr,this.schemes=
a.schemes)},"JU.ColorEncoder,JV.Viewer");c$.getSchemeIndex=b(c$,"getSchemeIndex",function(a){for(var c=0;c<JU.ColorEncoder.colorSchemes.length;c++)if(JU.ColorEncoder.colorSchemes[c].equalsIgnoreCase(a))return 16<=c?c-16:13>c?c:-c;return-1},"~S");c$.fixName=b(c$,"fixName",function(a){if(a.equalsIgnoreCase("byelement"))return"byelement_jmol";var c=JU.ColorEncoder.getSchemeIndex(a);return 0<=c?JU.ColorEncoder.colorSchemes[c]:a.toLowerCase()},"~S");b(c$,"makeColorScheme",function(a,c,b){a=JU.ColorEncoder.fixName(a);
if(null==c){this.schemes.remove(a);a=this.createColorScheme(a,!1,b);if(b)switch(a){case 2147483647:return 0;case 12:this.paletteFriendly=this.getPaletteAC();break;case 10:this.paletteBW=this.getPaletteBW();break;case 11:this.paletteWB=this.getPaletteWB();break;case 0:case 1:this.argbsRoygb=JV.JC.argbsRoygbScale;break;case 6:case 7:this.argbsRwb=JV.JC.argbsRwbScale;break;case 2:this.argbsCpk=J.c.PAL.argbsCpk;break;case 3:JU.ColorEncoder.getRasmolScale();break;case 5:this.getAmino();break;case 4:this.getShapely()}return a}this.schemes.put(a,
c);this.setThisScheme(a,c);a=this.createColorScheme(a,!1,b);if(b)switch(a){case 10:this.paletteBW=this.thisScale;break;case 11:this.paletteWB=this.thisScale;break;case 0:case 1:this.argbsRoygb=this.thisScale;this.ihalf=v(this.argbsRoygb.length/3);break;case 6:case 7:this.argbsRwb=this.thisScale;break;case 2:this.argbsCpk=this.thisScale;break;case 5:this.argbsAmino=this.thisScale;break;case 4:this.argbsShapely=this.thisScale}return-1},"~S,~A,~B");b(c$,"getShapely",function(){return null==this.argbsShapely?
this.argbsShapely=this.vwr.getJBR().getArgbs(1073742144):this.argbsShapely});b(c$,"getAmino",function(){return null==this.argbsAmino?this.argbsAmino=this.vwr.getJBR().getArgbs(2097154):this.argbsAmino});b(c$,"createColorScheme",function(a,c,b){a=a.toLowerCase();if(a.equals("inherit"))return 15;var j=Math.max(a.indexOf("="),a.indexOf("["));if(0<=j){c=JU.PT.replaceAllCharacters(a.substring(0,j)," =","");0<c.length&&(b=!0);var f=0;a.length>j+1&&!a.contains("[")&&(a="["+a.substring(j+1).trim()+"]",a=
JU.PT.rep(a.$replace("\n"," "),"  "," "),a=JU.PT.rep(a,", ",",").$replace(" ",","),a=JU.PT.rep(a,",","]["));for(j=-1;0<=(j=a.indexOf("[",j+1));)f++;if(0==f)return this.makeColorScheme(c,null,b);for(var g=y(f,0),f=0;0<=(j=a.indexOf("[",j+1));){var e=a.indexOf("]",j);0>e&&(e=a.length-1);var k=JU.CU.getArgbFromString(a.substring(j,e+1));0==k&&(k=JU.CU.getArgbFromString(a.substring(j+1,e).trim()));if(0==k)return JU.Logger.error("error in color value: "+a.substring(j,e+1)),0;g[f++]=k}return c.equals("user")?
(this.setUserScale(g),-13):this.makeColorScheme(c,g,b)}a=JU.ColorEncoder.fixName(a);b=JU.ColorEncoder.getSchemeIndex(a);return this.schemes.containsKey(a)?(this.setThisScheme(a,this.schemes.get(a)),b):-1!=b?b:c?0:2147483647},"~S,~B,~B");b(c$,"setUserScale",function(a){this.ce.userScale=a;this.makeColorScheme("user",a,!1)},"~A");b(c$,"getColorSchemeArray",function(a){switch(a){case -1:return this.thisScale;case 0:return this.ce.argbsRoygb;case 1:return JU.AU.arrayCopyRangeRevI(this.ce.argbsRoygb,0,
-1);case 8:return JU.AU.arrayCopyRangeI(this.ce.argbsRoygb,0,this.ce.ihalf);case 9:var c=JU.AU.arrayCopyRangeI(this.ce.argbsRoygb,this.ce.argbsRoygb.length-2*this.ce.ihalf,-1);a=y(this.ce.ihalf,0);for(var b=a.length,j=c.length;0<=--b&&0<=--j;)a[b]=c[j--];return a;case 12:return this.getPaletteAC();case 10:return this.getPaletteBW();case 11:return this.getPaletteWB();case 6:return this.ce.argbsRwb;case 7:return JU.AU.arrayCopyRangeRevI(this.ce.argbsRwb,0,-1);case 2:return this.ce.argbsCpk;case 3:return JU.ColorEncoder.getRasmolScale();
case 4:return this.ce.getShapely();case 5:return this.ce.getAmino();case -13:return this.ce.userScale;case -14:return JU.AU.arrayCopyRangeRevI(this.ce.userScale,0,-1);default:return null}},"~N");b(c$,"getColorIndexFromPalette",function(a,c,b,j,f){j=JU.C.getColix(this.getArgbFromPalette(a,c,b,j));f&&(a=(b-a)/(b-c),1<a?a=1:0.125>a&&(a=0.125),j=JU.C.getColixTranslucent3(j,!0,a));return j},"~N,~N,~N,~N,~B");b(c$,"getPaletteColorCount",function(a){switch(a){case -1:return this.thisScale.length;case 10:case 11:return this.getPaletteBW().length;
case 0:case 1:return this.ce.argbsRoygb.length;case 8:case 9:return this.ce.ihalf;case 6:case 7:return this.ce.argbsRwb.length;case -13:case -14:return this.ce.userScale.length;case 2:return this.argbsCpk.length;case 3:return JU.ColorEncoder.getRasmolScale().length;case 4:return this.ce.getShapely().length;case 5:return this.ce.getAmino().length;case 12:return this.getPaletteAC().length;default:return 0}},"~N");b(c$,"getArgbFromPalette",function(a,c,b,j){if(Float.isNaN(a))return-8355712;var f=this.getPaletteColorCount(j);
switch(j){case -1:return this.isColorIndex&&(c=0,b=this.thisScale.length),this.thisScale[JU.ColorEncoder.quantize4(a,c,b,f)];case 10:return this.getPaletteBW()[JU.ColorEncoder.quantize4(a,c,b,f)];case 11:return this.getPaletteWB()[JU.ColorEncoder.quantize4(a,c,b,f)];case 0:return this.ce.argbsRoygb[JU.ColorEncoder.quantize4(a,c,b,f)];case 1:return this.ce.argbsRoygb[JU.ColorEncoder.quantize4(-a,-b,-c,f)];case 8:return this.ce.argbsRoygb[JU.ColorEncoder.quantize4(a,c,b,f)];case 9:return this.ce.argbsRoygb[this.ce.ihalf+
2*JU.ColorEncoder.quantize4(a,c,b,f)];case 6:return this.ce.argbsRwb[JU.ColorEncoder.quantize4(a,c,b,f)];case 7:return this.ce.argbsRwb[JU.ColorEncoder.quantize4(-a,-b,-c,f)];case -13:return 0==this.ce.userScale.length?-8355712:this.ce.userScale[JU.ColorEncoder.quantize4(a,c,b,f)];case -14:return 0==this.ce.userScale.length?-8355712:this.ce.userScale[JU.ColorEncoder.quantize4(-a,-b,-c,f)];case 2:return this.ce.argbsCpk[JU.ColorEncoder.colorIndex(a,f)];case 3:return JU.ColorEncoder.getRasmolScale()[JU.ColorEncoder.colorIndex(a,
f)];case 4:return this.ce.getShapely()[JU.ColorEncoder.colorIndex(a,f)];case 5:return this.ce.getAmino()[JU.ColorEncoder.colorIndex(a,f)];case 12:return this.getPaletteAC()[JU.ColorEncoder.colorIndexRepeat(a,f)];default:return-8355712}},"~N,~N,~N,~N");b(c$,"setThisScheme",function(a,c){this.thisName=a;this.thisScale=c;a.equals("user")&&(this.userScale=c);this.isColorIndex=0==a.indexOf("byelement")||0==a.indexOf("byresidue")},"~S,~A");b(c$,"getArgb",function(a){return this.isReversed?this.getArgbFromPalette(-a,
-this.hi,-this.lo,this.currentPalette):this.getArgbFromPalette(a,this.lo,this.hi,this.currentPalette)},"~N");b(c$,"getArgbMinMax",function(a,c,b){return this.isReversed?this.getArgbFromPalette(-a,-b,-c,this.currentPalette):this.getArgbFromPalette(a,c,b,this.currentPalette)},"~N,~N,~N");b(c$,"getColorIndex",function(a){return this.isReversed?this.getColorIndexFromPalette(-a,-this.hi,-this.lo,this.currentPalette,this.isTranslucent):this.getColorIndexFromPalette(a,this.lo,this.hi,this.currentPalette,
this.isTranslucent)},"~N");b(c$,"getColorKey",function(){for(var a=new java.util.Hashtable,c=this.getPaletteColorCount(this.currentPalette),b=new JU.Lst,j=G(c+1,0),f=(this.hi-this.lo)/c,g=f*(this.isReversed?-0.5:0.5),e=0;e<c;e++)j[e]=this.isReversed?this.hi-e*f:this.lo+e*f,b.addLast(JU.CU.colorPtFromInt(this.getArgb(j[e]+g),null));j[c]=this.isReversed?this.lo:this.hi;a.put("values",j);a.put("colors",b);a.put("min",Float.$valueOf(this.lo));a.put("max",Float.$valueOf(this.hi));a.put("reversed",Boolean.$valueOf(this.isReversed));
a.put("name",this.getCurrentColorSchemeName());return a});b(c$,"getColorScheme",function(){return(this.isTranslucent?"translucent ":"")+(0>this.currentPalette?JU.ColorEncoder.getColorSchemeList(this.getColorSchemeArray(this.currentPalette)):this.getColorSchemeName(this.currentPalette))});b(c$,"setColorScheme",function(a,c){this.isTranslucent=c;null!=a&&(this.currentPalette=this.createColorScheme(a,!0,!1))},"~S,~B");b(c$,"setRange",function(a,c,b){3.4028235E38==c&&(a=1,c=this.getPaletteColorCount(this.currentPalette)+
1);this.lo=Math.min(a,c);this.hi=Math.max(a,c);this.isReversed=b},"~N,~N,~B");b(c$,"getCurrentColorSchemeName",function(){return this.getColorSchemeName(this.currentPalette)});b(c$,"getColorSchemeName",function(a){var c=Math.abs(a);return-1==a?this.thisName:c<JU.ColorEncoder.colorSchemes.length&&0<=c?JU.ColorEncoder.colorSchemes[c]:null},"~N");c$.getColorSchemeList=b(c$,"getColorSchemeList",function(a){if(null==a)return"";for(var c="",b=0;b<a.length;b++)c+=(0==b?"":" ")+JU.Escape.escapeColor(a[b]);
return c},"~A");c$.getRasmolScale=b(c$,"getRasmolScale",function(){if(null!=JU.ColorEncoder.rasmolScale)return JU.ColorEncoder.rasmolScale;JU.ColorEncoder.rasmolScale=y(J.c.PAL.argbsCpk.length,0);for(var a=J.c.PAL.argbsCpkRasmol[0]|4278190080,c=JU.ColorEncoder.rasmolScale.length;0<=--c;)JU.ColorEncoder.rasmolScale[c]=a;for(c=J.c.PAL.argbsCpkRasmol.length;0<=--c;)a=J.c.PAL.argbsCpkRasmol[c],JU.ColorEncoder.rasmolScale[a>>24]=a|4278190080;return JU.ColorEncoder.rasmolScale});b(c$,"getPaletteAC",function(){return null==
this.ce.paletteFriendly?this.ce.paletteFriendly=y(-1,[8421504,1067945,11141282,13235712,16753152,2640510,8331387,10467374,12553008,339310,7209065,8626176,10906112,4488148,13907405,14219839,16759360,6984660,13918415,14809713,16764019]):this.ce.paletteFriendly});b(c$,"getPaletteWB",function(){if(null!=this.ce.paletteWB)return this.ce.paletteWB;for(var a=y(JV.JC.argbsRoygbScale.length,0),c=0;c<a.length;c++){var b=1/a.length*(a.length-c);a[c]=JU.CU.colorTriadToFFRGB(b,b,b)}return this.ce.paletteWB=a});
c$.getPaletteAtoB=b(c$,"getPaletteAtoB",function(a,c,b){2>b&&(b=JV.JC.argbsRoygbScale.length);var j=y(b,0),f=G(3,0),g=G(3,0);JU.CU.toRGB3f(a,f);JU.CU.toRGB3f(c,g);a=(g[0]-f[0])/(b-1);c=(g[1]-f[1])/(b-1);for(var g=(g[2]-f[2])/(b-1),e=0;e<b;e++)j[e]=JU.CU.colorTriadToFFRGB(f[0]+a*e,f[1]+c*e,f[2]+g*e);return j},"~N,~N,~N");b(c$,"getPaletteBW",function(){if(null!=this.ce.paletteBW)return this.ce.paletteBW;for(var a=y(JV.JC.argbsRoygbScale.length,0),c=0;c<a.length;c++){var b=1/a.length*c;a[c]=JU.CU.colorTriadToFFRGB(b,
b,b)}return this.ce.paletteBW=a});b(c$,"quantize",function(a,c){var b=this.getPaletteColorCount(this.currentPalette);a=(A(a*b)+(c?0:1))/b;return 0>=a?this.lo:1<=a?this.hi:this.lo+(this.hi-this.lo)*a},"~N,~B");c$.quantize4=b(c$,"quantize4",function(a,c,b,j){b-=c;if(0>=b||Float.isNaN(a))return v(j/2);a-=c;if(0>=a)return 0;a=A(a/(b/j)+1E-4);a>=j&&(a=j-1);return a},"~N,~N,~N,~N");c$.colorIndex=b(c$,"colorIndex",function(a,c){return v(Math.floor(0>=a||a>=c?0:a))},"~N,~N");c$.colorIndexRepeat=b(c$,"colorIndexRepeat",
function(a,c){return v(Math.floor(0>=a?0:a))%c},"~N,~N");D(c$,"GRAY",4286611584,"BYELEMENT_PREFIX","byelement","BYRESIDUE_PREFIX","byresidue");c$.BYELEMENT_JMOL=c$.prototype.BYELEMENT_JMOL="byelement_jmol";c$.BYELEMENT_RASMOL=c$.prototype.BYELEMENT_RASMOL="byelement_rasmol";c$.BYRESIDUE_SHAPELY=c$.prototype.BYRESIDUE_SHAPELY="byresidue_shapely";c$.BYRESIDUE_AMINO=c$.prototype.BYRESIDUE_AMINO="byresidue_amino";D(c$,"CUSTOM",-1,"ROYGB",0,"BGYOR",1,"JMOL",2,"RASMOL",3,"SHAPELY",4,"AMINO",5,"RWB",6,"BWR",
7,"LOW",8,"HIGH",9,"BW",10,"WB",11,"FRIENDLY",12,"USER",-13,"RESU",-14,"INHERIT",15,"ALT",16);c$.colorSchemes=c$.prototype.colorSchemes=x(-1,"roygb bgyor byelement_jmol byelement_rasmol byresidue_shapely byresidue_amino rwb bwr low high bw wb friendly user resu inherit rgb bgr jmol rasmol byresidue".split(" "));D(c$,"rasmolScale",null,"argbsChainAtom",null,"argbsChainHetero",null)});l("JU");u(null,"JU.CommandHistory",["JU.Lst"],function(){c$=r(function(){this.commandList=null;this.maxSize=100;this.cursorPos=
this.nextCommand=0;this.isOn=!0;q(this,arguments)},JU,"CommandHistory");t(c$,function(){this.reset(100)});b(c$,"clear",function(){this.reset(this.maxSize)});b(c$,"reset",function(a){this.maxSize=a;this.commandList=new JU.Lst;this.nextCommand=0;this.commandList.addLast("");this.cursorPos=0},"~N");b(c$,"setMaxSize",function(a){if(a!=this.maxSize){for(2>a&&(a=2);this.nextCommand>a;)this.commandList.remove(0),this.nextCommand--;this.nextCommand>a&&(this.nextCommand=a-1);this.cursorPos=this.nextCommand;
this.maxSize=a}},"~N");b(c$,"getCommandUp",function(){if(0>=this.cursorPos)return null;this.cursorPos--;var a=this.getCommand();a.endsWith("#??")&&this.removeCommand(this.cursorPos--);0>this.cursorPos&&(this.cursorPos=0);return a});b(c$,"getCommandDown",function(){if(this.cursorPos>=this.nextCommand)return null;this.cursorPos++;return this.getCommand()});b(c$,"getCommand",function(){return this.commandList.get(this.cursorPos)});b(c$,"addCommand",function(a){if((this.isOn||a.endsWith("#??"))&&!a.endsWith("#----")){for(var c;0<=
(c=a.indexOf("\n"));){var b=a.substring(0,c);0<b.length&&this.addCommandLine(b);a=a.substring(c+1)}0<a.length&&this.addCommandLine(a)}},"~S");b(c$,"getSetHistory",function(a){this.isOn=-2==a?this.isOn:!0;switch(a){case 0:return this.isOn=!1,this.clear(),"";case -2147483648:case -2:return this.clear(),"";case -1:return this.getCommandUp();case 1:return this.getCommandDown();default:if(0>a)return this.setMaxSize(-2-a),"";a=Math.max(this.nextCommand-a,0)}for(var c="";a<this.nextCommand;a++)this.commandList.get(a).toUpperCase().startsWith("WRITE HISTORY")||
(c+=this.commandList.get(a)+"\n");return c},"~N");b(c$,"find",function(a,c){for(var b=this.cursorPos,j=a;null!=j;){j=this.getSetHistory(c);if(null==j)break;if(j.startsWith(a))return j}this.cursorPos=b;return null},"~S,~N");b(c$,"removeCommand",function(){return this.removeCommand(this.nextCommand-1)});b(c$,"removeCommand",function(a){if(0>a||a>=this.nextCommand)return"";a=this.commandList.remove(a);this.nextCommand--;return a},"~N");b(c$,"addCommandLine",function(a){if(!(null==a||0==a.length)&&!a.endsWith("#--"))this.nextCommand>=
this.maxSize&&(this.commandList.remove(0),this.nextCommand=this.maxSize-1),this.commandList.add(this.nextCommand,a),this.nextCommand++,this.cursorPos=this.nextCommand,this.commandList.add(this.nextCommand,"")},"~S");D(c$,"ERROR_FLAG","#??","NOHISTORYLINE_FLAG","#--","NOHISTORYATALL_FLAG","#----","DEFAULT_MAX_SIZE",100)});l("JU");u(["JU.LoggerInterface"],"JU.DefaultLogger",["JU.Logger"],function(){c$=B(JU,"DefaultLogger",null,JU.LoggerInterface);b(c$,"log",function(a,c,b,j){a===System.err&&System.out.flush();
if(null!=a&&(null!=b||null!=j))if(a.println((JU.Logger.logLevel()?"["+JU.Logger.getLevel(c)+"] ":"")+(null!=b?b:"")+(null!=j?": "+j.toString():"")),null!=j&&(c=j.getStackTrace(),null!=c))for(b=0;b<c.length;b++)a.println(c[b].getClassName()+" - "+c[b].getLineNumber()+" - "+c[b].getMethodName());a===System.err&&System.err.flush()},"java.io.PrintStream,~N,~S,Throwable");e(c$,"debug",function(a){this.log(System.out,5,a,null)},"~S");e(c$,"info",function(a){this.log(System.out,4,a,null)},"~S");e(c$,"warn",
function(a){this.log(System.out,3,a,null)},"~S");e(c$,"warnEx",function(a,c){this.log(System.out,3,a,c)},"~S,Throwable");e(c$,"error",function(a){this.log(System.err,2,a,null)},"~S");e(c$,"errorEx",function(a,c){this.log(System.err,2,a,c)},"~S,Throwable");e(c$,"fatal",function(a){this.log(System.err,1,a,null)},"~S");e(c$,"fatalEx",function(a,c){this.log(System.err,1,a,c)},"~S,Throwable")});l("JU");u(["JU.BS"],"JU.Elements",["java.util.Hashtable","JU.PT","JU.Logger"],function(){c$=B(JU,"Elements");
c$.getAtomicMass=b(c$,"getAtomicMass",function(a){return 1>a||a>=JU.Elements.atomicMass.length?0:JU.Elements.atomicMass[a]},"~N");c$.elementNumberFromSymbol=b(c$,"elementNumberFromSymbol",function(a,b){if(null==JU.Elements.htElementMap){for(var j=new java.util.Hashtable,f=JU.Elements.elementNumberMax;0<=--f;){var g=JU.Elements.elementSymbols[f],e=Integer.$valueOf(f);j.put(g,e);2==g.length&&j.put(g.toUpperCase(),e)}for(f=JU.Elements.altElementMax;4<=--f;)g=JU.Elements.altElementSymbols[f],e=Integer.$valueOf(JU.Elements.altElementNumbers[f]),
j.put(g,e),2==g.length&&j.put(g.toUpperCase(),e);JU.Elements.htElementMap=j}if(null==a)return 0;j=JU.Elements.htElementMap.get(a);if(null!=j)return j.intValue();if(JU.PT.isDigit(a.charAt(0))&&(g=a.length-2,0<=g&&JU.PT.isDigit(a.charAt(g))&&g++,j=0<g?JU.PT.parseInt(a.substring(0,g)):0,0<j&&(g=JU.Elements.elementNumberFromSymbol(a.substring(g),!0),0<g)))return j=JU.Elements.getAtomicAndIsotopeNumber(g,j),JU.Elements.htElementMap.put(a.toUpperCase(),Integer.$valueOf(j)),j;b||JU.Logger.error("'"+a+"' is not a recognized symbol");
return 0},"~S,~B");c$.elementSymbolFromNumber=b(c$,"elementSymbolFromNumber",function(a){var b=0;if(a>=JU.Elements.elementNumberMax){for(b=JU.Elements.altElementMax;0<=--b;)if(a==JU.Elements.altElementNumbers[b])return JU.Elements.altElementSymbols[b];b=JU.Elements.getIsotopeNumber(a);return""+b+JU.Elements.getElementSymbol(a%128)}return JU.Elements.getElementSymbol(a)},"~N");c$.getElementSymbol=b(c$,"getElementSymbol",function(a){if(0>a||a>=JU.Elements.elementNumberMax)a=0;return JU.Elements.elementSymbols[a]},
"~N");c$.elementNameFromNumber=b(c$,"elementNameFromNumber",function(a){if(a>=JU.Elements.elementNumberMax){for(var b=JU.Elements.altElementMax;0<=--b;)if(a==JU.Elements.altElementNumbers[b])return JU.Elements.altElementNames[b];a%=128}if(0>a||a>=JU.Elements.elementNumberMax)a=0;return JU.Elements.elementNames[a]},"~N");c$.elementNumberFromName=b(c$,"elementNumberFromName",function(a){for(var b=1;b<JU.Elements.elementNumberMax;b++)if(JU.Elements.elementNames[b].equalsIgnoreCase(a))return b;return-1},
"~S");c$.altElementNameFromIndex=b(c$,"altElementNameFromIndex",function(a){return JU.Elements.altElementNames[a]},"~N");c$.altElementNumberFromIndex=b(c$,"altElementNumberFromIndex",function(a){return JU.Elements.altElementNumbers[a]},"~N");c$.altElementSymbolFromIndex=b(c$,"altElementSymbolFromIndex",function(a){return JU.Elements.altElementSymbols[a]},"~N");c$.altIsotopeSymbolFromIndex=b(c$,"altIsotopeSymbolFromIndex",function(a){a=JU.Elements.altElementNumbers[a];return(a>>7)+JU.Elements.elementSymbolFromNumber(a&
127)},"~N");c$.altIsotopeSymbolFromIndex2=b(c$,"altIsotopeSymbolFromIndex2",function(a){a=JU.Elements.altElementNumbers[a];return JU.Elements.elementSymbolFromNumber(a&127)+(a>>7)},"~N");c$.getElementNumber=b(c$,"getElementNumber",function(a){return a&127},"~N");c$.getIsotopeNumber=b(c$,"getIsotopeNumber",function(a){return a>>7},"~N");c$.getAtomicAndIsotopeNumber=b(c$,"getAtomicAndIsotopeNumber",function(a,b){return(0>a?0:a)+(0>=b?0:b<<7)},"~N,~N");c$.altElementIndexFromNumber=b(c$,"altElementIndexFromNumber",
function(a){for(var b=0;b<JU.Elements.altElementMax;b++)if(JU.Elements.altElementNumbers[b]==a)return b;return 0},"~N");c$.getNaturalIsotope=b(c$,"getNaturalIsotope",function(a){for(var b=0;b<JU.Elements.naturalIsotopeMasses.length;b+=2)if(JU.Elements.naturalIsotopeMasses[b]==a)return JU.Elements.naturalIsotopeMasses[++b];return 0},"~N");c$.isNaturalIsotope=b(c$,"isNaturalIsotope",function(a){return 0<="1H,12C,14N,".indexOf(a+",")},"~S");c$.getBondingRadius=b(c$,"getBondingRadius",function(a,b){var j=
a&127;return 0<b&&JU.Elements.bsCations.get(j)?JU.Elements.getBondingRadFromTable(j,b,JU.Elements.cationLookupTable):0>b&&JU.Elements.bsAnions.get(j)?JU.Elements.getBondingRadFromTable(j,b,JU.Elements.anionLookupTable):JU.Elements.defaultBondingMars[(j<<1)+JU.Elements.bondingVersion]/1E3},"~N,~N");c$.getCovalentRadius=b(c$,"getCovalentRadius",function(a){return JU.Elements.defaultBondingMars[((a&127)<<1)+JU.Elements.covalentVersion]/1E3},"~N");c$.getBondingRadFromTable=b(c$,"getBondingRadFromTable",
function(a,b,j){b=(a<<4)+(b+4);for(var f=0,g=0,e=0,k=v(j.length/2);e!=k;)if(g=v((e+k)/2),f=j[g<<1],f>b)k=g;else if(f<b)e=g+1;else return j[(g<<1)+1]/1E3;f>b&&g--;f=j[g<<1];a!=f>>4&&g++;return j[(g<<1)+1]/1E3},"~N,~N,~A");c$.getVanderwaalsMar=b(c$,"getVanderwaalsMar",function(a,b){return JU.Elements.vanderwaalsMars[((a&127)<<2)+b.pt%4]},"~N,J.c.VDW");c$.getHydrophobicity=b(c$,"getHydrophobicity",function(a){return 1>a||a>=JU.Elements.hydrophobicities.length?0:JU.Elements.hydrophobicities[a]},"~N");
c$.getAllredRochowElectroNeg=b(c$,"getAllredRochowElectroNeg",function(a){return 0<a&&a<JU.Elements.electroNegativities.length?JU.Elements.electroNegativities[a]:0},"~N");c$.isElement=b(c$,"isElement",function(a,b){return(a&127)==b},"~N,~N");D(c$,"elementSymbols",x(-1,"Xx H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe Cs Ba La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn Fr Ra Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr Rf Db Sg Bh Hs Mt".split(" ")),
"atomicMass",G(-1,[0,1.008,4.003,6.941,9.012,10.81,12.011,14.007,15.999,18.998,20.18,22.99,24.305,26.981,28.086,30.974,32.07,35.453,39.948,39.1,40.08,44.956,47.88,50.941,52,54.938,55.847,58.93,58.69,63.55,65.39,69.72,72.61,74.92,78.96,79.9,83.8,85.47,87.62,88.91,91.22,92.91,95.94,98.91,101.07,102.91,106.42,107.87,112.41,114.82,118.71,121.75,127.6,126.91,131.29,132.91,137.33,138.91,140.12,140.91,144.24,144.9,150.36,151.96,157.25,158.93,162.5,164.93,167.26,168.93,173.04,174.97,178.49,180.95,183.85,
186.21,190.2,192.22,195.08,196.97,200.59,204.38,207.2,208.98,210,210,222,223,226.03,227.03,232.04,231.04,238.03,237.05,239.1,243.1,247.1,247.1,252.1,252.1,257.1,256.1,259.1,260.1,261,262,263,262,265,268]));c$.elementNumberMax=c$.prototype.elementNumberMax=JU.Elements.elementSymbols.length;D(c$,"htElementMap",null,"elementNames",x(-1,"unknown hydrogen helium lithium beryllium boron carbon nitrogen oxygen fluorine neon sodium magnesium aluminum silicon phosphorus sulfur chlorine argon potassium calcium scandium titanium vanadium chromium manganese iron cobalt nickel copper zinc gallium germanium arsenic selenium bromine krypton rubidium strontium yttrium zirconium niobium molybdenum technetium ruthenium rhodium palladium silver cadmium indium tin antimony tellurium iodine xenon cesium barium lanthanum cerium praseodymium neodymium promethium samarium europium gadolinium terbium dysprosium holmium erbium thulium ytterbium lutetium hafnium tantalum tungsten rhenium osmium iridium platinum gold mercury thallium lead bismuth polonium astatine radon francium radium actinium thorium protactinium uranium neptunium plutonium americium curium berkelium californium einsteinium fermium mendelevium nobelium lawrencium rutherfordium dubnium seaborgium bohrium hassium meitnerium".split(" ")),
"naturalIsotopeMasses",y(-1,[1,1,6,12,7,14,8,16]),"naturalIsotopes","1H,12C,14N,","firstIsotope",4,"altElementNumbers",y(-1,[0,13,16,55,257,385,1414,1670,1798,1927]));c$.altElementMax=c$.prototype.altElementMax=JU.Elements.altElementNumbers.length;D(c$,"altElementSymbols",x(-1,"Xx Al S Cs D T 11C 13C 14C 15N".split(" ")),"altElementNames",x(-1,"dummy aluminium sulphur caesium deuterium tritium    ".split(" ")),"VdwPROBE","#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",
"vanderwaalsMars",Q(-1,[1E3,1E3,1E3,1E3,1200,1100,1100,1200,1400,1400,2200,1400,1820,1810,1220,2200,1700,1530,628,1900,2080,1920,1548,1800,1950,1700,1548,1700,1850,1550,1400,1600,1700,1520,1348,1550,1730,1470,1300,1500,1540,1540,2020,1540,2270,2270,2200,2400,1730,1730,1500,2200,2050,1840,1500,2100,2100,2100,2200,2100,2080,1800,1880,1950,2E3,1800,1808,1800,1970,1750,1748,1800,1880,1880,2768,1880,2750,2750,2388,2800,1973,2310,1948,2400,1700,2300,1320,2300,1700,2150,1948,2150,1700,2050,1060,2050,1700,
2050,1128,2050,1700,2050,1188,2050,1700,2050,1948,2050,1700,2E3,1128,2E3,1630,2E3,1240,2E3,1400,2E3,1148,2E3,1390,2100,1148,2100,1870,1870,1548,2100,1700,2110,3996,2100,1850,1850,828,2050,1900,1900,900,1900,2100,1830,1748,1900,2020,2020,1900,2020,1700,3030,2648,2900,1700,2490,2020,2550,1700,2400,1608,2400,1700,2300,1420,2300,1700,2150,1328,2150,1700,2100,1748,2100,1700,2050,1800,2050,1700,2050,1200,2050,1700,2E3,1220,2E3,1630,2050,1440,2050,1720,2100,1548,2100,1580,2200,1748,2200,1930,2200,1448,2200,
2170,1930,1668,2250,2200,2170,1120,2200,2060,2060,1260,2100,2150,1980,1748,2100,2160,2160,2100,2160,1700,3430,3008,3E3,1700,2680,2408,2700,1700,2500,1828,2500,1700,2480,1860,2480,1700,2470,1620,2470,1700,2450,1788,2450,1700,2430,1760,2430,1700,2420,1740,2420,1700,2400,1960,2400,1700,2380,1688,2380,1700,2370,1660,2370,1700,2350,1628,2350,1700,2330,1608,2330,1700,2320,1588,2320,1700,2300,1568,2300,1700,2280,1540,2280,1700,2270,1528,2270,1700,2250,1400,2250,1700,2200,1220,2200,1700,2100,1260,2100,1700,
2050,1300,2050,1700,2E3,1580,2E3,1700,2E3,1220,2E3,1720,2050,1548,2050,1660,2100,1448,2100,1550,2050,1980,2050,1960,1960,1708,2200,2020,2020,2160,2300,1700,2070,1728,2300,1700,1970,1208,2E3,1700,2020,1120,2E3,1700,2200,2300,2E3,1700,3480,3240,2E3,1700,2830,2568,2E3,1700,2E3,2120,2E3,1700,2400,1840,2400,1700,2E3,1600,2E3,1860,2300,1748,2300,1700,2E3,1708,2E3,1700,2E3,1668,2E3,1700,2E3,1660,2E3,1700,2E3,1648,2E3,1700,2E3,1640,2E3,1700,2E3,1628,2E3,1700,2E3,1620,2E3,1700,2E3,1608,2E3,1700,2E3,1600,2E3,
1700,2E3,1588,2E3,1700,2E3,1580,2E3,1700,2E3,1600,2E3,1700,2E3,1600,2E3,1700,2E3,1600,2E3,1700,2E3,1600,2E3,1700,2E3,1600,2E3,1700,2E3,1600,2E3]),"RAD_COV_IONIC_OB1_100_1",0,"RAD_COV_BODR_2014_02_22",1,"covalentVersion",1,"bondingVersion",0,"defaultBondingMars",Q(-1,[0,0,230,320,930,460,680,1330,350,1020,830,850,680,750,680,710,680,630,640,640,1120,670,970,1550,1100,1390,1350,1260,1200,1160,750,1110,1020,1030,990,990,1570,960,1330,1960,990,1710,1440,1480,1470,1360,1330,1340,1350,1220,1350,1190,1340,
1160,1330,1110,1500,1100,1520,1120,1450,1180,1220,1240,1170,1210,1210,1210,1220,1160,1210,1140,1910,1170,1470,2100,1120,1850,1780,1630,1560,1540,1480,1470,1470,1380,1350,1280,1400,1250,1450,1250,1500,1200,1590,1280,1690,1360,1630,1420,1460,1400,1460,1400,1470,1360,1400,1330,1980,1310,1670,2320,1340,1960,1870,1800,1830,1630,1820,1760,1810,1740,1800,1730,1800,1720,1990,1680,1790,1690,1760,1680,1750,1670,1740,1660,1730,1650,1720,1640,1940,1700,1720,1620,1570,1520,1430,1460,1370,1370,1350,1310,1370,1290,
1320,1220,1500,1230,1500,1240,1700,1330,1550,1440,1540,1440,1540,1510,1680,1450,1700,1470,2400,1420,2E3,2230,1900,2010,1880,1860,1790,1750,1610,1690,1580,1700,1550,1710,1530,1720,1510,1660,1500,1660,1500,1680,1500,1680,1500,1650,1500,1670,1500,1730,1500,1760,1500,1610,1600,1570,1600,1490,1600,1430,1600,1410,1600,1340,1600,1290]),"FORMAL_CHARGE_MIN",-4,"FORMAL_CHARGE_MAX",7,"cationLookupTable",Q(-1,[53,680,69,440,70,350,85,350,87,230,104,160,117,680,119,160,121,130,133,220,138,90,155,80,165,1120,181,
970,197,820,198,660,215,510,229,650,232,420,247,440,249,350,262,2190,264,370,266,300,281,340,283,270,293,1540,309,1330,325,1180,326,990,343,732,357,960,358,940,359,760,360,680,374,880,375,740,376,630,377,590,389,810,390,890,391,630,394,520,406,800,407,660,408,600,411,460,422,740,423,640,438,720,439,630,454,690,469,960,470,720,485,880,486,740,501,810,503,620,518,730,520,530,535,580,537,460,549,660,552,500,554,420,569,470,571,390,597,1470,614,1120,631,893,645,1090,648,790,661,1E3,664,740,665,690,677,
930,680,700,682,620,699,979,712,670,727,680,742,800,744,650,757,1260,758,890,773,1140,774,970,791,810,806,930,808,710,823,760,825,620,837,820,840,700,842,560,857,620,859,500,885,1670,901,1530,902,1340,917,1390,919,1016,933,1270,935,1034,936,920,951,1013,952,900,967,995,983,979,999,964,1014,1090,1015,950,1031,938,1047,923,1048,840,1063,908,1079,894,1095,881,1111,870,1126,930,1127,858,1143,850,1160,780,1177,680,1192,700,1194,620,1208,720,1211,560,1224,880,1226,690,1240,680,1254,800,1256,650,1269,1370,
1271,850,1285,1270,1286,1100,1301,1470,1303,950,1318,1200,1320,840,1333,980,1335,960,1337,740,1354,670,1371,620,1397,1800,1414,1430,1431,1180,1448,1020,1463,1130,1464,980,1465,890,1480,970,1482,800,1495,1100,1496,950,1499,710,1511,1080,1512,930,1527,1070,1528,920]),"anionLookupTable",Q(-1,[19,1540,96,2600,113,1710,130,1360,131,680,147,1330,241,2120,258,1840,275,1810,512,2720,529,2220,546,1980,563,1960,800,2940,803,3700,817,2450,834,2110,835,2500,851,2200]));c$.bsCations=c$.prototype.bsCations=new JU.BS;
c$.bsAnions=c$.prototype.bsAnions=new JU.BS;for(var a=0;a<JU.Elements.anionLookupTable.length;a+=2)JU.Elements.bsAnions.set(JU.Elements.anionLookupTable[a]>>4);for(a=0;a<JU.Elements.cationLookupTable.length;a+=2)JU.Elements.bsCations.set(JU.Elements.cationLookupTable[a]>>4);D(c$,"hydrophobicities",G(-1,[0,0.62,-2.53,-0.78,-0.9,0.29,-0.85,-0.74,0.48,-0.4,1.38,1.06,-1.5,0.64,1.19,0.12,-0.18,-0.05,0.81,0.26,1.08]));(JU.Elements.elementNames.length!=JU.Elements.elementNumberMax||JU.Elements.vanderwaalsMars.length>>
2!=JU.Elements.elementNumberMax||JU.Elements.defaultBondingMars.length>>1!=JU.Elements.elementNumberMax)&&JU.Logger.error("ERROR!!! Element table length mismatch:\n elementSymbols.length="+JU.Elements.elementSymbols.length+"\n elementNames.length="+JU.Elements.elementNames.length+"\n vanderwaalsMars.length="+JU.Elements.vanderwaalsMars.length+"\n covalentMars.length="+JU.Elements.defaultBondingMars.length);D(c$,"electroNegativities",G(-1,[0,2.2,0,0.97,1.47,2.01,2.5,3.07,3.5,4.1,0,1.01,1.23,1.47,1.74,
2.06,2.44,2.83,0,0.91,1.04,1.2,1.32,1.45,1.56,1.6,1.64,1.7,1.75,1.75,1.66,1.82,2.02,2.2,2.48,2.74,0,0.89,0.99,1.11,1.22,1.23,1.3,1.36,1.42,1.45,1.35,1.42,1.46,1.49,1.72,1.82,2.01,2.21]))});l("JU");u(null,"JU.Escape","java.lang.Float java.util.Map JU.A4 $.AU $.BS $.Lst $.M3 $.M34 $.M4 $.P3 $.P4 $.PT $.Quat $.SB $.T3 $.V3 JS.SV".split(" "),function(){c$=B(JU,"Escape");c$.escapeColor=b(c$,"escapeColor",function(a){return 0==a?null:"[x"+JU.Escape.getHexColorFromRGB(a)+"]"},"~N");c$.getHexColorFromRGB=
b(c$,"getHexColorFromRGB",function(a){if(0==a)return null;var c="00"+Integer.toHexString(a>>16&255),c=c.substring(c.length-2),b="00"+Integer.toHexString(a>>8&255),b=b.substring(b.length-2);a="00"+Integer.toHexString(a&255);a=a.substring(a.length-2);return c+b+a},"~N");c$.eP=b(c$,"eP",function(a){return null==a?"null":"{"+a.x+" "+a.y+" "+a.z+"}"},"JU.T3");c$.matrixToScript=b(c$,"matrixToScript",function(a){return JU.PT.replaceAllCharacters(a.toString(),"\n\r ","").$replace("\t"," ")},"~O");c$.eP4=
b(c$,"eP4",function(a){return"{"+a.x+" "+a.y+" "+a.z+" "+a.w+"}"},"JU.P4");c$.drawQuat=b(c$,"drawQuat",function(a,c,b,j,f){j=" VECTOR "+JU.Escape.eP(j)+" ";0==f&&(f=1);return"draw "+c+"x"+b+j+JU.Escape.eP(a.getVectorScaled(0,f))+" color red\ndraw "+c+"y"+b+j+JU.Escape.eP(a.getVectorScaled(1,f))+" color green\ndraw "+c+"z"+b+j+JU.Escape.eP(a.getVectorScaled(2,f))+" color blue\n"},"JU.Quat,~S,~S,JU.P3,~N");c$.e=b(c$,"e",function(a){if(null==a)return"null";if(JU.PT.isNonStringPrimitive(a))return a.toString();
if(p(a,String))return JU.PT.esc(a);if(p(a,JU.Lst))return JU.Escape.eV(a);if(p(a,java.util.Map))return JU.Escape.escapeMap(a);if(p(a,JU.BS))return JU.Escape.eBS(a);if(p(a,JU.T3))return JU.Escape.eP(a);if(p(a,JU.P4))return JU.Escape.eP4(a);if(JU.AU.isAP(a))return JU.Escape.eAP(a);if(JU.AU.isAS(a))return JU.Escape.eAS(a,!0);if(p(a,JU.M34))return JU.PT.rep(a.toString(),"\t",",\t");if(p(a,JU.A4))return"{"+a.x+" "+a.y+" "+a.z+" "+180*a.angle/3.141592653589793+"}";if(p(a,JU.Quat))return a.toString();var c=
JU.PT.nonArrayString(a);return null==c?JU.PT.toJSON(null,a):c},"~O");c$.eV=b(c$,"eV",function(a){if(null==a)return JU.PT.esc("");var c=new JU.SB;c.append("[");for(var b=0;b<a.size();b++)0<b&&c.append(", "),c.append(JU.Escape.escapeNice(a.get(b).asString()));c.append("]");return c.toString()},"JU.Lst");c$.escapeMap=b(c$,"escapeMap",function(a){var c=new JU.SB;c.append("{ ");var b="",j;for(a=a.entrySet().iterator();a.hasNext()&&((j=a.next())||1);){var f=j.getKey();c.append(b).append(JU.PT.esc(f)).appendC(":");
b=j.getValue();p(b,JS.SV)||(b=JS.SV.getVariable(b));c.append(b.escape());b=","}c.append(" }");return c.toString()},"java.util.Map");c$.escapeFloatA=b(c$,"escapeFloatA",function(a,c){if(c)return JU.PT.toJSON(null,a);for(var b=new JU.SB,j=0;j<a.length;j++)0<j&&b.appendC("\n"),b.appendF(a[j]);return b.toString()},"~A,~B");c$.escapeFloatAA=b(c$,"escapeFloatAA",function(a,c){for(var b=new JU.SB,j=c?";\n":"\n",f=0;f<a.length;f++)if(null!=a[f]){0<f&&b.append(j);for(var g=0;g<a[f].length;g++)b.appendF(a[f][g]).appendC("\t")}return b.toString()},
"~A,~B");c$.escapeFloatAAA=b(c$,"escapeFloatAAA",function(a,c){var b=new JU.SB,j=c?";\n":"\n";if(null==a[0]||null==a[0][0])return"0 0 0"+j;b.appendI(a.length).append(" ").appendI(a[0].length).append(" ").appendI(a[0][0].length);for(var f=0;f<a.length;f++)if(null!=a[f]){b.append(j);for(var g=0;g<a[f].length;g++)if(null!=a[f][g]){b.append(j);for(var e=0;e<a[f][g].length;e++)b.appendF(a[f][g][e]).appendC("\t")}}return b.toString()},"~A,~B");c$.eAS=b(c$,"eAS",function(a,c){if(null==a)return JU.PT.esc("");
var b=new JU.SB;b.append("[");for(var j=0;j<a.length;j++)0<j&&b.append(", "),b.append(c?JU.Escape.escapeNice(a[j]):JU.PT.esc(a[j]));b.append("]");return b.toString()},"~A,~B");c$.eAI=b(c$,"eAI",function(a){if(null==a)return JU.PT.esc("");var c=new JU.SB;c.append("[");for(var b=0;b<a.length;b++)0<b&&c.append(", "),c.appendI(a[b]);return c.append("]").toString()},"~A");c$.eAD=b(c$,"eAD",function(a){if(null==a)return JU.PT.esc("");var c=new JU.SB;c.append("[");for(var b=0;b<a.length;b++)0<b&&c.append(", "),
c.appendD(a[b]);return c.append("]").toString()},"~A");c$.eAF=b(c$,"eAF",function(a){if(null==a)return JU.PT.esc("");var c=new JU.SB;c.append("[");for(var b=0;b<a.length;b++)0<b&&c.append(", "),c.appendF(a[b]);return c.append("]").toString()},"~A");c$.eAP=b(c$,"eAP",function(a){if(null==a)return JU.PT.esc("");var c=new JU.SB;c.append("[");for(var b=0;b<a.length;b++)0<b&&c.append(", "),c.append(JU.Escape.eP(a[b]));return c.append("]").toString()},"~A");c$.escapeNice=b(c$,"escapeNice",function(a){if(null==
a)return"null";var c=JU.PT.parseFloatStrict(a);return Float.isNaN(c)?JU.PT.esc(a):a},"~S");c$.uABsM=b(c$,"uABsM",function(a){return"{"==a.charAt(0)?JU.Escape.uP(a):(JU.Escape.isStringArray(a)||a.startsWith("[{")&&a.indexOf("[{")==a.lastIndexOf("[{"))&&0>a.indexOf(",")&&0>a.indexOf(".")&&0>a.indexOf("-")?JU.BS.unescape(a):a.startsWith("[[")?JU.Escape.unescapeMatrix(a):a},"~S");c$.isStringArray=b(c$,"isStringArray",function(a){return a.startsWith("({")&&0==a.lastIndexOf("({")&&a.indexOf("})")==a.length-
2},"~S");c$.uP=b(c$,"uP",function(a){if(null==a||0==a.length)return a;var c=a.$replace("\n"," ").trim();if("{"!=c.charAt(0)||"}"!=c.charAt(c.length-1))return a;for(var b=G(5,0),j=0,c=c.substring(1,c.length-1),f=y(1,0);5>j;j++)if(b[j]=JU.PT.parseFloatNext(c,f),Float.isNaN(b[j])){if(f[0]>=c.length||","!=c.charAt(f[0]))break;f[0]++;j--}return 3==j?JU.P3.new3(b[0],b[1],b[2]):4==j?JU.P4.new4(b[0],b[1],b[2],b[3]):a},"~S");c$.unescapeMatrix=b(c$,"unescapeMatrix",function(a){if(null==a||0==a.length)return a;
var c=a.$replace("\n"," ").trim();if(0!=c.lastIndexOf("[[")||c.indexOf("]]")!=c.length-2)return a;for(var b=G(16,0),c=c.substring(2,c.length-2).$replace("["," ").$replace("]"," ").$replace(","," "),j=y(1,0),f=0;16>f&&!(b[f]=JU.PT.parseFloatNext(c,j),Float.isNaN(b[f]));f++);return!Float.isNaN(JU.PT.parseFloatNext(c,j))?a:9==f?JU.M3.newA9(b):16==f?JU.M4.newA16(b):a},"~S");c$.eBS=b(c$,"eBS",function(a){return JU.BS.escape(a,"(",")")},"JU.BS");c$.eBond=b(c$,"eBond",function(a){return JU.BS.escape(a,"[",
"]")},"JU.BS");c$.toReadable=b(c$,"toReadable",function(a,c){var b=new JU.SB,j="";if(null==c)return"null";if(JU.PT.isNonStringPrimitive(c))return JU.Escape.packageReadable(a,null,c.toString());if(p(c,String))return JU.Escape.packageReadable(a,null,JU.PT.esc(c));if(p(c,JS.SV))return JU.Escape.packageReadable(a,null,c.escape());if(JU.AU.isAS(c)){b.append("[");for(var f=c.length,g=0;g<f;g++)b.append(j).append(JU.PT.esc(c[g])),j=",";b.append("]");return JU.Escape.packageReadableSb(a,"String["+f+"]",b)}if(JU.AU.isAI(c)){b.append("[");
f=c.length;for(g=0;g<f;g++)b.append(j).appendI(c[g]),j=",";b.append("]");return JU.Escape.packageReadableSb(a,"int["+f+"]",b)}if(JU.AU.isAF(c)){b.append("[");f=c.length;for(g=0;g<f;g++)b.append(j).appendF(c[g]),j=",";b.append("]");return JU.Escape.packageReadableSb(a,"float["+f+"]",b)}if(JU.AU.isAD(c)){b.append("[");f=c.length;for(g=0;g<f;g++)b.append(j).appendD(c[g]),j=",";b.append("]");return JU.Escape.packageReadableSb(a,"double["+f+"]",b)}if(JU.AU.isAP(c)){b.append("[");f=c.length;for(g=0;g<f;g++)b.append(j).append(JU.Escape.eP(c[g])),
j=",";b.append("]");return JU.Escape.packageReadableSb(a,"point3f["+f+"]",b)}if(JU.AU.isASS(c)){b.append("[");f=c.length;for(g=0;g<f;g++)b.append(j).append(JU.Escape.toReadable(null,c[g])),j=",\n";b.append("]");return JU.Escape.packageReadableSb(a,"String["+f+"][]",b)}if(JU.AU.isAII(c)){b.append("[");f=c.length;for(g=0;g<f;g++)b.append(j).append(JU.Escape.toReadable(null,c[g])),j=",";b.append("]");return JU.Escape.packageReadableSb(a,"int["+f+"][]",b)}if(JU.AU.isAFF(c)){b.append("[\n");f=c.length;
for(g=0;g<f;g++)b.append(j).append(JU.Escape.toReadable(null,c[g])),j=",\n";b.append("]");return JU.Escape.packageReadableSb(a,"float[][]",b)}if(JU.AU.isADD(c)){b.append("[\n");f=c.length;for(g=0;g<f;g++)b.append(j).append(JU.Escape.toReadable(null,c[g])),j=",\n";b.append("]");return JU.Escape.packageReadableSb(a,"double[][]",b)}if(p(c,JU.Lst)){f=c.size();for(g=0;g<f;g++)b.append(JU.Escape.toReadable(a+"["+(g+1)+"]",c.get(g)));return JU.Escape.packageReadableSb(a,"List["+f+"]",b)}if(p(c,JU.M34)||
p(c,JU.T3)||p(c,JU.P4)||p(c,JU.A4))return b.append(JU.Escape.e(c)),JU.Escape.packageReadableSb(a,null,b);if(p(c,java.util.Map)){for(j=c.keySet().iterator();j.hasNext();)f=j.next(),b.append(JU.Escape.toReadable((null==a?"":a+".")+f,c.get(f)));return b.toString()}return JU.Escape.packageReadable(a,null,JU.PT.toJSON(null,c))},"~S,~O");c$.packageReadableSb=b(c$,"packageReadableSb",function(a,c,b){return JU.Escape.packageReadable(a,c,b.toString())},"~S,~S,JU.SB");c$.packageReadable=b(c$,"packageReadable",
function(a,c,b){return null==a?(null==c?"":c+"\t")+b:"\n"+a+"\t"+(null==c?"":"*"+c+"\t")+b},"~S,~S,~S");c$.escapeModelFileNumber=b(c$,"escapeModelFileNumber",function(a){return""+v(a/1E6)+"."+a%1E6},"~N");c$.encapsulateData=b(c$,"encapsulateData",function(a,c,b){switch(b){case 1:c=JU.Escape.escapeFloatA(c,!1)+";\n";break;case 2:c=JU.Escape.escapeFloatAA(c,!0)+";\n";break;case 3:c=JU.Escape.escapeFloatAAA(c,!0)+";\n";break;default:c=c.toString()}return'  DATA "'+a+'"\n'+c+'    END "'+a+'";\n'},"~S,~O,~N");
c$.unescapeUnicode=b(c$,"unescapeUnicode",function(a){for(var c=a.length,b=JU.SB.newN(c),j=0;j<c;){var f=a.charAt(j++);if("\\"==f&&j<c)switch(f=a.charAt(j++),f){case "u":if(j<c){for(var f=0,g=4;0<=--g&&j<c;){var e=a.charAt(j),e=JU.Escape.getHexitValue(e);if(0>e)break;f<<=4;f+=e;++j}f=String.fromCharCode(f)}}b.appendC(f)}return b.toString()},"~S");c$.getHexitValue=b(c$,"getHexitValue",function(a){return 48<=a.charCodeAt(0)&&57>=a.charCodeAt(0)?a.charCodeAt(0)-48:97<=a.charCodeAt(0)&&102>=a.charCodeAt(0)?
10+a.charCodeAt(0)-97:65<=a.charCodeAt(0)&&70>=a.charCodeAt(0)?10+a.charCodeAt(0)-65:-1},"~S");c$.unescapeStringArray=b(c$,"unescapeStringArray",function(a){if(null==a||!a.startsWith("[")||!a.endsWith("]"))return null;var c=new JU.Lst,b=y(1,0);for(b[0]=1;b[0]<a.length;){var j=JU.PT.getQuotedStringNext(a,b);if(null==j)return null;for(c.addLast(JU.PT.rep(j,'\\"','"'));b[0]<a.length&&'"'!=a.charAt(b[0]);)b[0]++}return c.toArray(Array(c.size()))},"~S");c$.isAV=b(c$,"isAV",function(a){return p(a[0],JS.SV)},
"~O");c$.escapeHelical=b(c$,"escapeHelical",function(a,c,b,j,f){switch(c){case 134217751:return null==f?new JU.P3:f[0];case 1073741854:case 1665140738:return null==f?new JU.V3:f[1073741854==c?1:2];case 134217729:return Float.$valueOf(null==f?NaN:f[3].x);case 135176:return null==f?"":'draw ID "'+a+'" VECTOR '+JU.Escape.eP(f[0])+" "+JU.Escape.eP(f[1])+" color "+(0>f[3].x?"{255.0 200.0 0.0}":"{255.0 0.0 128.0}");case 1745489939:return(null==f?"":"measure "+JU.Escape.eP(b)+JU.Escape.eP(f[0])+JU.Escape.eP(f[4]))+
JU.Escape.eP(j);default:return null==f?[]:f}},"~S,~N,JU.P3,JU.P3,~A")});l("JU");u(["J.api.JmolGraphicsInterface","JU.Normix"],"JU.GData","javajs.awt.Font JU.AU $.P3 $.V3 JU.C $.Shader".split(" "),function(){c$=r(function(){this.apiPlatform=null;this.antialiasEnabled=this.currentlyRendering=this.translucentCoverOnly=!1;this.displayMaxY2=this.displayMinY2=this.displayMaxX2=this.displayMinX2=this.displayMaxY=this.displayMinY=this.displayMaxX=this.displayMinX=this.windowHeight=this.windowWidth=0;this.inGreyscaleMode=
this.antialiasThisFrame=!1;this.backgroundImage=this.changeableColixMap=null;this.newWindowHeight=this.newWindowWidth=0;this.newAntialiasing=!1;this.ht3=this.argbCurrent=this.colixCurrent=this.ambientOcclusion=this.height=this.width=this.depth=this.slab=this.yLast=this.xLast=this.bgcolor=0;this.isPass2=!1;this.bufferSize=this.textY=0;this.graphicsForMetrics=this.vwr=this.shader=null;this.argbNoisyDn=this.argbNoisyUp=0;this.currentFont=this.transformedVectors=null;q(this,arguments)},JU,"GData",null,
J.api.JmolGraphicsInterface);M(c$,function(){this.changeableColixMap=Q(16,0);this.transformedVectors=Array(JU.GData.normixCount)});t(c$,function(){this.shader=new JU.Shader});b(c$,"initialize",function(a,c){this.vwr=a;this.apiPlatform=c},"JV.Viewer,javajs.api.GenericPlatform");b(c$,"setDepth",function(a){this.depth=0>a?0:a},"~N");e(c$,"setSlab",function(a){this.slab=Math.max(0,a)},"~N");e(c$,"setSlabAndZShade",function(a,c){this.setSlab(a);this.setDepth(c)},"~N,~N,~N,~N,~N");b(c$,"setAmbientOcclusion",
function(a){this.ambientOcclusion=a},"~N");e(c$,"isAntialiased",function(){return this.antialiasThisFrame});b(c$,"getChangeableColix",function(a,c){a>=this.changeableColixMap.length&&(this.changeableColixMap=JU.AU.arrayCopyShort(this.changeableColixMap,a+16));0==this.changeableColixMap[a]&&(this.changeableColixMap[a]=JU.C.getColix(c));return a|-32768},"~N,~N");b(c$,"changeColixArgb",function(a,c){a<this.changeableColixMap.length&&0!=this.changeableColixMap[a]&&(this.changeableColixMap[a]=JU.C.getColix(c))},
"~N,~N");b(c$,"getColorArgbOrGray",function(a){0>a&&(a=this.changeableColixMap[a&2047]);return this.inGreyscaleMode?JU.C.getArgbGreyscale(a):JU.C.getArgb(a)},"~N");b(c$,"getShades",function(a){0>a&&(a=this.changeableColixMap[a&2047]);return this.inGreyscaleMode?this.shader.getShadesG(a):this.shader.getShades(a)},"~N");b(c$,"setGreyscaleMode",function(a){this.inGreyscaleMode=a},"~B");b(c$,"getSpecularPower",function(){return this.shader.specularPower});b(c$,"setSpecularPower",function(a){0>a?this.setSpecularExponent(-a):
this.shader.specularPower!=a&&(this.shader.specularPower=a,this.shader.intenseFraction=a/100,this.shader.flushCaches())},"~N");b(c$,"getSpecularPercent",function(){return this.shader.specularPercent});b(c$,"setSpecularPercent",function(a){this.shader.specularPercent!=a&&(this.shader.specularPercent=a,this.shader.specularFactor=a/100,this.shader.flushCaches())},"~N");b(c$,"getSpecularExponent",function(){return this.shader.specularExponent});b(c$,"setSpecularExponent",function(a){this.shader.specularExponent!=
a&&(this.shader.specularExponent=a,this.shader.phongExponent=v(Math.pow(2,a)),this.shader.usePhongExponent=!1,this.shader.flushCaches())},"~N");b(c$,"getPhongExponent",function(){return this.shader.phongExponent});b(c$,"setPhongExponent",function(a){this.shader.phongExponent==a&&this.shader.usePhongExponent||(this.shader.phongExponent=a,a=Math.log(a)/Math.log(2),this.shader.usePhongExponent=a!=A(a),this.shader.usePhongExponent||(this.shader.specularExponent=A(a)),this.shader.flushCaches())},"~N");
b(c$,"getDiffusePercent",function(){return this.shader.diffusePercent});b(c$,"setDiffusePercent",function(a){this.shader.diffusePercent!=a&&(this.shader.diffusePercent=a,this.shader.diffuseFactor=a/100,this.shader.flushCaches())},"~N");b(c$,"getAmbientPercent",function(){return this.shader.ambientPercent});b(c$,"setAmbientPercent",function(a){this.shader.ambientPercent!=a&&(this.shader.ambientPercent=a,this.shader.ambientFraction=a/100,this.shader.flushCaches())},"~N");b(c$,"getSpecular",function(){return this.shader.specularOn});
b(c$,"setSpecular",function(a){this.shader.specularOn!=a&&(this.shader.specularOn=a,this.shader.flushCaches())},"~B");b(c$,"setCel",function(a){this.shader.setCel(a,this.shader.celPower,this.bgcolor)},"~B");b(c$,"getCel",function(){return this.shader.celOn});b(c$,"getCelPower",function(){return this.shader.celPower});b(c$,"setCelPower",function(a){this.shader.setCel(this.shader.celOn||0==this.shader.celPower,a,this.bgcolor)},"~N");b(c$,"getLightSource",function(){return this.shader.lightSource});
b(c$,"isClipped3",function(a,c,b){return 0>a||a>=this.width||0>c||c>=this.height||b<this.slab||b>this.depth},"~N,~N,~N");b(c$,"isClipped",function(a,c){return 0>a||a>=this.width||0>c||c>=this.height},"~N,~N");e(c$,"isInDisplayRange",function(a,c){return a>=this.displayMinX&&a<this.displayMaxX&&c>=this.displayMinY&&c<this.displayMaxY},"~N,~N");e(c$,"isClippedXY",function(a,c,b){a=a+1>>1;return c<-a||c>=this.width+a||b<-a||b>=this.height+a},"~N,~N,~N");b(c$,"isClippedZ",function(a){return-2147483648!=
a&&(a<this.slab||a>this.depth)},"~N");b(c$,"clipCode3",function(a,c,b){var j=0;0>a?j|=a<this.displayMinX2?-1:8:a>=this.width&&(j|=a>this.displayMaxX2?-1:4);0>c?j|=c<this.displayMinY2?-1:2:c>=this.height&&(j|=c>this.displayMaxY2?-1:1);b<this.slab?j|=32:b>this.depth&&(j|=16);return j},"~N,~N,~N");b(c$,"clipCode",function(a){var c=0;a<this.slab?c|=32:a>this.depth&&(c|=16);return c},"~N");b(c$,"getFont3D",function(a){return javajs.awt.Font.createFont3D(0,0,a,a,this.apiPlatform,this.graphicsForMetrics)},
"~N");b(c$,"getFont3DFS",function(a,c){return javajs.awt.Font.createFont3D(javajs.awt.Font.getFontFaceID(a),0,c,c,this.apiPlatform,this.graphicsForMetrics)},"~S,~N");b(c$,"getFontFidFS",function(a,c){return this.getFont3DFSS(a,"Bold",c).fid},"~S,~N");b(c$,"getFont3DFSS",function(a,c,b){c=javajs.awt.Font.getFontStyleID(c);0>c&&(c=0);return javajs.awt.Font.createFont3D(javajs.awt.Font.getFontFaceID(a),c,b,b,this.apiPlatform,this.graphicsForMetrics)},"~S,~S,~N");b(c$,"getFont3DScaled",function(a,c){var b=
a.fontSizeNominal*c;return b==a.fontSize?a:javajs.awt.Font.createFont3D(a.idFontFace,a.idFontStyle,b,a.fontSizeNominal,this.apiPlatform,this.graphicsForMetrics)},"javajs.awt.Font,~N");b(c$,"getFontFid",function(a){return this.getFont3D(a).fid},"~N");b(c$,"setBackgroundTransparent",function(){},"~B");b(c$,"setBackgroundArgb",function(a){this.bgcolor=a;this.setCel(this.shader.celOn)},"~N");b(c$,"setBackgroundImage",function(a){this.backgroundImage=a},"~O");b(c$,"setWindowParameters",function(a,c,b){this.setWinParams(a,
c,b)},"~N,~N,~B");b(c$,"setWinParams",function(a,c,b){this.newWindowWidth=a;this.newWindowHeight=c;this.newAntialiasing=b},"~N,~N,~B");b(c$,"setNewWindowParametersForExport",function(){this.windowWidth=this.newWindowWidth;this.windowHeight=this.newWindowHeight;this.setWidthHeight(!1)});b(c$,"setWidthHeight",function(a){this.width=this.windowWidth;this.height=this.windowHeight;a&&(this.width<<=1,this.height<<=1);this.xLast=this.width-1;this.yLast=this.height-1;this.displayMinX=-(this.width>>1);this.displayMaxX=
this.width-this.displayMinX;this.displayMinY=-(this.height>>1);this.displayMaxY=this.height-this.displayMinY;this.displayMinX2=this.displayMinX<<2;this.displayMaxX2=this.displayMaxX<<2;this.displayMinY2=this.displayMinY<<2;this.displayMaxY2=this.displayMaxY<<2;this.ht3=3*this.height;this.bufferSize=this.width*this.height},"~B");b(c$,"beginRendering",function(){},"JU.M3,~B,~B,~B");b(c$,"endRendering",function(){});b(c$,"snapshotAnaglyphChannelBytes",function(){});b(c$,"getScreenImage",function(){return null},
"~B");b(c$,"releaseScreenImage",function(){});b(c$,"applyAnaglygh",function(){},"J.c.STER,~A");b(c$,"setPass2",function(){return!1},"~B");b(c$,"destroy",function(){});b(c$,"clearFontCache",function(){});b(c$,"drawQuadrilateralBits",function(a,c,b,j,f,g){a.drawLineBits(c,c,b,j);a.drawLineBits(c,c,j,f);a.drawLineBits(c,c,f,g);a.drawLineBits(c,c,g,b)},"J.api.JmolRendererInterface,~N,JU.P3,JU.P3,JU.P3,JU.P3");b(c$,"drawTriangleBits",function(a,c,b,j,f,g,e,k){1==(k&1)&&a.drawLineBits(b,f,c,j);2==(k&2)&&
a.drawLineBits(f,e,j,g);4==(k&4)&&a.drawLineBits(e,b,g,c)},"J.api.JmolRendererInterface,JU.P3,~N,JU.P3,~N,JU.P3,~N,~N");b(c$,"plotImage",function(){},"~N,~N,~N,~O,J.api.JmolRendererInterface,~N,~N,~N");b(c$,"plotText",function(){},"~N,~N,~N,~N,~N,~S,javajs.awt.Font,J.api.JmolRendererInterface");b(c$,"renderBackground",function(){},"J.api.JmolRendererInterface");b(c$,"setFont",function(){},"javajs.awt.Font");b(c$,"setFontFid",function(){},"~N");b(c$,"setColor",function(a){this.argbCurrent=this.argbNoisyUp=
this.argbNoisyDn=a},"~N");b(c$,"setC",function(){return!0},"~N");b(c$,"isDirectedTowardsCamera",function(a){return 0>a||0<this.transformedVectors[a].z},"~N");c$.roundInt=b(c$,"roundInt",function(a){return a},"~N");b(c$,"clear",function(){});e(c$,"renderAllStrings",function(){},"~O");b(c$,"addRenderer",function(){},"~N");c$.getHermiteList=b(c$,"getHermiteList",function(a,c,b,j,f,g,e,k,m,n){var l=m+1;m-=1;var p=b.x,q=b.y,r=b.z,t=j.x,u=j.y;j=j.z;var v=(t-c.x)*a/8,x=(u-c.y)*a/8;c=(j-c.z)*a/8;var y=(f.x-
p)*a/8,A=(f.y-q)*a/8,B=(f.z-r)*a/8,C=(g.x-t)*a/8,E=(g.y-u)*a/8;a=(g.z-j)*a/8;e[k]=b;for(b=0;b<l;b++){var D=b/m;b==l-1&&(p=t,q=u,r=j,t=f.x,u=f.y,j=f.z,v=y,x=A,c=B,y=C,A=E,B=a,D-=1);var G=D*D,H=G*D;g=2*H-3*G+1;var I=-2*H+3*G,D=H-2*G+D,K=H-G,G=g*p+I*t+D*v+K*y,H=g*q+I*u+D*x+K*A;g=g*r+I*j+D*c+K*B;e[k+b]=n?JU.P3.new3(G,H,g):JU.V3.new3(G,H,g)}},"~N,JU.T3,JU.T3,JU.T3,JU.T3,JU.T3,~A,~N,~N,~B");b(c$,"setTextPosition",function(a){this.textY=a},"~N");b(c$,"getTextPosition",function(){return this.textY});b(c$,
"getTransformedVertexVectors",function(){return this.transformedVectors});b(c$,"getFont3DCurrent",function(){return this.currentFont});D(c$,"ENDCAPS_NONE",0,"ENDCAPS_OPEN",1,"ENDCAPS_FLAT",2,"ENDCAPS_SPHERICAL",3,"ENDCAPS_OPENEND",4,"EXPORT_RAYTRACER",2,"EXPORT_CARTESIAN",1,"EXPORT_NOT",0,"yGT",1,"yLT",2,"xGT",4,"xLT",8,"zGT",16,"zLT",32,"HUGE",-1);c$.normixCount=c$.prototype.normixCount=JU.Normix.getNormixCount()});l("JU");u(["J.api.JmolAppletInterface","$.JmolStatusListener"],"JU.GenericApplet",
"java.lang.Boolean java.net.URL java.util.Hashtable JU.Lst $.PT $.SB J.c.CBK J.i18n.GT JU.Logger JV.JC $.Viewer".split(" "),function(){c$=r(function(){this.isJS=!1;this.documentBase=this.codeBase=null;this.isSigned=!1;this.language=null;this.doTranslate=!0;this.mayScript=this.isStereoSlave=this.haveDocumentAccess=!1;this.vwrOptions=this.b$=this.viewer=this.gRight=this.statusTextarea=this.statusText=this.statusForm=this.fullName=this.htmlName=null;this.haveNotifiedError=!1;this.appletObject=null;this.loading=
this.isJNLP=!1;this.outputBuffer=this.syncId=null;q(this,arguments)},JU,"GenericApplet",null,[J.api.JmolAppletInterface,J.api.JmolStatusListener]);b(c$,"init",function(a){this.b$=new java.util.Hashtable;null==JU.GenericApplet.htRegistry&&(JU.GenericApplet.htRegistry=new java.util.Hashtable);this.appletObject=a;this.htmlName=JU.PT.split(""+this.getJmolParameter("name"),"_object")[0];this.syncId=this.getJmolParameter("syncId");this.fullName=this.htmlName+"__"+this.syncId+"__";System.out.println("Jmol JavaScript applet "+
this.fullName+" initializing");a=this.getValue("logLevel",this.getBooleanValue("debug",!1)?"5":"4").charCodeAt(0)-48;4!=a&&System.out.println("setting logLevel="+a+' -- To change, use script "set logLevel [0-5]"');JU.Logger.setLogLevel(a);J.i18n.GT.ignoreApplicationBundle();this.initOptions();JU.GenericApplet.checkIn(this.fullName,this.appletObject);this.initApplication()},"~O");b(c$,"initApplication",function(){this.vwrOptions.put("applet",Boolean.TRUE);null==this.getJmolParameter("statusListener")&&
this.vwrOptions.put("statusListener",this);this.language=this.getJmolParameter("language");null!=this.language&&this.vwrOptions.put("language",this.language);this.viewer=new JV.Viewer(this.vwrOptions);this.viewer.pushHoldRepaint();var a=this.getValueLowerCase("emulate","jmol");this.setStringProperty("defaults",a.equals("chime")?"RasMol":"Jmol");this.setStringProperty("backgroundColor",this.getValue("bgcolor",this.getValue("boxbgcolor","black")));this.viewer.setBooleanProperty("frank",!0);this.loading=
!0;for(var c,a=0,b=J.c.CBK.values();a<b.length&&((c=b[a])||1);a++)this.setValue(c.name()+"Callback",null);this.loading=!1;null!=this.language&&System.out.print("requested language="+this.language+"; ");this.doTranslate=!"none".equals(this.language)&&this.getBooleanValue("doTranslate",!0);this.language=J.i18n.GT.getLanguage();System.out.println("language="+this.language);if(null==this.b$.get(J.c.CBK.SCRIPT)&&null==this.b$.get(J.c.CBK.ERROR)&&(null!=this.b$.get(J.c.CBK.MESSAGE)||null!=this.statusForm||
null!=this.statusText))this.doTranslate&&null==this.getValue("doTranslate",null)&&(this.doTranslate=!1,JU.Logger.warn("Note -- Presence of message callback disables disable translation; to enable message translation use jmolSetTranslation(true) prior to jmolApplet()")),this.doTranslate&&JU.Logger.warn("Note -- Automatic language translation may affect parsing of message callbacks messages; use scriptCallback or errorCallback to process errors");this.doTranslate||(J.i18n.GT.setDoTranslate(!1),JU.Logger.warn("Note -- language translation disabled"));
this.getBooleanValue("popupMenu",!0)||this.viewer.getProperty("DATA_API","disablePopupMenu",null);c=this.getJmolParameter("menuFile");null!=c&&this.viewer.setMenu(c,!0);c=this.getValue("script","");a=this.getValue("loadInline",null);if(null==a){if(null!=(a=this.getValue("load",null)))c='load "'+a+'";'+c;a=null}this.viewer.popHoldRepaint("applet init");null!=a&&null!=this.viewer.loadInline(a)&&(c="");0<c.length&&this.scriptProcessor(c,null,1);this.viewer.notifyStatusReady(!0)});e(c$,"destroy",function(){this.gRight=
null;this.viewer.notifyStatusReady(!1);this.viewer=null;JU.GenericApplet.checkOut(this.fullName)});b(c$,"getBooleanValue",function(a,c){var b=this.getValue(a,c?"true":"");return b.equalsIgnoreCase("true")||b.equalsIgnoreCase("on")||b.equalsIgnoreCase("yes")},"~S,~B");b(c$,"getValue",function(a,c){var b=this.getJmolParameter(a);System.out.println("Jmol getValue "+a+" "+b);return null==b?c:b},"~S,~S");b(c$,"getValueLowerCase",function(a,c){var b=this.getValue(a,c);null!=b&&(b=b.trim().toLowerCase(),
0==b.length&&(b=null));return b},"~S,~S");b(c$,"setValue",function(a,c){this.setStringProperty(a,this.getValue(a,c))},"~S,~S");b(c$,"setStringProperty",function(a,c){null!=c&&(JU.Logger.info(a+' = "'+c+'"'),this.viewer.setStringProperty(a,c))},"~S,~S");b(c$,"scriptProcessor",function(a,c,b){if(null==a||0==a.length)return"";switch(b){case 0:return a=this.viewer.scriptCheck(a),p(a,String)?a:"";case 1:return null!=c?this.viewer.scriptWaitStatus(a,c).toString():this.viewer.scriptWait(a);default:return this.viewer.script(a)}},
"~S,~S,~N");e(c$,"register",function(a,c){JU.GenericApplet.checkIn(a,c)},"~S,J.api.JmolSyncInterface");e(c$,"getJSpecViewProperty",function(){return null},"~S");b(c$,"syncScript",function(a){this.viewer.syncScript(a,"~",0)},"~S");e(c$,"handleEvent",function(a){return null==this.viewer?!1:this.viewer.processMouseEvent(a.id,a.x,a.y,a.modifiers,a.when)},"java.awt.Event");e(c$,"getAppletInfo",function(){return J.i18n.GT.o(J.i18n.GT._("Jmol Applet version {0} {1}.\n\nAn OpenScience project.\n\nSee http://www.jmol.org for more information"),
x(-1,[JV.JC.version,JV.JC.date]))+"\nhtmlName = "+JU.PT.esc(this.htmlName)+"\nsyncId = "+JU.PT.esc(this.syncId)+"\ndocumentBase = "+JU.PT.esc(this.documentBase)+"\ncodeBase = "+JU.PT.esc(this.codeBase)});e(c$,"script",function(a){this.scriptNoWait(a)},"~S");e(c$,"scriptCheck",function(a){return null==a||0==a.length?"":this.scriptProcessor(a,null,0)},"~S");e(c$,"scriptNoWait",function(a){return null==a||0==a.length?"":this.scriptProcessor(a,null,2)},"~S");b(c$,"scriptWait",function(a){return this.scriptWait(a,
null)},"~S");b(c$,"scriptWait",function(a,c){if(null==a||0==a.length)return"";this.outputBuffer=null;return this.scriptProcessor(a,c,1)},"~S,~S");e(c$,"scriptWaitOutput",function(a){if(null==a||0==a.length)return"";this.outputBuffer=new JU.SB;this.viewer.scriptWaitStatus(a,"");a=null==this.outputBuffer?"":this.outputBuffer.toString();this.outputBuffer=null;return a},"~S");e(c$,"getModelIndexFromId",function(a){return this.viewer.getModelIndexFromId(a)},"~S");e(c$,"getProperty",function(a,c){c||(c=
"");return this.viewer.getProperty(null,a,c)},"~S,~S");e(c$,"getPropertyAsString",function(a,c){c||(c="");return this.viewer.getProperty("readable",a,c).toString()},"~S,~S");e(c$,"getPropertyAsJSON",function(a,c){c||(c="");return this.viewer.getProperty("JSON",a,c).toString()},"~S,~S");e(c$,"loadInlineString",function(a,c,b){a=this.viewer.loadInlineAppend(a,b);null==a&&this.script(c);return a},"~S,~S,~B");e(c$,"loadInlineArray",function(a,c,b){if(null==a||0==a.length)return null;a=this.viewer.loadInline(a,
b);null==a&&this.script(c);return a},"~A,~S,~B");e(c$,"loadDOMNode",function(a){return this.viewer.openDOM(a)},"~O");b(c$,"loadInline",function(a){return this.loadInlineString(a,"",!1)},"~S");b(c$,"loadInline",function(a,c){return this.loadInlineString(a,c,!1)},"~S,~S");b(c$,"loadInline",function(a){return this.loadInlineArray(a,"",!1)},"~A");b(c$,"loadInline",function(a,c){return this.loadInlineArray(a,c,!1)},"~A,~S");b(c$,"output",function(a){null!=this.outputBuffer&&null!=a&&this.outputBuffer.append(a).appendC("\n")},
"~S");e(c$,"setCallbackFunction",function(a,c){if(!a.equalsIgnoreCase("modelkit"))if(a.equalsIgnoreCase("language"))this.consoleMessage(""),this.consoleMessage(null);else{var b=J.c.CBK.getCallback(a);null!=b&&(this.loading||b!==J.c.CBK.EVAL)?null==c?this.b$.remove(b):this.b$.put(b,c):this.consoleMessage("Available callbacks include: "+J.c.CBK.getNameList().$replace(";"," ").trim())}},"~S,~S");b(c$,"consoleMessage",function(a){this.notifyCallback(J.c.CBK.ECHO,x(-1,["",a]))},"~S");e(c$,"notifyEnabled",
function(a){switch(a){case J.c.CBK.SERVICE:return!1;case J.c.CBK.ECHO:case J.c.CBK.MESSAGE:case J.c.CBK.MEASURE:case J.c.CBK.PICK:case J.c.CBK.SYNC:return!0;case J.c.CBK.ANIMFRAME:case J.c.CBK.DRAGDROP:case J.c.CBK.ERROR:case J.c.CBK.EVAL:case J.c.CBK.IMAGE:case J.c.CBK.LOADSTRUCT:case J.c.CBK.SCRIPT:return!this.isJNLP}return null!=this.b$.get(a)},"J.c.CBK");b(c$,"notifyCallback",function(a,c){var b=this.b$.get(a),j=null!=b&&(null==c||null==c[0]),f=!1;null!=c&&(c[0]=this.htmlName);var g=null==c||
null==c[1]?null:c[1].toString();switch(a){case J.c.CBK.APPLETREADY:c[3]=this.appletObject;break;case J.c.CBK.CLICK:"alert".equals(b)&&(g="x="+c[1]+" y="+c[2]+" action="+c[3]+" clickCount="+c[4]);break;case J.c.CBK.ANIMFRAME:var e=c[1],k=e[0],m=e[1],n=e[2],l=e[3],e=e[4],p=-2>=k,q=0>l?-1:1,r=0>e?-1:1;j&&(c=x(-1,[this.htmlName,Integer.$valueOf(Math.max(k,-2-k)),Integer.$valueOf(m),Integer.$valueOf(n),Integer.$valueOf(Math.abs(l)),Integer.$valueOf(Math.abs(e)),Integer.$valueOf(p?1:0),Integer.$valueOf(q),
Integer.$valueOf(r),c[2],c[3]]));break;case J.c.CBK.ECHO:m=(k=2==c.length)||1==c[2].intValue();j||(m&&(f=!0),j=!k&&null!=(b=this.b$.get(a=J.c.CBK.MESSAGE)));f||this.output(g);break;case J.c.CBK.LOADSTRUCT:k=c[4];if(null!=k){k=(0<=k.indexOf("NOTE:")?"":J.i18n.GT._("File Error:"))+k;this.doShowStatus(k);this.notifyCallback(J.c.CBK.MESSAGE,x(-1,["",k]));return}break;case J.c.CBK.MEASURE:j||(j=null!=(b=this.b$.get(a=J.c.CBK.MESSAGE)));k=c[3];0<=k.indexOf("Picked")||0<=k.indexOf("Sequence")?(this.doShowStatus(g),
f=!0):0<=k.indexOf("Completed")&&(g=k+": "+g,f=!0);break;case J.c.CBK.MESSAGE:f=!j;j=(new Boolean(j&null!=g)).valueOf();f||this.output(g);break;case J.c.CBK.PICK:this.doShowStatus(g);f=!0;break;case J.c.CBK.SCRIPT:!(0<c[3].intValue())&&!j&&(j=null!=(b=this.b$.get(a=J.c.CBK.MESSAGE)));this.output(g);this.doShowStatus(g);break;case J.c.CBK.SYNC:this.sendScript(g,c[2],!0,j);return}f&&(f=this.viewer.getProperty("DATA_API","getAppConsole",null),null!=f&&(f.notifyCallback(a,c),this.output(g),this.doSendJsTextareaStatus(g)));
if(j&&this.mayScript)try{this.doSendCallback(b,c,g)}catch(t){if(C(t,Exception))this.haveNotifiedError||JU.Logger.debugging&&JU.Logger.debug(a.name()+"Callback call error to "+b+": "+t),this.haveNotifiedError=!0;else throw t;}},"J.c.CBK,~A");b(c$,"sendScript",function(a,c,b,j){if(j&&(a=this.notifySync(a,c),null==a||0==a.length||a.equals("0")))return"";var f=new JU.Lst;JU.GenericApplet.findApplets(c,this.syncId,this.fullName,f);var g=f.size();if(0==g)return!j&&!c.equals("*")&&JU.Logger.error(this.fullName+
" couldn't find applet "+c),"";c=b?null:new JU.SB;j=b&&a.equals("GET_GRAPHICS");var e=b&&a.equals("SET_GRAPHICS_OFF");j&&this.viewer.setStereo(!1,this.gRight=null);for(var k=0;k<g;k++){var m=f.get(k),n=JU.GenericApplet.htRegistry.get(m);JU.Logger.debugging&&JU.Logger.debug(this.fullName+" sending to "+m+": "+a);try{if(j||e)return this.viewer.setStereo(this.isStereoSlave=j,this.gRight=n.setStereoGraphics(j)),"";b?n.syncScript(a):c.append(n.scriptWait(a,"output")).append("\n")}catch(l){if(C(l,Exception))m=
this.htmlName+" couldn't send to "+m+": "+a+": "+l,JU.Logger.error(m),b||c.append(m);else throw l;}}return b?"":c.toString()},"~S,~S,~B,~B");b(c$,"notifySync",function(a,c){var b=this.b$.get(J.c.CBK.SYNC);if(!this.mayScript||null==b)return a;try{return this.doSendCallback(b,x(-1,[this.fullName,a,c]),null)}catch(j){if(C(j,Exception))this.haveNotifiedError||JU.Logger.debugging&&JU.Logger.debug("syncCallback call error to "+b+": "+j),this.haveNotifiedError=!0;else throw j;}return a},"~S,~S");e(c$,"eval",
function(a){var c=a.indexOf("\u0001");return 0<=c?this.sendScript(a.substring(c+1),a.substring(0,c),!1,!1):!this.haveDocumentAccess?"NO EVAL ALLOWED":null!=this.b$.get(J.c.CBK.EVAL)?(this.notifyCallback(J.c.CBK.EVAL,x(-1,[null,a])),""):this.doEval(a)},"~S");e(c$,"functionXY",function(a,c,b){return this.doFunctionXY(a,c,b)},"~S,~N,~N");e(c$,"functionXYZ",function(a,c,b,j){return this.doFunctionXYZ(a,c,b,j)},"~S,~N,~N,~N");e(c$,"createImage",function(){return null},"~S,~S,~O,~N");e(c$,"getRegistryInfo",
function(){JU.GenericApplet.checkIn(null,null);return JU.GenericApplet.htRegistry});e(c$,"showUrl",function(a){JU.Logger.debugging&&JU.Logger.debug("showUrl("+a+")");if(null!=a&&0<a.length)try{this.doShowDocument(new java.net.URL(ca("java.net.URL"),a,null))}catch(c){if(C(c,java.net.MalformedURLException))this.consoleMessage("Malformed URL:"+a);else throw c;}},"~S");e(c$,"resizeInnerPanel",function(){return y(-1,[this.viewer.getScreenWidth(),this.viewer.getScreenHeight()])},"~S");c$.checkIn=b(c$,"checkIn",
function(a,c){null!=a&&(JU.Logger.info("AppletRegistry.checkIn("+a+")"),JU.GenericApplet.htRegistry.put(a,c));if(JU.Logger.debugging)for(var b,j=JU.GenericApplet.htRegistry.entrySet().iterator();j.hasNext()&&((b=j.next())||1);){var f=b.getKey();JU.Logger.debug(f+" "+b.getValue())}},"~S,~O");c$.checkOut=b(c$,"checkOut",function(a){JU.GenericApplet.htRegistry.remove(a)},"~S");c$.findApplets=b(c$,"findApplets",function(a,c,b,j){if(null!=a&&0<=a.indexOf(",")){var f=JU.PT.split(a,",");for(a=0;a<f.length;a++)JU.GenericApplet.findApplets(f[a],
c,b,j)}else if(c="__"+c+"__",null==a||a.equals("*")||a.equals(">"))for(a=JU.GenericApplet.htRegistry.keySet().iterator();a.hasNext()&&((f=a.next())||1);)!f.equals(b)&&0<f.indexOf(c)&&j.addLast(f);else 0<=b.indexOf("_object")&&0>a.indexOf("_object")&&(a+="_object"),0>a.indexOf("__")&&(a+=c),JU.GenericApplet.htRegistry.containsKey(a)||(a="jmolApplet"+a),!a.equals(b)&&JU.GenericApplet.htRegistry.containsKey(a)&&j.addLast(a)},"~S,~S,~S,JU.Lst");D(c$,"htRegistry",null,"SCRIPT_CHECK",0,"SCRIPT_WAIT",1,
"SCRIPT_NOWAIT",2)});l("JU");u(["JU.AU"],"JU.Geodesic",["java.lang.NullPointerException","$.Short","java.util.Hashtable","JU.V3"],function(){c$=B(JU,"Geodesic");c$.getNeighborVertexesArrays=b(c$,"getNeighborVertexesArrays",function(){null==JU.Geodesic.vertexCounts&&JU.Geodesic.createGeodesic(3);return JU.Geodesic.neighborVertexesArrays});c$.getVertexCount=b(c$,"getVertexCount",function(a){null==JU.Geodesic.vertexCounts&&JU.Geodesic.createGeodesic(3);return JU.Geodesic.vertexCounts[a]},"~N");c$.getVertexVectors=
b(c$,"getVertexVectors",function(){null==JU.Geodesic.vertexCounts&&JU.Geodesic.createGeodesic(3);return JU.Geodesic.vertexVectors});c$.getVertexVector=b(c$,"getVertexVector",function(a){return JU.Geodesic.vertexVectors[a]},"~N");c$.getFaceVertexes=b(c$,"getFaceVertexes",function(a){return JU.Geodesic.faceVertexesArrays[a]},"~N");c$.createGeodesic=b(c$,"createGeodesic",function(a){if(!(a<JU.Geodesic.currentLevel)){JU.Geodesic.currentLevel=a;var c=Q(a+1,0);JU.Geodesic.neighborVertexesArrays=JU.AU.newShort2(a+
1);JU.Geodesic.faceVertexesArrays=JU.AU.newShort2(a+1);JU.Geodesic.vertexVectors=Array(12);JU.Geodesic.vertexVectors[0]=JU.V3.new3(0,0,JU.Geodesic.halfRoot5);for(var b=0;5>b;++b)JU.Geodesic.vertexVectors[b+1]=JU.V3.new3(Math.cos(1.2566371*b),Math.sin(1.2566371*b),0.5),JU.Geodesic.vertexVectors[b+6]=JU.V3.new3(Math.cos(1.2566371*b+0.62831855),Math.sin(1.2566371*b+0.62831855),-0.5);JU.Geodesic.vertexVectors[11]=JU.V3.new3(0,0,-JU.Geodesic.halfRoot5);for(b=12;0<=--b;)JU.Geodesic.vertexVectors[b].normalize();
JU.Geodesic.faceVertexesArrays[0]=JU.Geodesic.faceVertexesIcosahedron;JU.Geodesic.neighborVertexesArrays[0]=JU.Geodesic.neighborVertexesIcosahedron;c[0]=12;for(b=0;b<a;++b)JU.Geodesic.quadruple(b,c);JU.Geodesic.vertexCounts=c}},"~N");c$.quadruple=b(c$,"quadruple",function(a,c){JU.Geodesic.htVertex=new java.util.Hashtable;var b=JU.Geodesic.vertexVectors.length,j=JU.Geodesic.faceVertexesArrays[a],f=j.length,g=v(f/3),e=b+(b+g-2),g=4*g;JU.Geodesic.vertexVectors=JU.AU.arrayCopyObject(JU.Geodesic.vertexVectors,
e);g=Q(3*g,0);JU.Geodesic.faceVertexesArrays[a+1]=g;var k=Q(6*e,0);JU.Geodesic.neighborVertexesArrays[a+1]=k;for(var m=k.length;0<=--m;)k[m]=-1;c[a+1]=e;JU.Geodesic.vertexNext=b;for(m=b=0;m<f;){var n=j[m++],l=j[m++],p=j[m++],q=JU.Geodesic.getVertex(n,l),r=JU.Geodesic.getVertex(l,p),t=JU.Geodesic.getVertex(p,n);g[b++]=n;g[b++]=q;g[b++]=t;g[b++]=l;g[b++]=r;g[b++]=q;g[b++]=p;g[b++]=t;g[b++]=r;g[b++]=t;g[b++]=q;g[b++]=r;JU.Geodesic.addNeighboringVertexes(k,q,n);JU.Geodesic.addNeighboringVertexes(k,q,
t);JU.Geodesic.addNeighboringVertexes(k,q,r);JU.Geodesic.addNeighboringVertexes(k,q,l);JU.Geodesic.addNeighboringVertexes(k,r,l);JU.Geodesic.addNeighboringVertexes(k,r,t);JU.Geodesic.addNeighboringVertexes(k,r,p);JU.Geodesic.addNeighboringVertexes(k,t,p);JU.Geodesic.addNeighboringVertexes(k,t,n)}f=JU.Geodesic.vertexVectors.length;if(b!=g.length)throw new NullPointerException;if(JU.Geodesic.vertexNext!=e)throw new NullPointerException;for(m=0;12>m;++m)for(j=0;5>j;++j){b=k[6*m+j];if(0>b)throw new NullPointerException;
if(b>=f)throw new NullPointerException;if(-1!=k[6*m+5])throw new NullPointerException;}for(m=72;m<k.length;++m){b=k[m];if(0>b)throw new NullPointerException;if(b>=f)throw new NullPointerException;}for(m=0;m<e;++m){f=0;for(j=k.length;0<=--j;)k[j]==m&&++f;if(12>m&&5!=f||12<=m&&6!=f)throw new NullPointerException;f=0;for(j=g.length;0<=--j;)g[j]==m&&++f;if(12>m&&5!=f||12<=m&&6!=f)throw new NullPointerException;}JU.Geodesic.htVertex=null},"~N,~A");c$.addNeighboringVertexes=b(c$,"addNeighboringVertexes",
function(a,c,b){for(var j=6*c,f=j+6;j<f;++j){if(a[j]==b)return;if(0>a[j]){a[j]=b;for(var g=6*b,e=g+6;g<e;++g){if(a[g]==c)return;if(0>a[g]){a[g]=c;return}}}}throw new NullPointerException;},"~A,~N,~N");c$.getVertex=b(c$,"getVertex",function(a,c){if(a>c){var b=a;a=c;c=b}var b=Integer.$valueOf((a<<16)+c),j=JU.Geodesic.htVertex.get(b);if(null!=j)return j.shortValue();j=JU.Geodesic.vertexVectors[JU.Geodesic.vertexNext]=new JU.V3;j.add2(JU.Geodesic.vertexVectors[a],JU.Geodesic.vertexVectors[c]);j.normalize();
JU.Geodesic.htVertex.put(b,Short.$valueOf(JU.Geodesic.vertexNext));return JU.Geodesic.vertexNext++},"~N,~N");c$.halfRoot5=c$.prototype.halfRoot5=0.5*Math.sqrt(5);D(c$,"oneFifth",1.2566371,"oneTenth",0.62831855,"faceVertexesIcosahedron",Q(-1,[0,1,2,0,2,3,0,3,4,0,4,5,0,5,1,1,6,2,2,7,3,3,8,4,4,9,5,5,10,1,6,1,10,7,2,6,8,3,7,9,4,8,10,5,9,11,6,10,11,7,6,11,8,7,11,9,8,11,10,9]),"neighborVertexesIcosahedron",Q(-1,[1,2,3,4,5,-1,0,5,10,6,2,-1,0,1,6,7,3,-1,0,2,7,8,4,-1,0,3,8,9,5,-1,0,4,9,10,1,-1,1,10,11,7,2,
-1,2,6,11,8,3,-1,3,7,11,9,4,-1,4,8,11,10,5,-1,5,9,11,6,1,-1,6,7,8,9,10,-1]),"standardLevel",3,"maxLevel",3,"vertexCounts",null,"vertexVectors",null,"faceVertexesArrays",null,"neighborVertexesArrays",null,"currentLevel",0,"vertexNext",0,"htVertex",null,"VALIDATE",!0)});l("JU");c$=r(function(){this.entryCount=0;this.entries=null;q(this,arguments)},JU,"Int2IntHash");t(c$,function(a){this.entries=Array(a)},"~N");b(c$,"get",function(a){for(var c=this.entries,c=c[(a&2147483647)%c.length];null!=c;c=c.next)if(c.key==
a)return c.value;return-2147483648},"~N");b(c$,"put",function(a,c){for(var b=this.entries,j=b.length,f=(a&2147483647)%j,g=b[f];null!=g;g=g.next)if(g.key==a){g.value=c;return}if(this.entryCount>j){for(var f=j,j=j+(j+1),e=Array(j),k=f;0<=--k;)for(g=b[k];null!=g;){var m=g,g=g.next,f=(m.key&2147483647)%j;m.next=e[f];e[f]=m}b=this.entries=e;f=(a&2147483647)%j}b[f]=new JU.Int2IntHashEntry(a,c,b[f]);++this.entryCount},"~N,~N");c$=r(function(){this.value=this.key=0;this.next=null;q(this,arguments)},JU,"Int2IntHashEntry");
t(c$,function(a,c,b){this.key=a;this.value=c;this.next=b},"~N,~N,JU.Int2IntHashEntry");l("JU");I(JU,"Node");l("JU");u(["JU.Node"],"JU.BNode",null,function(){I(JU,"BNode",JU.Node)});l("JU");u(["java.lang.Enum"],"JU.Edge",null,function(){c$=r(function(){this.index=-1;this.order=0;q(this,arguments)},JU,"Edge");c$.getArgbHbondType=b(c$,"getArgbHbondType",function(a){return JU.Edge.argbsHbondType[(a&30720)>>11]},"~N");c$.getBondOrderNumberFromOrder=b(c$,"getBondOrderNumberFromOrder",function(a){a&=-131073;
return 131071==a||65535==a?"0":JM.Bond.isOrderH(a)||0!=(a&256)?JU.Edge.EnumBondOrder.SINGLE.number:0!=(a&224)?(a>>5)+"."+(a&31):JU.Edge.EnumBondOrder.getNumberFromCode(a)},"~N");c$.getCmlBondOrder=b(c$,"getCmlBondOrder",function(a){a=JU.Edge.getBondOrderNameFromOrder(a);switch(a.charAt(0)){case "s":case "d":case "t":return""+a.toUpperCase().charAt(0);case "a":return 0<=a.indexOf("Double")?"D":0<=a.indexOf("Single")?"S":"aromatic";case "p":return 0<=a.indexOf(" ")?a.substring(a.indexOf(" ")+1):"partial12"}return null},
"~N");c$.getBondOrderNameFromOrder=b(c$,"getBondOrderNameFromOrder",function(a){a&=-131073;switch(a){case 65535:case 131071:return"";case 32768:return JU.Edge.EnumBondOrder.STRUT.$$name;case 1:return JU.Edge.EnumBondOrder.SINGLE.$$name;case 2:return JU.Edge.EnumBondOrder.DOUBLE.$$name}return 0!=(a&224)?"partial "+JU.Edge.getBondOrderNumberFromOrder(a):JM.Bond.isOrderH(a)?JU.Edge.EnumBondOrder.H_REGULAR.$$name:0!=(a&256)?JU.Edge.EnumBondOrder.SINGLE.$$name:JU.Edge.EnumBondOrder.getNameFromCode(a)},
"~N");c$.getPartialBondDotted=b(c$,"getPartialBondDotted",function(a){return a&31},"~N");c$.getPartialBondOrder=b(c$,"getPartialBondOrder",function(a){return(a&-131073)>>5},"~N");c$.getCovalentBondOrder=b(c$,"getCovalentBondOrder",function(a){if(0==(a&1023))return 0;a&=-131073;if(0!=(a&224))return JU.Edge.getPartialBondOrder(a);0!=(a&256)&&(a&=-257);0!=(a&248)&&(a=1);return a&7},"~N");c$.getBondOrderFromFloat=b(c$,"getBondOrderFromFloat",function(a){switch(A(10*a)){case 10:return 1;case 5:case -10:return 33;
case 15:return 515;case -15:return 66;case 20:return 2;case 25:return 97;case -25:return 100;case 30:return 3;case 40:return 4}return 131071},"~N");c$.getBondOrderFromString=b(c$,"getBondOrderFromString",function(a){return JU.Edge.EnumBondOrder.getCodeFromName(a)},"~S");K(self.c$);c$=r(function(){this.code=0;this.$$name=this.number=null;q(this,arguments)},JU.Edge,"EnumBondOrder",Enum);t(c$,function(a,c,b){this.code=a;this.number=c;this.$$name=b},"~N,~S,~S");c$.getCodeFromName=b(c$,"getCodeFromName",
function(a){for(var c,b=0,j=JU.Edge.EnumBondOrder.values();b<j.length&&((c=j[b])||1);b++)if(c.$$name.equalsIgnoreCase(a))return c.code;return 131071},"~S");c$.getNameFromCode=b(c$,"getNameFromCode",function(a){for(var c,b=0,j=JU.Edge.EnumBondOrder.values();b<j.length&&((c=j[b])||1);b++)if(c.code==a)return c.$$name;return"?"},"~N");c$.getNumberFromCode=b(c$,"getNumberFromCode",function(a){for(var c,b=0,j=JU.Edge.EnumBondOrder.values();b<j.length&&((c=j[b])||1);b++)if(c.code==a)return c.number;return"?"},
"~N");E(c$,"SINGLE",0,[1,"1","single"]);E(c$,"DOUBLE",1,[2,"2","double"]);E(c$,"TRIPLE",2,[3,"3","triple"]);E(c$,"QUADRUPLE",3,[4,"4","quadruple"]);E(c$,"AROMATIC",4,[515,"1.5","aromatic"]);E(c$,"STRUT",5,[32768,"1","struts"]);E(c$,"H_REGULAR",6,[2048,"1","hbond"]);E(c$,"PARTIAL01",7,[33,"0.5","partial"]);E(c$,"PARTIAL12",8,[66,"1.5","partialDouble"]);E(c$,"PARTIAL23",9,[97,"2.5","partialTriple"]);E(c$,"PARTIAL32",10,[100,"2.5","partialTriple2"]);E(c$,"AROMATIC_SINGLE",11,[513,"1","aromaticSingle"]);
E(c$,"AROMATIC_DOUBLE",12,[514,"2","aromaticDouble"]);E(c$,"UNSPECIFIED",13,[17,"1","unspecified"]);c$=L();D(c$,"BOND_STEREO_MASK",1024,"BOND_STEREO_NEAR",1025,"BOND_STEREO_FAR",1041,"BOND_AROMATIC_MASK",512,"BOND_AROMATIC_SINGLE",513,"BOND_AROMATIC_DOUBLE",514,"BOND_AROMATIC",515,"BOND_SULFUR_MASK",256,"BOND_PARTIAL_MASK",224,"BOND_PARTIAL01",33,"BOND_PARTIAL12",66,"BOND_PARTIAL23",97,"BOND_PARTIAL32",100,"BOND_COVALENT_MASK",1023,"BOND_COVALENT_SINGLE",1,"BOND_COVALENT_DOUBLE",2,"BOND_COVALENT_TRIPLE",
3,"BOND_COVALENT_QUADRUPLE",4,"BOND_ORDER_UNSPECIFIED",17,"BOND_ORDER_ANY",65535,"BOND_ORDER_NULL",131071,"BOND_STRUT",32768,"BOND_PYMOL_SINGLE",65536,"BOND_PYMOL_MULT",98304,"BOND_NEW",131072,"BOND_HBOND_SHIFT",11,"BOND_HYDROGEN_MASK",30720,"BOND_H_REGULAR",2048,"BOND_H_CALC_MASK",28672,"BOND_H_CALC",4096,"BOND_H_PLUS_2",6144,"BOND_H_PLUS_3",8192,"BOND_H_PLUS_4",10240,"BOND_H_PLUS_5",12288,"BOND_H_MINUS_3",14336,"BOND_H_MINUS_4",16384,"BOND_H_NUCLEOTIDE",18432,"argbsHbondType",y(-1,[4294928820,4294967040,
4294967040,4294967295,4294902015,4294901760,4294944E3,4278255615,4278255360,4294934656]),"FLAG_AROMATIC_NONCANONICAL",64,"FLAG_AROMATIC_DOUBLE",32,"FLAG_AROMATIC_DEFINED",16,"FLAG_AROMATIC_STRICT",8,"FLAG_INVERT_STEREOCHEMISTRY",4,"FLAG_IGNORE_STEREOCHEMISTRY",2,"FLAG_NO_AROMATIC",1)});l("JU");u(["JU.Elements"],"JU.JmolMolecule","java.lang.Character java.util.Hashtable JU.AU $.BS $.PT JU.BNode".split(" "),function(){c$=r(function(){this.nodes=null;this.nElements=this.ac=this.firstAtomIndex=this.indexInModel=
this.modelIndex=this.moleculeIndex=0;this.altElementCounts=this.elementCounts=null;this.altElementMax=this.elementNumberMax=0;this.atomList=this.mf=null;q(this,arguments)},JU,"JmolMolecule");M(c$,function(){this.elementCounts=y(JU.Elements.elementNumberMax,0);this.altElementCounts=y(JU.Elements.altElementMax,0)});t(c$,function(){});c$.getMolecules=b(c$,"getMolecules",function(a,c,b,j){var f=null,g=new JU.BS,e=-1,k=0,m=0,n=Array(4);null==j&&(j=new JU.BS);for(var l=0;l<a.length;l++)if(!j.get(l)&&!g.get(l))if(a[l].isDeleted())j.set(l);
else{var p=a[l].getModelIndex();p!=e&&(e=p,k=0,f=c[p]);g=JU.JmolMolecule.getBranchBitSet(a,l,f,b,-1,!0,!0);0<=g.nextSetBit(0)&&(n=JU.JmolMolecule.addMolecule(n,m++,a,l,g,p,k++,j))}return JU.JmolMolecule.allocateArray(n,m)},"~A,~A,JU.Lst,JU.BS");c$.getBranchBitSet=b(c$,"getBranchBitSet",function(a,c,b,j,f,g,e){var k=JU.BS.newN(a.length);if(0>c)return k;0<=f&&b.clear(f);return JU.JmolMolecule.getCovalentlyConnectedBitSet(a,a[c],b,g,e,j,k)?k:new JU.BS},"~A,~N,JU.BS,JU.Lst,~N,~B,~B");c$.addMolecule=b(c$,
"addMolecule",function(a,c,b,j,f,g,e,k){k.or(f);c==a.length&&(a=JU.JmolMolecule.allocateArray(a,2*c+1));a[c]=JU.JmolMolecule.initialize(b,c,j,f,g,e);return a},"~A,~N,~A,~N,JU.BS,~N,~N,JU.BS");c$.getMolecularFormula=b(c$,"getMolecularFormula",function(a,c,b,j,f){var g=new JU.JmolMolecule;g.nodes=a;g.atomList=c;return g.getMolecularFormula(b,j,f)},"~A,JU.BS,~B,~A,~B");b(c$,"getMolecularFormula",function(a,c,b){if(null!=this.mf)return this.mf;null==this.atomList&&(this.atomList=new JU.BS,this.atomList.setBits(0,
this.nodes.length));this.elementCounts=y(JU.Elements.elementNumberMax,0);this.altElementCounts=y(JU.Elements.altElementMax,0);this.ac=this.atomList.cardinality();for(var j=0,f=this.atomList.nextSetBit(0);0<=f;f=this.atomList.nextSetBit(f+1),j++){var g=this.nodes[f].getAtomicAndIsotopeNumber(),e=null==c?1:A(8*c[j]);g<JU.Elements.elementNumberMax?(0==this.elementCounts[g]&&this.nElements++,this.elementCounts[g]+=e,this.elementNumberMax=Math.max(this.elementNumberMax,g),a&&(g=this.nodes[f].getImplicitHydrogenCount(),
0<g&&(0==this.elementCounts[1]&&this.nElements++,this.elementCounts[1]+=g*e))):(g=JU.Elements.altElementIndexFromNumber(g),0==this.altElementCounts[g]&&this.nElements++,this.altElementCounts[g]+=e,this.altElementMax=Math.max(this.altElementMax,g))}if(null!=c)for(f=1;f<=this.elementNumberMax;f++){var k=v(this.elementCounts[f]/8);if(8*k!=this.elementCounts[f])return"?";this.elementCounts[f]=k}if(b){c=2;for(a=!0;a;){c=1E5;for(f=1;f<=this.elementNumberMax;f++)if(0<(k=this.elementCounts[f])&&k<c)c=k;if(1==
c)break;for(;1<c;c--){a=!0;for(f=1;f<=this.elementNumberMax&&a;f++)if(v((k=this.elementCounts[f])/c)*c!=k)a=!1;if(a){for(f=1;f<=this.elementNumberMax;f++)this.elementCounts[f]/=c;break}}}}a=k="";for(f=1;f<=this.elementNumberMax;f++)c=this.elementCounts[f],0!=c&&(k+=a+JU.Elements.elementSymbolFromNumber(f)+" "+c,a=" ");for(f=1;f<=this.altElementMax;f++)c=this.altElementCounts[f],0!=c&&(k+=a+JU.Elements.elementSymbolFromNumber(JU.Elements.altElementNumberFromIndex(f))+" "+c,a=" ");return k},"~B,~A,~B");
c$.initialize=b(c$,"initialize",function(a,c,b,j,f,g){var e=new JU.JmolMolecule;e.nodes=a;e.firstAtomIndex=b;e.atomList=j;e.ac=j.cardinality();e.moleculeIndex=c;e.modelIndex=f;e.indexInModel=g;return e},"~A,~N,~N,JU.BS,~N,~N");c$.getCovalentlyConnectedBitSet=b(c$,"getCovalentlyConnectedBitSet",function(a,c,b,j,f,g,e){var k=c.getIndex();if(!b.get(k)||!f&&p(c,JU.BNode)&&0<c.getBioStructureTypeName().length)return j;b.clear(k);if(null!=g&&!e.get(k))for(var m=g.size();0<=--m;){var n=g.get(m);if(n.get(k)){e.or(n);
b.andNot(n);for(m=n.nextSetBit(0);0<=m;m=n.nextSetBit(m+1)){var l=a[m];b.set(m);JU.JmolMolecule.getCovalentlyConnectedBitSet(a,l,b,j,f,g,e);b.clear(m)}break}}e.set(k);k=c.getEdges();if(null==k)return!0;for(m=k.length;0<=--m;)if(n=k[m],null!=n&&n.isCovalent()&&!JU.JmolMolecule.getCovalentlyConnectedBitSet(a,n.getOtherAtomNode(c),b,j,f,g,e))return!1;return!0},"~A,JU.Node,JU.BS,~B,~B,JU.Lst,JU.BS");c$.allocateArray=b(c$,"allocateArray",function(a,c){return c==a.length?a:JU.AU.arrayCopyObject(a,c)},"~A,~N");
c$.getBitSetForMF=b(c$,"getBitSetForMF",function(a,c,b){var j=new java.util.Hashtable,f,g;b=JU.PT.rep(JU.PT.clean(b+"Z")," ","");for(var e=0,k=0,m=0,n=b.length;e<n;e++)if((g=Character.isDigit(f=b.charAt(e)))||0<e&&Character.isUpperCase(f)){var m=e,l=b.substring(k,m).trim();if(g)for(;e<n&&Character.isDigit(b.charAt(e));)e++;k=e;j.put(l,y(-1,[g?JU.PT.parseInt(b.substring(m,k)):1]))}b=new JU.BS;for(e=c.nextSetBit(0);0<=e;e=c.nextSetBit(e+1))f=a[e].getElementSymbol(),f=j.get(f),null==f||1>f[0]--||b.set(e);
var p;for(a=j.values().iterator();a.hasNext()&&((p=a.next())||1);)if(0<p[0])return new JU.BS;return b},"~A,JU.BS,~S")});l("JU");u(["java.util.Hashtable","JU.DefaultLogger"],"JU.Logger",["java.lang.Long"],function(){c$=B(JU,"Logger");c$.getProperty=b(c$,"getProperty",function(a,c){try{var b=System.getProperty("jmol.logger."+a,null);if(null!=b)return b.equalsIgnoreCase("true")}catch(j){if(!C(j,Exception))throw j;}return c},"~S,~B");c$.setLogger=b(c$,"setLogger",function(a){JU.Logger._logger=a;JU.Logger.debugging=
JU.Logger.isActiveLevel(5)||JU.Logger.isActiveLevel(6);JU.Logger.debuggingHigh=JU.Logger.debugging&&JU.Logger._activeLevels[6]},"JU.LoggerInterface");c$.isActiveLevel=b(c$,"isActiveLevel",function(a){return null!=JU.Logger._logger&&0<=a&&7>a&&JU.Logger._activeLevels[a]},"~N");c$.setActiveLevel=b(c$,"setActiveLevel",function(a,c){0>a&&(a=0);7<=a&&(a=6);JU.Logger._activeLevels[a]=c;JU.Logger.debugging=JU.Logger.isActiveLevel(5)||JU.Logger.isActiveLevel(6);JU.Logger.debuggingHigh=JU.Logger.debugging&&
JU.Logger._activeLevels[6]},"~N,~B");c$.setLogLevel=b(c$,"setLogLevel",function(a){for(var c=7;0<=--c;)JU.Logger.setActiveLevel(c,c<=a)},"~N");c$.getLevel=b(c$,"getLevel",function(a){switch(a){case 6:return"DEBUGHIGH";case 5:return"DEBUG";case 4:return"INFO";case 3:return"WARN";case 2:return"ERROR";case 1:return"FATAL"}return"????"},"~N");c$.logLevel=b(c$,"logLevel",function(){return JU.Logger._logLevel});c$.doLogLevel=b(c$,"doLogLevel",function(a){JU.Logger._logLevel=a},"~B");c$.debug=b(c$,"debug",
function(a){if(JU.Logger.debugging)try{JU.Logger._logger.debug(a)}catch(c){}},"~S");c$.info=b(c$,"info",function(a){try{JU.Logger.isActiveLevel(4)&&JU.Logger._logger.info(a)}catch(c){}},"~S");c$.warn=b(c$,"warn",function(a){try{JU.Logger.isActiveLevel(3)&&JU.Logger._logger.warn(a)}catch(c){}},"~S");c$.warnEx=b(c$,"warnEx",function(a,c){try{JU.Logger.isActiveLevel(3)&&JU.Logger._logger.warnEx(a,c)}catch(b){}},"~S,Throwable");c$.error=b(c$,"error",function(a){try{JU.Logger.isActiveLevel(2)&&JU.Logger._logger.error(a)}catch(c){}},
"~S");c$.errorEx=b(c$,"errorEx",function(a,c){try{JU.Logger.isActiveLevel(2)&&JU.Logger._logger.errorEx(a,c)}catch(b){}},"~S,Throwable");c$.getLogLevel=b(c$,"getLogLevel",function(){for(var a=7;0<=--a;)if(JU.Logger.isActiveLevel(a))return a;return 0});c$.fatal=b(c$,"fatal",function(a){try{JU.Logger.isActiveLevel(1)&&JU.Logger._logger.fatal(a)}catch(c){}},"~S");c$.fatalEx=b(c$,"fatalEx",function(a,c){try{JU.Logger.isActiveLevel(1)&&JU.Logger._logger.fatalEx(a,c)}catch(b){}},"~S,Throwable");c$.startTimer=
b(c$,"startTimer",function(a){null!=a&&JU.Logger.htTiming.put(a,Long.$valueOf(System.currentTimeMillis()))},"~S");c$.getTimerMsg=b(c$,"getTimerMsg",function(a,c){0==c&&(c=JU.Logger.getTimeFrom(a));return"Time for "+a+": "+c+" ms"},"~S,~N");c$.getTimeFrom=b(c$,"getTimeFrom",function(a){var c;return null==a||null==(c=JU.Logger.htTiming.get(a))?-1:System.currentTimeMillis()-c.longValue()},"~S");c$.checkTimer=b(c$,"checkTimer",function(a,c){var b=JU.Logger.getTimeFrom(a);0<=b&&!a.startsWith("(")&&JU.Logger.info(JU.Logger.getTimerMsg(a,
b));c&&JU.Logger.startTimer(a);return b},"~S,~B");c$.checkMemory=b(c$,"checkMemory",function(){JU.Logger.info("Memory: Total-Free=0; Total=0; Free=0; Max=0")});c$._logger=c$.prototype._logger=new JU.DefaultLogger;D(c$,"LEVEL_FATAL",1,"LEVEL_ERROR",2,"LEVEL_WARN",3,"LEVEL_INFO",4,"LEVEL_DEBUG",5,"LEVEL_DEBUGHIGH",6,"LEVEL_MAX",7,"_activeLevels",ha(7,!1),"_logLevel",!1,"debugging",!1,"debuggingHigh",!1);JU.Logger._activeLevels[6]=JU.Logger.getProperty("debugHigh",!1);JU.Logger._activeLevels[5]=JU.Logger.getProperty("debug",
!1);JU.Logger._activeLevels[4]=JU.Logger.getProperty("info",!0);JU.Logger._activeLevels[3]=JU.Logger.getProperty("warn",!0);JU.Logger._activeLevels[2]=JU.Logger.getProperty("error",!0);JU.Logger._activeLevels[1]=JU.Logger.getProperty("fatal",!0);JU.Logger._logLevel=JU.Logger.getProperty("logLevel",!1);JU.Logger.debugging=null!=JU.Logger._logger&&(JU.Logger._activeLevels[5]||JU.Logger._activeLevels[6]);JU.Logger.debuggingHigh=JU.Logger.debugging&&JU.Logger._activeLevels[6];c$.htTiming=c$.prototype.htTiming=
new java.util.Hashtable});l("JU");I(JU,"LoggerInterface");l("JU");u(["JU.V3"],"JU.Measure","java.lang.Float javajs.api.Interface JU.Lst $.P3 $.P4 $.Quat".split(" "),function(){c$=B(JU,"Measure");c$.computeAngle=b(c$,"computeAngle",function(a,c,b,j,f,g){j.sub2(a,c);f.sub2(b,c);a=j.angle(f);return g?a/0.017453292:a},"JU.T3,JU.T3,JU.T3,JU.V3,JU.V3,~B");c$.computeAngleABC=b(c$,"computeAngleABC",function(a,c,b,j){var f=new JU.V3,g=new JU.V3;return JU.Measure.computeAngle(a,c,b,f,g,j)},"JU.T3,JU.T3,JU.T3,~B");
c$.computeTorsion=b(c$,"computeTorsion",function(a,c,b,j,f){var g=a.x-c.x,e=a.y-c.y;a=a.z-c.z;var k=b.x-c.x,m=b.y-c.y,n=b.z-c.z,l=b.x-j.x,p=b.y-j.y,q=b.z-j.z;j=e*n-a*m;c=a*k-g*n;var r=g*m-e*k;b=m*q-n*p;n=n*l-k*q;k=k*p-m*l;l=1/(b*b+n*n+k*k);m=Math.sqrt(1/(j*j+c*c+r*r));l=Math.sqrt(l);j=(j*b+c*n+r*k)*m*l;1<j&&(j=1);-1>j&&(j=-1);j=Math.acos(j);g=g*b+e*n+a*k;e=Math.abs(g);j=0<g/e?j:-j;return f?j/0.017453292:j},"JU.T3,JU.T3,JU.T3,JU.T3,~B");c$.computeHelicalAxis=b(c$,"computeHelicalAxis",function(a,c,
b){var j=new JU.V3;j.sub2(c,a);var f=b.getTheta(),g=b.getNormal(),e=j.dot(g);1E-4>Math.abs(e)&&(e=0);var k=new JU.V3;k.cross(j,g);0!=k.dot(k)&&k.normalize();var m=new JU.V3,n=JU.V3.newV(g);0==e&&(e=1.4E-45);n.scale(e);m.sub2(n,j);m.scale(0.5);k.scale(0==f?0:m.length()/Math.tan(3.141592653589793*(f/2/180)));j=JU.V3.newV(k);0!=f&&j.add(m);m=JU.P3.newP(a);m.sub(j);1.4E-45!=e&&g.scale(e);k=JU.P3.newP(m);k.add(g);f=JU.Measure.computeTorsion(a,m,k,c,!0);if(Float.isNaN(f)||1E-4>j.length())f=b.getThetaDirectedV(g);
a=Math.abs(0==f?0:360/f);e=Math.abs(1.4E-45==e?0:g.length()*(0==f?1:360/f));return x(-1,[m,g,j,JU.P3.new3(f,e,a),k])},"JU.P3,JU.P3,JU.Quat");c$.getPlaneThroughPoints=b(c$,"getPlaneThroughPoints",function(a,c,b,j,f,g){a=JU.Measure.getNormalThroughPoints(a,c,b,j,f);g.set4(j.x,j.y,j.z,a);return g},"JU.T3,JU.T3,JU.T3,JU.V3,JU.V3,JU.P4");c$.getPlaneThroughPoint=b(c$,"getPlaneThroughPoint",function(a,c,b){b.set4(c.x,c.y,c.z,-c.dot(a))},"JU.T3,JU.V3,JU.P4");c$.distanceToPlane=b(c$,"distanceToPlane",function(a,
c){return null==a?NaN:(a.dot(c)+a.w)/Math.sqrt(a.dot(a))},"JU.P4,JU.T3");c$.directedDistanceToPlane=b(c$,"directedDistanceToPlane",function(a,c,b){a=c.dot(a)+c.w;b=c.dot(b)+c.w;return Math.signum(b)*a/Math.sqrt(c.dot(c))},"JU.P3,JU.P4,JU.P3");c$.distanceToPlaneD=b(c$,"distanceToPlaneD",function(a,c,b){return null==a?NaN:(a.dot(b)+a.w)/c},"JU.P4,~N,JU.P3");c$.distanceToPlaneV=b(c$,"distanceToPlaneV",function(a,c,b){return null==a?NaN:(a.dot(b)+c)/Math.sqrt(a.dot(a))},"JU.V3,~N,JU.P3");c$.calcNormalizedNormal=
b(c$,"calcNormalizedNormal",function(a,c,b,j,f){f.sub2(c,a);j.sub2(b,a);j.cross(f,j);j.normalize()},"JU.T3,JU.T3,JU.T3,JU.V3,JU.V3");c$.getDirectedNormalThroughPoints=b(c$,"getDirectedNormalThroughPoints",function(a,c,b,j,f,g){c=JU.Measure.getNormalThroughPoints(a,c,b,f,g);null!=j&&(b=JU.P3.newP(a),b.add(f),g=b.distance(j),b.sub2(a,f),g>b.distance(j)&&(f.scale(-1),c=-c));return c},"JU.T3,JU.T3,JU.T3,JU.T3,JU.V3,JU.V3");c$.getNormalThroughPoints=b(c$,"getNormalThroughPoints",function(a,c,b,j,f){JU.Measure.calcNormalizedNormal(a,
c,b,j,f);f.setT(a);return-f.dot(j)},"JU.T3,JU.T3,JU.T3,JU.V3,JU.V3");c$.getPlaneProjection=b(c$,"getPlaneProjection",function(a,c,b,j){var f=JU.Measure.distanceToPlane(c,a);j.set(c.x,c.y,c.z);j.normalize();j.scale(-f);b.add2(a,j)},"JU.P3,JU.P4,JU.P3,JU.V3");c$.getNormalFromCenter=b(c$,"getNormalFromCenter",function(a,c,b,j,f,g,e){c=JU.Measure.getNormalThroughPoints(c,b,j,g,e);a=0<JU.Measure.distanceToPlaneV(g,c,a);a==f&&g.scale(-1);return!a},"JU.P3,JU.P3,JU.P3,JU.P3,~B,JU.V3,JU.V3");c$.getNormalToLine=
b(c$,"getNormalToLine",function(a,c,b){b.sub2(a,c);b.cross(b,JU.Measure.axisY);b.normalize();Float.isNaN(b.x)&&b.set(1,0,0)},"JU.P3,JU.P3,JU.V3");c$.getBisectingPlane=b(c$,"getBisectingPlane",function(a,c,b,j,f){b.scaleAdd2(0.5,c,a);j.setT(c);j.normalize();JU.Measure.getPlaneThroughPoint(b,j,f)},"JU.P3,JU.V3,JU.T3,JU.V3,JU.P4");c$.projectOntoAxis=b(c$,"projectOntoAxis",function(a,c,b,j){j.sub2(a,c);var f=j.dot(b);a.scaleAdd2(f,b,c);j.sub2(a,c)},"JU.P3,JU.P3,JU.V3,JU.V3");c$.calcBestAxisThroughPoints=
b(c$,"calcBestAxisThroughPoints",function(a,c,b,j,f){var g=a.length;c.setT(a[0]);b.sub2(a[g-1],c);b.normalize();JU.Measure.calcAveragePointN(a,g,c);for(var e=0;e++<f&&0.001<JU.Measure.findAxis(a,g,c,b,j););a=JU.P3.newP(a[0]);JU.Measure.projectOntoAxis(a,c,b,j);c.setT(a)},"~A,JU.P3,JU.V3,JU.V3,~N");c$.findAxis=b(c$,"findAxis",function(a,c,b,j,f){for(var g=new JU.V3,e=new JU.V3,k=new JU.P3,m=new JU.P3,n=JU.V3.newV(j),l=0;0<=--c;)k.setT(a[c]),m.setT(k),JU.Measure.projectOntoAxis(m,b,j,f),e.sub2(k,m),
e.cross(f,e),g.add(e),l+=f.lengthSquared();a=JU.V3.newV(g);a.scale(1/l);e.cross(a,j);j.add(e);j.normalize();e.sub2(j,n);return e.length()},"~A,~N,JU.P3,JU.V3,JU.V3");c$.calcAveragePoint=b(c$,"calcAveragePoint",function(a,c,b){b.set((a.x+c.x)/2,(a.y+c.y)/2,(a.z+c.z)/2)},"JU.P3,JU.P3,JU.P3");c$.calcAveragePointN=b(c$,"calcAveragePointN",function(a,c,b){b.setT(a[0]);for(var j=1;j<c;j++)b.add(a[j]);b.scale(1/c)},"~A,~N,JU.P3");c$.transformPoints=b(c$,"transformPoints",function(a,c,b){for(var j=new JU.Lst,
f=0;f<a.size();f++){var g=JU.P3.newP(a.get(f));g.sub(b);c.rotTrans(g);g.add(b);j.addLast(g)}return j},"JU.Lst,JU.M4,JU.P3");c$.isInTetrahedron=b(c$,"isInTetrahedron",function(a,c,b,j,f,g,e,k,m){var n=0<=JU.Measure.distanceToPlane(JU.Measure.getPlaneThroughPoints(j,f,c,e,k,g),a);if(n!=0<=JU.Measure.distanceToPlane(JU.Measure.getPlaneThroughPoints(c,f,b,e,k,g),a)||n!=0<=JU.Measure.distanceToPlane(JU.Measure.getPlaneThroughPoints(b,f,j,e,k,g),a))return!1;a=JU.Measure.distanceToPlane(JU.Measure.getPlaneThroughPoints(c,
b,j,e,k,g),a);if(m)return n==0<=a;f=JU.Measure.distanceToPlane(g,f);return 0>=f*a||Math.abs(f)>Math.abs(a)},"JU.P3,JU.P3,JU.P3,JU.P3,JU.P3,JU.P4,JU.V3,JU.V3,~B");c$.getIntersectionPP=b(c$,"getIntersectionPP",function(a,c){var b=a.x,j=a.y,f=a.z,g=a.w,e=c.x,k=c.y,m=c.z,n=c.w,l=JU.V3.new3(b,j,f),p=JU.V3.new3(e,k,m),q=new JU.V3;q.cross(l,p);var l=Math.abs(q.x),p=Math.abs(q.y),r=Math.abs(q.z);switch(l>p?l>r?1:3:p>r?2:3){case 1:l=0;p=j*m-k*f;if(0.01>Math.abs(p))return null;f=(f*n-m*g)/p;b=(k*g-n*j)/p;break;
case 2:p=b*m-e*f;if(0.01>Math.abs(p))return null;l=(f*n-m*g)/p;f=0;b=(e*g-n*b)/p;break;default:p=b*k-e*j;if(0.01>Math.abs(p))return null;l=(j*n-k*g)/p;f=(e*g-n*b)/p;b=0}j=new JU.Lst;j.addLast(JU.P3.new3(l,f,b));q.normalize();j.addLast(q);return j},"JU.P4,JU.P4");c$.getIntersection=b(c$,"getIntersection",function(a,c,b,j,f,g){JU.Measure.getPlaneProjection(a,b,j,f);f.set(b.x,b.y,b.z);f.normalize();null==c&&(c=JU.V3.newV(f));b=c.dot(f);if(0.01>Math.abs(b))return null;g.sub2(j,a);j.scaleAdd2(g.dot(f)/
b,c,a);return j},"JU.P3,JU.V3,JU.P4,JU.P3,JU.V3,JU.V3");c$.calculateQuaternionRotation=b(c$,"calculateQuaternionRotation",function(a,c){c[1]=NaN;var b=new JU.Quat;if(1==a[0].length||a[0].length!=a[1].length)return b;var j=a[0].length-1;if(2>j)return b;for(var f=0,g=0,e=0,k=0,m=0,n=0,l=0,p=0,q=0,r=new JU.P3,t=new JU.P3,j=j+1;1<=--j;){var u=a[1][j];r.sub2(a[0][j],a[0][0]);t.sub2(u,a[0][1]);f+=r.x*t.x;g+=r.x*t.y;e+=r.x*t.z;k+=r.y*t.x;m+=r.y*t.y;n+=r.y*t.z;l+=r.z*t.x;p+=r.z*t.y;q+=r.z*t.z}c[0]=JU.Measure.getRmsd(a,
b);b=X(4,4,0);b[0][0]=f+m+q;b[0][1]=b[1][0]=n-p;b[0][2]=b[2][0]=l-e;b[0][3]=b[3][0]=g-k;b[1][1]=f-m-q;b[1][2]=b[2][1]=g+k;b[1][3]=b[3][1]=l+e;b[2][2]=-f+m-q;b[2][3]=b[3][2]=n+p;b[3][3]=-f-m+q;f=javajs.api.Interface.getInterface("JU.Eigen").setM(b).getEigenvectorsFloatTransposed()[3];b=JU.Quat.newP4(JU.P4.new4(f[1],f[2],f[3],f[0]));c[1]=JU.Measure.getRmsd(a,b);return b},"~A,~A");c$.getTransformMatrix4=b(c$,"getTransformMatrix4",function(a,c,b,j){a=JU.Measure.getCenterAndPoints(a);var f=JU.Measure.getCenterAndPoints(c);
c=G(2,0);var g=JU.Measure.calculateQuaternionRotation(x(-1,[a,f]),c).getMatrix();null==j?g.rotate(a[0]):j.setT(a[0]);j=JU.V3.newVsub(f[0],a[0]);b.setMV(g,j);return c[1]},"JU.Lst,JU.Lst,JU.M4,JU.P3");c$.getCenterAndPoints=b(c$,"getCenterAndPoints",function(a){var c=a.size(),b=Array(c+1);b[0]=new JU.P3;if(0<c){for(var j=0;j<c;j++)b[0].add(b[j+1]=a.get(j));b[0].scale(1/c)}return b},"JU.Lst");c$.getRmsd=b(c$,"getRmsd",function(a,c){for(var b=0,j=a[0],f=a[1],g=j[0],e=f[0],k=j.length-1,m=new JU.P3,n=k+
1;1<=--n;)m.sub2(j[n],g),c.transform2(m,m).add(e),b+=m.distanceSquared(f[n]);return Math.sqrt(b/k)},"~A,JU.Quat");D(c$,"radiansPerDegree",0.017453292519943295);c$.axisY=c$.prototype.axisY=JU.V3.new3(0,1,0)});l("JU");u(null,"JU.MeshSurface","java.lang.Float JU.AU $.P3 J.api.Interface JU.BoxInfo $.C $.Geodesic $.TempArray".split(" "),function(){c$=r(function(){this.meshType=this.spanningVectors=this.slicer=this.vwr=null;this.vc=0;this.vertexSource=this.vvs=this.vs=null;this.pc=0;this.pis=null;this.haveQuads=
this.isTriangleSet=this.colorsExplicit=!1;this.colixBack=this.colix=0;this.isColorSolid=!0;this.normalsTemp=this.normals=this.vcs=this.pcs=this.altVertices=this.offset=null;this.normixCount=this.normalCount=0;this.vertexSets=this.surfaceSet=this.mat4=this.bsPolygons=null;this.nSets=0;this.dataOnly=!1;this.vertexCount0=this.polygonCount0=this.iC=this.iB=this.iA=this.lastColix=this.lastColor=0;this.bsSlabGhost=this.bsSlabDisplay=null;this.slabColix=this.slabMeshType=0;this.slabOptions=this.bsDisplay=
null;this.mergePolygonCount0=this.mergeVertexCount0=0;this.isMerged=!1;q(this,arguments)},JU,"MeshSurface");b(c$,"getMeshSlicer",function(){return null==this.slicer?this.slicer=J.api.Interface.getInterface("JU.MeshSlicer",this.vwr,"script").set(this):this.slicer});c$.newMesh=b(c$,"newMesh",function(a,c,b,j,f,g){var e=new JU.MeshSurface;e.pis=j;a?e.altVertices=c:e.vs=c;e.vc=0==b?c.length:b;e.normals=f;e.normalCount=0==g&&null!=f?f.length:g;return e},"~B,~A,~N,~A,~A,~N");b(c$,"getVertices",function(){return null==
this.altVertices?this.vs:this.altVertices});b(c$,"getFaces",function(){return this.pis});b(c$,"setColix",function(a){this.colix=a},"~N");b(c$,"setColixBack",function(a){this.colixBack=a},"~N");b(c$,"addV",function(a,c){0==this.vc?this.vs=Array(25):this.vc==this.vs.length&&(this.vs=JU.AU.doubleLength(this.vs));this.vs[this.vc]=c?JU.P3.newP(a):a;return this.vc++},"JU.T3,~B");b(c$,"addTriangle",function(a,c,b){this.addPolygon(y(-1,[a,c,b]),null)},"~N,~N,~N");b(c$,"addQuad",function(a,c,b,j){this.haveQuads=
!0;this.addPolygon(y(-1,[a,c,b,j]),null)},"~N,~N,~N,~N");b(c$,"setPolygonCount",function(a){this.pc=a;if(!(0>a)&&(null==this.pis||a>this.pis.length))this.pis=JU.AU.newInt2(a)},"~N");b(c$,"addVCVal",function(a,c,b){0==this.vc?this.vvs=G(25,0):this.vc>=this.vvs.length&&(this.vvs=JU.AU.doubleLengthF(this.vvs));this.vvs[this.vc]=c;return this.addV(a,b)},"JU.T3,~N,~B");b(c$,"addTriangleCheck",function(a,c,b,j,f,g){return null==this.vs||null!=this.vvs&&(Float.isNaN(this.vvs[a])||Float.isNaN(this.vvs[c])||
Float.isNaN(this.vvs[b]))||Float.isNaN(this.vs[a].x)||Float.isNaN(this.vs[c].x)||Float.isNaN(this.vs[b].x)?-1:this.addPolygonV3(a,c,b,j,f,g,null)},"~N,~N,~N,~N,~N,~N");b(c$,"addPolygonV3",function(a,c,b,j,f,g,e){return this.dataOnly?this.addPolygon(y(-1,[a,c,b,j]),e):this.addPolygonC(y(-1,[a,c,b,j,f]),g,e,0>f)},"~N,~N,~N,~N,~N,~N,JU.BS");b(c$,"addPolygonC",function(a,c,b,j){if(0!=c){if(null==this.pcs||0==this.pc)this.lastColor=0;j?this.colorsExplicit=!0:(null==this.pcs?this.pcs=Q(25,0):this.pc>=this.pcs.length&&
(this.pcs=JU.AU.doubleLengthShort(this.pcs)),this.pcs[this.pc]=j?2047:c==this.lastColor?this.lastColix:this.lastColix=JU.C.getColix(this.lastColor=c))}return this.addPolygon(a,b)},"~A,~N,JU.BS,~B");b(c$,"addPolygon",function(a,c){var b=this.pc;0==b?this.pis=JU.AU.newInt2(25):b==this.pis.length&&(this.pis=JU.AU.doubleLength(this.pis));null!=c&&c.set(b);this.pis[this.pc++]=a;return b},"~A,JU.BS");b(c$,"invalidatePolygons",function(){for(var a=this.pc;--a>=this.mergePolygonCount0;)if((null==this.bsSlabDisplay||
this.bsSlabDisplay.get(a))&&null==this.setABC(a))this.pis[a]=null});b(c$,"setABC",function(a){if(null!=this.bsSlabDisplay&&!this.bsSlabDisplay.get(a)&&(null==this.bsSlabGhost||!this.bsSlabGhost.get(a)))return null;a=this.pis[a];if(null==a||3>a.length)return null;this.iA=a[0];this.iB=a[1];this.iC=a[2];return null==this.vvs||!Float.isNaN(this.vvs[this.iA])&&!Float.isNaN(this.vvs[this.iB])&&!Float.isNaN(this.vvs[this.iC])?a:null},"~N");b(c$,"setTranslucentVertices",function(){},"JU.BS");b(c$,"getSlabColor",
function(){return null==this.bsSlabGhost?null:JU.C.getHexCode(this.slabColix)});b(c$,"getSlabType",function(){return null!=this.bsSlabGhost&&1073742018==this.slabMeshType?"mesh":null});b(c$,"resetSlab",function(){null!=this.slicer&&this.slicer.slabPolygons(JU.TempArray.getSlabObjectType(1073742333,null,!1,null),!1)});b(c$,"slabPolygonsList",function(a,c){this.getMeshSlicer();for(var b=0;b<a.size()&&this.slicer.slabPolygons(a.get(b),c);b++);},"JU.Lst,~B");b(c$,"slabBrillouin",function(){},"~A");b(c$,
"getResolution",function(){return 0});c$.getSphereData=b(c$,"getSphereData",function(a){JU.Geodesic.createGeodesic(a);var c=JU.Geodesic.getVertexCount(a),b=JU.Geodesic.getFaceVertexes(a),j=v(b.length/3);a=JU.AU.newInt2(j);for(var f=0,g=0;f<j;f++)a[f]=y(-1,[b[g++],b[g++],b[g++]]);b=Array(c);for(f=0;f<c;f++)b[f]=JU.Geodesic.getVertexVector(f);return JU.MeshSurface.newMesh(!0,b,0,a,b,0)},"~N");b(c$,"setBox",function(a,c){a.set(3.4028235E38,3.4028235E38,3.4028235E38);c.set(-3.4028235E38,-3.4028235E38,
-3.4028235E38);for(var b=0;b<this.vc;b++){var j=this.vs[b];Float.isNaN(j.x)||JU.BoxInfo.addPoint(j,a,c,0)}},"JU.P3,JU.P3");b(c$,"setBoundingBox",function(){},"~A");c$.getSphericalInterpolationFraction=b(c$,"getSphericalInterpolationFraction",function(a,c,b,j){c=Math.abs(a+c)/j;b=Math.abs(a+b)/j;a/=j;j=c*c;var f=j-b*b+1;return(f+(c<b?1:-1)*Math.sqrt(f*f+4*(a*a-j)))/2},"~N,~N,~N,~N");D(c$,"SEED_COUNT",25,"P_CHECK",3,"P_CONTOUR",4,"P_EXPLICIT_COLOR",4)});l("JU");u(["JU.Geodesic"],"JU.Normix",["JU.BS"],
function(){c$=B(JU,"Normix");c$.getNormixCount=b(c$,"getNormixCount",function(){return 1<JU.Normix.normixCount?JU.Normix.normixCount:JU.Normix.normixCount=JU.Geodesic.getVertexCount(3)});c$.newVertexBitSet=b(c$,"newVertexBitSet",function(){return JU.BS.newN(JU.Normix.getNormixCount())});c$.getVertexVectors=b(c$,"getVertexVectors",function(){null==JU.Normix.vertexVectors&&(JU.Normix.vertexVectors=JU.Geodesic.getVertexVectors());return JU.Normix.vertexVectors});c$.setInverseNormixes=b(c$,"setInverseNormixes",
function(){if(null==JU.Normix.inverseNormixes){JU.Normix.getNormixCount();JU.Normix.getVertexVectors();JU.Normix.inverseNormixes=Q(JU.Normix.normixCount,0);for(var a=new JU.BS,c=JU.Normix.normixCount;0<=--c;){var b=JU.Normix.vertexVectors[c];JU.Normix.inverseNormixes[c]=JU.Normix.getNormix(-b.x,-b.y,-b.z,3,a)}}});c$.getInverseNormix=b(c$,"getInverseNormix",function(a){return JU.Normix.inverseNormixes[a]},"~N");c$.getNeighborVertexArrays=b(c$,"getNeighborVertexArrays",function(){null==JU.Normix.neighborVertexesArrays&&
(JU.Normix.neighborVertexesArrays=JU.Geodesic.getNeighborVertexesArrays());return JU.Normix.neighborVertexesArrays});c$.getNormixV=b(c$,"getNormixV",function(a,c){return JU.Normix.getNormix(a.x,a.y,a.z,3,c)},"JU.V3,JU.BS");c$.get2SidedNormix=b(c$,"get2SidedNormix",function(a,c){return~JU.Normix.getNormixV(a,c)},"JU.V3,JU.BS");c$.getNormix=b(c$,"getNormix",function(a,c,b,j,f){var g,e;0<=b?(g=0,e=b-1):(g=11,e=b- -1);f.clearAll();f.set(g);JU.Normix.getVertexVectors();JU.Normix.getNeighborVertexArrays();
e=a*a+c*c+e*e;for(var k=0;k<=j;++k)for(var m=JU.Normix.neighborVertexesArrays[k],n=6*g,l=n+(12>g?5:6);--l>=n;){var p=m[l];if(!f.get(p)){f.set(p);var q=JU.Normix.vertexVectors[p],r;r=q.x-a;var t=r*r;t>=e||(r=q.y-c,t+=r*r,t>=e||(r=q.z-b,t+=r*r,t>=e||(g=p,e=t)))}}return g},"~N,~N,~N,~N,JU.BS");D(c$,"NORMIX_GEODESIC_LEVEL",3,"normixCount",0,"vertexVectors",null,"inverseNormixes",null,"neighborVertexesArrays",null,"NORMIX_NULL",9999)});l("JU");u(null,"JU.Parser",["java.lang.Float","JU.PT"],function(){c$=
B(JU,"Parser");c$.parseStringInfestedFloatArray=b(c$,"parseStringInfestedFloatArray",function(a,c,b){return JU.Parser.parseFloatArrayBsData(JU.PT.getTokens(a),c,b)},"~S,JU.BS,~A");c$.parseFloatArrayBsData=b(c$,"parseFloatArrayBsData",function(a,c,b){for(var j=b.length,f=a.length,g=0,e=0,k=null!=c,m=k?c.nextSetBit(0):0;0<=m&&m<j&&g<f;m=k?c.nextSetBit(m+1):m+1){for(var n;Float.isNaN(n=JU.PT.parseFloat(a[g++]))&&g<f;);Float.isNaN(n)||(b[e=m]=n);if(g==f)break}return e+1},"~A,JU.BS,~A");c$.parseFloatArrayFromMatchAndField=
b(c$,"parseFloatArrayFromMatchAndField",function(a,c,b,j,f,g,e,k,m){var n,l=-1,p=null!=f,q=JU.Parser.markLines(a,0<=a.indexOf("\n")?"\n":";");m=1>=m||m>=q.length?0:m-1;var r=0==m?0:q[m-1],t=q.length;null==k&&(k=G(t-m,0));for(var u=k.length,v=0>=e?Math.max(g,b):Math.max(g+e,b+j)-1,x=null!=c;m<t;m++){var y=a.substring(r,q[m]).trim(),r=q[m],A=0>=e?JU.PT.getTokens(y):null;if(0>=e){if(A.length<v||Float.isNaN(n=JU.PT.parseFloat(A[g-1])))continue}else if(y.length<v||Float.isNaN(n=JU.PT.parseFloat(y.substring(g-
1,g+e-1))))continue;if(p){y=JU.PT.parseInt(null==A?y.substring(b-1,b+j-1):A[b-1]);if(-2147483648==y||0>y||y>=u||0>(y=f[y]))continue;x&&c.set(y)}else{x?l=c.nextSetBit(l+1):l++;if(0>l||l>=u)break;y=l}k[y]=n}return k},"~S,JU.BS,~N,~N,~A,~N,~N,~A,~N");c$.fixDataString=b(c$,"fixDataString",function(a){a=a.$replace(";",0>a.indexOf("\n")?"\n":" ");a=JU.PT.trim(a,"\n \t");a=JU.PT.rep(a,"\n ","\n");return a=JU.PT.rep(a,"\n\n","\n")},"~S");c$.markLines=b(c$,"markLines",function(a,c){for(var b=0,j=a.length;0<=
--j;)a.charAt(j)==c&&b++;for(var j=y(b+1,0),f=b=0;0<=(f=a.indexOf(c,f));)j[b++]=++f;j[b]=a.length;return j},"~S,~S")});l("JU");u(["JU.P3"],"JU.Point3fi",null,function(){c$=r(function(){this.mi=-1;this.sZ=this.sY=this.sX=this.i=0;this.sD=-1;q(this,arguments)},JU,"Point3fi",JU.P3,Cloneable);b(c$,"copy",function(){try{return this.clone()}catch(a){if(C(a,CloneNotSupportedException))return null;throw a;}})});l("JU");c$=r(function(){this.height=this.width=this.y=this.x=0;q(this,arguments)},JU,"Rectangle");
b(c$,"contains",function(a,c){return a>=this.x&&c>=this.y&&a-this.x<this.width&&c-this.y<this.height},"~N,~N");l("JU");u(null,"JU.Rgb16",["JU.SB"],function(){c$=r(function(){this.b=this.g=this.r=0;q(this,arguments)},JU,"Rgb16");t(c$,function(){});c$.newI=b(c$,"newI",function(a){var c=new JU.Rgb16;c.setInt(a);return c},"~N");b(c$,"setInt",function(a){this.r=a>>8&65280|128;this.g=a&65280|128;this.b=a<<8&65280|128},"~N");b(c$,"setRgb",function(a){this.r=a.r;this.g=a.g;this.b=a.b},"JU.Rgb16");b(c$,"diffDiv",
function(a,c,b){this.r=v((a.r-c.r)/b);this.g=v((a.g-c.g)/b);this.b=v((a.b-c.b)/b)},"JU.Rgb16,JU.Rgb16,~N");b(c$,"setAndIncrement",function(a,c){this.r=a.r;a.r+=c.r;this.g=a.g;a.g+=c.g;this.b=a.b;a.b+=c.b},"JU.Rgb16,JU.Rgb16");b(c$,"getArgb",function(){return 4278190080|this.r<<8&16711680|this.g&65280|this.b>>8});e(c$,"toString",function(){return(new JU.SB).append("Rgb16(").appendI(this.r).appendC(",").appendI(this.g).appendC(",").appendI(this.b).append(" -> ").appendI(this.r>>8&255).appendC(",").appendI(this.g>>
8&255).appendC(",").appendI(this.b>>8&255).appendC(")").toString()})});l("JU");u(["JU.AU","$.V3"],"JU.Shader",["JU.CU","JU.C"],function(){c$=r(function(){this.zLight=this.yLight=this.xLight=0;this.lightSource=null;this.specularOn=!0;this.usePhongExponent=!1;this.ambientPercent=45;this.diffusePercent=84;this.specularExponent=6;this.specularPercent=22;this.specularPower=40;this.phongExponent=64;this.specularFactor=this.intenseFraction=this.diffuseFactor=this.ambientFraction=0;this.ashadesGreyscale=
this.ashades=null;this.celOn=!1;this.celPower=10;this.celZ=this.celRGB=0;this.useLight=!1;this.sphereShadeIndexes=null;this.seed=305419897;this.ellipsoidShades=this.sphereShapeCache=null;this.nIn=this.nOut=0;q(this,arguments)},JU,"Shader");M(c$,function(){this.lightSource=new JU.V3;this.ambientFraction=this.ambientPercent/100;this.diffuseFactor=this.diffusePercent/100;this.intenseFraction=this.specularPower/100;this.specularFactor=this.specularPercent/100;this.ashades=JU.AU.newInt2(128);this.sphereShadeIndexes=
O(65536,0);this.sphereShapeCache=JU.AU.newInt2(128)});t(c$,function(){this.setLightSource(-1,-1,2.5)});b(c$,"setLightSource",function(a,c,b){this.lightSource.set(a,c,b);this.lightSource.normalize();this.xLight=this.lightSource.x;this.yLight=this.lightSource.y;this.zLight=this.lightSource.z},"~N,~N,~N");b(c$,"setCel",function(a,c,b){a=a&&0!=c;b=JU.C.getArgb(JU.C.getBgContrast(b));b=4278190080==b?4278453252:-1==b?-2:b+1;this.celOn==a&&this.celRGB==b&&this.celPower==c||(this.celOn=a,this.celPower=c,
this.useLight=!this.celOn||0<c,this.celZ=1-Math.pow(2,-Math.abs(c)/10),this.celRGB=b,this.flushCaches())},"~B,~N,~N");b(c$,"flushCaches",function(){this.checkShades(JU.C.colixMax);for(var a=JU.C.colixMax;0<=--a;)this.ashades[a]=null;this.calcSphereShading();for(a=128;0<=--a;)this.sphereShapeCache[a]=null;this.ellipsoidShades=null});b(c$,"setLastColix",function(a,c){JU.C.allocateColix(a,!0);this.checkShades(2047);c&&JU.C.setLastGrey(a);this.ashades[2047]=this.getShades2(a,!1)},"~N,~B");b(c$,"getShades",
function(a){this.checkShades(JU.C.colixMax);a&=-30721;var c=this.ashades[a];null==c&&(c=this.ashades[a]=this.getShades2(JU.C.argbs[a],!1));return c},"~N");b(c$,"getShadesG",function(a){this.checkShades(JU.C.colixMax);a&=-30721;null==this.ashadesGreyscale&&(this.ashadesGreyscale=JU.AU.newInt2(this.ashades.length));var c=this.ashadesGreyscale[a];null==c&&(c=this.ashadesGreyscale[a]=this.getShades2(JU.C.argbs[a],!0));return c},"~N");b(c$,"checkShades",function(a){null!=this.ashades&&this.ashades.length>=
a||(2047==a&&a++,this.ashades=JU.AU.arrayCopyII(this.ashades,a),null!=this.ashadesGreyscale&&(this.ashadesGreyscale=JU.AU.arrayCopyII(this.ashadesGreyscale,a)))},"~N");b(c$,"getShades2",function(a,c){var b=y(64,0);if(0==a)return b;for(var j=a>>16&255,f=a>>8&255,g=a&255,e=0,k=0,m=0,n=this.ambientFraction;;)if(e=j*n+0.5,k=f*n+0.5,m=g*n+0.5,0<n&&4>e&&4>k&&4>m)j++,f++,g++,0.1>n&&(n+=0.1),a=JU.CU.rgb(v(Math.floor(j)),v(Math.floor(f)),v(Math.floor(g)));else break;var l=0,n=(1-n)/52,j=j*n,f=f*n,g=g*n;if(this.celOn){n=
JU.CU.rgb(v(Math.floor(e)),v(Math.floor(k)),v(Math.floor(m)));if(0<=this.celPower)for(;32>l;++l)b[l]=n;k+=32*f;m+=32*g;for(n=JU.CU.rgb(v(Math.floor(e+32*j)),v(Math.floor(k)),v(Math.floor(m)));64>l;l++)b[l]=n;b[0]=b[1]=this.celRGB}else{for(;52>l;++l)b[l]=JU.CU.rgb(v(Math.floor(e)),v(Math.floor(k)),v(Math.floor(m))),e+=j,k+=f,m+=g;b[l++]=a;n=this.intenseFraction/(64-l);j=(255.5-e)*n;f=(255.5-k)*n;for(g=(255.5-m)*n;64>l;l++)e+=j,k+=f,m+=g,b[l]=JU.CU.rgb(v(Math.floor(e)),v(Math.floor(k)),v(Math.floor(m)))}if(c)for(;0<=
--l;)b[l]=JU.CU.toFFGGGfromRGB(b[l]);return b},"~N,~B");b(c$,"getShadeIndex",function(a,c,b){var j=Math.sqrt(a*a+c*c+b*b);return Math.round(63*this.getShadeF(a/j,c/j,b/j))},"~N,~N,~N");b(c$,"getShadeB",function(a,c,b){return Math.round(63*this.getShadeF(a,c,b))},"~N,~N,~N");b(c$,"getShadeFp8",function(a,c,b){var j=Math.sqrt(a*a+c*c+b*b);return v(Math.floor(16128*this.getShadeF(a/j,c/j,b/j)))},"~N,~N,~N");b(c$,"getShadeF",function(a,c,b){c=this.useLight?a*this.xLight+c*this.yLight+b*this.zLight:b;
if(0>=c)return 0;a=c*this.diffuseFactor;if(this.specularOn&&(c=2*c*b-this.zLight,0<c)){if(this.usePhongExponent)c=Math.pow(c,this.phongExponent);else for(var j=this.specularExponent;0<=--j&&1E-4<c;)c*=c;a+=c*this.specularFactor}return this.celOn&&b<this.celZ?0:1<a?1:a},"~N,~N,~N");b(c$,"getShadeN",function(a,c,b,j){c=v(Math.floor(16128*this.getShadeF(a/j,c/j,b/j)));a=c>>8;if(!this.useLight)return a;(c&255)>this.nextRandom8Bit()&&++a;c=this.seed&65535;21845>c&&0<a?--a:43690<c&&63>a&&++a;return a},
"~N,~N,~N,~N");b(c$,"calcSphereShading",function(){for(var a=-127.5,c=0;256>c;++a,++c)for(var b=-127.5,j=a*a,f=0;256>f;++b,++f){var g=0,e=16900-j-b*b;0<e&&(g=Math.sqrt(e),g=this.getShadeN(a,b,g,130));this.sphereShadeIndexes[(f<<8)+c]=g}});b(c$,"nextRandom8Bit",function(){var a=this.seed;this.seed=a=(a<<16)+(a<<1)+a&2147483647;return a>>23});b(c$,"getEllipsoidShade",function(a,c,b,j,f){var g=f.m00*a+f.m01*c+f.m02*b+f.m03,e=f.m10*a+f.m11*c+f.m12*b+f.m13;a=f.m20*a+f.m21*c+f.m22*b+f.m23;j=Math.min(j/
2,45)/Math.sqrt(g*g+e*e+a*a);g=A(-g*j);e=A(-e*j);j=A(a*j);if(a=-20>g||20<=g||-20>e||20<=e||0>j||40<=j){for(;0==g%2&&0==e%2&&0==j%2&&0<g+e+j;)g>>=1,e>>=1,j>>=1;a=-20>g||20<=g||-20>e||20<=e||0>j||40<=j}a?this.nOut++:this.nIn++;return a?this.getShadeIndex(g,e,j):this.ellipsoidShades[g+20][e+20][j]},"~N,~N,~N,~N,JU.M4");b(c$,"createEllipsoidShades",function(){this.ellipsoidShades=O(40,40,40,0);for(var a=0;40>a;a++)for(var c=0;40>c;c++)for(var b=0;40>b;b++)this.ellipsoidShades[a][c][b]=this.getShadeIndex(a-
20,c-20,b)});D(c$,"SHADE_INDEX_MAX",64,"SHADE_INDEX_LAST",63,"SHADE_INDEX_NORMAL",52,"SHADE_INDEX_NOISY_LIMIT",56,"SLIM",20,"SDIM",40,"maxSphereCache",128)});l("JU");u(null,"JU.SimpleUnitCell",["java.lang.Float","JU.AU","$.M4","$.P3","$.V3"],function(){c$=r(function(){this.matrixFractionalToCartesian=this.matrixCartesianToFractional=this.unitCellParams=null;this.dimension=this.c_=this.b_=this.a_=this.cB_=this.cA_=this.sinGamma=this.cosGamma=this.sinBeta=this.cosBeta=this.sinAlpha=this.cosAlpha=this.gamma=
this.beta=this.alpha=this.c=this.b=this.a=this.nc=this.nb=this.na=this.volume=0;this.matrixFtoCNoOffset=this.matrixCtoFANoOffset=this.fractionalOrigin=null;q(this,arguments)},JU,"SimpleUnitCell");b(c$,"isSupercell",function(){return 1<this.na||1<this.nb||1<this.nc});c$.isValid=b(c$,"isValid",function(a){return null!=a&&(0<a[0]||14<a.length&&!Float.isNaN(a[14]))},"~A");t(c$,function(){this.fractionalOrigin=new JU.P3});c$.newA=b(c$,"newA",function(a){var c=new JU.SimpleUnitCell;c.init(a);return c},
"~A");b(c$,"init",function(a){null==a&&(a=G(-1,[1,1,1,90,90,90]));if(JU.SimpleUnitCell.isValid(a)){this.unitCellParams=JU.AU.arrayCopyF(a,a.length);this.a=a[0];this.b=a[1];this.c=a[2];this.alpha=a[3];this.beta=a[4];this.gamma=a[5];var c=this.na=Math.max(1,25<=a.length&&!Float.isNaN(a[22])?A(a[22]):1),b=this.nb=Math.max(1,25<=a.length&&!Float.isNaN(a[23])?A(a[23]):1),e=this.nc=Math.max(1,25<=a.length&&!Float.isNaN(a[24])?A(a[24]):1);if(25<a.length&&!Float.isNaN(a[25]))var f=a[25],c=c*f,b=b*f,e=e*f;
else c=b=e=1;if(0>=this.a){var f=JU.V3.new3(a[6],a[7],a[8]),g=JU.V3.new3(a[9],a[10],a[11]),h=JU.V3.new3(a[12],a[13],a[14]);this.setABC(f,g,h);0>this.c&&(a=JU.AU.arrayCopyF(a,-1),0>this.b&&(g.set(0,0,1),g.cross(g,f),0.001>g.length()&&g.set(0,1,0),g.normalize(),a[9]=g.x,a[10]=g.y,a[11]=g.z),0>this.c&&(h.cross(f,g),h.normalize(),a[12]=h.x,a[13]=h.y,a[14]=h.z))}this.a*=c;0>=this.b?this.dimension=this.b=this.c=1:0>=this.c?(this.c=1,this.b*=b,this.dimension=2):(this.b*=b,this.c*=e,this.dimension=3);this.setCellParams();
if(21<a.length&&!Float.isNaN(a[21])){f=G(16,0);for(g=0;16>g;g++){switch(g%4){case 0:h=c;break;case 1:h=b;break;case 2:h=e;break;default:h=1}f[g]=a[6+g]*h}this.matrixCartesianToFractional=JU.M4.newA16(f);this.matrixCartesianToFractional.getTranslation(this.fractionalOrigin);this.matrixFractionalToCartesian=JU.M4.newM4(this.matrixCartesianToFractional).invert();1==a[0]&&this.setParamsFromMatrix()}else 14<a.length&&!Float.isNaN(a[14])?(f=this.matrixFractionalToCartesian=new JU.M4,f.setColumn4(0,a[6]*
c,a[7]*c,a[8]*c,0),f.setColumn4(1,a[9]*b,a[10]*b,a[11]*b,0),f.setColumn4(2,a[12]*e,a[13]*e,a[14]*e,0)):(f=this.matrixFractionalToCartesian=new JU.M4,f.setColumn4(0,this.a,0,0,0),f.setColumn4(1,this.b*this.cosGamma,this.b*this.sinGamma,0,0),f.setColumn4(2,this.c*this.cosBeta,this.c*(this.cosAlpha-this.cosBeta*this.cosGamma)/this.sinGamma,this.volume/(this.a*this.b*this.sinGamma),0)),f.setColumn4(3,0,0,0,1),this.matrixCartesianToFractional=JU.M4.newM4(this.matrixFractionalToCartesian).invert();this.matrixCtoFANoOffset=
this.matrixCartesianToFractional;this.matrixFtoCNoOffset=this.matrixFractionalToCartesian}},"~A");b(c$,"setParamsFromMatrix",function(){var a=JU.V3.new3(1,0,0),c=JU.V3.new3(0,1,0),b=JU.V3.new3(0,0,1);this.matrixFractionalToCartesian.rotate(a);this.matrixFractionalToCartesian.rotate(c);this.matrixFractionalToCartesian.rotate(b);this.setABC(a,c,b);this.setCellParams()});b(c$,"setABC",function(a,c,b){this.a=a.length();this.b=c.length();this.c=b.length();0!=this.a&&(0==this.b?this.b=this.c=-1:0==this.c&&
(this.c=-1),this.alpha=0>this.b||0>this.c?90:c.angle(b)/0.017453292,this.beta=0>this.c?90:a.angle(b)/0.017453292,this.gamma=0>this.b?90:a.angle(c)/0.017453292)},"JU.V3,JU.V3,JU.V3");b(c$,"setCellParams",function(){this.cosAlpha=Math.cos(0.017453292*this.alpha);this.sinAlpha=Math.sin(0.017453292*this.alpha);this.cosBeta=Math.cos(0.017453292*this.beta);this.sinBeta=Math.sin(0.017453292*this.beta);this.cosGamma=Math.cos(0.017453292*this.gamma);this.sinGamma=Math.sin(0.017453292*this.gamma);var a=Math.sqrt(this.sinAlpha*
this.sinAlpha+this.sinBeta*this.sinBeta+this.sinGamma*this.sinGamma+2*this.cosAlpha*this.cosBeta*this.cosGamma-2);this.volume=this.a*this.b*this.c*a;this.cA_=(this.cosAlpha-this.cosBeta*this.cosGamma)/this.sinGamma;this.cB_=a/this.sinGamma;this.a_=this.b*this.c*this.sinAlpha/this.volume;this.b_=this.a*this.c*this.sinBeta/this.volume;this.c_=this.a*this.b*this.sinGamma/this.volume});b(c$,"getFractionalOrigin",function(){return this.fractionalOrigin});b(c$,"toSupercell",function(a){a.x/=this.na;a.y/=
this.nb;a.z/=this.nc;return a},"JU.P3");b(c$,"toCartesian",function(a,c){null!=this.matrixFractionalToCartesian&&(c?this.matrixFtoCNoOffset:this.matrixFractionalToCartesian).rotTrans(a)},"JU.T3,~B");b(c$,"toFractional",function(a,c){null!=this.matrixCartesianToFractional&&(c?this.matrixCtoFANoOffset:this.matrixCartesianToFractional).rotTrans(a)},"JU.T3,~B");b(c$,"isPolymer",function(){return 1==this.dimension});b(c$,"isSlab",function(){return 2==this.dimension});b(c$,"getUnitCellParams",function(){return this.unitCellParams});
b(c$,"getUnitCellAsArray",function(a){var c=this.matrixFractionalToCartesian;return a?G(-1,[c.m00,c.m10,c.m20,c.m01,c.m11,c.m21,c.m02,c.m12,c.m22]):G(-1,[this.a,this.b,this.c,this.alpha,this.beta,this.gamma,c.m00,c.m10,c.m20,c.m01,c.m11,c.m21,c.m02,c.m12,c.m22,this.dimension,this.volume])},"~B");b(c$,"getInfo",function(a){switch(a){case 0:return this.a;case 1:return this.b;case 2:return this.c;case 3:return this.alpha;case 4:return this.beta;case 5:return this.gamma;case 6:return this.dimension}return NaN},
"~N");c$.ijkToPoint3f=b(c$,"ijkToPoint3f",function(a,c,b){var e=1E9<a?1E3:1E6<a?100:10,f=e*e;b-=0<=b?v(5*e/10):b;c.x=v(a/f)%e+b;c.y=v(a%f/e)+b;c.z=a%e+b},"~N,JU.P3,~N");c$.getCellWeight=b(c$,"getCellWeight",function(a){var c=1;0==a.x&&(c/=2);0==a.y&&(c/=2);0==a.z&&(c/=2);return c},"JU.P3");c$.getReciprocal=b(c$,"getReciprocal",function(a){var c=Array(4),b=4==a.length?1:0;c[0]=1==b?JU.P3.newP(a[0]):new JU.P3;for(var e=0;3>e;e++)c[e+1]=new JU.P3,c[e+1].cross(a[(e+b)%3+b],a[(e+b+1)%3+b]),c[e+1].scale(1/
a[e+b].dot(c[e+1]));return c},"~A");c$.transformCubic=b(c$,"transformCubic",function(a,c,b){var e=b.length-3;a=c.equalsIgnoreCase("BCC")?a?G(-1,[0.5,0.5,-0.5,-0.5,0.5,0.5,0.5,-0.5,0.5]):G(-1,[1,0,1,1,1,0,0,1,1]):c.equalsIgnoreCase("FCC")?a?G(-1,[0.5,0.5,0,0,0.5,0.5,0.5,0,0.5]):G(-1,[1,-1,1,1,1,-1,-1,1,1]):null;if(null==a)return!1;c=Array(3);for(var f=0,g=0;3>f;f++){c[f]=new JU.P3;for(var h=e;h<3+e;h++)c[f].scaleAdd2(a[g++],b[h],c[f])}for(f=0;3>f;f++)b[f+e]=c[f];return!0},"~B,~S,~A");D(c$,"toRadians",
0.017453292,"INFO_DIMENSIONS",6,"INFO_GAMMA",5,"INFO_BETA",4,"INFO_ALPHA",3,"INFO_C",2,"INFO_B",1,"INFO_A",0)});l("JU");u(null,"JU.TempArray",["java.lang.Boolean","$.Float","JU.P3","$.P3i"],function(){c$=r(function(){this.freeEnum=this.lengthsFreeEnum=this.freeScreens=this.lengthsFreeScreens=this.freePoints=this.lengthsFreePoints=null;q(this,arguments)},JU,"TempArray");M(c$,function(){this.lengthsFreePoints=y(6,0);this.freePoints=Array(6);this.lengthsFreeScreens=y(6,0);this.freeScreens=Array(6);this.lengthsFreeEnum=
y(2,0);this.freeEnum=Array(2)});t(c$,function(){});b(c$,"clear",function(){this.clearTempPoints();this.clearTempScreens()});c$.findBestFit=b(c$,"findBestFit",function(a,c){for(var b=-1,e=2147483647,f=c.length;0<=--f;){var g=c[f];g>=a&&g<e&&(e=g,b=f)}0<=b&&(c[b]=0);return b},"~N,~A");c$.findShorter=b(c$,"findShorter",function(a,c){for(var b=c.length;0<=--b;)if(0==c[b])return c[b]=a,b;for(var e=0,f=c[0],b=c.length;0<--b;)c[b]<f&&(f=c[b],e=b);return f<a?(c[e]=a,e):-1},"~N,~A");b(c$,"clearTempPoints",
function(){for(var a=0;6>a;a++)this.lengthsFreePoints[a]=0,this.freePoints[a]=null});b(c$,"allocTempPoints",function(a){var c;c=JU.TempArray.findBestFit(a,this.lengthsFreePoints);if(0<c)c=this.freePoints[c];else for(c=Array(a);0<=--a;)c[a]=new JU.P3;return c},"~N");b(c$,"freeTempPoints",function(a){for(var c=0;c<this.freePoints.length;c++)if(this.freePoints[c]===a){this.lengthsFreePoints[c]=a.length;return}c=JU.TempArray.findShorter(a.length,this.lengthsFreePoints);0<=c&&(this.freePoints[c]=a)},"~A");
b(c$,"clearTempScreens",function(){for(var a=0;6>a;a++)this.lengthsFreeScreens[a]=0,this.freeScreens[a]=null});b(c$,"allocTempScreens",function(a){var c;c=JU.TempArray.findBestFit(a,this.lengthsFreeScreens);if(0<c)c=this.freeScreens[c];else for(c=Array(a);0<=--a;)c[a]=new JU.P3i;return c},"~N");b(c$,"freeTempScreens",function(a){for(var c=0;c<this.freeScreens.length;c++)if(this.freeScreens[c]===a){this.lengthsFreeScreens[c]=a.length;return}c=JU.TempArray.findShorter(a.length,this.lengthsFreeScreens);
0<=c&&(this.freeScreens[c]=a)},"~A");b(c$,"allocTempEnum",function(a){var c=JU.TempArray.findBestFit(a,this.lengthsFreeEnum);return 0<c?this.freeEnum[c]:Array(a)},"~N");b(c$,"freeTempEnum",function(a){for(var c=0;c<this.freeEnum.length;c++)if(this.freeEnum[c]===a){this.lengthsFreeEnum[c]=a.length;return}c=JU.TempArray.findShorter(a.length,this.lengthsFreeEnum);0<=c&&(this.freeEnum[c]=a)},"~A");c$.getSlabWithinRange=b(c$,"getSlabWithinRange",function(a,c){return x(-1,[Integer.$valueOf(1073742114),
x(-1,[Float.$valueOf(a),Float.$valueOf(c)]),Boolean.FALSE,null])},"~N,~N");c$.getSlabObjectType=b(c$,"getSlabObjectType",function(a,c,b,e){return x(-1,[Integer.$valueOf(a),c,Boolean.$valueOf(b),e])},"~N,~O,~B,~O");D(c$,"freePointsSize",6,"freeScreensSize",6,"freeEnumSize",2)});l("JU");u(null,"JU.Txt",["JU.P3","$.PT","JU.Escape"],function(){c$=B(JU,"Txt");c$.formatText=b(c$,"formatText",function(a,c){var b;if(0>c.indexOf("@{")&&0>c.indexOf("%{"))return c;var e=c,f=0<=e.indexOf("\\");f&&(e=JU.PT.rep(e,
"\\%","\u0001"),e=JU.PT.rep(e,"\\@","\u0002"),f=!e.equals(c));for(var e=JU.PT.rep(e,"%{","@{"),g;0<=(b=e.indexOf("@{"));){b++;var h=b+1;g=e.length;for(var k=1,m="\x00",l="\x00";0<k&&++b<g;){var s=e.charAt(b);if("\x00"!=m)"\\"==l?s="\x00":s==m&&(m="\x00"),l=s;else switch(s){case "'":case '"':m=s;break;case "{":k++;break;case "}":k--}}if(b>=g)return e;g=e.substring(h,b);if(0==g.length)return e;g=a.evaluateExpression(g);p(g,JU.P3)&&(g=JU.Escape.eP(g));e=e.substring(0,h-2)+g.toString()+e.substring(b+
1)}f&&(e=JU.PT.rep(e,"\u0002","@"),e=JU.PT.rep(e,"\u0001","%"));return e},"J.api.JmolViewer,~S")});l("JU");u(["JU.V3"],"JU.Vibration",null,function(){c$=r(function(){this.modDim=-1;this.modScale=NaN;q(this,arguments)},JU,"Vibration",JU.V3);b(c$,"setCalcPoint",function(a,c,b){switch(this.modDim){case -2:break;default:a.scaleAdd2(Math.cos(6.283185307179586*c.x)*b,this,a)}return a},"JU.T3,JU.T3,~N,~N");b(c$,"getInfo",function(a){a.put("vibVector",JU.V3.newV(this));a.put("vibType",-2==this.modDim?"spin":
-1==this.modDim?"vib":"mod")},"java.util.Map");e(c$,"clone",function(){var a=new JU.Vibration;a.setT(this);a.modDim=this.modDim;return a});b(c$,"setXYZ",function(a){this.setT(a)},"JU.T3");b(c$,"setType",function(a){this.modDim=a;return this},"~N");b(c$,"isNonzero",function(){return 0!=this.x||0!=this.y||0!=this.z});b(c$,"getOccupancy100",function(){return-2147483648},"~B");D(c$,"twoPI",6.283185307179586,"TYPE_VIBRATION",-1,"TYPE_SPIN",-2)});l("JV");u(["javajs.api.EventManager","J.i18n.GT","JU.Rectangle",
"JV.MouseState"],["JV.ActionManager","$.Gesture","$.MotionPoint"],"java.lang.Character $.Float JU.AU $.P3 $.PT J.api.Interface J.thread.HoverWatcherThread JU.BSUtil $.Escape $.Logger $.Point3fi JV.binding.Binding $.JmolBinding".split(" "),function(){c$=r(function(){this.vwr=null;this.isMultiTouch=this.haveMultiTouchInput=!1;this.predragBinding=this.rasmolBinding=this.dragBinding=this.pfaatBinding=this.jmolBinding=this.b=null;this.LEFT_DRAGGED=this.LEFT_CLICKED=0;this.dragGesture=this.hoverWatcherThread=
null;this.apm=1;this.pickingStyleSelect=this.pickingStyle=this.bondPickingMode=0;this.pickingStyleMeasure=5;this.rootPickingStyle=0;this.pickAtomAssignType="C";this.pickBondAssignType="p";this.isPickAtomAssignCharge=!1;this.xyRange=0;this.mouseDragFactor=this.gestureSwipeFactor=1;this.mouseWheelFactor=1.15;this.dragged=this.pressed=this.clicked=this.moved=this.current=null;this.clickedCount=this.pressedCount=0;this.dragSelectedMode=this.labelMode=this.drawMode=!1;this.measuresEnabled=!0;this.hoverActive=
this.haveSelection=!1;this.mp=null;this.dragAtomIndex=-1;this.rubberbandSelectionMode=!1;this.rectRubber=null;this.isAltKeyReleased=!0;this.isMultiTouchServer=this.isMultiTouchClient=this.keyProcessing=!1;this.clickAction=this.dragAction=this.pressAction=0;this.measurementQueued=null;this.selectionWorking=!1;q(this,arguments)},JV,"ActionManager",null,javajs.api.EventManager);M(c$,function(){this.current=new JV.MouseState("current");this.moved=new JV.MouseState("moved");this.clicked=new JV.MouseState("clicked");
this.pressed=new JV.MouseState("pressed");this.dragged=new JV.MouseState("dragged");this.rectRubber=new JU.Rectangle});b(c$,"setViewer",function(a){this.vwr=a;a.isJS||this.createActions();this.setBinding(this.jmolBinding=new JV.binding.JmolBinding);this.LEFT_CLICKED=JV.binding.Binding.getMouseAction(1,16,2);this.LEFT_DRAGGED=JV.binding.Binding.getMouseAction(1,16,1);this.dragGesture=new JV.Gesture(20,a)},"JV.Viewer,~S");b(c$,"checkHover",function(){if(!this.vwr.getInMotion(!0)&&!this.vwr.tm.spinOn&&
!this.vwr.tm.navOn&&!this.vwr.checkObjectHovered(this.current.x,this.current.y)){var a=this.vwr.findNearestAtomIndex(this.current.x,this.current.y);if(!(0>a)){var c=2==this.apm&&this.bnd(JV.binding.Binding.getMouseAction(this.clickedCount,this.moved.modifiers,1),[10]);this.vwr.hoverOn(a,c)}}});b(c$,"processMultitouchEvent",function(){},"~N,~N,~N,~N,JU.P3,~N");b(c$,"bind",function(a,c){var b=JV.ActionManager.getActionFromName(c),e=JV.binding.Binding.getMouseActionStr(a);0!=e&&(0<=b?this.b.bindAction(e,
b):this.b.bindName(e,c))},"~S,~S");b(c$,"clearBindings",function(){this.setBinding(this.jmolBinding=new JV.binding.JmolBinding);this.rasmolBinding=this.dragBinding=this.pfaatBinding=null});b(c$,"unbindAction",function(a,c){if(null==a&&null==c)this.clearBindings();else{var b=JV.ActionManager.getActionFromName(c),e=JV.binding.Binding.getMouseActionStr(a);0<=b?this.b.unbindAction(e,b):0!=e&&this.b.unbindName(e,c);null==c&&this.b.unbindUserAction(a)}},"~S,~S");c$.newAction=b(c$,"newAction",function(a,
c,b){JV.ActionManager.actionInfo[a]=b;JV.ActionManager.actionNames[a]=c},"~N,~S,~S");b(c$,"createActions",function(){null==JV.ActionManager.actionInfo[0]&&(JV.ActionManager.newAction(0,"_assignNew",J.i18n.GT.o(J.i18n.GT._("assign/new atom or bond (requires {0})"),"set picking assignAtom_??/assignBond_?")),JV.ActionManager.newAction(1,"_center",J.i18n.GT._("center")),JV.ActionManager.newAction(2,"_clickFrank",J.i18n.GT._("pop up recent context menu (click on Jmol frank)")),JV.ActionManager.newAction(4,
"_deleteAtom",J.i18n.GT.o(J.i18n.GT._("delete atom (requires {0})"),"set picking DELETE ATOM")),JV.ActionManager.newAction(5,"_deleteBond",J.i18n.GT.o(J.i18n.GT._("delete bond (requires {0})"),"set picking DELETE BOND")),JV.ActionManager.newAction(6,"_depth",J.i18n.GT.o(J.i18n.GT._("adjust depth (back plane; requires {0})"),"SLAB ON")),JV.ActionManager.newAction(7,"_dragAtom",J.i18n.GT.o(J.i18n.GT._("move atom (requires {0})"),"set picking DRAGATOM")),JV.ActionManager.newAction(8,"_dragDrawObject",
J.i18n.GT.o(J.i18n.GT._("move whole DRAW object (requires {0})"),"set picking DRAW")),JV.ActionManager.newAction(9,"_dragDrawPoint",J.i18n.GT.o(J.i18n.GT._("move specific DRAW point (requires {0})"),"set picking DRAW")),JV.ActionManager.newAction(10,"_dragLabel",J.i18n.GT.o(J.i18n.GT._("move label (requires {0})"),"set picking LABEL")),JV.ActionManager.newAction(11,"_dragMinimize",J.i18n.GT.o(J.i18n.GT._("move atom and minimize molecule (requires {0})"),"set picking DRAGMINIMIZE")),JV.ActionManager.newAction(12,
"_dragMinimizeMolecule",J.i18n.GT.o(J.i18n.GT._("move and minimize molecule (requires {0})"),"set picking DRAGMINIMIZEMOLECULE")),JV.ActionManager.newAction(13,"_dragSelected",J.i18n.GT.o(J.i18n.GT._("move selected atoms (requires {0})"),"set DRAGSELECTED")),JV.ActionManager.newAction(14,"_dragZ",J.i18n.GT.o(J.i18n.GT._("drag atoms in Z direction (requires {0})"),"set DRAGSELECTED")),JV.ActionManager.newAction(15,"_multiTouchSimulation",J.i18n.GT._("simulate multi-touch using the mouse)")),JV.ActionManager.newAction(16,
"_navTranslate",J.i18n.GT.o(J.i18n.GT._("translate navigation point (requires {0} and {1})"),x(-1,["set NAVIGATIONMODE","set picking NAVIGATE"]))),JV.ActionManager.newAction(17,"_pickAtom",J.i18n.GT._("pick an atom")),JV.ActionManager.newAction(3,"_pickConnect",J.i18n.GT.o(J.i18n.GT._("connect atoms (requires {0})"),"set picking CONNECT")),JV.ActionManager.newAction(18,"_pickIsosurface",J.i18n.GT.o(J.i18n.GT._("pick an ISOSURFACE point (requires {0}"),"set DRAWPICKING")),JV.ActionManager.newAction(19,
"_pickLabel",J.i18n.GT.o(J.i18n.GT._("pick a label to toggle it hidden/displayed (requires {0})"),"set picking LABEL")),JV.ActionManager.newAction(20,"_pickMeasure",J.i18n.GT.o(J.i18n.GT._("pick an atom to include it in a measurement (after starting a measurement or after {0})"),"set picking DISTANCE/ANGLE/TORSION")),JV.ActionManager.newAction(21,"_pickNavigate",J.i18n.GT.o(J.i18n.GT._("pick a point or atom to navigate to (requires {0})"),"set NAVIGATIONMODE")),JV.ActionManager.newAction(22,"_pickPoint",
J.i18n.GT.o(J.i18n.GT._("pick a DRAW point (for measurements) (requires {0}"),"set DRAWPICKING")),JV.ActionManager.newAction(23,"_popupMenu",J.i18n.GT._("pop up the full context menu")),JV.ActionManager.newAction(24,"_reset",J.i18n.GT._("reset (when clicked off the model)")),JV.ActionManager.newAction(25,"_rotate",J.i18n.GT._("rotate")),JV.ActionManager.newAction(26,"_rotateBranch",J.i18n.GT.o(J.i18n.GT._("rotate branch around bond (requires {0})"),"set picking ROTATEBOND")),JV.ActionManager.newAction(27,
"_rotateSelected",J.i18n.GT.o(J.i18n.GT._("rotate selected atoms (requires {0})"),"set DRAGSELECTED")),JV.ActionManager.newAction(28,"_rotateZ",J.i18n.GT._("rotate Z")),JV.ActionManager.newAction(29,"_rotateZorZoom",J.i18n.GT._("rotate Z (horizontal motion of mouse) or zoom (vertical motion of mouse)")),JV.ActionManager.newAction(30,"_select",J.i18n.GT.o(J.i18n.GT._("select an atom (requires {0})"),"set pickingStyle EXTENDEDSELECT")),JV.ActionManager.newAction(31,"_selectAndDrag",J.i18n.GT.o(J.i18n.GT._("select and drag atoms (requires {0})"),
"set DRAGSELECTED")),JV.ActionManager.newAction(32,"_selectAndNot",J.i18n.GT.o(J.i18n.GT._("unselect this group of atoms (requires {0})"),"set pickingStyle DRAG/EXTENDEDSELECT")),JV.ActionManager.newAction(33,"_selectNone",J.i18n.GT.o(J.i18n.GT._("select NONE (requires {0})"),"set pickingStyle EXTENDEDSELECT")),JV.ActionManager.newAction(34,"_selectOr",J.i18n.GT.o(J.i18n.GT._("add this group of atoms to the set of selected atoms (requires {0})"),"set pickingStyle DRAG/EXTENDEDSELECT")),JV.ActionManager.newAction(35,
"_selectToggle",J.i18n.GT.o(J.i18n.GT._("toggle selection (requires {0})"),"set pickingStyle DRAG/EXTENDEDSELECT/RASMOL")),JV.ActionManager.newAction(36,"_selectToggleOr",J.i18n.GT.o(J.i18n.GT._("if all are selected, unselect all, otherwise add this group of atoms to the set of selected atoms (requires {0})"),"set pickingStyle DRAG")),JV.ActionManager.newAction(37,"_setMeasure",J.i18n.GT._("pick an atom to initiate or conclude a measurement")),JV.ActionManager.newAction(38,"_slab",J.i18n.GT.o(J.i18n.GT._("adjust slab (front plane; requires {0})"),
"SLAB ON")),JV.ActionManager.newAction(39,"_slabAndDepth",J.i18n.GT.o(J.i18n.GT._("move slab/depth window (both planes; requires {0})"),"SLAB ON")),JV.ActionManager.newAction(40,"_slideZoom",J.i18n.GT._("zoom (along right edge of window)")),JV.ActionManager.newAction(41,"_spinDrawObjectCCW",J.i18n.GT.o(J.i18n.GT._("click on two points to spin around axis counterclockwise (requires {0})"),"set picking SPIN")),JV.ActionManager.newAction(42,"_spinDrawObjectCW",J.i18n.GT.o(J.i18n.GT._("click on two points to spin around axis clockwise (requires {0})"),
"set picking SPIN")),JV.ActionManager.newAction(43,"_stopMotion",J.i18n.GT.o(J.i18n.GT._("stop motion (requires {0})"),"set waitForMoveTo FALSE")),JV.ActionManager.newAction(44,"_swipe",J.i18n.GT._("spin model (swipe and release button and stop motion simultaneously)")),JV.ActionManager.newAction(45,"_translate",J.i18n.GT._("translate")),JV.ActionManager.newAction(46,"_wheelZoom",J.i18n.GT._("zoom")))});c$.getActionName=b(c$,"getActionName",function(a){return a<JV.ActionManager.actionNames.length?
JV.ActionManager.actionNames[a]:null},"~N");c$.getActionFromName=b(c$,"getActionFromName",function(a){for(var c=0;c<JV.ActionManager.actionNames.length;c++)if(JV.ActionManager.actionNames[c].equalsIgnoreCase(a))return c;return-1},"~S");b(c$,"getBindingInfo",function(a){return this.b.getBindingInfo(JV.ActionManager.actionInfo,JV.ActionManager.actionNames,a)},"~S");b(c$,"setBinding",function(a){this.b=a},"JV.binding.Binding");b(c$,"bnd",function(a,c){for(var b=c.length;0<=--b;)if(this.b.isBound(a,c[b]))return!0;
return!1},"~N,~A");b(c$,"isDrawOrLabelAction",function(a){return this.drawMode&&this.bnd(a,[8,9])||this.labelMode&&this.bnd(a,[10])},"~N");c$.getPickingModeName=b(c$,"getPickingModeName",function(a){return 0>a||a>=JV.ActionManager.pickingModeNames.length?"off":JV.ActionManager.pickingModeNames[a]},"~N");c$.getPickingMode=b(c$,"getPickingMode",function(a){for(var c=JV.ActionManager.pickingModeNames.length;0<=--c;)if(a.equalsIgnoreCase(JV.ActionManager.pickingModeNames[c]))return c;return-1},"~S");
c$.getPickingStyleName=b(c$,"getPickingStyleName",function(a){return 0>a||a>=JV.ActionManager.pickingStyleNames.length?"toggle":JV.ActionManager.pickingStyleNames[a]},"~N");c$.getPickingStyleIndex=b(c$,"getPickingStyleIndex",function(a){for(var c=JV.ActionManager.pickingStyleNames.length;0<=--c;)if(a.equalsIgnoreCase(JV.ActionManager.pickingStyleNames[c]))return c;return-1},"~S");b(c$,"getAtomPickingMode",function(){return this.apm});b(c$,"setPickingMode",function(a){var c=!1;switch(a){case -1:c=
!0;this.bondPickingMode=35;a=1;break;case 35:case 34:case 33:this.vwr.setBooleanProperty("bondPicking",!0);this.bondPickingMode=a;return;case 8:this.bondPickingMode=a;if(this.vwr.getBondPicking())return;c=!0}c=(new Boolean(c|this.apm!=a)).valueOf();this.apm=a;c&&this.resetMeasurement()},"~N");b(c$,"setAtomPickingOption",function(a){switch(this.apm){case 32:this.pickAtomAssignType=a,this.isPickAtomAssignCharge=this.pickAtomAssignType.equals("Pl")||this.pickAtomAssignType.equals("Mi")}},"~S");b(c$,
"setBondPickingOption",function(a){switch(this.bondPickingMode){case 33:this.pickBondAssignType=Character.toLowerCase(a.charAt(0))}},"~S");b(c$,"getPickingState",function(){var a=";set modelkitMode "+this.vwr.getBoolean(603979883)+";set picking "+JV.ActionManager.getPickingModeName(this.apm);32==this.apm&&(a+="_"+this.pickAtomAssignType);a+=";";0!=this.bondPickingMode&&(a+="set picking "+JV.ActionManager.getPickingModeName(this.bondPickingMode));33==this.bondPickingMode&&(a+="_"+this.pickBondAssignType);
return a+";"});b(c$,"getPickingStyle",function(){return this.pickingStyle});b(c$,"setPickingStyle",function(a){this.pickingStyle=a;4<=a?(this.pickingStyleMeasure=a,this.resetMeasurement()):(3>a&&(this.rootPickingStyle=a),this.pickingStyleSelect=a);this.rubberbandSelectionMode=!1;switch(this.pickingStyleSelect){case 2:this.b.name.equals("extendedSelect")||this.setBinding(null==this.pfaatBinding?this.pfaatBinding=JV.binding.Binding.newBinding(this.vwr,"Pfaat"):this.pfaatBinding);break;case 3:this.b.name.equals("drag")||
this.setBinding(null==this.dragBinding?this.dragBinding=JV.binding.Binding.newBinding(this.vwr,"Drag"):this.dragBinding);this.rubberbandSelectionMode=!0;break;case 1:this.b.name.equals("selectOrToggle")||this.setBinding(null==this.rasmolBinding?this.rasmolBinding=JV.binding.Binding.newBinding(this.vwr,"Rasmol"):this.rasmolBinding);break;default:this.b!==this.jmolBinding&&this.setBinding(this.jmolBinding)}this.b.name.equals("drag")||(this.predragBinding=this.b)},"~N");b(c$,"setGestureSwipeFactor",
function(a){this.gestureSwipeFactor=a},"~N");b(c$,"setMouseDragFactor",function(a){this.mouseDragFactor=a},"~N");b(c$,"setMouseWheelFactor",function(a){this.mouseWheelFactor=a},"~N");b(c$,"setCurrent",function(a,c,b,e){this.vwr.hoverOff();this.current.set(a,c,b,e)},"~N,~N,~N,~N");b(c$,"getCurrentX",function(){return this.current.x});b(c$,"getCurrentY",function(){return this.current.y});b(c$,"setMouseMode",function(){this.drawMode=this.labelMode=!1;this.dragSelectedMode=this.vwr.getDragSelected();
this.measuresEnabled=!this.dragSelectedMode;if(!this.dragSelectedMode)switch(this.apm){default:return;case 32:this.measuresEnabled=!this.isPickAtomAssignCharge;return;case 4:this.drawMode=!0;this.measuresEnabled=!1;break;case 2:this.labelMode=!0;this.measuresEnabled=!1;break;case 9:this.measuresEnabled=!1;break;case 19:case 22:case 20:case 21:this.measuresEnabled=!1;return}this.exitMeasurementMode(null)});b(c$,"clearMouseInfo",function(){this.pressedCount=this.clickedCount=0;this.dragGesture.setAction(0,
0);this.exitMeasurementMode(null)});b(c$,"setDragAtomIndex",function(a){this.dragAtomIndex=a},"~N");b(c$,"isMTClient",function(){return this.isMultiTouchClient});b(c$,"isMTServer",function(){return this.isMultiTouchServer});b(c$,"dispose",function(){this.clear()});b(c$,"clear",function(){this.startHoverWatcher(!1);null!=this.predragBinding&&(this.b=this.predragBinding);this.vwr.setPickingMode(null,1);this.vwr.setPickingStyle(null,this.rootPickingStyle);this.isAltKeyReleased=!0});b(c$,"startHoverWatcher",
function(a){if(!this.vwr.isPreviewOnly)try{a?null==this.hoverWatcherThread&&(this.current.time=-1,this.hoverWatcherThread=new J.thread.HoverWatcherThread(this,this.current,this.moved,this.vwr)):null!=this.hoverWatcherThread&&(this.current.time=-1,this.hoverWatcherThread.interrupt(),this.hoverWatcherThread=null)}catch(c){if(!C(c,Exception))throw c;}},"~B");b(c$,"setModeMouse",function(a){-1==a&&this.startHoverWatcher(!1)},"~N");e(c$,"keyPressed",function(a,c){if(this.keyProcessing)return!1;this.vwr.hoverOff();
this.keyProcessing=!0;switch(a){case 18:this.dragSelectedMode&&this.isAltKeyReleased&&this.vwr.moveSelected(-2147483648,0,-2147483648,-2147483648,-2147483648,null,!1,!1);this.isAltKeyReleased=!1;this.moved.modifiers|=8;break;case 16:this.dragged.modifiers|=1;this.moved.modifiers|=1;break;case 17:this.moved.modifiers|=2;break;case 27:this.exitMeasurementMode("escape")}var b=8464|this.moved.modifiers;!this.labelMode&&!this.b.isUserAction(b)&&this.checkMotionRotateZoom(b,this.current.x,0,0,!1);if(this.vwr.getBoolean(603979889))switch(a){case 38:case 40:case 37:case 39:case 32:case 46:this.vwr.navigate(a,
c)}this.keyProcessing=!1;return!0},"~N,~N");e(c$,"keyReleased",function(a){switch(a){case 18:this.dragSelectedMode&&this.vwr.moveSelected(2147483647,0,-2147483648,-2147483648,-2147483648,null,!1,!1);this.isAltKeyReleased=!0;this.moved.modifiers&=-9;break;case 16:this.moved.modifiers&=-2;break;case 17:this.moved.modifiers&=-3}0==this.moved.modifiers&&this.vwr.setCursor(0);if(this.vwr.getBoolean(603979889))switch(a){case 38:case 40:case 37:case 39:this.vwr.navigate(0,0)}},"~N");e(c$,"mouseEnterExit",
function(a,c,b,e){this.vwr.tm.stereoDoubleDTI&&(c<<=1);this.setCurrent(a,c,b,0);e&&this.exitMeasurementMode("mouseExit")},"~N,~N,~N,~B");b(c$,"setMouseActions",function(a,c,b){this.pressAction=JV.binding.Binding.getMouseAction(a,c,b?5:4);this.dragAction=JV.binding.Binding.getMouseAction(a,c,1);this.clickAction=JV.binding.Binding.getMouseAction(a,c,2)},"~N,~N,~B");e(c$,"mouseAction",function(a,c,b,e,f,g){if(this.vwr.getMouseEnabled())switch(JU.Logger.debuggingHigh&&0!=a&&this.vwr.showString("mouse action: "+
a+" "+g+" "+JV.binding.Binding.getMouseActionName(JV.binding.Binding.getMouseAction(f,g,a),!1),!1),this.vwr.tm.stereoDoubleDTI&&(b<<=1),a){case 0:this.setCurrent(c,b,e,g);this.moved.setCurrent(this.current,0);if(null!=this.mp||this.hoverActive){this.clickAction=JV.binding.Binding.getMouseAction(this.clickedCount,g,0);this.checkClickAction(b,e,c,0);break}if(this.isZoomArea(b)){this.checkMotionRotateZoom(this.LEFT_DRAGGED,0,0,0,!1);break}8==this.vwr.currentCursor&&this.vwr.setCursor(0);break;case 4:this.setMouseMode();
this.pressedCount=this.pressed.check(20,b,e,g,c,700)?this.pressedCount+1:1;1==this.pressedCount&&(this.vwr.checkInMotion(1),this.setCurrent(c,b,e,g));this.pressAction=JV.binding.Binding.getMouseAction(this.pressedCount,g,4);this.vwr.setCursor(12);this.pressed.setCurrent(this.current,1);this.dragged.setCurrent(this.current,1);this.vwr.setFocus();this.dragGesture.setAction(this.dragAction,c);this.checkPressedAction(b,e,c);break;case 1:this.setMouseMode();this.setMouseActions(this.pressedCount,g,!1);
a=b-this.dragged.x;f=e-this.dragged.y;this.setCurrent(c,b,e,g);this.dragged.setCurrent(this.current,-1);this.dragGesture.add(this.dragAction,b,e,c);this.checkDragWheelAction(this.dragAction,b,e,a,f,c,1);break;case 5:this.setMouseActions(this.pressedCount,g,!0);this.setCurrent(c,b,e,g);this.vwr.spinXYBy(0,0,0);g=!this.pressed.check(this.xyRange,b,e,g,c,9223372036854775E3);this.checkReleaseAction(b,e,c,g);break;case 3:if(this.vwr.isApplet&&!this.vwr.hasFocus())break;this.setCurrent(c,this.current.x,
this.current.y,g);this.checkDragWheelAction(JV.binding.Binding.getMouseAction(0,g,3),this.current.x,this.current.y,0,e,c,3);break;case 2:this.setMouseMode();this.clickedCount=1<f?f:this.clicked.check(0,0,0,g,c,700)?this.clickedCount+1:1;1==this.clickedCount&&this.setCurrent(c,b,e,g);this.setMouseActions(this.clickedCount,g,!1);this.clicked.setCurrent(this.current,this.clickedCount);this.vwr.setFocus();if(9!=this.apm&&this.bnd(JV.binding.Binding.getMouseAction(1,g,4),[31]))break;this.clickAction=JV.binding.Binding.getMouseAction(this.clickedCount,
g,2);this.checkClickAction(b,e,c,this.clickedCount)}},"~N,~N,~N,~N,~N,~N");b(c$,"checkPressedAction",function(a,c,b){var e=JV.binding.Binding.getButtonMods(this.pressAction),f=this.bnd(JV.binding.Binding.getMouseAction(1,e,4),[31]);if(0!=e){this.pressAction=this.vwr.notifyMouseClicked(a,c,this.pressAction,4);if(0==this.pressAction)return;e=JV.binding.Binding.getButtonMods(this.pressAction)}this.setMouseActions(this.pressedCount,e,!1);JU.Logger.debugging&&JU.Logger.debug(JV.binding.Binding.getMouseActionName(this.pressAction,
!1));if(this.isDrawOrLabelAction(this.dragAction))this.vwr.checkObjectDragged(-2147483648,0,a,c,this.dragAction);else{this.checkUserAction(this.pressAction,a,c,0,0,b,4);b=!1;switch(this.apm){case 32:b=this.bnd(this.clickAction,[0]);break;case 28:b=this.bnd(this.dragAction,[7,14]);break;case 26:case 36:case 27:b=this.bnd(this.dragAction,[7,14,27]);break;case 29:b=this.bnd(this.dragAction,[11,14]);break;case 30:b=this.bnd(this.dragAction,[11,14,27])}if(b){if(this.dragAtomIndex=this.vwr.findNearestAtomIndexMovable(a,
c,!0),0<=this.dragAtomIndex&&(32==this.apm||31==this.apm)&&this.vwr.ms.isAtomAssignable(this.dragAtomIndex))this.enterMeasurementMode(this.dragAtomIndex),this.mp.addPoint(this.dragAtomIndex,null,!1)}else this.bnd(this.pressAction,[23])?(f="j",this.vwr.getBoolean(603979883)&&(f=this.vwr.checkObjectClicked(a,c,this.LEFT_CLICKED),f=null!=f&&"bond".equals(f.get("type"))?"b":0<=this.vwr.findNearestAtomIndex(a,c)?"a":"m"),this.vwr.popupMenu(a,c,f)):this.dragSelectedMode?(this.haveSelection=!f||0<=this.vwr.findNearestAtomIndexMovable(a,
c,!0))&&this.bnd(this.dragAction,[13,14])&&this.vwr.moveSelected(-2147483648,0,-2147483648,-2147483648,-2147483648,null,!1,!1):this.checkMotionRotateZoom(this.dragAction,a,0,0,!0)}},"~N,~N,~N");b(c$,"checkDragWheelAction",function(a,c,b,e,f,g,h){var k=JV.binding.Binding.getButtonMods(a);if(0!=k){k=this.vwr.notifyMouseClicked(c,b,JV.binding.Binding.getMouseAction(this.pressedCount,k,h),h);if(0==k)return;0<k&&(a=k)}if(this.isRubberBandSelect(a))this.calcRectRubberBand(),this.vwr.refresh(3,"rubberBand selection");
else if(!this.checkUserAction(a,c,b,e,f,g,h)){if(0<=this.vwr.getRotateBondIndex()){if(this.bnd(a,[26])){this.vwr.moveSelected(e,f,-2147483648,c,b,null,!1,!1);return}this.bnd(a,[25])||this.vwr.setRotateBondIndex(-1)}g=null;if(0<=this.dragAtomIndex&&2!=this.apm)switch(this.apm){case 26:this.dragSelected(a,e,f,!0);return;case 36:case 27:case 30:g=this.vwr.ms.getAtoms(1094713360,JU.BSUtil.newAndSetBit(this.dragAtomIndex)),36==this.apm&&g.and(this.vwr.getAtomBitSet("ligand"));case 28:case 29:1==this.dragGesture.getPointCount()&&
this.vwr.undoMoveActionClear(this.dragAtomIndex,2,!0);this.setMotion(13,!0);if(this.bnd(a,[27]))this.vwr.rotateSelected(this.getDegrees(e,!0),this.getDegrees(f,!1),g);else{switch(this.apm){case 36:case 27:case 30:this.vwr.select(g,!1,0,!0)}this.vwr.moveAtomWithHydrogens(this.dragAtomIndex,e,f,this.bnd(a,[14])?-f:-2147483648,g)}return}if(0<=this.dragAtomIndex&&1==h&&this.bnd(this.clickAction,[0])&&32==this.apm)a=this.vwr.findNearestAtomIndexMovable(c,b,!1),0<=a?(null!=this.mp?this.mp.setCount(1):this.measuresEnabled&&
this.enterMeasurementMode(a),this.addToMeasurement(a,null,!0),this.mp.colix=20):null!=this.mp&&(this.mp.setCount(1),this.mp.colix=23),null!=this.mp&&(this.mp.traceX=c,this.mp.traceY=b,this.vwr.refresh(3,"assignNew"));else if(!this.drawMode&&!this.labelMode&&this.bnd(a,[45]))this.vwr.translateXYBy(e,f);else if(this.dragSelectedMode&&this.haveSelection&&this.bnd(a,[13,27]))c=this.vwr.bsA().nextSetBit(0),0>c||(1==this.dragGesture.getPointCount()?this.vwr.undoMoveActionClear(c,2,!0):this.vwr.moveSelected(2147483647,
0,-2147483648,-2147483648,-2147483648,null,!1,!1),this.dragSelected(a,e,f,!1));else if(this.isDrawOrLabelAction(a))this.setMotion(13,!0),this.vwr.checkObjectDragged(this.dragged.x,this.dragged.y,c,b,a);else if(this.checkMotionRotateZoom(a,c,e,f,!0))this.vwr.tm.slabEnabled&&this.bnd(a,[39])?this.vwr.slabDepthByPixels(f):this.vwr.zoomBy(f);else if(this.bnd(a,[25]))this.vwr.rotateXYBy(this.getDegrees(e,!0),this.getDegrees(f,!1));else if(this.bnd(a,[29]))0==e&&1<Math.abs(f)?(this.setMotion(8,!0),this.vwr.zoomBy(f+
(0<f?-1:1))):0==f&&1<Math.abs(e)&&(this.setMotion(13,!0),this.vwr.rotateZBy(-e+(0<e?1:-1),2147483647,2147483647));else{if(this.vwr.tm.slabEnabled){if(this.bnd(a,[6])){this.vwr.depthByPixels(f);return}if(this.bnd(a,[38])){this.vwr.slabByPixels(f);return}if(this.bnd(a,[39])){this.vwr.slabDepthByPixels(f);return}}this.bnd(a,[46])?this.zoomByFactor(f,2147483647,2147483647):this.bnd(a,[28])&&(this.setMotion(13,!0),this.vwr.rotateZBy(-e,2147483647,2147483647))}}},"~N,~N,~N,~N,~N,~N,~N");b(c$,"dragSelected",
function(a,c,b,e){this.setMotion(13,!0);this.bnd(a,[27])&&this.vwr.getBoolean(603979785)?this.vwr.rotateSelected(this.getDegrees(c,!0),this.getDegrees(b,!1),null):this.vwr.moveSelected(c,b,e&&this.bnd(a,[14])?-b:-2147483648,-2147483648,-2147483648,null,!0,!1)},"~N,~N,~N,~B");b(c$,"checkReleaseAction",function(a,c,b,e){JU.Logger.debugging&&JU.Logger.debug(JV.binding.Binding.getMouseActionName(this.pressAction,!1));this.vwr.checkInMotion(0);this.vwr.setInMotion(!1);this.vwr.setCursor(0);this.dragGesture.add(this.dragAction,
a,c,b);e&&this.vwr.setRotateBondIndex(-2147483648);0<=this.dragAtomIndex&&(29==this.apm||30==this.apm)&&this.minimize(!0);if(32==this.apm&&this.bnd(this.clickAction,[0]))null==this.mp||0>this.dragAtomIndex||this.assignNew(a,c);else if(this.dragAtomIndex=-1,this.isRubberBandSelect(this.dragAction)&&this.selectRb(this.clickAction),this.rubberbandSelectionMode=this.b.name.equals("drag"),this.rectRubber.x=2147483647,e&&this.vwr.notifyMouseClicked(a,c,JV.binding.Binding.getMouseAction(this.pressedCount,
0,5),5),this.isDrawOrLabelAction(this.dragAction))this.vwr.checkObjectDragged(2147483647,0,a,c,this.dragAction);else if(this.haveSelection&&(this.dragSelectedMode&&this.bnd(this.dragAction,[13]))&&this.vwr.moveSelected(2147483647,0,-2147483648,-2147483648,-2147483648,null,!1,!1),(!e||!this.checkUserAction(this.pressAction,a,c,0,0,b,5))&&this.vwr.getBoolean(603979780)&&this.bnd(this.dragAction,[44]))a=this.getExitRate(),0<a&&this.vwr.spinXYBy(this.dragGesture.getDX(4,2),this.dragGesture.getDY(4,2),
30*a*this.gestureSwipeFactor),this.vwr.g.logGestures&&this.vwr.log("$NOW$ swipe "+this.dragGesture+" "+a)},"~N,~N,~N,~B");b(c$,"checkClickAction",function(a,c,b,e){if(0<e){if(this.checkUserAction(this.clickAction,a,c,0,0,b,32768))return;this.clickAction=this.vwr.notifyMouseClicked(a,c,this.clickAction,32768);if(0==this.clickAction)return}JU.Logger.debugging&&JU.Logger.debug(JV.binding.Binding.getMouseActionName(this.clickAction,!1));if(this.bnd(this.clickAction,[2])){if(this.vwr.frankClicked(a,c)){this.vwr.popupMenu(-a,
c,"j");return}if(this.vwr.frankClickedModelKit(a,c)){this.vwr.popupMenu(0,0,"m");return}}b=null;var f=!1,g=!1,h=null;this.drawMode||(h=this.vwr.checkObjectClicked(a,c,this.clickAction),null!=h&&(f="bond".equals(h.get("type")),g="isosurface".equals(h.get("type")),b=this.getPoint(h)));f&&(e=1);if(!(null!=b&&Float.isNaN(b.x))){var k=this.findNearestAtom(a,c,b,0<e);if(0==e&&32!=this.apm)null!=this.mp&&((null!=b||0==this.mp.getIndexOf(k))&&this.mp.addPoint(k,b,!1),this.mp.haveModified&&this.vwr.setPendingMeasurement(this.mp),
this.vwr.refresh(3,"measurementPending"));else if(this.setMouseMode(),this.bnd(this.clickAction,[43])&&this.vwr.tm.stopMotion(),this.vwr.getBoolean(603979889)&&23==this.apm&&this.bnd(this.clickAction,[21]))this.vwr.navTranslatePercent(100*a/this.vwr.getScreenWidth()-50,100*c/this.vwr.getScreenHeight()-50);else{if(f){if(this.bnd(this.clickAction,[34==this.bondPickingMode||33==this.bondPickingMode?0:5])){this.bondPicked(h.get("index").intValue());return}}else{if(g)return;if(32!=this.apm&&null!=this.mp&&
this.bnd(this.clickAction,[20])){this.atomOrPointPicked(k,b);4==this.addToMeasurement(k,b,!1)&&this.toggleMeasurement();return}if(this.bnd(this.clickAction,[37])){null!=this.mp?(this.addToMeasurement(k,b,!0),this.toggleMeasurement()):!this.drawMode&&(!this.labelMode&&!this.dragSelectedMode&&this.measuresEnabled)&&(this.enterMeasurementMode(k),this.addToMeasurement(k,b,!0));this.atomOrPointPicked(k,b);return}}this.isSelectAction(this.clickAction)?g||this.atomOrPointPicked(k,b):this.bnd(this.clickAction,
[24])&&0>k&&this.reset()}}},"~N,~N,~N,~N");b(c$,"checkUserAction",function(a,c,b,e,f,g,h){if(!this.b.isUserAction(a))return!1;for(var k=!1,m,l=this.b.getBindings(),p=a+"\t",q,r=l.keySet().iterator();r.hasNext()&&((q=r.next())||1);)if(0==q.indexOf(p)&&JU.AU.isAS(m=l.get(q))){var t=m[1],u=null;if(0<=t.indexOf("_ATOM")){var v=this.findNearestAtom(c,b,null,!0),t=JU.PT.rep(t,"_ATOM","({"+(0<=v?""+v:"")+"})");0<=v&&(t=JU.PT.rep(t,"_POINT",JU.Escape.eP(this.vwr.ms.at[v])))}if(!this.drawMode&&(0<=t.indexOf("_POINT")||
0<=t.indexOf("_OBJECT")||0<=t.indexOf("_BOND"))){v=this.vwr.checkObjectClicked(c,b,a);if(null!=v&&null!=(u=v.get("pt")))v.get("type").equals("bond")&&(t=JU.PT.rep(t,"_BOND","[{"+v.get("index")+"}]")),t=JU.PT.rep(t,"_POINT",JU.Escape.eP(u)),t=JU.PT.rep(t,"_OBJECT",JU.Escape.escapeMap(v));t=JU.PT.rep(t,"_BOND","[{}]");t=JU.PT.rep(t,"_OBJECT","{}")}t=JU.PT.rep(t,"_POINT","{}");t=JU.PT.rep(t,"_ACTION",""+a);t=JU.PT.rep(t,"_X",""+c);t=JU.PT.rep(t,"_Y",""+(this.vwr.getScreenHeight()-b));t=JU.PT.rep(t,"_DELTAX",
""+e);t=JU.PT.rep(t,"_DELTAY",""+f);t=JU.PT.rep(t,"_TIME",""+g);t=JU.PT.rep(t,"_MODE",""+h);t.startsWith("+:")&&(k=!0,t=t.substring(2));this.vwr.evalStringQuiet(t)}return!k},"~N,~N,~N,~N,~N,~N,~N");b(c$,"checkMotionRotateZoom",function(a,c,b,e,f){c=this.bnd(a,[40])&&this.isZoomArea(this.pressed.x);var g=this.bnd(a,[25]),h=this.bnd(a,[29]);if(!c&&!g&&!h)return!1;a=(b=h&&(0==b||Math.abs(e)>5*Math.abs(b)))||this.isZoomArea(this.moved.x)||this.bnd(a,[46])?8:g||h?13:this.bnd(a,[1])?12:0;this.setMotion(a,
f);return b||c},"~N,~N,~N,~N,~B");b(c$,"getExitRate",function(){var a=this.dragGesture.getTimeDifference(2);return this.isMultiTouch?80<a?0:this.dragGesture.getSpeedPixelsPerMillisecond(2,1):10<a?0:this.dragGesture.getSpeedPixelsPerMillisecond(4,2)});b(c$,"isRubberBandSelect",function(a){return this.rubberbandSelectionMode&&this.bnd(a&-8193|32768,[35,34,32])},"~N");b(c$,"getRubberBand",function(){return this.rubberbandSelectionMode&&2147483647!=this.rectRubber.x?this.rectRubber:null});b(c$,"calcRectRubberBand",
function(){var a=this.vwr.antialiased?2:1;this.current.x<this.pressed.x?(this.rectRubber.x=this.current.x*a,this.rectRubber.width=(this.pressed.x-this.current.x)*a):(this.rectRubber.x=this.pressed.x*a,this.rectRubber.width=(this.current.x-this.pressed.x)*a);this.current.y<this.pressed.y?(this.rectRubber.y=this.current.y*a,this.rectRubber.height=(this.pressed.y-this.current.y)*a):(this.rectRubber.y=this.pressed.y*a,this.rectRubber.height=(this.current.y-this.pressed.y)*a)});b(c$,"getDegrees",function(a,
c){return 180*(a/Math.min(500,c?this.vwr.getScreenWidth():this.vwr.getScreenHeight()))*this.mouseDragFactor},"~N,~B");b(c$,"isZoomArea",function(a){return a>98*this.vwr.getScreenWidth()*(this.vwr.tm.stereoDoubleFull||this.vwr.tm.stereoDoubleDTI?2:1)/100},"~N");b(c$,"getPoint",function(a){var c=new JU.Point3fi;c.setT(a.get("pt"));c.mi=a.get("modelIndex").intValue();return c},"java.util.Map");b(c$,"findNearestAtom",function(a,c,b,e){a=this.drawMode||null!=b?-1:this.vwr.findNearestAtomIndexMovable(a,
c,!1);return 0<=a&&(e||null==this.mp)&&!this.vwr.slm.isInSelectionSubset(a)?-1:a},"~N,~N,JU.Point3fi,~B");b(c$,"isSelectAction",function(a){return this.bnd(a,[17])||!this.drawMode&&!this.labelMode&&1==this.apm&&this.bnd(a,[1])||this.dragSelectedMode&&this.bnd(this.dragAction,[27,13])||this.bnd(a,[22,35,32,34,36,30])},"~N");b(c$,"enterMeasurementMode",function(a){this.vwr.setPicked(-1);this.vwr.setPicked(a);this.vwr.setCursor(1);this.vwr.setPendingMeasurement(this.mp=this.getMP());this.measurementQueued=
this.mp},"~N");b(c$,"getMP",function(){return J.api.Interface.getInterface("JM.MeasurementPending",this.vwr,"mouse").set(this.vwr.ms)});b(c$,"addToMeasurement",function(a,c,b){if(-1==a&&null==c||null==this.mp)return this.exitMeasurementMode(null),0;var e=this.mp.count;-2147483648!=this.mp.traceX&&2==e&&this.mp.setCount(e=1);return 4==e&&!b?e:this.mp.addPoint(a,c,!0)},"~N,JU.Point3fi,~B");b(c$,"resetMeasurement",function(){this.exitMeasurementMode(null);this.measurementQueued=this.getMP()});b(c$,"exitMeasurementMode",
function(a){null!=this.mp&&(this.vwr.setPendingMeasurement(this.mp=null),this.vwr.setCursor(0),null!=a&&this.vwr.refresh(3,a))},"~S");b(c$,"getSequence",function(){var a=this.measurementQueued.getAtomIndex(1),c=this.measurementQueued.getAtomIndex(2);if(!(0>a||0>c))try{var b=this.vwr.getSmilesOpt(null,a,c,65536);this.vwr.setStatusMeasuring("measureSequence",-2,b,0)}catch(e){if(C(e,Exception))JU.Logger.error(e.toString());else throw e;}});b(c$,"minimize",function(a){var c=this.dragAtomIndex;a&&(this.dragAtomIndex=
-1);this.vwr.dragMinimizeAtom(c)},"~B");b(c$,"queueAtom",function(a,c){var b=this.measurementQueued.addPoint(a,c,!0);0<=a&&this.vwr.setStatusAtomPicked(a,"Atom #"+b+":"+this.vwr.getAtomInfo(a),null);return b},"~N,JU.Point3fi");b(c$,"setMotion",function(a,c){switch(this.vwr.currentCursor){case 3:break;default:this.vwr.setCursor(a)}c&&this.vwr.setInMotion(!0)},"~N,~B");b(c$,"zoomByFactor",function(a,c,b){0!=a&&(this.setMotion(8,!0),this.vwr.zoomByFactor(Math.pow(this.mouseWheelFactor,a),c,b),this.vwr.setInMotion(!1))},
"~N,~N,~N");b(c$,"runScript",function(a){this.vwr.script(a)},"~S");b(c$,"atomOrPointPicked",function(a,c){if(0>a){this.resetMeasurement();if(this.bnd(this.clickAction,[33])){this.runScript("select none");return}if(5!=this.apm&&6!=this.apm)return}var b=2;switch(this.apm){case 28:case 29:return;case 0:return;case 25:case 24:case 8:var e=8==this.apm,b=25==this.apm;if(!this.bnd(this.clickAction,[e?5:3]))return;if(null==this.measurementQueued||0==this.measurementQueued.count||2<this.measurementQueued.count)this.resetMeasurement(),
this.enterMeasurementMode(a);this.addToMeasurement(a,c,!0);if(2!=this.queueAtom(a,c))return;e=e||this.measurementQueued.isConnected(this.vwr.ms.at,2)?" DELETE":b?"STRUTS":"";this.runScript("connect "+this.measurementQueued.getMeasurementScript(" ",!0)+e);this.resetMeasurement();return;case 21:b++;case 20:b++;case 18:case 19:case 22:if(!this.bnd(this.clickAction,[20]))return;if(null==this.measurementQueued||0==this.measurementQueued.count||this.measurementQueued.count>b)this.resetMeasurement(),this.enterMeasurementMode(a);
this.addToMeasurement(a,c,!0);this.queueAtom(a,c);e=this.measurementQueued.count;1==e&&(this.vwr.setPicked(-1),this.vwr.setPicked(a));if(e<b)return;22==this.apm?this.getSequence():(this.vwr.setStatusMeasuring("measurePicked",b,this.measurementQueued.getStringDetail(),this.measurementQueued.value),(18==this.apm||4==this.pickingStyleMeasure)&&this.runScript("measure "+this.measurementQueued.getMeasurementScript(" ",!0)));this.resetMeasurement();return}e=null!=this.mp&&1!=this.apm?1:this.apm;switch(e){case 3:if(!this.bnd(this.clickAction,
[17]))return;null==c?this.zoomTo(a):this.runScript("zoomTo "+JU.Escape.eP(c));return;case 5:case 6:this.bnd(this.clickAction,[17])&&this.checkTwoAtomAction(c,a)}if(null==c){switch(e){case 1:!this.drawMode&&!this.labelMode&&this.bnd(this.clickAction,[1])?this.zoomTo(a):this.bnd(this.clickAction,[17])&&this.vwr.setStatusAtomPicked(a,null,null);return;case 2:this.bnd(this.clickAction,[19])&&(this.runScript("set labeltoggle {atomindex="+a+"}"),this.vwr.setStatusAtomPicked(a,null,null));return;case 31:if(this.bnd(this.clickAction,
[0])){var b=this.vwr.getAtomBitSet("connected(atomIndex="+a+") and !within(SMARTS,'[r50,R]')"),f=b.cardinality();switch(f){case 0:case 1:return;case 3:case 4:for(var g=y(f,0),h=y(f,0),k=0,e=b.nextSetBit(0);0<=e;e=b.nextSetBit(e+1),k++)g[k]=this.vwr.getBranchBitSet(e,a,!0).cardinality(),h[k]=e;for(k=0;k<f-2;k++){for(var m=-2147483648,l=0,e=0;e<f;e++)g[e]>=m&&b.get(h[e])&&(l=h[e],m=g[e]);b.clear(l)}}this.vwr.undoMoveActionClear(a,2,!0);this.vwr.invertSelected(null,null,a,b);this.vwr.setStatusAtomPicked(a,
"inverted: "+JU.Escape.eBS(b),null)}return;case 7:this.bnd(this.clickAction,[4])&&(b=JU.BSUtil.newAndSetBit(a),this.vwr.deleteAtoms(b,!1),this.vwr.setStatusAtomPicked(a,"deleted: "+JU.Escape.eBS(b),null));return}e="atomindex="+a;switch(this.apm){default:return;case 9:this.selectAtoms(e);break;case 10:this.selectAtoms("within(group, "+e+")");break;case 11:this.selectAtoms("within(chain, "+e+")");break;case 13:this.selectAtoms("within(polymer, "+e+")");break;case 14:this.selectAtoms("within(structure, "+
e+")");break;case 12:this.selectAtoms("within(molecule, "+e+")");break;case 16:this.selectAtoms("within(model, "+e+")");break;case 17:this.selectAtoms("visible and within(element, "+e+")");break;case 15:this.selectAtoms("visible and within(site, "+e+")")}this.vwr.clearClickCount();this.vwr.setStatusAtomPicked(a,null,null)}},"~N,JU.Point3fi");b(c$,"assignNew",function(a,c){if(2==this.mp.count)this.vwr.undoMoveActionClear(-1,4146,!0),this.runScript("assign connect "+this.mp.getMeasurementScript(" ",
!1));else if(this.pickAtomAssignType.equals("Xx"))this.exitMeasurementMode("bond dropped");else if(this.pressed.inRange(this.xyRange,this.dragged.x,this.dragged.y)){var b="assign atom ({"+this.dragAtomIndex+'}) "'+this.pickAtomAssignType+'"';this.isPickAtomAssignCharge?(b+=";{atomindex="+this.dragAtomIndex+"}.label='%C'; ",this.vwr.undoMoveActionClear(this.dragAtomIndex,4,!0)):this.vwr.undoMoveActionClear(-1,4146,!0);this.runScript(b)}else this.isPickAtomAssignCharge||(this.vwr.undoMoveActionClear(-1,
4146,!0),b=this.vwr.ms.at[this.dragAtomIndex],1==b.getElementNumber()?this.runScript("assign atom ({"+this.dragAtomIndex+'}) "X"'):(b=JU.P3.new3(a,c,b.sZ),this.vwr.tm.unTransformPoint(b,b),this.runScript("assign atom ({"+this.dragAtomIndex+'}) "'+this.pickAtomAssignType+'" '+JU.Escape.eP(b))));this.exitMeasurementMode(null)},"~N,~N");b(c$,"bondPicked",function(a){33==this.bondPickingMode&&this.vwr.undoMoveActionClear(-1,4146,!0);switch(this.bondPickingMode){case 33:this.runScript("assign bond [{"+
a+'}] "'+this.pickBondAssignType+'"');break;case 34:this.vwr.setRotateBondIndex(a);break;case 8:this.vwr.deleteBonds(JU.BSUtil.newAndSetBit(a))}},"~N");b(c$,"checkTwoAtomAction",function(a,c){var b=5==this.apm;if(this.vwr.tm.spinOn||this.vwr.tm.navOn||null!=this.vwr.getPendingMeasurement())this.resetMeasurement(),this.vwr.tm.spinOn&&this.runScript("spin off");else{2<=this.measurementQueued.count&&this.resetMeasurement();var e=this.measurementQueued.count;if(1==e)if(null==a){if(this.measurementQueued.getAtomIndex(1)==
c)return}else if(0==this.measurementQueued.getAtom(1).distance(a))return;if(0<=c||null!=a)e=this.queueAtom(c,a);2>e?b?this.vwr.scriptStatus(1==e?J.i18n.GT._("pick one more atom in order to spin the model around an axis"):J.i18n.GT._("pick two atoms in order to spin the model around an axis")):this.vwr.scriptStatus(1==e?J.i18n.GT._("pick one more atom in order to display the symmetry relationship"):J.i18n.GT._("pick two atoms in order to display the symmetry relationship between them")):(e=this.measurementQueued.getMeasurementScript(" ",
!1),b?this.runScript("spin"+e+" "+this.vwr.getInt(553648157)):this.runScript("draw symop "+e+";show symop "+e))}},"JU.Point3fi,~N");b(c$,"reset",function(){this.runScript("!reset")});b(c$,"selectAtoms",function(a){if(!(null!=this.mp||this.selectionWorking)){this.selectionWorking=!0;var c=this.rubberbandSelectionMode||this.bnd(this.clickAction,[35])?"selected and not ("+a+") or (not selected) and ":this.bnd(this.clickAction,[32])?"selected and not ":this.bnd(this.clickAction,[34])?"selected or ":0==
this.clickAction||this.bnd(this.clickAction,[36])?"selected tog ":this.bnd(this.clickAction,[30])?"":null;if(null!=c)try{var b=this.vwr.getAtomBitSetEval(null,c+("("+a+")"));this.vwr.select(b,!1,0,!1);this.vwr.refresh(3,"selections set")}catch(e){if(!C(e,Exception))throw e;}this.selectionWorking=!1}},"~S");b(c$,"selectRb",function(a){var c=this.vwr.ms.findAtomsInRectangle(this.rectRubber);0<c.length()&&(c=JU.Escape.eBS(c),this.bnd(a,[34])?this.runScript("selectionHalos on;select selected or "+c):
this.bnd(a,[32])?this.runScript("selectionHalos on;select selected and not "+c):this.runScript("selectionHalos on;select selected tog "+c));this.vwr.refresh(3,"mouseReleased")},"~N");b(c$,"toggleMeasurement",function(){if(null!=this.mp){var a=this.mp.count;2<=a&&4>=a&&this.runScript("!measure "+this.mp.getMeasurementScript(" ",!0));this.exitMeasurementMode(null)}});b(c$,"zoomTo",function(a){this.runScript("zoomTo (atomindex="+a+")");this.vwr.setStatusAtomPicked(a,null,null)},"~N");e(c$,"keyTyped",
function(){return!1},"~N,~N");D(c$);c$.actionInfo=c$.prototype.actionInfo=Array(47);c$.actionNames=c$.prototype.actionNames=Array(47);D(c$);JV.ActionManager.pickingModeNames="off identify label center draw spin symmetry deleteatom deletebond atom group chain molecule polymer structure site model element measure distance angle torsion sequence navigate connect struts dragselected dragmolecule dragatom dragminimize dragminimizemolecule invertstereo assignatom assignbond rotatebond identifybond dragligand".$plit(" ");
D(c$,"pickingStyleNames",null);JV.ActionManager.pickingStyleNames="toggle selectOrToggle extendedSelect drag measure measureoff".$plit(" ");D(c$,"MAX_DOUBLE_CLICK_MILLIS",700,"MININUM_GESTURE_DELAY_MILLISECONDS",10,"SLIDE_ZOOM_X_PERCENT",98,"DEFAULT_MOUSE_DRAG_FACTOR",1,"DEFAULT_MOUSE_WHEEL_FACTOR",1.15,"DEFAULT_GESTURE_SWIPE_FACTOR",1);c$=r(function(){this.time=this.y=this.x=this.index=0;q(this,arguments)},JV,"MotionPoint");b(c$,"set",function(a,c,b,e){this.index=a;this.x=c;this.y=b;this.time=e},
"~N,~N,~N,~N");e(c$,"toString",function(){return"[x = "+this.x+" y = "+this.y+" time = "+this.time+" ]"});c$=r(function(){this.action=0;this.nodes=null;this.time0=this.ptNext=0;this.vwr=null;q(this,arguments)},JV,"Gesture");t(c$,function(a,c){this.vwr=c;this.nodes=Array(a);for(var b=0;b<a;b++)this.nodes[b]=new JV.MotionPoint},"~N,JV.Viewer");b(c$,"setAction",function(a,c){this.action=a;this.ptNext=0;this.time0=c;for(var b=0;b<this.nodes.length;b++)this.nodes[b].index=-1},"~N,~N");b(c$,"add",function(a,
c,b,e){this.action=a;this.getNode(this.ptNext).set(this.ptNext,c,b,e-this.time0);this.ptNext++;return this.ptNext},"~N,~N,~N,~N");b(c$,"getTimeDifference",function(a){a=this.getPointCount2(a,0);if(2>a)return 0;var c=this.getNode(this.ptNext-1);a=this.getNode(this.ptNext-a);return c.time-a.time},"~N");b(c$,"getSpeedPixelsPerMillisecond",function(a,c){a=this.getPointCount2(a,c);if(2>a)return 0;var b=this.getNode(this.ptNext-1-c),e=this.getNode(this.ptNext-a-c),f=360*((b.x-e.x)/this.vwr.getScreenWidth()),
g=360*((b.y-e.y)/this.vwr.getScreenHeight());return Math.sqrt(f*f+g*g)/(b.time-e.time)},"~N,~N");b(c$,"getDX",function(a,c){a=this.getPointCount2(a,c);if(2>a)return 0;var b=this.getNode(this.ptNext-1-c),e=this.getNode(this.ptNext-a-c);return b.x-e.x},"~N,~N");b(c$,"getDY",function(a,c){a=this.getPointCount2(a,c);if(2>a)return 0;var b=this.getNode(this.ptNext-1-c),e=this.getNode(this.ptNext-a-c);return b.y-e.y},"~N,~N");b(c$,"getPointCount",function(){return this.ptNext});b(c$,"getPointCount2",function(a,
c){a>this.nodes.length-c&&(a=this.nodes.length-c);for(var b=a+1;0<=--b&&!(0<=this.getNode(this.ptNext-b-c).index););return b},"~N,~N");b(c$,"getNode",function(a){return this.nodes[(a+this.nodes.length+this.nodes.length)%this.nodes.length]},"~N");e(c$,"toString",function(){return 0==this.nodes.length?""+this:JV.binding.Binding.getMouseActionName(this.action,!1)+" nPoints = "+this.ptNext+" "+this.nodes[0]})});l("JV");u(["JU.BS"],"JV.AnimationManager",["J.api.Interface","JU.BSUtil"],function(){c$=r(function(){this.vwr=
this.animationThread=null;this.animationOn=!1;this.lastFrameDelayMs=this.firstFrameDelayMs=this.animationFps=0;this.bsVisibleModels=null;this.animationReplayMode=1073742070;this.animationFrames=this.bsDisplay=null;this.animationPaused=this.isMovie=!1;this.morphCount=this.caf=this.cmi=0;this.currentDirection=this.animationDirection=1;this.frameStep=this.lastFrameIndex=this.firstFrameIndex=0;this.backgroundModelIndex=-1;this.firstFrameDelay=this.currentMorphModel=0;this.lastFrameDelay=1;this.intAnimThread=
this.lastModelPainted=this.lastFramePainted=0;this.cai=-1;q(this,arguments)},JV,"AnimationManager");M(c$,function(){this.bsVisibleModels=new JU.BS});t(c$,function(a){this.vwr=a},"JV.Viewer");b(c$,"setAnimationOn",function(a){a!=this.animationOn&&(!a||this.vwr.headless?this.stopThread(!1):(this.vwr.tm.spinOn||this.vwr.refresh(3,"Anim:setAnimationOn"),this.setAnimationRange(-1,-1),this.resumeAnimation()))},"~B");b(c$,"stopThread",function(a){var c=!1;null!=this.animationThread&&(this.animationThread.interrupt(),
this.animationThread=null,c=!0);this.animationPaused=a;c&&!this.vwr.tm.spinOn&&this.vwr.refresh(3,"Viewer:setAnimationOff");this.animation(!1);this.vwr.setStatusFrameChanged(!1,!1)},"~B");b(c$,"setAnimationNext",function(){return this.setAnimationRelative(this.animationDirection)});b(c$,"currentIsLast",function(){return this.isMovie?this.lastFramePainted==this.caf:this.lastModelPainted==this.cmi});b(c$,"currentFrameIs",function(a){var c=this.cmi;return 0==this.morphCount?c==a:0.001>Math.abs(this.currentMorphModel-
a)},"~N");b(c$,"clear",function(){this.setMovie(null);this.initializePointers(0);this.setAnimationOn(!1);this.setModel(0,!0);this.currentDirection=1;this.cai=-1;this.setAnimationDirection(1);this.setAnimationFps(10);this.setAnimationReplayMode(1073742070,0,0);this.initializePointers(0)});b(c$,"getModelSpecial",function(a){switch(a){case -1:if(null!=this.animationFrames)return"1";a=this.firstFrameIndex;break;case 0:if(0<this.morphCount)return"-"+(1+this.currentMorphModel);a=this.cmi;break;case 1:if(null!=
this.animationFrames)return""+this.animationFrames.length;a=this.lastFrameIndex}return this.vwr.getModelNumberDotted(a)},"~N");b(c$,"setDisplay",function(a){this.bsDisplay=null==a||0==a.cardinality()?null:JU.BSUtil.copy(a)},"JU.BS");b(c$,"setMorphCount",function(a){this.morphCount=this.isMovie?0:a},"~N");b(c$,"morph",function(a){var c=A(a);0.001>Math.abs(c-a)?a=c:0.999<Math.abs(c-a)&&(a=c+=1);a-=c;c-=1;if(0==a)this.currentMorphModel=c,this.setModel(c,!0);else{var b;this.setModel(c,!0);b=c+1;this.currentMorphModel=
c+a;b==c||(0>b||0>c)||this.vwr.ms.morphTrajectories(c,b,a)}},"~N");b(c$,"setModel",function(a,c){0>a&&this.stopThread(!1);var b=this.cmi,e=this.vwr.ms,f=null==e?0:e.mc;if(1==f)this.cmi=a=0;else if(0>a||a>=f)a=-1;var e=null,g=!1;if(this.cmi!=a){if(0<f){var f=this.vwr.ms,h=f.isJmolDataFrameForModel(a),k=f.isJmolDataFrameForModel(this.cmi);k&&f.setJmolDataFrame(null,-1,this.cmi);-1!=this.cmi&&this.vwr.saveModelOrientation();if(k||h)e=f.getJmolFrameType(a)+" "+a+" <--  "+this.cmi+" "+f.getJmolFrameType(this.cmi),
g=f.getJmolDataSourceFrame(a)==f.getJmolDataSourceFrame(this.cmi)}this.cmi=a;null!=e&&(0<=a&&this.vwr.restoreModelOrientation(a),g&&(0<=e.indexOf("quaternion")||0>e.indexOf("plot")&&0>e.indexOf("ramachandran")&&0>e.indexOf(" property "))&&this.vwr.restoreModelRotation(b))}this.setViewer(c)},"~N,~B");b(c$,"setBackgroundModelIndex",function(a){var c=this.vwr.ms;if(null==c||0>a||a>=c.mc)a=-1;this.backgroundModelIndex=a;0<=a&&this.vwr.ms.setTrajectory(a);this.vwr.setTainted(!0);this.setFrameRangeVisible()},
"~N");b(c$,"initializePointers",function(a){this.firstFrameIndex=0;this.lastFrameIndex=(0==a?0:this.getFrameCount())-1;this.frameStep=a;this.vwr.setFrameVariables()},"~N");b(c$,"setAnimationDirection",function(a){this.animationDirection=a},"~N");b(c$,"setAnimationFps",function(a){1>a&&(a=1);50<a&&(a=50);this.animationFps=a;this.vwr.setFrameVariables()},"~N");b(c$,"setAnimationReplayMode",function(a,c,b){this.firstFrameDelay=0<c?c:0;this.firstFrameDelayMs=A(1E3*this.firstFrameDelay);this.lastFrameDelay=
0<b?b:0;this.lastFrameDelayMs=A(1E3*this.lastFrameDelay);this.animationReplayMode=a;this.vwr.setFrameVariables()},"~N,~N,~N");b(c$,"setAnimationRange",function(a,c){var b=this.getFrameCount();0>a&&(a=0);0>c&&(c=b);a>=b&&(a=b-1);c>=b&&(c=b-1);this.currentMorphModel=this.firstFrameIndex=a;this.lastFrameIndex=c;this.frameStep=c<a?-1:1;this.rewindAnimation()},"~N,~N");b(c$,"pauseAnimation",function(){this.stopThread(!0)});b(c$,"reverseAnimation",function(){this.currentDirection=-this.currentDirection;
this.animationOn||this.resumeAnimation()});b(c$,"repaintDone",function(){this.lastModelPainted=this.cmi;this.lastFramePainted=this.caf});b(c$,"resumeAnimation",function(){0>this.cmi&&this.setAnimationRange(this.firstFrameIndex,this.lastFrameIndex);1>=this.getFrameCount()?this.animation(!1):(this.animation(!0),this.animationPaused=!1,null==this.animationThread&&(this.intAnimThread++,this.animationThread=J.api.Interface.getOption("thread.AnimationThread",this.vwr,"script"),this.animationThread.setManager(this,
this.vwr,y(-1,[this.firstFrameIndex,this.lastFrameIndex,this.intAnimThread])),this.animationThread.start()))});b(c$,"setAnimationLast",function(){this.setFrame(0<this.animationDirection?this.lastFrameIndex:this.firstFrameIndex)});b(c$,"rewindAnimation",function(){this.setFrame(0<this.animationDirection?this.firstFrameIndex:this.lastFrameIndex);this.currentDirection=1;this.vwr.setFrameVariables()});b(c$,"setAnimationPrevious",function(){return this.setAnimationRelative(-this.animationDirection)});
b(c$,"getAnimRunTimeSeconds",function(){var a=this.getFrameCount();if(this.firstFrameIndex==this.lastFrameIndex||0>this.lastFrameIndex||0>this.firstFrameIndex||this.lastFrameIndex>=a||this.firstFrameIndex>=a)return 0;for(var c=Math.min(this.firstFrameIndex,this.lastFrameIndex),a=Math.max(this.firstFrameIndex,this.lastFrameIndex),b=1*(a-c)/this.animationFps+this.firstFrameDelay+this.lastFrameDelay;c<=a;c++)b+=this.vwr.ms.getFrameDelayMs(this.modelIndexForFrame(c))/1E3;return b});b(c$,"setMovie",function(a){if(this.isMovie=
null!=a&&null==a.get("scripts")){this.animationFrames=a.get("frames");if(null==this.animationFrames||0==this.animationFrames.length)this.isMovie=!1;else if(this.caf=a.get("currentFrame").intValue(),0>this.caf||this.caf>=this.animationFrames.length)this.caf=0;this.setFrame(this.caf)}this.isMovie||(this.animationFrames=null);this.vwr.setBooleanProperty("_ismovie",this.isMovie);this.bsDisplay=null;this.currentMorphModel=this.morphCount=0;this.vwr.setFrameVariables()},"java.util.Map");b(c$,"modelIndexForFrame",
function(a){return this.isMovie?this.animationFrames[a]-1:a},"~N");b(c$,"getFrameCount",function(){return this.isMovie?this.animationFrames.length:this.vwr.ms.mc});b(c$,"setFrame",function(a){try{if(this.isMovie){var c=this.modelIndexForFrame(a);this.caf=a;a=c}else this.caf=a;this.setModel(a,!0)}catch(b){if(!C(b,Exception))throw b;}},"~N");b(c$,"setViewer",function(a){this.vwr.ms.setTrajectory(this.cmi);this.vwr.tm.setFrameOffset(this.cmi);-1==this.cmi&&a&&this.setBackgroundModelIndex(-1);this.vwr.setTainted(!0);
this.setFrameRangeVisible();this.vwr.setStatusFrameChanged(!1,!1);null!=this.vwr.ms&&!this.vwr.g.selectAllModels&&this.vwr.slm.setSelectionSubset(this.vwr.getModelUndeletedAtomsBitSet(this.cmi))},"~B");b(c$,"setFrameRangeVisible",function(){this.bsVisibleModels.clearAll();0<=this.backgroundModelIndex&&this.bsVisibleModels.set(this.backgroundModelIndex);if(0<=this.cmi)this.bsVisibleModels.set(this.cmi);else if(0!=this.frameStep){for(var a=0,c=0,b=this.firstFrameIndex;b!=this.lastFrameIndex;b+=this.frameStep){var e=
this.modelIndexForFrame(b);this.vwr.ms.isJmolDataFrameForModel(e)||(this.bsVisibleModels.set(e),a++,c=b)}e=this.modelIndexForFrame(this.lastFrameIndex);if(this.firstFrameIndex==this.lastFrameIndex||!this.vwr.ms.isJmolDataFrameForModel(e)||0==a)this.bsVisibleModels.set(e),0==a&&(this.firstFrameIndex=this.lastFrameIndex),a=0;1==a&&0>this.cmi&&this.setFrame(c)}});b(c$,"animation",function(a){this.animationOn=a;this.vwr.setBooleanProperty("_animating",a)},"~B");b(c$,"setAnimationRelative",function(a){a=
this.getFrameStep(a);var c=(this.isMovie?this.caf:this.cmi)+a,b=0,e=0,f;0<this.morphCount?(b=1/(this.morphCount+1),e=this.currentMorphModel+a*b,f=this.isNotInRange(e)):f=this.isNotInRange(c);if(f)switch(this.animationReplayMode){case 1073742070:return!1;case 528411:e=c=this.animationDirection==this.currentDirection?this.firstFrameIndex:this.lastFrameIndex;break;case 1073742082:this.currentDirection=-this.currentDirection,c-=2*a,e-=2*a*b}if(1>this.morphCount){if(0>c||c>=this.getFrameCount())return!1;
this.setFrame(c);return!0}this.morph(e+1);return!0},"~N");b(c$,"isNotInRange",function(a){var c=a-0.001;return c>this.firstFrameIndex&&c>this.lastFrameIndex||(c=a+0.001)<this.firstFrameIndex&&c<this.lastFrameIndex},"~N");b(c$,"getFrameStep",function(a){return this.frameStep*a*this.currentDirection},"~N");D(c$,"FRAME_FIRST",-1,"FRAME_LAST",1,"MODEL_CURRENT",0)});l("JV.binding");u(["java.util.Hashtable"],"JV.binding.Binding","java.lang.Boolean java.util.Arrays JU.AU $.Lst $.PT $.SB J.api.Interface JU.Escape $.Logger".split(" "),
function(){c$=r(function(){this.bindings=this.name=null;q(this,arguments)},JV.binding,"Binding");M(c$,function(){this.bindings=new java.util.Hashtable});c$.getMouseAction=b(c$,"getMouseAction",function(a,c,b){2<a&&(a=2);switch(a){case 0:break;case 1:a=256;break;default:a=512}switch(b){case 4:b=4096;break;case 1:b=8192;break;case 5:b=16384;break;case 2:b=32768;break;case 3:b=32}return c&63|a|b},"~N,~N,~N");c$.getMouseActionStr=b(c$,"getMouseActionStr",function(a){if(null==a)return 0;var c=0;a=a.toUpperCase();
c=0<=a.indexOf("MIDDLE")?8:0<=a.indexOf("RIGHT")?4:0<=a.indexOf("WHEEL")?32:16;0<=a.indexOf("DOWN")?c|=4096:0<=a.indexOf("DRAG")?c|=8192:0<=a.indexOf("UP")?c|=16384:32!=c&&(c|=32768);32!=c&&0<=a.indexOf("DOUBLE")?c|=512:0<c&&(c|=256);288!=c&&0<=a.indexOf("ALT")&&(c|=8);0<=a.indexOf("CTRL")&&(c|=2);0<=a.indexOf("SHIFT")&&(c|=1);return c},"~S");c$.getButtonMods=b(c$,"getButtonMods",function(a){return a&63},"~N");c$.getClickCount=b(c$,"getClickCount",function(a){return(a&768)>>8},"~N");c$.getMouseActionName=
b(c$,"getMouseActionName",function(a,c){var b=new JU.SB;if(0==a)return"";var e=JV.binding.Binding.includes(a,8)&&!JV.binding.Binding.includes(a,16)&&!JV.binding.Binding.includes(a,4),f="      ".toCharArray();JV.binding.Binding.includes(a,2)&&(b.append("CTRL+"),f[5]="C");!e&&JV.binding.Binding.includes(a,8)&&(b.append("ALT+"),f[4]="A");JV.binding.Binding.includes(a,1)&&(b.append("SHIFT+"),f[3]="S");JV.binding.Binding.includes(a,16)?(f[2]="L",b.append("LEFT")):JV.binding.Binding.includes(a,4)?(f[2]=
"R",b.append("RIGHT")):e?(f[2]="M",b.append("MIDDLE")):JV.binding.Binding.includes(a,32)&&(f[2]="W",b.append("WHEEL"));JV.binding.Binding.includes(a,512)&&(b.append("+double"),f[1]="2");JV.binding.Binding.includes(a,4096)?(b.append("+down"),f[0]="1"):JV.binding.Binding.includes(a,8192)?(b.append("+drag"),f[0]="2"):JV.binding.Binding.includes(a,16384)?(b.append("+up"),f[0]="3"):JV.binding.Binding.includes(a,32768)&&(b.append("+click"),f[0]="4");return c?String.instantialize(f)+":"+b.toString():b.toString()},
"~N,~B");b(c$,"getBindings",function(){return this.bindings});t(c$,function(){});b(c$,"bindAction",function(a,c){this.addBinding(a+"\t"+c,y(-1,[a,c]))},"~N,~N");b(c$,"bindName",function(a,c){this.addBinding(a+"\t",Boolean.TRUE);this.addBinding(a+"\t"+c,x(-1,[JV.binding.Binding.getMouseActionName(a,!1),c]))},"~N,~S");b(c$,"unbindAction",function(a,c){0==a?this.unbindJmolAction(c):this.removeBinding(null,a+"\t"+c)},"~N,~N");b(c$,"unbindName",function(a,c){null==c?this.unbindMouseAction(a):this.removeBinding(null,
a+"\t"+c)},"~N,~S");b(c$,"unbindJmolAction",function(a){var c=this.bindings.keySet().iterator();for(a="\t"+a;c.hasNext();){var b=c.next();b.endsWith(a)&&this.removeBinding(c,b)}},"~N");b(c$,"addBinding",function(a,c){JU.Logger.debugging&&JU.Logger.debug("adding binding "+a+"\t==\t"+JU.Escape.e(c));this.bindings.put(a,c)},"~S,~O");b(c$,"removeBinding",function(a,c){JU.Logger.debugging&&JU.Logger.debug("removing binding "+c);null==a?this.bindings.remove(c):a.remove()},"java.util.Iterator,~S");b(c$,
"unbindUserAction",function(a){var c=this.bindings.keySet().iterator();for(a="\t"+a;c.hasNext();){var b=c.next();b.endsWith(a)&&this.removeBinding(c,b)}},"~S");b(c$,"unbindMouseAction",function(a){var c=this.bindings.keySet().iterator();for(a+="\t";c.hasNext();){var b=c.next();b.startsWith(a)&&this.removeBinding(c,b)}},"~N");b(c$,"isBound",function(a,c){return this.bindings.containsKey(a+"\t"+c)},"~N,~N");b(c$,"isUserAction",function(a){return this.bindings.containsKey(a+"\t")},"~N");b(c$,"getBindingInfo",
function(a,c,b){var e=new JU.SB;b=null==b||b.equalsIgnoreCase("all")?null:b.toLowerCase();for(var f=Array(a.length),g=new JU.Lst,h,k=this.bindings.values().iterator();k.hasNext()&&((h=k.next())||1);)if(!p(h,Boolean))if(JU.AU.isAS(h)){var m=h[0],l=h[1];(null==b||0<=b.indexOf("user")||0<=m.indexOf(b)||0<=l.indexOf(b))&&g.addLast(h)}else l=h,m=l[1],null==f[m]&&(f[m]=new JU.Lst),l=JV.binding.Binding.getMouseActionName(l[0],!0),(null==b||0<=(c[m]+";"+a[m]+";"+l).toLowerCase().indexOf(b))&&f[m].addLast(l);
for(m=0;m<a.length;m++){var s;null==f[m]||0==(s=f[m].size())||this.addInfo(e,f[m].toArray(Array(s)),c[m],a[m])}for(m=0;m<g.size();m++)l=g.get(m),this.addInfo(e,x(-1,["USER:::"+l[0]]),"user-defined",l[1]);return e.toString()},"~A,~A,~S");b(c$,"addInfo",function(a,c,b,e){java.util.Arrays.sort(c);JU.PT.leftJustify(a,"                      ",b);a.append("\t");b="";for(var f=a.length(),g=0;g<c.length;g++)a.append(b).append(c[g].substring(7)),b=", ";f=a.length()-f;20>f&&a.append("                 ".substring(0,
20-f));a.append("\t").append(e).appendC("\n")},"JU.SB,~A,~S,~S");c$.includes=b(c$,"includes",function(a,c){return(a&c)==c},"~N,~N");c$.newBinding=b(c$,"newBinding",function(a,c){return J.api.Interface.getInterface("JV.binding."+c+"Binding",a,"script")},"JV.Viewer,~S");D(c$,"LEFT",16,"MIDDLE",8,"RIGHT",4,"WHEEL",32,"ALT",8,"CTRL",2,"SHIFT",1,"CTRL_ALT",10,"CTRL_SHIFT",3,"MAC_COMMAND",20,"BUTTON_MASK",28,"BUTTON_MODIFIER_MASK",63,"SINGLE",256,"DOUBLE",512,"COUNT_MASK",768,"DOWN",4096,"DRAG",8192,"UP",
16384,"CLICK",32768,"MODE_MASK",61440)});l("JV.binding");u(["JV.binding.JmolBinding"],"JV.binding.DragBinding",null,function(){c$=B(JV.binding,"DragBinding",JV.binding.JmolBinding);t(c$,function(){H(this,JV.binding.DragBinding,[]);this.set("drag")});e(c$,"setSelectBindings",function(){this.bindAction(33040,30);this.bindAction(33041,35);this.bindAction(33048,34);this.bindAction(33049,32);this.bindAction(4368,31);this.bindAction(8464,13);this.bindAction(33040,17)})});l("JV.binding");u(["JV.binding.Binding"],
"JV.binding.JmolBinding",null,function(){c$=B(JV.binding,"JmolBinding",JV.binding.Binding);t(c$,function(){H(this,JV.binding.JmolBinding,[]);this.set("toggle")});b(c$,"set",function(a){this.name=a;this.setGeneralBindings();this.setSelectBindings()},"~S");b(c$,"setSelectBindings",function(){this.bindAction(33296,30);this.bindAction(33040,36)});b(c$,"setGeneralBindings",function(){this.bindAction(8474,45);this.bindAction(8454,45);this.bindAction(8721,45);this.bindAction(8712,45);this.bindAction(8464,
25);this.bindAction(8720,25);this.bindAction(8472,28);this.bindAction(8453,28);this.bindAction(8465,29);this.bindAction(8456,29);this.bindAction(288,46);this.bindAction(8464,40);this.bindAction(8464,16);this.bindAction(4370,23);this.bindAction(4356,23);this.bindAction(33040,2);this.bindAction(8467,38);this.bindAction(8723,6);this.bindAction(8475,39);this.bindAction(290,46);this.bindAction(289,46);this.bindAction(291,46);this.bindAction(290,38);this.bindAction(289,6);this.bindAction(291,39);this.bindAction(8464,
44);this.bindAction(8464,41);this.bindAction(8465,42);this.bindAction(8473,13);this.bindAction(8465,14);this.bindAction(8472,27);this.bindAction(8465,26);this.bindAction(8465,10);this.bindAction(8472,9);this.bindAction(8465,8);this.bindAction(33297,24);this.bindAction(33288,24);this.bindAction(33296,43);this.bindAction(8464,7);this.bindAction(8464,11);this.bindAction(8464,12);this.bindAction(33040,17);this.bindAction(33040,22);this.bindAction(33040,19);this.bindAction(33040,20);this.bindAction(33296,
37);this.bindAction(33040,18);this.bindAction(33043,21);this.bindAction(33040,4);this.bindAction(33040,5);this.bindAction(33040,3);this.bindAction(33040,0);this.bindAction(33043,1)})});l("JV");u(null,"JV.ColorManager","java.lang.Float JU.AU J.c.PAL JU.C $.ColorEncoder $.Elements $.Logger JV.JC".split(" "),function(){c$=r(function(){this.colorData=this.altArgbsCpk=this.argbsCpk=this.g3d=this.vwr=this.ce=null;this.isDefaultColorRasmol=!1;this.colixRubberband=22;this.colixBackgroundContrast=0;q(this,
arguments)},JV,"ColorManager");t(c$,function(a,c){this.vwr=a;this.ce=new JU.ColorEncoder(null,a);this.g3d=c;this.argbsCpk=J.c.PAL.argbsCpk;this.altArgbsCpk=JU.AU.arrayCopyRangeI(JV.JC.altArgbsCpk,0,-1)},"JV.Viewer,JU.GData");b(c$,"setDefaultColors",function(a){a?(this.isDefaultColorRasmol=!0,this.argbsCpk=JU.AU.arrayCopyI(JU.ColorEncoder.getRasmolScale(),-1)):(this.isDefaultColorRasmol=!1,this.argbsCpk=J.c.PAL.argbsCpk);this.altArgbsCpk=JU.AU.arrayCopyRangeI(JV.JC.altArgbsCpk,0,-1);this.ce.createColorScheme(a?
"Rasmol=":"Jmol=",!0,!0);for(a=J.c.PAL.argbsCpk.length;0<=--a;)this.g3d.changeColixArgb(a,this.argbsCpk[a]);for(a=JV.JC.altArgbsCpk.length;0<=--a;)this.g3d.changeColixArgb(JU.Elements.elementNumberMax+a,this.altArgbsCpk[a])},"~B");b(c$,"setRubberbandArgb",function(a){this.colixRubberband=0==a?0:JU.C.getColix(a)},"~N");b(c$,"setColixBackgroundContrast",function(a){this.colixBackgroundContrast=JU.C.getBgContrast(a)},"~N");b(c$,"getColixBondPalette",function(a,c){switch(c){case 19:return this.ce.getColorIndexFromPalette(a.getEnergy(),
-2.5,-0.5,7,!1)}return 10},"JM.Bond,~N");b(c$,"getColixAtomPalette",function(a,c){var b=0,e;e=this.vwr.ms;switch(c){case 84:return null==this.colorData||a.i>=this.colorData.length?12:this.ce.getColorIndex(this.colorData[a.i]);case 0:case 1:e=a.getAtomicAndIsotopeNumber();if(e<JU.Elements.elementNumberMax)return this.g3d.getChangeableColix(e,this.argbsCpk[e]);b=e;e=JU.Elements.altElementIndexFromNumber(e);if(0<e)return this.g3d.getChangeableColix(JU.Elements.elementNumberMax+e,this.altArgbsCpk[e]);
e=JU.Elements.getElementNumber(b);return this.g3d.getChangeableColix(e,this.argbsCpk[e]);case 2:return e=JU.ColorEncoder.quantize4(a.getPartialCharge(),-1,1,JV.JC.PARTIAL_CHARGE_RANGE_SIZE),this.g3d.getChangeableColix(JV.JC.PARTIAL_CHARGE_COLIX_RED+e,JV.JC.argbsRwbScale[e]);case 3:return e=a.getFormalCharge()- -4,this.g3d.getChangeableColix(JV.JC.FORMAL_CHARGE_COLIX_RED+e,JV.JC.argbsFormalCharge[e]);case 68:case 5:return 68==c?(e=this.vwr.ms.getBfactor100Lo(),b=this.vwr.ms.getBfactor100Hi()):(e=0,
b=1E4),this.ce.getColorIndexFromPalette(a.getBfactor100(),e,b,7,!1);case 86:return this.ce.getColorIndexFromPalette(a.group.getGroupParameter(1111490574),-1,1,7,!1);case 70:return b=this.vwr.ms.getSurfaceDistanceMax(),this.ce.getColorIndexFromPalette(a.getSurfaceDistance100(),0,b,7,!1);case 8:return this.ce.getColorIndexFromPalette(a.group.groupID,0,0,5,!1);case 9:return this.ce.getColorIndexFromPalette(a.group.groupID,0,0,4,!1);case 75:return this.ce.getColorIndexFromPalette(a.group.selectedIndex,
0,a.group.chain.selectedGroupCount-1,1,!1);case 87:return e=this.vwr.ms.am[a.mi],this.ce.getColorIndexFromPalette(a.group.getBioPolymerIndexInModel(),0,(e.isBioModel?e.getBioPolymerCount():0)-1,1,!1);case 76:return this.ce.getColorIndexFromPalette(a.group.getSelectedMonomerIndex(),0,a.group.getSelectedMonomerCount()-1,1,!1);case 77:return this.ce.getColorIndexFromPalette(e.getMoleculeIndex(a.i,!0),0,e.getMoleculeCountInModel(a.mi)-1,0,!1);case 14:return b=a.mi,this.ce.getColorIndexFromPalette(e.getAltLocIndexInModel(b,
a.altloc),0,e.getAltLocCountInModel(b),0,!1);case 15:return b=a.mi,this.ce.getColorIndexFromPalette(e.getInsertionCodeIndexInModel(b,a.group.getInsertionCode()),0,e.getInsertionCountInModel(b),0,!1);case 16:e=a.getAtomicAndIsotopeNumber();b=this.getJmolOrRasmolArgb(e,1073741991);break;case 17:e=a.getAtomicAndIsotopeNumber();b=this.getJmolOrRasmolArgb(e,1073742116);break;case 7:b=a.group.getProteinStructureSubType().getColor();break;case 10:e=a.getChainID(),null==JU.ColorEncoder.argbsChainAtom&&(JU.ColorEncoder.argbsChainAtom=
this.getArgbs(1140850689),JU.ColorEncoder.argbsChainHetero=this.getArgbs(1612709894)),e=((0>e?0:256<=e?e-256:e)&31)%JU.ColorEncoder.argbsChainAtom.length,b=(a.isHetero()?JU.ColorEncoder.argbsChainHetero:JU.ColorEncoder.argbsChainAtom)[e]}return 0==b?22:JU.C.getColix(b)},"JM.Atom,~N");b(c$,"getArgbs",function(a){return this.vwr.getJBR().getArgbs(a)},"~N");b(c$,"getJmolOrRasmolArgb",function(a,c){switch(c){case 1073741991:if(a>=JU.Elements.elementNumberMax)break;return this.ce.getArgbFromPalette(a,
0,0,2);case 1073742116:if(a>=JU.Elements.elementNumberMax)break;return this.ce.getArgbFromPalette(a,0,0,3);default:return c}return JV.JC.altArgbsCpk[JU.Elements.altElementIndexFromNumber(a)]},"~N,~N");b(c$,"setElementArgb",function(a,c){1073741991==c&&this.argbsCpk===J.c.PAL.argbsCpk||(c=this.getJmolOrRasmolArgb(a,c),this.argbsCpk===J.c.PAL.argbsCpk&&(this.argbsCpk=JU.AU.arrayCopyRangeI(J.c.PAL.argbsCpk,0,-1),this.altArgbsCpk=JU.AU.arrayCopyRangeI(JV.JC.altArgbsCpk,0,-1)),a<JU.Elements.elementNumberMax?
(this.argbsCpk[a]=c,this.g3d.changeColixArgb(a,c)):(a=JU.Elements.altElementIndexFromNumber(a),this.altArgbsCpk[a]=c,this.g3d.changeColixArgb(JU.Elements.elementNumberMax+a,c)))},"~N,~N");b(c$,"getPropertyColorRange",function(){return this.ce.isReversed?G(-1,[this.ce.hi,this.ce.lo]):G(-1,[this.ce.lo,this.ce.hi])});b(c$,"setPropertyColorRangeData",function(a,c){this.colorData=a;this.ce.currentPalette=this.ce.createColorScheme(this.vwr.g.propertyColorScheme,!0,!1);this.ce.hi=-3.4028235E38;this.ce.lo=
3.4028235E38;if(null!=a){for(var b=null==c,e,f=b?a.length-1:c.nextSetBit(0);0<=f;f=b?f-1:c.nextSetBit(f+1))if(!Float.isNaN(e=a[f]))this.ce.hi=Math.max(this.ce.hi,e),this.ce.lo=Math.min(this.ce.lo,e);this.setPropertyColorRange(this.ce.lo,this.ce.hi)}},"~A,JU.BS");b(c$,"setPropertyColorRange",function(a,c){this.ce.setRange(a,c,a>c);JU.Logger.debugging&&JU.Logger.debug('ColorManager: color "'+this.ce.getCurrentColorSchemeName()+'" range '+a+" "+c)},"~N,~N");b(c$,"setPropertyColorScheme",function(a,c,
b){var e=0==a.length;e&&(a="=");var f=this.getPropertyColorRange();this.ce.currentPalette=this.ce.createColorScheme(a,!0,b);e||this.setPropertyColorRange(f[0],f[1]);this.ce.isTranslucent=c},"~S,~B,~B");b(c$,"getColorSchemeList",function(a){a=null==a||0==a.length?this.ce.currentPalette:this.ce.createColorScheme(a,!0,!1);return JU.ColorEncoder.getColorSchemeList(this.ce.getColorSchemeArray(a))},"~S");b(c$,"getColorEncoder",function(a){if(null==a||0==a.length)return this.ce;var c=new JU.ColorEncoder(this.ce,
this.vwr);c.currentPalette=c.createColorScheme(a,!1,!0);return 2147483647==c.currentPalette?null:c},"~S")});l("JV");u(["javajs.api.BytePoster","java.util.Hashtable"],"JV.FileManager","java.io.BufferedInputStream $.BufferedReader java.lang.Boolean java.net.URL $.URLEncoder java.util.Map JU.AU $.BArray $.Base64 $.LimitedLineReader $.Lst $.OC $.PT $.Rdr $.SB J.api.Interface J.io.FileReader $.JmolBinary JS.SV JU.Logger JV.JmolAsyncException $.Viewer".split(" "),function(){c$=r(function(){this.jmb=this.vwr=
this.spardirCache=this.pngjCache=null;this.pathForAllFiles="";this.nameAsGiven="zapped";this.lastFullPathName=this.fullPathName=null;this.lastNameAsGiven="zapped";this.cache=this.appletProxy=this.appletDocumentBaseURL=this.fileName=null;q(this,arguments)},JV,"FileManager",null,javajs.api.BytePoster);M(c$,function(){this.cache=new java.util.Hashtable});t(c$,function(a){this.vwr=a;this.clear()},"JV.Viewer");b(c$,"getJmb",function(){return null==this.jmb?this.jmb=J.api.Interface.getInterface("J.io.JmolBinary",
this.vwr,"fm getJmb()").set(this):this.jmb});b(c$,"clear",function(){this.setFileInfo(x(-1,[this.vwr.getZapName()]));this.spardirCache=null});b(c$,"setLoadState",function(a){this.vwr.getPreserveState()&&a.put("loadState",this.vwr.g.getLoadState(a))},"java.util.Map");b(c$,"getPathForAllFiles",function(){return this.pathForAllFiles});b(c$,"setPathForAllFiles",function(a){0<a.length&&(!a.endsWith("/")&&!a.endsWith("|"))&&(a+="/");return this.pathForAllFiles=a},"~S");b(c$,"setFileInfo",function(a){null==
a?(this.fullPathName=this.lastFullPathName,this.nameAsGiven=this.lastNameAsGiven):(this.fullPathName=a[0],this.fileName=a[Math.min(1,a.length-1)],this.nameAsGiven=a[Math.min(2,a.length-1)],this.nameAsGiven.equals("zapped")||(this.lastNameAsGiven=this.nameAsGiven,this.lastFullPathName=this.fullPathName))},"~A");b(c$,"getFileInfo",function(){return x(-1,[this.fullPathName,this.fileName,this.nameAsGiven])});b(c$,"getFullPathName",function(a){var c=null!=this.fullPathName?this.fullPathName:this.nameAsGiven;
return!a||!c.equals("zapped")?c:null!=this.lastFullPathName?this.lastFullPathName:this.lastNameAsGiven},"~B");b(c$,"getFileName",function(){return null!=this.fileName?this.fileName:this.nameAsGiven});b(c$,"getAppletDocumentBase",function(){return null==this.appletDocumentBaseURL?"":this.appletDocumentBaseURL.toString()});b(c$,"setAppletContext",function(a){try{System.out.println('setting document base to "'+a+'"'),this.appletDocumentBaseURL=0==a.length?null:new java.net.URL(ca("java.net.URL"),a,null)}catch(c){if(C(c,
java.net.MalformedURLException))System.out.println("error setting document base to "+a);else throw c;}},"~S");b(c$,"setAppletProxy",function(a){this.appletProxy=null==a||0==a.length?null:a},"~S");b(c$,"createAtomSetCollectionFromFile",function(a,c,b){null==c.get("atomDataOnly")&&this.setLoadState(c);var e=a;a=this.vwr.resolveDatabaseFormat(a);!e.equals(a)&&(0>e.indexOf("/")&&JV.Viewer.hasDatabasePrefix(e))&&c.put("dbName",e);var f=a.indexOf("::"),e=0<=f?a.substring(f+2):a,f=0<=f?a.substring(0,f):
null;JU.Logger.info("\nFileManager.getAtomSetCollectionFromFile("+e+")"+(a.equals(e)?"":" //"+a));var g=this.getClassifiedName(e,!0);if(1==g.length)return g[0];a=g[0];g=g[1];c.put("fullPathName",(null==f?"":f+"::")+a.$replace("\\","/"));this.vwr.getBoolean(603979880)&&this.vwr.getBoolean(603979825)&&this.vwr.getChimeMessenger().update(a);c=new J.io.FileReader(this,this.vwr,g,a,e,f,null,c,b);c.run();return c.getAtomSetCollection()},"~S,java.util.Map,~B");b(c$,"createAtomSetCollectionFromFiles",function(a,
c,b){this.setLoadState(c);for(var e=Array(a.length),f=Array(a.length),g=Array(a.length),h=0;h<a.length;h++){var k=a[h].indexOf("::"),m=0<=k?a[h].substring(k+2):a[h];System.out.println(h+" FM "+m);var k=0<=k?a[h].substring(0,k):null,l=this.getClassifiedName(m,!0);if(1==l.length)return l[0];e[h]=l[0];a[h]=l[0].$replace("\\","/");g[h]=k;f[h]=m}c.put("fullPathNames",e);c.put("fileTypes",g);a=this.newFilesReader(e,f,g,null,c,b);a.run();return a.getAtomSetCollection()},"~A,java.util.Map,~B");b(c$,"createAtomSetCollectionFromString",
function(a,c,b){this.setLoadState(c);var e=0<=a.indexOf("Viewer.AddHydrogens")?this.getFileInfo():null;c=new J.io.FileReader(this,this.vwr,"string","string","string",null,JU.Rdr.getBR(a),c,b);c.run();null!=e&&this.setFileInfo(e);!b&&!p(c.getAtomSetCollection(),String)&&this.setFileInfo(x(-1,["5\n\nC 0 0 0\nH .63 .63 .63\nH -.63 -.63 .63\nH -.63 .63 -.63\nH .63 -.63 -.63"===a?"Jmol Model Kit":"string"]));return c.getAtomSetCollection()},"~S,java.util.Map,~B");b(c$,"createAtomSeCollectionFromStrings",
function(a,c,b,e){if(!b.containsKey("isData")){var f='"'+this.vwr.getDataSeparator()+'"',g='"'+(e?"append":"model")+' inline"',h=new JU.SB;h.append('set dataSeparator "~~~next file~~~";\ndata ').append(g);for(var k=0;k<a.length;k++)0<k&&h.append("~~~next file~~~"),h.append(a[k]);h.append("end ").append(g).append(";set dataSeparator ").append(f);c.appendSB(h)}this.setLoadState(b);JU.Logger.info("FileManager.getAtomSetCollectionFromStrings(string[])");c=Array(a.length);f=Array(a.length);for(k=0;k<a.length;k++)c[k]=
"string["+k+"]",f[k]=JV.FileManager.newDataReader(this.vwr,a[k]);a=this.newFilesReader(c,c,null,f,b,e);a.run();return a.getAtomSetCollection()},"~A,JU.SB,java.util.Map,~B");b(c$,"createAtomSeCollectionFromArrayData",function(a,c,b){JU.Logger.info("FileManager.getAtomSetCollectionFromArrayData(Vector)");for(var e=a.size(),f=Array(e),g=Array(e),h=0;h<e;h++)f[h]="String["+h+"]",g[h]=JV.FileManager.newDataReader(this.vwr,a.get(h));a=this.newFilesReader(f,f,null,g,c,b);a.run();return a.getAtomSetCollection()},
"JU.Lst,java.util.Map,~B");c$.newDataReader=b(c$,"newDataReader",function(a,c){var b=p(c,String)?"String":JU.AU.isAS(c)?"Array":p(c,JU.Lst)?"List":null;return null==b?null:J.api.Interface.getInterface("JU."+b+"DataReader",a,"file").setData(c)},"JV.Viewer,~O");b(c$,"newFilesReader",function(a,c,b,e,f,g){var h=J.api.Interface.getOption("io.FilesReader",this.vwr,"file");h.set(this,this.vwr,a,c,b,e,f,g);return h},"~A,~A,~A,~A,java.util.Map,~B");b(c$,"createAtomSetCollectionFromDOM",function(a,c){var b=
J.api.Interface.getOption("io.DOMReadaer",this.vwr,"file");b.set(this,this.vwr,a,c);b.run();return b.getAtomSetCollection()},"~O,java.util.Map");b(c$,"createAtomSetCollectionFromReader",function(a,c,b,e){a=new J.io.FileReader(this,this.vwr,c,a,c,null,b,e,!1);a.run();return a.getAtomSetCollection()},"~S,~S,~O,java.util.Map");b(c$,"getBufferedInputStream",function(a){a=this.getBufferedReaderOrErrorMessageFromName(a,Array(2),!0,!0);return p(a,java.io.BufferedInputStream)?a:null},"~S");b(c$,"getBufferedInputStreamOrErrorMessageFromName",
function(a,c,b,e,f,g,h){var k=null,m=null;c=h&&null==f?c=this.getPngjOrDroppedBytes(c,a):null;try{if(null==c){var l=0<=a.indexOf("?POST?_PNGJBIN_"),s=l||0<=a.indexOf("?POST?_PNGJ_");if(0<a.indexOf("?POST?_PNG_")||s){var q=Array(1),r=this.vwr.getImageAsBytes(s?"PNGJ":"PNG",0,0,-1,q);if(null!=q[0])return q[0];l?(f=r,a=JU.PT.rep(a,"?_","=_")):a=(new JU.SB).append(a).append("=").appendSB(JU.Base64.getBase64(r)).toString()}var t=JU.OC.urlTypeIndex(a),l=0<=t,s=null;if(l&&0<=(t=a.indexOf("?POST?")))s=a.substring(t+
6),a=a.substring(0,t);var u=null!=this.appletDocumentBaseURL;h&&(0<=a.indexOf(".png")&&null==this.pngjCache&&this.vwr.cachePngFiles())&&(this.pngjCache=new java.util.Hashtable);if(u||l){u&&(l&&null!=this.appletProxy)&&(a=this.appletProxy+"?url="+this.urlEncode(a));var v=u?new java.net.URL(this.appletDocumentBaseURL,a,null):new java.net.URL(ca("java.net.URL"),a,null);if(e)return null;a=v.toString();b&&0>a.toLowerCase().indexOf("password")&&JU.Logger.info("FileManager opening url "+a);m=this.vwr.apiPlatform.getURLContents(v,
f,s,!1);r=null;if(p(m,JU.SB)){a=m;if(g&&!JU.Rdr.isBase64(a))return JU.Rdr.getBR(a.toString());r=JU.Rdr.getBytesFromSB(a)}else JU.AU.isAB(m)&&(r=m);null!=r&&(m=JU.Rdr.getBIS(r))}else if(!h||null==(c=this.cacheGet(a,!0)))b&&JU.Logger.info("FileManager opening file "+a),m=this.vwr.apiPlatform.getBufferedFileInputStream(a);if(p(m,String))return m}k=null==c?m:JU.Rdr.getBIS(c);e&&(k.close(),k=null);return k}catch(x){if(C(x,Exception))try{null!=k&&k.close()}catch(y){if(!C(y,java.io.IOException))throw y;
}else throw x;}return""+x},"~S,~S,~B,~B,~A,~B,~B");b(c$,"getPngjOrDroppedBytes",function(a,c){var b=this.getCachedPngjBytes(a);null==b&&(b=this.cacheGet(c,!0));return b},"~S,~S");b(c$,"urlEncode",function(a){try{return java.net.URLEncoder.encode(a,"utf-8")}catch(c){if(C(c,java.io.UnsupportedEncodingException))return a;throw c;}},"~S");b(c$,"getEmbeddedFileState",function(a,c){var b=null,b=this.getZipDirectory(a,!1,c);if(0==b.length)return b=this.vwr.getFileAsString4(a,-1,!1,!0,!1,"file"),0>b.indexOf("**** Jmol Embedded Script ****")?
"":J.io.JmolBinary.getEmbeddedScript(b);for(var e=0;e<b.length;e++)if(0<=b[e].indexOf(".spt"))return b=x(-1,[a+"|"+b[e],null]),this.getFileDataAsString(b,-1,!1,!1,!1),b[1];return""},"~S,~B");b(c$,"getFullPathNameOrError",function(a,c,b){var e=this.getClassifiedName(a,!0);if(null==e||null==e[0]||2>e.length)return x(-1,[null,"cannot read file name: "+a]);a=e[0];e=e[0].$replace("\\","/");a=JU.Rdr.getZipRoot(a);c=this.getBufferedInputStreamOrErrorMessageFromName(a,e,!1,!c,null,!1,!c);b[0]=e;p(c,String)&&
(b[1]=c);return c},"~S,~B,~A");b(c$,"getBufferedReaderOrErrorMessageFromName",function(a,c,b,e){var f=this.cacheGet(a,!1),g=JU.AU.isAB(f),h=g?f:null;if(a.startsWith("cache://")){if(null==f)return"cannot read "+a;if(g)h=f;else return JU.Rdr.getBR(f)}f=this.getClassifiedName(a,!0);if(null==f)return"cannot read file name: "+a;null!=c&&(c[0]=f[0].$replace("\\","/"));return this.getUnzippedReaderOrStreamFromName(f[0],h,!1,b,!1,e,null)},"~S,~A,~B,~B");b(c$,"getUnzippedReaderOrStreamFromName",function(a,
c,b,e,f,g,h){if(g&&null==c){var k=this.checkOpenSpartanFile(a,f);if(null!=k)return k}null==c&&(null!=(c=this.getCachedPngjBytes(a))&&null!=h)&&h.put("sourcePNGJ",Boolean.TRUE);g=a;f=null;0<=a.indexOf("|")&&(f=JU.PT.split(a.$replace("\\","/"),"|"),null==c&&JU.Logger.info("FileManager opening zip "+a),a=f[0]);a=null==c?this.getBufferedInputStreamOrErrorMessageFromName(a,g,!0,!1,null,!e,!0):JU.Rdr.getBIS(c);try{if(p(a,String)||p(a,java.io.BufferedReader))return a;JU.Rdr.isGzipS(a)&&(a=JU.Rdr.getUnzippedInputStream(this.vwr.getJzt(),
a));if(e&&null==f)return a;if(JU.Rdr.isCompoundDocumentS(a)){var m=J.api.Interface.getInterface("JU.CompoundDocument",this.vwr,"file");m.setStream(this.vwr.getJzt(),a,!0);var l=m.getAllDataFiles("Molecule","Input").toString();return e?JU.Rdr.getBIS(l.getBytes()):JU.Rdr.getBR(l)}if(JU.Rdr.isPickleS(a))return a;a=JU.Rdr.getPngZipStream(a,!0);if(JU.Rdr.isZipS(a)){if(b)return this.vwr.getJzt().newZipInputStream(a);k=this.vwr.getJzt().getZipFileDirectory(a,f,1,e);return p(k,String)?JU.Rdr.getBR(k):k}return e?
a:JU.Rdr.getBufferedReader(a,null)}catch(s){if(C(s,Exception))return s.toString();throw s;}},"~S,~A,~B,~B,~B,~B,java.util.Map");b(c$,"checkOpenSpartanFile",function(a,c){var b=this.getSpartanFileList(a);return c||null==b||null==b[2]?b:this.getJmb().spartanFileGetRdr(a,b)},"~S,~B");b(c$,"getSpartanFileList",function(a){if(a.endsWith(".spt"))return x(-1,[null,null,null]);if(a.endsWith(".spardir.zip"))return x(-1,["SpartanSmol","Directory Entry ",a+"|output"]);a=a.$replace("\\","/");if(!a.endsWith(".spardir")&&
0>a.indexOf(".spardir/"))return null;var c=a.lastIndexOf(".spardir");return 0>c?null:a.lastIndexOf("/")>c?x(-1,["SpartanSmol","Directory Entry ",a+"/input",a+"/archive",a+"/Molecule:asBinaryString",a+"/proparc"]):x(-1,["SpartanSmol","Directory Entry ",a+"/output"])},"~S");b(c$,"getZipDirectory",function(a,c,b){a=this.getBufferedInputStreamOrErrorMessageFromName(a,a,!1,!1,null,!1,b);return this.vwr.getJzt().getZipDirectoryAndClose(a,c?"JmolManifest":null)},"~S,~B,~B");b(c$,"getFileAsBytes",function(a,
c){if(null==a)return null;var b=a,e=null;0<=a.indexOf("|")&&(e=JU.PT.split(a,"|"),a=e[0]);var f=null==e?null:this.getPngjOrDroppedBytes(b,a);if(null!=f)return f;b=this.getBufferedInputStreamOrErrorMessageFromName(a,b,!1,!1,null,!1,!0);if(p(b,String))return"Error:"+b;try{return f=null!=c||null==e||1>=e.length||!JU.Rdr.isZipS(b)&&!JU.Rdr.isPngZipStream(b)?JU.Rdr.getStreamAsBytes(b,c):this.vwr.getJzt().getZipFileContentsAsBytes(b,e,1),b.close(),f}catch(g){if(C(g,Exception))return g.toString();throw g;
}},"~S,JU.OC");b(c$,"getFileAsMap",function(a){var c=new java.util.Hashtable,b;if(null==a){b=Array(1);var e=this.vwr.getImageAsBytes("PNGJ",-1,-1,-1,b);if(null!=b[0])return c.put("_ERROR_",b[0]),c;b=JU.Rdr.getBIS(e)}else{e=Array(2);b=this.getFullPathNameOrError(a,!0,e);if(p(b,String))return c.put("_ERROR_",b),c;if(!this.checkSecurity(e[0]))return c.put("_ERROR_","java.io. Security exception: cannot read file "+e[0]),c}try{this.vwr.getJzt().readFileAsMap(b,c,a)}catch(f){if(C(f,Exception))c.clear(),
c.put("_ERROR_",""+f);else throw f;}return c},"~S");b(c$,"getFileDataAsString",function(a,c,b,e,f){a[1]="";var g=a[0];if(null==g)return!1;b=this.getBufferedReaderOrErrorMessageFromName(g,a,!1,b);if(p(b,String))return a[1]=b,!1;if(f&&!this.checkSecurity(a[0]))return a[1]="java.io. Security exception: cannot read file "+a[0],!1;try{return JU.Rdr.readAllAsString(b,c,e,a,1)}catch(h){if(C(h,Exception))return!1;throw h;}},"~A,~N,~B,~B,~B");b(c$,"checkSecurity",function(a){if(!a.startsWith("file:"))return!0;
var c=a.lastIndexOf("/");return a.lastIndexOf(":/")==c-1||0<=a.indexOf("/.")||a.lastIndexOf(".")<a.lastIndexOf("/")?!1:!0},"~S");b(c$,"loadImage",function(a,c,b){var e=null,f=null,g=null,h=null!=c&&c.startsWith("\u0001");if(h){if(c.equals("\u0001closeall\u0001null"))return this.vwr.loadImageData(Boolean.TRUE,"\u0001closeall","\u0001closeall",null);if("\u0001close".equals(a))return this.vwr.loadImageData(Boolean.FALSE,"\u0001close",c,null)}p(a,java.util.Map)&&(a=a.containsKey("_DATA_")?a.get("_DATA_"):
a.get("_IMAGE_"));p(a,JS.SV)&&(a=a.value);var k=p(a,String)?a:null,m=!1;null!=k&&k.startsWith(";base64,")?g=JU.Base64.decodeBase64(k):p(a,JU.BArray)?g=a.data:null==c||p(a,String)?(k=this.getClassifiedName(a,!0),f=null==k?"cannot read file name: "+a:k[0].$replace("\\","/"),null!=k&&(e=this.getJmb().getImage(f,c,b)),m=null==e):e=a;null!=g&&(e=this.getJmb().getImage(g,c,!0),m=!1);p(e,String)&&(f=e,e=null);!this.vwr.isJS&&(null!=e&&null!=g)&&(f=";base64,"+JU.Base64.getBase64(g).toString());return!this.vwr.isJS||
h&&null==f?this.vwr.loadImageData(e,f,c,null):m},"~O,~S,~B");b(c$,"getClassifiedName",function(a,c){if(null==a)return x(-1,[null]);var b=0<this.pathForAllFiles.length;if(a.startsWith("?")||a.startsWith("http://?")){if(!this.vwr.isJS&&null==(a=this.vwr.dialogAsk("Load",a,null)))return x(-1,[c?"#CANCELED#":null]);b=!1}var e=null,f=null,g=null;if(a.startsWith("cache://"))return g=Array(3),g[0]=g[2]=a,g[1]=JV.FileManager.stripPath(g[0]),g;a=this.vwr.resolveDatabaseFormat(a);0>a.indexOf(":")&&0!=a.indexOf("/")&&
(a=JV.FileManager.addDirectory(this.vwr.getDefaultDirectory(),a));if(null==this.appletDocumentBaseURL)if(0<=JU.OC.urlTypeIndex(a)||this.vwr.haveAccess(JV.Viewer.ACCESS.NONE)||this.vwr.haveAccess(JV.Viewer.ACCESS.READSPT)&&!a.endsWith(".spt")&&!a.endsWith("/"))try{f=new java.net.URL(ca("java.net.URL"),a,null)}catch(h){if(C(h,java.net.MalformedURLException))return x(-1,[c?h.toString():null]);throw h;}else var e=this.vwr.apiPlatform.newFile(a),g=e.getFullPath(),k=e.getName(),g=x(-1,[null==g?k:g,k,null==
g?k:"file:/"+g.$replace("\\","/")]);else try{if(1==a.indexOf(":\\")||1==a.indexOf(":/"))a="file:/"+a;f=new java.net.URL(this.appletDocumentBaseURL,a,null)}catch(m){if(C(m,java.net.MalformedURLException))return x(-1,[c?m.toString():null]);throw m;}null!=f&&(g=Array(3),g[0]=g[2]=f.toString(),g[1]=JV.FileManager.stripPath(g[0]));b&&(b=g[0],g[0]=this.pathForAllFiles+g[1],JU.Logger.info("FileManager substituting "+b+" --\x3e "+g[0]));if(c&&(null!=e||4==JU.OC.urlTypeIndex(g[0])))e=null==e?JU.PT.trim(g[0].substring(5),
"/"):g[0],b=e.length-g[1].length-1,0<b&&(e=e.substring(0,b),JV.FileManager.setLocalPath(this.vwr,e,!0));return g},"~S,~B");c$.addDirectory=b(c$,"addDirectory",function(a,c){if(0==a.length)return c;var b=0<c.length?c.charAt(0):" ",e=a.toLowerCase();if((e.endsWith(".zip")||e.endsWith(".tar"))&&"|"!=b&&"/"!=b)a+="|";return a+("/"==b||"/"==b||"|"==(b=a.charAt(a.length-1))||"/"==b?"":"/")+c},"~S,~S");b(c$,"getDefaultDirectory",function(a){a=this.getClassifiedName(a,!0);if(null==a)return"";a=JV.FileManager.fixPath(a[0]);
return null==a?"":a.substring(0,a.lastIndexOf("/"))},"~S");c$.fixPath=b(c$,"fixPath",function(a){a=a.$replace("\\","/");a=JU.PT.rep(a,"/./","/");var c=a.lastIndexOf("//")+1;1>c&&(c=a.indexOf(":/")+1);1>c&&(c=a.indexOf("/"));if(0>c)return null;var b=a.substring(0,c);for(a=a.substring(c);0<=(c=a.lastIndexOf("/../"));){var e=a.substring(0,c).lastIndexOf("/");if(0>e)return JU.PT.rep(b+a,"/../","/");a=a.substring(0,e)+a.substring(c+3)}0==a.length&&(a="/");return b+a},"~S");b(c$,"getFilePath",function(a,
c,b){a=this.getClassifiedName(a,!1);return null==a||1==a.length?"":b?a[1]:c?a[2]:null==a[0]?"":a[0].$replace("\\","/")},"~S,~B,~B");c$.getLocalDirectory=b(c$,"getLocalDirectory",function(a,c){var b=a.getP(c?"currentLocalPath":"defaultDirectoryLocal");c&&0==b.length&&(b=a.getP("defaultDirectoryLocal"));if(0==b.length)return a.isApplet?null:a.apiPlatform.newFile(System.getProperty("user.dir","."));a.isApplet&&0==b.indexOf("file:/")&&(b=b.substring(6));b=a.apiPlatform.newFile(b);try{return b.isDirectory()?
b:b.getParentAsFile()}catch(e){if(C(e,Exception))return null;throw e;}},"JV.Viewer,~B");c$.setLocalPath=b(c$,"setLocalPath",function(a,c,b){for(;c.endsWith("/")||c.endsWith("\\");)c=c.substring(0,c.length-1);a.setStringProperty("currentLocalPath",c);b||a.setStringProperty("defaultDirectoryLocal",c)},"JV.Viewer,~S,~B");c$.getLocalPathForWritingFile=b(c$,"getLocalPathForWritingFile",function(a,c){if(c.startsWith("http://"))return c;c=JU.PT.rep(c,"?","");if(0==c.indexOf("file:/"))return c.substring(6);
if(0==c.indexOf("/")||0<=c.indexOf(":"))return c;var b=null;try{b=JV.FileManager.getLocalDirectory(a,!1)}catch(e){if(!C(e,Exception))throw e;}return null==b?c:JV.FileManager.fixPath(b.toString()+"/"+c)},"JV.Viewer,~S");c$.setScriptFileReferences=b(c$,"setScriptFileReferences",function(a,c,b,e){null!=c&&(a=JV.FileManager.setScriptFileRefs(a,c,!0));null!=b&&(a=JV.FileManager.setScriptFileRefs(a,b,!1));a=JU.PT.rep(a,'\u0001"','"');if(null!=e){for(;e.endsWith("/");)e=e.substring(0,e.length-1);for(c=0;c<
JV.FileManager.scriptFilePrefixes.length;c++)b=JV.FileManager.scriptFilePrefixes[c],a=JU.PT.rep(a,b+".",b+e)}return a},"~S,~S,~S,~S");c$.setScriptFileRefs=b(c$,"setScriptFileRefs",function(a,c,b){if(null==c)return a;var e=0==c.length,f=new JU.Lst;J.io.JmolBinary.getFileReferences(a,f);for(var g=new JU.Lst,h=new JU.Lst,k=f.size(),m=0;m<k;m++){var l=f.get(m),p=l;if(b==JU.OC.isLocal(p)){var q=e?-1:p.indexOf("/"+c+"/");0<=q?p=p.substring(q+1):(q=p.lastIndexOf("/"),0>q&&!e&&(p="/"+p),(0>q||e)&&q++,p=c+
p.substring(q))}JU.Logger.info("FileManager substituting "+l+" --\x3e "+p);g.addLast('"'+l+'"');h.addLast('\u0001"'+p+'"')}return JU.PT.replaceStrings(a,g,h)},"~S,~S,~B");c$.stripPath=b(c$,"stripPath",function(a){var c=Math.max(a.lastIndexOf("|"),a.lastIndexOf("/"));return a.substring(c+1)},"~S");c$.fixFileNameVariables=b(c$,"fixFileNameVariables",function(a,c){var b=JU.PT.rep(a,"%FILE",c);if(0>b.indexOf("%LC"))return b;c=c.toLowerCase();b=JU.PT.rep(b,"%LCFILE",c);4==c.length&&(b=JU.PT.rep(b,"%LC13",
c.substring(1,3)));return b},"~S,~S");b(c$,"cachePut",function(a,c){a=a.$replace("\\","/");JU.Logger.debugging&&JU.Logger.debug("cachePut "+a);null==c||"".equals(c)?this.cache.remove(a):(this.cache.put(a,c),this.getCachedPngjBytes(a))},"~S,~O");b(c$,"cacheGet",function(a,c){a=a.$replace("\\","/");var b=a.indexOf("|");0<=b&&!a.endsWith("##JmolSurfaceInfo##")&&(a=a.substring(0,b));a=this.getFilePath(a,!0,!1);b=null;(b=Jmol.Cache.get(a))||(b=this.cache.get(a));return c&&p(b,String)?null:b},"~S,~B");
b(c$,"cacheClear",function(){JU.Logger.info("cache cleared");this.cache.clear();null!=this.pngjCache&&(this.pngjCache=null,JU.Logger.info("PNGJ cache cleared"))});b(c$,"cacheFileByNameAdd",function(a,c){if(null==a||!c&&a.equalsIgnoreCase(""))return this.cacheClear(),-1;var b;if(c){a=this.vwr.resolveDatabaseFormat(a);b=this.getFileAsBytes(a,null);if(p(b,String))return 0;this.cachePut(a,b)}else{if(a.endsWith("*"))return JU.AU.removeMapKeys(this.cache,a.substring(0,a.length-1));b=this.cache.remove(a.$replace("\\",
"/"))}return null==b?0:(p(b,String),b.length)},"~S,~B");b(c$,"cacheList",function(){for(var a=new java.util.Hashtable,c,b=this.cache.entrySet().iterator();b.hasNext()&&((c=b.next())||1);)a.put(c.getKey(),Integer.$valueOf(JU.AU.isAB(c.getValue())?c.getValue().length:c.getValue().toString().length));return a});b(c$,"getCanonicalName",function(a){var c=this.getClassifiedName(a,!0);return null==c?a:c[2]},"~S");e(c$,"postByteArray",function(a,c){var b=this.getBufferedInputStreamOrErrorMessageFromName(a,
null,!1,!1,c,!1,!0);if(p(b,String))return b;try{b=JU.Rdr.getStreamAsBytes(b,null)}catch(e){if(C(e,java.io.IOException))try{b.close()}catch(f){if(!C(f,java.io.IOException))throw f;}else throw e;}return null==b?"":JU.Rdr.fixUTF(b)},"~S,~A");c$.getBufferedReaderForResource=b(c$,"getBufferedReaderForResource",function(a,c,b,e){e=a.vwrOptions.get("codePath")+b+e;if(a.async){a=a.fm.cacheGet(e,!1);if(null==a)throw new JV.JmolAsyncException(e);return JU.Rdr.getBufferedReader(JU.Rdr.getBIS(a),null)}return a.fm.getBufferedReaderOrErrorMessageFromName(e,
x(-1,[null,null]),!1,!0)},"JV.Viewer,~O,~S,~S");c$.determineSurfaceTypeIs=b(c$,"determineSurfaceTypeIs",function(a){var c;try{c=JU.Rdr.getBufferedReader(new java.io.BufferedInputStream(a),"ISO-8859-1")}catch(b){if(C(b,java.io.IOException))return null;throw b;}return JV.FileManager.determineSurfaceFileType(c)},"java.io.InputStream");c$.determineSurfaceFileType=b(c$,"determineSurfaceFileType",function(a){var c=null,b=null;try{b=new JU.LimitedLineReader(a,16E3),c=b.getHeader(0)}catch(e){if(!C(e,Exception))throw e;
}if(null==b||null==c||0==c.length)return null;switch(c.charAt(0)){case "@":if(0==c.indexOf("@text"))return"Kinemage";break;case "#":if(0<=c.indexOf(".obj"))return"Obj";if(0<=c.indexOf("MSMS"))return"Msms";break;case "&":if(0==c.indexOf("&plot"))return"Jaguar";break;case "\r":case "\n":if(0<=c.indexOf("ZYX"))return"Xplor"}if(0<=c.indexOf("Here is your gzipped map"))return"UPPSALA"+c;if(c.startsWith("4MESHC"))return"Pmesh4";if(0<=c.indexOf("! nspins"))return"CastepDensity";if(0<=c.indexOf("<jvxl")&&
0<=c.indexOf("<?xml"))return"JvxlXml";if(0<=c.indexOf("#JVXL+"))return"Jvxl+";if(0<=c.indexOf("#JVXL"))return"Jvxl";if(0<=c.indexOf("<efvet "))return"Efvet";if(0<=c.indexOf("usemtl"))return"Obj";if(0==c.indexOf("# object with"))return"Nff";if(0<=c.indexOf("BEGIN_DATAGRID_3D")||0<=c.indexOf("BEGIN_BANDGRID_3D"))return"Xsf";if(0<=c.indexOf("tiles in x, y"))return"Ras3D";if(0<=c.indexOf("\x00")){if(0==c.indexOf("PM\u0001\x00"))return"Pmesh";if(0==c.indexOf("\u0014\x00\x00\x00"))return"DelPhi";if(208==
c.indexOf("MAP "))return"Mrc";if(37<c.length&&(0==c.charCodeAt(36)&&100==c.charCodeAt(37)||0==c.charCodeAt(36)&&100==c.charCodeAt(37)))return"Dsn6"}if(0<=c.indexOf(" 0.00000e+00 0.00000e+00      0      0\n"))return"Uhbd";c=b.readLineWithNewline();if(0==c.indexOf("object 1 class gridpositions counts"))return"Apbs";a=JU.PT.getTokens(c);var f=b.readLineWithNewline();if(2==a.length&&(3==JU.PT.parseInt(a[0])&&-2147483648!=JU.PT.parseInt(a[1]))&&(a=JU.PT.getTokens(f),3==a.length&&-2147483648!=JU.PT.parseInt(a[0])&&
-2147483648!=JU.PT.parseInt(a[1])&&-2147483648!=JU.PT.parseInt(a[2])))return"PltFormatted";var g=b.readLineWithNewline();if(c.startsWith("v ")&&f.startsWith("v ")&&g.startsWith("v "))return"Obj";f=JU.PT.parseInt(g);if(-2147483648==f)return 0==g.indexOf("+")?"Jvxl+":null;a=JU.PT.getTokens(g);if(0<a[0].indexOf("."))return 60<=g.length||3!=a.length?null:"VaspChgcar";if(0<=f)return 4==a.length?"Cube":null;for(a=4+-f;0<=--a;)if(null==(c=b.readLineWithNewline()))return null;c=JU.PT.parseInt(c);return-2147483648==
c?null:0>c?"Jvxl":"Cube"},"java.io.BufferedReader");b(c$,"getCachedPngjBytes",function(a){return null==a||null==this.pngjCache||0>a.indexOf(".png")?null:this.getJmb().getCachedPngjBytes(a)},"~S");b(c$,"spardirPut",function(a,c){null==this.spardirCache&&(this.spardirCache=new java.util.Hashtable);this.spardirCache.put(a,c)},"~S,~A");b(c$,"recachePngjBytes",function(a,c){null!=this.pngjCache&&this.pngjCache.containsKey(a)&&(this.pngjCache.put(a,c),JU.Logger.info("PNGJ recaching "+a+" ("+c.length+")"))},
"~S,~A");D(c$,"SIMULATION_PROTOCOL","http://SIMULATION/");c$.scriptFilePrefixes=c$.prototype.scriptFilePrefixes=x(-1,['/*file*/"','FILE0="','FILE1="']);D(c$,"JPEG_CONTINUE_STRING"," #Jmol...\x00","DELPHI_BINARY_MAGIC_NUMBER","\u0014\x00\x00\x00")});l("JV");u(["java.util.Hashtable","JU.P3","J.c.CBK"],"JV.GlobalSettings","java.lang.Boolean $.Float JU.DF $.PT $.SB J.c.STR JS.SV JU.Escape $.Logger JV.JC $.StateManager $.Viewer".split(" "),function(){c$=r(function(){this.databases=this.htUserVariables=
this.htPropertyFlagsRemoved=this.htBooleanParameterFlags=this.htNonbooleanParameterValues=this.vwr=null;this.zDepth=0;this.zShadePower=3;this.zSlab=50;this.slabByAtom=this.slabByMolecule=!1;this.appendNew=this.allowEmbeddedScripts=!0;this.appletProxy="";this.applySymmetryToBonds=!1;this.atomTypes="";this.autoBond=!0;this.axesOrientationRasmol=!1;this.bondRadiusMilliAngstroms=150;this.bondTolerance=0.45;this.defaultDirectory="";this.defaultStructureDSSP=!0;this.ptDefaultLattice=null;this.defaultLoadFilter=
this.defaultLoadScript="";this.defaultDropScript="zap; load SYNC \"%FILE\";if (%ALLOWCARTOONS && _loadScript == '' && defaultLoadScript == '' && _filetype == 'Pdb') {if ({(protein or nucleic)&*/1.1} && {*/1.1}[1].groupindex != {*/1.1}[0].groupindex){select protein or nucleic;cartoons only;}if ({visible}){color structure}else{wireframe -0.1};if (!{visible}){spacefill 23%};select *}";this.forceAutoBond=!1;this.fractionalRelative=!0;this.inlineNewlineChar="|";this.pubChemFormat=this.nihResolverFormat=
this.smilesUrlFormat=this.nmrPredictFormat=this.nmrUrlFormat=this.loadLigandFormat=this.loadFormat=null;this.edsUrlFormat="http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.omap";this.edsUrlFormatDiff="http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE_diff.omap";this.edsUrlCutoff="http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.sfdat";this.minBondDistance=0.4;this.minPixelSelRadius=6;this.pdbSequential=this.pdbGetHeader=this.pdbAddHydrogens=!1;this.percentVdwAtom=23;this.smallMoleculeMaxAtoms=
4E4;this.smartAromatic=!0;this.legacyJavaFloat=this.legacyHAddition=this.legacyAutoBonding=this.zeroBasedXyzRasmol=!1;this.modulateOccupancy=!0;this.solventOn=this.allowMoveAtoms=this.allowRotateSelected=!1;this.defaultTorsionLabel=this.defaultDistanceLabel=this.defaultAngleLabel="%VALUE %UNITS";this.measureAllModels=this.justifyMeasurements=!1;this.minimizationSteps=100;this.minimizationRefresh=!0;this.minimizationSilent=!1;this.minimizationCriterion=0.001;this.antialiasDisplay=!1;this.displayCellParameters=
this.antialiasTranslucent=this.imageState=this.antialiasImages=!0;this.dotsSelectedOnly=!1;this.dotSurface=!0;this.dotDensity=3;this.meshScale=this.dotScale=1;this.isosurfaceKey=this.greyscaleRendering=!1;this.isosurfacePropertySmoothing=!0;this.isosurfacePropertySmoothingPower=7;this.platformSpeed=10;this.repaintWaitMs=1E3;this.showHiddenSelectionHalos=!1;this.showMeasurements=this.showKeyStrokes=!0;this.showTiming=!1;this.zoomLarge=!0;this.zoomHeight=!1;this.backgroundImageFileName=null;this.hbondsBackbone=
this.bondModeOr=this.partialDots=!1;this.hbondsAngleMinimum=90;this.hbondsDistanceMaximum=3.25;this.hbondsRasmol=!0;this.hbondsSolid=!1;this.modeMultipleBond=2;this.showMultipleBonds=this.showHydrogens=!0;this.ssbondsBackbone=!1;this.multipleBondSpacing=-1;this.multipleBondRadiusFactor=0;this.chainCaseSensitive=this.cartoonRibose=this.cartoonLadders=this.cartoonFancy=this.backboneSteps=this.cartoonRockets=this.cartoonBaseEdges=this.multipleBondBananas=!1;this.hermiteLevel=0;this.rangeSelected=this.highResolutionFlag=
!1;this.rasmolHeteroSetting=this.rasmolHydrogenSetting=!0;this.ribbonAspectRatio=16;this.rocketBarrels=this.ribbonBorder=!1;this.sheetSmoothing=1;this.translucent=this.traceAlpha=!0;this.allowGestures=this.twistedSheets=!1;this.allowMultiTouch=this.allowModelkit=!0;this.allowKeyStrokes=!1;this.animationFps=10;this.atomPicking=!0;this.autoFps=!1;this.axesMode=603979810;this.axesScale=2;this.starWidth=0.05;this.bondPicking=!1;this.dataSeparator="~~~";this.debugScript=!1;this.defaultDrawArrowScale=0.5;
this.defaultLabelXYZ="%a";this.defaultLabelPDB="%m%r";this.defaultTranslucent=0.5;this.delayMaximumMs=0;this.dipoleScale=1;this.drawFontSize=14;this.drawPicking=this.drawHover=this.dragSelected=this.disablePopupMenu=!1;this.dsspCalcHydrogen=!0;this.energyUnits="kJ";this.exportScale=1;this.helpPath="http://chemapps.stolaf.edu/jmol/docs/index.htm";this.fontScaling=!1;this.fontCaching=!0;this.forceField="MMFF";this.helixStep=1;this.hideNameInPopup=!1;this.hoverDelayMs=500;this.loadAtomDataTolerance=
0.01;this.logGestures=this.logCommands=!1;this.measureDistanceUnits="nanometers";this.measurementLabels=!0;this.monitorEnergy=this.messageStyleChime=!1;this.modulationScale=1;this.multiProcessor=!0;this.particleRadius=20;this.pickingSpinRate=10;this.pickLabel="";this.pointGroupDistanceTolerance=0.2;this.pointGroupLinearTolerance=8;this.preserveState=!0;this.propertyColorScheme="roygb";this.quaternionFrame="p";this.saveProteinStructureState=!0;this.showModVecs=!1;this.showUnitCellDetails=!0;this.solventProbeRadius=
1.2;this.scriptDelay=0;this.statusReporting=this.selectAllModels=!0;this.strandCountForStrands=5;this.strandCountForMeshRibbon=7;this.strutSpacing=6;this.strutLengthMaximum=7;this.strutDefaultRadius=0.3;this.strutsMultiple=!1;this.waitForMoveTo=this.useScriptQueue=this.useNumberLocalization=this.useMinimizationThread=!0;this.vectorScale=1;this.vectorsCentered=this.vectorSymmetry=!1;this.vibrationScale=this.vibrationPeriod=1;this.navigationPeriodic=this.navigationMode=this.hideNavigationPoint=this.wireframeRotation=
!1;this.navigationSpeed=5;this.showNavigationPointAlways=!1;this.stereoState=null;this.modelKitMode=!1;this.objMad=this.objStateOn=this.objColors=null;this.ellipsoidFill=this.ellipsoidArrows=this.ellipsoidArcs=this.ellipsoidDots=this.ellipsoidAxes=!1;this.ellipsoidBall=!0;this.ellipsoidDotCount=200;this.ellipsoidAxisDiameter=0.02;this.testFlag4=this.testFlag3=this.testFlag2=this.testFlag1=!1;this.structureList=null;this.haveSetStructureList=!1;this.userDatabases=null;this.bondingVersion=0;q(this,
arguments)},JV,"GlobalSettings");M(c$,function(){this.htUserVariables=new java.util.Hashtable;this.ptDefaultLattice=new JU.P3;this.objColors=y(8,0);this.objStateOn=ha(8,!1);this.objMad=y(8,0);this.structureList=new java.util.Hashtable;this.structureList.put(J.c.STR.TURN,G(-1,[30,90,-15,95]));this.structureList.put(J.c.STR.SHEET,G(-1,[-180,-10,70,180,-180,-45,-180,-130,140,180,90,180]));this.structureList.put(J.c.STR.HELIX,G(-1,[-160,0,-100,45]))});t(c$,function(a,c,b){this.vwr=a;this.htNonbooleanParameterValues=
new java.util.Hashtable;this.htBooleanParameterFlags=new java.util.Hashtable;this.htPropertyFlagsRemoved=new java.util.Hashtable;null!=c&&(b||(this.htUserVariables=c.htUserVariables),this.debugScript=c.debugScript,this.disablePopupMenu=c.disablePopupMenu,this.messageStyleChime=c.messageStyleChime,this.defaultDirectory=c.defaultDirectory,this.allowGestures=c.allowGestures,this.allowModelkit=c.allowModelkit,this.allowMultiTouch=c.allowMultiTouch,this.allowKeyStrokes=c.allowKeyStrokes,this.legacyAutoBonding=
c.legacyAutoBonding,this.legacyHAddition=c.legacyHAddition,this.legacyJavaFloat=c.legacyJavaFloat,this.bondingVersion=c.bondingVersion,this.platformSpeed=c.platformSpeed,this.useScriptQueue=c.useScriptQueue,this.databases=c.databases,this.showTiming=c.showTiming,this.wireframeRotation=c.wireframeRotation,this.testFlag1=c.testFlag1,this.testFlag2=c.testFlag2,this.testFlag3=c.testFlag3,this.testFlag4=c.testFlag4);null==this.databases&&(this.databases=new java.util.Hashtable,this.getDataBaseList(JV.JC.databases),
this.getDataBaseList(this.userDatabases));this.loadFormat=this.databases.get("pdb");this.loadLigandFormat=this.databases.get("ligand");this.nmrUrlFormat=this.databases.get("nmr");this.nmrPredictFormat=this.databases.get("nmrdb");this.smilesUrlFormat=this.databases.get("nci")+"/file?format=sdf&get3d=True";this.nihResolverFormat=this.databases.get("nci");this.pubChemFormat=this.databases.get("pubchem");var e;b=0;for(var f=J.c.CBK.values();b<f.length&&((e=f[b])||1);b++)this.resetValue(e.name()+"Callback",
c);this.setF("cameraDepth",3);this.setI("contextDepthMax",100);this.setI("depth",0);this.setF("gestureSwipeFactor",1);this.setB("hideNotSelected",!1);this.setI("historyLevel",0);this.setO("hoverLabel","");this.setB("isKiosk",a.isKiosk());this.setO("logFile",a.getLogFileName());this.setI("logLevel",JU.Logger.getLogLevel());this.setF("mouseWheelFactor",1.15);this.setF("mouseDragFactor",1);this.setI("navFps",10);this.setI("navigationDepth",0);this.setI("navigationSlab",0);this.setI("navX",0);this.setI("navY",
0);this.setI("navZ",0);this.setO("pathForAllFiles","");this.setB("perspectiveDepth",!0);this.setI("perspectiveModel",11);this.setO("picking","identify");this.setO("pickingStyle","toggle");this.setB("refreshing",!0);this.setI("rotationRadius",0);this.setI("scaleAngstromsPerInch",0);this.setI("scriptReportingLevel",0);this.setB("selectionHalos",!1);this.setB("showaxes",!1);this.setB("showboundbox",!1);this.setB("showfrank",!1);this.setB("showUnitcell",!1);this.setI("slab",100);this.setB("slabEnabled",
!1);this.setF("slabrange",0);this.setI("spinX",0);this.setI("spinY",30);this.setI("spinZ",0);this.setI("spinFps",30);this.setF("visualRange",5);this.setI("stereoDegrees",-5);this.setB("syncScript",a.sm.syncingScripts);this.setB("syncMouse",a.sm.syncingMouse);this.setB("syncStereo",a.sm.stereoSync);this.setB("windowCentered",!0);this.setB("zoomEnabled",!0);this.setI("_version",JV.JC.versionInt);this.setB("axesWindow",!0);this.setB("axesMolecular",!1);this.setB("axesPosition",!1);this.setB("axesUnitcell",
!1);this.setI("backgroundModel",0);this.setB("colorRasmol",!1);this.setO("currentLocalPath","");this.setO("defaultLattice","{0 0 0}");this.setO("defaultColorScheme","Jmol");this.setO("defaultDirectoryLocal","");this.setO("defaults","Jmol");this.setO("defaultVDW","Jmol");this.setO("exportDrivers","Idtf;Maya;Povray;Vrml;X3d;Tachyon;Obj");this.setI("propertyAtomNumberColumnCount",0);this.setI("propertyAtomNumberField",0);this.setI("propertyDataColumnCount",0);this.setI("propertyDataField",0);this.setB("undo",
!0);this.setB("allowEmbeddedScripts",this.allowEmbeddedScripts);this.setB("allowGestures",this.allowGestures);this.setB("allowKeyStrokes",this.allowKeyStrokes);this.setB("allowModelkit",this.allowModelkit);this.setB("allowMultiTouch",this.allowMultiTouch);this.setB("allowRotateSelected",this.allowRotateSelected);this.setB("allowMoveAtoms",this.allowMoveAtoms);this.setI("animationFps",this.animationFps);this.setB("antialiasImages",this.antialiasImages);this.setB("antialiasDisplay",this.antialiasDisplay);
this.setB("antialiasTranslucent",this.antialiasTranslucent);this.setB("appendNew",this.appendNew);this.setO("appletProxy",this.appletProxy);this.setB("applySymmetryToBonds",this.applySymmetryToBonds);this.setB("atomPicking",this.atomPicking);this.setO("atomTypes",this.atomTypes);this.setB("autoBond",this.autoBond);this.setB("autoFps",this.autoFps);this.setI("axesMode",603979808==this.axesMode?2:603979804==this.axesMode?1:0);this.setF("axesScale",this.axesScale);this.setB("axesOrientationRasmol",this.axesOrientationRasmol);
this.setB("backboneSteps",this.backboneSteps);this.setB("bondModeOr",this.bondModeOr);this.setB("bondPicking",this.bondPicking);this.setI("bondRadiusMilliAngstroms",this.bondRadiusMilliAngstroms);this.setF("bondTolerance",this.bondTolerance);this.setB("cartoonBaseEdges",this.cartoonBaseEdges);this.setB("cartoonFancy",this.cartoonFancy);this.setB("cartoonLadders",this.cartoonLadders);this.setB("cartoonLadders",this.cartoonRibose);this.setB("cartoonRockets",this.cartoonRockets);this.setB("chainCaseSensitive",
this.chainCaseSensitive);this.setI("bondingVersion",this.bondingVersion);this.setO("dataSeparator",this.dataSeparator);this.setB("debugScript",this.debugScript);this.setO("defaultAngleLabel",this.defaultAngleLabel);this.setF("defaultDrawArrowScale",this.defaultDrawArrowScale);this.setO("defaultDirectory",this.defaultDirectory);this.setO("defaultDistanceLabel",this.defaultDistanceLabel);this.setO("defaultDropScript",this.defaultDropScript);this.setO("defaultLabelPDB",this.defaultLabelPDB);this.setO("defaultLabelXYZ",
this.defaultLabelXYZ);this.setO("defaultLoadFilter",this.defaultLoadFilter);this.setO("defaultLoadScript",this.defaultLoadScript);this.setB("defaultStructureDSSP",this.defaultStructureDSSP);this.setO("defaultTorsionLabel",this.defaultTorsionLabel);this.setF("defaultTranslucent",this.defaultTranslucent);this.setI("delayMaximumMs",this.delayMaximumMs);this.setF("dipoleScale",this.dipoleScale);this.setB("disablePopupMenu",this.disablePopupMenu);this.setB("displayCellParameters",this.displayCellParameters);
this.setI("dotDensity",this.dotDensity);this.setI("dotScale",this.dotScale);this.setB("dotsSelectedOnly",this.dotsSelectedOnly);this.setB("dotSurface",this.dotSurface);this.setB("dragSelected",this.dragSelected);this.setB("drawHover",this.drawHover);this.setF("drawFontSize",this.drawFontSize);this.setB("drawPicking",this.drawPicking);this.setB("dsspCalculateHydrogenAlways",this.dsspCalcHydrogen);this.setO("edsUrlFormat",this.edsUrlFormat);this.setO("edsUrlFormatDiff",this.edsUrlFormatDiff);this.setO("edsUrlCutoff",
this.edsUrlCutoff);this.setB("ellipsoidArcs",this.ellipsoidArcs);this.setB("ellipsoidArrows",this.ellipsoidArrows);this.setB("ellipsoidAxes",this.ellipsoidAxes);this.setF("ellipsoidAxisDiameter",this.ellipsoidAxisDiameter);this.setB("ellipsoidBall",this.ellipsoidBall);this.setI("ellipsoidDotCount",this.ellipsoidDotCount);this.setB("ellipsoidDots",this.ellipsoidDots);this.setB("ellipsoidFill",this.ellipsoidFill);this.setO("energyUnits",this.energyUnits);this.setF("exportScale",this.exportScale);this.setB("fontScaling",
this.fontScaling);this.setB("fontCaching",this.fontCaching);this.setB("forceAutoBond",this.forceAutoBond);this.setO("forceField",this.forceField);this.setB("fractionalRelative",this.fractionalRelative);this.setF("particleRadius",this.particleRadius);this.setB("greyscaleRendering",this.greyscaleRendering);this.setF("hbondsAngleMinimum",this.hbondsAngleMinimum);this.setF("hbondsDistanceMaximum",this.hbondsDistanceMaximum);this.setB("hbondsBackbone",this.hbondsBackbone);this.setB("hbondsRasmol",this.hbondsRasmol);
this.setB("hbondsSolid",this.hbondsSolid);this.setI("helixStep",this.helixStep);this.setO("helpPath",this.helpPath);this.setI("hermiteLevel",this.hermiteLevel);this.setB("hideNameInPopup",this.hideNameInPopup);this.setB("hideNavigationPoint",this.hideNavigationPoint);this.setB("highResolution",this.highResolutionFlag);this.setF("hoverDelay",this.hoverDelayMs/1E3);this.setB("imageState",this.imageState);this.setB("isosurfaceKey",this.isosurfaceKey);this.setB("isosurfacePropertySmoothing",this.isosurfacePropertySmoothing);
this.setI("isosurfacePropertySmoothingPower",this.isosurfacePropertySmoothingPower);this.setB("justifyMeasurements",this.justifyMeasurements);this.setB("legacyAutoBonding",this.legacyAutoBonding);this.setB("legacyHAddition",this.legacyHAddition);this.setB("legacyJavaFloat",this.legacyJavaFloat);this.setF("loadAtomDataTolerance",this.loadAtomDataTolerance);this.setO("loadFormat",this.loadFormat);this.setO("loadLigandFormat",this.loadLigandFormat);this.setB("logCommands",this.logCommands);this.setB("logGestures",
this.logGestures);this.setB("measureAllModels",this.measureAllModels);this.setB("measurementLabels",this.measurementLabels);this.setO("measurementUnits",this.measureDistanceUnits);this.setI("meshScale",this.meshScale);this.setB("messageStyleChime",this.messageStyleChime);this.setF("minBondDistance",this.minBondDistance);this.setI("minPixelSelRadius",this.minPixelSelRadius);this.setI("minimizationSteps",this.minimizationSteps);this.setB("minimizationRefresh",this.minimizationRefresh);this.setB("minimizationSilent",
this.minimizationSilent);this.setF("minimizationCriterion",this.minimizationCriterion);this.setB("modelKitMode",this.modelKitMode);this.setF("modulationScale",this.modulationScale);this.setB("monitorEnergy",this.monitorEnergy);this.setF("multipleBondRadiusFactor",this.multipleBondRadiusFactor);this.setB("multipleBondBananas",this.multipleBondBananas);this.setF("multipleBondSpacing",this.multipleBondSpacing);this.setB("multiProcessor",this.multiProcessor&&1<JV.Viewer.nProcessors);this.setB("navigationMode",
this.navigationMode);this.setB("navigationPeriodic",this.navigationPeriodic);this.setF("navigationSpeed",this.navigationSpeed);this.setO("nmrPredictFormat",this.nmrPredictFormat);this.setO("nmrUrlFormat",this.nmrUrlFormat);this.setB("partialDots",this.partialDots);this.setB("pdbAddHydrogens",this.pdbAddHydrogens);this.setB("pdbGetHeader",this.pdbGetHeader);this.setB("pdbSequential",this.pdbSequential);this.setI("percentVdwAtom",this.percentVdwAtom);this.setI("pickingSpinRate",this.pickingSpinRate);
this.setO("pickLabel",this.pickLabel);this.setI("platformSpeed",this.platformSpeed);this.setF("pointGroupLinearTolerance",this.pointGroupLinearTolerance);this.setF("pointGroupDistanceTolerance",this.pointGroupDistanceTolerance);this.setB("preserveState",this.preserveState);this.setO("propertyColorScheme",this.propertyColorScheme);this.setO("quaternionFrame",this.quaternionFrame);this.setB("rangeSelected",this.rangeSelected);this.setI("repaintWaitMs",this.repaintWaitMs);this.setI("ribbonAspectRatio",
this.ribbonAspectRatio);this.setB("ribbonBorder",this.ribbonBorder);this.setB("rocketBarrels",this.rocketBarrels);this.setB("saveProteinStructureState",this.saveProteinStructureState);this.setB("scriptqueue",this.useScriptQueue);this.setB("selectAllModels",this.selectAllModels);this.setB("selectHetero",this.rasmolHeteroSetting);this.setB("selectHydrogen",this.rasmolHydrogenSetting);this.setF("sheetSmoothing",this.sheetSmoothing);this.setB("showHiddenSelectionHalos",this.showHiddenSelectionHalos);
this.setB("showHydrogens",this.showHydrogens);this.setB("showKeyStrokes",this.showKeyStrokes);this.setB("showMeasurements",this.showMeasurements);this.setB("showModulationVectors",this.showModVecs);this.setB("showMultipleBonds",this.showMultipleBonds);this.setB("showNavigationPointAlways",this.showNavigationPointAlways);this.setI("showScript",this.scriptDelay);this.setB("showtiming",this.showTiming);this.setB("slabByMolecule",this.slabByMolecule);this.setB("slabByAtom",this.slabByAtom);this.setB("smartAromatic",
this.smartAromatic);this.setI("smallMoleculeMaxAtoms",this.smallMoleculeMaxAtoms);this.setO("smilesUrlFormat",this.smilesUrlFormat);this.setO("nihResolverFormat",this.nihResolverFormat);this.setO("pubChemFormat",this.pubChemFormat);this.setB("showUnitCellDetails",this.showUnitCellDetails);this.setB("solventProbe",this.solventOn);this.setF("solventProbeRadius",this.solventProbeRadius);this.setB("ssbondsBackbone",this.ssbondsBackbone);this.setF("starWidth",this.starWidth);this.setB("statusReporting",
this.statusReporting);this.setI("strandCount",this.strandCountForStrands);this.setI("strandCountForStrands",this.strandCountForStrands);this.setI("strandCountForMeshRibbon",this.strandCountForMeshRibbon);this.setF("strutDefaultRadius",this.strutDefaultRadius);this.setF("strutLengthMaximum",this.strutLengthMaximum);this.setI("strutSpacing",this.strutSpacing);this.setB("strutsMultiple",this.strutsMultiple);this.setB("testFlag1",this.testFlag1);this.setB("testFlag2",this.testFlag2);this.setB("testFlag3",
this.testFlag3);this.setB("testFlag4",this.testFlag4);this.setB("traceAlpha",this.traceAlpha);this.setB("translucent",this.translucent);this.setB("twistedSheets",this.twistedSheets);this.setB("useMinimizationThread",this.useMinimizationThread);this.setB("useNumberLocalization",this.useNumberLocalization);this.setB("vectorsCentered",this.vectorsCentered);this.setF("vectorScale",this.vectorScale);this.setB("vectorSymmetry",this.vectorSymmetry);this.setF("vibrationPeriod",this.vibrationPeriod);this.setF("vibrationScale",
this.vibrationScale);this.setB("waitForMoveTo",this.waitForMoveTo);this.setB("wireframeRotation",this.wireframeRotation);this.setI("zDepth",this.zDepth);this.setB("zeroBasedXyzRasmol",this.zeroBasedXyzRasmol);this.setB("zoomHeight",this.zoomHeight);this.setB("zoomLarge",this.zoomLarge);this.setI("zShadePower",this.zShadePower);this.setI("zSlab",this.zSlab)},"JV.Viewer,JV.GlobalSettings,~B");b(c$,"clear",function(){for(var a=this.htUserVariables.keySet().iterator();a.hasNext();){var c=a.next();("@"==
c.charAt(0)||c.startsWith("site_"))&&a.remove()}this.vwr.setPicked(-1);this.setI("_atomhovered",-1);this.setO("_pickinfo","");this.setB("selectionhalos",!1);this.setB("hidenotselected",!1);this.setB("measurementlabels",this.measurementLabels=!0);this.setB("drawHover",this.drawHover=!1);this.vwr.stm.saveScene("DELETE",null)});b(c$,"setUnits",function(a){var c=this.measureDistanceUnits,b=this.energyUnits;a.equalsIgnoreCase("angstroms")?this.measureDistanceUnits="angstroms":a.equalsIgnoreCase("nanometers")||
a.equalsIgnoreCase("nm")?this.measureDistanceUnits="nanometers":a.equalsIgnoreCase("picometers")||a.equalsIgnoreCase("pm")?this.measureDistanceUnits="picometers":a.equalsIgnoreCase("bohr")||a.equalsIgnoreCase("au")?this.measureDistanceUnits="au":a.equalsIgnoreCase("vanderwaals")||a.equalsIgnoreCase("vdw")?this.measureDistanceUnits="vdw":a.toLowerCase().endsWith("hz")||a.toLowerCase().endsWith("khz")?this.measureDistanceUnits=a.toLowerCase():a.equalsIgnoreCase("kj")?this.energyUnits="kJ":a.equalsIgnoreCase("kcal")&&
(this.energyUnits="kcal");c.equalsIgnoreCase(this.measureDistanceUnits)?b.equalsIgnoreCase(this.energyUnits)||this.setO("energyUnits",this.energyUnits):this.setO("measurementUnits",this.measureDistanceUnits)},"~S");b(c$,"isJmolVariable",function(a){return"_"==a.charAt(0)||this.htNonbooleanParameterValues.containsKey(a=a.toLowerCase())||this.htBooleanParameterFlags.containsKey(a)||0<=JV.GlobalSettings.unreportedProperties.indexOf(";"+a+";")},"~S");b(c$,"resetValue",function(a,c){this.setO(a,null==
c?"":c.getParameter(a,!0))},"~S,JV.GlobalSettings");b(c$,"setB",function(a,c){a=a.toLowerCase();this.htNonbooleanParameterValues.containsKey(a)||this.htBooleanParameterFlags.put(a,c?Boolean.TRUE:Boolean.FALSE)},"~S,~B");b(c$,"setI",function(a,c){2147483647!=c&&this.setO(a,Integer.$valueOf(c))},"~S,~N");b(c$,"setF",function(a,c){Float.isNaN(c)||this.setO(a,Float.$valueOf(c))},"~S,~N");b(c$,"setO",function(a,c){a=a.toLowerCase();null==c||this.htBooleanParameterFlags.containsKey(a)||this.htNonbooleanParameterValues.put(a,
c)},"~S,~O");b(c$,"removeParam",function(a){a=a.toLowerCase();this.htBooleanParameterFlags.containsKey(a)?(this.htBooleanParameterFlags.remove(a),this.htPropertyFlagsRemoved.containsKey(a)||this.htPropertyFlagsRemoved.put(a,Boolean.FALSE)):this.htNonbooleanParameterValues.containsKey(a)&&this.htNonbooleanParameterValues.remove(a)},"~S");b(c$,"setUserVariable",function(a,c){null!=c&&(a=a.toLowerCase(),this.htUserVariables.put(a,c.setName(a)));return c},"~S,JS.SV");b(c$,"unsetUserVariable",function(a){a.equals("all")||
a.equals("variables")?(this.htUserVariables.clear(),JU.Logger.info("all user-defined variables deleted")):this.htUserVariables.containsKey(a)&&(JU.Logger.info("variable "+a+" deleted"),this.htUserVariables.remove(a))},"~S");b(c$,"removeUserVariable",function(a){this.htUserVariables.remove(a)},"~S");b(c$,"getUserVariable",function(a){if(null==a)return null;a=a.toLowerCase();return this.htUserVariables.get(a)},"~S");b(c$,"getParameterEscaped",function(a,c){a=a.toLowerCase();if(this.htNonbooleanParameterValues.containsKey(a)){var b=
this.htNonbooleanParameterValues.get(a);return JV.StateManager.varClip(a,JU.Escape.e(b),c)}return this.htBooleanParameterFlags.containsKey(a)?this.htBooleanParameterFlags.get(a).toString():this.htUserVariables.containsKey(a)?this.htUserVariables.get(a).escape():this.htPropertyFlagsRemoved.containsKey(a)?"false":"<not defined>"},"~S,~N");b(c$,"getParameter",function(a,c){var b=this.getParam(a,!1);return null==b&&c?"":b},"~S,~B");b(c$,"getAndSetNewVariable",function(a,c){if(null==a||0==a.length)a="x";
var b=this.getParam(a,!0);return null==b&&c&&"_"!=a.charAt(0)?this.setUserVariable(a,JS.SV.newV(4,"")):JS.SV.getVariable(b)},"~S,~B");b(c$,"getParam",function(a,c){a=a.toLowerCase();if(a.equals("_memory")){var b=JU.DF.formatDecimal(0,1)+"/"+JU.DF.formatDecimal(0,1);this.htNonbooleanParameterValues.put("_memory",b)}return this.htNonbooleanParameterValues.containsKey(a)?this.htNonbooleanParameterValues.get(a):this.htBooleanParameterFlags.containsKey(a)?this.htBooleanParameterFlags.get(a):this.htPropertyFlagsRemoved.containsKey(a)?
Boolean.FALSE:this.htUserVariables.containsKey(a)?(b=this.htUserVariables.get(a),c?b:JS.SV.oValue(b)):null},"~S,~B");b(c$,"getVariableList",function(){return JV.StateManager.getVariableList(this.htUserVariables,0,!0,!1)});b(c$,"setStructureList",function(a,c){this.haveSetStructureList=!0;this.structureList.put(c,a)},"~A,J.c.STR");b(c$,"getStructureList",function(){return this.structureList});b(c$,"resolveDataBase",function(a,c){var b=this.databases.get(a.toLowerCase());if(null==b)return null;0>c.indexOf("/")&&
(a.equals("pubchem")?c="name/"+c:a.equals("nci")&&(c+="/file?format=sdf&get3d=True"));try{for(;0<=b.indexOf("%c");)for(var e=1;10>e;e++)b=JU.PT.rep(b,"%c"+e,c.substring(e-1,e))}catch(f){if(!C(f,Exception))throw f;}return 0>b.indexOf("%FILE")?b+c:JU.PT.formatStringS(b,"FILE",c)},"~S,~S");c$.doReportProperty=b(c$,"doReportProperty",function(a){return"_"!=a.charAt(0)&&0>JV.GlobalSettings.unreportedProperties.indexOf(";"+a+";")},"~S");b(c$,"getDataBaseList",function(a){if(null!=a)for(var c=0;c<a.length;c+=
2)this.databases.put(a[c].toLowerCase(),a[c+1])},"~A");b(c$,"getAllVariables",function(){var a=new java.util.Hashtable;a.putAll(this.htBooleanParameterFlags);a.putAll(this.htNonbooleanParameterValues);a.putAll(this.htUserVariables);return a});b(c$,"getLoadState",function(a){var c=new JU.SB;this.app(c,"set allowEmbeddedScripts false");this.allowEmbeddedScripts&&this.setB("allowEmbeddedScripts",!0);this.app(c,"set appendNew "+this.appendNew);this.app(c,"set appletProxy "+JU.PT.esc(this.appletProxy));
this.app(c,"set applySymmetryToBonds "+this.applySymmetryToBonds);0<this.atomTypes.length&&this.app(c,"set atomTypes "+JU.PT.esc(this.atomTypes));this.app(c,"set autoBond "+this.autoBond);this.axesOrientationRasmol&&this.app(c,"set axesOrientationRasmol true");this.app(c,"set bondRadiusMilliAngstroms "+this.bondRadiusMilliAngstroms);this.app(c,"set bondTolerance "+this.bondTolerance);this.app(c,"set defaultLattice "+JU.Escape.eP(this.ptDefaultLattice));this.app(c,"set defaultLoadFilter "+JU.PT.esc(this.defaultLoadFilter));
this.app(c,'set defaultLoadScript ""');0<this.defaultLoadScript.length&&this.setO("defaultLoadScript",this.defaultLoadScript);this.app(c,"set defaultStructureDssp "+this.defaultStructureDSSP);var b=this.vwr.getDefaultVdwNameOrData(-2147483648,null,null);this.app(c,"set defaultVDW "+b);b.equals("User")&&this.app(c,this.vwr.getDefaultVdwNameOrData(2147483647,null,null));this.app(c,"set forceAutoBond "+this.forceAutoBond);this.app(c,"#set defaultDirectory "+JU.PT.esc(this.defaultDirectory));this.app(c,
"#set loadFormat "+JU.PT.esc(this.loadFormat));this.app(c,"#set loadLigandFormat "+JU.PT.esc(this.loadLigandFormat));this.app(c,"#set smilesUrlFormat "+JU.PT.esc(this.smilesUrlFormat));this.app(c,"#set nihResolverFormat "+JU.PT.esc(this.nihResolverFormat));this.app(c,"#set pubChemFormat "+JU.PT.esc(this.pubChemFormat));this.app(c,"#set edsUrlFormat "+JU.PT.esc(this.edsUrlFormat));this.app(c,"#set edsUrlFormatDiff "+JU.PT.esc(this.edsUrlFormatDiff));this.app(c,"#set edsUrlCutoff "+JU.PT.esc(this.edsUrlCutoff));
this.app(c,"set bondingVersion "+this.bondingVersion);this.app(c,"set legacyAutoBonding "+this.legacyAutoBonding);this.app(c,"set legacyHAddition "+this.legacyHAddition);this.app(c,"set legacyJavaFloat "+this.legacyJavaFloat);this.app(c,"set minBondDistance "+this.minBondDistance);this.app(c,"set minimizationCriterion  "+this.minimizationCriterion);this.app(c,"set minimizationSteps  "+this.minimizationSteps);this.app(c,"set multipleBondBananas false");this.app(c,"set pdbAddHydrogens "+(null!=a&&a.get("pdbNoHydrogens")!==
Boolean.TRUE?this.pdbAddHydrogens:!1));this.app(c,"set pdbGetHeader "+this.pdbGetHeader);this.app(c,"set pdbSequential "+this.pdbSequential);this.app(c,"set percentVdwAtom "+this.percentVdwAtom);this.app(c,"set smallMoleculeMaxAtoms "+this.smallMoleculeMaxAtoms);this.app(c,"set smartAromatic "+this.smartAromatic);this.zeroBasedXyzRasmol&&this.app(c,"set zeroBasedXyzRasmol true");return c.toString()},"java.util.Map");b(c$,"app",function(a,c){0!=c.length&&a.append("  ").append(c).append(";\n")},"JU.SB,~S");
c$.unreportedProperties=c$.prototype.unreportedProperties=(";ambientpercent;animationfps;antialiasdisplay;antialiasimages;antialiastranslucent;appendnew;axescolor;axesposition;axesmolecular;axesorientationrasmol;axesunitcell;axeswindow;axis1color;axis2color;axis3color;backgroundcolor;backgroundmodel;bondsymmetryatoms;boundboxcolor;cameradepth;bondingversion;contextdepthmax;debug;debugscript;defaultlatttice;defaults;defaultdropscript;diffusepercent;;exportdrivers;exportscale;_filecaching;_filecache;fontcaching;fontscaling;forcefield;language;legacyautobonding;legacyhaddition;legacyjavafloat;loglevel;logfile;loggestures;logcommands;measurestylechime;loadformat;loadligandformat;smilesurlformat;pubchemformat;nihresolverformat;edsurlformat;edsurlcutoff;multiprocessor;navigationmode;;pathforallfiles;perspectivedepth;phongexponent;perspectivemodel;platformspeed;preservestate;refreshing;repaintwaitms;rotationradius;showaxes;showaxis1;showaxis2;showaxis3;showboundbox;showfrank;showtiming;showunitcell;slabenabled;slab;slabrange;depth;zshade;zshadepower;specular;specularexponent;specularpercent;celshading;celshadingpower;specularpower;stateversion;statusreporting;stereo;stereostate;vibrationperiod;unitcellcolor;visualrange;windowcentered;zerobasedxyzrasmol;zoomenabled;mousedragfactor;mousewheelfactor;scriptqueue;scriptreportinglevel;syncscript;syncmouse;syncstereo;defaultdirectory;currentlocalpath;defaultdirectorylocal;ambient;bonds;colorrasmol;diffuse;fractionalrelative;frank;hetero;hidenotselected;hoverlabel;hydrogen;languagetranslation;measurementunits;navigationdepth;navigationslab;picking;pickingstyle;propertycolorschemeoverload;radius;rgbblue;rgbgreen;rgbred;scaleangstromsperinch;selectionhalos;showscript;showselections;solvent;strandcount;spinx;spiny;spinz;spinfps;navx;navy;navz;navfps;"+
J.c.CBK.getNameList()+";undo;atompicking;drawpicking;bondpicking;pickspinrate;picklabel;modelkitmode;allowgestures;allowkeystrokes;allowmultitouch;allowmodelkit;dodrop;hovered;historylevel;imagestate;iskiosk;useminimizationthread;showkeystrokes;saveproteinstructurestate;testflag1;testflag2;testflag3;testflag4;").toLowerCase()});l("JV");u(["JU.SB","$.V3","JU.Elements"],"JV.JC",["JU.PT"],function(){c$=B(JV,"JC");c$.getMacroList=b(c$,"getMacroList",function(){for(var a=new JU.SB,c=0;c<JV.JC.macros.length;c+=
2)a.append(JV.JC.macros[c]).append("\t").append(JV.JC.macros[c+1]).append("\n");return a.toString()});c$.getMacro=b(c$,"getMacro",function(a){for(var c=0;c<JV.JC.macros.length;c+=2)if(JV.JC.macros[c].equals(a))return JV.JC.macros[c+1];return null},"~S");c$.embedScript=b(c$,"embedScript",function(a){return"\n/****** Jmol Embedded Script **** \n"+a+"\n**/"},"~S");c$.getShapeVisibilityFlag=b(c$,"getShapeVisibilityFlag",function(a){return 16<<Math.min(a,26)},"~N");c$.shapeTokenIndex=b(c$,"shapeTokenIndex",
function(a){switch(a){case 1140850689:case 1073741860:return 0;case 1677721602:case 659488:return 1;case 1613238294:return 2;case 1611141176:return 3;case 659482:return 4;case 1825200146:return 5;case 1745489939:case 537006096:return 6;case 1112152076:return 7;case 1112152070:return 8;case 1114249217:return 9;case 1112152078:return 10;case 1112152066:return 11;case 1649022989:return 12;case 1112152071:return 13;case 1112152073:return 14;case 1112152074:return 15;case 1112150019:return 16;case 135175:return 17;
case 135198:return 18;case 1112150021:return 19;case 1112150020:return 20;case 1275203608:return 21;case 135174:return 23;case 135176:return 22;case 135180:return 24;case 134353926:return 25;case 135182:return 26;case 1073877010:return 27;case 1073877011:return 28;case 135188:return 29;case 135190:return 30;case 537022465:return 31;case 1611272194:return 34;case 1678381065:return 32;case 1747587102:return 33;case 544771:return 35;case 1611272202:return 36}return-1},"~N");c$.getShapeClassName=b(c$,
"getShapeClassName",function(a,c){return 0>a?JV.JC.shapeClassBases[~a]:"J."+(c?"render":"shape")+(9<=a&&16>a?"bio.":16<=a&&23>a?"special.":24<=a&&30>a?"surface.":23==a?"cgo.":".")+JV.JC.shapeClassBases[a]},"~N,~B");c$.isScriptType=b(c$,"isScriptType",function(a){return JU.PT.isOneOf(a.substring(a.lastIndexOf(".")+1),";pse;spt;png;pngj;jmol;zip;")},"~S");c$.getEchoName=b(c$,"getEchoName",function(a){return JV.JC.echoNames[a]},"~N");c$.setZPosition=b(c$,"setZPosition",function(a,c){return a&-49|c},
"~N,~N");c$.setPointer=b(c$,"setPointer",function(a,c){return a&-4|c},"~N,~N");c$.getPointer=b(c$,"getPointer",function(a){return a&3},"~N");c$.getPointerName=b(c$,"getPointerName",function(a){return 0==(a&1)?"":0<(a&2)?"background":"on"},"~N");c$.isOffsetAbsolute=b(c$,"isOffsetAbsolute",function(a){return 0!=(a&64)},"~N");c$.getOffset=b(c$,"getOffset",function(a,c,b){a=Math.min(Math.max(a,-500),500);c=Math.min(Math.max(c,-500),500);var d=(a&1023)<<21|(c&1023)<<11|(b?64:0);if(d==JV.JC.LABEL_DEFAULT_OFFSET)d=
0;else if(!b&&(0==a||0==c))d|=256;return d},"~N,~N,~B");c$.getXOffset=b(c$,"getXOffset",function(a){if(0==a)return 4;a=a>>21&1023;return 500<a?a-1023-1:a},"~N");c$.getYOffset=b(c$,"getYOffset",function(a){if(0==a)return 4;a=a>>11&1023;return 500<a?a-1023-1:a},"~N");c$.getAlignment=b(c$,"getAlignment",function(a){return a&12},"~N");c$.setHorizAlignment=b(c$,"setHorizAlignment",function(a,c){return a&-13|c},"~N,~N");c$.getHorizAlignmentName=b(c$,"getHorizAlignmentName",function(a){return JV.JC.hAlignNames[a>>
2&3]},"~N");c$.getServiceCommand=b(c$,"getServiceCommand",function(a){return 7>a.length?-1:"JSPECVIPEAKS: SELECT:JSVSTR:H1SIMULNBO:MODNBO:RUNNBO:VIENBO:SEANBO:CON".indexOf(a.substring(0,7).toUpperCase())},"~S");c$.checkFlag=b(c$,"checkFlag",function(a,c){return(a&c)==c},"~N,~N");c$.getUnitIDFlags=b(c$,"getUnitIDFlags",function(a){var c=14;0==a.indexOf("-")&&(0<a.indexOf("m")&&(c|=1),0>a.indexOf("a")&&(c^=4),0<a.indexOf("t")&&(c|=16));return c},"~S");D(c$,"PDB_ANNOTATIONS",";dssr;rna3d;dom;val;","databases",
x(-1,"dssr http://x3dna.bio.columbia.edu/dssr/report.php?id=%FILE&opts=--json=ebi-no-str-id dssrModel http://x3dna.bio.columbia.edu/dssr/report.php?POST?opts=--json=ebi-no-str-id&model= ligand http://www.rcsb.org/pdb/files/ligand/%FILE.cif mp http://www.materialsproject.org/materials/%FILE/cif nci http://cactus.nci.nih.gov/chemical/structure/%FILE cod http://www.crystallography.net/cod/cif/%c1/%c2%c3/%c4%c5/%FILE.cif nmr http://www.nmrdb.org/new_predictor?POST?molfile= nmrdb http://www.nmrdb.org/service/predictor?POST?molfile= pdb http://www.rcsb.org/pdb/files/%FILE.pdb.gz pdbe http://www.ebi.ac.uk/pdbe/entry-files/download/%FILE.cif pdbe2 http://www.ebi.ac.uk/pdbe/static/entry/%FILE_updated.cif pubchem http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/%FILE/SDF?record_type=3d map http://www.ebi.ac.uk/pdbe/api/%TYPE/%FILE?pretty=false&metadata=true rna3d http://rna.bgsu.edu/rna3dhub/%TYPE/download/%FILE aflow http://aflowlib.mems.duke.edu/users/jmolers/binary_new/%FILE.aflow_binary".split(" ")),
"macros",x(-1,["aflow","http://aflowlib.mems.duke.edu/users/jmolers/jmol/spt/AFLOW.spt"]),"copyright","(C) 2015 Jmol Development","version",null,"date",null,"versionInt",0);var a=null,c=null,a=Jmol.___JmolVersion,c=Jmol.___JmolDate;null!=c&&(c=c.substring(7,23));JV.JC.version=null!=a?a:"(Unknown version)";JV.JC.date=null!=c?c:"(Unknown date)";a=-1;try{var d=JV.JC.version,e=d.indexOf(".");0>e&&(a=1E5*Integer.parseInt(d),d=null);null!=d&&(a=1E5*Integer.parseInt(d.substring(0,e)),d=d.substring(e+1),
e=d.indexOf("."),0>e&&(a+=1E3*Integer.parseInt(d),d=null),null!=d&&(a+=1E3*Integer.parseInt(d.substring(0,e)),d=d.substring(e+1),e=d.indexOf("_"),0<=e&&(d=d.substring(0,e)),e=d.indexOf(" "),0<=e&&(d=d.substring(0,e)),a+=Integer.parseInt(d)))}catch(f){if(!C(f,NumberFormatException))throw f;}JV.JC.versionInt=a;D(c$,"officialRelease",!1,"DEFAULT_HELP_PATH","http://chemapps.stolaf.edu/jmol/docs/index.htm","STATE_VERSION_STAMP","# Jmol state version ","EMBEDDED_SCRIPT_TAG","**** Jmol Embedded Script ****",
"NOTE_SCRIPT_FILE","NOTE: file recognized as a script file: ","SCRIPT_EDITOR_IGNORE","\u0001## EDITOR_IGNORE ##","REPAINT_IGNORE","\u0001## REPAINT_IGNORE ##","LOAD_ATOM_DATA_TYPES",";xyz;vxyz;vibration;temperature;occupancy;partialcharge;","radiansPerDegree",0.017453292519943295,"allowedQuaternionFrames","RC;RP;a;b;c;n;p;q;x;","EXPORT_DRIVER_LIST","Idtf;Maya;Povray;Vrml;X3d;Tachyon;Obj");c$.center=c$.prototype.center=JU.V3.new3(0,0,0);c$.axisX=c$.prototype.axisX=JU.V3.new3(1,0,0);c$.axisY=c$.prototype.axisY=
JU.V3.new3(0,1,0);c$.axisZ=c$.prototype.axisZ=JU.V3.new3(0,0,1);c$.axisNX=c$.prototype.axisNX=JU.V3.new3(-1,0,0);c$.axisNY=c$.prototype.axisNY=JU.V3.new3(0,-1,0);c$.axisNZ=c$.prototype.axisNZ=JU.V3.new3(0,0,-1);c$.unitAxisVectors=c$.prototype.unitAxisVectors=x(-1,[JV.JC.axisX,JV.JC.axisY,JV.JC.axisZ,JV.JC.axisNX,JV.JC.axisNY,JV.JC.axisNZ]);D(c$,"XY_ZTOP",100,"DEFAULT_PERCENT_VDW_ATOM",23,"DEFAULT_BOND_RADIUS",0.15,"DEFAULT_BOND_MILLIANGSTROM_RADIUS",aa(150),"DEFAULT_STRUT_RADIUS",0.3,"DEFAULT_BOND_TOLERANCE",
0.45,"DEFAULT_MIN_BOND_DISTANCE",0.4,"DEFAULT_MAX_CONNECT_DISTANCE",1E8,"DEFAULT_MIN_CONNECT_DISTANCE",0.1,"MINIMIZATION_ATOM_MAX",200,"MINIMIZE_FIXED_RANGE",5,"ENC_CALC_MAX_DIST",3,"ENV_CALC_MAX_LEVEL",3,"MOUSE_NONE",-1,"MULTIBOND_NEVER",0,"MULTIBOND_WIREFRAME",1,"MULTIBOND_NOTSMALL",2,"MULTIBOND_ALWAYS",3,"MAXIMUM_AUTO_BOND_COUNT",20,"madMultipleBondSmallMaximum",500,"ANGSTROMS_PER_BOHR",0.5291772,"altArgbsCpk",y(-1,[4294907027,4290750118,4294967088,4283897743,4294967232,4294967200,4292401368,4283453520,
4282400832,4279259216]),"argbsFormalCharge",y(-1,[4294901760,4294918208,4294934656,4294951104,4294967295,4292401407,4290032895,4287664383,4285295871,4282927359,4280558847,4278190335]),"argbsRwbScale",y(-1,[4294901760,4294905872,4294909984,4294914096,4294918208,4294922320,4294926432,4294930544,4294934656,4294938768,4294942880,4294946992,4294951104,4294955216,4294959328,4294967295,4292927743,4291875071,4290822399,4289769727,4288717055,4287664383,4286611711,4285559039,4284506367,4283453695,4282401023,
4281348351,4280295679,4279243007,4278190335]));c$.FORMAL_CHARGE_COLIX_RED=c$.prototype.FORMAL_CHARGE_COLIX_RED=JU.Elements.elementSymbols.length+JV.JC.altArgbsCpk.length;c$.PARTIAL_CHARGE_COLIX_RED=c$.prototype.PARTIAL_CHARGE_COLIX_RED=JV.JC.FORMAL_CHARGE_COLIX_RED+JV.JC.argbsFormalCharge.length;c$.PARTIAL_CHARGE_RANGE_SIZE=c$.prototype.PARTIAL_CHARGE_RANGE_SIZE=JV.JC.argbsRwbScale.length;D(c$,"argbsRoygbScale",y(-1,[4294901760,4294909952,4294918144,4294926336,4294934528,4294942720,4294950912,4294959104,
4294963200,4294967040,4293980160,4292935424,4290838272,4288741120,4286643968,4284546816,4282449664,4280352512,4278255360,4278255392,4278255424,4278255456,4278255488,4278255520,4278255552,4278255584,4278255615,4278247679,4278239487,4278231295,4278223103,4278214911,4278206719,4278198527,4278190335]),"argbsIsosurfacePositive",4283441312,"argbsIsosurfaceNegative",4288684112,"ATOMID_AMINO_NITROGEN",1,"ATOMID_ALPHA_CARBON",2,"ATOMID_CARBONYL_CARBON",3,"ATOMID_CARBONYL_OXYGEN",4,"ATOMID_O1",5,"ATOMID_ALPHA_ONLY_MASK",
4,"ATOMID_PROTEIN_MASK",14,"ATOMID_O5_PRIME",6,"ATOMID_C5_PRIME",7,"ATOMID_C4_PRIME",8,"ATOMID_C3_PRIME",9,"ATOMID_O3_PRIME",10,"ATOMID_C2_PRIME",11,"ATOMID_C1_PRIME",12,"ATOMID_O4_PRIME",78,"ATOMID_NUCLEIC_MASK",8128,"ATOMID_NUCLEIC_PHOSPHORUS",13,"ATOMID_PHOSPHORUS_ONLY_MASK",8192,"ATOMID_DISTINGUISHING_ATOM_MAX",14,"ATOMID_CARBONYL_OD1",14,"ATOMID_CARBONYL_OD2",15,"ATOMID_CARBONYL_OE1",16,"ATOMID_CARBONYL_OE2",17,"ATOMID_N1",32,"ATOMID_C2",33,"ATOMID_N3",34,"ATOMID_C4",35,"ATOMID_C5",36,"ATOMID_C6",
37,"ATOMID_O2",38,"ATOMID_N7",39,"ATOMID_C8",40,"ATOMID_N9",41,"ATOMID_N4",42,"ATOMID_N2",43,"ATOMID_N6",44,"ATOMID_C5M",45,"ATOMID_O6",46,"ATOMID_O4",47,"ATOMID_S4",48,"ATOMID_C7",49,"ATOMID_TERMINATING_OXT",64,"ATOMID_H5T_TERMINUS",72,"ATOMID_O5T_TERMINUS",73,"ATOMID_O1P",74,"ATOMID_OP1",75,"ATOMID_O2P",76,"ATOMID_OP2",77,"ATOMID_O2_PRIME",79,"ATOMID_H3T_TERMINUS",88,"ATOMID_HO3_PRIME",89,"ATOMID_HO5_PRIME",90,"PURINE_MASK",153957,"PYRIMIDINE_MASK",108186,"DNA_MASK",65480,"RNA_MASK",196663,"GROUPID_ARGININE",
2,"GROUPID_ASPARAGINE",3,"GROUPID_ASPARTATE",4,"GROUPID_CYSTEINE",5,"GROUPID_GLUTAMINE",6,"GROUPID_GLUTAMATE",7,"GROUPID_HISTIDINE",9,"GROUPID_LYSINE",12,"GROUPID_PROLINE",15,"GROUPID_TRYPTOPHAN",19,"GROUPID_AMINO_MAX",24,"GROUPID_NUCLEIC_MAX",42,"GROUPID_WATER",42,"GROUPID_SOLVENT_MIN",45,"GROUPID_ION_MIN",46,"GROUPID_ION_MAX",48,"predefinedVariable",x(-1,"@_1H _H & !(_2H,_3H);@_12C _C & !(_13C,_14C);@_14N _N & !(_15N);@solvent water, (_g>=45 & _g<48);@ligand _g=0|!(_g<46,protein,nucleic,water);@turn structure=1;@sheet structure=2;@helix structure=3;@helix310 substructure=7;@helixalpha substructure=8;@helixpi substructure=9;@bulges within(dssr,'bulges');@coaxStacks within(dssr,'coaxStacks');@hairpins within(dssr,'hairpins');@hbonds within(dssr,'hbonds');@helices within(dssr,'helices');@iloops within(dssr,'iloops');@isoCanonPairs within(dssr,'isoCanonPairs');@junctions within(dssr,'junctions');@kissingLoops within(dssr,'kissingLoops');@multiplets within(dssr,'multiplets');@nonStack within(dssr,'nonStack');@nts within(dssr,'nts');@naChains within(dssr,'naChains');@pairs within(dssr,'pairs');@ssSegments within(dssr,'ssSegments');@stacks within(dssr,'stacks');@stems within(dssr,'stems')".split(";")),
"predefinedStatic",x(-1,"@amino _g>0 & _g<=23;@acidic asp,glu;@basic arg,his,lys;@charged acidic,basic;@negative acidic;@positive basic;@neutral amino&!(acidic,basic);@polar amino&!hydrophobic;@cyclic his,phe,pro,trp,tyr;@acyclic amino&!cyclic;@aliphatic ala,gly,ile,leu,val;@aromatic his,phe,trp,tyr;@cystine within(group, (cys.sg or cyx.sg) and connected(cys.sg or cyx.sg));@buried ala,cys,ile,leu,met,phe,trp,val;@surface amino&!buried;@hydrophobic ala,gly,ile,leu,met,phe,pro,trp,tyr,val;@mainchain backbone;@small ala,gly,ser;@medium asn,asp,cys,pro,thr,val;@large arg,glu,gln,his,ile,leu,lys,met,phe,trp,tyr;@c nucleic & ([C] or [DC] or within(group,_a=42));@g nucleic & ([G] or [DG] or within(group,_a=43));@cg c,g;@a nucleic & ([A] or [DA] or within(group,_a=44));@t nucleic & ([T] or [DT] or within(group,_a=45 | _a=49));@at a,t;@i nucleic & ([I] or [DI] or within(group,_a=46) & !g);@u nucleic & ([U] or [DU] or within(group,_a=47) & !t);@tu nucleic & within(group,_a=48);@ions _g>=46&_g<48;@alpha _a=2;@_bb protein&_a>=1&_a<6 | nucleic& _a>=6&_a<14;@backbone _bb | _H && connected(single, _bb);@spine protein&_a>=1&_a<4|nucleic&_a>=6&_a<14&_a!=12;@sidechain (protein,nucleic) & !backbone;@base nucleic & !backbone;@dynamic_flatring search('[a]')".split(";")),
"MODELKIT_ZAP_STRING","5\n\nC 0 0 0\nH .63 .63 .63\nH -.63 -.63 .63\nH -.63 .63 -.63\nH .63 -.63 -.63","MODELKIT_ZAP_TITLE","Jmol Model Kit","ZAP_TITLE","zapped","ADD_HYDROGEN_TITLE","Viewer.AddHydrogens","DEFAULT_FONTFACE","SansSerif","DEFAULT_FONTSTYLE","Plain","MEASURE_DEFAULT_FONTSIZE",15,"AXES_DEFAULT_FONTSIZE",14,"SHAPE_BALLS",0,"SHAPE_STICKS",1,"SHAPE_HSTICKS",2,"SHAPE_SSSTICKS",3,"SHAPE_STRUTS",4,"SHAPE_LABELS",5,"SHAPE_MEASURES",6,"SHAPE_STARS",7,"SHAPE_MIN_HAS_SETVIS",8,"SHAPE_HALOS",8,
"SHAPE_MIN_SECONDARY",9,"SHAPE_BACKBONE",9,"SHAPE_TRACE",10,"SHAPE_CARTOON",11,"SHAPE_STRANDS",12,"SHAPE_MESHRIBBON",13,"SHAPE_RIBBONS",14,"SHAPE_ROCKETS",15,"SHAPE_MAX_SECONDARY",16,"SHAPE_MIN_SPECIAL",16,"SHAPE_DOTS",16,"SHAPE_DIPOLES",17,"SHAPE_VECTORS",18,"SHAPE_GEOSURFACE",19,"SHAPE_ELLIPSOIDS",20,"SHAPE_MAX_SIZE_ZERO_ON_RESTRICT",21,"SHAPE_POLYHEDRA",21,"SHAPE_MIN_HAS_ID",22,"SHAPE_MIN_MESH_COLLECTION",22,"SHAPE_DRAW",22,"SHAPE_MAX_SPECIAL",23,"SHAPE_CGO",23,"SHAPE_MIN_SURFACE",24,"SHAPE_ISOSURFACE",
24,"SHAPE_CONTACT",25,"SHAPE_LCAOCARTOON",26,"SHAPE_LAST_ATOM_VIS_FLAG",26,"SHAPE_MO",27,"SHAPE_NBO",28,"SHAPE_PMESH",29,"SHAPE_PLOT3D",30,"SHAPE_MAX_SURFACE",30,"SHAPE_MAX_MESH_COLLECTION",30,"SHAPE_ECHO",31,"SHAPE_MAX_HAS_ID",32,"SHAPE_BBCAGE",32,"SHAPE_MAX_HAS_SETVIS",33,"SHAPE_UCCAGE",33,"SHAPE_AXES",34,"SHAPE_HOVER",35,"SHAPE_FRANK",36,"SHAPE_MAX",37,"VIS_BOND_FLAG",32,"VIS_BALLS_FLAG",16,"VIS_LABEL_FLAG",512,"VIS_BACKBONE_FLAG",8192,"VIS_CARTOON_FLAG",32768,"ALPHA_CARBON_VISIBILITY_FLAG",1040384,
"shapeClassBases",x(-1,"Balls Sticks Hsticks Sssticks Struts Labels Measures Stars Halos Backbone Trace Cartoon Strands MeshRibbon Ribbons Rockets Dots Dipoles Vectors GeoSurface Ellipsoids Polyhedra Draw CGO Isosurface Contact LcaoCartoon MolecularOrbital NBO Pmesh Plot3D Echo Bbcage Uccage Axes Hover Frank".split(" ")),"SCRIPT_COMPLETED","Script completed","JPEG_EXTENSIONS",";jpg;jpeg;jpg64;jpeg64;");c$.IMAGE_TYPES=c$.prototype.IMAGE_TYPES=";jpg;jpeg;jpg64;jpeg64;gif;gift;pdf;ppm;png;pngj;pngt;";
c$.IMAGE_OR_SCENE=c$.prototype.IMAGE_OR_SCENE=";jpg;jpeg;jpg64;jpeg64;gif;gift;pdf;ppm;png;pngj;pngt;scene;";D(c$,"LABEL_MINIMUM_FONTSIZE",6,"LABEL_MAXIMUM_FONTSIZE",63,"LABEL_DEFAULT_FONTSIZE",13,"LABEL_DEFAULT_X_OFFSET",4,"LABEL_DEFAULT_Y_OFFSET",4,"LABEL_OFFSET_MAX",500,"LABEL_OFFSET_MASK",1023,"LABEL_FLAGY_OFFSET_SHIFT",11,"LABEL_FLAGX_OFFSET_SHIFT",21,"LABEL_FLAGS",63,"LABEL_POINTER_FLAGS",3,"LABEL_POINTER_NONE",0,"LABEL_POINTER_ON",1,"LABEL_POINTER_BACKGROUND",2,"TEXT_ALIGN_SHIFT",2,"TEXT_ALIGN_FLAGS",
12,"TEXT_ALIGN_NONE",0,"TEXT_ALIGN_LEFT",4,"TEXT_ALIGN_CENTER",8,"TEXT_ALIGN_RIGHT",12,"LABEL_ZPOS_FLAGS",48,"LABEL_ZPOS_GROUP",16,"LABEL_ZPOS_FRONT",32,"LABEL_EXPLICIT",64,"LABEL_CENTERED",256,"LABEL_DEFAULT_OFFSET",8396800,"ECHO_TOP",0,"ECHO_BOTTOM",1,"ECHO_MIDDLE",2,"ECHO_XY",3,"ECHO_XYZ",4,"echoNames",x(-1,["top","bottom","middle","xy","xyz"]),"hAlignNames",x(-1,["","left","center","right"]),"SMILES_TYPE_SMILES",1,"SMILES_TYPE_SMARTS",2,"SMILES_MATCH_ALL",16,"SMILES_MATCH_ONE",32,"SMILES_RETURN_FIRST",
64,"SMILES_EXPLICIT_H",256,"SMILES_TOPOLOGY",512,"SMILES_NOAROMATIC",1024,"SMILES_NOSTEREO",2048,"SMILES_POLYHEDRAL",4096,"SMILES_BIO",65536,"SMILES_BIO_ALLOW_UNMATCHED_RINGS",69632,"SMILES_BIO_COV_CROSSLINK",73728,"SMILES_BIO_HH_CROSSLINK",90112,"SMILES_BIO_COMMENT",196608,"SMILES_BIO_NOCOMMENTS",327680,"SMILES_ATOM_COMMENT",524288,"JSV_NOT",-1,"JSV_SEND_JDXMOL",0,"JSV_SETPEAKS",7,"JSV_SELECT",14,"JSV_STRUCTURE",21,"JSV_SEND_H1SIMULATE",28,"NBO_MODEL",35,"NBO_RUN",42,"NBO_VIEW",49,"NBO_SEARCH",56,
"NBO_CONFIG",63,"READER_NOT_FOUND","File reader was not found:","UNITID_MODEL",1,"UNITID_RESIDUE",2,"UNITID_ATOM",4,"UNITID_INSCODE",8,"UNITID_TRIM",16)});l("JV");u(["java.io.IOException"],"JV.JmolAsyncException",null,function(){c$=r(function(){this.fileName=null;q(this,arguments)},JV,"JmolAsyncException",java.io.IOException);t(c$,function(a){H(this,JV.JmolAsyncException,[]);this.fileName=a},"~S");b(c$,"getFileName",function(){return this.fileName})});l("JV");u(null,"JV.ModelManager",["JM.ModelLoader"],
function(){c$=r(function(){this.fileName=this.modelSetPathName=this.modelSet=this.vwr=null;q(this,arguments)},JV,"ModelManager");t(c$,function(a){this.vwr=a},"JV.Viewer");b(c$,"zap",function(){this.modelSetPathName=this.fileName=null;new JM.ModelLoader(this.vwr,this.vwr.getZapName(),null,null,null,null)});b(c$,"createModelSet",function(a,c,b,e,f,g){var h=null;g?(h=this.modelSet.modelSetName,h.equals("zapped")?h=null:0>h.indexOf(" (modified)")&&(h+=" (modified)")):null==e?this.zap():(this.modelSetPathName=
a,this.fileName=c);null!=e&&(null==h&&(h=this.vwr.getModelAdapter().getAtomSetCollectionName(e),null!=h&&(h=h.trim(),0==h.length&&(h=null)),null==h&&(h=JV.ModelManager.reduceFilename(c))),new JM.ModelLoader(this.vwr,h,b,e,g?this.modelSet:null,f));0==this.modelSet.ac&&!this.modelSet.getMSInfoB("isPyMOL")&&this.zap()},"~S,~S,JU.SB,~O,JU.BS,~B");c$.reduceFilename=b(c$,"reduceFilename",function(a){if(null==a)return null;var c=a.indexOf(".");0<c&&(a=a.substring(0,c));24<a.length&&(a=a.substring(0,20)+
" ...");return a},"~S");b(c$,"createAtomDataSet",function(a,c){return JM.ModelLoader.createAtomDataSet(this.vwr,this.modelSet,c,a,this.vwr.bsA())},"~O,~N")});l("JV");c$=r(function(){this.y=this.x=-1E3;this.modifiers=0;this.time=-1;this.name=null;q(this,arguments)},JV,"MouseState");t(c$,function(a){this.name=a},"~S");b(c$,"set",function(a,c,b,e){this.time=a;this.x=c;this.y=b;this.modifiers=e},"~N,~N,~N,~N");b(c$,"setCurrent",function(a,c){this.time=a.time;2>c&&(this.x=a.x,this.y=a.y);this.modifiers=
a.modifiers},"JV.MouseState,~N");b(c$,"inRange",function(a,c,b){return Math.abs(this.x-c)<=a&&Math.abs(this.y-b)<=a},"~N,~N,~N");b(c$,"check",function(a,c,b,e,f,g){return this.modifiers==e&&(2147483647<=g?this.inRange(a,c,b):f-this.time<g&&20<f-this.time)},"~N,~N,~N,~N,~N,~N");b(c$,"is",function(a){return a.x==this.x&&a.y==this.y&&a.time==this.time},"JV.MouseState");D(c$,"MIN_DELAY_MS",20);l("JV");u(["JU.BS"],"JV.SelectionManager",["JU.AU","J.i18n.GT","JU.BSUtil"],function(){c$=r(function(){this.noneSelected=
this.bsDeleted=this.bsSubset=this.bsFixed=this.bsSelection=this.bsHidden=this.listeners=this.vwr=null;this.empty=1;this.hideNotSelected=!1;this.bsTemp=null;q(this,arguments)},JV,"SelectionManager");M(c$,function(){this.listeners=[];this.bsHidden=new JU.BS;this.bsSelection=new JU.BS;this.bsFixed=new JU.BS;this.bsTemp=new JU.BS});t(c$,function(a){this.vwr=a},"JV.Viewer");b(c$,"processDeletedModelAtoms",function(a){null!=this.bsDeleted&&JU.BSUtil.deleteBits(this.bsDeleted,a);null!=this.bsSubset&&JU.BSUtil.deleteBits(this.bsSubset,
a);JU.BSUtil.deleteBits(this.bsFixed,a);JU.BSUtil.deleteBits(this.bsHidden,a);var c=JU.BSUtil.copy(this.bsSelection);JU.BSUtil.deleteBits(c,a);this.setSelectionSet(c,0)},"JU.BS");b(c$,"clear",function(){this.clearSelection(!0);this.hide(null,null,0,!0);this.setSelectionSubset(null);this.bsDeleted=null;this.setMotionFixedAtoms(null)});b(c$,"display",function(a,c,b,e){switch(b){default:b=a.getModelAtomBitSetIncludingDeleted(-1,!1),this.bsHidden.or(b);case 1275069441:null!=c&&this.bsHidden.andNot(c);
break;case 1073742119:null!=c&&this.bsHidden.or(c)}JU.BSUtil.andNot(this.bsHidden,this.bsDeleted);a.setBsHidden(this.bsHidden);e||this.vwr.reportSelection(J.i18n.GT.i(J.i18n.GT._("{0} atoms hidden"),this.bsHidden.cardinality()))},"JM.ModelSet,JU.BS,~N,~B");b(c$,"hide",function(a,c,b,e){JV.SelectionManager.setBitSet(this.bsHidden,c,b);null!=a&&a.setBsHidden(this.bsHidden);e||this.vwr.reportSelection(J.i18n.GT.i(J.i18n.GT._("{0} atoms hidden"),this.bsHidden.cardinality()))},"JM.ModelSet,JU.BS,~N,~B");
b(c$,"setSelectionSet",function(a,c){JV.SelectionManager.setBitSet(this.bsSelection,a,c);this.empty=-1;this.selectionChanged(!1)},"JU.BS,~N");c$.setBitSet=b(c$,"setBitSet",function(a,c,b){switch(b){default:a.clearAll();case 1275069441:null!=c&&a.or(c);break;case 1073742119:null!=c&&a.andNot(c)}},"JU.BS,JU.BS,~N");b(c$,"getHiddenSet",function(){return this.bsHidden});b(c$,"getHideNotSelected",function(){return this.hideNotSelected});b(c$,"setHideNotSelected",function(a){(this.hideNotSelected=a)&&this.selectionChanged(!1)},
"~B");b(c$,"isSelected",function(a){return 0<=a&&this.bsSelection.get(a)},"~N");b(c$,"select",function(a,c,b){null==a?(this.selectAll(!0),this.vwr.getBoolean(1612709900)||this.excludeSelectionSet(this.vwr.ms.getAtoms(1612709900,null)),this.vwr.getBoolean(1612709894)||this.excludeSelectionSet(this.vwr.ms.getAtoms(1612709894,null)),this.selectionChanged(!1)):this.setSelectionSet(a,c);if((a=this.vwr.getBoolean(603979880))||!b)c=this.getSelectionCount(),a?this.vwr.getChimeMessenger().reportSelection(c):
b||this.vwr.reportSelection(J.i18n.GT.i(J.i18n.GT._("{0} atoms selected"),c))},"JU.BS,~N,~B");b(c$,"selectAll",function(a){var c=this.vwr.ms.ac;for(this.empty=0==c?1:0;0<=--c;)this.bsSelection.set(c);JU.BSUtil.andNot(this.bsSelection,this.bsDeleted);this.selectionChanged(a)},"~B");b(c$,"clearSelection",function(a){this.setHideNotSelected(!1);this.bsSelection.clearAll();this.empty=1;this.selectionChanged(a)},"~B");b(c$,"isAtomSelected",function(a){return((null==this.bsSubset||this.bsSubset.get(a))&&
null==this.bsDeleted||!this.bsDeleted.get(a))&&this.bsSelection.get(a)},"~N");b(c$,"setSelectedAtom",function(a,c){0>a?this.selectionChanged(!0):null!=this.bsSubset&&!this.bsSubset.get(a)||null!=this.bsDeleted&&this.bsDeleted.get(a)||(this.bsSelection.setBitTo(a,c),this.empty=c?0:-1)},"~N,~B");b(c$,"setSelectionSubset",function(a){this.bsSubset=a},"JU.BS");b(c$,"isInSelectionSubset",function(a){return 0>a||null==this.bsSubset||this.bsSubset.get(a)},"~N");b(c$,"invertSelection",function(){JU.BSUtil.invertInPlace(this.bsSelection,
this.vwr.ms.ac);this.empty=0<this.bsSelection.length()?0:1;this.selectionChanged(!1)});b(c$,"excludeSelectionSet",function(a){null==a||1==this.empty||(this.bsSelection.andNot(a),this.empty=-1)},"JU.BS");b(c$,"getSelectionCount",function(){if(1==this.empty)return 0;this.empty=1;var a;null!=this.bsSubset?(this.bsTemp.clearAll(),this.bsTemp.or(this.bsSubset),this.bsTemp.and(this.bsSelection),a=this.bsTemp):a=this.bsSelection;a=a.cardinality();0<a&&(this.empty=0);return a});b(c$,"addListener",function(a){for(var c=
this.listeners.length;0<=--c;)if(this.listeners[c]===a){this.listeners[c]=null;break}for(var b=this.listeners.length,c=b;0<=--c;)if(null==this.listeners[c]){this.listeners[c]=a;return}this.listeners=0==this.listeners.length?Array(1):JU.AU.doubleLength(this.listeners);this.listeners[b]=a},"J.api.JmolSelectionListener");b(c$,"selectionChanged",function(a){this.hideNotSelected&&this.hide(this.vwr.ms,JU.BSUtil.copyInvert(this.bsSelection,this.vwr.ms.ac),0,a);if(!(a||0==this.listeners.length))for(a=this.listeners.length;0<=
--a;)null!=this.listeners[a]&&this.listeners[a].selectionChanged(this.bsSelection)},"~B");b(c$,"deleteAtoms",function(a){var c=JU.BSUtil.copy(a);null==this.bsDeleted?this.bsDeleted=c:(c.andNot(this.bsDeleted),this.bsDeleted.or(a));this.bsHidden.andNot(this.bsDeleted);this.bsSelection.andNot(this.bsDeleted);return c.cardinality()},"JU.BS");b(c$,"getSelectedAtoms",function(){if(null==this.bsSubset)return this.bsSelection;var a=JU.BSUtil.copy(this.bsSelection);a.and(this.bsSubset);return a});b(c$,"getSelectedAtomsNoSubset",
function(){return JU.BSUtil.copy(this.bsSelection)});b(c$,"excludeAtoms",function(a,c){null!=this.bsDeleted&&a.andNot(this.bsDeleted);!c&&null!=this.bsSubset&&(a=JU.BSUtil.copy(a)).and(this.bsSubset);return a},"JU.BS,~B");b(c$,"setMotionFixedAtoms",function(a){this.bsFixed.clearAll();null!=a&&this.bsFixed.or(a)},"JU.BS");b(c$,"getMotionFixedAtoms",function(){return this.bsFixed});D(c$,"TRUE",1,"FALSE",0,"UNKNOWN",-1)});l("JV");u(null,"JV.ShapeManager","java.lang.Boolean JU.BS $.P3 J.api.Interface J.c.PAL $.VDW JM.Atom JU.BSUtil JV.JC".split(" "),
function(){c$=r(function(){this.navMinMax=this.bsRenderableAtoms=this.vwr=this.shapes=this.ms=null;q(this,arguments)},JV,"ShapeManager");M(c$,function(){this.navMinMax=y(4,0)});t(c$,function(a){this.vwr=a;this.bsRenderableAtoms=new JU.BS},"JV.Viewer");b(c$,"findNearestShapeAtomIndex",function(a,c,b,e){if(null!=this.shapes)for(var f=0;f<this.shapes.length&&null==b[0];++f)null!=this.shapes[f]&&this.shapes[f].findNearestAtomIndex(a,c,b,e)},"~N,~N,~A,JU.BS");b(c$,"getShapes",function(){return this.shapes});
b(c$,"getShapePropertyIndex",function(a,c,b){if(null==this.shapes||null==this.shapes[a])return null;this.vwr.setShapeErrorState(a,"get "+c);a=this.shapes[a].getProperty(c,b);this.vwr.setShapeErrorState(-1,null);return a},"~N,~S,~N");b(c$,"getShapePropertyData",function(a,c,b){if(null==this.shapes||null==this.shapes[a])return!1;this.vwr.setShapeErrorState(a,"get "+c);a=this.shapes[a].getPropertyData(c,b);this.vwr.setShapeErrorState(-1,null);return a},"~N,~S,~A");b(c$,"getShapeIdFromObjectName",function(a){if(null!=
this.shapes)for(var c=16;30>c;++c)if(null!=this.shapes[c]&&0<=this.shapes[c].getIndexFromName(a))return c;return-1},"~S");b(c$,"loadDefaultShapes",function(a){this.ms=a;if(null!=this.shapes)for(var c=0;c<this.shapes.length;++c)null!=this.shapes[c]&&this.shapes[c].setModelSet(a);this.loadShape(0);this.loadShape(1)},"JM.ModelSet");b(c$,"loadShape",function(a){if(null==this.shapes)return null;if(null!=this.shapes[a])return this.shapes[a];if(2==a||3==a||4==a)return null;var c=JV.JC.getShapeClassName(a,
!1);if(null==(c=J.api.Interface.getInterface(c,this.vwr,"shape")))return null;this.vwr.setShapeErrorState(a,"allocate");c.initializeShape(this.vwr,this.ms,a);this.vwr.setShapeErrorState(-1,null);return this.shapes[a]=c},"~N");b(c$,"notifyAtomPositionsChanged",function(a,c,b){var e=Integer.$valueOf(a);a=this.vwr.getModelUndeletedAtomsBitSet(a);for(var f=0;37>f;f++)null!=this.shapes[f]&&this.setShapePropertyBs(f,"refreshTrajectories",x(-1,[e,c,b]),a)},"~N,JU.BS,JU.M4");b(c$,"releaseShape",function(a){null!=
this.shapes&&(this.shapes[a]=null)},"~N");b(c$,"resetShapes",function(){this.vwr.noGraphicsAllowed||(this.shapes=Array(37))});b(c$,"setShapeSizeBs",function(a,c,b,e){if(null!=this.shapes){if(null==e&&(1!=a||2147483647!=c))e=this.vwr.bsA();null!=b&&(0!=b.value&&b.vdwType===J.c.VDW.TEMP)&&this.ms.getBfactor100Lo();this.vwr.setShapeErrorState(a,"set size");(null==b?0!=c:0!=b.value)&&this.loadShape(a);null!=this.shapes[a]&&this.shapes[a].setShapeSizeRD(c,b,e);this.vwr.setShapeErrorState(-1,null)}},"~N,~N,J.atomdata.RadiusData,JU.BS");
b(c$,"setLabel",function(a,c){if(null==a){if(null==this.shapes[5])return}else this.loadShape(5),this.setShapeSizeBs(5,0,null,c);this.setShapePropertyBs(5,"label",a,c)},"~O,JU.BS");b(c$,"setShapePropertyBs",function(a,c,b,e){null==this.shapes||null==this.shapes[a]||(null==e&&(e=this.vwr.bsA()),this.vwr.setShapeErrorState(a,"set "+c),this.shapes[a].setProperty(c.intern(),b,e),this.vwr.setShapeErrorState(-1,null))},"~N,~S,~O,JU.BS");b(c$,"checkFrankclicked",function(a,c){var b=this.shapes[36];return null!=
b&&b.wasClicked(a,c)},"~N,~N");b(c$,"checkObjectClicked",function(a,c,b,e,f){var g,h=null;if(0!=b&&this.vwr.getBondPicking()&&null!=(h=this.shapes[1].checkObjectClicked(a,c,b,e,!1)))return h;for(var k=0;k<JV.ShapeManager.clickableMax;k++)if(null!=(g=this.shapes[JV.ShapeManager.hoverable[k]])&&null!=(h=g.checkObjectClicked(a,c,b,e,f)))return h;return null},"~N,~N,~N,JU.BS,~B");b(c$,"checkObjectDragged",function(a,c,b,e,f,g,h){for(var k=!1,m=0<h?h+1:37;!k&&h<m;++h)null!=this.shapes[h]&&(k=this.shapes[h].checkObjectDragged(a,
c,b,e,f,g));return k},"~N,~N,~N,~N,~N,JU.BS,~N");b(c$,"checkObjectHovered",function(a,c,b,e){var f=this.shapes[1];if(e&&null!=f&&f.checkObjectHovered(a,c,b))return!0;for(e=0;e<JV.ShapeManager.hoverable.length;e++)if(f=this.shapes[JV.ShapeManager.hoverable[e]],null!=f&&f.checkObjectHovered(a,c,b))return!0;return!1},"~N,~N,JU.BS,~B");b(c$,"deleteShapeAtoms",function(a,c){if(null!=this.shapes)for(var b=0;37>b;b++)null!=this.shapes[b]&&this.setShapePropertyBs(b,"deleteModelAtoms",a,c)},"~A,JU.BS");b(c$,
"deleteVdwDependentShapes",function(a){null==a&&(a=this.vwr.bsA());null!=this.shapes[24]&&this.shapes[24].setProperty("deleteVdw",null,a);null!=this.shapes[25]&&this.shapes[25].setProperty("deleteVdw",null,a)},"JU.BS");b(c$,"getAtomShapeValue",function(a,c,b){a=JV.JC.shapeTokenIndex(a);if(0>a||null==this.shapes[a])return 0;b=this.shapes[a].getSize(b);if(0==b){if(0==(c.shapeVisibilityFlags&this.shapes[a].vf))return 0;b=this.shapes[a].getSizeG(c)}return b/2E3},"~N,JM.Group,~N");b(c$,"replaceGroup",
function(a,c){if(null!=this.shapes)for(var b=9;16>b;b++)null!=this.shapes[b]&&this.shapes[b].replaceGroup(a,c)},"JM.Group,JM.Group");b(c$,"getObjectMap",function(a,c){if(null!=this.shapes)for(var b=Boolean.$valueOf(c),e=16;30>e;++e)this.getShapePropertyData(e,"getNames",x(-1,[a,b]))},"java.util.Map,~B");b(c$,"getProperty",function(a){return a.equals("getShapes")?this.shapes:null},"~O");b(c$,"getShape",function(a){return null==this.shapes?null:this.shapes[a]},"~N");b(c$,"mergeShapes",function(a){if(null!=
a)if(null==this.shapes)this.shapes=a;else for(var c=0;c<a.length;++c)null!=a[c]&&(null==this.shapes[c]&&this.loadShape(c),this.shapes[c].merge(a[c]))},"~A");b(c$,"resetBioshapes",function(a){if(null!=this.shapes)for(var c=0;c<this.shapes.length;++c)null!=this.shapes[c]&&this.shapes[c].isBioShape&&(this.shapes[c].setModelSet(this.ms),this.shapes[c].setShapeSizeRD(0,null,a),this.shapes[c].setProperty("color",J.c.PAL.NONE,a))},"JU.BS");b(c$,"setAtomLabel",function(a,c){null!=this.shapes&&this.shapes[5].setProperty("label:"+
a,Integer.$valueOf(c),null)},"~S,~N");b(c$,"setModelVisibility",function(){var a=this.shapes;if(!(null==a||null==a[0])){for(var c=this.vwr.getVisibleFramesBitSet(),b=8;33>b;b++)null!=a[b]&&a[b].setModelVisibilityFlags(c);var a=this.vwr.getBoolean(603979922),e=this.vwr.slm.bsDeleted,f=this.ms.at;this.ms.clearVisibleSets();if(0<f.length)for(b=this.ms.ac;0<=--b;){var g=f[b];g.shapeVisibilityFlags&=-64;if(!(null!=e&&e.get(b))&&c.get(g.mi)){var h=1;if(!this.ms.isAtomHidden(b)&&(a||1!=g.getElementNumber()))h|=
8,0!=g.madAtom&&(h|=16),g.setShapeVisibility(h,!0)}}this.setShapeVis()}});b(c$,"setShapeVis",function(){for(var a=0;37>a;++a){var c=this.shapes[a];null!=c&&c.setAtomClickability()}});b(c$,"finalizeAtoms",function(a,c){var b=this.vwr,e=b.tm,f=this.bsRenderableAtoms;if(null!=a){var g=this.ms.getAtomSetCenter(a),h=new JU.P3;e.transformPt3f(g,h);h.add(c);e.unTransformPoint(h,h);h.sub(g);b.setAtomCoordsRelative(h,a);c.set(0,0,0)}this.ms.getAtomsInFrame(f);for(var k=this.ms.vibrations,m=null!=k&&e.vibrationOn,
l=null!=this.ms.bsModulated&&null!=this.ms.occupancies,g=this.ms.at,p,q=!1,r=f.nextSetBit(0);0<=r;r=f.nextSetBit(r+1)){var h=g[r],t=m&&h.hasVibration()?e.transformPtVib(h,k[r]):e.transformPt(h);h.sX=t.x;h.sY=t.y;h.sZ=t.z;var u=Math.abs(h.madAtom);u==JM.Atom.MAD_GLOBAL&&(u=A(2E3*b.getFloat(1140850689)));h.sD=aa(b.tm.scaleToScreen(t.z,u));if(l&&null!=k[r]&&-2147483648!=(p=k[r].getOccupancy100(m)))q=!0,h.setShapeVisibility(2,!1),0<=p&&50>p?h.setShapeVisibility(24,!1):h.setShapeVisibility(8|(0<h.madAtom?
16:0),!0),this.ms.occupancies[h.i]=Math.abs(p)}q&&this.setShapeVis();p=b.gdata;if(e.slabEnabled){r=b.getBoolean(603979940);e=b.getBoolean(603979939);k=p.slab;m=p.depth;if(r){l=this.ms.getMolecules();q=this.ms.getMoleculeCountInModel(-1);for(r=0;r<q;r++)if(t=l[r],u=0,h=t.firstAtomIndex,f.get(h)){for(;u<t.ac&&!p.isClippedZ(g[h].sZ-(g[h].sD>>1));u++,h++);if(u!=t.ac){h=t.firstAtomIndex;for(u=0;u<t.ac;u++)f.clear(h),g[h++].sZ=0}}}for(r=f.nextSetBit(0);0<=r;r=f.nextSetBit(r+1))if(h=g[r],p.isClippedZ(h.sZ-
(e?g[r].sD>>1:0)))h.setClickable(0),l=v((e?-1:1)*h.sD/2),(h.sZ+l<k||h.sZ-l>m||!p.isInDisplayRange(h.sX,h.sY))&&f.clear(r)}if(0==this.ms.ac||!b.getShowNavigationPoint())return null;b=2147483647;p=-2147483648;e=2147483647;k=-2147483648;for(r=f.nextSetBit(0);0<=r;r=f.nextSetBit(r+1))h=g[r],h.sX<b&&(b=h.sX),h.sX>p&&(p=h.sX),h.sY<e&&(e=h.sY),h.sY>k&&(k=h.sY);this.navMinMax[0]=b;this.navMinMax[1]=p;this.navMinMax[2]=e;this.navMinMax[3]=k;return this.navMinMax},"JU.BS,JU.P3");b(c$,"setModelSet",function(a){this.ms=
this.vwr.ms=a},"JM.ModelSet");b(c$,"checkInheritedShapes",function(){null!=this.shapes[24]&&this.setShapePropertyBs(24,"remapInherited",null,null)});b(c$,"restrictSelected",function(a,c){var b=this.vwr.slm.getSelectedAtomsNoSubset();if(c){this.vwr.slm.invertSelection();var e=this.vwr.slm.bsSubset;null!=e&&(b=this.vwr.slm.getSelectedAtomsNoSubset(),b.and(e),this.vwr.select(b,!1,0,!0),JU.BSUtil.invertInPlace(b,this.vwr.ms.ac),b.and(e))}JU.BSUtil.andNot(b,this.vwr.slm.bsDeleted);e=this.vwr.getBoolean(603979812);
a||this.vwr.setBooleanProperty("bondModeOr",!0);this.setShapeSizeBs(1,0,null,null);this.setShapePropertyBs(1,"type",Integer.$valueOf(32768),null);this.setShapeSizeBs(1,0,null,null);this.setShapePropertyBs(1,"type",Integer.$valueOf(1023),null);for(var f=this.vwr.bsA(),g=21;0<=--g;)6!=g&&null!=this.getShape(g)&&this.setShapeSizeBs(g,0,null,f);null!=this.getShape(21)&&this.setShapePropertyBs(21,"off",f,null);this.setLabel(null,f);a||this.vwr.setBooleanProperty("bondModeOr",e);this.vwr.select(b,!1,0,
!0)},"~B,~B");D(c$,"hoverable",y(-1,[31,25,24,22,36]));c$.clickableMax=c$.prototype.clickableMax=JV.ShapeManager.hoverable.length-1});l("JV");u(["java.util.Hashtable"],["JV.Connections","$.Connection","$.StateManager","$.Scene"],["java.util.Arrays","JU.BS","$.SB","JM.Orientation","JU.BSUtil"],function(){c$=r(function(){this.saved=this.vwr=null;this.lastCoordinates=this.lastShape=this.lastState=this.lastSelected=this.lastScene=this.lastConnections=this.lastContext=this.lastOrientation="";q(this,arguments)},
JV,"StateManager");M(c$,function(){this.saved=new java.util.Hashtable});c$.getVariableList=b(c$,"getVariableList",function(a,c,b,e){var f=new JU.SB,g=0,h=Array(a.size()),k;for(a=a.entrySet().iterator();a.hasNext()&&((k=a.next())||1);){var m=k.getKey(),l=k.getValue();if((b||!m.startsWith("site_"))&&(!e||"@"==m.charAt(0)))h[g++]=m+("@"==m.charAt(0)?" "+l.asString():" = "+JV.StateManager.varClip(m,l.escape(),c))}java.util.Arrays.sort(h,0,g);for(c=0;c<g;c++)null!=h[c]&&f.append("  ").append(h[c]).append(";\n");
0==g&&!e&&f.append("# --no global user variables defined--;\n");return f.toString()},"java.util.Map,~N,~B,~B");c$.getObjectIdFromName=b(c$,"getObjectIdFromName",function(a){if(null==a)return-1;a="background axis1      axis2      axis3      boundbox   unitcell   frank      ".indexOf(a.toLowerCase());return 0>a?a:v(a/11)},"~S");c$.getObjectNameFromId=b(c$,"getObjectNameFromId",function(a){return 0>a||8<=a?null:"background axis1      axis2      axis3      boundbox   unitcell   frank      ".substring(11*
a,11*a+11).trim()},"~N");t(c$,function(a){this.vwr=a},"JV.Viewer");b(c$,"clear",function(a){this.vwr.setShowAxes(!1);this.vwr.setShowBbcage(!1);this.vwr.setShowUnitCell(!1);a.clear()},"JV.GlobalSettings");b(c$,"resetLighting",function(){this.vwr.setIntProperty("ambientPercent",45);this.vwr.setIntProperty("celShadingPower",10);this.vwr.setIntProperty("diffusePercent",84);this.vwr.setIntProperty("phongExponent",64);this.vwr.setIntProperty("specularExponent",6);this.vwr.setIntProperty("specularPercent",
22);this.vwr.setIntProperty("specularPower",40);this.vwr.setIntProperty("zDepth",0);this.vwr.setIntProperty("zShadePower",3);this.vwr.setIntProperty("zSlab",50);this.vwr.setBooleanProperty("specular",!0);this.vwr.setBooleanProperty("celShading",!1);this.vwr.setBooleanProperty("zshade",!1)});b(c$,"setCrystallographicDefaults",function(){this.vwr.setAxesMode(603979808);this.vwr.setShowAxes(!0);this.vwr.setShowUnitCell(!0);this.vwr.setBooleanProperty("perspectiveDepth",!1)});b(c$,"setCommonDefaults",
function(){this.vwr.setBooleanProperty("perspectiveDepth",!0);this.vwr.setFloatProperty("bondTolerance",0.45);this.vwr.setFloatProperty("minBondDistance",0.4);this.vwr.setIntProperty("bondingVersion",0);this.vwr.setBooleanProperty("translucent",!0)});b(c$,"setJmolDefaults",function(){this.setCommonDefaults();this.vwr.setStringProperty("defaultColorScheme","Jmol");this.vwr.setBooleanProperty("axesOrientationRasmol",!1);this.vwr.setBooleanProperty("zeroBasedXyzRasmol",!1);this.vwr.setIntProperty("percentVdwAtom",
23);this.vwr.setIntProperty("bondRadiusMilliAngstroms",150);this.vwr.setVdwStr("auto")});b(c$,"setRasMolDefaults",function(){this.setCommonDefaults();this.vwr.setStringProperty("defaultColorScheme","RasMol");this.vwr.setBooleanProperty("axesOrientationRasmol",!0);this.vwr.setBooleanProperty("zeroBasedXyzRasmol",!0);this.vwr.setIntProperty("percentVdwAtom",0);this.vwr.setIntProperty("bondRadiusMilliAngstroms",1);this.vwr.setVdwStr("Rasmol")});b(c$,"setPyMOLDefaults",function(){this.setCommonDefaults();
this.vwr.setStringProperty("measurementUnits","ANGSTROMS");this.vwr.setBooleanProperty("zoomHeight",!0)});c$.getNoCase=b(c$,"getNoCase",function(a,c){for(var b,e=a.entrySet().iterator();e.hasNext()&&((b=e.next())||1);)if(b.getKey().equalsIgnoreCase(c))return b.getValue();return null},"java.util.Map,~S");b(c$,"listSavedStates",function(){for(var a="",c,b=this.saved.keySet().iterator();b.hasNext()&&((c=b.next())||1);)a+="\n"+c;return a});b(c$,"deleteSavedType",function(a){for(var c=this.saved.keySet().iterator();c.hasNext();)c.next().startsWith(a)&&
c.remove()},"~S");b(c$,"deleteSaved",function(a){for(var c=this.saved.keySet().iterator();c.hasNext();){var b=c.next();(b.startsWith(a)||b.endsWith("_"+a)&&b.indexOf("_")==b.lastIndexOf("_"+a))&&c.remove()}},"~S");b(c$,"saveSelection",function(a,c){a.equalsIgnoreCase("DELETE")?this.deleteSavedType("Selected_"):(a=this.lastSelected="Selected_"+a,this.saved.put(a,JU.BSUtil.copy(c)))},"~S,JU.BS");b(c$,"restoreSelection",function(a){a=JV.StateManager.getNoCase(this.saved,0<a.length?"Selected_"+a:this.lastSelected);
if(null==a)return this.vwr.select(new JU.BS,!1,0,!1),!1;this.vwr.select(a,!1,0,!1);return!0},"~S");b(c$,"saveState",function(a){a.equalsIgnoreCase("DELETE")?this.deleteSavedType("State_"):(a=this.lastState="State_"+a,this.saved.put(a,this.vwr.getStateInfo()))},"~S");b(c$,"getSavedState",function(a){a=JV.StateManager.getNoCase(this.saved,0<a.length?"State_"+a:this.lastState);return null==a?"":a},"~S");b(c$,"saveStructure",function(a){a.equalsIgnoreCase("DELETE")?this.deleteSavedType("Shape_"):(a=this.lastShape=
"Shape_"+a,this.saved.put(a,this.vwr.getStructureState()))},"~S");b(c$,"getSavedStructure",function(a){a=JV.StateManager.getNoCase(this.saved,0<a.length?"Shape_"+a:this.lastShape);return null==a?"":a},"~S");b(c$,"saveCoordinates",function(a,c){a.equalsIgnoreCase("DELETE")?this.deleteSavedType("Coordinates_"):(a=this.lastCoordinates="Coordinates_"+a,this.saved.put(a,this.vwr.getCoordinateState(c)))},"~S,JU.BS");b(c$,"getSavedCoordinates",function(a){a=JV.StateManager.getNoCase(this.saved,0<a.length?
"Coordinates_"+a:this.lastCoordinates);return null==a?"":a},"~S");b(c$,"getOrientation",function(){return new JM.Orientation(this.vwr,!1,null)});b(c$,"getSavedOrientationText",function(a){var c;if(null!=a)return c=this.getOrientationFor(a),null==c?"":c.getMoveToText(!0);a=new JU.SB;for(var b=this.saved.entrySet().iterator();b.hasNext()&&((c=b.next())||1);)c.getKey().startsWith("Orientation_")&&a.append(c.getValue().getMoveToText(!0));return a.toString()},"~S");b(c$,"saveScene",function(a,c){if(a.equalsIgnoreCase("DELETE"))this.deleteSavedType("Scene_");
else{var b=new JV.Scene(c);b.saveName=this.lastScene="Scene_"+a;this.saved.put(b.saveName,b)}},"~S,java.util.Map");b(c$,"restoreScene",function(a,c){var b=JV.StateManager.getNoCase(this.saved,0<a.length?"Scene_"+a:this.lastScene);return null!=b&&b.restore(this.vwr,c)},"~S,~N");b(c$,"saveOrientation",function(a,c){if(a.equalsIgnoreCase("DELETE"))this.deleteSavedType("Orientation_");else{var b=new JM.Orientation(this.vwr,a.equalsIgnoreCase("default"),c);b.saveName=this.lastOrientation="Orientation_"+
a;this.saved.put(b.saveName,b)}},"~S,~A");b(c$,"restoreOrientation",function(a,c,b){a=this.getOrientationFor(a);return null!=a&&a.restore(c,b)},"~S,~N,~B");b(c$,"getOrientationFor",function(a){return JV.StateManager.getNoCase(this.saved,0<a.length?"Orientation_"+a:this.lastOrientation)},"~S");b(c$,"saveContext",function(a,c){a.equalsIgnoreCase("DELETE")?this.deleteSavedType("Context_"):this.saved.put(this.lastContext="Context_"+a,c)},"~S,~O");b(c$,"getContext",function(a){return this.saved.get(0==
a.length?this.lastContext:"Context_"+a)},"~S");b(c$,"saveBonds",function(a){if(a.equalsIgnoreCase("DELETE"))this.deleteSavedType("Bonds_");else{var c=new JV.Connections(this.vwr);c.saveName=this.lastConnections="Bonds_"+a;this.saved.put(c.saveName,c)}},"~S");b(c$,"restoreBonds",function(a){this.vwr.clearModelDependentObjects();a=JV.StateManager.getNoCase(this.saved,0<a.length?"Bonds_"+a:this.lastConnections);return null!=a&&a.restore()},"~S");c$.varClip=b(c$,"varClip",function(a,c,b){0<b&&c.length>
b&&(c=c.substring(0,b)+" #...more ("+c.length+" bytes -- use SHOW "+a+" or MESSAGE @"+a+" to view)");return c},"~S,~S,~N");D(c$,"OBJ_BACKGROUND",0,"OBJ_AXIS1",1,"OBJ_AXIS2",2,"OBJ_AXIS3",3,"OBJ_BOUNDBOX",4,"OBJ_UNITCELL",5,"OBJ_FRANK",6,"OBJ_MAX",8,"objectNameList","background axis1      axis2      axis3      boundbox   unitcell   frank      ");c$=r(function(){this.scene=this.saveName=null;q(this,arguments)},JV,"Scene");t(c$,function(a){this.scene=a},"java.util.Map");b(c$,"restore",function(a,c){var b=
this.scene.get("generator");null!=b&&b.generateScene(this.scene);b=this.scene.get("pymolView");return null!=b&&a.tm.moveToPyMOL(a.eval,c,b)},"JV.Viewer,~N");c$=r(function(){this.saveName=null;this.bondCount=0;this.vwr=this.connections=null;q(this,arguments)},JV,"Connections");t(c$,function(a){var c=a.ms;if(null!=c){this.vwr=a;this.bondCount=c.bondCount;this.connections=Array(this.bondCount+1);a=c.bo;for(c=this.bondCount;0<=--c;){var b=a[c];this.connections[c]=new JV.Connection(b.atom1.i,b.atom2.i,
b.mad,b.colix,b.order,b.getEnergy(),b.shapeVisibilityFlags)}}},"JV.Viewer");b(c$,"restore",function(){var a=this.vwr.ms;if(null==a)return!1;a.deleteAllBonds();for(var c=this.bondCount;0<=--c;){var b=this.connections[c],e=a.ac;b.atomIndex1>=e||b.atomIndex2>=e||(e=a.bondAtoms(a.at[b.atomIndex1],a.at[b.atomIndex2],b.order,b.mad,null,b.energy,!1,!0),e.colix=b.colix,e.shapeVisibilityFlags=b.shapeVisibilityFlags)}for(c=this.bondCount;0<=--c;)a.bo[c].index=c;this.vwr.setShapeProperty(1,"reportAll",null);
return!0});c$=r(function(){this.shapeVisibilityFlags=this.energy=this.order=this.colix=this.mad=this.atomIndex2=this.atomIndex1=0;q(this,arguments)},JV,"Connection");t(c$,function(a,c,b,e,f,g,h){this.atomIndex1=a;this.atomIndex2=c;this.mad=b;this.colix=e;this.order=f;this.energy=g;this.shapeVisibilityFlags=h},"~N,~N,~N,~N,~N,~N,~N")});l("JV");u(["java.util.Hashtable"],"JV.StatusManager","java.lang.Boolean $.Float JU.Lst $.PT J.api.Interface J.c.CBK JS.SV JU.Logger".split(" "),function(){c$=r(function(){this.cbl=
this.jsl=this.vwr=null;this.statusList="";this.allowStatusReporting=!1;this.messageQueue=null;this.statusPtr=0;this.imageMap=this.jmolScriptCallbacks=null;this.minSyncRepeatMs=100;this.stereoSync=this.syncDisabled=this.isSynced=this.drivingSync=this.syncingMouse=this.syncingScripts=!1;this.qualityPNG=this.qualityJPG=-1;this.imageType=null;q(this,arguments)},JV,"StatusManager");M(c$,function(){this.messageQueue=new java.util.Hashtable;this.jmolScriptCallbacks=new java.util.Hashtable});t(c$,function(a){this.vwr=
a},"JV.Viewer");b(c$,"recordStatus",function(a){return this.allowStatusReporting&&0<this.statusList.length&&(this.statusList.equals("all")||0<=this.statusList.indexOf(a))},"~S");b(c$,"setStatusChanged",function(a,c,b,e){if(this.recordStatus(a)){var f=new JU.Lst;f.addLast(Integer.$valueOf(++this.statusPtr));f.addLast(a);f.addLast(Integer.$valueOf(c));f.addLast(b);c=e?null:this.messageQueue.get(a);null==c?this.messageQueue.put(a,c=new JU.Lst):c.size()==JV.StatusManager.MAXIMUM_QUEUE_LENGTH&&c.remove(0);
c.addLast(f)}},"~S,~N,~O,~B");b(c$,"getStatusChanged",function(a){var c=0<a.length&&"-"==a.charAt(0),b=0<a.length&&"+"==a.charAt(0),e=!1;c?this.statusList=JU.PT.rep(this.statusList,a.substring(1,a.length),""):(a=JU.PT.rep(a,"+",""),this.statusList.equals(a)||b&&0<=this.statusList.indexOf(a)?e=!0:(b||(this.statusList=""),this.statusList+=a,JU.Logger.debugging&&JU.Logger.debug("StatusManager messageQueue = "+this.statusList)));a=new JU.Lst;if(e)for(var f,e=this.messageQueue.entrySet().iterator();e.hasNext()&&
((f=e.next())||1);)a.addLast(f.getValue());this.messageQueue.clear();this.statusPtr=0;return a},"~S");b(c$,"jmolScriptCallback",function(a){a=this.jmolScriptCallbacks.get(a);null!=a&&this.vwr.evalStringQuietSync(a,!0,!1);return a},"J.c.CBK");b(c$,"setCallbackFunction",function(a,c){var b=J.c.CBK.getCallback(a);System.out.println("callback set for "+a+" "+c+" "+b);if(null!=b){var e=null==c?0:7<c.length&&0==c.toLowerCase().indexOf("script:")?7:11<c.length&&0==c.toLowerCase().indexOf("jmolscript:")?
11:0;0==e?this.jmolScriptCallbacks.remove(b):this.jmolScriptCallbacks.put(b,c.substring(e).trim())}null!=this.cbl&&this.cbl.setCallbackFunction(a,c)},"~S,~S");b(c$,"notifyEnabled",function(a){return null!=this.cbl&&this.cbl.notifyEnabled(a)},"J.c.CBK");b(c$,"setStatusAppletReady",function(a,c){var b=c?this.jmolScriptCallback(J.c.CBK.APPLETREADY):null;this.notifyEnabled(J.c.CBK.APPLETREADY)&&this.cbl.notifyCallback(J.c.CBK.APPLETREADY,x(-1,[b,a,Boolean.$valueOf(c),null]))},"~S,~B");b(c$,"setStatusAtomMoved",
function(a){var c=this.jmolScriptCallback(J.c.CBK.ATOMMOVED);this.setStatusChanged("atomMoved",-1,a,!1);this.notifyEnabled(J.c.CBK.ATOMMOVED)&&this.cbl.notifyCallback(J.c.CBK.ATOMMOVED,x(-1,[c,a]))},"JU.BS");b(c$,"setStatusAtomPicked",function(a,c,b){var e=this.jmolScriptCallback(J.c.CBK.PICK);JU.Logger.info("setStatusAtomPicked("+a+","+c+")");this.setStatusChanged("atomPicked",a,c,!1);this.notifyEnabled(J.c.CBK.PICK)&&this.cbl.notifyCallback(J.c.CBK.PICK,x(-1,[e,c,Integer.$valueOf(a),b]))},"~N,~S,java.util.Map");
b(c$,"setStatusClicked",function(a,c,b,e,f){var g=this.jmolScriptCallback(J.c.CBK.CLICK);if(!this.notifyEnabled(J.c.CBK.CLICK))return b;f=y(-1,[b,f]);this.cbl.notifyCallback(J.c.CBK.CLICK,x(-1,[g,Integer.$valueOf(a),Integer.$valueOf(c),Integer.$valueOf(b),Integer.$valueOf(e),f]));return f[0]},"~N,~N,~N,~N,~N");b(c$,"setStatusResized",function(a,c){var b=this.jmolScriptCallback(J.c.CBK.RESIZE);this.notifyEnabled(J.c.CBK.RESIZE)&&this.cbl.notifyCallback(J.c.CBK.RESIZE,x(-1,[b,Integer.$valueOf(a),Integer.$valueOf(c)]))},
"~N,~N");b(c$,"haveHoverCallback",function(){return this.jmolScriptCallbacks.containsKey(J.c.CBK.HOVER)||this.notifyEnabled(J.c.CBK.HOVER)});b(c$,"setStatusAtomHovered",function(a,c){var b=this.jmolScriptCallback(J.c.CBK.HOVER);this.notifyEnabled(J.c.CBK.HOVER)&&this.cbl.notifyCallback(J.c.CBK.HOVER,x(-1,[b,c,Integer.$valueOf(a)]))},"~N,~S");b(c$,"setStatusObjectHovered",function(a,c,b){var e=this.jmolScriptCallback(J.c.CBK.HOVER);this.notifyEnabled(J.c.CBK.HOVER)&&this.cbl.notifyCallback(J.c.CBK.HOVER,
x(-1,[e,c,Integer.$valueOf(-1),a,Float.$valueOf(b.x),Float.$valueOf(b.y),Float.$valueOf(b.z)]))},"~S,~S,JU.T3");b(c$,"showImage",function(a,c){var b=JU.PT.split(a,"\u0001");a=3>b.length||b[2].equals("null")?b[1].substring(b[1].lastIndexOf("/")+1):b[2];b=this.jmolScriptCallback(J.c.CBK.IMAGE);this.notifyEnabled(J.c.CBK.IMAGE)&&this.cbl.notifyCallback(J.c.CBK.IMAGE,x(-1,[b,a,c]));if(Boolean.TRUE.equals(c)){if(null!=this.imageMap){for(var b=new JU.Lst,e,f=this.imageMap.keySet().iterator();f.hasNext()&&
((e=f.next())||1);)b.addLast(e);for(e=b.size();0<=--e;)this.imageMap.get(b.get(e)).closeMe()}}else null==this.imageMap&&(this.imageMap=new java.util.Hashtable),e=this.imageMap.get(a),Boolean.FALSE.equals(c)?null!=e&&e.closeMe():(null==e&&null!=c&&(e=this.vwr.apiPlatform.getImageDialog(a,this.imageMap)),null!=e&&(null==c?e.closeMe():e.setImage(c)))},"~S,~O");b(c$,"setFileLoadStatus",function(a,c,b,e,f,g,h){null==a&&"resetUndo".equals(c)&&(c=this.vwr.getProperty("DATA_API","getAppConsole",null),null!=
c&&c.zap(),c=this.vwr.getZapName());this.setStatusChanged("fileLoaded",f,a,!1);null!=e&&this.setStatusChanged("fileLoadError",f,e,!1);var k=this.jmolScriptCallback(J.c.CBK.LOADSTRUCT);g&&this.notifyEnabled(J.c.CBK.LOADSTRUCT)&&(g=this.vwr.getP("_smilesString"),0!=g.length&&(c=g),this.cbl.notifyCallback(J.c.CBK.LOADSTRUCT,x(-1,[k,a,c,b,e,Integer.$valueOf(f),this.vwr.getP("_modelNumber"),this.vwr.getModelNumberDotted(this.vwr.ms.mc-1),h])))},"~S,~S,~S,~S,~N,~B,Boolean");b(c$,"setStatusFrameChanged",
function(a,c,b,e,f,g,h){if(null!=this.vwr.ms){var k=this.vwr.am.animationOn,m=k?-2-f:f;this.setStatusChanged("frameChanged",m,0<=f?this.vwr.getModelNumberDotted(f):"",!1);var l=this.jmolScriptCallback(J.c.CBK.ANIMFRAME);this.notifyEnabled(J.c.CBK.ANIMFRAME)&&this.cbl.notifyCallback(J.c.CBK.ANIMFRAME,x(-1,[l,y(-1,[m,a,c,b,e,f]),h,Float.$valueOf(g)]));k||this.vwr.checkMenuUpdate()}},"~N,~N,~N,~N,~N,~N,~S");b(c$,"setStatusDragDropped",function(a,c,b,e){this.setStatusChanged("dragDrop",0,"",!1);var f=
this.jmolScriptCallback(J.c.CBK.DRAGDROP);if(!this.notifyEnabled(J.c.CBK.DRAGDROP))return!1;this.cbl.notifyCallback(J.c.CBK.DRAGDROP,x(-1,[f,Integer.$valueOf(a),Integer.$valueOf(c),Integer.$valueOf(b),e]));return!0},"~N,~N,~N,~S");b(c$,"setScriptEcho",function(a,c){if(null!=a){this.setStatusChanged("scriptEcho",0,a,!1);var b=this.jmolScriptCallback(J.c.CBK.ECHO);this.notifyEnabled(J.c.CBK.ECHO)&&this.cbl.notifyCallback(J.c.CBK.ECHO,x(-1,[b,a,Integer.$valueOf(c?1:0)]))}},"~S,~B");b(c$,"setStatusMeasuring",
function(a,c,b,e){this.setStatusChanged(a,c,b,!1);var f=null;a.equals("measureCompleted")?(JU.Logger.info("measurement["+c+"] = "+b),f=this.jmolScriptCallback(J.c.CBK.MEASURE)):a.equals("measurePicked")&&(this.setStatusChanged("measurePicked",c,b,!1),JU.Logger.info("measurePicked "+c+" "+b));this.notifyEnabled(J.c.CBK.MEASURE)&&this.cbl.notifyCallback(J.c.CBK.MEASURE,x(-1,[f,b,Integer.$valueOf(c),a,Float.$valueOf(e)]))},"~S,~N,~S,~N");b(c$,"notifyError",function(a,c,b){var e=this.jmolScriptCallback(J.c.CBK.ERROR);
this.notifyEnabled(J.c.CBK.ERROR)&&this.cbl.notifyCallback(J.c.CBK.ERROR,x(-1,[e,a,c,this.vwr.getShapeErrorState(),b]))},"~S,~S,~S");b(c$,"notifyMinimizationStatus",function(a,c,b,e,f){var g=this.jmolScriptCallback(J.c.CBK.MINIMIZATION);this.notifyEnabled(J.c.CBK.MINIMIZATION)&&this.cbl.notifyCallback(J.c.CBK.MINIMIZATION,x(-1,[g,a,c,b,e,f]))},"~S,Integer,Float,Float,~S");b(c$,"setScriptStatus",function(a,c,b,e){if(-1>b)a=-2-b,this.setStatusChanged("scriptStarted",a,c,!1),a="script "+a+" started";
else if(null==a)return;var f=0==b?this.jmolScriptCallback(J.c.CBK.SCRIPT):null,g="Script completed"===a;if(this.recordStatus("script")){var h=null!=e;this.setStatusChanged(h?"scriptError":"scriptStatus",0,a,!1);if(h||g)this.setStatusChanged("scriptTerminated",1,"Jmol script terminated"+(h?" unsuccessfully: "+a:" successfully"),!1)}g&&(this.vwr.getBoolean(603979880)&&this.vwr.getBoolean(603979825))&&(a=this.vwr.getChimeMessenger().scriptCompleted(this,c,e));c=x(-1,[f,a,c,Integer.$valueOf(g?-1:b),e]);
this.notifyEnabled(J.c.CBK.SCRIPT)&&this.cbl.notifyCallback(J.c.CBK.SCRIPT,c);this.processScript(c)},"~S,~S,~N,~S");b(c$,"processScript",function(a){var c=a[3].intValue();null!=this.vwr.scriptEditor&&(0<c?this.vwr.scriptEditor.notifyScriptTermination():0>c?-2==c&&this.vwr.scriptEditor.notifyScriptStart():this.vwr.scriptEditor.isVisible()&&0<a[2].length&&this.vwr.scriptEditor.notifyContext(this.vwr.getScriptContext("SE notify"),a));null!=this.vwr.appConsole&&0==c&&this.vwr.appConsole.sendConsoleMessage(null==
a[1]?null:a[1].toString())},"~A");b(c$,"doSync",function(){return this.isSynced&&this.drivingSync&&!this.syncDisabled});b(c$,"setSync",function(a){this.syncingMouse?null!=a&&this.syncSend(a,"*",0):this.syncingScripts||this.syncSend("!"+this.vwr.tm.getMoveToText(this.minSyncRepeatMs/1E3,!1),"*",0)},"~S");b(c$,"setSyncDriver",function(a){this.stereoSync&&4!=a&&(this.syncSend("SET_GRAPHICS_OFF","*",0),this.stereoSync=!1);switch(a){case 4:if(!this.syncDisabled)return;this.syncDisabled=!1;break;case 3:this.syncDisabled=
!0;break;case 5:this.stereoSync=this.isSynced=this.drivingSync=!0;break;case 1:this.isSynced=this.drivingSync=!0;break;case 2:this.drivingSync=!1;this.isSynced=!0;break;default:this.isSynced=this.drivingSync=!1}JU.Logger.debugging&&JU.Logger.debug(this.vwr.appletName+" sync mode="+a+"; synced? "+this.isSynced+"; driving? "+this.drivingSync+"; disabled? "+this.syncDisabled)},"~N");b(c$,"syncSend",function(a,c,b){return 0!=b||this.notifyEnabled(J.c.CBK.SYNC)?(a=x(-1,[null,a,c,Integer.$valueOf(b)]),
this.cbl.notifyCallback(J.c.CBK.SYNC,a),a[0]):null},"~S,~O,~N");b(c$,"modifySend",function(a,c,b,e){var f=this.jmolScriptCallback(J.c.CBK.STRUCTUREMODIFIED);this.notifyEnabled(J.c.CBK.STRUCTUREMODIFIED)&&this.cbl.notifyCallback(J.c.CBK.STRUCTUREMODIFIED,x(-1,[f,Integer.$valueOf(b),Integer.$valueOf(a),Integer.$valueOf(c),e]))},"~N,~N,~N,~S");b(c$,"processService",function(a){var c=a.get("service");if(null==c)return null;if(p(c,JS.SV)){var c=new java.util.Hashtable,b;for(a=a.entrySet().iterator();a.hasNext()&&
((b=a.next())||1);)c.put(b.getKey(),JS.SV.oValue(b.getValue()));a=c}this.notifyEnabled(J.c.CBK.SERVICE)&&this.cbl.notifyCallback(J.c.CBK.SERVICE,x(-1,[null,a]));return a},"java.util.Map");b(c$,"getSyncMode",function(){return!this.isSynced?0:this.drivingSync?1:2});b(c$,"showUrl",function(a){null!=this.jsl&&this.jsl.showUrl(a)},"~S");b(c$,"clearConsole",function(){null!=this.vwr.appConsole&&this.vwr.appConsole.sendConsoleMessage(null);null!=this.jsl&&this.cbl.notifyCallback(J.c.CBK.MESSAGE,null)});
b(c$,"functionXY",function(a,c,b){return null==this.jsl?G(Math.abs(c),Math.abs(b),0):this.jsl.functionXY(a,c,b)},"~S,~N,~N");b(c$,"functionXYZ",function(a,c,b,e){return null==this.jsl?G(Math.abs(c),Math.abs(b),Math.abs(b),0):this.jsl.functionXYZ(a,c,b,e)},"~S,~N,~N,~N");b(c$,"jsEval",function(a){return null==this.jsl?"":this.jsl.eval(a)},"~S");b(c$,"createImage",function(a,c,b,e,f){return null==this.jsl?null:this.jsl.createImage(a,c,null==b?e:b,f)},"~S,~S,~S,~A,~N");b(c$,"getRegistryInfo",function(){return null==
this.jsl?null:this.jsl.getRegistryInfo()});b(c$,"dialogAsk",function(a,c,b){var e=a.equals("Save Image"),f=J.api.Interface.getOption("dialog.Dialog",this.vwr,"status");if(null==f)return null;f.setupUI(!1);e&&f.setImageInfo(this.qualityJPG,this.qualityPNG,this.imageType);a=f.getFileNameFromDialog(this.vwr,a,c);e&&null!=a&&(this.qualityJPG=f.getQuality("JPG"),this.qualityPNG=f.getQuality("PNG"),e=f.getType(),null!=b&&(b.put("qualityJPG",Integer.$valueOf(this.qualityJPG)),b.put("qualityPNG",Integer.$valueOf(this.qualityPNG)),
null!=e&&b.put("dialogImageType",e)),null!=e&&(this.imageType=e));return a},"~S,~S,java.util.Map");b(c$,"getJspecViewProperties",function(a){return null==this.jsl?null:this.jsl.getJSpecViewProperty(null==a||0==a.length?"":":"+a)},"~S");b(c$,"resizeInnerPanel",function(a,c){return null==this.jsl?y(-1,[a,c]):this.jsl.resizeInnerPanel("preferredWidthHeight "+a+" "+c+";")},"~N,~N");D(c$,"MAXIMUM_QUEUE_LENGTH",16,"SYNC_OFF",0,"SYNC_DRIVER",1,"SYNC_SLAVE",2,"SYNC_DISABLE",3,"SYNC_ENABLE",4,"SYNC_STEREO",
5)});l("JV");u("JU.A4 $.M3 $.M4 $.P3 $.P3i $.V3 J.c.STER JU.Point3fi".split(" "),"JV.TransformManager","java.lang.Boolean $.Float java.util.Hashtable JU.P4 $.Quat $.SB J.api.Interface JU.Escape $.Logger".split(" "),function(){c$=r(function(){this.spinThread=this.vibrationThread=this.movetoThread=this.vwr=null;this.perspectiveModel=11;this.modelRadiusPixels=this.modelRadius=this.modelCenterOffset=this.cameraDistanceFromCenter=this.aperatureAngle=this.referencePlaneOffset=this.cameraScaleFactor=0;this.navigationShiftXY=
this.navigationOffset=this.navigationCenter=null;this.navigationDepthPercent=0;this.vectorTemp=this.matrixTemp=null;this.haveNotifiedNaN=!1;this.spinX=0;this.spinY=30;this.spinZ=0;this.spinFps=30;this.navZ=this.navY=this.navX=0;this.navFps=NaN;this.doTransform4D=this.isSpinSelected=this.isSpinFixed=this.isSpinInternal=!1;this.rotationCenterDefault=this.perspectiveShiftXY=this.perspectiveOffset=this.fixedRotationCenter=this.fixedRotationOffset=null;this.rotationRadiusDefault=0;this.internalRotationCenter=
this.internalTranslation=this.internalRotationAxis=this.fixedRotationAxis=null;this.internalRotationAngle=0;this.rotationAxis=this.pointT2=this.vectorT2=this.vectorT=this.axisangleT=this.matrixTemp4=this.matrixTemp3=this.matrixRotate=null;this.rotationRate=0;this.cameraSetting=this.camera=this.fixedTranslation=null;this.yTranslationFraction=this.xTranslationFraction=0.5;this.previousY=this.previousX=this.prevZoomSetting=0;this.zoomEnabled=!0;this.zmPctSet=this.zmPct=100;this.zoomRatio=0;this.internalSlab=
this.zShadeEnabled=this.slabEnabled=!1;this.depthValue=this.slabValue=this.depthPercentSetting=this.slabPercentSetting=0;this.zSlabPercentSetting=50;this.zDepthPercentSetting=0;this.zSlabPoint=null;this.slabRange=this.zDepthValue=this.zSlabValue=0;this.depthPlane=this.slabPlane=null;this.perspectiveDepth=!0;this.scale3D=!1;this.cameraDepthSetting=this.cameraDepth=3;this.visualRangeAngstroms=0;this.cameraDistance=1E3;this.scale3DAngstromsPerInch=this.scaleDefaultPixelsPerAngstrom=this.scalePixelsPerAngstrom=
this.screenPixelCount=this.height=this.width=0;this.zoomHeight=this.useZoomLarge=this.antialias=!1;this.screenHeight=this.screenWidth=0;this.ptVibTemp=this.iScrPt=this.fScrPt=this.matrixTransformInv=this.matrixTransform=null;this.navigating=!1;this.defaultMode=this.mode=0;this.matrixTest=this.aaTest1=this.ptTest3=this.ptTest2=this.ptTest1=this.untransformedPoint=null;this.vibrationOn=this.spinIsGesture=this.navOn=this.spinOn=!1;this.vibrationScale=this.vibrationPeriodMs=this.vibrationPeriod=0;this.stereoColors=
this.stereoMode=this.vibrationT=null;this.stereoDoubleFull=this.stereoDoubleDTI=!1;this.stereoDegrees=NaN;this.stereoRadians=0;this.stereoFrame=!1;this.matrixStereo=null;this.windowCentered=!1;this.ptOffset=this.bsSelectedAtoms=this.bsFrameOffsets=this.frameOffsets=this.frameOffset=null;this.navMode=1;this.zoomFactor=3.4028235E38;this.navigationSlabOffset=0;this.nav=null;q(this,arguments)},JV,"TransformManager");M(c$,function(){this.navigationCenter=new JU.P3;this.navigationOffset=new JU.P3;this.navigationShiftXY=
new JU.P3;this.matrixTemp=new JU.M4;this.vectorTemp=new JU.V3;this.fixedRotationOffset=new JU.P3;this.fixedRotationCenter=new JU.P3;this.perspectiveOffset=new JU.P3;this.perspectiveShiftXY=new JU.P3;this.rotationCenterDefault=new JU.P3;this.fixedRotationAxis=new JU.A4;this.internalRotationAxis=new JU.A4;this.internalRotationCenter=JU.P3.new3(0,0,0);this.matrixRotate=new JU.M3;this.matrixTemp3=new JU.M3;this.matrixTemp4=new JU.M4;this.axisangleT=new JU.A4;this.vectorT=new JU.V3;this.vectorT2=new JU.V3;
this.pointT2=new JU.P3;this.rotationAxis=new JU.V3;this.fixedTranslation=new JU.P3;this.camera=new JU.P3;this.cameraSetting=new JU.P3;this.matrixTransform=new JU.M4;this.matrixTransformInv=new JU.M4;this.fScrPt=new JU.P3;this.iScrPt=new JU.P3i;this.ptVibTemp=new JU.Point3fi;this.untransformedPoint=new JU.P3;this.ptTest1=new JU.P3;this.ptTest2=new JU.P3;this.ptTest3=new JU.P3;this.aaTest1=new JU.A4;this.matrixTest=new JU.M3;this.vibrationT=new JU.P3;this.stereoMode=J.c.STER.NONE;this.matrixStereo=
new JU.M3;this.frameOffset=new JU.P3;this.ptOffset=new JU.P3});t(c$,function(){});c$.getTransformManager=b(c$,"getTransformManager",function(a,c,b,e){e=e?J.api.Interface.getInterface("JV.TransformManager4D",a,"tm"):new JV.TransformManager;e.vwr=a;e.setScreenParameters(c,b,!0,!1,!0,!0);return e},"JV.Viewer,~N,~N,~B");b(c$,"setDefaultPerspective",function(){this.setCameraDepthPercent(3,!0);this.setPerspectiveDepth(!0);this.setStereoDegrees(-5);this.visualRangeAngstroms=5;this.setSpinOff();this.setVibrationPeriod(0)});
b(c$,"homePosition",function(a){a&&this.setSpinOff();this.setNavOn(!1);this.navFps=10;this.navX=this.navY=this.navZ=0;this.rotationCenterDefault.setT(this.vwr.getBoundBoxCenter());this.setFixedRotationCenter(this.rotationCenterDefault);this.rotationRadiusDefault=this.setRotationRadius(0,!0);this.windowCentered=!0;this.setRotationCenterAndRadiusXYZ(null,!0);this.resetRotation();a=this.vwr.ms.getInfoM("defaultOrientationMatrix");null!=a&&this.setRotation(a);this.setZoomEnabled(!0);this.zoomToPercent(this.vwr.g.modelKitMode?
50:100);this.zmPct=this.zmPctSet;this.slabReset();this.resetFitToScreen(!0);this.vwr.isJmolDataFrame()?this.fixedRotationCenter.set(0,0,0):this.vwr.g.axesOrientationRasmol&&this.matrixRotate.setAsXRotation(3.141592653589793);this.vwr.stm.saveOrientation("default",null);1==this.mode&&this.setNavigationMode(!0)},"~B");b(c$,"setRotation",function(a){a.isRotation()?this.matrixRotate.setM3(a):this.resetRotation()},"JU.M3");b(c$,"resetRotation",function(){this.matrixRotate.setScale(1)});b(c$,"clearThreads",
function(){this.clearVibration();this.clearSpin();this.setNavOn(!1);this.stopMotion()});b(c$,"clear",function(){this.fixedRotationCenter.set(0,0,0);this.navigating=!1;this.zSlabPoint=this.depthPlane=this.slabPlane=null;this.resetNavigationPoint(!0)});b(c$,"setFixedRotationCenter",function(a){null!=a&&this.fixedRotationCenter.setT(a)},"JU.T3");b(c$,"setRotationPointXY",function(a){a=this.transformPt(a);this.fixedTranslation.set(a.x,a.y,0)},"JU.P3");b(c$,"spinXYBy",function(a,c,b){if(0==a&&0==c)null!=
this.spinThread&&this.spinIsGesture&&this.clearSpin();else{this.clearSpin();var e=JU.P3.newP(this.fixedRotationCenter),f=new JU.P3;this.transformPt3f(e,f);a=JU.P3.new3(-c,a,0);a.add(f);this.unTransformPoint(a,a);this.vwr.setInMotion(!1);this.rotateAboutPointsInternal(null,a,e,10*b,NaN,!1,!0,null,!0,null,null,null,null)}},"~N,~N,~N");b(c$,"rotateXYBy",function(a,c,b){this.rotate3DBall(a,c,b)},"~N,~N,JU.BS");b(c$,"rotateZBy",function(a,c,b){2147483647!=c&&2147483647!=b&&this.resetXYCenter(c,b);this.rotateZRadians(a/
57.29577951308232)},"~N,~N,~N");b(c$,"applyRotation",function(a,c,b,e,f,g){null==b?this.matrixRotate.mul2(a,this.matrixRotate):(this.vwr.moveAtoms(g,a,this.matrixRotate,e,this.internalRotationCenter,c,b,f),null!=e&&this.internalRotationCenter.add(e))},"JU.M3,~B,JU.BS,JU.V3,~B,JU.M4");b(c$,"rotate3DBall",function(a,c,b){this.matrixTemp3.setAsBallRotation(0.017453292,-c,-a)&&this.applyRotation(this.matrixTemp3,!1,b,null,!1,null)},"~N,~N,JU.BS");b(c$,"rotateXRadians",function(a,c){this.applyRotation(this.matrixTemp3.setAsXRotation(a),
!1,c,null,!1,null)},"~N,JU.BS");b(c$,"rotateYRadians",function(a,c){this.applyRotation(this.matrixTemp3.setAsYRotation(a),!1,c,null,!1,null)},"~N,JU.BS");b(c$,"rotateZRadians",function(a){this.applyRotation(this.matrixTemp3.setAsZRotation(a),!1,null,null,!1,null)},"~N");b(c$,"rotateAxisAngle",function(a,c){this.axisangleT.setVA(a,c);this.rotateAxisAngle2(this.axisangleT,null)},"JU.V3,~N");b(c$,"rotateAxisAngle2",function(a,c){this.applyRotation(this.matrixTemp3.setAA(a),!1,c,null,!1,null)},"JU.A4,JU.BS");
b(c$,"rotateAxisAngleAtCenter",function(a,c,b,e,f,g,h){null!=c&&this.moveRotationCenter(c,!0);this.setSpinOff();this.setNavOn(!1);if(this.vwr.headless){if(g&&3.4028235E38==f)return!1;g=!1}if(Float.isNaN(e)||0==e||0==f)return!1;null!=c&&this.setRotationPointXY(c);this.setFixedRotationCenter(c);this.rotationAxis.setT(b);this.rotationRate=e;if(g)return this.fixedRotationAxis.setVA(b,0.017453292*e),this.isSpinInternal=!1,this.isSpinFixed=!0,this.isSpinSelected=null!=h,this.setSpin(a,!0,f,null,null,h,
!1),3.4028235E38!=f;a=0.017453292*f;this.fixedRotationAxis.setVA(b,f);this.rotateAxisAngleRadiansFixed(a,h);return!0},"J.api.JmolScriptEvaluator,JU.P3,JU.V3,~N,~N,~B,JU.BS");b(c$,"rotateAxisAngleRadiansFixed",function(a,c){this.axisangleT.setAA(this.fixedRotationAxis);this.axisangleT.angle=a;this.rotateAxisAngle2(this.axisangleT,c)},"~N,JU.BS");b(c$,"rotateAboutPointsInternal",function(a,c,b,e,f,g,h,k,m,l,p,q,r){this.setSpinOff();this.setNavOn(!1);if(null==q&&(null==l||0.001>l.length())&&(h?Float.isNaN(e)||
0==e:0==f))return!1;var t=null;null==q&&(t=JU.V3.newVsub(b,c),g&&t.scale(-1),this.internalRotationCenter.setT(c),this.rotationAxis.setT(t),this.internalTranslation=null==l?null:JU.V3.newV(l));c=null!=k;if(h)return null==q?(0==f&&(f=NaN),Float.isNaN(f)?this.rotationRate=e:(r=v(Math.abs(f)/Math.abs(e)*this.spinFps+0.5),this.rotationRate=f/r*this.spinFps,null!=l&&this.internalTranslation.scale(1/r)),this.internalRotationAxis.setVA(t,0.017453292*(Float.isNaN(this.rotationRate)?0:this.rotationRate)),this.isSpinInternal=
!0,this.isSpinFixed=!1,this.isSpinSelected=c):f=e,this.setSpin(a,!0,f,p,q,k,m),!Float.isNaN(f);a=0.017453292*f;this.internalRotationAxis.setVA(t,a);this.rotateAxisAngleRadiansInternal(a,k,r);return!1},"J.api.JmolScriptEvaluator,JU.T3,JU.T3,~N,~N,~B,~B,JU.BS,~B,JU.V3,JU.Lst,~A,JU.M4");b(c$,"rotateAxisAngleRadiansInternal",function(a,c,b){this.internalRotationAngle=a;this.vectorT.set(this.internalRotationAxis.x,this.internalRotationAxis.y,this.internalRotationAxis.z);this.matrixRotate.rotate2(this.vectorT,
this.vectorT2);this.axisangleT.setVA(this.vectorT2,a);this.applyRotation(this.matrixTemp3.setAA(this.axisangleT),!0,c,this.internalTranslation,1E6<a,b);null==c&&this.getNewFixedRotationCenter()},"~N,JU.BS,JU.M4");b(c$,"getNewFixedRotationCenter",function(){this.axisangleT.setAA(this.internalRotationAxis);this.axisangleT.angle=-this.internalRotationAngle;this.matrixTemp4.setToAA(this.axisangleT);this.vectorT.setT(this.internalRotationCenter);this.pointT2.sub2(this.fixedRotationCenter,this.vectorT);
var a=this.matrixTemp4.rotTrans2(this.pointT2,new JU.P3);a.add(this.vectorT);this.setRotationCenterAndRadiusXYZ(a,!1)});b(c$,"setTranslationFractions",function(){this.xTranslationFraction=this.fixedTranslation.x/this.width;this.yTranslationFraction=this.fixedTranslation.y/this.height});b(c$,"centerAt",function(a,c,b){null==b?this.translateXYBy(a,c):(this.windowCentered&&this.vwr.setBooleanProperty("windowCentered",!1),this.fixedTranslation.x=a,this.fixedTranslation.y=c,this.setFixedRotationCenter(b))},
"~N,~N,JU.P3");b(c$,"percentToPixels",function(a,c){switch(a){case "x":return v(Math.floor(c/100*this.width));case "y":return v(Math.floor(c/100*this.height));case "z":return v(Math.floor(c/100*this.screenPixelCount))}return 0},"~S,~N");b(c$,"angstromsToPixels",function(a){return v(Math.floor(this.scalePixelsPerAngstrom*a))},"~N");b(c$,"translateXYBy",function(a,c){this.fixedTranslation.x+=a;this.fixedTranslation.y+=c;this.setTranslationFractions()},"~N,~N");b(c$,"setCamera",function(a,c){this.cameraSetting.set(a,
c,0==a&&0==c?0:1)},"~N,~N");b(c$,"translateToPercent",function(a,c){switch(a){case "x":this.xTranslationFraction=0.5+c/100;this.fixedTranslation.x=this.width*this.xTranslationFraction;break;case "y":this.yTranslationFraction=0.5+c/100;this.fixedTranslation.y=this.height*this.yTranslationFraction;break;case "z":1==this.mode&&this.setNavigationDepthPercent(c)}},"~S,~N");b(c$,"getTranslationXPercent",function(){return 0==this.width?0:100*(this.fixedTranslation.x-this.width/2)/this.width});b(c$,"getTranslationYPercent",
function(){return 0==this.height?0:100*(this.fixedTranslation.y-this.height/2)/this.height});b(c$,"getTranslationScript",function(){var a="",c=this.getTranslationXPercent();0!=c&&(a+="translate x "+c+";");c=this.getTranslationYPercent();0!=c&&(a+="translate y "+c+";");return a});b(c$,"getOrientationText",function(a){switch(a){case 4129:return this.getMoveToText(1,!1);case 1073742132:return this.getRotationQ().toString();case 1073742178:return a=new JU.SB,JV.TransformManager.truncate2(a,this.getTranslationXPercent()),
JV.TransformManager.truncate2(a,this.getTranslationYPercent()),a.toString();default:return this.getMoveToText(1,!0)+"\n#OR\n"+this.getRotateZyzText(!0)}},"~N");b(c$,"getRotationQ",function(){return JU.Quat.newM(this.matrixRotate)});b(c$,"getOrientationInfo",function(){var a=new java.util.Hashtable;a.put("moveTo",this.getMoveToText(1,!1));a.put("center","center "+this.getCenterText());a.put("centerPt",this.fixedRotationCenter);var c=new JU.A4;c.setM(this.matrixRotate);a.put("axisAngle",c);a.put("quaternion",
this.getRotationQ().toPoint4f());a.put("rotationMatrix",this.matrixRotate);a.put("rotateZYZ",this.getRotateZyzText(!1));a.put("rotateXYZ",this.getRotateXyzText());a.put("transXPercent",Float.$valueOf(this.getTranslationXPercent()));a.put("transYPercent",Float.$valueOf(this.getTranslationYPercent()));a.put("zoom",Float.$valueOf(this.zmPct));a.put("modelRadius",Float.$valueOf(this.modelRadius));1==this.mode&&(a.put("navigationCenter","navigate center "+JU.Escape.eP(this.navigationCenter)),a.put("navigationOffsetXPercent",
Float.$valueOf(this.getNavigationOffsetPercent("X"))),a.put("navigationOffsetYPercent",Float.$valueOf(this.getNavigationOffsetPercent("Y"))),a.put("navigationDepthPercent",Float.$valueOf(this.navigationDepthPercent)));return a});b(c$,"getRotation",function(a){a.setM3(this.matrixRotate)},"JU.M3");b(c$,"setZoomHeight",function(a,c){this.zoomHeight=a;this.scaleFitToScreen(!1,c,!1,!0)},"~B,~B");b(c$,"zoomBy",function(a){20<a?a=20:-20>a&&(a=-20);var c=a*this.zmPctSet/50;0==c&&(c=0<a?1:0>c?-1:0);this.zoomRatio=
(c+this.zmPctSet)/this.zmPctSet;this.zmPctSet+=c},"~N");b(c$,"zoomByFactor",function(a,c,b){!(0>=a)&&this.zoomEnabled&&(1!=this.mode?(this.zoomRatio=a,this.zmPctSet*=a,this.resetXYCenter(c,b)):this.getNav()&&this.nav.zoomByFactor(a,c,b))},"~N,~N,~N");b(c$,"zoomToPercent",function(a){this.zmPctSet=a;this.zoomRatio=0},"~N");b(c$,"translateZBy",function(a){a>=this.screenPixelCount||(a=this.scalePixelsPerAngstrom/(1-1*a/this.screenPixelCount),a>=this.screenPixelCount||(a=100*(a/this.scaleDefaultPixelsPerAngstrom),
this.zoomRatio=a/this.zmPctSet,this.zmPctSet=a))},"~N");b(c$,"resetXYCenter",function(a,c){if(!(2147483647==a||2147483647==c)){this.windowCentered&&this.vwr.setBooleanProperty("windowCentered",!1);var b=new JU.P3;this.transformPt3f(this.fixedRotationCenter,b);b.set(a,c,b.z);this.unTransformPoint(b,b);this.fixedTranslation.set(a,c,0);this.setFixedRotationCenter(b)}},"~N,~N");b(c$,"zoomByPercent",function(a){var c=a*this.zmPctSet/100;0==c&&(c=0>a?-1:1);this.zoomRatio=(c+this.zmPctSet)/this.zmPctSet;
this.zmPctSet+=c},"~N");b(c$,"setScaleAngstromsPerInch",function(a){if(this.scale3D=0<a)this.scale3DAngstromsPerInch=a;this.perspectiveDepth=!this.scale3D},"~N");b(c$,"setSlabRange",function(a){this.slabRange=a},"~N");b(c$,"setSlabEnabled",function(a){this.slabEnabled=a;this.vwr.g.setB("slabEnabled",a)},"~B");b(c$,"setZShadeEnabled",function(a){this.zShadeEnabled=a;this.vwr.g.setB("zShade",a)},"~B");b(c$,"setZoomEnabled",function(a){this.zoomEnabled=a;this.vwr.g.setB("zoomEnabled",a)},"~B");b(c$,
"slabReset",function(){this.slabToPercent(100);this.depthToPercent(0);this.slabPlane=this.depthPlane=null;this.setSlabEnabled(!1);this.setZShadeEnabled(!1);this.slabDepthChanged()});b(c$,"getSlabPercentSetting",function(){return this.slabPercentSetting});b(c$,"slabDepthChanged",function(){this.vwr.g.setI("slab",this.slabPercentSetting);this.vwr.g.setI("depth",this.depthPercentSetting);this.finalizeTransformParameters()});b(c$,"slabByPercentagePoints",function(a){this.slabPlane=null;if(!(0>a?this.slabPercentSetting<=
Math.max(0,this.depthPercentSetting):100<=this.slabPercentSetting))this.slabPercentSetting+=a,this.slabDepthChanged(),this.depthPercentSetting>=this.slabPercentSetting&&(this.depthPercentSetting=this.slabPercentSetting-1)},"~N");b(c$,"depthByPercentagePoints",function(a){this.depthPlane=null;if(!(0>a?0>=this.depthPercentSetting:this.depthPercentSetting>=Math.min(100,this.slabPercentSetting)))this.depthPercentSetting+=a,this.slabPercentSetting<=this.depthPercentSetting&&(this.slabPercentSetting=this.depthPercentSetting+
1),this.slabDepthChanged()},"~N");b(c$,"slabDepthByPercentagePoints",function(a){this.depthPlane=this.slabPlane=null;if(!(0>a?this.slabPercentSetting<=Math.max(0,this.depthPercentSetting):this.depthPercentSetting>=Math.min(100,this.slabPercentSetting)))this.slabPercentSetting+=a,this.depthPercentSetting+=a,this.slabDepthChanged()},"~N");b(c$,"slabToPercent",function(a){this.vwr.setFloatProperty("slabRange",0);this.slabPercentSetting=a;this.slabPlane=null;this.depthPercentSetting>=this.slabPercentSetting&&
(this.depthPercentSetting=this.slabPercentSetting-1);this.slabDepthChanged()},"~N");b(c$,"depthToPercent",function(a){this.vwr.g.setI("depth",a);this.depthPercentSetting=a;this.slabPercentSetting<=this.depthPercentSetting&&(this.slabPercentSetting=this.depthPercentSetting+1);this.slabDepthChanged()},"~N");b(c$,"zSlabToPercent",function(a){this.zSlabPercentSetting=a;this.zDepthPercentSetting>this.zSlabPercentSetting&&(this.zDepthPercentSetting=a)},"~N");b(c$,"zDepthToPercent",function(a){this.zDepthPercentSetting=
a;this.zDepthPercentSetting>this.zSlabPercentSetting&&(this.zSlabPercentSetting=a)},"~N");b(c$,"slabInternal",function(a,c){c?(this.depthPlane=a,this.depthPercentSetting=0):(this.slabPlane=a,this.slabPercentSetting=100);this.slabDepthChanged()},"JU.P4,~B");b(c$,"setSlabDepthInternal",function(a){a?this.depthPlane=null:this.slabPlane=null;this.slabInternal(this.getSlabDepthPlane(a),a)},"~B");b(c$,"getSlabDepthPlane",function(a){if(a){if(null!=this.depthPlane)return this.depthPlane}else if(null!=this.slabPlane)return this.slabPlane;
var c=this.matrixTransform;return JU.P4.new4(-c.m20,-c.m21,-c.m22,-c.m23+(a?this.depthValue:this.slabValue))},"~B");b(c$,"getCameraFactors",function(){this.aperatureAngle=360*Math.atan2(this.screenPixelCount/2,this.referencePlaneOffset)/3.141592653589793;this.cameraDistanceFromCenter=this.referencePlaneOffset/this.scalePixelsPerAngstrom;var a=JU.P3.new3(v(this.screenWidth/2),v(this.screenHeight/2),this.referencePlaneOffset);this.unTransformPoint(a,a);var c=JU.P3.new3(v(this.screenWidth/2),v(this.screenHeight/
2),0);this.unTransformPoint(c,c);c.sub(this.fixedRotationCenter);var b=JU.P3.new3(v(this.screenWidth/2),v(this.screenHeight/2),this.cameraDistanceFromCenter*this.scalePixelsPerAngstrom);this.unTransformPoint(b,b);b.sub(this.fixedRotationCenter);c.add(b);return x(-1,[a,c,this.fixedRotationCenter,JU.P3.new3(this.cameraDistanceFromCenter,this.aperatureAngle,this.scalePixelsPerAngstrom)])});b(c$,"setPerspectiveDepth",function(a){this.perspectiveDepth!=a&&(this.perspectiveDepth=a,this.vwr.g.setB("perspectiveDepth",
a),this.resetFitToScreen(!1))},"~B");b(c$,"getPerspectiveDepth",function(){return this.perspectiveDepth});b(c$,"setCameraDepthPercent",function(a,c){this.resetNavigationPoint(c);var b=0>a?-a/100:a;0!=b&&(this.cameraDepthSetting=b,this.vwr.g.setF("cameraDepth",this.cameraDepthSetting),this.cameraDepth=NaN)},"~N,~B");b(c$,"getCameraDepth",function(){return this.cameraDepthSetting});b(c$,"setScreenParameters0",function(a,c,b,e,f,g){2147483647!=a&&(this.screenWidth=a,this.screenHeight=c,this.useZoomLarge=
b,this.width=(this.antialias=e)?2*a:a,this.height=e?2*c:c,this.scaleFitToScreen(!1,b,f,g))},"~N,~N,~B,~B,~B,~B");b(c$,"setAntialias",function(a){var c=this.antialias!=a;this.width=(this.antialias=a)?2*this.screenWidth:this.screenWidth;this.height=this.antialias?2*this.screenHeight:this.screenHeight;c&&this.scaleFitToScreen(!1,this.useZoomLarge,!1,!1)},"~B");b(c$,"defaultScaleToScreen",function(a){return this.screenPixelCount/2/a},"~N");b(c$,"resetFitToScreen",function(a){this.scaleFitToScreen(a,this.vwr.g.zoomLarge,
!0,!0)},"~B");b(c$,"scaleFitToScreen",function(a,c,b,e){0==this.width||0==this.height?this.screenPixelCount=1:(this.fixedTranslation.set(this.width*(a?0.5:this.xTranslationFraction),this.height*(a?0.5:this.yTranslationFraction),0),this.setTranslationFractions(),a&&this.camera.set(0,0,0),e&&this.resetNavigationPoint(b),this.zoomHeight&&(c=this.height>this.width),this.screenPixelCount=c==this.height>this.width?this.height:this.width);2<this.screenPixelCount&&(this.screenPixelCount-=2);this.scaleDefaultPixelsPerAngstrom=
this.defaultScaleToScreen(this.modelRadius)},"~B,~B,~B,~B");b(c$,"scaleToScreen",function(a,c){if(0==c||2>a)return 0;var b=this.scaleToPerspective(a,c*this.scalePixelsPerAngstrom/1E3);return 0<b?b:1},"~N,~N");b(c$,"unscaleToScreen",function(a,c){var b=c/this.scalePixelsPerAngstrom;return this.perspectiveDepth?b/this.getPerspectiveFactor(a):b},"~N,~N");b(c$,"scaleToPerspective",function(a,c){return this.perspectiveDepth?c*this.getPerspectiveFactor(a):c},"~N,~N");b(c$,"setNavigationMode",function(a){this.mode=
a?1:this.defaultMode;this.resetNavigationPoint(!0)},"~B");b(c$,"isNavigating",function(){return this.navigating||this.navOn});b(c$,"finalizeTransformParameters",function(){this.haveNotifiedNaN=!1;this.fixedRotationOffset.setT(this.fixedTranslation);this.camera.setT(this.cameraSetting);this.internalSlab=this.slabEnabled&&(null!=this.slabPlane||null!=this.depthPlane);var a=this.getZoomSetting();this.zmPct!=a&&(this.zmPct=a,this.vwr.g.fontCaching||this.vwr.gdata.clearFontCache());this.calcCameraFactors();
this.calcTransformMatrix();1==this.mode?this.calcNavigationPoint():this.calcSlabAndDepthValues()});b(c$,"getZoomSetting",function(){5>this.zmPctSet&&(this.zmPctSet=5);2E5<this.zmPctSet&&(this.zmPctSet=2E5);return this.zoomEnabled||1==this.mode?this.zmPctSet:100});b(c$,"calcSlabAndDepthValues",function(){this.slabValue=1>this.slabRange?this.zValueFromPercent(this.slabPercentSetting):v(Math.floor(this.modelCenterOffset*this.slabRange/(2*this.modelRadius)*(this.zmPctSet/100)));this.depthValue=this.zValueFromPercent(this.depthPercentSetting);
this.zSlabPercentSetting==this.zDepthPercentSetting?(this.zSlabValue=this.slabValue,this.zDepthValue=this.depthValue):(this.zSlabValue=this.zValueFromPercent(this.zSlabPercentSetting),this.zDepthValue=this.zValueFromPercent(this.zDepthPercentSetting));if(null!=this.zSlabPoint)try{this.transformPt3f(this.zSlabPoint,this.pointT2),this.zSlabValue=A(this.pointT2.z)}catch(a){if(!C(a,Exception))throw a;}this.vwr.g.setO("_slabPlane",JU.Escape.eP4(this.getSlabDepthPlane(!1)));this.vwr.g.setO("_depthPlane",
JU.Escape.eP4(this.getSlabDepthPlane(!0)));this.slabEnabled||(this.slabValue=0,this.depthValue=2147483647)});b(c$,"zValueFromPercent",function(a){return v(Math.floor((1-a/50)*this.modelRadiusPixels+this.modelCenterOffset))},"~N");b(c$,"calcTransformMatrix",function(){this.matrixTransform.setIdentity();this.vectorTemp.sub2(this.frameOffset,this.fixedRotationCenter);this.matrixTransform.setTranslation(this.vectorTemp);this.matrixTemp.setToM3(this.stereoFrame?this.matrixStereo:this.matrixRotate);this.matrixTransform.mul2(this.matrixTemp,
this.matrixTransform);this.matrixTemp.setIdentity();this.matrixTemp.m00=this.matrixTemp.m11=this.matrixTemp.m22=this.scalePixelsPerAngstrom;this.matrixTemp.m11=this.matrixTemp.m22=-this.scalePixelsPerAngstrom;this.matrixTransform.mul2(this.matrixTemp,this.matrixTransform);this.matrixTransform.m23+=this.modelCenterOffset;try{this.matrixTransformInv.setM4(this.matrixTransform).invert()}catch(a){if(C(a,Exception))System.out.println("ERROR INVERTING matrixTransform!");else throw a;}});b(c$,"rotatePoint",
function(a,c){this.matrixRotate.rotate2(a,c);c.y=-c.y},"JU.T3,JU.T3");b(c$,"getScreenTemp",function(a){this.matrixTransform.rotTrans2(a,this.fScrPt)},"JU.T3");b(c$,"transformPtScr",function(a,c){c.setT(this.transformPt(a))},"JU.T3,JU.P3i");b(c$,"transformPtScrT3",function(a,c){this.transformPt(a);c.setT(this.fScrPt)},"JU.T3,JU.T3");b(c$,"transformPtNoClip",function(a,c){this.applyPerspective(a,null);c.setT(this.fScrPt)},"JU.T3,JU.T3");b(c$,"transformPt",function(a){return this.applyPerspective(a,
this.internalSlab?a:null)},"JU.T3");b(c$,"transformPtVib",function(a,c){this.ptVibTemp.setT(a);return this.applyPerspective(this.getVibrationPoint(c,this.ptVibTemp,NaN),a)},"JU.P3,JU.Vibration");b(c$,"getVibrationPoint",function(a,c,b){return a.setCalcPoint(c,this.vibrationT,Float.isNaN(b)?this.vibrationScale:b,this.vwr.g.modulationScale)},"JU.Vibration,JU.T3,~N");b(c$,"transformPt3f",function(a,c){this.applyPerspective(a,a);c.setT(this.fScrPt)},"JU.T3,JU.P3");b(c$,"transformPt2D",function(a){-3.4028235E38==
a.z?(this.iScrPt.x=v(Math.floor(a.x/100*this.screenWidth)),this.iScrPt.y=v(Math.floor((1-a.y/100)*this.screenHeight))):(this.iScrPt.x=A(a.x),this.iScrPt.y=this.screenHeight-A(a.y));this.antialias&&(this.iScrPt.x<<=1,this.iScrPt.y<<=1);this.matrixTransform.rotTrans2(this.fixedRotationCenter,this.fScrPt);this.iScrPt.z=A(this.fScrPt.z);return this.iScrPt},"JU.T3");b(c$,"applyPerspective",function(a,c){this.getScreenTemp(a);var b=this.fScrPt.z;Float.isNaN(b)?(!this.haveNotifiedNaN&&JU.Logger.debugging&&
JU.Logger.debug("NaN seen in TransformPoint"),this.haveNotifiedNaN=!0,b=this.fScrPt.z=1):0>=b&&(b=this.fScrPt.z=1);switch(this.mode){case 1:this.fScrPt.x-=this.navigationShiftXY.x;this.fScrPt.y-=this.navigationShiftXY.y;break;case 2:this.fScrPt.x+=this.perspectiveShiftXY.x,this.fScrPt.y+=this.perspectiveShiftXY.y}this.perspectiveDepth&&(b=this.getPerspectiveFactor(b),this.fScrPt.x*=b,this.fScrPt.y*=b);switch(this.mode){case 1:this.fScrPt.x+=this.navigationOffset.x;this.fScrPt.y+=this.navigationOffset.y;
break;case 2:this.fScrPt.x-=this.perspectiveShiftXY.x,this.fScrPt.y-=this.perspectiveShiftXY.y;case 0:this.fScrPt.x+=this.fixedRotationOffset.x,this.fScrPt.y+=this.fixedRotationOffset.y}Float.isNaN(this.fScrPt.x)&&!this.haveNotifiedNaN&&(JU.Logger.debugging&&JU.Logger.debug("NaN found in transformPoint "),this.haveNotifiedNaN=!0);this.iScrPt.set(A(this.fScrPt.x),A(this.fScrPt.y),A(this.fScrPt.z));if(null!=c&&(null!=this.slabPlane&&0<c.x*this.slabPlane.x+c.y*this.slabPlane.y+c.z*this.slabPlane.z+this.slabPlane.w||
null!=this.depthPlane&&0>c.x*this.depthPlane.x+c.y*this.depthPlane.y+c.z*this.depthPlane.z+this.depthPlane.w))this.fScrPt.z=this.iScrPt.z=1;return this.iScrPt},"JU.T3,JU.T3");b(c$,"move",function(a,c,b,e,f,g,h){this.movetoThread=J.api.Interface.getOption("thread.MoveToThread",this.vwr,"tm");this.movetoThread.setManager(this,this.vwr,x(-1,[c,e,G(-1,[b,f,g,h])]));0<g&&this.movetoThread.setEval(a);this.movetoThread.run()},"J.api.JmolScriptEvaluator,JU.V3,~N,JU.V3,~N,~N,~N");b(c$,"isInPosition",function(a,
c){if(Float.isNaN(c))return!0;this.aaTest1.setVA(a,c/57.29577951308232);this.ptTest1.set(4.321,1.23456,3.14159);this.getRotation(this.matrixTest);this.matrixTest.rotate2(this.ptTest1,this.ptTest2);this.matrixTest.setAA(this.aaTest1).rotate2(this.ptTest1,this.ptTest3);return 0.1>this.ptTest3.distance(this.ptTest2)},"JU.V3,~N");b(c$,"moveToPyMOL",function(a,c,b){var e=JU.M3.newA9(b);e.invert();var f=b[9],g=-b[10],h=-b[11],k=JU.P3.new3(b[12],b[13],b[14]),m=b[15],l=b[16],p=b[17];this.setPerspectiveDepth(!(0<=
p));var p=Math.abs(p)/2,q=Math.tan(3.141592653589793*p/180),p=h*q,q=0.5/q-0.5,r=50/p;0<m&&(m=50+A((h-m)*r),h=50+A((h-l)*r),this.setSlabEnabled(!0),this.slabToPercent(m),this.depthToPercent(h),21==b.length&&(l=0!=b[18],r=0!=b[19],b=b[20],this.setZShadeEnabled(l),l&&(r?this.vwr.setIntProperty("zSlab",A(Math.min(100,m+b*(h-m)))):this.vwr.setIntProperty("zSlab",A((m+h)/2)),this.vwr.setIntProperty("zDepth",h))));this.moveTo(a,c,k,null,0,e,100,NaN,NaN,p,null,NaN,NaN,NaN,q,f,g);return!0},"J.api.JmolScriptEvaluator,~N,~A");
b(c$,"moveTo",function(a,c,b,e,f,g,h,k,m,l,p,q,r,t,u,v,y){if(null==g)if(g=new JU.M3,e=JU.V3.newV(e),Float.isNaN(f))g.m00=NaN;else if(0.01>f&&-0.01<f)g.setScale(1);else{if(0==e.x&&0==e.y&&0==e.z)return;var A=new JU.A4;A.setVA(e,f/57.29577951308232);g.setAA(A)}v==this.cameraSetting.x&&(v=NaN);y==this.cameraSetting.y&&(y=NaN);u==this.cameraDepth&&(u=NaN);Float.isNaN(v)||(k=50*v/l/this.width*this.screenPixelCount);Float.isNaN(y)||(m=50*y/l/this.height*this.screenPixelCount);f=null==b?this.scaleDefaultPixelsPerAngstrom:
this.defaultScaleToScreen(l);if(0>=c)this.setAll(b,g,p,h,k,m,l,f,t,q,r,u,v,y),this.vwr.moveUpdate(c),this.vwr.finalizeTransformParameters();else try{null==this.movetoThread&&(this.movetoThread=J.api.Interface.getOption("thread.MoveToThread",this.vwr,"tm"));var B=this.movetoThread.setManager(this,this.vwr,x(-1,[b,g,p,G(-1,[c,h,k,m,l,f,t,q,r,u,v,y])]));0>=B||this.vwr.g.waitForMoveTo?(0<B&&this.movetoThread.setEval(a),this.movetoThread.run(),this.vwr.isSingleThreaded||(this.movetoThread=null)):this.movetoThread.start()}catch(D){if(!C(D,
Exception))throw D;}},"J.api.JmolScriptEvaluator,~N,JU.P3,JU.T3,~N,JU.M3,~N,~N,~N,~N,JU.P3,~N,~N,~N,~N,~N,~N");b(c$,"setAll",function(a,c,b,e,f,g,h,k,m,l,p,q,r,t){Float.isNaN(c.m00)||this.setRotation(c);null!=a&&this.moveRotationCenter(a,!this.windowCentered);null!=b&&1==this.mode&&this.navigationCenter.setT(b);Float.isNaN(q)||this.setCameraDepthPercent(q,!1);!Float.isNaN(r)&&!Float.isNaN(t)&&this.setCamera(r,t);Float.isNaN(e)||this.zoomToPercent(e);Float.isNaN(h)||(this.modelRadius=h);Float.isNaN(k)||
(this.scaleDefaultPixelsPerAngstrom=k);!Float.isNaN(f)&&!Float.isNaN(g)&&(this.translateToPercent("x",f),this.translateToPercent("y",g));1==this.mode&&(!Float.isNaN(l)&&!Float.isNaN(p)&&this.navTranslatePercentOrTo(0,l,p),Float.isNaN(m)||this.setNavigationDepthPercent(m))},"JU.P3,JU.M3,JU.P3,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N,~N");b(c$,"stopMotion",function(){this.movetoThread=null});b(c$,"getRotationText",function(){this.axisangleT.setM(this.matrixRotate);var a=57.29577951308232*this.axisangleT.angle,
c=new JU.SB;this.vectorT.set(this.axisangleT.x,this.axisangleT.y,this.axisangleT.z);if(0.01>a)return"{0 0 1 0}";this.vectorT.normalize();this.vectorT.scale(1E3);c.append("{");JV.TransformManager.truncate0(c,this.vectorT.x);JV.TransformManager.truncate0(c,this.vectorT.y);JV.TransformManager.truncate0(c,this.vectorT.z);JV.TransformManager.truncate2(c,a);c.append("}");return c.toString()});b(c$,"getMoveToText",function(a,c){this.finalizeTransformParameters();var b=new JU.SB;b.append("moveto ");c&&b.append("/* time, axisAngle */ ");
b.appendF(a);b.append(" ").append(this.getRotationText());c&&b.append(" /* zoom, translation */ ");JV.TransformManager.truncate2(b,this.zmPctSet);JV.TransformManager.truncate2(b,this.getTranslationXPercent());JV.TransformManager.truncate2(b,this.getTranslationYPercent());b.append(" ");c&&b.append(" /* center, rotationRadius */ ");b.append(this.getCenterText());b.append(" ").appendF(this.modelRadius);b.append(this.getNavigationText(c));c&&b.append(" /* cameraDepth, cameraX, cameraY */ ");JV.TransformManager.truncate2(b,
this.cameraDepth);JV.TransformManager.truncate2(b,this.cameraSetting.x);JV.TransformManager.truncate2(b,this.cameraSetting.y);b.append(";");return b.toString()},"~N,~B");b(c$,"getCenterText",function(){return JU.Escape.eP(this.fixedRotationCenter)});b(c$,"getRotateXyzText",function(){var a=new JU.SB,c=this.matrixRotate.m20,b=-(57.29577951308232*Math.asin(c)),e;0.999<c||-0.999>c?(c=-(57.29577951308232*Math.atan2(this.matrixRotate.m12,this.matrixRotate.m11)),e=0):(c=57.29577951308232*Math.atan2(this.matrixRotate.m21,
this.matrixRotate.m22),e=57.29577951308232*Math.atan2(this.matrixRotate.m10,this.matrixRotate.m00));a.append("reset");a.append(";center ").append(this.getCenterText());0!=c&&(a.append("; rotate x"),JV.TransformManager.truncate2(a,c));0!=b&&(a.append("; rotate y"),JV.TransformManager.truncate2(a,b));0!=e&&(a.append("; rotate z"),JV.TransformManager.truncate2(a,e));a.append(";");this.addZoomTranslationNavigationText(a);return a.toString()});b(c$,"addZoomTranslationNavigationText",function(a){100!=this.zmPct&&
(a.append(" zoom"),JV.TransformManager.truncate2(a,this.zmPct),a.append(";"));var c=this.getTranslationXPercent();0!=c&&(a.append(" translate x"),JV.TransformManager.truncate2(a,c),a.append(";"));c=this.getTranslationYPercent();0!=c&&(a.append(" translate y"),JV.TransformManager.truncate2(a,c),a.append(";"));if(this.modelRadius!=this.rotationRadiusDefault||10==this.modelRadius)a.append(" set rotationRadius"),JV.TransformManager.truncate2(a,this.modelRadius),a.append(";");1==this.mode&&(a.append("navigate 0 center ").append(JU.Escape.eP(this.navigationCenter)),
a.append(";navigate 0 translate"),JV.TransformManager.truncate2(a,this.getNavigationOffsetPercent("X")),JV.TransformManager.truncate2(a,this.getNavigationOffsetPercent("Y")),a.append(";navigate 0 depth "),JV.TransformManager.truncate2(a,this.navigationDepthPercent),a.append(";"))},"JU.SB");b(c$,"getRotateZyzText",function(a){var c=new JU.SB,b=this.vwr.ms.getInfoM("defaultOrientationMatrix");null==b?b=this.matrixRotate:(b=JU.M3.newM3(b),b.invert(),b.mul2(this.matrixRotate,b));var e=b.m22,f=57.29577951308232*
Math.acos(e);0.999<e||-0.999>e?(e=57.29577951308232*Math.atan2(b.m10,b.m11),b=0):(e=57.29577951308232*Math.atan2(b.m21,-b.m20),b=57.29577951308232*Math.atan2(b.m12,b.m02));0!=e&&(0!=f&&0!=b&&a)&&c.append("#Follows Z-Y-Z convention for Euler angles\n");c.append("reset");c.append(";center ").append(this.getCenterText());0!=e&&(c.append("; rotate z"),JV.TransformManager.truncate2(c,e));0!=f&&(c.append("; rotate y"),JV.TransformManager.truncate2(c,f));0!=b&&(c.append("; rotate z"),JV.TransformManager.truncate2(c,
b));c.append(";");this.addZoomTranslationNavigationText(c);return c.toString()},"~B");c$.truncate0=b(c$,"truncate0",function(a,c){a.appendC(" ");a.appendI(Math.round(c))},"JU.SB,~N");c$.truncate2=b(c$,"truncate2",function(a,c){a.appendC(" ");a.appendF(Math.round(100*c)/100)},"JU.SB,~N");b(c$,"setSpinXYZ",function(a,c,b){Float.isNaN(a)||(this.spinX=a);Float.isNaN(c)||(this.spinY=c);Float.isNaN(b)||(this.spinZ=b);(this.isSpinInternal||this.isSpinFixed)&&this.clearSpin()},"~N,~N,~N");b(c$,"setSpinFps",
function(a){0>=a?a=1:50<a&&(a=50);this.spinFps=a},"~N");b(c$,"setNavXYZ",function(a,c,b){Float.isNaN(a)||(this.navX=a);Float.isNaN(c)||(this.navY=c);Float.isNaN(b)||(this.navZ=b)},"~N,~N,~N");b(c$,"clearSpin",function(){this.setSpinOff();this.setNavOn(!1);this.isSpinFixed=this.isSpinInternal=!1});b(c$,"setSpinOn",function(){this.setSpin(null,!0,3.4028235E38,null,null,null,!1)});b(c$,"setSpinOff",function(){this.setSpin(null,!1,3.4028235E38,null,null,null,!1)});b(c$,"setSpin",function(a,c,b,e,f,g,
h){this.navOn&&c&&this.setNavOn(!1);this.spinOn!=c&&(this.spinOn=c,this.vwr.g.setB("_spinning",c),c?null==this.spinThread&&(this.spinThread=J.api.Interface.getOption("thread.SpinThread",this.vwr,"tm"),this.spinThread.setManager(this,this.vwr,x(-1,[Float.$valueOf(b),e,f,g,h?Boolean.TRUE:null])),this.spinIsGesture=h,Float.isNaN(b)||3.4028235E38==b||!this.vwr.g.waitForMoveTo?this.spinThread.start():(this.spinThread.setEval(a),this.spinThread.run())):null!=this.spinThread&&(this.spinThread.reset(),this.spinThread=
null))},"J.api.JmolScriptEvaluator,~B,~N,JU.Lst,~A,JU.BS,~B");b(c$,"setNavOn",function(a){if(!Float.isNaN(this.navFps)){var c=this.navOn;a&&this.spinOn&&this.setSpin(null,!1,0,null,null,null,!1);this.navOn=a;this.vwr.g.setB("_navigating",a);a||this.navInterrupt();a?(0==this.navX&&(0==this.navY&&0==this.navZ)&&(this.navZ=1),0==this.navFps&&(this.navFps=10),null==this.spinThread&&(this.spinThread=J.api.Interface.getOption("thread.SpinThread",this.vwr,"tm"),this.spinThread.setManager(this,this.vwr,null),
this.spinThread.start())):c&&null!=this.spinThread&&(this.spinThread.interrupt(),this.spinThread=null)}},"~B");b(c$,"setVibrationScale",function(a){this.vibrationScale=a},"~N");b(c$,"setVibrationPeriod",function(a){if(Float.isNaN(a))a=this.vibrationPeriod;else if(0==a)this.vibrationPeriodMs=this.vibrationPeriod=0;else{this.vibrationPeriod=Math.abs(a);this.vibrationPeriodMs=A(1E3*this.vibrationPeriod);if(0<a)return;a=-a}this.setVibrationOn(0<a&&0<=this.vwr.ms.getLastVibrationVector(this.vwr.am.cmi,
0))},"~N");b(c$,"setVibrationT",function(a){this.vibrationT.x=a;0==this.vibrationScale&&(this.vibrationScale=this.vwr.g.vibrationScale)},"~N");b(c$,"isVibrationOn",function(){return this.vibrationOn});b(c$,"setVibrationOn",function(a){a?1>this.vwr.ms.mc?(this.vibrationOn=!1,this.vibrationT.x=0):(null==this.vibrationThread&&(this.vibrationThread=J.api.Interface.getOption("thread.VibrationThread",this.vwr,"tm"),this.vibrationThread.setManager(this,this.vwr,null),this.vibrationThread.start()),this.vibrationOn=
!0):(null!=this.vibrationThread&&(this.vibrationThread.interrupt(),this.vibrationThread=null),this.vibrationOn=!1,this.vibrationT.x=0)},"~B");b(c$,"clearVibration",function(){this.setVibrationOn(!1);this.vibrationScale=0});b(c$,"setStereoMode2",function(a){this.stereoMode=J.c.STER.CUSTOM;this.stereoColors=a},"~A");b(c$,"setStereoMode",function(a){this.stereoColors=null;this.stereoMode=a;this.stereoDoubleDTI=a===J.c.STER.DTI;this.stereoDoubleFull=a===J.c.STER.DOUBLE},"J.c.STER");b(c$,"setStereoDegrees",
function(a){this.stereoDegrees=a;this.stereoRadians=0.017453292*a},"~N");b(c$,"getStereoRotationMatrix",function(a){this.stereoFrame=a;if(!a)return this.matrixRotate;this.matrixTemp3.setAsYRotation(-this.stereoRadians);this.matrixStereo.mul2(this.matrixTemp3,this.matrixRotate);return this.matrixStereo},"~B");b(c$,"isWindowCentered",function(){return this.windowCentered});b(c$,"setWindowCentered",function(a){this.windowCentered=a;this.resetNavigationPoint(!0)},"~B");b(c$,"setRotationRadius",function(a,
c){a=this.modelRadius=0>=a?this.vwr.ms.calcRotationRadius(this.vwr.am.cmi,this.fixedRotationCenter,!0):a;c&&this.vwr.setRotationRadius(a,!1);return a},"~N,~B");b(c$,"setRotationCenterAndRadiusXYZ",function(a,c){this.resetNavigationPoint(!1);null==a?(this.setFixedRotationCenter(this.rotationCenterDefault),this.modelRadius=this.rotationRadiusDefault):(this.setFixedRotationCenter(a),c&&this.windowCentered&&(this.modelRadius=this.vwr.ms.calcRotationRadius(this.vwr.am.cmi,this.fixedRotationCenter,!0)))},
"JU.T3,~B");b(c$,"setNewRotationCenter",function(a,c){null==a&&(a=this.rotationCenterDefault);this.windowCentered?(this.translateToPercent("x",0),this.translateToPercent("y",0),this.setRotationCenterAndRadiusXYZ(a,!0),c&&this.resetFitToScreen(!0)):this.moveRotationCenter(a,!0)},"JU.P3,~B");b(c$,"moveRotationCenter",function(a,c){this.setRotationCenterAndRadiusXYZ(a,!1);c&&this.setRotationPointXY(this.fixedRotationCenter)},"JU.P3,~B");b(c$,"setCenter",function(){this.setRotationCenterAndRadiusXYZ(this.fixedRotationCenter,
!0)});b(c$,"setCenterAt",function(a,c){var b=JU.P3.newP(c);switch(a){case 96:b.add(this.vwr.ms.getAverageAtomPoint());break;case 1678381065:b.add(this.vwr.getBoundBoxCenter());break;case 1073741826:b.setT(this.rotationCenterDefault)}this.setRotationCenterAndRadiusXYZ(b,!0);this.resetFitToScreen(!0)},"~N,JU.P3");b(c$,"setFrameOffset",function(a){null==this.frameOffsets||0>a||a>=this.frameOffsets.length?this.frameOffset.set(0,0,0):this.frameOffset.setT(this.frameOffsets[a])},"~N");b(c$,"setSelectedTranslation",
function(a,c,b){this.bsSelectedAtoms=a;switch(c){case "X":case "x":this.ptOffset.x+=b;break;case "Y":case "y":this.ptOffset.y+=b;break;case "Z":case "z":this.ptOffset.z+=b}},"JU.BS,~S,~N");b(c$,"setNavFps",function(a){this.navFps=a},"~N");b(c$,"calcCameraFactors",function(){Float.isNaN(this.cameraDepth)&&(this.cameraDepth=this.cameraDepthSetting,this.zoomFactor=3.4028235E38);this.cameraDistance=this.cameraDepth*this.screenPixelCount;this.referencePlaneOffset=this.cameraDistance+this.screenPixelCount/
2;this.scalePixelsPerAngstrom=this.scale3D&&!this.perspectiveDepth&&1!=this.mode?72/this.scale3DAngstromsPerInch*(this.antialias?2:1):this.screenPixelCount/this.visualRangeAngstroms;1!=this.mode&&(this.mode=0==this.camera.z?0:2);this.perspectiveShiftXY.set(0==this.camera.z?0:100*(this.camera.x*this.scalePixelsPerAngstrom/this.screenWidth),0==this.camera.z?0:100*(this.camera.y*this.scalePixelsPerAngstrom/this.screenHeight),0);this.modelRadiusPixels=this.modelRadius*this.scalePixelsPerAngstrom;var a=
2*this.modelRadius/this.visualRangeAngstroms*this.referencePlaneOffset;if(1==this.mode)this.calcNavCameraFactors(a);else{this.zoomFactor=3.4028235E38;this.modelCenterOffset=this.referencePlaneOffset;if(!this.scale3D||this.perspectiveDepth)this.scalePixelsPerAngstrom*=this.modelCenterOffset/a*this.zmPct/100;this.modelRadiusPixels=this.modelRadius*this.scalePixelsPerAngstrom}});b(c$,"calcNavCameraFactors",function(a){3.4028235E38==this.zoomFactor?(1E4<this.zmPct&&(this.zmPct=1E4),this.modelCenterOffset=
100*a/this.zmPct):this.prevZoomSetting!=this.zmPctSet&&(this.modelCenterOffset=0==this.zoomRatio?100*a/this.zmPctSet:this.modelCenterOffset+(1-this.zoomRatio)*this.referencePlaneOffset,this.navMode=-1);this.prevZoomSetting=this.zmPctSet;this.zoomFactor=this.modelCenterOffset/this.referencePlaneOffset;this.zmPct=0==this.zoomFactor?1E4:100*(a/this.modelCenterOffset)},"~N");b(c$,"getPerspectiveFactor",function(a){return 0>=a?this.referencePlaneOffset:this.referencePlaneOffset/a},"~N");b(c$,"unTransformPoint",
function(a,c){this.untransformedPoint.setT(a);switch(this.mode){case 1:this.untransformedPoint.x-=this.navigationOffset.x;this.untransformedPoint.y-=this.navigationOffset.y;break;case 2:this.fScrPt.x+=this.perspectiveShiftXY.x,this.fScrPt.y+=this.perspectiveShiftXY.y;case 0:this.untransformedPoint.x-=this.fixedRotationOffset.x,this.untransformedPoint.y-=this.fixedRotationOffset.y}if(this.perspectiveDepth){var b=this.getPerspectiveFactor(this.untransformedPoint.z);this.untransformedPoint.x/=b;this.untransformedPoint.y/=
b}switch(this.mode){case 1:this.untransformedPoint.x+=this.navigationShiftXY.x;this.untransformedPoint.y+=this.navigationShiftXY.y;break;case 2:this.untransformedPoint.x-=this.perspectiveShiftXY.x,this.untransformedPoint.y-=this.perspectiveShiftXY.y}this.matrixTransformInv.rotTrans2(this.untransformedPoint,c)},"JU.T3,JU.T3");b(c$,"resetNavigationPoint",function(a){5>this.zmPct&&1!=this.mode?(this.perspectiveDepth=!0,this.mode=1):(1==this.mode?(this.navMode=1,this.slabPercentSetting=0,this.perspectiveDepth=
!0):a&&(this.slabPercentSetting=100),this.vwr.setFloatProperty("slabRange",0),a&&this.setSlabEnabled(1==this.mode),this.zoomFactor=3.4028235E38,this.zmPctSet=this.zmPct)},"~B");b(c$,"setNavigatePt",function(a){this.navigationCenter.setT(a);this.navMode=3;this.navigating=!0;this.finalizeTransformParameters();this.navigating=!1},"JU.P3");b(c$,"setNavigationSlabOffsetPercent",function(a){this.vwr.g.setF("navigationSlab",a);this.calcCameraFactors();this.navigationSlabOffset=a/50*this.modelRadiusPixels},
"~N");b(c$,"getNavigationOffset",function(){this.transformPt3f(this.navigationCenter,this.navigationOffset);return this.navigationOffset});b(c$,"getNavPtHeight",function(){return this.height/2});b(c$,"getNavigationOffsetPercent",function(a){this.getNavigationOffset();return 0==this.width||0==this.height?0:"X"==a?100*(this.navigationOffset.x-this.width/2)/this.width:100*(this.navigationOffset.y-this.getNavPtHeight())/this.height},"~S");b(c$,"getNavigationText",function(a){a=a?" /* navigation center, translation, depth */ ":
" ";if(1!=this.mode)return a+"{0 0 0} 0 0 0";this.getNavigationOffset();return a+JU.Escape.eP(this.navigationCenter)+" "+this.getNavigationOffsetPercent("X")+" "+this.getNavigationOffsetPercent("Y")+" "+this.navigationDepthPercent},"~B");b(c$,"setScreenParameters",function(a,c,b,e,f,g){var h=1==this.mode?JU.P3.newP(this.navigationCenter):null,k=JU.P3.newP(this.navigationOffset);k.x/=this.width;k.y/=this.height;this.setScreenParameters0(a,c,b,e,f,g);null!=h&&(this.navigationCenter.setT(h),this.navTranslatePercentOrTo(-1,
k.x*this.width,k.y*this.height),this.setNavigatePt(h))},"~N,~N,~B,~B,~B,~B");b(c$,"navInterrupt",function(){null!=this.nav&&this.nav.interrupt()});b(c$,"getNav",function(){if(null!=this.nav)return!0;this.nav=J.api.Interface.getOption("navigate.Navigator",this.vwr,"tm");if(null==this.nav)return!1;this.nav.set(this,this.vwr);return!0});b(c$,"navigateList",function(a,c){this.getNav()&&this.nav.navigateList(a,c)},"J.api.JmolScriptEvaluator,JU.Lst");b(c$,"navigateAxis",function(a,c){this.getNav()&&this.nav.navigateAxis(a,
c)},"JU.V3,~N");b(c$,"setNavigationOffsetRelative",function(){this.getNav()&&this.nav.setNavigationOffsetRelative()});b(c$,"navigateKey",function(a,c){this.getNav()&&this.nav.navigateKey(a,c)},"~N,~N");b(c$,"setNavigationDepthPercent",function(a){this.getNav()&&this.nav.setNavigationDepthPercent(a)},"~N");b(c$,"navTranslatePercentOrTo",function(a,c,b){this.getNav()&&this.nav.navTranslatePercentOrTo(a,c,b)},"~N,~N,~N");b(c$,"calcNavigationPoint",function(){this.getNav()&&this.nav.calcNavigationPoint()});
b(c$,"getNavigationState",function(){return 1==this.mode&&this.getNav()?this.nav.getNavigationState():""});D(c$,"DEFAULT_SPIN_Y",30,"DEFAULT_SPIN_FPS",30,"DEFAULT_NAV_FPS",10,"DEFAULT_VISUAL_RANGE",5,"DEFAULT_STEREO_DEGREES",-5,"MODE_STANDARD",0,"MODE_NAVIGATION",1,"MODE_PERSPECTIVE_PYMOL",2,"DEFAULT_PERSPECTIVE_MODEL",11,"DEFAULT_PERSPECTIVE_DEPTH",!0,"DEFAULT_CAMERA_DEPTH",3,"degreesPerRadian",57.29577951308232,"MAXIMUM_ZOOM_PERCENTAGE",2E5,"MAXIMUM_ZOOM_PERSPECTIVE_DEPTH",1E4,"NAV_MODE_IGNORE",
-2,"NAV_MODE_ZOOMED",-1,"NAV_MODE_NONE",0,"NAV_MODE_RESET",1,"NAV_MODE_NEWXY",2,"NAV_MODE_NEWXYZ",3,"NAV_MODE_NEWZ",4)});l("JV");u(["java.lang.Enum","javajs.api.PlatformViewer","J.api.JmolViewer","J.atomdata.AtomDataServer","java.util.Hashtable"],"JV.Viewer","java.io.Reader java.lang.Boolean $.Character $.Float $.NullPointerException javajs.awt.Dimension JU.BS $.CU $.DF $.Lst $.Measure $.P3 $.P3i $.PT $.Rdr $.SB $.V3 J.adapter.smarter.SmarterJmolAdapter J.api.Interface $.JmolAppConsoleInterface J.atomdata.RadiusData J.c.FIL $.STER $.VDW J.i18n.GT JM.ModelSet JS.SV $.T J.thread.TimeoutThread JU.BSUtil $.C $.CommandHistory $.Elements $.Escape $.GData $.JmolMolecule $.Logger $.Parser $.TempArray JV.ActionManager $.AnimationManager $.ColorManager $.FileManager $.GlobalSettings $.JC $.ModelManager $.SelectionManager $.ShapeManager $.StateManager $.StatusManager $.TransformManager JV.binding.Binding".split(" "),
function(){c$=r(function(){this.queueOnHold=this.isSingleThreaded=this.isWebGL=this.isJS=this.haveDisplay=this.autoExit=this.testAsync=!1;this.fullName="";this.fm=this.ms=this.definedAtomSets=this.compiler=null;this.mustRender=this.listCommands=this.isSyntaxCheck=this.isSyntaxAndFileCheck=this.isJNLP=this.isApplet=!1;this.appletName=this.htmlName="";this.tryPt=0;this.insertedCommand="";this.tm=this.sm=this.g=this.rm=this.slm=this.shm=this.dm=this.cm=this.am=this.acm=this.html5Applet=this.gdata=null;
this.logFilePath=this.syncId="";this.useCommandThread=this.noGraphicsAllowed=this.multiTouch=this.isSilent=this.isSignedAppletLocal=this.isSignedApplet=this.isPrintOnly=this.allowScripting=!1;this.tempArray=this.eval=this.scm=this.stm=this.mm=this.commandHistory=this.access=this.modelAdapter=this.display=this.vwrOptions=this.commandOptions=null;this.async=this.allowArrayDotNotation=!1;this.errorMessageUntranslated=this.errorMessage=this.chainList=this.chainMap=this.rd=this.defaultVdw=this.actionStatesRedo=
this.actionStates=this.dimScreen=null;this.privateKey=0;this.headless=this.isPreviewOnly=this.dataOnly=!1;this.lastData=this.jsc=this.smilesMatcher=this.minimizer=this.dssrParser=this.annotationParser=this.ligandModelSet=this.ligandModels=this.mouse=this.movableBitSet=null;this.motionEventNumber=0;this.inMotion=!1;this.refreshing=!0;this.axesAreTainted=!1;this.maximumSize=2147483647;this.gRight=null;this.isStereoSlave=!1;this.imageFontScaling=1;this.jsParams=this.captureParams=null;this.antialiased=
!1;this.hoverAtomIndex=-1;this.hoverText=null;this.hoverLabel="%U";this.hoverEnabled=!0;this.currentCursor=0;this.ptTemp=null;this.prevFrame=-2147483648;this.prevMorphModel=0;this.haveJDX=!1;this.jsv=null;this.selectionHalosEnabled=!1;this.noFrankEcho=this.frankOn=!0;this.scriptEditorVisible=!1;this.pm=this.headlessImageParams=this.modelkitPopup=this.jmolpopup=this.scriptEditor=this.appConsole=null;this.isTainted=!0;this.showSelected=this.movingSelected=!1;this.rotatePrev2=this.rotatePrev1=this.rotateBondIndex=
-1;this.bsRotateBranch=null;this.creatingImage=!1;this.userVdwMars=this.userVdws=this.bsUserVdws=this.outputManager=null;this.currentShapeID=-1;this.localFunctions=this.currentShapeState=null;this.$isKiosk=!1;this.executor=null;this.displayLoadErrors=!0;this.$isParallel=!1;this.stateScriptVersionInt=0;this.timeouts=this.jsExporter3D=null;this.chainCaseSpecified=!1;this.jsonParser=this.jcm=this.jbr=this.jzt=this.logFileName=this.nmrCalculation=null;q(this,arguments)},JV,"Viewer",J.api.JmolViewer,[J.atomdata.AtomDataServer,
javajs.api.PlatformViewer]);b(c$,"finalize",function(){JU.Logger.debugging&&JU.Logger.debug("vwr finalize "+this);T(this,JV.Viewer,"finalize",[])});b(c$,"setInsertedCommand",function(a){this.insertedCommand=a},"~S");c$.getJmolVersion=e(c$,"getJmolVersion",function(){return null==JV.Viewer.version_date?JV.Viewer.version_date=JV.JC.version+"  "+JV.JC.date:JV.Viewer.version_date});c$.allocateViewer=b(c$,"allocateViewer",function(a,c,b,e,f,g,h,k){var m=new java.util.Hashtable;m.put("display",a);m.put("adapter",
c);m.put("statusListener",h);m.put("platform",k);m.put("options",g);m.put("fullName",b);m.put("documentBase",e);m.put("codeBase",f);return new JV.Viewer(m)},"~O,J.api.JmolAdapter,~S,java.net.URL,java.net.URL,~S,J.api.JmolStatusListener,javajs.api.GenericPlatform");t(c$,function(a){H(this,JV.Viewer,[]);this.commandHistory=new JU.CommandHistory;this.dimScreen=new javajs.awt.Dimension(0,0);this.rd=new J.atomdata.RadiusData(null,0,null,null);this.defaultVdw=J.c.VDW.JMOL;this.localFunctions=new java.util.Hashtable;
this.privateKey=Math.random();this.actionStates=new JU.Lst;this.actionStatesRedo=new JU.Lst;this.chainMap=new java.util.Hashtable;this.chainList=new JU.Lst;this.setOptions(a)},"java.util.Map");b(c$,"haveAccess",function(a){return this.access===a},"JV.Viewer.ACCESS");e(c$,"getModelAdapter",function(){return null==this.modelAdapter?this.modelAdapter=new J.adapter.smarter.SmarterJmolAdapter:this.modelAdapter});e(c$,"getSmartsMatch",function(a,c){null==c&&(c=this.bsA());return this.getSmilesMatcher().getSubstructureSet(a,
this.ms.at,this.ms.ac,c,2)},"~S,JU.BS");b(c$,"setOptions",function(a){this.vwrOptions=a;JU.Logger.debugging&&JU.Logger.debug("Viewer constructor "+this);this.modelAdapter=a.get("adapter");var c=a.get("statusListener");this.fullName=a.get("fullName");null==this.fullName&&(this.fullName="");var b=a.get("codePath");null==b&&(b="../java/");JV.Viewer.appletCodeBase=b.toString();JV.Viewer.appletIdiomaBase=JV.Viewer.appletCodeBase.substring(0,JV.Viewer.appletCodeBase.lastIndexOf("/",JV.Viewer.appletCodeBase.length-
2)+1)+"idioma";b=a.get("documentBase");JV.Viewer.appletDocumentBase=null==b?"":b.toString();b=a.get("options");this.commandOptions=null==b?"":b.toString();(a.containsKey("debug")||0<=this.commandOptions.indexOf("-debug"))&&JU.Logger.setLogLevel(5);this.isApplet&&a.containsKey("maximumSize")&&this.setMaximumSize(a.get("maximumSize").intValue());(this.isJNLP=this.checkOption2("isJNLP","-jnlp"))&&JU.Logger.info("setting JNLP mode TRUE");this.isApplet=(this.isSignedApplet=this.isJNLP||this.checkOption2("signedApplet",
"-signed"))||this.checkOption2("applet","-applet");this.allowScripting=!this.checkOption2("noscripting","-noscripting");var e=this.fullName.indexOf("__");this.htmlName=0>e?this.fullName:this.fullName.substring(0,e);this.appletName=JU.PT.split(this.htmlName+"_","_")[0];this.syncId=0>e?"":this.fullName.substring(e+2,this.fullName.length-2);this.access=this.checkOption2("access:READSPT","-r")?JV.Viewer.ACCESS.READSPT:this.checkOption2("access:NONE","-R")?JV.Viewer.ACCESS.NONE:JV.Viewer.ACCESS.ALL;(this.isPreviewOnly=
a.containsKey("previewOnly"))&&a.remove("previewOnly");this.isPrintOnly=this.checkOption2("printOnly","-p");this.dataOnly=this.checkOption2("isDataOnly","\x00");this.autoExit=this.checkOption2("exit","-x");b=a.get("platform");e="unknown";null==b&&(b=this.commandOptions.contains("platform=")?this.commandOptions.substring(this.commandOptions.indexOf("platform=")+9):"J.awt.Platform");if(p(b,String)){e=b;this.isJS=(this.isWebGL=0<=e.indexOf(".awtjs."))||0<=e.indexOf(".awtjs2d.");this.async=!this.dataOnly&&
!this.autoExit&&(this.testAsync||this.isJS&&a.containsKey("async"));var b=null,f="?";self.Jmol&&(b=Jmol._applets[this.htmlName.split("_object")[0]],f=Jmol._version);null!=f&&(this.html5Applet=b,JV.Viewer.strJavaVersion=f,JV.Viewer.strJavaVendor="Java2Script "+(this.isWebGL?"(WebGL)":"(HTML5)"));b=J.api.Interface.getInterface(e,this,"setOptions")}this.apiPlatform=b;this.display=a.get("display");this.isSingleThreaded=this.apiPlatform.isSingleThreaded();this.noGraphicsAllowed=this.checkOption2("noGraphics",
"-n");System.out.println("nographics "+this.noGraphicsAllowed);this.headless=this.apiPlatform.isHeadless();this.haveDisplay=this.isWebGL||null!=this.display&&!this.noGraphicsAllowed&&!this.headless&&!this.dataOnly;this.noGraphicsAllowed=(new Boolean(this.noGraphicsAllowed&null==this.display)).valueOf();System.out.println("nographics "+this.noGraphicsAllowed);this.headless=(new Boolean(this.headless|this.noGraphicsAllowed)).valueOf();System.out.println("headless "+this.headless+this.commandOptions);
this.haveDisplay?(this.mustRender=!0,this.multiTouch=this.checkOption2("multiTouch","-multitouch"),this.isWebGL||(this.display=document.getElementById(this.display))):this.display=null;this.apiPlatform.setViewer(this,this.display);b=a.get("graphicsAdapter");null==b&&!this.isWebGL&&(b=J.api.Interface.getOption("g3d.Graphics3D",this,"setOptions"));this.gdata=null==b&&(this.isWebGL||!this.isJS)?new JU.GData:b;this.gdata.initialize(this,this.apiPlatform);this.stm=new JV.StateManager(this);this.cm=new JV.ColorManager(this,
this.gdata);this.sm=new JV.StatusManager(this);e=a.containsKey("4DMouse");this.tm=JV.TransformManager.getTransformManager(this,2147483647,0,e);this.slm=new JV.SelectionManager(this);this.haveDisplay&&(this.acm=this.multiTouch?J.api.Interface.getOption("multitouch.ActionManagerMT",null,null):new JV.ActionManager,this.acm.setViewer(this,this.commandOptions+"-multitouch-"+a.get("multiTouch")),this.mouse=this.apiPlatform.getMouseManager(this.privateKey,this.display),this.multiTouch&&!this.checkOption2("-simulated",
"-simulated")&&this.apiPlatform.setTransparentCursor(this.display));this.mm=new JV.ModelManager(this);this.shm=new JV.ShapeManager(this);this.tempArray=new JU.TempArray;this.am=new JV.AnimationManager(this);b=a.get("repaintManager");null==b&&(b=J.api.Interface.getOption("render.RepaintManager",this,"setOptions"));if(this.isJS||null!=b&&!b.equals(""))(this.rm=b).set(this,this.shm);this.ms=new JM.ModelSet(this,null);this.initialize(!0);this.fm=new JV.FileManager(this);this.definedAtomSets=new java.util.Hashtable;
this.setJmolStatusListener(c);this.isApplet?(JU.Logger.info("vwrOptions: \n"+JU.Escape.escapeMap(this.vwrOptions)),c=this.vwrOptions.get("documentLocation"),!this.isJS&&(null!=c&&c.startsWith("file:/"))&&(c=c.substring(0,c.substring(0,(c+"?").indexOf("?")).lastIndexOf("/")),JU.Logger.info("setting current directory to "+c),this.cd(c)),c=JV.Viewer.appletDocumentBase,e=c.indexOf("#"),0<=e&&(c=c.substring(0,e)),e=c.lastIndexOf("?"),0<=e&&(c=c.substring(0,e)),e=c.lastIndexOf("/"),0<=e&&(c=c.substring(0,
e)),JV.Viewer.jsDocumentBase=c,this.fm.setAppletContext(JV.Viewer.appletDocumentBase),c=a.get("appletProxy"),null!=c&&this.setStringProperty("appletProxy",c),this.isSignedApplet?(this.logFilePath=JU.PT.rep(JV.Viewer.appletCodeBase,"file://",""),this.logFilePath=JU.PT.rep(this.logFilePath,"file:/",""),0<=this.logFilePath.indexOf("//")?this.logFilePath=null:this.isSignedAppletLocal=!0):this.isJS||(this.logFilePath=null),new J.i18n.GT(this,a.get("language")),this.isJS&&this.acm.createActions()):(this.gdata.setBackgroundTransparent(this.checkOption2("backgroundTransparent",
"-b")),(this.isSilent=this.checkOption2("silent","-i"))&&JU.Logger.setLogLevel(3),this.headless&&!this.isSilent&&JU.Logger.info("Operating headless display="+this.display+" nographicsallowed="+this.noGraphicsAllowed),this.isSyntaxCheck=(this.isSyntaxAndFileCheck=this.checkOption2("checkLoad","-C"))||this.checkOption2("check","-c"),this.listCommands=this.checkOption2("listCommands","-l"),this.cd("."),this.headless&&(this.headlessImageParams=a.get("headlessImage"),b=a.get("headlistMaxTimeMs"),null==
b&&(b=Integer.$valueOf(6E4)),this.setTimeout(""+Math.random(),b.intValue(),"exitJmol")));this.useCommandThread=!this.headless&&this.checkOption2("useCommandThread","-threaded");this.setStartupBooleans();this.setIntProperty("_nProcessors",JV.Viewer.nProcessors);this.isSilent||JU.Logger.info("(C) 2015 Jmol Development\nJmol Version: "+JV.Viewer.getJmolVersion()+"\njava.vendor: "+JV.Viewer.strJavaVendor+"\njava.version: "+JV.Viewer.strJavaVersion+"\nos.name: "+JV.Viewer.strOSName+"\nAccess: "+this.access+
"\nmemory: "+this.getP("_memory")+"\nprocessors available: "+JV.Viewer.nProcessors+"\nuseCommandThread: "+this.useCommandThread+(!this.isApplet?"":"\nappletId:"+this.htmlName+(this.isSignedApplet?" (signed)":"")));this.allowScripting&&this.getScriptManager();this.zap(!1,!0,!1);this.g.setO("language",J.i18n.GT.getLanguage());this.g.setO("_hoverLabel",this.hoverLabel);this.stm.setJmolDefaults();JU.Elements.covalentVersion=1;this.allowArrayDotNotation=!0},"java.util.Map");b(c$,"setDisplay",function(a){this.display=
a;this.apiPlatform.setViewer(this,a)},"~O");b(c$,"newMeasurementData",function(a,c){return J.api.Interface.getInterface("JM.MeasurementData",this,"script").init(a,this,c)},"~S,JU.Lst");b(c$,"getDataManager",function(){return null==this.dm?this.dm=J.api.Interface.getInterface("JV.DataManager",this,"script").set(this):this.dm});b(c$,"getScriptManager",function(){if(this.allowScripting&&null==this.scm){this.scm=J.api.Interface.getInterface("JS.ScriptManager",this,"setOptions");if(this.isJS&&null==this.scm)throw new NullPointerException;
if(null==this.scm)return this.allowScripting=!1,null;this.eval=this.scm.setViewer(this);this.useCommandThread&&this.scm.startCommandWatcher(!0)}return this.scm});b(c$,"checkOption2",function(a,c){return this.vwrOptions.containsKey(a)||0<=this.commandOptions.indexOf(c)},"~S,~S");b(c$,"setStartupBooleans",function(){this.setBooleanProperty("_applet",this.isApplet);this.setBooleanProperty("_jspecview",!1);this.setBooleanProperty("_signedApplet",this.isSignedApplet);this.setBooleanProperty("_headless",
this.headless);this.setStringProperty("_restrict",'"'+this.access+'"');this.setBooleanProperty("_useCommandThread",this.useCommandThread)});b(c$,"getExportDriverList",function(){return this.haveAccess(JV.Viewer.ACCESS.ALL)?this.g.getParameter("exportDrivers",!0):""});e(c$,"dispose",function(){this.gRight=null;null!=this.mouse&&(this.acm.dispose(),this.mouse.dispose(),this.mouse=null);this.clearScriptQueue();this.clearThreads();this.haltScriptExecution();null!=this.scm&&this.scm.clear(!0);this.gdata.destroy();
null!=this.jmolpopup&&this.jmolpopup.jpiDispose();null!=this.modelkitPopup&&this.modelkitPopup.jpiDispose();try{null!=this.appConsole&&(this.appConsole.dispose(),this.appConsole=null),null!=this.scriptEditor&&(this.scriptEditor.dispose(),this.scriptEditor=null)}catch(a){if(!C(a,Exception))throw a;}});b(c$,"reset",function(a){this.ms.calcBoundBoxDimensions(null,1);this.axesAreTainted=!0;this.tm.homePosition(a);this.ms.setCrystallographicDefaults()?this.stm.setCrystallographicDefaults():this.setAxesMode(603979810);
this.prevFrame=-2147483648;this.tm.spinOn||this.setSync()},"~B");e(c$,"homePosition",function(){this.evalString("reset spin")});b(c$,"initialize",function(a){this.g=new JV.GlobalSettings(this,this.g,a);this.setStartupBooleans();this.g.setI("_width",this.dimScreen.width);this.g.setI("_height",this.dimScreen.height);this.haveDisplay&&(this.g.setB("_is2D",this.isJS&&!this.isWebGL),this.g.setB("_multiTouchClient",this.acm.isMTClient()),this.g.setB("_multiTouchServer",this.acm.isMTServer()));this.cm.setDefaultColors(!1);
this.setObjectColor("background","black");this.setObjectColor("axis1","red");this.setObjectColor("axis2","green");this.setObjectColor("axis3","blue");this.am.setAnimationOn(!1);this.am.setAnimationFps(this.g.animationFps);this.sm.allowStatusReporting=this.g.statusReporting;this.setBooleanProperty("antialiasDisplay",this.g.antialiasDisplay);this.stm.resetLighting();this.tm.setDefaultPerspective()},"~B");b(c$,"saveModelOrientation",function(){this.ms.saveModelOrientation(this.am.cmi,this.stm.getOrientation())});
b(c$,"restoreModelOrientation",function(a){a=this.ms.getModelOrientation(a);null!=a&&a.restore(-1,!0)},"~N");b(c$,"restoreModelRotation",function(a){a=this.ms.getModelOrientation(a);null!=a&&a.restore(-1,!1)},"~N");b(c$,"getGLmolView",function(){var a=this.tm,c=a.fixedRotationCenter,b=a.getRotationQ();return{center:c,quaternion:b,xtrans:a.xTranslationFraction,ytrans:a.yTranslationFraction,scale:a.scalePixelsPerAngstrom,zoom:a.zmPctSet,cameraDistance:a.cameraDistance,pixelCount:a.screenPixelCount,
perspective:a.perspectiveDepth,width:a.width,height:a.height}});b(c$,"setRotationRadius",function(a,c){c&&(a=this.tm.setRotationRadius(a,!1));this.ms.setRotationRadius(this.am.cmi,a)&&this.g.setF("rotationRadius",a)},"~N,~B");b(c$,"setCenterBitSet",function(a,c){this.isJmolDataFrame()||this.tm.setNewRotationCenter(0<JU.BSUtil.cardinalityOf(a)?this.ms.getAtomSetCenter(a):null,c)},"JU.BS,~B");b(c$,"setNewRotationCenter",function(a){this.isJmolDataFrame()||this.tm.setNewRotationCenter(a,!0)},"JU.P3");
b(c$,"navigate",function(a,c){this.isJmolDataFrame()||(this.tm.navigateKey(a,c),!this.tm.vibrationOn&&0!=a&&this.refresh(1,"Viewer:navigate()"))},"~N,~N");b(c$,"move",function(a,c,b,e,f,g,h){this.tm.move(a,c,b,e,f,g,h);this.moveUpdate(g)},"J.api.JmolScriptEvaluator,JU.V3,~N,JU.V3,~N,~N,~N");b(c$,"moveTo",function(a,c,b,e,f,g,h,k,m,l,p,q,r,t,u,v,x){this.haveDisplay||(c=0);this.setTainted(!0);this.tm.moveTo(a,c,b,e,f,g,h,k,m,l,p,q,r,t,u,v,x)},"J.api.JmolScriptEvaluator,~N,JU.P3,JU.V3,~N,JU.M3,~N,~N,~N,~N,JU.P3,~N,~N,~N,~N,~N,~N");
b(c$,"moveUpdate",function(a){0<a?this.requestRepaintAndWait("moveUpdate"):0==a&&this.setSync()},"~N");b(c$,"navigatePt",function(a){this.tm.setNavigatePt(a);this.setSync()},"JU.P3");b(c$,"navigateAxis",function(a,c){this.tm.navigateAxis(a,c);this.setSync()},"JU.V3,~N");b(c$,"navTranslatePercent",function(a,c){this.isJmolDataFrame()||(this.tm.navTranslatePercentOrTo(0,a,c),this.setSync())},"~N,~N");b(c$,"zoomBy",function(a){this.tm.zoomBy(a);this.refresh(2,this.sm.syncingMouse?"Mouse: zoomBy "+a:
"")},"~N");b(c$,"zoomByFactor",function(a,c,b){this.tm.zoomByFactor(a,c,b);this.refresh(2,!this.sm.syncingMouse?"":"Mouse: zoomByFactor "+a+(2147483647==c?"":" "+c+" "+b))},"~N,~N,~N");b(c$,"rotateXYBy",function(a,c){this.tm.rotateXYBy(a,c,null);this.refresh(2,this.sm.syncingMouse?"Mouse: rotateXYBy "+a+" "+c:"")},"~N,~N");b(c$,"spinXYBy",function(a,c,b){this.tm.spinXYBy(a,c,b);0==a&&0==c||this.refresh(2,this.sm.syncingMouse?"Mouse: spinXYBy "+a+" "+c+" "+b:"")},"~N,~N,~N");b(c$,"rotateZBy",function(a,
c,b){this.tm.rotateZBy(a,c,b);this.refresh(2,this.sm.syncingMouse?"Mouse: rotateZBy "+a+(2147483647==c?"":" "+c+" "+b):"")},"~N,~N,~N");b(c$,"rotateSelected",function(a,c,b){this.isJmolDataFrame()||(this.tm.rotateXYBy(a,c,this.setMovableBitSet(b,!0)),this.refreshMeasures(!0),this.refresh(2,this.sm.syncingMouse?"Mouse: rotateMolecule "+a+" "+c:""))},"~N,~N,JU.BS");b(c$,"setMovableBitSet",function(a,c){null==a&&(a=this.bsA());a=JU.BSUtil.copy(a);JU.BSUtil.andNot(a,this.getMotionFixedAtoms());c&&!this.g.allowMoveAtoms&&
(a=this.ms.getMoleculeBitSet(a));return this.movableBitSet=a},"JU.BS,~B");b(c$,"translateXYBy",function(a,c){this.tm.translateXYBy(a,c);this.refresh(2,this.sm.syncingMouse?"Mouse: translateXYBy "+a+" "+c:"")},"~N,~N");e(c$,"rotateFront",function(){this.tm.resetRotation();this.refresh(1,"Viewer:rotateFront()")});b(c$,"translate",function(a,c,b,e){var f="\x00"==b?A(c):"%"==b?this.tm.percentToPixels(a,c):this.tm.angstromsToPixels(c*("n"==b?10:1));if(null!=e){if(0==f)return;this.tm.setSelectedTranslation(e,
a,f)}else switch(a){case "X":case "x":"\x00"==b?this.tm.translateToPercent("x",c):this.tm.translateXYBy(f,0);break;case "Y":case "y":"\x00"==b?this.tm.translateToPercent("y",c):this.tm.translateXYBy(0,f);break;case "Z":case "z":"\x00"==b?this.tm.translateToPercent("z",c):this.tm.translateZBy(f)}this.refresh(1,"Viewer:translate()")},"~S,~N,~S,JU.BS");b(c$,"slabByPixels",function(a){this.tm.slabByPercentagePoints(a);this.refresh(3,"slabByPixels")},"~N");b(c$,"depthByPixels",function(a){this.tm.depthByPercentagePoints(a);
this.refresh(3,"depthByPixels")},"~N");b(c$,"slabDepthByPixels",function(a){this.tm.slabDepthByPercentagePoints(a);this.refresh(3,"slabDepthByPixels")},"~N");b(c$,"finalizeTransformParameters",function(){this.tm.finalizeTransformParameters();this.gdata.setSlabAndZShade(this.tm.slabValue,this.tm.depthValue,this.tm.zShadeEnabled?this.tm.zSlabValue:2147483647,this.tm.zDepthValue,this.g.zShadePower)});b(c$,"getScalePixelsPerAngstrom",function(a){return this.tm.scalePixelsPerAngstrom*(a||!this.antialiased?
1:0.5)},"~B");b(c$,"setSpin",function(a,c){if(JU.PT.isOneOf(a,";x;y;z;fps;X;Y;Z;FPS;")){var b="x;y;z;fps;X;Y;Z;FPS".indexOf(a);switch(b){case 0:this.tm.setSpinXYZ(c,NaN,NaN);break;case 2:this.tm.setSpinXYZ(NaN,c,NaN);break;case 4:this.tm.setSpinXYZ(NaN,NaN,c);break;default:this.tm.setSpinFps(c);break;case 10:this.tm.setNavXYZ(c,NaN,NaN);break;case 12:this.tm.setNavXYZ(NaN,c,NaN);break;case 14:this.tm.setNavXYZ(NaN,NaN,c);break;case 16:this.tm.setNavFps(c)}this.g.setI((10>b?"spin":"nav")+a,c)}},"~S,~N");
b(c$,"getSpinState",function(){return this.getStateCreator().getSpinState(!1)});b(c$,"getOrientationText",function(a,c){switch(a){case 1312817669:case 1073741863:case 1111492629:case 1111492630:case 1111492631:case 134221850:return this.ms.getBoundBoxOrientation(a,this.bsA());case 1073742035:return this.stm.getSavedOrientationText(c);default:return this.tm.getOrientationText(a)}},"~N,~S");b(c$,"getCurrentColorRange",function(){return this.cm.getPropertyColorRange()});b(c$,"setDefaultColors",function(a){this.cm.setDefaultColors(a);
this.g.setB("colorRasmol",a);this.g.setO("defaultColorScheme",a?"rasmol":"jmol")},"~B");b(c$,"setElementArgb",function(a,c){this.g.setO("=color "+JU.Elements.elementNameFromNumber(a),JU.Escape.escapeColor(c));this.cm.setElementArgb(a,c)},"~N,~N");e(c$,"setVectorScale",function(a){this.g.setF("vectorScale",a);this.g.vectorScale=a},"~N");e(c$,"setVibrationScale",function(a){this.tm.setVibrationScale(a);this.g.vibrationScale=a;this.g.setF("vibrationScale",a)},"~N");e(c$,"setVibrationPeriod",function(a){this.tm.setVibrationPeriod(a);
a=Math.abs(a);this.g.vibrationPeriod=a;this.g.setF("vibrationPeriod",a)},"~N");b(c$,"setObjectColor",function(a,c){null==c||0==c.length||this.setObjectArgb(a,JU.CU.getArgbFromString(c))},"~S,~S");b(c$,"setObjectVisibility",function(a,c){var b=JV.StateManager.getObjectIdFromName(a);0<=b&&this.setShapeProperty(b,"display",c?Boolean.TRUE:Boolean.FALSE)},"~S,~B");b(c$,"setObjectArgb",function(a,c){var b=JV.StateManager.getObjectIdFromName(a);if(0>b)a.equalsIgnoreCase("axes")&&(this.setObjectArgb("axis1",
c),this.setObjectArgb("axis2",c),this.setObjectArgb("axis3",c));else{this.g.objColors[b]=c;switch(b){case 0:this.gdata.setBackgroundArgb(c),this.cm.setColixBackgroundContrast(c)}this.g.setO(a+"Color",JU.Escape.escapeColor(c))}},"~S,~N");b(c$,"setBackgroundImage",function(a,c){this.g.backgroundImageFileName=a;this.gdata.setBackgroundImage(c)},"~S,~O");b(c$,"getObjectColix",function(a){a=this.g.objColors[a];return 0==a?this.cm.colixBackgroundContrast:JU.C.getColix(a)},"~N");b(c$,"getFontState",function(a,
c){return this.getStateCreator().getFontState(a,c)},"~S,javajs.awt.Font");e(c$,"setColorBackground",function(a){this.setObjectColor("background",a)},"~S");e(c$,"getBackgroundArgb",function(){return this.g.objColors[0]});b(c$,"setObjectMad",function(a,c,b){var e=JV.StateManager.getObjectIdFromName(c.equalsIgnoreCase("axes")?"axis":c);if(!(0>e)){if(-2==b||-4==b){var f=b+3;b=this.getObjectMad(e);0==b&&(b=f)}this.g.setB("show"+c,0!=b);this.g.objStateOn[e]=0!=b;0!=b&&(this.g.objMad[e]=b,this.setShapeSize(a,
b,null))}},"~N,~S,~N");b(c$,"getObjectMad",function(a){return this.g.objStateOn[a]?this.g.objMad[a]:0},"~N");b(c$,"setPropertyColorScheme",function(a,c,b){this.g.propertyColorScheme=a;a.startsWith("translucent ")&&(c=!0,a=a.substring(12).trim());this.cm.setPropertyColorScheme(a,c,b)},"~S,~B,~B");b(c$,"getLightingState",function(){return this.getStateCreator().getLightingState(!0)});b(c$,"getColorPointForPropertyValue",function(a){return JU.CU.colorPtFromInt(this.gdata.getColorArgbOrGray(this.cm.ce.getColorIndex(a)),
null)},"~N");b(c$,"select",function(a,c,b,e){c&&(a=this.getUndeletedGroupAtomBits(a));this.slm.select(a,b,e);this.shm.setShapeSizeBs(1,2147483647,null,null)},"JU.BS,~B,~N,~B");e(c$,"setSelectionSet",function(a){this.select(a,!1,0,!0)},"JU.BS");b(c$,"selectBonds",function(a){this.shm.setShapeSizeBs(1,2147483647,null,a)},"JU.BS");b(c$,"displayAtoms",function(a,c,b,e,f){b&&(a=this.getUndeletedGroupAtomBits(a));c?this.slm.display(this.ms,a,e,f):this.slm.hide(this.ms,a,e,f)},"JU.BS,~B,~B,~N,~B");b(c$,
"getUndeletedGroupAtomBits",function(a){a=this.ms.getAtoms(1086324742,a);JU.BSUtil.andNot(a,this.slm.bsDeleted);return a},"JU.BS");b(c$,"reportSelection",function(a){this.selectionHalosEnabled&&this.setTainted(!0);(this.isScriptQueued()||this.g.debugScript)&&this.scriptStatus(a)},"~S");b(c$,"clearAtomSets",function(){this.slm.setSelectionSubset(null);this.definedAtomSets.clear();this.haveDisplay&&this.acm.exitMeasurementMode("clearAtomSets")});b(c$,"getDefinedAtomSet",function(a){a=this.definedAtomSets.get(a.toLowerCase());
return p(a,JU.BS)?a:new JU.BS},"~S");e(c$,"selectAll",function(){this.slm.selectAll(!1)});e(c$,"clearSelection",function(){this.slm.clearSelection(!0);this.g.setB("hideNotSelected",!1)});b(c$,"bsA",function(){return this.slm.getSelectedAtoms()});e(c$,"addSelectionListener",function(a){this.slm.addListener(a)},"J.api.JmolSelectionListener");e(c$,"removeSelectionListener",function(a){this.slm.addListener(a)},"J.api.JmolSelectionListener");b(c$,"getAtomBitSetEval",function(a,c){return this.allowScripting?
this.getScriptManager().getAtomBitSetEval(a,c):new JU.BS},"J.api.JmolScriptEvaluator,~O");b(c$,"processTwoPointGesture",function(a){this.mouse.processTwoPointGesture(a)},"~A");b(c$,"processMouseEvent",function(a,c,b,e,f){return this.mouse.processEvent(a,c,b,e,f)},"~N,~N,~N,~N,~N");b(c$,"getRubberBandSelection",function(){return this.haveDisplay?this.acm.getRubberBand():null});b(c$,"isBound",function(a,c){return this.haveDisplay&&this.acm.bnd(a,[c])},"~N,~N");b(c$,"getCursorX",function(){return this.haveDisplay?
this.acm.getCurrentX():0});b(c$,"getCursorY",function(){return this.haveDisplay?this.acm.getCurrentY():0});b(c$,"getDefaultDirectory",function(){return this.g.defaultDirectory});b(c$,"getLocalUrl",function(a){return this.apiPlatform.getLocalUrl(a)},"~S");e(c$,"getBufferedInputStream",function(a){return this.fm.getBufferedInputStream(a)},"~S");b(c$,"setLoadParameters",function(a,c){null==a&&(a=new java.util.Hashtable);a.put("vwr",this);0<this.g.atomTypes.length&&a.put("atomTypes",this.g.atomTypes);
a.containsKey("lattice")||a.put("lattice",this.g.ptDefaultLattice);this.g.applySymmetryToBonds&&a.put("applySymmetryToBonds",Boolean.TRUE);this.g.pdbGetHeader&&a.put("getHeader",Boolean.TRUE);this.g.pdbSequential&&a.put("isSequential",Boolean.TRUE);this.g.legacyJavaFloat&&a.put("legacyJavaFloat",Boolean.TRUE);a.put("stateScriptVersionInt",Integer.$valueOf(this.stateScriptVersionInt));if(!a.containsKey("filter")){var b=this.g.defaultLoadFilter;0<b.length&&a.put("filter",b)}b=c&&!this.g.appendNew&&
0<this.ms.ac;a.put("baseAtomIndex",Integer.$valueOf(c?this.ms.ac:0));a.put("baseModelIndex",Integer.$valueOf(0==this.ms.ac?0:this.ms.mc+(b?-1:0)));b&&a.put("merging",Boolean.TRUE);return a},"java.util.Map,~B");e(c$,"openFileAsyncSpecial",function(a,c){this.getScriptManager().openFileAsync(a,c)},"~S,~N");e(c$,"openFile",function(a){this.zap(!0,!0,!1);return this.loadModelFromFileRepaint(null,a,null,null)},"~S");e(c$,"openFiles",function(a){this.zap(!0,!0,!1);return this.loadModelFromFileRepaint(null,
null,a,null)},"~A");e(c$,"openReader",function(a,c,b){this.zap(!0,!0,!1);return this.loadModelFromFileRepaint(a,c,null,b)},"~S,~S,java.io.Reader");e(c$,"openDOM",function(a){this.zap(!0,!0,!1);return this.loadModelFromFileRepaint("?","?",null,a)},"~O");b(c$,"loadModelFromFileRepaint",function(a,c,b,e){a=this.loadModelFromFile(a,c,b,e,!1,null,null,null,0,!1);this.refresh(1,"loadModelFromFileRepaint");return a},"~S,~S,~A,~O");b(c$,"loadModelFromFile",function(a,c,b,e,f,g,h,k,m,l){null==g&&(g=this.setLoadParameters(null,
f));l&&g.put("concatenate",Boolean.TRUE);var q=this.fm.getFileInfo();if(null!=b){if(null==h){h=(new JU.SB).append("load files");for(a=0;a<b.length;a++)h.append(0==a||!l?" ":"+").append("/*file*/$FILENAME"+(a+1)+"$")}0<k.length()&&h.append(" /*options*/ ").append(k.toString());a=System.currentTimeMillis();k=this.fm.createAtomSetCollectionFromFiles(b,this.setLoadParameters(g,f),f);a=System.currentTimeMillis()-a;JU.Logger.info("openFiles("+b.length+") "+a+" ms");b=g.get("fullPathNames");l=g.get("fileTypes");
h=h.toString();for(a=0;a<b.length;a++)c=b[a],null!=l&&null!=l[a]&&(c=l[a]+"::"+c),h=JU.PT.rep(h,"$FILENAME"+(a+1)+"$",JU.PT.esc(c.$replace("\\","/")));h=(new JU.SB).append(h)}else null==e?(null==h&&(h=(new JU.SB).append("load /*file*/$FILENAME$")),k=this.openFileFull(c,f,g,h)):k=p(e,java.io.Reader)?this.fm.createAtomSetCollectionFromReader(a,c,e,g):this.fm.createAtomSetCollectionFromDOM(e,g);if(0!=m)return this.fm.setFileInfo(q),this.loadAtomDataAndReturnError(k,m);if(g.containsKey("isData"))return k;
null!=h&&!p(k,String)&&(c=g.get("fullPathName"),null==c&&(c=""),g.containsKey("loadScript")&&(h=g.get("loadScript")),g.put("loadScript",h=(new JU.SB).append(JU.PT.rep(h.toString(),"$FILENAME$",JU.PT.esc(c.$replace("\\","/"))))));return this.createModelSetAndReturnError(k,f,h,g)},"~S,~S,~A,~O,~B,java.util.Map,JU.SB,JU.SB,~N,~B");b(c$,"setLigandModel",function(a,c){null==this.ligandModels&&(this.ligandModels=new java.util.Hashtable);this.ligandModels.put(a,c)},"~S,~S");b(c$,"getLigandModel",function(a,
c,b,e){if(null==a){if(null!=this.ligandModelSet)for(a=this.ligandModels.entrySet().iterator();a.hasNext();){var f=a.next();p(f.getValue(),Boolean)&&a.remove()}return null}var g=c.equals("ligand_");a=g?a.toUpperCase():a.substring(a.lastIndexOf("/")+1);null==this.ligandModelSet&&(this.ligandModelSet=new java.util.Hashtable);this.ligandModelSet.put(a,Boolean.TRUE);null==this.ligandModels&&(this.ligandModels=new java.util.Hashtable);var h=0<a.indexOf("|");h&&(a=a.substring(a.indexOf("|")+1));var k=null==
e?this.ligandModels.get(a):null,f=null;if(p(k,Boolean))return null;if(null==k&&(null==e||h))k=this.ligandModels.get(a+b);h=!1;if(null==k){if(g){f=this.setLoadFormat("#"+a,"#",!1);if(0==f.length)return null;this.scriptEcho("fetching "+f);k=this.getFileAsString3(f,!1,null)}else k=this.getFileAsString3(c,!1,null),e=null==e?-1:k.indexOf(e),0<=e&&(k=k.substring(0,e));(h=0==k.indexOf("java."))||this.ligandModels.put(a+b,k)}if(!g)return k;!h&&p(k,String)&&(b=k,0!=b.length&&(g=new java.util.Hashtable,g.put("modelOnly",
Boolean.TRUE),k=this.getModelAdapter().getAtomSetCollectionReader("ligand",null,JU.Rdr.getBR(b),g),h=p(k,String),h||(k=this.getModelAdapter().getAtomSetCollection(k),h=p(k,String),null!=f&&!h&&this.scriptEcho(this.getModelAdapter().getAtomSetCollectionAuxiliaryInfo(k).get("modelLoadNote")))));return h?(this.scriptEcho(k.toString()),this.ligandModels.put(a,Boolean.FALSE),null):k},"~S,~S,~S,~S");b(c$,"openFileFull",function(a,c,b,e){if(null==a||0<=a.indexOf("[]"))return null;var f,g="openFile("+a+")";
JU.Logger.startTimer(g);b=this.setLoadParameters(b,c);var h=a.startsWith("@"),k=b.containsKey("fileData");0==a.indexOf("$")&&b.put("smilesString",a.substring(1));var m=a.equalsIgnoreCase("string")||a.equals("Jmol Model Kit");f=null;if(k){if(f=b.get("fileData"),b.containsKey("isData"))return g=this.loadInlineScript(f,"\x00",c,b),this.lastData=this.g.preserveState?this.getDataManager().createFileData(f):null,g}else if(m){f=this.ms.getInlineData(-1);if(null==f)if(this.g.modelKitMode)f="5\n\nC 0 0 0\nH .63 .63 .63\nH -.63 -.63 .63\nH -.63 .63 -.63\nH .63 -.63 -.63";
else return"cannot find string data";null!=e&&b.put("loadScript",e=(new JU.SB).append(JU.PT.rep(e.toString(),"$FILENAME$",'data "model inline"\n'+f+'end "model inline"')))}null!=f?(c||this.zap(!0,!1,!1),!h&&(!k||m)&&this.getStateCreator().getInlineData(e,f,c,this.g.defaultLoadFilter),f=this.fm.createAtomSetCollectionFromString(f,b,c)):f=this.fm.createAtomSetCollectionFromFile(a,b,c);JU.Logger.checkTimer(g,!1);return f},"~S,~B,java.util.Map,JU.SB");e(c$,"openStringInline",function(a){a=this.openStringInlineParamsAppend(a,
null,!1);this.refresh(1,"openStringInline");return a},"~S");b(c$,"loadInline",function(a){return this.loadInlineScriptRepaint(a,this.g.inlineNewlineChar,!1)},"~S");b(c$,"loadInline",function(a,c){return this.loadInlineScriptRepaint(a,c,!1)},"~S,~S");e(c$,"loadInlineAppend",function(a,c){return this.loadInlineScriptRepaint(a,"\x00",c)},"~S,~B");b(c$,"loadInlineScriptRepaint",function(a,c,b){a=this.loadInlineScript(a,c,b,null);this.refresh(1,"loadInlineScript");return a},"~S,~S,~B");b(c$,"loadInline",
function(a){return this.loadInline(a,!1)},"~A");b(c$,"loadInline",function(a,c){if(null==a||0==a.length)return null;var b=this.openStringsInlineParamsAppend(a,new java.util.Hashtable,c);this.refresh(1,"loadInline String[]");return b},"~A,~B");b(c$,"loadInline",function(a,c){if(null==a||0==a.size())return null;c||this.zap(!0,!1,!1);for(var b=new JU.Lst,e=0;e<a.size();e++)b.addLast(a.get(e));b=this.fm.createAtomSeCollectionFromArrayData(b,this.setLoadParameters(null,c),c);b=this.createModelSetAndReturnError(b,
c,null,new java.util.Hashtable);this.refresh(1,"loadInline");return b},"java.util.List,~B");b(c$,"loadInlineScript",function(a,c,b,e){if(null==a||0==a.length)return null;a=JV.Viewer.fixInlineString(a,c);0!=c.charCodeAt(0)&&JU.Logger.info("loading model inline, "+a.length+" bytes, with newLine character "+c.charCodeAt(0)+" isAppend="+b);JU.Logger.debugging&&JU.Logger.debug(a);c=this.getDataSeparator();var f;if(null!=c&&""!==c&&0<=(f=a.indexOf(c))&&0>a.indexOf("# Jmol state")){for(var g=2;0<=(f=a.indexOf(c,
f+1));)g++;var h=Array(g),k=0,m=0;for(f=0;f<g;f++)k=a.indexOf(c,m),0>k&&(k=a.length),h[f]=a.substring(m,k),m=k+c.length;return this.openStringsInlineParamsAppend(h,e,b)}return this.openStringInlineParamsAppend(a,e,b)},"~S,~S,~B,java.util.Map");c$.fixInlineString=b(c$,"fixInlineString",function(a,c){var b;0<=a.indexOf("\\/n")&&(a=JU.PT.rep(a,"\n",""),a=JU.PT.rep(a,"\\/n","\n"),c=String.fromCharCode(0));if(0!=c.charCodeAt(0)&&"\n"!=c){var e=0<=a.indexOf("\n"),f=a.length;for(b=0;b<f&&" "==a.charAt(b);++b);
b<f&&a.charAt(b)==c&&(a=a.substring(b+1));a=e?JU.PT.rep(a,""+c,""):a.$replace(c,"\n")}return a},"~S,~S");b(c$,"openStringInlineParamsAppend",function(a,c,b){var e=JU.Rdr.getBR(a),e=this.getModelAdapter().getFileTypeName(e);if(null==e)return"unknown file type";if(e.equals("spt"))return"cannot open script inline";c=this.setLoadParameters(c,b);var e=c.get("loadScript"),f=c.containsKey("isData");null==e&&(e=new JU.SB);b||this.zap(!0,!1,!1);f||this.getStateCreator().getInlineData(e,a,b,this.g.defaultLoadFilter);
a=this.fm.createAtomSetCollectionFromString(a,c,b);return this.createModelSetAndReturnError(a,b,e,c)},"~S,java.util.Map,~B");b(c$,"openStringsInlineParamsAppend",function(a,c,b){var e=new JU.SB;b||this.zap(!0,!1,!1);a=this.fm.createAtomSeCollectionFromStrings(a,e,this.setLoadParameters(c,b),b);return this.createModelSetAndReturnError(a,b,e,c)},"~A,java.util.Map,~B");b(c$,"getInlineChar",function(){return this.g.inlineNewlineChar});b(c$,"getDataSeparator",function(){return this.g.getParameter("dataseparator",
!0)});b(c$,"createModelSetAndReturnError",function(a,c,b,e){var f=this.fm.getFullPathName(!1),g=this.fm.getFileName();null==b&&(this.setBooleanProperty("preserveState",!1),b=(new JU.SB).append('load "???"'));if(p(a,String))return this.setFileLoadStatus(J.c.FIL.NOT_LOADED,f,null,null,a,null),this.displayLoadErrors&&(!c&&!a.equals("#CANCELED#")&&!a.startsWith(JV.JC.READER_NOT_FOUND))&&this.zapMsg(a),a;c?this.clearAtomSets():this.g.modelKitMode&&!g.equals("Jmol Model Kit")&&this.setModelKitMode(!1);
this.setFileLoadStatus(J.c.FIL.CREATING_MODELSET,f,g,null,null,null);this.pushHoldRepaintWhy("createModelSet");this.setErrorMessage(null,null);try{var h=new JU.BS;this.mm.createModelSet(f,g,b,a,h,c);if(0<h.cardinality()){var k=this.ms.getInfoM("jmolscript");if(this.ms.getMSInfoB("doMinimize"))try{var m=e.get("eval");this.minimize(m,2147483647,0,h,null,0,!0,!0,!0,!0)}catch(l){if(!C(l,Exception))throw l;}else this.addHydrogens(h,!1,!0);null!=k&&this.ms.msInfo.put("jmolscript",k)}this.initializeModel(c)}catch(q){if(C(q,
Error))this.handleError(q,!0),a=this.getShapeErrorState(),a="ERROR creating model: "+q+(0==a.length?"":"|"+a),this.zapMsg(a),this.setErrorMessage(a,null);else throw q;}this.popHoldRepaint("createModelSet \u0001## REPAINT_IGNORE ##");a=this.getErrorMessage();this.setFileLoadStatus(J.c.FIL.CREATED,f,g,this.ms.modelSetName,a,e.get("async"));c&&(this.selectAll(),this.setTainted(!0),this.axesAreTainted=!0);System.gc();return a},"~O,~B,JU.SB,java.util.Map");b(c$,"loadAtomDataAndReturnError",function(a,
c){if(p(a,String))return a;this.setErrorMessage(null,null);try{var b=this.mm.createAtomDataSet(a,c);switch(c){case 1145047050:null!=b&&this.runScript(b);break;case 4166:this.setStatusFrameChanged(!0,!1);break;case 1648363544:this.shm.deleteVdwDependentShapes(null)}}catch(e){if(C(e,Error))this.handleError(e,!0),b=this.getShapeErrorState(),b="ERROR adding atom data: "+e+(0==b.length?"":"|"+b),this.zapMsg(b),this.setErrorMessage(b,null),this.setParallel(!1);else throw e;}return this.getErrorMessage()},
"~O,~N");b(c$,"getCurrentFileAsString",function(a){var c=this.fm.getFullPathName(!1);return c.equals("string")||c.equals("Jmol Model Kit")?this.ms.getInlineData(this.am.cmi):0<=c.indexOf("[]")?c:"JSNode"===c?"<DOM NODE>":this.getFileAsString4(c,-1,!0,!1,!1,a)},"~S");b(c$,"getFullPathNameOrError",function(a){var c=Array(2);this.fm.getFullPathNameOrError(a,!1,c);return c},"~S");b(c$,"getFileAsString3",function(a,c,b){return this.getFileAsString4(a,-1,!1,!1,c,b)},"~S,~B,~S");b(c$,"getFileAsString4",
function(a,c,b,e,f,g){if(null==a)return this.getCurrentFileAsString(g);g=Array(2);g[0]=a;this.fm.getFileDataAsString(g,c,b,e,f);return g[1]},"~S,~N,~B,~B,~B,~S");b(c$,"autoCalculate",function(a){switch(a){case 1111490575:this.ms.getSurfaceDistanceMax();break;case 1111490574:this.ms.calculateStraightnessAll()}},"~N");b(c$,"calculateStraightness",function(){this.ms.haveStraightness=!1;this.ms.calculateStraightnessAll()});b(c$,"calculateSurface",function(a,c){null==a&&(a=this.bsA());if(3.4028235E38==
c||-1==c)this.ms.addStateScript("calculate surfaceDistance "+(3.4028235E38==c?"FROM":"WITHIN"),null,a,null,"",!1,!0);return this.ms.calculateSurface(a,c)},"JU.BS,~N");b(c$,"getStructureList",function(){return this.g.getStructureList()});b(c$,"setStructureList",function(a,c){this.g.setStructureList(a,c);this.ms.setStructureList(this.getStructureList())},"~A,J.c.STR");b(c$,"calculateStructures",function(a,c,b){null==a&&(a=this.bsA());return this.ms.calculateStructures(a,c,!this.am.animationOn,this.g.dsspCalcHydrogen,
b)},"JU.BS,~B,~B");b(c$,"getAnnotationParser",function(a){return a?null==this.dssrParser?this.dssrParser=J.api.Interface.getOption("dssx.DSSR1",this,"script"):this.dssrParser:null==this.annotationParser?this.annotationParser=J.api.Interface.getOption("dssx.AnnotationParser",this,"script"):this.annotationParser},"~B");e(c$,"getSelectedAtomIterator",function(a,c,b,e){return this.ms.getSelectedAtomIterator(a,c,b,!1,e)},"JU.BS,~B,~B,~B");e(c$,"setIteratorForAtom",function(a,c,b){this.ms.setIteratorForAtom(a,
-1,c,b,null)},"J.api.AtomIndexIterator,~N,~N");e(c$,"setIteratorForPoint",function(a,c,b,e){this.ms.setIteratorForPoint(a,c,b,e)},"J.api.AtomIndexIterator,~N,JU.T3,~N");e(c$,"fillAtomData",function(a,c){a.programInfo="Jmol Version "+JV.Viewer.getJmolVersion();a.fileName=this.fm.getFileName();this.ms.fillAtomData(a,c)},"J.atomdata.AtomData,~N");b(c$,"addStateScript",function(a,c,b){return this.ms.addStateScript(a,null,null,null,null,c,b)},"~S,~B,~B");b(c$,"getMinimizer",function(a){return null==this.minimizer&&
a?(this.minimizer=J.api.Interface.getInterface("JM.Minimizer",this,"script")).setProperty("vwr",this):this.minimizer},"~B");b(c$,"getSmilesMatcher",function(){return null==this.smilesMatcher?this.smilesMatcher=J.api.Interface.getInterface("JS.SmilesMatcher",this,"script"):this.smilesMatcher});b(c$,"clearModelDependentObjects",function(){this.setFrameOffsets(null,!1);this.stopMinimization();this.smilesMatcher=this.minimizer=null});b(c$,"zap",function(a,c,b){this.clearThreads();null==this.mm.modelSet?
this.mm.zap():(this.ligandModelSet=null,this.clearModelDependentObjects(),this.fm.clear(),this.clearRepaintManager(-1),this.am.clear(),this.tm.clear(),this.slm.clear(),this.clearAllMeasurements(),this.clearMinimization(),this.gdata.clear(),this.mm.zap(),null!=this.scm&&this.scm.clear(!1),null!=this.nmrCalculation&&this.getNMRCalculation().setChemicalShiftReference(null,0),this.haveDisplay&&(this.mouse.clear(),this.clearTimeouts(),this.acm.clear()),this.stm.clear(this.g),this.tempArray.clear(),this.chainMap.clear(),
this.chainList.clear(),this.chainCaseSpecified=!1,this.definedAtomSets.clear(),this.lastData=null,null!=this.dm&&this.dm.clear(),this.setBooleanProperty("legacyjavafloat",!1),c&&(b&&this.g.modelKitMode&&(this.openStringInlineParamsAppend("5\n\nC 0 0 0\nH .63 .63 .63\nH -.63 -.63 .63\nH -.63 .63 -.63\nH .63 -.63 -.63",null,!0),this.setRotationRadius(5,!0),this.setStringProperty("picking","assignAtom_C"),this.setStringProperty("picking","assignBond_p")),this.undoClear()),System.gc());this.initializeModel(!1);
a&&this.setFileLoadStatus(J.c.FIL.ZAPPED,null,c?"resetUndo":this.getZapName(),null,null,null);JU.Logger.debugging&&JU.Logger.checkMemory()},"~B,~B,~B");b(c$,"zapMsg",function(a){this.zap(!0,!0,!1);this.echoMessage(a)},"~S");b(c$,"echoMessage",function(a){this.shm.loadShape(31);this.setShapeProperty(31,"font",this.getFont3D("SansSerif","Plain",9));this.setShapeProperty(31,"target","error");this.setShapeProperty(31,"text",a)},"~S");b(c$,"initializeModel",function(a){this.clearThreads();a?this.am.initializePointers(1):
(this.reset(!0),this.selectAll(),this.rotatePrev1=this.rotateBondIndex=-1,this.movingSelected=!1,this.slm.noneSelected=Boolean.FALSE,this.setHoverEnabled(!0),this.setSelectionHalosEnabled(!1),this.tm.setCenter(),this.am.initializePointers(1),this.setBooleanProperty("multipleBondBananas",!1),this.ms.getMSInfoB("isPyMOL")||(this.clearAtomSets(),this.setCurrentModelIndex(0)),this.setBackgroundModelIndex(-1),this.setFrankOn(this.getShowFrank()),this.startHoverWatcher(!0),this.setTainted(!0),this.finalizeTransformParameters())},
"~B");b(c$,"startHoverWatcher",function(a){a&&this.inMotion||(!this.haveDisplay||a&&(!this.hoverEnabled&&!this.sm.haveHoverCallback()||this.am.animationOn))||this.acm.startHoverWatcher(a)},"~B");e(c$,"getModelSetPathName",function(){return this.mm.modelSetPathName});e(c$,"getModelSetFileName",function(){return null==this.mm.fileName?this.getZapName():this.mm.fileName});b(c$,"getUnitCellInfoText",function(){var a=this.getCurrentUnitCell();return null==a?"not applicable":a.getUnitCellInfo()});b(c$,
"getUnitCellInfo",function(a){var c=this.getCurrentUnitCell();return null==c?NaN:c.getUnitCellInfoType(a)},"~N");b(c$,"getV0abc",function(a){var c=this.getCurrentUnitCell();return null==c?null:c.getV0abc(a)},"~O");b(c$,"getPolymerPointsAndVectors",function(a,c){this.ms.getPolymerPointsAndVectors(a,c,this.g.traceAlpha,this.g.sheetSmoothing)},"JU.BS,JU.Lst");b(c$,"getHybridizationAndAxes",function(a,c,b,e){return this.ms.getHybridizationAndAxes(a,0,c,b,e,!0,!0)},"~N,JU.V3,JU.V3,~S");b(c$,"getAllAtoms",
function(){return this.getModelUndeletedAtomsBitSet(-1)});b(c$,"getModelUndeletedAtomsBitSet",function(a){return this.slm.excludeAtoms(this.ms.getModelAtomBitSetIncludingDeleted(a,!0),!1)},"~N");b(c$,"getModelUndeletedAtomsBitSetBs",function(a){return this.slm.excludeAtoms(this.ms.getModelAtomBitSetIncludingDeletedBs(a),!1)},"JU.BS");e(c$,"getBoundBoxCenter",function(){return this.ms.getBoundBoxCenter(this.am.cmi)});b(c$,"calcBoundBoxDimensions",function(a,c){this.ms.calcBoundBoxDimensions(a,c);this.axesAreTainted=
!0},"JU.BS,~N");e(c$,"getBoundBoxCornerVector",function(){return this.ms.getBoundBoxCornerVector()});b(c$,"getBoundBoxCenterX",function(){return v(this.dimScreen.width/2)});b(c$,"getBoundBoxCenterY",function(){return v(this.dimScreen.height/2)});e(c$,"getModelSetProperties",function(){return this.ms.modelSetProperties});e(c$,"getModelProperties",function(a){return this.ms.am[a].properties},"~N");e(c$,"getModelSetAuxiliaryInfo",function(){return this.ms.getAuxiliaryInfo(null)});e(c$,"getModelNumber",
function(a){return 0>a?a:this.ms.getModelNumber(a)},"~N");b(c$,"getModelFileNumber",function(a){return 0>a?0:this.ms.modelFileNumbers[a]},"~N");e(c$,"getModelNumberDotted",function(a){return 0>a?"0":this.ms.getModelNumberDotted(a)},"~N");e(c$,"getModelName",function(a){return this.ms.getModelName(a)},"~N");b(c$,"modelHasVibrationVectors",function(a){return 0<=this.ms.getLastVibrationVector(a,4166)},"~N");b(c$,"getBondsForSelectedAtoms",function(a){return this.ms.getBondsForSelectedAtoms(a,this.g.bondModeOr||
1==JU.BSUtil.cardinalityOf(a))},"JU.BS");b(c$,"frankClicked",function(a,c){return!this.g.disablePopupMenu&&this.getShowFrank()&&this.shm.checkFrankclicked(a,c)},"~N,~N");b(c$,"frankClickedModelKit",function(a,c){return!this.g.disablePopupMenu&&this.g.modelKitMode&&0<=a&&0<=c&&40>a&&80>c},"~N,~N");e(c$,"findNearestAtomIndex",function(a,c){return this.findNearestAtomIndexMovable(a,c,!1)},"~N,~N");b(c$,"findNearestAtomIndexMovable",function(a,c,b){return!this.g.atomPicking?-1:this.ms.findNearestAtomIndex(a,
c,b?this.slm.getMotionFixedAtoms():null,this.g.minPixelSelRadius)},"~N,~N,~B");b(c$,"toCartesian",function(a,c){var b=this.getCurrentUnitCell();null!=b&&(b.toCartesian(a,c),this.g.legacyJavaFloat||JU.PT.fixPtFloats(a,1E4))},"JU.T3,~B");b(c$,"toFractional",function(a,c){var b=this.getCurrentUnitCell();null!=b&&(b.toFractional(a,c),this.g.legacyJavaFloat||JU.PT.fixPtFloats(a,1E5))},"JU.T3,~B");b(c$,"toUnitCell",function(a,c){var b=this.getCurrentUnitCell();null!=b&&b.toUnitCell(a,c)},"JU.P3,JU.P3");
b(c$,"setCurrentCage",function(a){a=x(-1,[a,null]);this.shm.getShapePropertyData(24,"unitCell",a);this.ms.setModelCage(this.am.cmi,a[1])},"~S");b(c$,"addUnitCellOffset",function(a){var c=this.getCurrentUnitCell();null!=c&&a.add(c.getCartesianOffset())},"JU.P3");b(c$,"setAtomData",function(a,c,b,e){this.ms.setAtomData(a,c,b,e);2==a&&this.checkCoordinatesChanged();this.refreshMeasures(!0)},"~N,~S,~S,~B");e(c$,"setCenterSelected",function(){this.setCenterBitSet(this.bsA(),!0)});b(c$,"setApplySymmetryToBonds",
function(a){this.g.applySymmetryToBonds=a},"~B");e(c$,"setBondTolerance",function(a){this.g.setF("bondTolerance",a);this.g.bondTolerance=a},"~N");e(c$,"setMinBondDistance",function(a){this.g.setF("minBondDistance",a);this.g.minBondDistance=a},"~N");b(c$,"getAtomsNearPt",function(a,c){var b=new JU.BS;this.ms.getAtomsWithin(a,c,b,-1);return b},"~N,JU.P3");b(c$,"getBranchBitSet",function(a,c,b){return 0>a||a>=this.ms.ac?new JU.BS:JU.JmolMolecule.getBranchBitSet(this.ms.at,a,this.getModelUndeletedAtomsBitSet(this.ms.at[a].mi),
null,c,b,!0)},"~N,~N,~B");e(c$,"getElementsPresentBitSet",function(a){return this.ms.getElementsPresentBitSet(a)},"~N");b(c$,"getFileHeader",function(){return this.ms.getFileHeader(this.am.cmi)});b(c$,"getFileData",function(){return this.ms.getFileData(this.am.cmi)});b(c$,"getCifData",function(a){a=this.getFileAsString3(this.ms.getModelFileName(a),!1,null);return null==a?null:JU.Rdr.readCifData(J.api.Interface.getInterface("JU.CifDataParser",this,"script"),JU.Rdr.getBR(a))},"~N");b(c$,"getStateCreator",
function(){null==this.jsc&&(this.jsc=J.api.Interface.getInterface("JV.StateCreator",this,"script")).setViewer(this);return this.jsc});b(c$,"getWrappedStateScript",function(){return this.getOutputManager().getWrappedState(null,null,null,null)});e(c$,"getStateInfo",function(){return this.getStateInfo3(null,0,0)});b(c$,"getStateInfo3",function(a,c,b){return this.g.preserveState?this.getStateCreator().getStateScript(a,c,b):""},"~S,~N,~N");b(c$,"getStructureState",function(){return this.getStateCreator().getModelState(null,
!1,!0)});b(c$,"getCoordinateState",function(a){return this.getStateCreator().getAtomicPropertyState(2,a)},"JU.BS");b(c$,"setCurrentColorRange",function(a){var c=this.getDataObj(a,null,1);a=null==c?null:this.getDataObj(a,null,-1)[2];null!=a&&this.g.rangeSelected&&a.and(this.bsA());this.cm.setPropertyColorRangeData(c,a)},"~S");b(c$,"setData",function(a,c,b,e,f,g,h){this.getDataManager().setData(a,this.lastData=c,b,this.ms.ac,e,f,g,h)},"~S,~A,~N,~N,~N,~N,~N");b(c$,"getDataObj",function(a,c,b){return null==
a&&-2==b?this.lastData:this.getDataManager().getData(a,c,b)},"~S,JU.BS,~N");b(c$,"autoHbond",function(a,c,b){null==a&&(a=c=this.bsA());return this.ms.autoHbond(a,c,b)},"JU.BS,JU.BS,~B");b(c$,"getCurrentUnitCell",function(){if(0<=this.am.cai)return this.ms.getUnitCellForAtom(this.am.cai);var a=this.am.cmi;if(0<=a)return this.ms.getUnitCell(a);for(var a=this.getVisibleFramesBitSet(),c=null,b=a.nextSetBit(0);0<=b;b=a.nextSetBit(b+1)){var e=this.ms.getUnitCell(b);if(null!=e)if(null==c)c=e;else if(!c.unitCellEquals(e))return null}return c});
b(c$,"getDefaultMeasurementLabel",function(a){switch(a){case 2:return this.g.defaultDistanceLabel;case 3:return this.g.defaultAngleLabel;default:return this.g.defaultTorsionLabel}},"~N");e(c$,"getMeasurementCount",function(){var a=this.getShapePropertyAsInt(6,"count");return 0>=a?0:a});e(c$,"getMeasurementStringValue",function(a){return""+this.shm.getShapePropertyIndex(6,"stringValue",a)},"~N");b(c$,"getMeasurementInfoAsString",function(){return this.getShapeProperty(6,"infostring")});e(c$,"getMeasurementCountPlusIndices",
function(a){return this.shm.getShapePropertyIndex(6,"countPlusIndices",a)},"~N");b(c$,"setPendingMeasurement",function(a){this.shm.loadShape(6);this.setShapeProperty(6,"pending",a)},"JM.MeasurementPending");b(c$,"getPendingMeasurement",function(){return this.getShapeProperty(6,"pending")});b(c$,"clearAllMeasurements",function(){this.setShapeProperty(6,"clear",null)});e(c$,"clearMeasurements",function(){this.evalString("measures delete")});b(c$,"setAnimation",function(a){switch(a){case 1073742098:this.am.reverseAnimation();
case 1073742096:case 4143:this.am.animationOn||this.am.resumeAnimation();break;case 20487:this.am.animationOn&&!this.am.animationPaused&&this.am.pauseAnimation();break;case 1073742037:this.am.setAnimationNext();break;case 1073742108:this.am.setAnimationPrevious();break;case 1073741942:case 1073742125:this.am.rewindAnimation();break;case 1073741993:this.am.setAnimationLast()}},"~N");e(c$,"setAnimationFps",function(a){this.am.setAnimationFps(a)},"~N");b(c$,"setAnimationMode",function(a){a.equalsIgnoreCase("once")?
this.am.setAnimationReplayMode(1073742070,0,0):a.equalsIgnoreCase("loop")?this.am.setAnimationReplayMode(528411,1,1):a.startsWith("pal")&&this.am.setAnimationReplayMode(1073742082,1,1)},"~S");b(c$,"setAnimationOn",function(a){a!=this.am.animationOn&&this.am.setAnimationOn(a)},"~B");b(c$,"setAnimationRange",function(a,c){this.am.setAnimationRange(a,c)},"~N,~N");e(c$,"getVisibleFramesBitSet",function(){var a=JU.BSUtil.copy(this.am.bsVisibleModels);null!=this.ms.trajectory&&this.ms.trajectory.selectDisplayed(a);
return a});b(c$,"getFrameAtoms",function(){return this.getModelUndeletedAtomsBitSetBs(this.getVisibleFramesBitSet())});b(c$,"defineAtomSets",function(a){this.definedAtomSets.putAll(a)},"java.util.Map");b(c$,"setAnimDisplay",function(a){this.am.setDisplay(a);this.am.animationOn||this.am.morph(this.am.currentMorphModel+1)},"JU.BS");b(c$,"setCurrentModelIndex",function(a){-2147483648==a?(this.prevFrame=-2147483648,this.setCurrentModelIndexClear(this.am.cmi,!0)):this.am.setModel(a,!0)},"~N");b(c$,"getTrajectoryState",
function(){return null==this.ms.trajectory?"":this.ms.trajectory.getState()});b(c$,"setFrameOffsets",function(a,c){this.tm.bsFrameOffsets=null;c?this.clearModelDependentObjects():this.tm.bsFrameOffsets=a;this.tm.frameOffsets=this.ms.getFrameOffsets(a,c)},"JU.BS,~B");b(c$,"setCurrentModelIndexClear",function(a,c){this.am.setModel(a,c)},"~N,~B");b(c$,"haveFileSet",function(){return 1<this.ms.mc&&2E6<this.getModelNumber(2147483647)});b(c$,"setBackgroundModelIndex",function(a){this.am.setBackgroundModelIndex(a);
this.g.setO("backgroundModel",this.ms.getModelNumberDotted(a))},"~N");b(c$,"setFrameVariables",function(){this.g.setO("animationMode",JS.T.nameOf(this.am.animationReplayMode));this.g.setI("animationFps",this.am.animationFps);this.g.setO("_firstFrame",this.am.getModelSpecial(-1));this.g.setO("_lastFrame",this.am.getModelSpecial(1));this.g.setF("_animTimeSec",this.am.getAnimRunTimeSeconds());this.g.setB("_animMovie",this.am.isMovie)});b(c$,"getInMotion",function(a){return this.inMotion||a&&this.am.animationOn},
"~B");e(c$,"getMotionEventNumber",function(){return this.motionEventNumber});e(c$,"setInMotion",function(a){(new Boolean(this.inMotion^a)).valueOf()&&(this.inMotion=a,this.resizeImage(0,0,!1,!1,!0),a?(this.startHoverWatcher(!1),++this.motionEventNumber):(this.startHoverWatcher(!0),this.refresh(3,"vwr setInMotion "+a)))},"~B");b(c$,"setRefreshing",function(a){this.refreshing=a},"~B");b(c$,"getRefreshing",function(){return this.refreshing});e(c$,"pushHoldRepaint",function(){this.pushHoldRepaintWhy(null)});
b(c$,"pushHoldRepaintWhy",function(a){null!=this.rm&&this.rm.pushHoldRepaint(a)},"~S");e(c$,"popHoldRepaint",function(a){null!=this.rm&&this.rm.popHoldRepaint(0>a.indexOf("\u0001## REPAINT_IGNORE ##"),a)},"~S");e(c$,"refresh",function(a,c){if(null!=this.rm&&this.refreshing&&!(6==a&&this.getInMotion(!0))){if(this.isWebGL){if(1==a||2==a||7==a){this.tm.finalizeTransformParameters();if(!this.html5Applet)return;this.html5Applet._refresh()}}else 0<a&&7!=a&&this.rm.repaintIfReady("refresh "+a+" "+c);7!=
a&&(0!=a%3&&this.sm.doSync())&&this.sm.setSync(2==a?c:null)}},"~N,~S");b(c$,"requestRepaintAndWait",function(a){this.haveDisplay&&null!=this.rm&&(this.rm.requestRepaintAndWait(a),this.setSync())},"~S");b(c$,"clearShapeRenderers",function(){this.clearRepaintManager(-1)});b(c$,"isRepaintPending",function(){return null==this.rm?!1:this.rm.isRepaintPending()});e(c$,"notifyViewerRepaintDone",function(){null!=this.rm&&this.rm.repaintDone();this.am.repaintDone()});b(c$,"areAxesTainted",function(){var a=
this.axesAreTainted;this.axesAreTainted=!1;return a});b(c$,"setMaximumSize",function(a){this.maximumSize=Math.max(a,100)},"~N");e(c$,"setScreenDimension",function(a,c){c=Math.min(c,this.maximumSize);a=Math.min(a,this.maximumSize);this.tm.stereoDoubleFull&&(a=v((a+1)/2));this.dimScreen.width==a&&this.dimScreen.height==c||this.resizeImage(a,c,!1,!1,!0)},"~N,~N");b(c$,"setStereo",function(a,c){this.isStereoSlave=a;this.gRight=c},"~B,~O");b(c$,"resizeImage",function(a,c,b,e,f){if(b||!this.creatingImage){var g=
this.antialiased;this.antialiased=f?this.g.antialiasDisplay&&this.checkMotionRendering(603979786):b&&!e?this.g.antialiasImages:!1;!e&&(!b&&(0<a||g!=this.antialiased))&&this.setShapeProperty(5,"clearBoxes",null);this.imageFontScaling=(this.antialiased?2:1)*(f||0>=a?1:v((this.g.zoomLarge==c>a?c:a)/this.getScreenDim()));0<a?(this.dimScreen.width=a,this.dimScreen.height=c,b||(this.g.setI("_width",a),this.g.setI("_height",c))):(a=0==this.dimScreen.width?this.dimScreen.width=500:this.dimScreen.width,c=
0==this.dimScreen.height?this.dimScreen.height=500:this.dimScreen.height);this.tm.setScreenParameters(a,c,b||f?this.g.zoomLarge:!1,this.antialiased,!1,!1);this.gdata.setWindowParameters(a,c,this.antialiased);0<a&&!b&&this.setStatusResized(a,c)}},"~N,~N,~B,~B,~B");e(c$,"getScreenWidth",function(){return this.dimScreen.width});e(c$,"getScreenHeight",function(){return this.dimScreen.height});b(c$,"getScreenDim",function(){return this.g.zoomLarge==this.dimScreen.height>this.dimScreen.width?this.dimScreen.height:
this.dimScreen.width});e(c$,"generateOutputForExport",function(a){return this.noGraphicsAllowed||null==this.rm?null:this.getOutputManager().getOutputFromExport(a)},"java.util.Map");b(c$,"clearRepaintManager",function(a){null!=this.rm&&this.rm.clear(a)},"~N");b(c$,"renderScreenImageStereo",function(a,c,b,e){this.updateWindow(b,e)&&(!c||null==this.gRight?this.getScreenImageBuffer(a,!1):(this.drawImage(this.gRight,this.getImage(!0,!1),0,0,this.tm.stereoDoubleDTI),this.drawImage(a,this.getImage(!1,!1),
0,0,this.tm.stereoDoubleDTI)));null!=this.captureParams&&Boolean.FALSE!==this.captureParams.get("captureEnabled")&&(a=this.captureParams.get("endTime").longValue(),0<a&&System.currentTimeMillis()+50>a&&this.captureParams.put("captureMode","end"),this.processWriteOrCapture(this.captureParams));this.notifyViewerRepaintDone()},"~O,~B,~N,~N");b(c$,"updateJS",function(){this.isWebGL?(null==this.jsParams&&(this.jsParams=new java.util.Hashtable,this.jsParams.put("type","JS")),this.updateWindow(0,0)&&this.render(),
this.notifyViewerRepaintDone()):this.isStereoSlave||this.renderScreenImageStereo(this.apiPlatform.getGraphics(null),!0,0,0)});b(c$,"updateJSView",function(a,c){var b=this.html5Applet;b&&null!=b._viewSet&&b._atomPickedCallback(a,c)},"~N,~N");b(c$,"updateWindow",function(a,c){if(!this.refreshing||this.creatingImage)return!1;(this.isTainted||this.tm.slabEnabled)&&this.setModelVisibility();this.isTainted=!1;null!=this.rm&&0!=a&&this.setScreenDimension(a,c);return!0},"~N,~N");b(c$,"renderScreenImage",
function(a,c,b){this.renderScreenImageStereo(a,!1,c,b)},"~O,~N,~N");b(c$,"getImage",function(a,c){var b=null;try{this.beginRendering(a,c),this.render(),this.gdata.endRendering(),b=this.gdata.getScreenImage(c)}catch(e){if(C(e,Error))this.gdata.getScreenImage(c),this.handleError(e,!1),this.setErrorMessage("Error during rendering: "+e,null);else if(C(e,Exception))System.out.println("render error"+e),this.isJS||e.printStackTrace();else throw e;}return b},"~B,~B");b(c$,"beginRendering",function(a,c){this.gdata.beginRendering(this.tm.getStereoRotationMatrix(a),
this.g.translucent,c,!this.checkMotionRendering(603979967))},"~B,~B");b(c$,"render",function(){if(!(null==this.mm.modelSet||!this.mustRender||!this.refreshing&&!this.creatingImage||null==this.rm)){var a=this.antialiased&&this.g.antialiasTranslucent;this.finalizeTransformParameters();var c=this.shm.finalizeAtoms(this.tm.bsSelectedAtoms,this.tm.ptOffset);this.tm.bsSelectedAtoms=null;this.isWebGL?(this.rm.renderExport(this.gdata,this.ms,this.jsParams),this.notifyViewerRepaintDone()):(this.rm.render(this.gdata,
this.ms,!0,c),this.gdata.setPass2(a)&&(this.tm.setAntialias(a),this.rm.render(this.gdata,this.ms,!1,null),this.tm.setAntialias(this.antialiased)))}});b(c$,"drawImage",function(a,c,b,e,f){null!=a&&null!=c&&this.apiPlatform.drawImage(a,c,b,e,this.dimScreen.width,this.dimScreen.height,f);this.gdata.releaseScreenImage()},"~O,~O,~N,~N,~B");e(c$,"getScreenImageBuffer",function(a,c){if(this.isWebGL)return c?this.apiPlatform.allocateRgbImage(0,0,null,0,!1,!0):null;var b=this.tm.stereoDoubleFull||this.tm.stereoDoubleDTI,
e=null==a&&b,f;this.tm.stereoMode.isBiColor()?(this.beginRendering(!0,c),this.render(),this.gdata.endRendering(),this.gdata.snapshotAnaglyphChannelBytes(),this.beginRendering(!1,c),this.render(),this.gdata.endRendering(),this.gdata.applyAnaglygh(this.tm.stereoMode,this.tm.stereoColors),f=this.gdata.getScreenImage(c)):f=this.getImage(b,c);var g=null;e&&(g=this.apiPlatform.newBufferedImage(f,this.tm.stereoDoubleDTI?this.dimScreen.width:this.dimScreen.width<<1,this.dimScreen.height),a=this.apiPlatform.getGraphics(g));
null!=a&&(b&&(this.tm.stereoMode===J.c.STER.DTI?(this.drawImage(a,f,this.dimScreen.width>>1,0,!0),f=this.getImage(!1,!1),this.drawImage(a,f,0,0,!0),a=null):(this.drawImage(a,f,this.dimScreen.width,0,!1),f=this.getImage(!1,!1))),null!=a&&this.drawImage(a,f,0,0,!1));return e?g:f},"~O,~B");e(c$,"getImageAsBytes",function(a,c,b,e,f){return this.getOutputManager().getImageAsBytes(a,c,b,e,f)},"~S,~N,~N,~N,~A");e(c$,"releaseScreenImage",function(){this.gdata.releaseScreenImage()});e(c$,"evalFile",function(a){return this.allowScripting&&
null!=this.getScriptManager()?this.scm.evalFile(a):null},"~S");b(c$,"getInsertedCommand",function(){var a=this.insertedCommand;this.insertedCommand="";JU.Logger.debugging&&""!==a&&JU.Logger.debug("inserting: "+a);return a});e(c$,"script",function(a){return this.evalStringQuietSync(a,!1,!0)},"~S");e(c$,"evalString",function(a){return this.evalStringQuietSync(a,!1,!0)},"~S");e(c$,"evalStringQuiet",function(a){return this.evalStringQuietSync(a,!0,!0)},"~S");b(c$,"evalStringQuietSync",function(a,c,b){return null==
this.getScriptManager()?null:this.scm.evalStringQuietSync(a,c,b)},"~S,~B,~B");b(c$,"clearScriptQueue",function(){null!=this.scm&&this.scm.clearQueue()});b(c$,"setScriptQueue",function(a){(this.g.useScriptQueue=a)||this.clearScriptQueue()},"~B");e(c$,"checkHalt",function(a,c){return null!=this.scm&&this.scm.checkHalt(a,c)},"~S,~B");e(c$,"scriptWait",function(a){return this.evalWait("JSON",a,"+scriptStarted,+scriptStatus,+scriptEcho,+scriptTerminated")},"~S");e(c$,"scriptWaitStatus",function(a,c){return this.evalWait("object",
a,c)},"~S,~S");b(c$,"evalWait",function(a,c,b){if(null==this.getScriptManager())return null;this.scm.waitForQueue();var e=J.i18n.GT.setDoTranslate(!1);a=this.evalStringWaitStatusQueued(a,c,b,!1,!1);J.i18n.GT.setDoTranslate(e);return a},"~S,~S,~S");b(c$,"evalStringWaitStatusQueued",function(a,c,b,e,f){return 0==c.indexOf("JSCONSOLE")?(this.html5Applet._showInfo(0>c.indexOf("CLOSE")),0<=c.indexOf("CLEAR")&&this.html5Applet._clearConsole(),null):null==this.getScriptManager()?null:this.scm.evalStringWaitStatusQueued(a,
c,b,e,f)},"~S,~S,~S,~B,~B");b(c$,"exitJmol",function(){if(!this.isApplet||this.isJNLP){if(null!=this.headlessImageParams)try{this.headless&&this.outputToFile(this.headlessImageParams)}catch(a){if(!C(a,Exception))throw a;}JU.Logger.debugging&&JU.Logger.debug("exitJmol -- exiting");System.out.flush();System.exit(0)}});b(c$,"scriptCheckRet",function(a,c){return null==this.getScriptManager()?null:this.scm.scriptCheckRet(a,c)},"~S,~B");e(c$,"scriptCheck",function(a){return null==this.getScriptManager()?
null:this.scriptCheckRet(a,!1)},"~S");e(c$,"isScriptExecuting",function(){return null!=this.eval&&this.eval.isExecuting()});e(c$,"haltScriptExecution",function(){null!=this.eval&&(this.eval.haltExecution(),this.eval.stopScriptThreads());this.setStringPropertyTok("pathForAllFiles",545259571,"");this.clearTimeouts()});b(c$,"pauseScriptExecution",function(){null!=this.eval&&this.eval.pauseExecution(!0)});b(c$,"resolveDatabaseFormat",function(a){JV.Viewer.hasDatabasePrefix(a)&&(a=this.setLoadFormat(a,
a.charAt(0),!1));return a},"~S");c$.hasDatabasePrefix=b(c$,"hasDatabasePrefix",function(a){return 0!=a.length&&JV.Viewer.isDatabaseCode(a.charAt(0))},"~S");c$.isDatabaseCode=b(c$,"isDatabaseCode",function(a){return"*"==a||"$"==a||"="==a||":"==a},"~S");b(c$,"setLoadFormat",function(a,c,b){var e=a.substring(1);switch(c){case "=":if(a.startsWith("=="))e=e.substring(1),c="#";else if(0<e.indexOf("/"))try{var f=e.indexOf("/"),g=e.substring(0,f),e=this.g.resolveDataBase(g,e.substring(f+1));return null==
e?a:e}catch(h){if(C(h,Exception))return a;throw h;}case "#":return b="="==c?this.g.loadFormat:this.g.loadLigandFormat,0<e.indexOf(".")&&0<=b.indexOf("%FILE.")&&(b=b.substring(0,b.indexOf("%FILE")+5)),JU.PT.formatStringS(b,"FILE",e);case "*":f=a.lastIndexOf("/");if(a.startsWith("*dom/"))return e=a.substring(f+1),a=4<f?a.substring(5):"mappings",JU.PT.rep(this.g.resolveDataBase("map",e),"%TYPE",a);if(a.startsWith("*val/"))return e=a.substring(f+1),a=4<f?a.substring(5):"validation/outliers/all",JU.PT.rep(this.g.resolveDataBase("map",
e),"%TYPE",a);if(a.startsWith("*rna3d/"))return e=a.substring(f+1),a=6<f?a.substring(6):"loops",JU.PT.rep(this.g.resolveDataBase("rna3d",e),"%TYPE",a);if(a.startsWith("*dssr/"))return e=a.substring(f+1),this.g.resolveDataBase("dssr",e);if(a.startsWith("*dssr1/"))return e=a.substring(f+1),this.g.resolveDataBase("dssr1",e);b="pdbe";5==e.length&&"*"==e.charAt(4)&&(b="pdbe2",e=e.substring(0,4));return this.g.resolveDataBase(b,e);case ":":a=this.g.pubChemFormat;if(e.equals(""))try{e="smiles:"+this.getSmiles(this.bsA())}catch(k){if(!C(k,
Exception))throw k;}b=e.toLowerCase();c=-2147483648;try{c=Integer.parseInt(e)}catch(m){if(!C(m,Exception))throw m;}-2147483648!=c?e="cid/"+c:b.startsWith("smiles:")?(a+="?POST?smiles="+e.substring(7),e="smiles"):e.startsWith("cid:")||e.startsWith("inchikey:")||e.startsWith("cas:")?e=e.$replace(":","/"):(b.startsWith("name:")&&(e=e.substring(5)),e="name/"+JU.PT.escapeUrl(e));return JU.PT.formatStringS(a,"FILE",e);case "$":if(a.startsWith("$$"))return e=e.substring(1),a=JU.PT.rep(this.g.smilesUrlFormat,
"&get3d=True",""),JU.PT.formatStringS(a,"FILE",JU.PT.escapeUrl(e));if(a.equals("$"))try{e=this.getSmiles(this.bsA())}catch(l){if(!C(l,Exception))throw l;}case "N":case "2":case "I":case "K":case "S":case "T":case "/":e=JU.PT.escapeUrl(e);switch(c){case "N":a=this.g.nihResolverFormat+"/names";break;case "2":a=this.g.nihResolverFormat+"/image";break;case "I":a=this.g.nihResolverFormat+"/stdinchi";break;case "K":a=this.g.nihResolverFormat+"/inchikey";break;case "S":a=this.g.nihResolverFormat+"/stdinchikey";
break;case "T":a=this.g.nihResolverFormat+"/stdinchi";break;case "/":a=this.g.nihResolverFormat+"/";break;default:a=this.g.smilesUrlFormat}return(b?"MOL3D::":"")+JU.PT.formatStringS(a,"FILE",e);case "_":return(b=e.startsWith("="))&&(e=e.substring(1)),a=JV.FileManager.fixFileNameVariables(b?this.g.edsUrlFormatDiff:this.g.edsUrlFormat,e),e=b?"":JV.FileManager.fixFileNameVariables(this.g.edsUrlCutoff,e),x(-1,[a,e,b?"diff":null])}return e},"~S,~S,~B");b(c$,"getStandardLabelFormat",function(a){switch(a){default:case 0:return"%[identify]";
case 1:return this.g.defaultLabelXYZ;case 2:return this.g.defaultLabelPDB}},"~N");b(c$,"getAdditionalHydrogens",function(a,c,b,e){null==a&&(a=this.bsA());var f=y(1,0);a=this.ms.calculateHydrogens(a,f,c,b,e);f=Array(f[0]);for(b=c=0;c<a.length;c++)if(null!=a[c])for(e=0;e<a[c].length;e++)f[b++]=a[c][e];return f},"JU.BS,~B,~B,JU.Lst");e(c$,"setMarBond",function(a){this.g.bondRadiusMilliAngstroms=a;this.g.setI("bondRadiusMilliAngstroms",a);this.setShapeSize(1,2*a,JU.BSUtil.setAll(this.ms.ac))},"~N");b(c$,
"setHoverLabel",function(a){this.shm.loadShape(35);this.setShapeProperty(35,"label",a);this.setHoverEnabled(null!=a);this.g.setO("_hoverLabel",this.hoverLabel=a);!this.hoverEnabled&&!this.sm.haveHoverCallback()&&this.startHoverWatcher(!1)},"~S");b(c$,"setHoverEnabled",function(a){this.hoverEnabled=a;this.g.setB("_hoverEnabled",a)},"~B");b(c$,"hoverOn",function(a,c){this.g.removeParam("_objecthovered");this.g.setI("_atomhovered",a);this.g.setO("_hoverLabel",this.hoverLabel);this.g.setUserVariable("hovered",
JS.SV.getVariable(JU.BSUtil.newAndSetBit(a)));this.sm.haveHoverCallback()&&this.sm.setStatusAtomHovered(a,this.getAtomInfoXYZ(a,!1));if(this.hoverEnabled)if(this.g.modelKitMode)this.ms.isAtomAssignable(a)&&this.highlight(JU.BSUtil.newAndSetBit(a)),this.refresh(3,"hover on atom");else if(!(null!=this.eval&&this.isScriptExecuting()||a==this.hoverAtomIndex||0==this.g.hoverDelayMs)&&this.slm.isInSelectionSubset(a))this.shm.loadShape(35),c&&this.ms.at[a].isVisible(512)&&this.setShapeProperty(35,"specialLabel",
J.i18n.GT._("Drag to move label")),this.setShapeProperty(35,"text",null),this.setShapeProperty(35,"target",Integer.$valueOf(a)),this.hoverText=null,this.hoverAtomIndex=a,this.refresh(3,"hover on atom")},"~N,~B");b(c$,"hoverOnPt",function(a,c,b,e,f){null!=this.eval&&this.isScriptExecuting()||(this.g.setO("_hoverLabel",this.hoverLabel),null!=e&&null!=f&&(this.g.setO("_objecthovered",e),this.g.setI("_atomhovered",-1),this.g.setUserVariable("hovered",JS.SV.getVariable(f)),this.sm.haveHoverCallback()&&
this.sm.setStatusObjectHovered(e,b,f)),this.hoverEnabled&&(this.shm.loadShape(35),this.setShapeProperty(35,"xy",JU.P3i.new3(a,c,0)),this.setShapeProperty(35,"target",null),this.setShapeProperty(35,"specialLabel",null),this.setShapeProperty(35,"text",b),this.hoverAtomIndex=-1,this.hoverText=b,this.refresh(3,"hover on point")))},"~N,~N,~S,~S,JU.T3");b(c$,"hoverOff",function(){try{if(this.g.modelKitMode&&this.highlight(null),this.hoverEnabled){var a=null!=this.hoverText||0<=this.hoverAtomIndex;0<=this.hoverAtomIndex&&
(this.setShapeProperty(35,"target",null),this.hoverAtomIndex=-1);null!=this.hoverText&&(this.setShapeProperty(35,"text",null),this.hoverText=null);this.setShapeProperty(35,"specialLabel",null);a&&this.refresh(3,"hover off")}}catch(c){if(!C(c,Exception))throw c;}});e(c$,"setDebugScript",function(a){this.g.debugScript=a;this.g.setB("debugScript",a);null!=this.eval&&this.eval.setDebugging()},"~B");b(c$,"clearClickCount",function(){this.setTainted(!0)});b(c$,"setCursor",function(a){if(!this.$isKiosk&&
!(this.currentCursor==a||this.multiTouch||!this.haveDisplay))this.apiPlatform.setCursor(this.currentCursor=a,this.display)},"~N");b(c$,"setPickingMode",function(a,c){if(this.haveDisplay){this.showSelected=!1;var b=null;if(null!=a){var e=a.indexOf("_");0<=e&&(b=a.substring(e+1),a=a.substring(0,e));c=JV.ActionManager.getPickingMode(a)}0>c&&(c=1);this.acm.setPickingMode(c);this.g.setO("picking",JV.ActionManager.getPickingModeName(this.acm.getAtomPickingMode()));if(!(null==b||0==b.length))switch(b=Character.toUpperCase(b.charAt(0))+
(1==b.length?"":b.substring(1,2)),c){case 32:this.setAtomPickingOption(b);break;case 33:this.setBondPickingOption(b);break;default:JU.Logger.error("Bad picking mode: "+a+"_"+b)}}},"~S,~N");b(c$,"getPickingMode",function(){return this.haveDisplay?this.acm.getAtomPickingMode():0});b(c$,"setPickingStyle",function(a,c){this.haveDisplay&&(null!=a&&(c=JV.ActionManager.getPickingStyleIndex(a)),0>c&&(c=0),this.acm.setPickingStyle(c),this.g.setO("pickingStyle",JV.ActionManager.getPickingStyleName(this.acm.getPickingStyle())))},
"~S,~N");b(c$,"getDrawHover",function(){return this.haveDisplay&&this.g.drawHover});b(c$,"getAtomInfo",function(a){null==this.ptTemp&&(this.ptTemp=new JU.P3);return 0<=a?this.ms.getAtomInfo(a,null,this.ptTemp):this.shm.getShapePropertyIndex(6,"pointInfo",-a)},"~N");b(c$,"getAtomInfoXYZ",function(a,c){var b=this.ms.at[a];if(c)return this.getChimeMessenger().getInfoXYZ(b);null==this.ptTemp&&(this.ptTemp=new JU.P3);return b.getIdentityXYZ(!0,this.ptTemp)},"~N,~B");b(c$,"setSync",function(){this.sm.doSync()&&
this.sm.setSync(null)});e(c$,"setJmolCallbackListener",function(a){this.sm.cbl=a},"J.api.JmolCallbackListener");e(c$,"setJmolStatusListener",function(a){this.sm.cbl=this.sm.jsl=a},"J.api.JmolStatusListener");b(c$,"getStatusChanged",function(a){return null==a?null:this.sm.getStatusChanged(a)},"~S");b(c$,"menuEnabled",function(){return!this.g.disablePopupMenu&&null!=this.getPopupMenu()});b(c$,"popupMenu",function(a,c,b){if(this.haveDisplay&&this.refreshing&&!this.isPreviewOnly&&!this.g.disablePopupMenu)switch(b){case "j":try{this.getPopupMenu(),
this.jmolpopup.jpiShow(a,c)}catch(e){JU.Logger.info(e.toString()),this.g.disablePopupMenu=!0}break;case "a":case "b":case "m":if(null==this.modelkitPopup&&null==(this.modelkitPopup=this.apiPlatform.getMenuPopup(null,b)))break;this.modelkitPopup.jpiShow(a,c)}},"~N,~N,~S");b(c$,"getMenu",function(a){this.getPopupMenu();return a.equals("\x00")?(this.popupMenu(this.dimScreen.width-120,0,"j"),"OK"):null==this.jmolpopup?"":this.jmolpopup.jpiGetMenuAsString("Jmol version "+JV.Viewer.getJmolVersion()+"|_GET_MENU|"+
a)},"~S");b(c$,"getPopupMenu",function(){return this.g.disablePopupMenu?null:null==this.jmolpopup&&(this.jmolpopup=this.allowScripting?this.apiPlatform.getMenuPopup(this.menuStructure,"j"):null,null==this.jmolpopup&&!this.async)?(this.g.disablePopupMenu=!0,null):this.jmolpopup.jpiGetMenuAsObject()});e(c$,"setMenu",function(a,b){b&&JU.Logger.info("Setting menu "+(0==a.length?"to Jmol defaults":"from file "+a));0==a.length?a=null:b&&(a=this.getFileAsString3(a,!1,null));this.getProperty("DATA_API","setMenu",
a);this.sm.setCallbackFunction("menu",a)},"~S,~B");b(c$,"setStatusFrameChanged",function(a){a&&(this.prevFrame=-2147483648);this.tm.setVibrationPeriod(NaN);var b=this.am.firstFrameIndex,d=this.am.lastFrameIndex,e=this.am.isMovie;a=this.am.cmi;b==d&&!e&&(a=b);var f=this.getModelFileNumber(a),g=this.am.cmi,h=f,k=f%1E6,m=e?b:this.getModelFileNumber(b),l=e?d:this.getModelFileNumber(d),p;e?p=""+(g+1):0==h?(p=this.getModelNumberDotted(b),b!=d&&(p+=" - "+this.getModelNumberDotted(d)),v(m/1E6)==v(l/1E6)&&
(h=m)):p=this.getModelNumberDotted(a);0!=h&&(h=1E6>h?1:v(h/1E6));e||(this.g.setI("_currentFileNumber",h),this.g.setI("_currentModelNumberInFile",k));b=this.am.currentMorphModel;this.g.setI("_currentFrame",g);this.g.setI("_morphCount",this.am.morphCount);this.g.setF("_currentMorphFrame",b);this.g.setI("_frameID",f);this.g.setI("_modelIndex",a);this.g.setO("_modelNumber",p);this.g.setO("_modelName",0>a?"":this.getModelName(a));f=0>a?"":this.ms.getModelTitle(a);this.g.setO("_modelTitle",null==f?"":f);
this.g.setO("_modelFile",0>a?"":this.ms.getModelFileName(a));this.g.setO("_modelType",0>a?"":this.ms.getModelFileType(a));g==this.prevFrame&&b==this.prevMorphModel||(this.prevFrame=g,this.prevMorphModel=b,f=this.getModelName(g),e?f=""+(""===f?g+1:this.am.caf+1)+": "+f:(e=""+this.getModelNumberDotted(g),f.equals(e)||(f=e+": "+f)),this.sm.setStatusFrameChanged(h,k,0>this.am.animationDirection?-m:m,0>this.am.currentDirection?-l:l,g,b,f),this.doHaveJDX()&&this.getJSV().setModel(a),this.isJS&&this.updateJSView(a,
-1))},"~B,~B");b(c$,"doHaveJDX",function(){return this.haveJDX||(this.haveJDX=this.getBooleanProperty("_jspecview"))});b(c$,"getJSV",function(){null==this.jsv&&(this.jsv=J.api.Interface.getOption("jsv.JSpecView",this,"script"),this.jsv.setViewer(this));return this.jsv});b(c$,"getJDXBaseModelIndex",function(a){return!this.doHaveJDX()?a:this.getJSV().getBaseModelIndex(a)},"~N");b(c$,"getJspecViewProperties",function(a){a=this.sm.getJspecViewProperties(""+a);null!=a&&(this.haveJDX=!0);return a},"~O");
b(c$,"scriptEcho",function(a){JU.Logger.isActiveLevel(4)&&(System.out.println(a),this.sm.setScriptEcho(a,this.isScriptQueued()),this.listCommands&&(null!=a&&0==a.indexOf("$["))&&JU.Logger.info(a))},"~S");b(c$,"isScriptQueued",function(){return null!=this.scm&&this.scm.isScriptQueued()});b(c$,"notifyError",function(a,b,d){this.g.setO("_errormessage",d);this.sm.notifyError(a,b,d)},"~S,~S,~S");b(c$,"jsEval",function(a){return this.sm.jsEval(a)},"~S");b(c$,"setFileLoadStatus",function(a,b,d,e,f,g){this.setErrorMessage(f,
null);this.g.setI("_loadPoint",a.getCode());var h=a!==J.c.FIL.CREATING_MODELSET;h&&this.setStatusFrameChanged(!1,!1);this.sm.setFileLoadStatus(b,d,e,f,a.getCode(),h,g);h&&(this.doHaveJDX()&&this.getJSV().setModel(this.am.cmi),this.isJS&&this.updateJSView(this.am.cmi,-2))},"J.c.FIL,~S,~S,~S,~S,Boolean");b(c$,"getZapName",function(){return this.g.modelKitMode?"Jmol Model Kit":"zapped"});b(c$,"setStatusMeasuring",function(a,b,d,e){this.sm.setStatusMeasuring(a,b,d,e)},"~S,~N,~S,~N");b(c$,"notifyMinimizationStatus",
function(){var a=this.getP("_minimizationStep"),b=this.getP("_minimizationForceField");this.sm.notifyMinimizationStatus(this.getP("_minimizationStatus"),p(a,String)?Integer.$valueOf(0):a,this.getP("_minimizationEnergy"),a.toString().equals("0")?Float.$valueOf(0):this.getP("_minimizationEnergyDiff"),b)});b(c$,"setStatusAtomPicked",function(a,b,d){null==b&&(b=this.g.pickLabel,b=0==b.length?this.getAtomInfoXYZ(a,this.g.messageStyleChime):this.ms.getAtomInfo(a,b,this.ptTemp));this.setPicked(a);this.g.setO("_pickinfo",
b);this.sm.setStatusAtomPicked(a,b,d);0>a||(1==this.sm.getSyncMode()&&this.doHaveJDX()&&this.getJSV().atomPicked(a),this.isJS&&this.updateJSView(this.ms.at[a].mi,a))},"~N,~S,java.util.Map");b(c$,"setStatusDragDropped",function(a,b,d,e){0==a&&(this.g.setO("_fileDropped",e),this.g.setUserVariable("doDrop",JS.SV.vT));return!this.sm.setStatusDragDropped(a,b,d,e)||this.getP("doDrop").toString().equals("true")},"~N,~N,~N,~S");b(c$,"setStatusResized",function(a,b){this.sm.setStatusResized(a,b)},"~N,~N");
b(c$,"scriptStatus",function(a){this.setScriptStatus(a,"",0,null)},"~S");b(c$,"scriptStatusMsg",function(a,b){this.setScriptStatus(a,b,0,null)},"~S,~S");b(c$,"setScriptStatus",function(a,b,d,e){this.sm.setScriptStatus(a,b,d,e)},"~S,~S,~N,~S");e(c$,"showUrl",function(a){if(null!=a){if(0>a.indexOf(":")){var b=this.fm.getAppletDocumentBase();""===b&&(b=this.fm.getFullPathName(!1));0<=b.indexOf("/")?b=b.substring(0,b.lastIndexOf("/")+1):0<=b.indexOf("\\")&&(b=b.substring(0,b.lastIndexOf("\\")+1));a=b+
a}JU.Logger.info("showUrl:"+a);this.sm.showUrl(a)}},"~S");b(c$,"setMeshCreator",function(a){this.shm.loadShape(24);this.setShapeProperty(24,"meshCreator",a)},"~O");b(c$,"showConsole",function(a){if(this.haveDisplay)try{null==this.appConsole&&a&&this.getConsole(),this.appConsole.setVisible(!0)}catch(b){}},"~B");b(c$,"getConsole",function(){this.getProperty("DATA_API","getAppConsole",Boolean.TRUE);return this.appConsole});e(c$,"getParameter",function(a){return this.getP(a)},"~S");b(c$,"getP",function(a){return this.g.getParameter(a,
!0)},"~S");b(c$,"getPOrNull",function(a){return this.g.getParameter(a,!1)},"~S");b(c$,"unsetProperty",function(a){a=a.toLowerCase();(a.equals("all")||a.equals("variables"))&&this.fm.setPathForAllFiles("");this.g.unsetUserVariable(a)},"~S");e(c$,"notifyStatusReady",function(a){System.out.println("Jmol applet "+this.fullName+(a?" ready":" destroyed"));a||this.dispose();this.sm.setStatusAppletReady(this.fullName,a)},"~B");e(c$,"getBooleanProperty",function(a){a=a.toLowerCase();if(this.g.htBooleanParameterFlags.containsKey(a))return this.g.htBooleanParameterFlags.get(a).booleanValue();
if(a.endsWith("p!")){if(null==this.acm)return!1;var b=this.acm.getPickingState().toLowerCase();a=a.substring(0,a.length-2)+";";return 0<=b.indexOf(a)}if(a.equalsIgnoreCase("executionPaused"))return null!=this.eval&&this.eval.isPaused();if(a.equalsIgnoreCase("executionStepping"))return null!=this.eval&&this.eval.isStepping();if(a.equalsIgnoreCase("haveBFactors"))return null!=this.ms.getBFactors();if(a.equalsIgnoreCase("colorRasmol"))return this.cm.isDefaultColorRasmol;if(a.equalsIgnoreCase("frank"))return this.getShowFrank();
if(a.equalsIgnoreCase("spinOn"))return this.tm.spinOn;if(a.equalsIgnoreCase("isNavigating"))return this.tm.isNavigating();if(a.equalsIgnoreCase("showSelections"))return this.selectionHalosEnabled;if(this.g.htUserVariables.containsKey(a)){b=this.g.getUserVariable(a);if(1073742335==b.tok)return!0;if(1073742334==b.tok)return!1}JU.Logger.error("vwr.getBooleanProperty("+a+") - unrecognized");return!1},"~S");e(c$,"getInt",function(a){switch(a){case 553648132:return this.am.animationFps;case 553648143:return this.g.dotDensity;
case 553648144:return this.g.dotScale;case 553648146:return this.g.helixStep;case 553648151:return this.g.meshScale;case 553648153:return this.g.minPixelSelRadius;case 553648154:return this.g.percentVdwAtom;case 553648157:return this.g.pickingSpinRate;case 553648166:return this.g.ribbonAspectRatio;case 536870922:return this.g.scriptDelay;case 553648170:return this.g.smallMoleculeMaxAtoms;case 553648184:return this.g.strutSpacing}JU.Logger.error("viewer.getInt("+JS.T.nameOf(a)+") - not listed");return 0},
"~N");b(c$,"getDelayMaximumMs",function(){return this.haveDisplay?this.g.delayMaximumMs:1});b(c$,"getHermiteLevel",function(){return this.tm.spinOn?0:this.g.hermiteLevel});b(c$,"getHoverDelay",function(){return this.g.modelKitMode?20:this.g.hoverDelayMs});e(c$,"getBoolean",function(a){switch(a){case 1073742086:return this.ms.getMSInfoB("isPDB");case 603979780:return this.g.allowGestures;case 603979784:return this.g.allowMultiTouch;case 603979785:return this.g.allowRotateSelected;case 603979792:return this.g.appendNew;
case 603979794:return this.g.applySymmetryToBonds;case 603979796:return this.g.atomPicking;case 603979798:return this.g.autoBond;case 603979800:return this.g.autoFps;case 603979806:return this.g.axesOrientationRasmol;case 603979811:return this.g.backboneSteps;case 603979812:return this.g.bondModeOr;case 603979816:return this.g.cartoonBaseEdges;case 603979817:return this.g.cartoonFancy;case 603979818:return this.g.cartoonLadders;case 603979819:return this.g.cartoonRibose;case 603979820:return this.g.cartoonRockets;
case 603979823:return this.g.chainCaseSensitive||this.chainCaseSpecified;case 603979825:return this.g.debugScript;case 603979826:return this.g.defaultStructureDSSP;case 603979827:return this.g.disablePopupMenu;case 603979828:return this.g.displayCellParameters;case 603979830:return this.g.dotSurface;case 603979829:return this.g.dotsSelectedOnly;case 603979833:return this.g.drawPicking;case 603979844:return this.g.fontCaching;case 603979845:return this.g.fontScaling;case 603979846:return this.g.forceAutoBond;
case 603979848:return!1;case 603979850:return this.g.greyscaleRendering;case 603979852:return this.g.hbondsBackbone;case 603979853:return this.g.hbondsRasmol;case 603979854:return this.g.hbondsSolid;case 1612709894:return this.g.rasmolHeteroSetting;case 603979858:return this.g.hideNameInPopup;case 603979864:return this.g.highResolutionFlag;case 1612709900:return this.g.rasmolHydrogenSetting;case 603979869:return this.g.isosurfaceKey;case 603979871:return this.g.justifyMeasurements;case 603979873:return this.g.legacyAutoBonding;
case 603979874:return this.g.legacyHAddition;case 603979877:return this.g.logGestures;case 603979878:return this.g.measureAllModels;case 603979879:return this.g.measurementLabels;case 603979880:return this.g.messageStyleChime;case 603979883:return this.g.modelKitMode;case 603979886:return this.g.multipleBondBananas;case 603979889:return this.g.navigationMode;case 603979890:return this.g.navigationPeriodic;case 603979891:return this.g.partialDots;case 603979894:return this.g.pdbSequential;case 603979896:return this.g.preserveState;
case 603979899:return this.g.ribbonBorder;case 603979900:return this.g.rocketBarrels;case 603979906:return this.g.selectAllModels;case 603979920:return this.g.showHiddenSelectionHalos;case 603979922:return this.g.showHydrogens;case 603979926:return this.g.showMeasurements;case 603979927:return this.g.showModVecs;case 603979928:return this.g.showMultipleBonds;case 603979934:return this.g.showTiming;case 603979937:return this.g.showUnitCellDetails;case 603979939:return this.g.slabByAtom;case 603979940:return this.g.slabByMolecule;
case 603979944:return this.g.smartAromatic;case 1612709912:return this.g.solventOn;case 603979952:return this.g.ssbondsBackbone;case 603979955:return this.g.strutsMultiple;case 603979966:return this.g.traceAlpha;case 603979967:return this.g.translucent;case 603979968:return this.g.twistedSheets;case 603979972:return this.g.vectorsCentered;case 603979973:return this.g.vectorSymmetry;case 603979974:return this.g.waitForMoveTo;case 603979978:return this.g.zeroBasedXyzRasmol}JU.Logger.error("viewer.getBoolean("+
JS.T.nameOf(a)+") - not listed");return!1},"~N");b(c$,"allowEmbeddedScripts",function(){return this.g.allowEmbeddedScripts&&!this.isPreviewOnly});b(c$,"getDragSelected",function(){return this.g.dragSelected&&!this.g.modelKitMode});b(c$,"getBondPicking",function(){return this.g.bondPicking||this.g.modelKitMode});b(c$,"useMinimizationThread",function(){return this.g.useMinimizationThread&&!this.autoExit});e(c$,"getFloat",function(a){switch(a){case 1140850689:return this.g.particleRadius;case 570425346:return this.g.axesScale;
case 570425348:return this.g.bondTolerance;case 570425354:return this.g.defaultTranslucent;case 570425352:return this.g.defaultDrawArrowScale;case 570425355:return this.g.dipoleScale;case 570425356:return this.g.drawFontSize;case 570425358:return this.g.exportScale;case 570425360:return this.g.hbondsAngleMinimum;case 570425361:return this.g.hbondsDistanceMaximum;case 570425363:return this.g.loadAtomDataTolerance;case 570425364:return this.g.minBondDistance;case 1275072532:return this.g.modulationScale;
case 570425370:return this.g.multipleBondSpacing;case 570425369:return this.g.multipleBondRadiusFactor;case 570425374:return this.g.navigationSpeed;case 570425382:return this.g.pointGroupDistanceTolerance;case 570425384:return this.g.pointGroupLinearTolerance;case 570425388:return this.tm.modelRadius;case 570425392:return this.g.sheetSmoothing;case 570425394:return this.g.solventProbeRadius;case 570425403:return this.g.starWidth;case 570425406:return this.g.strutDefaultRadius;case 570425408:return this.g.strutLengthMaximum;
case 1648361473:return this.g.vectorScale;case 570425412:return this.g.vibrationPeriod}JU.Logger.error("viewer.getFloat("+JS.T.nameOf(a)+") - not listed");return 0},"~N");e(c$,"setStringProperty",function(a,b){if(!(null==b||null==a||0==a.length))if("_"==a.charAt(0))this.g.setO(a,b);else{var d=JS.T.getTokFromName(a);switch(JS.T.getParamType(d)){case 603979776:this.setBooleanPropertyTok(a,d,JS.SV.newV(4,b).asBoolean());break;case 553648128:this.setIntPropertyTok(a,d,JS.SV.newV(4,b).asInt());break;case 570425344:this.setFloatPropertyTok(a,
d,JU.PT.parseFloat(b));break;default:this.setStringPropertyTok(a,d,b)}}},"~S,~S");b(c$,"setStringPropertyTok",function(a,b,d){switch(b){case 545259556:this.g.edsUrlCutoff=d;break;case 545259557:this.g.edsUrlFormat=d;break;case 545259558:this.g.edsUrlFormatDiff=d;break;case 545259521:this.setAnimationMode(d);return;case 545259569:this.g.nmrPredictFormat=d;break;case 545259548:this.g.defaultDropScript=d;break;case 545259571:d=this.fm.setPathForAllFiles(d);break;case 545259559:this.setUnits(d,!1);return;
case 545259561:this.g.forceField=d="UFF".equalsIgnoreCase(d)?"UFF":"MMFF";this.minimizer=null;break;case 545259570:this.g.nmrUrlFormat=d;break;case 545259568:this.setUnits(d,!0);return;case 545259566:this.g.loadLigandFormat=d;break;case 545259543:this.g.defaultLabelPDB=d;break;case 545259544:this.g.defaultLabelXYZ=d;break;case 545259549:this.g.defaultLoadFilter=d;break;case 545259567:d=this.getOutputManager().setLogFile(d);if(null==d)return;break;case 545259560:break;case 545259524:this.g.atomTypes=
d;break;case 545259538:break;case 545259576:this.g.pickLabel=d;break;case 545259580:this.g.quaternionFrame=2==d.length&&d.startsWith("R")?d.substring(0,2):""+(d.toLowerCase()+"p").charAt(0);JU.PT.isOneOf(this.g.quaternionFrame,"RC;RP;a;b;c;n;p;q;x;")||(this.g.quaternionFrame="p");this.ms.haveStraightness=!1;break;case 545259555:this.setVdwStr(d);return;case 545259564:new J.i18n.GT(this,d);b=J.i18n.GT.getLanguage();this.modelkitPopup=null;null!=this.jmolpopup&&(this.jmolpopup.jpiDispose(),this.jmolpopup=
null,this.getPopupMenu());this.sm.setCallbackFunction("language",b);d=J.i18n.GT.getLanguage();break;case 545259565:this.g.loadFormat=d;break;case 545259534:this.setObjectColor("background",d);return;case 545259528:this.setObjectColor("axis1",d);return;case 545259530:this.setObjectColor("axis2",d);return;case 545259532:this.setObjectColor("axis3",d);return;case 545259536:this.setObjectColor("boundbox",d);return;case 545259586:this.setObjectColor("unitcell",d);return;case 545259578:this.setPropertyColorScheme(d,
!1,!1);break;case 545259563:this.shm.loadShape(35);this.setShapeProperty(35,"atomLabel",d);break;case 545259547:this.g.defaultDistanceLabel=d;break;case 545259542:this.g.defaultAngleLabel=d;break;case 545259554:this.g.defaultTorsionLabel=d;break;case 545259550:this.g.defaultLoadScript=d;break;case 545259522:this.fm.setAppletProxy(d);break;case 545259546:null==d&&(d="");d=d.$replace("\\","/");this.g.defaultDirectory=d;break;case 545259562:this.g.helpPath=d;break;case 545259552:!d.equalsIgnoreCase("RasMol")&&
!d.equalsIgnoreCase("PyMOL")&&(d="Jmol");this.setDefaultsType(d);break;case 545259545:this.setDefaultColors(d.equalsIgnoreCase("rasmol"));return;case 545259572:this.setPickingMode(d,0);return;case 545259574:this.setPickingStyle(d,0);return;case 545259540:break;default:if(a.toLowerCase().endsWith("callback")){this.sm.setCallbackFunction(a,0==d.length||d.equalsIgnoreCase("none")?null:d);break}if(!this.g.htNonbooleanParameterValues.containsKey(a.toLowerCase())){this.g.setUserVariable(a,JS.SV.newV(4,
d));return}}this.g.setO(a,d)},"~S,~N,~S");e(c$,"setFloatProperty",function(a,b){if(!Float.isNaN(b)&&!(null==a||0==a.length))if("_"==a.charAt(0))this.g.setF(a,b);else{var d=JS.T.getTokFromName(a);switch(JS.T.getParamType(d)){case 545259520:this.setStringPropertyTok(a,d,""+b);break;case 603979776:this.setBooleanPropertyTok(a,d,0!=b);break;case 553648128:this.setIntPropertyTok(a,d,A(b));break;default:this.setFloatPropertyTok(a,d,b)}}},"~S,~N");b(c$,"setFloatPropertyTok",function(a,b,d){switch(b){case 570425366:this.ms.setModulation(null,
!1,null,!1);this.g.modulationScale=d=Math.max(0.1,d);this.ms.setModulation(null,!0,null,!1);break;case 570425381:this.g.particleRadius=Math.abs(d);break;case 570425356:this.g.drawFontSize=d;break;case 570425358:this.g.exportScale=d;break;case 570425403:this.g.starWidth=d;break;case 570425369:this.g.multipleBondRadiusFactor=d;break;case 570425370:this.g.multipleBondSpacing=d;break;case 570425393:this.tm.setSlabRange(d);break;case 570425365:this.g.minimizationCriterion=d;break;case 570425359:this.haveDisplay&&
this.acm.setGestureSwipeFactor(d);break;case 570425367:this.haveDisplay&&this.acm.setMouseDragFactor(d);break;case 570425368:this.haveDisplay&&this.acm.setMouseWheelFactor(d);break;case 570425408:this.g.strutLengthMaximum=d;break;case 570425406:this.g.strutDefaultRadius=d;break;case 570425376:this.setSpin("X",A(d));break;case 570425378:this.setSpin("Y",A(d));break;case 570425380:this.setSpin("Z",A(d));break;case 570425371:if(Float.isNaN(d))return;this.setSpin("FPS",A(d));break;case 570425363:this.g.loadAtomDataTolerance=
d;break;case 570425360:this.g.hbondsAngleMinimum=d;break;case 570425361:this.g.hbondsDistanceMaximum=d;break;case 570425382:this.g.pointGroupDistanceTolerance=d;break;case 570425384:this.g.pointGroupLinearTolerance=d;break;case 570425357:this.g.ellipsoidAxisDiameter=d;break;case 570425398:this.setSpin("x",A(d));break;case 570425400:this.setSpin("y",A(d));break;case 570425402:this.setSpin("z",A(d));break;case 570425396:this.setSpin("fps",A(d));break;case 570425352:this.g.defaultDrawArrowScale=d;break;
case 570425354:this.g.defaultTranslucent=d;break;case 570425346:this.setAxesScale(d);break;case 570425416:this.tm.visualRangeAngstroms=d;this.refresh(1,"set visualRange");break;case 570425372:this.setNavigationDepthPercent(d);break;case 570425374:this.g.navigationSpeed=d;break;case 570425373:this.tm.setNavigationSlabOffsetPercent(d);break;case 570425350:this.tm.setCameraDepthPercent(d,!1);this.refresh(1,"set cameraDepth");return;case 570425388:this.setRotationRadius(d,!0);return;case 570425362:this.g.hoverDelayMs=
A(1E3*d);break;case 570425392:this.g.sheetSmoothing=d;break;case 570425355:d=JV.Viewer.checkFloatRange(d,-10,10);this.g.dipoleScale=d;break;case 570425404:this.tm.setStereoDegrees(d);break;case 1648361473:this.setVectorScale(d);return;case 570425412:this.setVibrationPeriod(d);return;case 570425414:this.setVibrationScale(d);return;case 570425348:this.setBondTolerance(d);return;case 570425364:this.setMinBondDistance(d);return;case 570425390:this.tm.setScaleAngstromsPerInch(d);break;case 570425394:d=
JV.Viewer.checkFloatRange(d,0,10);this.g.solventProbeRadius=d;break;default:if(!this.g.htNonbooleanParameterValues.containsKey(a.toLowerCase())){this.g.setUserVariable(a,JS.SV.newV(3,Float.$valueOf(d)));return}}this.g.setF(a,d)},"~S,~N,~N");e(c$,"setIntProperty",function(a,b){if(!(-2147483648==b||null==a||0==a.length))if("_"==a.charAt(0))this.g.setI(a,b);else{var d=JS.T.getTokFromName(a);switch(JS.T.getParamType(d)){case 545259520:this.setStringPropertyTok(a,d,""+b);break;case 603979776:this.setBooleanPropertyTok(a,
d,0!=b);break;case 570425344:this.setFloatPropertyTok(a,d,b);break;default:this.setIntPropertyTok(a,d,b)}}},"~S,~N");b(c$,"setIntPropertyTok",function(a,b,d){switch(b){case 553648167:case 553648148:case 553648168:d=this.eval.setStatic(b,d);break;case 553648138:d=0==d?0:1;this.g.bondingVersion=JU.Elements.bondingVersion=d;break;case 553648137:this.gdata.setCelPower(d);break;case 553648129:this.gdata.setAmbientOcclusion(d);break;case 553648158:this.g.platformSpeed=Math.min(Math.max(d,0),10);break;case 553648151:this.g.meshScale=
d;break;case 553648153:this.g.minPixelSelRadius=d;break;case 553648149:this.g.isosurfacePropertySmoothingPower=d;break;case 553648165:this.g.repaintWaitMs=d;break;case 553648170:this.g.smallMoleculeMaxAtoms=d;break;case 553648152:this.g.minimizationSteps=d;break;case 553648184:this.g.strutSpacing=d;break;case 553648156:d=JV.Viewer.checkIntRange(d,0,1E3);this.gdata.setPhongExponent(d);break;case 553648146:this.g.helixStep=d;this.ms.haveStraightness=!1;break;case 553648144:this.g.dotScale=d;break;case 553648143:this.g.dotDensity=
d;break;case 553648140:this.g.delayMaximumMs=d;break;case 553648150:JU.Logger.setLogLevel(d);JU.Logger.info("logging level set to "+d);this.g.setI("logLevel",d);null!=this.eval&&this.eval.setDebugging();return;case 553648134:this.setAxesMode(2==d?603979808:1==d?603979804:603979810);return;case 553648178:this.setStrandCount(0,d);return;case 553648182:this.setStrandCount(12,d);return;case 553648180:this.setStrandCount(13,d);return;case 553648155:return;case 536870922:this.g.scriptDelay=d;break;case 553648176:d=
0>d?JV.Viewer.checkIntRange(d,-10,-1):JV.Viewer.checkIntRange(d,0,100);this.gdata.setSpecularPower(d);break;case 553648172:d=JV.Viewer.checkIntRange(-d,-10,-1);this.gdata.setSpecularPower(d);break;case 553648136:this.setMarBond(d);return;case 536870924:this.setBooleanPropertyTok(a,b,1==d);return;case 553648174:d=JV.Viewer.checkIntRange(d,0,100);this.gdata.setSpecularPercent(d);break;case 553648142:d=JV.Viewer.checkIntRange(d,0,100);this.gdata.setDiffusePercent(d);break;case 553648130:d=JV.Viewer.checkIntRange(d,
0,100);this.gdata.setAmbientPercent(d);break;case 553648186:this.tm.zDepthToPercent(d);break;case 553648188:this.tm.zSlabToPercent(d);break;case 554176526:this.tm.depthToPercent(d);break;case 554176565:this.tm.slabToPercent(d);break;case 553648190:this.g.zShadePower=d=Math.max(d,0);break;case 553648166:this.g.ribbonAspectRatio=d;break;case 553648157:this.g.pickingSpinRate=1>d?1:d;break;case 553648132:this.setAnimationFps(d);return;case 553648154:this.setPercentVdwAtom(d);break;case 553648147:this.g.hermiteLevel=
d;break;case 553648145:case 553648160:case 553648159:case 553648162:case 553648164:break;default:if(!this.g.htNonbooleanParameterValues.containsKey(a)){this.g.setUserVariable(a,JS.SV.newI(d));return}}this.g.setI(a,d)},"~S,~N,~N");c$.checkIntRange=b(c$,"checkIntRange",function(a,b,d){return a<b?b:a>d?d:a},"~N,~N,~N");c$.checkFloatRange=b(c$,"checkFloatRange",function(a,b,d){return a<b?b:a>d?d:a},"~N,~N,~N");e(c$,"setBooleanProperty",function(a,b){if(!(null==a||0==a.length))if("_"==a.charAt(0))this.g.setB(a,
b);else{var d=JS.T.getTokFromName(a);switch(JS.T.getParamType(d)){case 545259520:this.setStringPropertyTok(a,d,"");break;case 553648128:this.setIntPropertyTok(a,d,b?1:0);break;case 570425344:this.setFloatPropertyTok(a,d,b?1:0);break;default:this.setBooleanPropertyTok(a,d,b)}}},"~S,~B");b(c$,"setBooleanPropertyTok",function(a,b,d){var e=!0;switch(b){case 603979886:this.g.multipleBondBananas=d;break;case 603979884:this.g.modulateOccupancy=d;break;case 603979875:this.g.legacyJavaFloat=d;break;case 603979927:this.g.showModVecs=
d;break;case 603979937:this.g.showUnitCellDetails=d;break;case 603979848:e=!1;break;case 603979972:this.g.vectorsCentered=d;break;case 603979811:this.g.backboneSteps=d;break;case 603979819:(this.g.cartoonRibose=d)&&this.getBoolean(603979816)&&this.setBooleanPropertyTok("cartoonBaseEdges",603979816,!1);break;case 603979837:this.g.ellipsoidArrows=d;break;case 603979967:this.g.translucent=d;break;case 603979818:this.g.cartoonLadders=d;break;case 603979968:b=this.g.twistedSheets;this.g.twistedSheets=
d;b!=d&&this.checkCoordinatesChanged();break;case 603979822:this.gdata.setCel(d);break;case 603979817:this.g.cartoonFancy=d;break;case 603979934:this.g.showTiming=d;break;case 603979973:this.g.vectorSymmetry=d;break;case 603979869:this.g.isosurfaceKey=d;break;case 603979891:this.g.partialDots=d;break;case 603979873:this.g.legacyAutoBonding=d;break;case 603979826:this.g.defaultStructureDSSP=d;break;case 603979834:this.g.dsspCalcHydrogen=d;break;case 603979782:(this.g.allowModelkit=d)||this.setModelKitMode(!1);
break;case 603979883:this.setModelKitMode(d);break;case 603979887:this.g.multiProcessor=d&&1<JV.Viewer.nProcessors;break;case 603979885:this.g.monitorEnergy=d;break;case 603979853:this.g.hbondsRasmol=d;break;case 603979881:this.g.minimizationRefresh=d;break;case 603979882:this.g.minimizationSilent=d;break;case 603979868:d&&(this.$isKiosk=!0,this.g.disablePopupMenu=!0,null!=this.display&&this.apiPlatform.setTransparentCursor(this.display));break;case 603979974:this.g.waitForMoveTo=d;break;case 603979876:this.g.logCommands=
!0;break;case 603979877:this.g.logGestures=!0;break;case 603979784:this.g.allowMultiTouch=d;break;case 603979896:this.g.preserveState=d;this.ms.setPreserveState(d);this.undoClear();break;case 603979955:this.g.strutsMultiple=d;break;case 603979842:break;case 603979939:this.g.slabByAtom=d;break;case 603979940:this.g.slabByMolecule=d;break;case 603979902:this.g.saveProteinStructureState=d;break;case 603979780:this.g.allowGestures=d;break;case 603979867:this.g.imageState=d;break;case 603979970:this.g.useMinimizationThread=
d;break;case 603979781:this.g.disablePopupMenu&&(d=!1);this.g.allowKeyStrokes=d;break;case 603979831:this.g.dragSelected=d;this.showSelected=!1;break;case 603979924:this.g.showKeyStrokes=d;break;case 603979844:this.g.fontCaching=d;break;case 603979796:this.g.atomPicking=d;break;case 603979814:this.highlight(null);this.g.bondPicking=d;break;case 603979906:this.g.selectAllModels=d;break;case 603979880:this.g.messageStyleChime=d;break;case 603979894:this.g.pdbSequential=d;break;case 603979892:this.g.pdbAddHydrogens=
d;break;case 603979893:this.g.pdbGetHeader=d;break;case 603979838:this.g.ellipsoidAxes=d;break;case 603979836:this.g.ellipsoidArcs=d;break;case 603979839:this.g.ellipsoidBall=d;break;case 603979840:this.g.ellipsoidDots=d;break;case 603979841:this.g.ellipsoidFill=d;break;case 603979845:this.g.fontScaling=d;break;case 603979956:this.setSyncTarget(0,d);break;case 603979958:this.setSyncTarget(1,d);break;case 603979976:this.g.wireframeRotation=d;break;case 603979870:this.g.isosurfacePropertySmoothing=
d;break;case 603979833:this.g.drawPicking=d;break;case 603979786:case 603979790:case 603979788:this.setAntialias(b,d);break;case 603979944:this.g.smartAromatic=d;break;case 603979794:this.setApplySymmetryToBonds(d);break;case 603979792:this.g.appendNew=d;break;case 603979800:this.g.autoFps=d;break;case 603979971:JU.DF.setUseNumberLocalization(this.g.useNumberLocalization=d);break;case 603979918:case 1611272202:a="showFrank";this.setFrankOn(d);break;case 1612709912:a="solventProbe";this.g.solventOn=
d;break;case 603979948:this.g.solventOn=d;break;case 603979785:this.g.allowRotateSelected=d;break;case 603979783:this.g.allowMoveAtoms=d;this.showSelected=!1;break;case 536870922:this.setIntPropertyTok("showScript",b,d?1:0);return;case 603979778:this.g.allowEmbeddedScripts=d;break;case 603979890:this.g.navigationPeriodic=d;break;case 603979984:this.tm.setZShadeEnabled(d);return;case 603979832:this.haveDisplay&&(this.g.drawHover=d);break;case 603979889:this.setNavigationMode(d);break;case 603979888:return;
case 603979860:this.g.hideNavigationPoint=d;break;case 603979930:this.g.showNavigationPointAlways=d;break;case 603979898:this.setRefreshing(d);break;case 603979871:this.g.justifyMeasurements=d;break;case 603979952:this.g.ssbondsBackbone=d;break;case 603979852:this.g.hbondsBackbone=d;break;case 603979854:this.g.hbondsSolid=d;break;case 536870924:this.gdata.setSpecular(d);break;case 603979942:this.tm.setSlabEnabled(d);return;case 603979980:this.tm.setZoomEnabled(d);return;case 603979864:this.g.highResolutionFlag=
d;break;case 603979966:this.g.traceAlpha=d;break;case 603979983:this.g.zoomLarge=d;this.tm.setZoomHeight(this.g.zoomHeight,d);break;case 603979982:this.g.zoomHeight=d;this.tm.setZoomHeight(d,this.g.zoomLarge);break;case 603979872:J.i18n.GT.setDoTranslate(d);break;case 603979862:this.slm.setHideNotSelected(d);break;case 603979904:this.setScriptQueue(d);break;case 603979830:this.g.dotSurface=d;break;case 603979829:this.g.dotsSelectedOnly=d;break;case 1611141171:this.setSelectionHalosEnabled(d);break;
case 603979910:this.g.rasmolHydrogenSetting=d;break;case 603979908:this.g.rasmolHeteroSetting=d;break;case 603979928:this.g.showMultipleBonds=d;break;case 603979920:this.g.showHiddenSelectionHalos=d;break;case 603979975:this.tm.setWindowCentered(d);break;case 603979828:this.g.displayCellParameters=d;break;case 603979960:this.g.testFlag1=d;break;case 603979962:this.g.testFlag2=d;break;case 603979964:this.g.testFlag3=d;break;case 603979965:this.jmolTest();this.g.testFlag4=d;break;case 603979899:this.g.ribbonBorder=
d;break;case 603979816:(this.g.cartoonBaseEdges=d)&&this.getBoolean(603979819)&&this.setBooleanPropertyTok("cartoonRibose",603979819,!1);break;case 603979820:this.g.cartoonRockets=d;break;case 603979900:this.g.rocketBarrels=d;break;case 603979850:this.gdata.setGreyscaleMode(this.g.greyscaleRendering=d);break;case 603979879:this.g.measurementLabels=d;break;case 603979810:case 603979804:case 603979808:this.setAxesMode(b);return;case 603979806:this.setAxesOrientationRasmol(d);return;case 603979824:this.setStringPropertyTok("defaultcolorscheme",
545259545,d?"rasmol":"jmol");return;case 603979825:this.setDebugScript(d);return;case 603979895:this.setPerspectiveDepth(d);return;case 603979798:this.setAutoBond(d);return;case 603979914:this.setShowAxes(d);return;case 603979916:this.setShowBbcage(d);return;case 603979922:this.setShowHydrogens(d);return;case 603979926:this.setShowMeasurements(d);return;case 603979936:this.setShowUnitCell(d);return;case 603979812:e=!1;this.g.bondModeOr=d;break;case 603979978:e=!1;this.g.zeroBasedXyzRasmol=d;this.reset(!0);
break;case 603979897:e=!1;this.g.rangeSelected=d;break;case 603979878:e=!1;this.g.measureAllModels=d;break;case 603979954:e=!1;this.sm.allowStatusReporting=d;break;case 603979823:e=!1;this.g.chainCaseSensitive=d;break;case 603979858:e=!1;this.g.hideNameInPopup=d;break;case 603979827:e=!1;this.g.disablePopupMenu=d;break;case 603979846:e=!1;this.g.forceAutoBond=d;break;default:if(!this.g.htBooleanParameterFlags.containsKey(a.toLowerCase())){this.g.setUserVariable(a,JS.SV.getBoolean(d));return}}this.g.setB(a,
d);e&&this.setTainted(!0)},"~S,~N,~B");b(c$,"setModelKitMode",function(a){if(null!=this.acm&&this.allowScripting){if(a||this.g.modelKitMode)this.setPickingMode(null,a?33:1),this.setPickingMode(null,a?32:1);var b=this.g.modelKitMode!=a;this.g.modelKitMode=a;this.highlight(null);a?(this.setNavigationMode(!1),this.selectAll(),this.setAtomPickingOption("C"),this.setBondPickingOption("p"),this.isApplet||this.popupMenu(0,0,"m"),b&&this.sm.setCallbackFunction("modelkit","ON"),this.g.modelKitMode=!0,0==this.ms.ac&&
this.zap(!1,!0,!0)):(this.acm.setPickingMode(-1),this.setStringProperty("pickingStyle","toggle"),this.setBooleanProperty("bondPicking",!1),b&&this.sm.setCallbackFunction("modelkit","OFF"))}},"~B");b(c$,"setSmilesString",function(a){null==a?this.g.removeParam("_smilesString"):this.g.setO("_smilesString",a)},"~S");b(c$,"removeUserVariable",function(a){this.g.removeUserVariable(a);a.endsWith("callback")&&this.sm.setCallbackFunction(a,null)},"~S");b(c$,"jmolTest",function(){});b(c$,"showParameter",function(a,
b,d){d=""+this.g.getParameterEscaped(a,d);(b||0>d.indexOf("<not defined>"))&&this.showString(a+" = "+d,!1)},"~S,~B,~N");b(c$,"showString",function(a,b){!this.isJS&&(this.isScriptQueued()&&(!this.isSilent||b)&&!"\x00".equals(a))&&JU.Logger.warn(a);this.scriptEcho(a)},"~S,~B");b(c$,"getAllSettings",function(a){return this.getStateCreator().getAllSettings(a)},"~S");b(c$,"getBindingInfo",function(a){return this.haveDisplay?this.acm.getBindingInfo(a):""},"~S");b(c$,"getIsosurfacePropertySmoothing",function(a){return a?
this.g.isosurfacePropertySmoothingPower:this.g.isosurfacePropertySmoothing?1:0},"~B");b(c$,"setNavigationDepthPercent",function(a){this.tm.setNavigationDepthPercent(a);this.refresh(1,"set navigationDepth")},"~N");b(c$,"getShowNavigationPoint",function(){return!this.g.navigationMode?!1:this.tm.isNavigating()&&!this.g.hideNavigationPoint||this.g.showNavigationPointAlways||this.getInMotion(!0)});b(c$,"getCurrentSolventProbeRadius",function(){return this.g.solventOn?this.g.solventProbeRadius:0});b(c$,
"getTestFlag",function(a){switch(a){case 1:return this.g.testFlag1;case 2:return this.g.testFlag2;case 3:return this.g.testFlag3;case 4:return this.g.testFlag4}return!1},"~N");e(c$,"setPerspectiveDepth",function(a){this.tm.setPerspectiveDepth(a)},"~B");e(c$,"setAxesOrientationRasmol",function(a){this.g.setB("axesOrientationRasmol",a);this.g.axesOrientationRasmol=a;this.reset(!0)},"~B");b(c$,"setAxesScale",function(a){a=JV.Viewer.checkFloatRange(a,-100,100);this.g.axesScale=a;this.axesAreTainted=!0},
"~N");b(c$,"getAxisPoints",function(){this.shm.loadShape(34);return 0==this.getObjectMad(1)||603979808!=this.g.axesMode||this.getShapeProperty(34,"axesTypeXY").booleanValue()||null!=this.getShapeProperty(34,"origin")?null:this.getShapeProperty(34,"axisPoints")});b(c$,"setAxesMode",function(a){this.g.axesMode=a;this.axesAreTainted=!0;switch(a){case 603979808:this.g.removeParam("axesmolecular");this.g.removeParam("axeswindow");this.g.setB("axesUnitcell",!0);a=2;break;case 603979804:this.g.removeParam("axesunitcell");
this.g.removeParam("axeswindow");this.g.setB("axesMolecular",!0);a=1;break;case 603979810:this.g.removeParam("axesunitcell"),this.g.removeParam("axesmolecular"),this.g.setB("axesWindow",!0),a=0}this.g.setI("axesMode",a)},"~N");b(c$,"getSelectionHalosEnabled",function(){return this.selectionHalosEnabled});b(c$,"setSelectionHalosEnabled",function(a){this.selectionHalosEnabled!=a&&(this.g.setB("selectionHalos",a),this.shm.loadShape(8),this.selectionHalosEnabled=a)},"~B");b(c$,"getShowSelectedOnce",function(){var a=
this.showSelected;this.showSelected=!1;return a});b(c$,"setStrandCount",function(a,b){b=JV.Viewer.checkIntRange(b,0,20);switch(a){case 12:this.g.strandCountForStrands=b;break;case 13:this.g.strandCountForMeshRibbon=b;break;default:this.g.strandCountForStrands=b,this.g.strandCountForMeshRibbon=b}this.g.setI("strandCount",b);this.g.setI("strandCountForStrands",this.g.strandCountForStrands);this.g.setI("strandCountForMeshRibbon",this.g.strandCountForMeshRibbon)},"~N,~N");b(c$,"getStrandCount",function(a){return 12==
a?this.g.strandCountForStrands:this.g.strandCountForMeshRibbon},"~N");b(c$,"setNavigationMode",function(a){this.g.navigationMode=a;this.tm.setNavigationMode(a)},"~B");e(c$,"setAutoBond",function(a){this.g.setB("autobond",a);this.g.autoBond=a},"~B");b(c$,"makeConnections",function(a,b,d,e,f,g,h,k,l,n){this.clearModelDependentObjects();this.clearMinimization();return this.ms.makeConnections(a,b,d,e,f,g,h,k,l,n)},"~N,~N,~N,~N,JU.BS,JU.BS,JU.BS,~B,~B,~N");e(c$,"rebond",function(){this.rebondState(!1)});
b(c$,"rebondState",function(a){this.clearModelDependentObjects();this.ms.deleteAllBonds();a=a&&this.g.legacyAutoBonding;this.ms.autoBondBs4(null,null,null,null,this.getMadBond(),a);this.addStateScript(a?"set legacyAutoBonding TRUE;connect;set legacyAutoBonding FALSE;":"connect;",!1,!0)},"~B");e(c$,"setPercentVdwAtom",function(a){this.g.setI("percentVdwAtom",a);this.g.percentVdwAtom=a;this.rd.value=a/100;this.rd.factorType=J.atomdata.RadiusData.EnumType.FACTOR;this.rd.vdwType=J.c.VDW.AUTO;this.shm.setShapeSizeBs(0,
0,this.rd,null)},"~N");e(c$,"getMadBond",function(){return 2*this.g.bondRadiusMilliAngstroms});e(c$,"setShowHydrogens",function(a){this.g.setB("showHydrogens",a);this.g.showHydrogens=a},"~B");b(c$,"setShowBbcage",function(a){this.setObjectMad(32,"boundbox",a?-4:0);this.g.setB("showBoundBox",a)},"~B");b(c$,"getShowBbcage",function(){return 0!=this.getObjectMad(4)});b(c$,"setShowUnitCell",function(a){this.setObjectMad(33,"unitcell",a?-2:0);this.g.setB("showUnitCell",a)},"~B");b(c$,"getShowUnitCell",
function(){return 0!=this.getObjectMad(5)});b(c$,"setShowAxes",function(a){this.setObjectMad(34,"axes",a?-2:0);this.g.setB("showAxes",a)},"~B");b(c$,"getShowAxes",function(){return 0!=this.getObjectMad(1)});e(c$,"setFrankOn",function(a){this.isPreviewOnly&&(a=!1);this.frankOn=a;this.setObjectMad(36,"frank",a?1:0)},"~B");b(c$,"getShowFrank",function(){return this.isPreviewOnly||this.isApplet&&this.creatingImage?!1:this.isSignedApplet&&!this.isSignedAppletLocal&&!this.isJS||this.frankOn});e(c$,"setShowMeasurements",
function(a){this.g.setB("showMeasurements",a);this.g.showMeasurements=a},"~B");b(c$,"setUnits",function(a,b){this.g.setUnits(a);b&&(this.g.setUnits(a),this.setShapeProperty(6,"reformatDistances",null))},"~S,~B");e(c$,"setRasmolDefaults",function(){this.setDefaultsType("RasMol")});e(c$,"setJmolDefaults",function(){this.setDefaultsType("Jmol")});b(c$,"setDefaultsType",function(a){a.equalsIgnoreCase("RasMol")?this.stm.setRasMolDefaults():a.equalsIgnoreCase("PyMOL")?this.stm.setPyMOLDefaults():(this.stm.setJmolDefaults(),
this.setIntProperty("bondingVersion",0),this.shm.setShapeSizeBs(0,0,this.rd,this.getAllAtoms()))},"~S");b(c$,"setAntialias",function(a,b){switch(a){case 603979786:this.g.antialiasDisplay=b;break;case 603979790:this.g.antialiasTranslucent=b;break;case 603979788:this.g.antialiasImages=b;return}this.resizeImage(0,0,!1,!1,!0)},"~N,~B");b(c$,"allocTempPoints",function(a){return this.tempArray.allocTempPoints(a)},"~N");b(c$,"freeTempPoints",function(a){this.tempArray.freeTempPoints(a)},"~A");b(c$,"allocTempScreens",
function(a){return this.tempArray.allocTempScreens(a)},"~N");b(c$,"freeTempScreens",function(a){this.tempArray.freeTempScreens(a)},"~A");b(c$,"allocTempEnum",function(a){return this.tempArray.allocTempEnum(a)},"~N");b(c$,"freeTempEnum",function(a){this.tempArray.freeTempEnum(a)},"~A");b(c$,"getFont3D",function(a,b,d){return this.gdata.getFont3DFSS(a,b,d)},"~S,~S,~N");b(c$,"getAtomGroupQuaternions",function(a,b){return this.ms.getAtomGroupQuaternions(a,b,this.getQuaternionFrame())},"JU.BS,~N");b(c$,
"setStereoMode",function(a,b,d){this.setFloatProperty("stereoDegrees",d);this.setBooleanProperty("greyscaleRendering",b.isBiColor());null!=a?this.tm.setStereoMode2(a):this.tm.setStereoMode(b)},"~A,J.c.STER,~N");b(c$,"getChimeInfo",function(a){return this.getPropertyManager().getChimeInfo(a,this.bsA())},"~N");b(c$,"getModelFileInfo",function(){return this.getPropertyManager().getModelFileInfo(this.getVisibleFramesBitSet())});b(c$,"getModelFileInfoAll",function(){return this.getPropertyManager().getModelFileInfo(null)});
e(c$,"getProperty",function(a,b,d){if(!"DATA_API".equals(a))return this.getPropertyManager().getProperty(a,b,d);switch("scriptCheck.........consoleText.........scriptEditor........scriptEditorState...getAppConsole.......getScriptEditor.....setMenu.............spaceGroupInfo......disablePopupMenu....defaultDirectory....getPopupMenu........shapeManager........getPreference.......".indexOf(b)){case 0:return this.scriptCheckRet(d,!0);case 20:return null==this.appConsole?"":this.appConsole.getText();case 40:return this.showEditor(d),
null;case 60:return this.scriptEditorVisible=d.booleanValue(),null;case 80:return this.$isKiosk?this.appConsole=null:p(d,J.api.JmolAppConsoleInterface)?this.appConsole=d:null!=d&&!d.booleanValue()?this.appConsole=null:null==this.appConsole&&(null!=d&&d.booleanValue())&&(this.isJS&&(this.appConsole=J.api.Interface.getOption("consolejs.AppletConsole",this,"script")),null!=this.appConsole&&this.appConsole.start(this)),this.scriptEditor=this.isJS||null==this.appConsole?null:this.appConsole.getScriptEditor(),
this.appConsole;case 100:return null==this.appConsole&&(null!=d&&d.booleanValue())&&(this.getProperty("DATA_API","getAppConsole",Boolean.TRUE),this.scriptEditor=null==this.appConsole?null:this.appConsole.getScriptEditor()),this.scriptEditor;case 120:return null!=this.jmolpopup&&this.jmolpopup.jpiDispose(),this.jmolpopup=null,this.menuStructure=d;case 140:return this.ms.getSymTemp(!0).getSpaceGroupInfo(this.ms,null);case 160:return this.g.disablePopupMenu=!0,null;case 180:return this.g.defaultDirectory;
case 200:return p(d,String)?this.getMenu(d):this.getPopupMenu();case 220:return this.shm.getProperty(d);case 240:return this.sm.syncSend("getPreference",d,1)}JU.Logger.error("ERROR in getProperty DATA_API: "+b);return null},"~S,~S,~O");b(c$,"showEditor",function(a){var b=this.getProperty("DATA_API","getScriptEditor",Boolean.TRUE);null!=b&&b.show(a)},"~A");b(c$,"getPropertyManager",function(){null==this.pm&&(this.pm=J.api.Interface.getInterface("JV.PropertyManager",this,"prop")).setViewer(this);return this.pm});
b(c$,"setTainted",function(a){this.isTainted=this.axesAreTainted=a&&(this.refreshing||this.creatingImage)},"~B");b(c$,"notifyMouseClicked",function(a,b,d,e){var f=JV.binding.Binding.getButtonMods(d),g=JV.binding.Binding.getClickCount(d);this.g.setI("_mouseX",a);this.g.setI("_mouseY",this.dimScreen.height-b);this.g.setI("_mouseAction",d);this.g.setI("_mouseModifiers",f);this.g.setI("_clickCount",g);return this.sm.setStatusClicked(a,this.dimScreen.height-b,d,g,e)},"~N,~N,~N,~N");b(c$,"checkObjectClicked",
function(a,b,d){return this.shm.checkObjectClicked(a,b,d,this.getVisibleFramesBitSet(),this.g.drawPicking)},"~N,~N,~N");b(c$,"checkObjectHovered",function(a,b){return 0<=a&&null!=this.shm&&this.shm.checkObjectHovered(a,b,this.getVisibleFramesBitSet(),this.getBondPicking())},"~N,~N");b(c$,"checkObjectDragged",function(a,b,d,e,f){var g=0;switch(this.getPickingMode()){case 2:g=5;break;case 4:g=22}this.shm.checkObjectDragged(a,b,d,e,f,this.getVisibleFramesBitSet(),g)&&(this.refresh(1,"checkObjectDragged"),
22==g&&this.scriptEcho(this.getShapeProperty(22,"command")))},"~N,~N,~N,~N,~N");b(c$,"rotateAxisAngleAtCenter",function(a,b,d,e,f,g,h){(a=this.tm.rotateAxisAngleAtCenter(a,b,d,e,f,g,h))&&this.setSync();return a},"J.api.JmolScriptEvaluator,JU.P3,JU.V3,~N,~N,~B,JU.BS");b(c$,"rotateAboutPointsInternal",function(a,b,d,e,f,g,h,k,l,n,p){if(this.headless){if(g&&3.4028235E38==f)return!1;g=!1}(a=this.tm.rotateAboutPointsInternal(a,b,d,e,f,!1,g,h,!1,k,l,n,p))&&this.setSync();return a},"J.api.JmolScriptEvaluator,JU.P3,JU.P3,~N,~N,~B,JU.BS,JU.V3,JU.Lst,~A,JU.M4");
b(c$,"startSpinningAxis",function(a,b,d){this.tm.spinOn||this.tm.navOn?(this.tm.setSpinOff(),this.tm.setNavOn(!1)):this.tm.rotateAboutPointsInternal(null,a,b,this.g.pickingSpinRate,3.4028235E38,d,!0,null,!1,null,null,null,null)},"JU.T3,JU.T3,~B");b(c$,"getModelDipole",function(){return this.ms.getModelDipole(this.am.cmi)});b(c$,"calculateMolecularDipole",function(a){return this.ms.calculateMolecularDipole(this.am.cmi,a)},"JU.BS");b(c$,"setDefaultLattice",function(a){Float.isNaN(a.x+a.y+a.z)||this.g.ptDefaultLattice.setT(a);
this.g.setO("defaultLattice",JU.Escape.eP(a))},"JU.P3");b(c$,"getDefaultLattice",function(){return this.g.ptDefaultLattice});b(c$,"getModelExtract",function(a,b,d,e){return this.getPropertyManager().getModelExtract(this.getAtomBitSet(a),b,d,e,!1)},"~O,~B,~B,~S");e(c$,"getData",function(a,b){return this.getModelFileData(a,b,!0)},"~S,~S");b(c$,"getModelFileData",function(a,b,d){return this.getPropertyManager().getAtomData(a,b,d)},"~S,~S,~B");b(c$,"getModelCml",function(a,b,d,e){return this.getPropertyManager().getModelCml(a,
b,d,e,!1)},"JU.BS,~N,~B,~B");b(c$,"getPdbAtomData",function(a,b,d,e){return this.getPropertyManager().getPdbAtomData(null==a?this.bsA():a,b,d,e,!1)},"JU.BS,JU.OC,~B,~B");b(c$,"isJmolDataFrame",function(){return this.ms.isJmolDataFrameForModel(this.am.cmi)});b(c$,"setFrameTitle",function(a,b){this.ms.setFrameTitle(JU.BSUtil.newAndSetBit(a),b)},"~N,~S");b(c$,"setFrameTitleObj",function(a){this.shm.loadShape(31);this.ms.setFrameTitle(this.getVisibleFramesBitSet(),a)},"~O");b(c$,"getFrameTitle",function(){return this.ms.getFrameTitle(this.am.cmi)});
b(c$,"setAtomProperty",function(a,b,d,e,f,g,h){1648363544==b&&this.shm.deleteVdwDependentShapes(a);this.clearMinimization();this.ms.setAtomProperty(a,b,d,e,f,g,h);switch(b){case 1111492609:case 1111492610:case 1111492611:case 1111492612:case 1111492613:case 1111492614:case 1111490577:case 1111490578:case 1111490579:case 1086326789:this.refreshMeasures(!0)}},"JU.BS,~N,~N,~N,~S,~A,~A");b(c$,"checkCoordinatesChanged",function(){this.ms.recalculatePositionDependentQuantities(null,null);this.refreshMeasures(!0)});
b(c$,"setAtomCoords",function(a,b,d){0!=a.cardinality()&&(this.ms.setAtomCoords(a,b,d),this.checkMinimization(),this.sm.setStatusAtomMoved(a))},"JU.BS,~N,~O");b(c$,"setAtomCoordsRelative",function(a,b){null==b&&(b=this.bsA());0!=b.cardinality()&&(this.ms.setAtomCoordsRelative(a,b),this.checkMinimization(),this.sm.setStatusAtomMoved(b))},"JU.T3,JU.BS");b(c$,"invertAtomCoordPt",function(a,b){this.ms.invertSelected(a,null,-1,null,b);this.checkMinimization();this.sm.setStatusAtomMoved(b)},"JU.P3,JU.BS");
b(c$,"invertAtomCoordPlane",function(a,b){this.ms.invertSelected(null,a,-1,null,b);this.checkMinimization();this.sm.setStatusAtomMoved(b)},"JU.P4,JU.BS");b(c$,"invertSelected",function(a,b,d,e){var f=this.bsA();0!=f.cardinality()&&(this.ms.invertSelected(a,b,d,e,f),this.checkMinimization(),this.sm.setStatusAtomMoved(f))},"JU.P3,JU.P4,~N,JU.BS");b(c$,"moveAtoms",function(a,b,d,e,f,g,h,k){0!=h.cardinality()&&(this.ms.moveAtoms(a,b,d,e,h,f,g,k),this.checkMinimization(),this.sm.setStatusAtomMoved(h))},
"JU.M4,JU.M3,JU.M3,JU.V3,JU.P3,~B,JU.BS,~B");b(c$,"moveSelected",function(a,b,d,e,f,g,h,k){0!=d&&(-2147483648==e&&(this.rotateBondIndex=-1),this.isJmolDataFrame()||(-2147483648==a?(this.showSelected=!0,this.movableBitSet=this.setMovableBitSet(null,!k),this.shm.loadShape(8),this.refresh(6,"moveSelected")):2147483647==a?this.showSelected&&(this.showSelected=!1,this.movableBitSet=null,this.refresh(6,"moveSelected")):this.movingSelected||(this.movingSelected=!0,this.stopMinimization(),0<=this.rotateBondIndex&&
-2147483648!=e?this.actionRotateBond(a,b,e,f):(g=this.setMovableBitSet(g,!k),0!=g.cardinality()&&(h?(e=this.ms.getAtomSetCenter(g),this.tm.finalizeTransformParameters(),f=this.g.antialiasDisplay?2:1,h=this.tm.transformPt(e),a=-2147483648!=d?JU.P3.new3(h.x,h.y,h.z+d+0.5):JU.P3.new3(h.x+a*f+0.5,h.y+b*f+0.5,h.z),b=new JU.P3,this.tm.unTransformPoint(a,b),b.sub(e),this.setAtomCoordsRelative(b,g)):this.tm.rotateXYBy(a,b,g))),this.refresh(2,""),this.movingSelected=!1)))},"~N,~N,~N,~N,~N,JU.BS,~B,~B");b(c$,
"highlightBond",function(a,b){if(!b||this.hoverEnabled){var d=null;if(0<=a){var e=this.ms.bo[a],d=e.atom2.i;if(!this.ms.isAtomAssignable(d))return;d=JU.BSUtil.newAndSetBit(d);d.set(e.atom1.i)}this.highlight(d);this.refresh(3,"highlightBond")}},"~N,~B");b(c$,"highlight",function(a){null!=a&&this.shm.loadShape(8);this.setShapeProperty(8,"highlight",a)},"JU.BS");b(c$,"setRotateBondIndex",function(a){if(0<=this.rotateBondIndex||!(0>a))this.rotatePrev1=-1,this.bsRotateBranch=null,-2147483648!=a&&(this.rotateBondIndex=
a,this.highlightBond(a,!1))},"~N");b(c$,"getRotateBondIndex",function(){return this.rotateBondIndex});b(c$,"actionRotateBond",function(a,b,d,e){if(!(0>this.rotateBondIndex)){var f=this.bsRotateBranch,g,h;if(null==f){h=this.ms.bo[this.rotateBondIndex];g=h.atom1;h=h.atom2;this.undoMoveActionClear(g.i,2,!0);d=JU.P3.new3(d,e,v((g.sZ+h.sZ)/2));this.tm.unTransformPoint(d,d);if(1==h.getCovalentBondCount()||d.distance(g)<d.distance(h)&&1!=g.getCovalentBondCount())e=g,g=h,h=e;if(90<JU.Measure.computeAngleABC(d,
g,h,!0)||90<JU.Measure.computeAngleABC(d,h,g,!0))f=this.getBranchBitSet(h.i,g.i,!0);if(null!=f){d=0;for(e=g.bonds.length;0<=--e;)if(f.get(g.getBondedAtomIndex(e))&&2==++d){f=null;break}}null==f&&(f=this.ms.getMoleculeBitSetForAtom(g.i));this.bsRotateBranch=f;this.rotatePrev1=g.i;this.rotatePrev2=h.i}else g=this.ms.at[this.rotatePrev1],h=this.ms.at[this.rotatePrev2];d=JU.V3.new3(h.sX-g.sX,h.sY-g.sY,0);a=JU.V3.new3(a,b,0);d.cross(d,a);a=(0<d.z?1:-1)*a.length();f=JU.BSUtil.copy(f);f.andNot(this.slm.getMotionFixedAtoms());
this.rotateAboutPointsInternal(this.eval,g,h,0,a,!1,f,null,null,null,null)}},"~N,~N,~N,~N");b(c$,"refreshMeasures",function(a){this.setShapeProperty(6,"refresh",null);a&&this.stopMinimization()},"~B");b(c$,"functionXY",function(a,b,d){var e=null;if(0==a.indexOf("file:"))e=this.getFileAsString3(a.substring(5),!1,null);else if(0!=a.indexOf("data2d_"))return this.sm.functionXY(a,b,d);b=Math.abs(b);d=Math.abs(d);if(null==e){a=this.getDataObj(a,null,2);if(null!=a)return a;e=""}a=G(b,d,0);var f=G(b*d,0);
JU.Parser.parseStringInfestedFloatArray(e,null,f);for(var g=e=0;e<b;e++)for(var h=0;h<d;h++)a[e][h]=f[g++];return a},"~S,~N,~N");b(c$,"functionXYZ",function(a,b,d,e){var f=null;if(0==a.indexOf("file:"))f=this.getFileAsString3(a.substring(5),!1,null);else if(0!=a.indexOf("data3d_"))return this.sm.functionXYZ(a,b,d,e);b=Math.abs(b);d=Math.abs(d);e=Math.abs(e);if(null==f){a=this.getDataObj(a,null,2);if(null!=a)return a;f=""}a=G(b,d,e,0);var g=G(b*d*e,0);JU.Parser.parseStringInfestedFloatArray(f,null,
g);for(var h=f=0;f<b;f++)for(var k=0;k<d;k++)for(var l=0;l<e;l++)a[f][k][l]=g[h++];return a},"~S,~N,~N,~N");e(c$,"extractMolData",function(a){if(null==a){a=this.am.cmi;if(0>a)return null;a=this.getModelNumberDotted(a)}return this.getModelExtract(a,!0,!1,"V2000")},"~S");b(c$,"getNMRPredict",function(a){var b=this.getModelExtract("selected",!0,!1,"V2000"),d=b.indexOf("\n"),b="Jmol "+JV.Viewer.version_date+b.substring(d);return a?(this.isApplet?this.showUrl(this.g.nmrUrlFormat+b):(this.syncScript("true",
"*",0),this.syncScript("H1Simulate:",".",0)),null):this.getFileAsString3(this.g.nmrPredictFormat+b,!1,null)},"~B");b(c$,"getHelp",function(a){0>this.g.helpPath.indexOf("?")?(0<a.length&&0!=a.indexOf("?")&&(a="?search="+JU.PT.rep(a," ","%20")),a+=(0==a.length?"?ver=":"&ver=")+JV.JC.version):a="&"+a;this.showUrl(this.g.helpPath+a)},"~S");b(c$,"getChemicalInfo",function(a,b){var d=null,e="/";switch(null==b?1073742035:b.tok){case 1073741977:e="I";break;case 1073741978:e="K";break;case 1073742159:e="T";
break;case 1073742160:e="S";break;case 1073742035:e="N";break;case 4120:e="2";break;default:if(d=JS.SV.sValue(b),d.equalsIgnoreCase("drawing")||d.equalsIgnoreCase("image"))e="2"}var f=this.setLoadFormat("_"+a,e,!1);if("2"==e)return this.fm.loadImage(f,"\u0001"+a,!1),f;"/"==e&&(f+=JU.PT.rep(d," ","%20"));return this.getFileAsString4(f,-1,!1,!1,!1,"file")},"~S,JS.T");b(c$,"addCommand",function(a){!this.autoExit&&(this.haveDisplay&&this.getPreserveState())&&this.commandHistory.addCommand(JU.PT.replaceAllCharacters(a,
"\r\n\t"," "))},"~S");b(c$,"removeCommand",function(){return this.commandHistory.removeCommand()});e(c$,"getSetHistory",function(a){return this.commandHistory.getSetHistory(a)},"~N");b(c$,"historyFind",function(a,b){return this.commandHistory.find(a,b)},"~S,~N");b(c$,"setHistory",function(a){this.commandHistory.getSetHistory(-2147483648);this.commandHistory.addCommand(this.getFileAsString4(a,-1,!1,!1,!0,null))},"~S");b(c$,"getOutputChannel",function(a,b){return this.getOutputManager().getOutputChannel(a,
b)},"~S,~A");e(c$,"writeTextFile",function(a,b){var d=new java.util.Hashtable;d.put("fileName",a);d.put("type","txt");d.put("text",b);this.outputToFile(d)},"~S,~S");e(c$,"clipImageOrPasteText",function(a){return!this.haveAccess(JV.Viewer.ACCESS.ALL)?"no":this.getOutputManager().clipImageOrPasteText(a)},"~S");e(c$,"getClipboardText",function(){if(!this.haveAccess(JV.Viewer.ACCESS.ALL))return"no";try{return this.getOutputManager().getClipboardText()}catch(a){if(C(a,Error))return J.i18n.GT._("clipboard is not accessible -- use signed applet");
throw a;}});b(c$,"processWriteOrCapture",function(a){return this.getOutputManager().processWriteOrCapture(a)},"java.util.Map");b(c$,"createZip",function(a,b,d){var e=d.get("data");d.put("fileName",a);d.put("type",b);d.put("text",this.getStateInfo());p(e,Array)?d.put("scripts",e):p(e,JU.Lst)&&d.put("imageData",e);return this.getOutputManager().outputToFile(d)},"~S,~S,java.util.Map");e(c$,"outputToFile",function(a){return this.getOutputManager().outputToFile(a)},"java.util.Map");b(c$,"getOutputManager",
function(){return null!=this.outputManager?this.outputManager:(this.outputManager=J.api.Interface.getInterface("JV.OutputManager"+(this.isJS?"JS":"Awt"),this,"file")).setViewer(this,this.privateKey)});b(c$,"setSyncTarget",function(a,b){switch(a){case 0:this.sm.syncingMouse=b;break;case 1:this.sm.syncingScripts=b;break;case 2:this.sm.syncSend(b?"GET_GRAPHICS":"SET_GRAPHICS_OFF","*",0);Float.isNaN(this.tm.stereoDegrees)&&this.setFloatProperty("stereoDegrees",-5);b&&(this.setBooleanProperty("_syncMouse",
!1),this.setBooleanProperty("_syncScript",!1));return}!this.sm.syncingScripts&&!this.sm.syncingMouse&&this.setSync()},"~N,~B");e(c$,"syncScript",function(a,b,d){this.getStateCreator().syncScript(a,b,d)},"~S,~S,~N");e(c$,"getModelIndexFromId",function(a){return this.ms.getModelIndexFromId(a)},"~S");b(c$,"setSyncDriver",function(a){this.sm.setSyncDriver(a)},"~N");b(c$,"getPartialCharges",function(){return this.ms.getPartialCharges()});b(c$,"setProteinType",function(a,b){this.ms.setProteinType(null==
b?this.bsA():b,a)},"J.c.STR,JU.BS");b(c$,"getVanderwaalsMar",function(a){return this.defaultVdw===J.c.VDW.USER?this.userVdwMars[a]:JU.Elements.getVanderwaalsMar(a,this.defaultVdw)},"~N");b(c$,"getVanderwaalsMarType",function(a,b){if(null==b)b=this.defaultVdw;else switch(b){case J.c.VDW.AUTO:case J.c.VDW.AUTO_BABEL:case J.c.VDW.AUTO_JMOL:case J.c.VDW.AUTO_RASMOL:this.defaultVdw!==J.c.VDW.AUTO&&(b=this.defaultVdw)}b===J.c.VDW.USER&&null==this.bsUserVdws&&(b=J.c.VDW.JMOL);return b===J.c.VDW.USER?this.userVdwMars[a&
127]:JU.Elements.getVanderwaalsMar(a,b)},"~N,J.c.VDW");b(c$,"setVdwStr",function(a){a=J.c.VDW.getVdwType(a);null==a&&(a=J.c.VDW.AUTO);switch(a){case J.c.VDW.JMOL:case J.c.VDW.BABEL:case J.c.VDW.RASMOL:case J.c.VDW.AUTO:case J.c.VDW.USER:break;default:a=J.c.VDW.JMOL}a!==this.defaultVdw&&(a===J.c.VDW.USER&&null==this.bsUserVdws)&&this.setUserVdw(this.defaultVdw);this.defaultVdw=a;this.g.setO("defaultVDW",a.getVdwLabel())},"~S");b(c$,"setUserVdw",function(a){this.userVdwMars=y(JU.Elements.elementNumberMax,
0);this.userVdws=G(JU.Elements.elementNumberMax,0);this.bsUserVdws=new JU.BS;a===J.c.VDW.USER&&(a=J.c.VDW.JMOL);for(var b=1;b<JU.Elements.elementNumberMax;b++)this.userVdwMars[b]=JU.Elements.getVanderwaalsMar(b,a),this.userVdws[b]=this.userVdwMars[b]/1E3},"J.c.VDW");b(c$,"getDefaultVdwNameOrData",function(a,b,d){switch(a){case -2147483648:return this.defaultVdw.getVdwLabel();case 2147483647:if(null==(d=this.bsUserVdws))return"";b=J.c.VDW.USER}if(null==b||b===J.c.VDW.AUTO)b=this.defaultVdw;b===J.c.VDW.USER&&
null==this.bsUserVdws&&this.setUserVdw(this.defaultVdw);return this.getDataManager().getDefaultVdwNameOrData(b,d)},"~N,J.c.VDW,JU.BS");b(c$,"deleteAtoms",function(a,b){var d=null==a?-1:a.nextSetBit(0);if(0>d)return 0;this.clearModelDependentObjects();if(!b){this.sm.modifySend(d,this.ms.at[d].mi,4,"deleting atom "+this.ms.at[d].getAtomName());this.ms.deleteAtoms(a);var e=this.slm.deleteAtoms(a);this.setTainted(!0);this.sm.modifySend(d,this.ms.at[d].mi,-4,"OK");return e}return this.deleteModels(this.ms.at[d].mi,
a)},"JU.BS,~B");b(c$,"deleteModels",function(a,b){this.clearModelDependentObjects();this.sm.modifySend(-1,a,5,"deleting model "+this.getModelNumberDotted(a));this.setCurrentModelIndexClear(0,!1);this.am.setAnimationOn(!1);var d=JU.BSUtil.copy(this.slm.bsDeleted),e=null==b?JU.BSUtil.newAndSetBit(a):this.ms.getModelBS(b,!1),e=this.ms.deleteModels(e);this.slm.processDeletedModelAtoms(e);null!=this.eval&&this.eval.deleteAtomsInVariables(e);this.setAnimationRange(0,0);this.clearRepaintManager(-1);this.am.clear();
this.am.initializePointers(1);this.setCurrentModelIndexClear(1<this.ms.mc?-1:0,1<this.ms.mc);this.hoverAtomIndex=-1;this.setFileLoadStatus(J.c.FIL.DELETED,null,null,null,null,null);this.refreshMeasures(!0);null!=d&&e.andNot(d);this.sm.modifySend(-1,a,-5,"OK");return JU.BSUtil.cardinalityOf(e)},"~N,JU.BS");b(c$,"deleteBonds",function(a){var b=this.ms.bo[a.nextSetBit(0)].atom1.mi;this.sm.modifySend(-1,b,2,"delete bonds "+JU.Escape.eBond(a));this.ms.deleteBonds(a,!1);this.sm.modifySend(-1,b,-2,"OK")},
"JU.BS");b(c$,"deleteModelAtoms",function(a,b,d,e){this.sm.modifySend(-1,a,1,"delete atoms "+JU.Escape.eBS(e));JU.BSUtil.deleteBits(this.tm.bsFrameOffsets,e);this.getDataManager().deleteModelAtoms(b,d,e);this.sm.modifySend(-1,a,-1,"OK")},"~N,~N,~N,JU.BS");b(c$,"getQuaternionFrame",function(){return this.g.quaternionFrame.charAt(2==this.g.quaternionFrame.length?1:0)});b(c$,"loadImageData",function(a,b,d,e){null==a&&null!=b&&this.scriptEcho(b);null==d?this.setBackgroundImage(null==a?null:b,a):d.startsWith("\u0001")?
this.sm.showImage(d,a):(this.shm.loadShape(31),this.setShapeProperty(31,"text",b),null!=a&&this.setShapeProperty(31,"image",a));this.isJS&&null!=e&&(e.mustResumeEval=!0,this.eval.resumeEval(e));return!1},"~O,~S,~S,JS.ScriptContext");b(c$,"cd",function(a){null==a?a=".":0==a.length&&(this.setStringProperty("defaultDirectory",""),a=".");a=this.fm.getDefaultDirectory(a+(a.equals("=")?"":a.endsWith("/")?"X.spt":"/X.spt"));0<a.length&&this.setStringProperty("defaultDirectory",a);this.fm.getFilePath(a+"/",
!0,!1).startsWith("file:/")&&JV.FileManager.setLocalPath(this,a,!1);return a},"~S");b(c$,"setErrorMessage",function(a,b){this.errorMessageUntranslated=b;null!=a&&this.eval.stopScriptThreads();return this.errorMessage=a},"~S,~S");e(c$,"getErrorMessage",function(){return this.errorMessage});e(c$,"getErrorMessageUn",function(){return null==this.errorMessageUntranslated?this.errorMessage:this.errorMessageUntranslated});b(c$,"setShapeErrorState",function(a,b){this.currentShapeID=a;this.currentShapeState=
b},"~N,~S");b(c$,"getShapeErrorState",function(){if(0>this.currentShapeID)return"";this.shm.releaseShape(this.currentShapeID);this.clearRepaintManager(this.currentShapeID);return JV.JC.getShapeClassName(this.currentShapeID,!1)+" "+this.currentShapeState});b(c$,"handleError",function(a,b){try{b&&this.zapMsg(""+a),this.undoClear(),0==JU.Logger.getLogLevel()&&JU.Logger.setLogLevel(4),this.setCursor(0),this.setBooleanProperty("refreshing",!0),this.fm.setPathForAllFiles(""),JU.Logger.error("vwr handling error condition: "+
a+"  "),this.isJS||a.printStackTrace(),this.notifyError("Error","doClear="+b+"; "+a,""+a)}catch(d){try{JU.Logger.error("Could not notify error "+a+": due to "+d)}catch(e){}}},"Error,~B");b(c$,"getFunctions",function(a){return a?JV.Viewer.staticFunctions:this.localFunctions},"~B");b(c$,"removeFunction",function(a){a=a.toLowerCase();null!=this.getFunction(a)&&(JV.Viewer.staticFunctions.remove(a),this.localFunctions.remove(a))},"~S");b(c$,"getFunction",function(a){if(null==a)return null;a=(JV.Viewer.isStaticFunction(a)?
JV.Viewer.staticFunctions:this.localFunctions).get(a);return null==a||null==a.geTokens()?null:a},"~S");c$.isStaticFunction=b(c$,"isStaticFunction",function(a){return a.startsWith("static_")},"~S");b(c$,"isFunction",function(a){return(JV.Viewer.isStaticFunction(a)?JV.Viewer.staticFunctions:this.localFunctions).containsKey(a)},"~S");b(c$,"clearFunctions",function(){JV.Viewer.staticFunctions.clear();this.localFunctions.clear()});b(c$,"addFunction",function(a){var b=a.getName();(JV.Viewer.isStaticFunction(b)?
JV.Viewer.staticFunctions:this.localFunctions).put(b,a)},"J.api.JmolScriptFunction");b(c$,"getFunctionCalls",function(a){return this.getStateCreator().getFunctionCalls(a)},"~S");b(c$,"warn",function(a){this.isPrintOnly||JU.Logger.warn(a)},"~S");b(c$,"checkPrivateKey",function(a){return a==this.privateKey},"~N");b(c$,"bindAction",function(a,b){this.haveDisplay&&this.acm.bind(a,b)},"~S,~S");b(c$,"unBindAction",function(a,b){this.haveDisplay&&this.acm.unbindAction(a,b)},"~S,~S");b(c$,"getPlaneIntersection",
function(a,b,d,e){return this.ms.getPlaneIntersection(a,b,d,e,1747587102==a?this.getCurrentUnitCell():null)},"~N,JU.P4,~N,~N");b(c$,"calculateStruts",function(a,b){return this.ms.calculateStruts(null==a?this.bsA():a,null==b?this.bsA():b)},"JU.BS,JU.BS");b(c$,"getPreserveState",function(){return this.g.preserveState&&null!=this.scm});b(c$,"isKiosk",function(){return this.$isKiosk});b(c$,"hasFocus",function(){return this.haveDisplay&&(this.$isKiosk||this.apiPlatform.hasFocus(this.display))});b(c$,"setFocus",
function(){this.haveDisplay&&!this.apiPlatform.hasFocus(this.display)&&this.apiPlatform.requestFocusInWindow(this.display)});b(c$,"stopMinimization",function(){null!=this.minimizer&&this.minimizer.setProperty("stop",null)});b(c$,"clearMinimization",function(){null!=this.minimizer&&this.minimizer.setProperty("clear",null)});b(c$,"getMinimizationInfo",function(){return null==this.minimizer?"":this.minimizer.getProperty("log",0)});b(c$,"checkMinimization",function(){this.refreshMeasures(!0);if(this.g.monitorEnergy){try{this.minimize(null,
0,0,this.getAllAtoms(),null,0,!1,!1,!0,!1)}catch(a){if(!C(a,Exception))throw a;}this.echoMessage(this.getP("_minimizationForceField")+" Energy = "+this.getP("_minimizationEnergy"))}});b(c$,"minimize",function(a,b,d,e,f,g,h,k,l,n){var p=this.g.forceField,q=this.getFrameAtoms();null==e?e=this.getModelUndeletedAtomsBitSet(this.getVisibleFramesBitSet().length()-1):e.and(q);0>=g&&(g=5);f=JU.BSUtil.copy(null==f?this.slm.getMotionFixedAtoms():f);var r=0<f.cardinality();r&&e.andNot(f);g=k?new JU.BS:this.ms.getAtomsWithinRadius(g,
e,!0,null);g.andNot(e);r?f.and(g):f=g;f.and(q);h&&e.or(this.addHydrogens(e,n,l));if(200<e.cardinality())JU.Logger.error("Too many atoms for minimization (>200)");else try{l||JU.Logger.info("Minimizing "+e.cardinality()+" atoms"),this.getMinimizer(!0).minimize(b,d,e,f,r,l,p)}catch(t){if(C(t,JV.JmolAsyncException))null!=a&&a.loadFileResourceAsync(t.getFileName());else if(C(t,Exception))a=t,JU.Logger.error("Minimization error: "+a.toString()),this.isJS||a.printStackTrace();else throw t;}},"J.api.JmolScriptEvaluator,~N,~N,JU.BS,JU.BS,~N,~B,~B,~B,~B");
b(c$,"setMotionFixedAtoms",function(a){this.slm.setMotionFixedAtoms(a)},"JU.BS");b(c$,"getMotionFixedAtoms",function(){return this.slm.getMotionFixedAtoms()});b(c$,"getAtomicPropertyState",function(a,b,d,e,f){this.getStateCreator().getAtomicPropertyStateBuffer(a,b,d,e,f)},"JU.SB,~N,JU.BS,~S,~A");b(c$,"getCenterAndPoints",function(a,b){return this.ms.getCenterAndPoints(a,b)},"JU.Lst,~B");b(c$,"writeFileData",function(a,b,d,e){return this.getOutputManager().writeFileData(a,b,d,e)},"~S,~S,~N,~A");b(c$,
"getPdbData",function(a,b,d,e,f,g){return this.getPropertyManager().getPdbData(a,b,null==d?this.bsA():d,e,f,g)},"~N,~S,JU.BS,~A,JU.OC,~B");b(c$,"getGroupsWithin",function(a,b){return this.ms.getGroupsWithin(a,b)},"~N,JU.BS");b(c$,"getExecutor",function(){if(null!=this.executor||2>JV.Viewer.nProcessors)return this.executor;try{this.executor=J.api.Interface.getInterface("JS.ScriptParallelProcessor",null,null).getExecutor()}catch(a){if(C(a,Exception))this.executor=null;else if(C(a,Error))this.executor=
null;else throw a;}null==this.executor&&JU.Logger.error("parallel processing is not available");return this.executor});b(c$,"setShapeSize",function(a,b,d){null==d&&(d=this.bsA());this.shm.setShapeSizeBs(a,b,null,d)},"~N,~N,JU.BS");b(c$,"setShapeProperty",function(a,b,d){0>a||this.shm.setShapePropertyBs(a,b,d,null)},"~N,~S,~O");b(c$,"getShapeProperty",function(a,b){return this.shm.getShapePropertyIndex(a,b,-2147483648)},"~N,~S");b(c$,"getShapePropertyAsInt",function(a,b){var d=this.getShapeProperty(a,
b);return null==d||!p(d,Integer)?-2147483648:d.intValue()},"~N,~S");b(c$,"setModelVisibility",function(){null!=this.shm&&this.shm.setModelVisibility()});b(c$,"resetShapes",function(a){this.shm.resetShapes();a&&(this.shm.loadDefaultShapes(this.ms),this.clearRepaintManager(-1))},"~B");b(c$,"setParallel",function(a){return this.$isParallel=this.g.multiProcessor&&a},"~B");b(c$,"isParallel",function(){return this.g.multiProcessor&&this.$isParallel});b(c$,"setAtomPickingOption",function(a){this.haveDisplay&&
this.acm.setAtomPickingOption(a)},"~S");b(c$,"setBondPickingOption",function(a){this.haveDisplay&&this.acm.setBondPickingOption(a)},"~S");b(c$,"undoClear",function(){this.actionStates.clear();this.actionStatesRedo.clear()});b(c$,"undoMoveAction",function(a,b){this.getStateCreator().undoMoveAction(a,b)},"~N,~N");b(c$,"undoMoveActionClear",function(a,b,d){this.g.preserveState&&this.getStateCreator().undoMoveActionClear(a,b,d)},"~N,~N,~B");b(c$,"moveAtomWithHydrogens",function(a,b,d,e,f){this.stopMinimization();
if(null==f){var g=this.ms.at[a];f=JU.BSUtil.newAndSetBit(a);a=g.bonds;if(null!=a)for(var h=0;h<a.length;h++){var k=a[h].getOtherAtom(g);1==k.getElementNumber()&&f.set(k.i)}}this.moveSelected(b,d,e,-2147483648,-2147483648,f,!0,!0)},"~N,~N,~N,~N,JU.BS");b(c$,"isModelPDB",function(a){return this.ms.am[a].isBioModel},"~N");e(c$,"deleteMeasurement",function(a){this.setShapeProperty(6,"delete",Integer.$valueOf(a))},"~N");b(c$,"getDataBaseName",function(a){return this.ms.getModelDataBaseName(null==a?this.bsA():
a)},"JU.BS");e(c$,"getSmiles",function(a){return this.getSmilesOpt(a,-1,-1,JU.Logger.debugging?524288:0)},"JU.BS");b(c$,"getBioSmiles",function(a){return this.getSmilesOpt(a,-1,-1,208896|(JU.Logger.debugging?524288:0))},"JU.BS");b(c$,"getSmilesOpt",function(a,b,d,e){var f=196608==(e&196608)?JV.Viewer.getJmolVersion()+" "+this.getModelName(this.am.cmi):null,g=this.ms.at;null==a&&(0>b||0>d?a=this.bsA():(65536==(e&65536)&&(b>d&&(a=b,b=d,d=a),b=g[b].group.firstAtomIndex,d=g[d].group.lastAtomIndex),a=
new JU.BS,a.setBits(b,d+1)));return this.getSmilesMatcher().getSmiles(g,this.ms.ac,a,f,e)},"JU.BS,~N,~N,~N");b(c$,"alert",function(a){this.prompt(a,"OK",null,!0)},"~S");b(c$,"prompt",function(a,b,d,e){return this.$isKiosk?"null":this.apiPlatform.prompt(a,b,d,e)},"~S,~S,~A,~B");b(c$,"dialogAsk",function(a,b){return prompt(a,b)},"~S,~S,java.util.Map");b(c$,"initializeExporter",function(a){var b=a.get("type").equals("JS");if(b){if(null!=this.jsExporter3D)return this.jsExporter3D.initializeOutput(this,
this.privateKey,a),this.jsExporter3D}else{var d=a.get("fileName"),e=a.get("fullPath"),d=this.getOutputChannel(d,e);if(null==d)return null;a.put("outputChannel",d)}d=J.api.Interface.getOption("export.Export3D",this,"export");if(null==d)return null;a=d.initializeExporter(this,this.privateKey,this.gdata,a);b&&null!=a&&(this.jsExporter3D=d);return null==a?null:d},"java.util.Map");b(c$,"getMouseEnabled",function(){return this.refreshing&&!this.creatingImage});e(c$,"calcAtomsMinMax",function(a,b){this.ms.calcAtomsMinMax(a,
b)},"JU.BS,JU.BoxInfo");b(c$,"getObjectMap",function(a,b){switch(b){case "{":null!=this.getScriptManager()&&(null!=this.definedAtomSets&&a.putAll(this.definedAtomSets),JS.T.getTokensType(a,2097152));break;case "$":case "0":this.shm.getObjectMap(a,"$"==b)}},"java.util.Map,~S");b(c$,"setPicked",function(a){var b=null,d=null;0<=a&&(this.g.setI("_atompicked",a),b=this.g.getParam("picked",!0),d=this.g.getParam("pickedList",!0));if(null==b||10!=b.tok)b=JS.SV.newV(10,new JU.BS),d=JS.SV.getVariableList(new JU.Lst),
this.g.setUserVariable("picked",b),this.g.setUserVariable("pickedList",d);0>a||(JS.SV.getBitSet(b,!1).set(a),b=d.pushPop(null,null),10==b.tok&&d.pushPop(b,null),(10!=b.tok||!b.value.get(a))&&d.pushPop(JS.SV.newV(10,JU.BSUtil.newAndSetBit(a)),null))},"~N");e(c$,"runScript",function(a){var b=new JU.SB;try{if(null==this.getScriptManager())return null;this.eval.runScriptBuffer(a,b)}catch(d){if(C(d,Exception))return this.eval.getErrorMessage();throw d;}return b.toString()},"~S");b(c$,"setFrameDelayMs",
function(a){this.ms.setFrameDelayMs(a,this.getVisibleFramesBitSet())},"~N");b(c$,"getBaseModelBitSet",function(){return this.ms.getModelAtomBitSetIncludingDeleted(this.getJDXBaseModelIndex(this.am.cmi),!0)});b(c$,"clearTimeouts",function(){null!=this.timeouts&&J.thread.TimeoutThread.clear(this.timeouts)});b(c$,"setTimeout",function(a,b,d){this.haveDisplay&&(!this.headless&&!this.autoExit)&&(null==a?this.clearTimeouts():(null==this.timeouts&&(this.timeouts=new java.util.Hashtable),J.thread.TimeoutThread.setTimeout(this,
this.timeouts,a,b,d)))},"~S,~N,~S");b(c$,"triggerTimeout",function(a){this.haveDisplay&&null!=this.timeouts&&J.thread.TimeoutThread.trigger(this.timeouts,a)},"~S");b(c$,"clearTimeout",function(a){this.setTimeout(a,0,null)},"~S");b(c$,"showTimeout",function(a){return this.haveDisplay?J.thread.TimeoutThread.showTimeout(this.timeouts,a):""},"~S");b(c$,"calculatePartialCharges",function(a){if(null==a||0==a.cardinality())a=this.getModelUndeletedAtomsBitSetBs(this.getVisibleFramesBitSet());var b=a.nextSetBit(0);
0>b||(this.setAtomProperty(JU.BSUtil.newAndSetBit(b),1111492619,0,1,null,null,null),this.getMinimizer(!0).calculatePartialCharges(this.ms.bo,this.ms.bondCount,this.ms.at,a))},"JU.BS");b(c$,"setCurrentModelID",function(a){var b=this.am.cmi;0<=b&&this.ms.setInfo(b,"modelID",a)},"~S");b(c$,"cacheClear",function(){this.fm.cacheClear();this.ligandModels=this.ligandModelSet=null;this.ms.clearCache()});b(c$,"cachePut",function(a,b){JU.Logger.info("Viewer cachePut "+a);this.fm.cachePut(a,b)},"~S,~O");b(c$,
"cacheFileByName",function(a,b){return null==a?(this.cacheClear(),-1):this.fm.cacheFileByNameAdd(a,b)},"~S,~B");b(c$,"clearThreads",function(){null!=this.eval&&this.eval.stopScriptThreads();this.stopMinimization();this.tm.clearThreads();this.setAnimationOn(!1)});b(c$,"getEvalContextAndHoldQueue",function(a){if(null==a||!this.isJS&&!this.testAsync)return null;a.pushContextDown("getEvalContextAndHoldQueue");a=a.getThisContext();a.setMustResume();this.queueOnHold=a.isJSThread=!0;return a},"J.api.JmolScriptEvaluator");
e(c$,"resizeInnerPanel",function(a,b){if(!this.autoExit&&this.haveDisplay)return this.sm.resizeInnerPanel(a,b);this.setScreenDimension(a,b);return y(-1,[this.dimScreen.width,this.dimScreen.height])},"~N,~N");b(c$,"getFontLineShapeState",function(a,b,d){return this.getStateCreator().getFontLineShapeState(a,b,d)},"~S,~S,~A");b(c$,"getShapeSetState",function(a,b,d,e,f,g,h){this.getStateCreator().getShapeSetState(a,b,d,e,f,g,h)},"J.shape.AtomShape,J.shape.Shape,~N,~A,JU.BS,java.util.Map,java.util.Map");
b(c$,"getMeasurementState",function(a,b,d,e,f){return this.getStateCreator().getMeasurementState(a,b,d,e,f)},"J.shape.Measures,JU.Lst,~N,javajs.awt.Font,JM.TickInfo");b(c$,"getBondState",function(a,b,d){return this.getStateCreator().getBondState(a,b,d)},"J.shape.Shape,JU.BS,~B");b(c$,"getAtomShapeSetState",function(a,b){return this.getStateCreator().getAtomShapeSetState(a,b)},"J.shape.Shape,~A");b(c$,"getShapeState",function(a){return this.getStateCreator().getShapeState(a)},"J.shape.Shape");b(c$,
"getAtomShapeState",function(a){return this.getStateCreator().getAtomShapeState(a)},"J.shape.AtomShape");b(c$,"getDefaultPropertyParam",function(a){return this.getPropertyManager().getDefaultPropertyParam(a)},"~N");b(c$,"getPropertyNumber",function(a){return this.getPropertyManager().getPropertyNumber(a)},"~S");b(c$,"checkPropertyParameter",function(a){return this.getPropertyManager().checkPropertyParameter(a)},"~S");b(c$,"extractProperty",function(a,b,d){return this.getPropertyManager().extractProperty(a,
b,d,null,!1)},"~O,~O,~N");b(c$,"addHydrogens",function(a,b,d){var e=null==a;null==a&&(a=this.getModelUndeletedAtomsBitSet(this.getVisibleFramesBitSet().length()-1));var f=new JU.BS;if(0==a.cardinality()||this.ms.at[a.nextSetBit(0)].mi!=this.ms.mc-1)return f;var g=new JU.Lst,e=this.getAdditionalHydrogens(a,e,!1,g),h=!1,h=this.g.appendNew;if(0<e.length){this.clearModelDependentObjects();try{f=b?this.ms.addHydrogens(g,e):this.addHydrogensInline(a,g,e)}catch(k){if(C(k,Exception))System.out.println(k.toString());
else throw k;}h&&(this.g.appendNew=!0)}d||this.scriptStatus(J.i18n.GT.i(J.i18n.GT._("{0} hydrogens added"),e.length));return f},"JU.BS,~B,~B");b(c$,"addHydrogensInline",function(a,b,d){return null==this.getScriptManager()?null:this.scm.addHydrogensInline(a,b,d)},"JU.BS,JU.Lst,~A");e(c$,"evalFunctionFloat",function(a,b,d){return null==this.getScriptManager()?0:this.eval.evalFunctionFloat(a,b,d)},"~O,~O,~A");b(c$,"evalParallel",function(a,b){this.displayLoadErrors=!1;var d=null!=this.getScriptManager()&&
this.eval.evalParallel(a,null==b?this.shm:b);this.displayLoadErrors=!0;return d},"JS.ScriptContext,JV.ShapeManager");e(c$,"evaluateExpression",function(a){return null==this.getScriptManager()?null:this.eval.evaluateExpression(a,!1,!1)},"~O");b(c$,"evaluateExpressionAsVariable",function(a){return null==this.getScriptManager()?null:this.eval.evaluateExpression(a,!0,!1)},"~O");b(c$,"getAtomBitSet",function(a){if(p(a,JU.BS))return this.slm.excludeAtoms(a,!1);this.getScriptManager();return this.getAtomBitSetEval(this.eval,
a)},"~O");b(c$,"getScriptContext",function(a){return null==this.getScriptManager()?null:this.eval.getScriptContext(a)},"~S");b(c$,"getAtomDefs",function(a){var b=new JU.SB,d;for(a=a.entrySet().iterator();a.hasNext()&&((d=a.next())||1);)p(d.getValue(),JU.BS)&&b.append("{"+d.getKey()+"} <"+d.getValue().cardinality()+" atoms>\n");return b.append("\n").toString()},"java.util.Map");b(c$,"setCGO",function(a){this.shm.loadShape(23);this.shm.setShapePropertyBs(23,"setCGO",a,null)},"JU.Lst");b(c$,"setModelSet",
function(a){this.ms=this.mm.modelSet=a},"JM.ModelSet");b(c$,"setObjectProp",function(a,b){this.getScriptManager();null==a&&(a="*");return null==this.eval?null:this.eval.setObjectPropSafe(a,b)},"~S,~N");b(c$,"setDihedrals",function(a,b,d){null==b&&(b=this.ms.getBsBranches(a));this.ms.setDihedrals(a,b,d)},"~A,~A,~N");b(c$,"getChainID",function(a,b){var d=this.chainMap.get(a);if(null!=d)return d.intValue();var e=a.charCodeAt(0);1<a.length?e=300+this.chainList.size():b&&(97<=e&&122>=e)&&(e+=159);256<=
e&&(this.chainCaseSpecified=(new Boolean(this.chainCaseSpecified|b)).valueOf(),this.chainList.addLast(a));d=Integer.$valueOf(e);this.chainMap.put(d,a);this.chainMap.put(a,d);return e},"~S,~B");b(c$,"getChainIDStr",function(a){return this.chainMap.get(Integer.$valueOf(a))},"~N");b(c$,"getScriptQueueInfo",function(){return null!=this.scm&&this.scm.isQueueProcessing()?Boolean.TRUE:Boolean.FALSE});b(c$,"getNMRCalculation",function(){return null==this.nmrCalculation?(this.nmrCalculation=J.api.Interface.getOption("quantum.NMRCalculation",
this,"script")).setViewer(this):this.nmrCalculation});b(c$,"getDistanceUnits",function(a){null==a&&(a=this.getDefaultMeasurementLabel(2));var b=a.indexOf("//");return 0>b?this.g.measureDistanceUnits:a.substring(b+2)},"~S");b(c$,"calculateFormalCharges",function(a){return this.ms.fixFormalCharges(null==a?this.bsA():a)},"JU.BS");b(c$,"cachePngFiles",function(){return!this.getTestFlag(1)});b(c$,"setModulation",function(a,b,d,e){e&&this.g.setO("_modt",JU.Escape.eP(d));this.ms.setModulation(null==a?this.getAllAtoms():
a,b,d,e);this.refreshMeasures(!0)},"JU.BS,~B,JU.P3,~B");b(c$,"checkInMotion",function(a){switch(a){case 0:this.setTimeout("_SET_IN_MOTION_",0,null);break;case 1:this.inMotion||this.setTimeout("_SET_IN_MOTION_",2*this.g.hoverDelayMs,"!setInMotion");break;case 2:this.setInMotion(!0),this.refresh(3,"timeoutThread set in motion")}},"~N");b(c$,"checkMotionRendering",function(a){if(!this.getInMotion(!0)&&!this.tm.spinOn&&!this.tm.vibrationOn&&!this.am.animationOn)return!0;if(this.g.wireframeRotation)return!1;
var b=0;switch(a){case 1677721602:case 1140850689:b=2;break;case 1112150020:b=3;break;case 1112150021:b=4;break;case 1112152066:b=5;break;case 1073742018:b=6;break;case 603979967:b=7;break;case 603979786:b=8}return this.g.platformSpeed>=b},"~N");b(c$,"openExportChannel",function(a,b,d){return this.getOutputManager().openOutputChannel(a,b,d,!1)},"~N,~S,~B");e(c$,"log",function(a){null!=a&&this.getOutputManager().logToFile(a)},"~S");b(c$,"getLogFileName",function(){return null==this.logFileName?"":
this.logFileName});b(c$,"getCommands",function(a,b,d){return this.getStateCreator().getCommands(a,b,d)},"java.util.Map,java.util.Map,~S");b(c$,"allowCapture",function(){return!this.isApplet||this.isSignedApplet});b(c$,"compileExpr",function(a){var b=null==this.getScriptManager()?null:this.eval.evaluateExpression(a,!1,!0);return p(b,Array)?b:x(-1,[JS.T.o(4,a)])},"~S");b(c$,"checkSelect",function(a,b){return null!=this.getScriptManager()&&this.eval.checkSelect(a,b)},"java.util.Map,~A");b(c$,"getAnnotationInfo",
function(a,b,d){return this.getAnnotationParser(1073741916==d).getAnnotationInfo(this,a,b,d,this.am.cmi)},"JS.SV,~S,~N");b(c$,"getAtomValidation",function(a,b){return this.getAnnotationParser(!1).getAtomValidation(this,a,b)},"~S,JM.Atom");b(c$,"getJzt",function(){return null==this.jzt?this.jzt=J.api.Interface.getInterface("JU.ZipTools",this,"zip"):this.jzt});b(c$,"dragMinimizeAtom",function(a){this.stopMinimization();var b=0==this.getMotionFixedAtoms().cardinality()?this.ms.getAtoms(this.ms.isAtomPDB(a)?
1086324742:1094713360,JU.BSUtil.newAndSetBit(a)):JU.BSUtil.setAll(this.ms.ac);try{this.minimize(null,2147483647,0,b,null,0,!1,!1,!1,!1)}catch(d){if(C(d,Exception)){if(this.async){var e=this;setTimeout(function(){e.dragMinimizeAtom(a)},100)}}else throw d;}},"~N");b(c$,"getJBR",function(){return null==this.jbr?this.jbr=J.api.Interface.getInterface("JM.Resolver",this,"file").setViewer(this):this.jbr});b(c$,"checkMenuUpdate",function(){null!=this.jmolpopup&&this.jmolpopup.jpiUpdateComputedMenus()});b(c$,
"getChimeMessenger",function(){return null==this.jcm?this.jcm=J.api.Interface.getInterface("JV.ChimeMessenger",this,"script").set(this):this.jcm});b(c$,"getAuxiliaryInfoForAtoms",function(a){return this.ms.getAuxiliaryInfo(this.ms.getModelBS(this.getAtomBitSet(a),!1))},"~O");b(c$,"parseJSON",function(a){null==this.jsonParser&&(this.jsonParser=J.api.Interface.getInterface("JU.JSJSONParser",this,"script"));return this.jsonParser.parseMap(a,!0)},"~S");K(self.c$);c$=B(JV.Viewer,"ACCESS",Enum);E(c$,"NONE",
0,[]);E(c$,"READSPT",1,[]);E(c$,"ALL",2,[]);c$=L();self.Jmol&&Jmol.extend&&Jmol.extend("vwr",JV.Viewer.prototype);D(c$,"appletDocumentBase","","appletCodeBase","","appletIdiomaBase",null,"jsDocumentBase","");c$.strJavaVendor=c$.prototype.strJavaVendor="Java: "+System.getProperty("java.vendor","j2s");c$.strOSName=c$.prototype.strOSName=System.getProperty("os.name","");c$.strJavaVersion=c$.prototype.strJavaVersion="Java "+System.getProperty("java.version","");D(c$,"version_date",null,"SYNC_GRAPHICS_MESSAGE",
"GET_GRAPHICS","SYNC_NO_GRAPHICS_MESSAGE","SET_GRAPHICS_OFF");c$.staticFunctions=c$.prototype.staticFunctions=new java.util.Hashtable;D(c$,"nProcessors",1)})}})();ba._coreLoaded=!0})(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);
