(function(ob,pb,qb,rb,E,sb,da,$,ja,L,C,x,tb,V,ub,P,O,D,$a,ka,Ea,vb,lb,wb,oa,Fa,Ka,Z,xb,yb,xa,zb,mb,Ab,Bb,La,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,e,m,nb){da("J.adapter.smarter");ja(["JS.Symmetry","JU.P3","$.SB"],"J.adapter.smarter.XtalSymmetry","java.util.Hashtable JU.A4 $.BS $.Lst $.M3 $.M4 $.P3i $.PT $.Quat $.V3 J.adapter.smarter.Atom JS.SpaceGroup $.SymmetryOperation $.UnitCell JU.BSUtil $.Logger $.SimpleUnitCell".split(" "),function(){var c=C(function(){this.acr=null;this.applySymmetryToBonds=
!1;this.baseSymmetry=this.asc=null;this.bondCount0=0;this.bondsFound=null;this.crystalReaderLatticeOpsOnly=this.checkNearAtoms=this.checkAll=this.centroidPacked=!1;this.disorderMap=null;this.disorderMapMax=0;this.doCentroidUnitCell=!1;this.doNormalize=!0;this.doPackUnitCell=!1;this.filterSymop=null;this.firstAtom=0;this.latticeCells=null;this.latticeOp=0;this.mTemp=this.maxXYZ0=this.minXYZ0=this.maxXYZ=this.minXYZ=this.mident=null;this.ndims=3;this.packingRange=this.noSymmetryCount=0;this.ptTemp=
this.ptOffset=null;this.rmaxz=this.rmaxy=this.rmaxx=this.rminz=this.rminy=this.rminx=0;this.symmetry=null;this.symmetryRange=0;this.unitCellTranslations=this.unitCellParams=this.trajectoryUnitCells=null;L(this,arguments)},J.adapter.smarter,"XtalSymmetry",null);ka(c,function(){this.bondsFound=new JU.SB;this.ptOffset=new JU.P3});V(c,function(){});e(c,"addRotatedTensor",function(a,b,f,d,u){null==this.ptTemp&&(this.ptTemp=new JU.P3,this.mTemp=new JU.M3);return a.addTensor(this.acr.getInterface("JU.Tensor").setFromEigenVectors(u.rotateAxes(f,
b.eigenVectors,this.ptTemp,this.mTemp),b.eigenValues,b.isIsotropic?"iso":b.type,b.id,b),null,d)},"J.adapter.smarter.Atom,JU.Tensor,~N,~B,J.adapter.smarter.XtalSymmetry.FileSymmetry");e(c,"applySymmetryBio",function(a,b,f){var d=a.get("biomts"),u=d.size();null==this.mident&&(this.mident=new JU.M4,this.mident.setIdentity());this.acr.lstNCS=null;this.setLatticeCells();var c=null!=this.latticeCells&&0!=this.latticeCells[0]?O(3,0):null;if(null!=c)for(var g=0;3>g;g++)c[g]=this.latticeCells[g];this.latticeCells=
null;var h="",c=this.acr.getFilterWithCase("BMCHAINS"),e=-1;if(null!=c&&0<(c=c.trim()).length)"="==c.charAt(0)&&(c=c.substring(1).trim()),c.equals("_")?(h="_",e=0):(e=0==c.length?0:JU.PT.parseInt(c),-2147483648==e&&(e=-c.charAt(0).charCodeAt(0)));var j=0<=f.indexOf("BYCHAIN")?1:0<=f.indexOf("BYSYMOP")?2:0;this.doNormalize=!1;var n=a.get("chains");(this.symmetry=new J.adapter.smarter.XtalSymmetry.FileSymmetry).setSpaceGroup(this.doNormalize);this.addSpaceGroupOperation("x,y,z",!1);c=a.get("name");
this.setAtomSetSpaceGroupName(this.acr.sgName=c);this.applySymmetryToBonds=b;this.bondCount0=this.asc.bondCount;this.firstAtom=this.asc.getLastAtomSetAtomIndex();var c=this.asc.ac,q=new java.util.Hashtable,p=0,y=this.asc.atoms;b=this.bondCount0>this.asc.bondIndex0&&b;switch(j){case 1:for(g=c;--g>=this.firstAtom;){var r=Integer.$valueOf(y[g].chainID),t=q.get(r);null==t&&(p++,q.put(r,t=new JU.BS));t.set(g)}this.asc.bsAtoms=new JU.BS;for(g=0;g<p;g++)this.asc.bsAtoms.set(c+g),b=new J.adapter.smarter.Atom,
b.set(0,0,0),b.radius=16,this.asc.addAtom(b);for(var s=0,v,q=q.entrySet().iterator();q.hasNext()&&((v=q.next())||1);){b=y[c+s++];t=v.getValue();for(g=t.nextSetBit(0);0<=g;g=t.nextSetBit(g+1))b.add(y[g]);b.scale(1/t.cardinality());b.atomName="Pt"+s;b.chainID=v.getKey().intValue()}this.firstAtom=c;c+=p;b=!1;break;case 2:this.asc.bsAtoms=new JU.BS;this.asc.bsAtoms.set(c);b=y[c]=new J.adapter.smarter.Atom;b.set(0,0,0);for(g=c;--g>=this.firstAtom;)b.add(y[g]);b.scale(1/(c-this.firstAtom));b.atomName="Pt";
b.radius=16;this.asc.addAtom(b);this.firstAtom=c++;b=!1}p=a.get("asemblyIdAtoms");0<=f.indexOf("#<")&&(u=Math.min(u,JU.PT.parseInt(f.substring(f.indexOf("#<")+2))-1),f=JU.PT.rep(f,"#<","_<"));g=0;for(q=this.firstAtom;q<c;q++)y[q].bsSymmetry=new JU.BS,a=y[q].chainID,a>g&&(g=a);a=this.asc.bsAtoms;t=b?O(this.asc.ac,0):null;for(s=null==n?1:0;s<u;s++){if(0<=f.indexOf("!#")){if(0<=f.indexOf("!#"+(s+1)+";"))continue}else if(0<=f.indexOf("#")&&0>f.indexOf("#"+(s+1)+";"))continue;var m=d.get(s),w=!m.equals(this.mident),
B=null==n?null:n.get(s);if(null!=B&&null!=p){a=new JU.BS;for(q=p.entrySet().iterator();q.hasNext()&&((v=q.next())||1);)0<=B.indexOf(":"+v.getKey()+";")&&a.or(v.getValue());null!=this.asc.bsAtoms&&a.and(this.asc.bsAtoms);B=null}for(var z=-1,G=!1,q=this.firstAtom;q<c;q++){if(null!=a)G=!a.get(q);else if(null!=B&&(r=y[q].chainID)!=z)G=0>B.indexOf(":"+this.acr.vwr.getChainIDStr(z=r)+";");if(!G)try{var A=y[q].atomSite,I;b&&(t[A]=this.asc.ac);I=this.asc.newCloneAtom(y[q]);I.bondingRadius=s;this.asc.atomSymbolicMap.put(""+
I.atomSerial,I);null!=this.asc.bsAtoms&&this.asc.bsAtoms.set(I.index);I.atomSite=A;w&&m.rotTrans(I);I.bsSymmetry=JU.BSUtil.newAndSetBit(s)}catch(x){if(P(x,Exception))this.asc.errorMessage="appendAtomCollection error: "+x;else throw x;}}w&&this.symmetry.addBioMoleculeOperation(m,!1);if(b)for(m=this.asc.bondIndex0;m<this.bondCount0;m++)q=this.asc.bonds[m],this.asc.addNewBondWithOrder(t[y[q.atomIndex1].atomSite],t[y[q.atomIndex2].atomSite],q.order)}if(null!=n){null==this.asc.bsAtoms&&(this.asc.bsAtoms=
JU.BSUtil.newBitSet2(0,this.asc.ac));this.asc.bsAtoms.clearBits(this.firstAtom,c);if(0==j){if(-1!=e){r=(d=0!=e)?new JU.BS:null;y=this.asc.atoms;A=0;d&&(A=0>e?Math.max(-e,g+1):Math.max(g+e,65),r.setBits(0,A-1),r.setBits(91,97),r.setBits(123,200));j=1==this.asc.structureCount?this.asc.structures[0].bsAll:null;n=new java.util.Hashtable;I=new java.util.Hashtable;q=null==j?null:new java.util.Hashtable;p=null;g=c;for(t=this.asc.ac;g<t;g++)s=y[g].chainID,w=y[g].bsSymmetry.nextSetBit(0),e=this.acr.vwr.getChainIDStr(s),
m=0==w?e:e+h+w,f=n.get(m),null==f&&(d&&0!=w&&(w=200>A?r.nextClearBit(A):200,200>w&&(r.set(w),f=Integer.$valueOf(this.acr.vwr.getChainID(""+String.fromCharCode(w),!0)),A=w)),null==f&&(f=Integer.$valueOf(this.acr.vwr.getChainID(m,!0))),m!==e&&(I.put(f,Integer.$valueOf(s)),null!=j&&(null!=p&&(p[1]=g),q.put(f,p=O(-1,[g,t])))),n.put(m,f)),y[g].chainID=f.intValue();if(0<this.asc.structureCount){h=this.asc.structures;y=this.asc.structureCount;for(q=I.entrySet().iterator();q.hasNext()&&((v=q.next())||1);){f=
v.getKey();f=f.intValue();e=v.getValue().intValue();for(g=0;g<y;g++)d=h[g],null==d.bsAll&&(d.startChainID==d.endChainID?d.startChainID==e&&(d=d.clone(),d.startChainID=d.endChainID=f,this.asc.addStructure(d)):System.err.println("XtalSymmetry not processing biomt chain structure "+this.acr.vwr.getChainIDStr(e)+" to "+this.acr.vwr.getChainIDStr(f)))}}}v=this.asc.getAtomSetAuxiliaryInfoValue(-1,"PDB_CONECT_bonds");if(!b&&null!=v)for(g=v.size();0<=--g;)if(q=v.get(g),b=this.asc.getAtomFromName(""+q[0]),
h=this.asc.getAtomFromName(""+q[1]),null!=b&&null!=h&&b.bondingRadius!=h.bondingRadius&&(null==a||a.get(b.index)&&a.get(h.index))&&25<b.distanceSquared(h))v.removeItemAt(g),System.out.println("XtalSymmetry: long interchain bond removed for @"+b.atomSerial+"-@"+h.atomSerial)}g=c;for(t=this.asc.ac;g<t;g++)this.asc.atoms[g].bondingRadius=NaN}this.noSymmetryCount=c-this.firstAtom;this.finalizeSymmetry(this.symmetry);this.setCurrentModelInfo(u,null,null);this.reset()},"java.util.Map,~B,~S");e(c,"getBaseSymmetry",
function(){return null==this.baseSymmetry?this.symmetry:this.baseSymmetry});e(c,"getOverallSpan",function(){return null==this.maxXYZ0?JU.V3.new3(this.maxXYZ.x-this.minXYZ.x,this.maxXYZ.y-this.minXYZ.y,this.maxXYZ.z-this.minXYZ.z):JU.V3.newVsub(this.maxXYZ0,this.minXYZ0)});e(c,"getSymmetry",function(){return null==this.symmetry?this.symmetry=new J.adapter.smarter.XtalSymmetry.FileSymmetry:this.symmetry});e(c,"isWithinCell",function(a,b,f,d,u,c,g,h,e){return b.x>f-e&&b.x<d+e&&(2>a||b.y>u-e&&b.y<c+e)&&
(3>a||b.z>g-e&&b.z<h+e)},"~N,JU.P3,~N,~N,~N,~N,~N,~N,~N");e(c,"set",function(a){this.acr=a;this.asc=a.asc;this.getSymmetry();return this},"J.adapter.smarter.AtomSetCollectionReader");e(c,"setLatticeParameter",function(a){this.symmetry.setSpaceGroup(this.doNormalize);this.symmetry.setLattice(a)},"~N");e(c,"addSpaceGroupOperation",function(a,b){this.symmetry.setSpaceGroup(this.doNormalize);b&&1==this.symmetry.getSpaceGroupOperationCount()&&this.setLatticeCells();return this.symmetry.addSpaceGroupOperation(a,
0)},"~S,~B");e(c,"setSymmetryFromAuditBlock",function(a){return this.symmetry=a},"J.adapter.smarter.XtalSymmetry.FileSymmetry");e(c,"applySymmetryFromReader",function(a){this.asc.setCoordinatesAreFractional(this.acr.iHaveFractionalCoordinates);this.setAtomSetSpaceGroupName(this.acr.sgName);this.symmetryRange=this.acr.symmetryRange;this.asc.setInfo("symmetryRange",Float.$valueOf(this.symmetryRange));if(this.acr.doConvertToFractional||this.acr.fileCoordinatesAreFractional){this.setLatticeCells();var b=
!0;if(this.acr.ignoreFileSpaceGroupName||!this.acr.iHaveSymmetryOperators){if(!this.acr.merging||null==a)a=new J.adapter.smarter.XtalSymmetry.FileSymmetry;0==this.acr.unitCellParams[0]&&0==this.acr.unitCellParams[2]&&JU.SimpleUnitCell.fillParams(null,null,null,this.acr.unitCellParams);b=a.createSpaceGroup(this.acr.desiredSpaceGroupIndex,0<=this.acr.sgName.indexOf("!")?"P1":this.acr.sgName,this.acr.unitCellParams,this.acr.modDim)}else this.acr.doPreSymmetry(),a=null;this.packingRange=this.acr.getPackingRangeValue(0);
b?(null!=a&&this.getSymmetry().setSpaceGroupTo(a.getSpaceGroup()),this.applySymmetryLattice(),null!=a&&null==this.filterSymop&&this.setAtomSetSpaceGroupName(a.getSpaceGroupName())):this.setUnitCellSafely()}if(this.acr.iHaveFractionalCoordinates&&this.acr.merging&&null!=a){for(var b=this.asc.atoms,f=this.asc.getLastAtomSetAtomIndex(),d=this.asc.ac;f<d;f++)a.toCartesian(b[f],!0);this.asc.setCoordinatesAreFractional(!1);this.acr.addVibrations=!1}return this.symmetry},"J.adapter.smarter.XtalSymmetry.FileSymmetry");
e(c,"scaleFractionalVibs",function(){this.getSymmetry().magneticMomentsToFractional(this.asc,this.acr.unitCellParams)});e(c,"setMagneticMoments",function(){return 0>this.asc.iSet||!this.acr.vibsFractional?0:this.getBaseSymmetry().setMagneticMoments(this.asc)});e(c,"setTensors",function(){for(var a=this.asc.ac,b=this.asc.getLastAtomSetAtomIndex();b<a;b++){var f=this.asc.atoms[b];null!=f.anisoBorU&&(f.addTensor(this.symmetry.getTensor(this.acr.vwr,f.anisoBorU),null,!1),Float.isNaN(f.bfactor)&&(f.bfactor=
100*f.anisoBorU[7]),f.anisoBorU=null)}});e(c,"adjustRangeMinMax",function(a){var b=new JU.P3,f=new JU.P3,d=new JU.P3;this.acr.forcePacked&&(b.setT(a[1]),f.setT(a[2]),d.setT(a[3]),b.scale(this.packingRange),f.scale(this.packingRange),d.scale(this.packingRange));a[0].scaleAdd2(this.minXYZ.x,a[1],a[0]);a[0].scaleAdd2(this.minXYZ.y,a[2],a[0]);a[0].scaleAdd2(this.minXYZ.z,a[3],a[0]);a[0].sub(b);a[0].sub(f);a[0].sub(d);var u=JU.P3.newP(a[0]);this.symmetry.toFractional(u,!0);this.setSymmetryMinMax(u);a[1].scale(this.maxXYZ.x-
this.minXYZ.x);a[2].scale(this.maxXYZ.y-this.minXYZ.y);a[3].scale(this.maxXYZ.z-this.minXYZ.z);a[1].scaleAdd2(2,b,a[1]);a[2].scaleAdd2(2,f,a[2]);a[3].scaleAdd2(2,d,a[3]);for(b=0;3>b;b++)for(f=b+1;4>f;f++)u.add2(a[b],a[f]),0!=b&&u.add(a[0]),this.symmetry.toFractional(u,!1),this.setSymmetryMinMax(u);this.symmetry.toCartesian(u,!1);u.add(a[1]);this.symmetry.toFractional(u,!1);this.setSymmetryMinMax(u);this.minXYZ=JU.P3i.new3(E(Math.min(0,Math.floor(this.rminx+0.001))),E(Math.min(0,Math.floor(this.rminy+
0.001))),E(Math.min(0,Math.floor(this.rminz+0.001))));this.maxXYZ=JU.P3i.new3(E(Math.max(1,Math.ceil(this.rmaxx-0.001))),E(Math.max(1,Math.ceil(this.rmaxy-0.001))),E(Math.max(1,Math.ceil(this.rmaxz-0.001))))},"~A");e(c,"applyAllSymmetry",function(a,b){if(!(0==this.asc.ac||null!=b&&b.isEmpty())){var f=this.noSymmetryCount=0<this.asc.baseSymmetryAtomCount?this.asc.baseSymmetryAtomCount:null==b?this.asc.getLastAtomSetAtomCount():this.asc.ac-b.nextSetBit(this.asc.getLastAtomSetAtomIndex());this.asc.setTensors();
this.applySymmetryToBonds=this.acr.applySymmetryToBonds;this.doPackUnitCell=this.acr.doPackUnitCell&&!this.applySymmetryToBonds;this.bondCount0=this.asc.bondCount;this.ndims=JU.SimpleUnitCell.getDimensionFromParams(this.acr.unitCellParams);this.finalizeSymmetry(this.symmetry);var d=this.symmetry.getSpaceGroupOperationCount(),u=null==this.acr.thisBiomolecule?null:new JU.BS;this.checkNearAtoms=this.acr.checkNearAtoms||null!=u;JU.SimpleUnitCell.setMinMaxLatticeParameters(this.ndims,this.minXYZ,this.maxXYZ,
0);this.latticeOp=this.symmetry.getLatticeOp();this.crystalReaderLatticeOpsOnly=this.asc.crystalReaderLatticeOpsOnly&&0<=this.latticeOp;this.doCentroidUnitCell&&this.asc.setInfo("centroidMinMax",O(-1,[this.minXYZ.x,this.minXYZ.y,this.minXYZ.z,this.maxXYZ.x,this.maxXYZ.y,this.maxXYZ.z,this.centroidPacked?x(100*this.packingRange):0]));if(this.doCentroidUnitCell||this.acr.doPackUnitCell||0!=this.symmetryRange&&1==this.maxXYZ.x-this.minXYZ.x&&1==this.maxXYZ.y-this.minXYZ.y&&1==this.maxXYZ.z-this.minXYZ.z)switch(this.minXYZ0=
JU.P3.new3(this.minXYZ.x,this.minXYZ.y,this.minXYZ.z),this.maxXYZ0=JU.P3.new3(this.maxXYZ.x,this.maxXYZ.y,this.maxXYZ.z),null!=a&&(a.setMinMax0(this.minXYZ0,this.maxXYZ0),this.minXYZ.set(x(this.minXYZ0.x),x(this.minXYZ0.y),x(this.minXYZ0.z)),this.maxXYZ.set(x(this.maxXYZ0.x),x(this.maxXYZ0.y),x(this.maxXYZ0.z))),this.ndims){case 3:this.minXYZ.z--,this.maxXYZ.z++;case 2:this.minXYZ.y--,this.maxXYZ.y++;case 1:this.minXYZ.x--,this.maxXYZ.x++}for(var c=(this.maxXYZ.x-this.minXYZ.x)*(this.maxXYZ.y-this.minXYZ.y)*
(this.maxXYZ.z-this.minXYZ.z),g=f*(this.crystalReaderLatticeOpsOnly?4:d),g=this.checkNearAtoms||null!=this.acr.thisBiomolecule?g*c:0<this.symmetryRange?g:1,h=Array(g),e=this.asc.atoms,j=0;j<f;j++)e[this.firstAtom+j].bsSymmetry=JU.BS.newN(d*(c+1));var n=0;this.unitCellTranslations=Array(c);var q=0,p=0,y=Math.abs(this.symmetryRange),r=0!=this.symmetryRange,t=0>this.symmetryRange,s=0<this.symmetryRange;r&&(this.rminx=this.rminy=this.rminz=3.4028235E38,this.rmaxx=this.rmaxy=this.rmaxz=-3.4028235E38);
var v=this.symmetry,m=v;this.checkAll=this.crystalReaderLatticeOpsOnly||1==this.asc.atomSetCount&&this.checkNearAtoms&&0<=this.latticeOp;var w=this.acr.lstNCS;if(null!=w&&0==w.get(0).m33){for(var B=v.getSpaceGroupOperationCount(),z=w.size(),j=z;0<=--j;){var G=w.get(j);G.m33=1;v.toFractionalM(G)}for(j=1;j<B;j++)for(var A=v.getSpaceGroupOperation(j),I=0;I<z;I++)G=JU.M4.newM4(w.get(I)),G.mul2(A,G),this.doNormalize&&0<this.noSymmetryCount&&JS.SymmetryOperation.normalizeOperationToCentroid(3,G,e,this.firstAtom,
this.noSymmetryCount),w.addLast(G)}j=null;w=v.getSpaceGroupOperation(0);this.doPackUnitCell&&(j=new JU.P3,this.ptOffset.set(0,0,0));B=this.bondCount0>this.asc.bondIndex0&&this.applySymmetryToBonds?O(f,0):null;c=O(c,0);for(z=this.minXYZ.x;z<this.maxXYZ.x;z++)for(G=this.minXYZ.y;G<this.maxXYZ.y;G++)for(A=this.minXYZ.z;A<this.maxXYZ.z;A++)if(this.unitCellTranslations[q]=JU.V3.new3(z,G,A),c[q++]=555+100*z+10*G+A,!(0!=z||0!=G||0!=A||0==h.length)){for(n=0;n<f;n++){p=e[this.firstAtom+n];null!=a&&(v=a.getAtomSymmetry(p,
this.symmetry),v!==m&&(0==v.getSpaceGroupOperationCount()&&this.finalizeSymmetry(v),m=v,w=v.getSpaceGroupOperation(0)));I=JU.P3.newP(p);w.rotTrans(I);v.toCartesian(I,!1);if(this.doPackUnitCell)if(v.toUnitCellRnd(I,this.ptOffset),j.setT(I),v.toFractional(j,!1),this.acr.fixFloatPt(j,1E5),null==b)p.setT(j);else if(1E-4>p.distance(j))b.set(p.index);else{b.clear(p.index);continue}null!=b&&p.bsSymmetry.clearAll();p.bsSymmetry.set(q*d);p.bsSymmetry.set(0);r&&this.setSymmetryMinMax(I);n<g&&(h[n]=I)}t&&(this.rminx-=
y,this.rminy-=y,this.rminz-=y,this.rmaxx+=y,this.rmaxy+=y,this.rmaxz+=y);p=n=this.symmetryAddAtoms(0,0,0,0,n,q*d,h,a,u,B)}s&&(this.rminx-=y,this.rminy-=y,this.rminz-=y,this.rmaxx+=y,this.rmaxy+=y,this.rmaxz+=y);q=0;for(z=this.minXYZ.x;z<this.maxXYZ.x;z++)for(G=this.minXYZ.y;G<this.maxXYZ.y;G++)for(A=this.minXYZ.z;A<this.maxXYZ.z;A++)if(q++,0!=z||0!=G||0!=A)n=this.symmetryAddAtoms(z,G,A,p,n,q*d,h,a,u,B);q*f==this.asc.ac-this.firstAtom&&this.duplicateAtomProperties(q);this.setCurrentModelInfo(f,v,c);
this.unitCellParams=null;this.reset()}},"J.adapter.smarter.MSInterface,JU.BS");e(c,"applyRangeSymmetry",function(a){var b=this.acr.fillRange;a=this.updateBSAtoms();this.acr.forcePacked=!0;this.doPackUnitCell=!1;for(var f=JU.P3i.new3(this.minXYZ.x,this.minXYZ.y,this.minXYZ.z),d=JU.P3i.new3(this.maxXYZ.x,this.maxXYZ.y,this.maxXYZ.z),u=Array(4),c=0;4>c;c++)u[c]=JU.P3.newP(b[c]);this.setUnitCellSafely();this.adjustRangeMinMax(u);b=new J.adapter.smarter.XtalSymmetry.FileSymmetry;b.getUnitCell(this.acr.fillRange,
!1,null);this.applyAllSymmetry(this.acr.ms,a);for(var u=new JU.P3,g=this.asc.atoms,c=this.asc.ac;--c>=this.firstAtom;)u.setT(g[c]),this.symmetry.toCartesian(u,!1),b.toFractional(u,!1),(this.acr.noPack?!this.removePacking(this.ndims,u,f.x,d.x,f.y,d.y,f.z,d.z,this.packingRange):!this.isWithinCell(this.ndims,u,f.x,d.x,f.y,d.y,f.z,d.z,this.packingRange))&&a.clear(c)},"JU.BS");e(c,"applySuperSymmetry",function(a,b,f,d,u,c,g){this.asc.setGlobalBoolean(7);var h=this.doPackUnitCell;this.doPackUnitCell=h;
this.applyAllSymmetry(this.acr.ms,null);this.doPackUnitCell=h;for(var h=this.asc.atoms,e=this.asc.ac,j=f;j<e;j++)this.symmetry.toCartesian(h[j],!0),b.set(j);this.asc.setCurrentModelInfo("unitcell_conventional",this.symmetry.getV0abc("a,b,c",null));b=c[0];j=c[1];c=c[2];this.symmetry=new J.adapter.smarter.XtalSymmetry.FileSymmetry;this.setUnitCell(D(-1,[0,0,0,0,0,0,b.x,b.y,b.z,j.x,j.y,j.z,c.x,c.y,c.z,0,0,0,0,0,0,NaN,NaN,NaN,NaN,NaN,g]),null,null);a=null==d||null==a?"P1":"cell="+a;this.setAtomSetSpaceGroupName(a);
this.symmetry.setSpaceGroupName(a);this.symmetry.setSpaceGroup(this.doNormalize);this.symmetry.addSpaceGroupOperation("x,y,z",0);null!=u&&0==u.length()&&(u=null);null!=u&&this.symmetry.toFractional(u,!0);for(j=f;j<e;j++)this.symmetry.toFractional(h[j],!0),null!=u&&h[j].sub(u);this.asc.haveAnisou=!1;this.asc.setCurrentModelInfo("matUnitCellOrientation",null)},"~S,JU.BS,~N,~A,JU.P3,~A,~N");e(c,"applySymmetryLattice",function(){if(this.asc.coordinatesAreFractional&&null!=this.symmetry.getSpaceGroup()){var a=
this.latticeCells[0],b=this.latticeCells[1],f=Math.abs(this.latticeCells[2]),d=this.latticeCells[3];this.firstAtom=this.asc.getLastAtomSetAtomIndex();var u=this.asc.bsAtoms;null!=u&&(this.updateBSAtoms(),this.firstAtom=u.nextSetBit(this.firstAtom));this.rminx=this.rminy=this.rminz=3.4028235E38;this.rmaxx=this.rmaxy=this.rmaxz=-3.4028235E38;null==this.acr.latticeType&&(this.acr.latticeType=""+this.symmetry.getLatticeType());this.acr.isPrimitive&&(this.asc.setCurrentModelInfo("isprimitive",Boolean.TRUE),
(!"P".equals(this.acr.latticeType)||null!=this.acr.primitiveToCrystal)&&this.asc.setCurrentModelInfo("unitcell_conventional",this.symmetry.getConventionalUnitCell(this.acr.latticeType,this.acr.primitiveToCrystal)));this.setUnitCellSafely();this.asc.setCurrentModelInfo("f2c",this.symmetry.getUnitCellF2C());var c=this.symmetry.getSpaceGroupTitle();0>c.indexOf("--")&&this.asc.setCurrentModelInfo("f2cTitle",c);this.asc.setCurrentModelInfo("f2cParams",this.symmetry.getUnitCellParams());null!=this.acr.latticeType&&
(this.asc.setCurrentModelInfo("latticeType",this.acr.latticeType),"string"==typeof this.acr.fillRange&&(c=this.setLatticeRange(this.acr.latticeType,this.acr.fillRange),null==c?(this.acr.appendLoadNote(this.acr.fillRange+" symmetry could not be implemented"),this.acr.fillRange=null):this.acr.fillRange=c));this.baseSymmetry=this.symmetry;if(null!=this.acr.fillRange)this.setMinMax(this.ndims,d,a,b,f),this.applyRangeSymmetry(u);else{var c=null,g=1E-6;this.baseSymmetry.nSpins=0;var h=this.acr.strSupercell,
e=null!=h&&0<=h.indexOf(","),j=null,n=null,q=Array(3);e&&(j=new JU.M4,null==this.mident&&(this.mident=new JU.M4),this.setUnitCellSafely(),c=this.symmetry.getV0abc(h,j),j.transpose33(),null!=c&&!j.equals(this.mident)&&(this.setMinMax(this.ndims,d,a,b,f),n=JU.P3.newP(c[0]),q[0]=JU.V3.newV(c[1]),q[1]=JU.V3.newV(c[2]),q[2]=JU.V3.newV(c[3]),this.adjustRangeMinMax(c)));e=this.asc.getLastAtomSetAtomIndex();null!=u&&(e=u.nextSetBit(e));3.4028235E38==this.rminx?c=null:(u=this.updateBSAtoms(),g=this.symmetry.getPrecision(),
this.applySuperSymmetry(h,u,e,c,n,q,g));this.setMinMax(this.ndims,d,a,b,f);if(null==c){this.applyAllSymmetry(this.acr.ms,u);if(!this.acr.noPack&&(!this.applySymmetryToBonds||!this.acr.doPackUnitCell))return;this.setMinMax(this.ndims,d,a,b,f)}(this.acr.forcePacked||this.acr.doPackUnitCell||this.acr.noPack)&&this.trimToUnitCell(e);this.updateSupercellAtomSites(j,u,g)}}});e(c,"duplicateAtomProperties",function(a){var b=this.asc.getAtomSetAuxiliaryInfoValue(-1,"atomProperties");if(null!=b)for(var f,d=
b.entrySet().iterator();d.hasNext()&&((f=d.next())||1);){var u=f.getKey(),c=f.getValue();if("string"==typeof c){for(var g=c,h=new JU.SB,c=a;0<=--c;)h.append(g);b.put(u,h.toString())}else{u=c;g=D(u.length*a,0);for(c=a;0<=--c;)System.arraycopy(u,0,g,c*u.length,u.length)}}},"~N");e(c,"finalizeSymmetry",function(a){var b=this.asc.getAtomSetAuxiliaryInfoValue(-1,"spaceGroup");a.setFinalOperations(this.ndims,b,this.asc.atoms,this.firstAtom,this.noSymmetryCount,this.doNormalize,this.filterSymop);(null!=
this.filterSymop||null==b||b.equals("unspecified!"))&&this.setAtomSetSpaceGroupName(a.getUnitCellDisplayName());null!=this.unitCellParams||Float.isNaN(this.acr.unitCellParams[0])||(a.fixUnitCell(this.acr.unitCellParams)&&this.acr.appendLoadNote("Unit cell parameters were adjusted to match space group!"),this.setUnitCellSafely())},"J.adapter.smarter.XtalSymmetry.FileSymmetry");e(c,"removePacking",function(a,b,f,d,u,c,g,h,e){return b.x>f-e&&b.x<d-e&&(2>a||b.y>u-e&&b.y<c-e)&&(3>a||b.z>g-e&&b.z<h-e)},
"~N,JU.P3,~N,~N,~N,~N,~N,~N,~N");e(c,"reset",function(){this.asc.coordinatesAreFractional=!1;this.asc.setCurrentModelInfo("hasSymmetry",Boolean.TRUE);this.asc.setGlobalBoolean(1)});e(c,"setAtomSetSpaceGroupName",function(a){this.symmetry.setSpaceGroupName(a);a+="";this.asc.setCurrentModelInfo("f2cTitle",a);this.asc.setCurrentModelInfo("spaceGroup",a)},"~S");e(c,"setCurrentModelInfo",function(a,b,f){null==b?(this.asc.setCurrentModelInfo("presymmetryAtomCount",Integer.$valueOf(this.noSymmetryCount)),
this.asc.setCurrentModelInfo("biosymmetryCount",Integer.$valueOf(a)),this.asc.setCurrentModelInfo("biosymmetry",this.symmetry)):(this.asc.setCurrentModelInfo("presymmetryAtomCount",Integer.$valueOf(a)),this.asc.setCurrentModelInfo("latticeDesignation",b.getLatticeDesignation()),this.asc.setCurrentModelInfo("ML_unitCellRange",f),this.acr.isSUPERCELL&&this.asc.setCurrentModelInfo("supercell",this.acr.strSupercell));this.asc.setCurrentModelInfo("presymmetryAtomIndex",Integer.$valueOf(this.firstAtom));
a=this.symmetry.getSpaceGroupOperationCount();0<a&&(this.asc.setCurrentModelInfo("symmetryOperations",this.symmetry.getSymopList(this.doNormalize)),this.asc.setCurrentModelInfo("symOpsTemp",this.symmetry.getSymmetryOperations()));this.asc.setCurrentModelInfo("symmetryCount",Integer.$valueOf(a));this.asc.setCurrentModelInfo("latticeType",null==this.acr.latticeType?"P":this.acr.latticeType);this.asc.setCurrentModelInfo("intlTableNo",this.symmetry.getIntTableNumber());this.asc.setCurrentModelInfo("intlTableIndex",
this.symmetry.getSpaceGroupInfoObj("itaIndex",null,!1,!1));this.asc.setCurrentModelInfo("intlTableTransform",this.symmetry.getSpaceGroupInfoObj("itaTransform",null,!1,!1));this.asc.setCurrentModelInfo("intlTableJmolId",this.symmetry.getSpaceGroupJmolId());this.asc.setCurrentModelInfo("spaceGroupIndex",Integer.$valueOf(this.symmetry.getSpaceGroupIndex()));this.asc.setCurrentModelInfo("spaceGroupTitle",this.symmetry.getSpaceGroupTitle());if(null==this.acr.sgName||0<=this.acr.sgName.indexOf("?")||0<=
this.acr.sgName.indexOf("!"))this.setAtomSetSpaceGroupName(this.acr.sgName=this.symmetry.getSpaceGroupName())},"~N,J.adapter.smarter.XtalSymmetry.FileSymmetry,~A");e(c,"setCurrentModelUCInfo",function(a,b,f){null!=a&&this.asc.setCurrentModelInfo("unitCellParams",a);null!=b&&this.asc.setCurrentModelInfo("unitCellOffset",b);null!=f&&this.asc.setCurrentModelInfo("matUnitCellOrientation",f)},"~A,JU.P3,JU.M3");e(c,"setLatticeCells",function(){this.latticeCells=this.acr.latticeCells;var a=555>=this.latticeCells[0]&&
555<=this.latticeCells[1]&&(0==this.latticeCells[2]||1==this.latticeCells[2]||-1==this.latticeCells[2]);this.doNormalize=0!=this.latticeCells[0]&&(!a||1==this.latticeCells[2]);this.applySymmetryToBonds=this.acr.applySymmetryToBonds;this.doPackUnitCell=this.acr.doPackUnitCell&&!this.applySymmetryToBonds;this.doCentroidUnitCell=this.acr.doCentroidUnitCell;this.centroidPacked=this.acr.centroidPacked;this.filterSymop=this.acr.filterSymop});e(c,"setLatticeRange",function(a,b){var f=null,d="R".equals(a);
b.equals("conventional")?f=this.symmetry.getConventionalUnitCell(a,this.acr.primitiveToCrystal):b.equals("primitive")?(f=this.symmetry.getUnitCellVectors(),this.symmetry.toFromPrimitive(!0,a.charAt(0),f,this.acr.primitiveToCrystal)):d&&b.equals("rhombohedral")?b=1==this.symmetry.getUnitCellInfoType(8)?"2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c":null:d&&b.equals("trigonal")?b=1==this.symmetry.getUnitCellInfoType(9)?"a-b,b-c,a+b+c":null:(0>b.indexOf(",")||0>b.indexOf("a")||0>b.indexOf("b")||b.indexOf("c"),
b=null);if(null!=b&&null==f&&null==(f=this.symmetry.getV0abc(b,null)))b=null;if(null==b)return null;this.acr.addJmolScript("unitcell "+JU.PT.esc(b));return f},"~S,~S");e(c,"setMinMax",function(a,b,f,d,u){this.minXYZ=new JU.P3i;this.maxXYZ=JU.P3i.new3(f,d,u);JU.SimpleUnitCell.setMinMaxLatticeParameters(a,this.minXYZ,this.maxXYZ,b)},"~N,~N,~N,~N,~N");e(c,"setSymmetryMinMax",function(a){this.rminx>a.x&&(this.rminx=a.x);this.rminy>a.y&&(this.rminy=a.y);this.rminz>a.z&&(this.rminz=a.z);this.rmaxx<a.x&&
(this.rmaxx=a.x);this.rmaxy<a.y&&(this.rmaxy=a.y);this.rmaxz<a.z&&(this.rmaxz=a.z)},"JU.P3");e(c,"setUnitCell",function(a,b,f){this.unitCellParams=D(a.length,0);for(var d=0;d<a.length;d++)this.unitCellParams[d]=a[d];this.asc.haveUnitCell=!0;this.asc.isTrajectory&&(null==this.trajectoryUnitCells&&(this.trajectoryUnitCells=new JU.Lst,this.asc.setInfo("unitCells",this.trajectoryUnitCells)),this.trajectoryUnitCells.addLast(this.unitCellParams));this.asc.setGlobalBoolean(2);this.getSymmetry().setUnitCellFromParams(this.unitCellParams,
!1,this.unitCellParams[26]);null!=f&&this.symmetry.setOffsetPt(f);null!=b&&this.symmetry.initializeOrientation(b);this.setCurrentModelUCInfo(this.unitCellParams,f,b)},"~A,JU.M3,JU.P3");e(c,"setUnitCellSafely",function(){null==this.unitCellParams&&this.setUnitCell(this.acr.unitCellParams,this.acr.matUnitCellOrientation,this.acr.unitCellOffset)});e(c,"symmetryAddAtoms",function(a,b,f,d,u,c,g,h,e,j){var n=0==d,q=null!=j;this.doPackUnitCell&&this.ptOffset.set(a,b,f);var p=this.symmetryRange*this.symmetryRange,
y=0>this.symmetryRange,r=0<this.symmetryRange,t=n&&r,r=(new Boolean(r&!n)).valueOf(),s=this.symmetry.getSpaceGroupOperationCount(),v=this.acr.lstNCS,m=null==v?0:v.size(),w=s+m,m=E(m/s),B=this.checkNearAtoms&&(1<w||this.doPackUnitCell),z=y||r,G=B||z,A=null!=e,x=B||t,va=this.acr.isMolecular?null:this.asc.bsAtoms,Q=this.symmetry;y&&(d=this.noSymmetryCount);var y=this.firstAtom+this.noSymmetryCount,D=0>this.asc.firstAtomToBond?y:this.asc.firstAtomToBond,X=new JU.P3,M=null,F=A?0.01:1E-4,U="\x00",Z=null==
va?this.firstAtom:va.nextSetBit(this.firstAtom),ga=0;a:for(;ga<w;ga++)if(!(n&&0==ga||this.crystalReaderLatticeOpsOnly&&0<ga&&0!=ga%this.latticeOp||null!=e&&e.get(ga))){for(var L=this.firstAtom+(B?u:r?d:0),N=ga>=s?0:0==this.asc.vibScale?Q.getSpinOp(ga):this.asc.vibScale,R=Math.max(this.firstAtom,null==va?0:va.nextSetBit(0)),ba=G,C=ga>=s?E((ga-s)/m):ga,S=C+c;R<y;R++){var T=this.asc.atoms[R];if(null==va||va.get(R)){null==h?Q.newSpaceGroupPoint(T,ga,ga>=s?v.get(ga-s):null,a,b,f,X):(Q=h.getAtomSymmetry(T,
this.symmetry),Q.newSpaceGroupPoint(T,ga,null,a,b,f,X),M=Q.getSpaceGroupOperationCode(ga),null!=M&&(U=M.charAt(0),Q=h.getSymmetryFromCode(M),0==Q.getSpaceGroupOperationCount()&&this.finalizeSymmetry(Q)));this.acr.fixFloatPt(X,1E5);var Y=JU.P3.newP(X);Q.toCartesian(Y,!1);if(this.doPackUnitCell&&(Q.toUnitCellRnd(Y,this.ptOffset),X.setT(Y),Q.toFractional(X,!1),this.acr.fixFloatPt(X,1E5),!this.isWithinCell(this.ndims,X,this.minXYZ0.x,this.maxXYZ0.x,this.minXYZ0.y,this.maxXYZ0.y,this.minXYZ0.z,this.maxXYZ0.z,
this.packingRange)))continue;t&&this.setSymmetryMinMax(Y);var K=null;if(ba){if(z&&(Y.x<this.rminx||Y.y<this.rminy||Y.z<this.rminz||Y.x>this.rmaxx||Y.y>this.rmaxy||Y.z>this.rmaxz))continue;for(var aa=3.4028235E38,O=this.checkAll?this.asc.ac:L,$=T.atomName,V=null==M?T.altLoc:U,ea=Z;ea<O;ea++)if(null==va||va.get(ea)){var P=g[ea-this.firstAtom];if(null!=P){P=Y.distanceSquared(P);if(B&&P<F){if(A){e.set(ga);continue a}K=this.asc.atoms[ea];if((null==K.atomName||K.atomName.equals($))&&K.altLoc==V)break;K=
null}r&&(ea<d&&P<aa)&&(aa=P)}}if(r&&aa>p)continue}A&&(ba=!1);ea=T.atomSite;if(null!=K)q&&(j[ea]=K.index),K.bsSymmetry.set(S),K.bsSymmetry.set(C);else{q&&(j[ea]=this.asc.ac);K=T.copyTo(X,this.asc);null!=this.asc.bsAtoms&&this.asc.bsAtoms.set(K.index);0!=N&&null!=K.vib&&(Q.getSpaceGroupOperation(ga).rotateSpin(K.vib),K.vib.scale(N));if(0>K.part){var da=Integer.$valueOf(1E3*ga+500+K.part);null==this.disorderMap&&(this.disorderMap=new java.util.Hashtable);aa=this.disorderMap.get(da);null==aa&&(O=Integer.$valueOf(K.part),
$=null==this.disorderMap.get(O),0==this.disorderMapMax||122==this.disorderMapMax?this.disorderMapMax=64:90==this.disorderMapMax&&(this.disorderMapMax=96),aa=new Character($?K.altLoc:String.fromCharCode(++this.disorderMapMax)),this.disorderMap.put(da,aa),$&&this.disorderMap.put(O,aa));K.altLoc=aa.charValue()}K.atomSite=ea;null!=M&&(K.altLoc=U);K.bsSymmetry=JU.BSUtil.newAndSetBit(S);K.bsSymmetry.set(C);x&&(g[u++]=Y);T=T.tensors;if(null!=T){K.tensors=null;for(ea=T.size();0<=--ea;)Y=T.get(ea),null!=Y&&
(1==s?K.addTensor(Y.copyTensor(),null,!1):this.addRotatedTensor(K,Y,ga,!1,Q))}}}}if(q){L=this.asc.bonds;N=this.asc.atoms;for(ba=this.asc.bondIndex0;ba<this.bondCount0;ba++)if(C=L[ba],K=N[C.atomIndex1],R=N[C.atomIndex2],!(null==K||null==R||R.atomSetIndex<K.atomSetIndex))if(S=j[K.atomSite],T=j[R.atomSite],S>T&&(R=S,S=T,T=R),S!=T&&(S>=D||T>=D)&&0>this.bondsFound.indexOf(da="-"+S+","+T))this.bondsFound.append(da),this.asc.addNewBondWithOrder(S,T,C.order)}}return u},"~N,~N,~N,~N,~N,~N,~A,J.adapter.smarter.MSInterface,JU.BS,~A");
e(c,"setPartProperty",function(){for(var a=this.asc.atomSetCount;0<=--a;){for(var b=D(this.asc.getAtomSetAtomCount(a),0),f=0,d=this.asc.getAtomSetAtomIndex(a),u=b.length;f<u;f++){var c=this.asc.atoms[d++];b[f]=c.part}this.asc.setAtomProperties("part",b,a,!1)}});e(c,"trimToUnitCell",function(a){var b=this.asc.atoms,f=this.updateBSAtoms();if(this.acr.noPack)for(a=f.nextSetBit(a);0<=a;a=f.nextSetBit(a+1))this.removePacking(this.ndims,b[a],this.minXYZ.x,this.maxXYZ.x,this.minXYZ.y,this.maxXYZ.y,this.minXYZ.z,
this.maxXYZ.z,this.packingRange)||f.clear(a);else for(a=f.nextSetBit(a);0<=a;a=f.nextSetBit(a+1))this.isWithinCell(this.ndims,b[a],this.minXYZ.x,this.maxXYZ.x,this.minXYZ.y,this.maxXYZ.y,this.minXYZ.z,this.maxXYZ.z,this.packingRange)||f.clear(a)},"~N");e(c,"updateBSAtoms",function(){var a=this.asc.bsAtoms;null==a&&(a=this.asc.bsAtoms=JU.BSUtil.newBitSet2(0,this.asc.ac));0>a.nextSetBit(this.firstAtom)&&a.setBits(this.firstAtom,this.asc.ac);return a});e(c,"updateSupercellAtomSites",function(a,b,f){for(var d=
b.cardinality(),d=Array(d),u=0,c=f*f,g=b.nextSetBit(0);0<=g;g=b.nextSetBit(g+1)){var h=this.asc.atoms[g],e=new J.adapter.smarter.Atom;e.setT(h);null!=a&&(a.rotTrans(e),JU.SimpleUnitCell.unitizeDimRnd(3,e,f));e.atomSerial=h.atomSite;e.atomSite=h.atomSite;this.symmetry.unitize(e);for(var j=!1,n=0;n<u;n++){var q=d[n];if(e.atomSerial==q.atomSerial&&e.distanceSquared(q)<c){j=!0;h.atomSite=q.atomSite;break}}j||(h.atomSite=e.atomSite=u,d[u++]=e)}},"JU.M4,JU.BS,~N");e(c,"newFileSymmetry",function(){return new J.adapter.smarter.XtalSymmetry.FileSymmetry});
c=C(function(){this.spinFrameRotationMatrix=this.spinFrameAxisType=this.perpUVW=this.spinFrameXyz=this.spinFramePp=this.spinFrameExt=this.spinFrame=null;this.nSpins=0;L(this,arguments)},J.adapter.smarter.XtalSymmetry,"FileSymmetry",JS.Symmetry);V(c,function(){Ea(this,J.adapter.smarter.XtalSymmetry.FileSymmetry,[])});e(c,"addMagLatticeVectors",function(a){return this.spaceGroup.addMagLatticeVectors(a)},"JU.Lst");e(c,"addSpinLattice",function(a){return this.spaceGroup.addSpinLattice(a)},"JU.Lst");e(c,
"checkDistance",function(a,b,f,d,u,c,g,h){return this.unitCell.checkDistance(a,b,f,d,u,c,g,h)},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");e(c,"createSpaceGroup",function(a,b,f,d){this.spaceGroup=JS.SpaceGroup.createSpaceGroup(a,b,f,d);null!=this.spaceGroup&&JU.Logger.debugging&&JU.Logger.debug("using generated space group "+this.spaceGroup.dumpInfo());return null!=this.spaceGroup},"~N,~S,~O,~N");e(c,"fcoord",function(a){return JS.SymmetryOperation.fcoord(a," ")},"JU.T3");e(c,"getRotTransArrayAndXYZ",function(a,
b){JS.SymmetryOperation.getRotTransArrayAndXYZ(null,a,b,!1,!0,!1,!1,null)},"~S,~A");e(c,"getSpaceGroupOperationCode",function(a){return this.spaceGroup.symmetryOperations[a].subsystemCode},"~N");e(c,"getTensor",function(a,b){if(null==b)return null;null==this.unitCell&&(this.unitCell=JS.UnitCell.fromParams(D(-1,[1,1,1,90,90,90]),!0,1E-4));return this.unitCell.getTensor(a,b)},"JV.Viewer,~A");e(c,"getSpaceGroupTitle",function(){var a=this.getSpaceGroupName();return a.startsWith("cell=")?a:null!=this.spaceGroup?
this.spaceGroup.asString():null!=this.unitCell&&0<this.unitCell.name.length?"cell="+this.unitCell.name:""});e(c,"setPrecision",function(a){this.unitCell.setPrecision(a)},"~N");e(c,"toFractionalM",function(a){this.$isBio||this.unitCell.toFractionalM(a)},"JU.M4");e(c,"toUnitCellRnd",function(a,b){this.unitCell.toUnitCellRnd(a,b)},"JU.T3,JU.T3");e(c,"twelfthify",function(a){this.unitCell.twelfthify(a)},"JU.P3");e(c,"getConventionalUnitCell",function(a,b){return null==this.unitCell||null==a?null:this.unitCell.getConventionalUnitCell(a,
b)},"~S,JU.M3");e(c,"getSpaceGroupIndex",function(){return this.spaceGroup.getIndex()});e(c,"getUnitCellF2C",function(){return this.unitCell.getF2C()});e(c,"addInversion",function(){var a=this.spaceGroup.symmetryOperations,b=new JU.M4;b.m00=b.m11=b.m22=-1;b.m33=1;for(var f=this.getSpaceGroupOperationCount(),d=new JU.M4,u=0;u<f;u++){d.mul2(b,a[u]);var c=JS.SymmetryOperation.getXYZFromMatrix(d,!0,!0,!1);this.addSpaceGroupOperation(c,0)}});e(c,"rotateAxes",function(a,b,f,d){return 0==a?b:this.spaceGroup.symmetryOperations[a].rotateAxes(b,
this.unitCell,f,d)},"~N,~A,JU.P3,JU.M3");e(c,"transformUVW",function(a,b,f){b.equals(this.spinFrame)||(this.spinFrame=b,this.spinFrameExt=f,this.spinFramePp=this.spinFrameXyz=null);return a},"~S,~S,~S");e(c,"magneticMomentsToFractional",function(a,b){var f=b[0],d=b[1],u=b[2];if(null!=this.spinFrame){var c=this.setSpinFrameMatrices(b),f=c[1].length(),d=c[2].length(),u=c[3].length();if(null!=this.perpUVW){var g=JU.M4.newM4(this.spinFramePp).invert(),h=new JU.M3;g.getRotationScale(h);h.rotate(this.perpUVW);
this.toCartesian(this.perpUVW,!0);this.spinFrameRotationMatrix=JU.Quat.newVA(this.perpUVW,0).getMatrix()}this.spinFrameXyz=new JU.M4;g=new JU.P3;for(h=4;0<--h;)g.setT(c[h]),null!=this.spinFrameRotationMatrix&&this.spinFrameRotationMatrix.rotate(g),this.spinFrameXyz.setColumn4(h-1,g.x,g.y,g.z,0);System.out.println("XtalSymmetry spinFramePp="+this.spinFramePp+"\nspinFrameXyz="+this.spinFrameXyz);null!=this.spinFrameRotationMatrix&&a.setCurrentModelInfo("spinFrameRotationMatrix",this.spinFrameRotationMatrix)}f=
JU.P3.new3(1/f,1/d,1/u);d=a.getAtomSetAtomIndex(a.iSet);for(h=a.ac;--h>=d;)g=a.atoms[h].vib,null!=g&&(g.scaleT(f),g.magMoment=g.length())},"J.adapter.smarter.AtomSetCollection,~A");e(c,"setSpinFrameMatrices",function(a){System.out.println("XtalSymmetry.transformUVW using frame "+this.spinFrame);this.setUnitCellFromParams(a,!1,NaN);this.spinFramePp=this.convertTransform(this.spinFrame,null);this.spinFramePp=new JU.M4;a=JS.UnitCell.getMatrixAndUnitCell(this.unitCell,this.spinFrame,this.spinFramePp);
this.spinFrameAxisType="axisxyz";var b=this.getSpinExt(this.spinFrameExt,"axisxyz");null==b&&(b=this.getSpinExt(this.spinFrameExt,"axisxyz"));null==b&&(b=this.getSpinExt(this.spinFrameExt,this.spinFrameAxisType="perpuvw"));if(null!=b){var f=JU.PT.parseFloat(this.getSpinExt(this.spinFrameExt,"angle"));Float.isNaN(f)||(b=0<=b.indexOf("n")?this.getVariableAxis(b):this.getCif2Array(b,D(3,0)),null!=b&&(b=JU.V3.new3(b[0],b[1],b[2]),this.spinFrameAxisType.equals("perpuvw")?this.perpUVW=b:this.spinFrameRotationMatrix=
(new JU.M3).setAA(JU.A4.newVA(b,0.017453292519943295*f))))}return a},"~A");e(c,"getVariableAxis",function(a){var b=JU.P3.new3(1,1,1);a.$replace("n"," ").$replace("u","x").$replace("v","y").$replace("w","z");this.convertTransform(a,null).rotate(b);return D(-1,[b.x,b.y,b.z])},"~S");e(c,"getCif2Array",function(a,b){var f=a.$plit(",");if(f.length==b.length)for(var d=b.length;0<=--d;)if(b[d]=JU.PT.parseFloat(f[d].trim()),Float.isNaN(b[d]))return null;return b},"~S,~A");e(c,"getSpinExt",function(a,b){if(null==
a)return null;b=";"+b+"=";var f=a.indexOf(b);return 0>f?null:a.substring(f+b.length,a.indexOf(";",f+1))},"~S,~S");e(c,"setMagneticMoments",function(a){if(0<this.nSpins)return this.nSpins;for(var b=a.getAtomSetAtomIndex(a.iSet),f=a.ac;--f>=b;){var d=a.atoms[f].vib;null!=d&&(0<d.modDim?(d.setMoment(),this.nSpins++):(d=d.clone(),null!=this.spinFrameXyz&&this.spinFrameXyz.rotate(d),0<d.lengthSquared()?this.nSpins++:d=null,a.atoms[f].vib=d))}return this.nSpins},"J.adapter.smarter.AtomSetCollection")});
da("JS");ja(["J.api.SymmetryInterface"],"JS.Symmetry","java.util.Hashtable $.Stack JU.AU $.BS $.JSJSONParser $.Lst $.M4 $.P3 $.PT $.Quat $.Rdr $.SB J.api.Interface J.bspt.Bspt JS.PointGroup $.SpaceGroup $.SymmetryInfo $.SymmetryOperation $.UnitCell JU.BSUtil $.Escape $.Logger $.SimpleUnitCell JV.FileManager".split(" "),function(){var c=C(function(){this.unitCell=this.spaceGroup=null;this.$isBio=!1;this.vwr=this.transformMatrix=this.desc=this.symmetryInfo=this.cip=this.pointGroup=null;L(this,arguments)},
JS,"Symmetry",null,J.api.SymmetryInterface);m(c,"getSymopList",function(a){for(var b=this.spaceGroup.operationCount,f=Array(b),d=0;d<b;d++)f[d]=""+this.getSpaceGroupXyz(d,a);return f},"~B");m(c,"isBio",function(){return this.$isBio});m(c,"setPointGroup",function(a,b,f,d,u,c,g,h,e,j){this.pointGroup=JS.PointGroup.getPointGroup(null==b?null:b.pointGroup,f,d,u,c,g,h,e,j,a.getBoolean(603979956),a.getScalePixelsPerAngstrom(!1));return this},"JV.Viewer,J.api.SymmetryInterface,JU.T3,~A,JU.BS,~B,~N,~N,~N,~B");
m(c,"getPointGroupName",function(){return this.pointGroup.getName()});m(c,"getPointGroupInfo",function(a,b,f,d,u,c){return null==b&&!f&&null!=this.pointGroup.textInfo?this.pointGroup.textInfo:null==b&&this.pointGroup.isDrawType(d,u,c)?this.pointGroup.drawInfo:f&&null!=this.pointGroup.info?this.pointGroup.info:this.pointGroup.getInfo(a,b,f,d,u,c)},"~N,~S,~B,~S,~N,~N");m(c,"setSpaceGroup",function(a){this.symmetryInfo=null;null==this.spaceGroup&&(this.spaceGroup=JS.SpaceGroup.getNull(!0,a,!1))},"~B");
m(c,"addSpaceGroupOperation",function(a,b){return this.spaceGroup.addSymmetry(a,b,!1)},"~S,~N");m(c,"addBioMoleculeOperation",function(a,b){this.$isBio=this.spaceGroup.isBio=!0;return this.spaceGroup.addSymmetry((b?"!":"")+"[[bio"+a,0,!1)},"JU.M4,~B");m(c,"setLattice",function(a){this.spaceGroup.setLatticeParam(a)},"~N");m(c,"getSpaceGroup",function(){return this.spaceGroup});m(c,"getSpaceGroupInfoObj",function(a,b,f,d){var u=!1;switch(a){case "list":return this.getSpaceGroupList(b);case "opsCtr":return this.spaceGroup.getOpsCtr(b);
case "itaTransform":case "itaNumber":u=!0;case "nameToXYZList":case "itaIndex":case "hmName":case "hmNameShort":f=null;if(null!=b){if(b.endsWith("'"))return b=JS.SpaceGroup.convertWyckoffHMCleg(b,null),u&&null!=b?(f=b.indexOf(":"),"itaNumber".equals(a)?b.substring(0,f):b.substring(f+1)):null;if(1<b.length&&"/"==b.charAt(1)){f=JS.SpaceGroup.getExplicitSpecialGroupType(b);f=JS.Symmetry.getSpecialSettingInfo(this.vwr,b,f);if(null!=f)switch(a){case "itaData":return f;case "hmName":case "hmNameShort":return f.get("hm");
case "nameToXYZList":return f.get("gp");case "itaIndex":return""+f.get("sg")+"."+f.get("set");case "itaTransform":return f.get("trm");case "itaNumber":return""+f.get("sg")}return null}b.startsWith("ITA/")&&(b=b.substring(4));f=JS.SpaceGroup.determineSpaceGroupN(b);null==f&&"nameToXYZList".equals(a)&&(f=JS.SpaceGroup.createSpaceGroupN(b,!0))}else null!=this.spaceGroup?f=this.spaceGroup:null!=this.symmetryInfo&&(f=this.symmetryInfo.getDerivedSpaceGroup());switch(null==f?"":a){case "hmName":return f.getHMName();
case "hmNameShort":return f.getHMNameShort();case "nameToXYZList":a=new JU.Lst;f.setFinalOperationsSafely();u=0;for(b=f.getOperationCount();u<b;u++)a.addLast(f.getOperation(u).xyz);return a;case "itaIndex":return f.getItaIndex();case "itaTransform":return f.itaTransform;case "itaNumber":return f.itaNumber}return null;default:return JS.SpaceGroup.getInfo(this.spaceGroup,a,b,f,d)}},"~S,~O,~B,~B");e(c,"getSpaceGroupList",function(a){for(var b=new JU.SB,f=this.getSpaceGroupJSON("ITA","ALL",0),d=0,u=f.size();d<
u;d++){var c=f.get(d),g=c.get("sg");(null==a||g.equals(a))&&b.appendO(g).appendC(".").appendO(c.get("set")).appendC("\t").appendO(c.get("hm")).appendC("\t").appendO(c.get("sg")).appendC(":").appendO(c.get("trm")).appendC("\n")}return b.toString()},"Integer");m(c,"getLatticeDesignation",function(){return this.spaceGroup.getShelxLATTDesignation()});m(c,"setFinalOperations",function(a,b,f,d,u,c,g){null!=b&&(b.startsWith("bio")||0<=b.indexOf(" *("))&&this.spaceGroup.setName(b);var h="unspecified!".equals(b);
h&&(g="calculated");if(null!=g){var e=new JU.Lst;e.addLast(this.spaceGroup.symmetryOperations[0]);for(var j=1;j<this.spaceGroup.operationCount;j++)(h||g.contains(" "+(j+1)+" "))&&e.addLast(this.spaceGroup.symmetryOperations[j]);this.spaceGroup=JS.SpaceGroup.createSpaceGroup(-1,b+" *("+g.trim()+")",e,-1)}this.spaceGroup.setFinalOperationsForAtoms(a,f,d,u,c)},"~N,~S,~A,~N,~N,~B,~S");m(c,"getSpaceGroupOperation",function(a){return null==this.spaceGroup||null==this.spaceGroup.symmetryOperations||a>=this.spaceGroup.symmetryOperations.length?
null:null==this.spaceGroup.finalOperations?this.spaceGroup.symmetryOperations[a]:this.spaceGroup.finalOperations[a]},"~N");m(c,"getSpaceGroupXyz",function(a,b){return this.spaceGroup.getXyz(a,b)},"~N,~B");m(c,"newSpaceGroupPoint",function(a,b,f,d,u,c,g){null==f&&null==this.spaceGroup.finalOperations&&(f=this.spaceGroup.symmetryOperations[b],f.isFinalized||f.doFinalize());JS.SymmetryOperation.rotateAndTranslatePoint(null==f?this.spaceGroup.finalOperations[b]:f,a,d,u,c,g)},"JU.P3,~N,JU.M4,~N,~N,~N,JU.P3");
m(c,"getSpinOp",function(a){return this.spaceGroup.symmetryOperations[a].getMagneticOp()},"~N");m(c,"getLatticeOp",function(){return this.spaceGroup.latticeOp});m(c,"getLatticeCentering",function(){return JS.SymmetryOperation.getLatticeCentering(this.getSymmetryOperations())});m(c,"getOperationRsVs",function(a){return(null==this.spaceGroup.finalOperations?this.spaceGroup.symmetryOperations:this.spaceGroup.finalOperations)[a].rsvs},"~N");m(c,"getSiteMultiplicity",function(a){return this.spaceGroup.getSiteMultiplicity(a,
this.unitCell)},"JU.P3");m(c,"getSpaceGroupName",function(){return null!=this.spaceGroup?this.spaceGroup.getName():null!=this.symmetryInfo?this.symmetryInfo.sgName:null!=this.unitCell&&0<this.unitCell.name.length?"cell="+this.unitCell.name:""});m(c,"geCIFWriterValue",function(a){return null==this.spaceGroup?null:this.spaceGroup.getCIFWriterValue(a,this)},"~S");m(c,"getLatticeType",function(){return null!=this.symmetryInfo?this.symmetryInfo.latticeType:null==this.spaceGroup?"P":this.spaceGroup.latticeType});
m(c,"getIntTableNumber",function(){return null!=this.symmetryInfo?this.symmetryInfo.intlTableNo:null==this.spaceGroup?null:this.spaceGroup.itaNumber});m(c,"getIntTableIndex",function(){return null!=this.symmetryInfo?this.symmetryInfo.intlTableIndexNdotM:null==this.spaceGroup?null:this.spaceGroup.getItaIndex()});m(c,"getIntTableTransform",function(){return null!=this.symmetryInfo?this.symmetryInfo.intlTableTransform:null==this.spaceGroup?null:this.spaceGroup.itaTransform});m(c,"getSpaceGroupClegId",
function(){return null!=this.symmetryInfo?this.symmetryInfo.getClegId():this.spaceGroup.getClegId()});m(c,"getSpaceGroupJmolId",function(){return null!=this.symmetryInfo?this.symmetryInfo.intlTableJmolId:null==this.spaceGroup?null:this.spaceGroup.jmolId});m(c,"getCoordinatesAreFractional",function(){return null==this.symmetryInfo||this.symmetryInfo.coordinatesAreFractional});m(c,"getCellRange",function(){return null==this.symmetryInfo?null:this.symmetryInfo.cellRange});m(c,"getSymmetryInfoStr",function(){if(null!=
this.symmetryInfo)return this.symmetryInfo.infoStr;if(null==this.spaceGroup)return"";(this.symmetryInfo=new JS.SymmetryInfo).setSymmetryInfoFromModelkit(this.spaceGroup);return this.symmetryInfo.infoStr});m(c,"getSpaceGroupOperationCount",function(){return null!=this.symmetryInfo&&null!=this.symmetryInfo.symmetryOperations?this.symmetryInfo.symmetryOperations.length:null!=this.spaceGroup?null!=this.spaceGroup.finalOperations?this.spaceGroup.finalOperations.length:this.spaceGroup.operationCount:0});
m(c,"getSymmetryOperations",function(){if(null!=this.symmetryInfo)return this.symmetryInfo.symmetryOperations;null==this.spaceGroup&&(this.spaceGroup=JS.SpaceGroup.getNull(!0,!1,!0));this.spaceGroup.setFinalOperationsSafely();return this.spaceGroup.finalOperations});m(c,"getAdditionalOperationsCount",function(){return null!=this.symmetryInfo&&null!=this.symmetryInfo.symmetryOperations&&null!=this.symmetryInfo.getAdditionalOperations()?this.symmetryInfo.additionalOperations.length:null!=this.spaceGroup&&
null!=this.spaceGroup.finalOperations?this.spaceGroup.getAdditionalOperationsCount():0});m(c,"getAdditionalOperations",function(){if(null!=this.symmetryInfo)return this.symmetryInfo.getAdditionalOperations();this.getSymmetryOperations();return this.spaceGroup.getAdditionalOperations()});m(c,"isSimple",function(){return null==this.spaceGroup&&(null==this.symmetryInfo||null==this.symmetryInfo.symmetryOperations)});m(c,"haveUnitCell",function(){return null!=this.unitCell});m(c,"setUnitCellFromParams",
function(a,b,f){null==a&&(a=D(-1,[1,1,1,90,90,90]));this.unitCell=JS.UnitCell.fromParams(a,b,f);return this},"~A,~B,~N");m(c,"unitCellEquals",function(a){return a.unitCell.isSameAs(this.unitCell.getF2C())},"J.api.SymmetryInterface");m(c,"isSymmetryCell",function(a){a=a.unitCell;var b=!a.isStandard()?null:null!=this.symmetryInfo?this.symmetryInfo.spaceGroupF2C:this.unitCell.getF2C();a=a.isSameAs(b);null!=this.symmetryInfo&&this.symmetryInfo.setIsCurrentCell(a)&&this.setUnitCellFromParams(this.symmetryInfo.spaceGroupF2CParams,
!1,NaN);return a},"J.api.SymmetryInterface");m(c,"getUnitCellState",function(){return null==this.unitCell?"":this.unitCell.getState()});m(c,"getMoreInfo",function(){return this.unitCell.getMoreInfo()});m(c,"initializeOrientation",function(a){this.unitCell.initOrientation(a)},"JU.M3");m(c,"unitize",function(a){this.unitCell.unitize(a)},"JU.T3");m(c,"toUnitCell",function(a,b){this.unitCell.toUnitCell(a,b)},"JU.T3,JU.T3");m(c,"toSupercell",function(a){return this.unitCell.toSupercell(a)},"JU.P3");m(c,
"toFractional",function(a,b){this.$isBio||this.unitCell.toFractional(a,b)},"JU.T3,~B");m(c,"toCartesian",function(a,b){this.$isBio||this.unitCell.toCartesian(a,b)},"JU.T3,~B");m(c,"getUnitCellParams",function(){return this.unitCell.getUnitCellParams()});m(c,"getUnitCellAsArray",function(a){return this.unitCell.getUnitCellAsArray(a)},"~B");m(c,"getUnitCellVerticesNoOffset",function(){return this.unitCell.getVertices()});m(c,"getCartesianOffset",function(){return this.unitCell.getCartesianOffset()});
m(c,"getFractionalOffset",function(a){var b=this.unitCell.getFractionalOffset();return a&&null!=b&&b.x==x(b.x)&&b.y==x(b.y)&&b.z==x(b.z)?null:b},"~B");m(c,"setOffsetPt",function(a){this.unitCell.setOffset(a)},"JU.T3");m(c,"setOffset",function(a){var b=new JU.P3;JU.SimpleUnitCell.ijkToPoint3f(a,b,0,0);this.unitCell.setOffset(b)},"~N");m(c,"getUnitCellMultiplier",function(){return this.unitCell.getUnitCellMultiplier()});m(c,"getUnitCellMultiplied",function(){var a=this.unitCell.getUnitCellMultiplied();
if(a===this.unitCell)return this;var b=(new JS.Symmetry).setViewer(this.vwr);b.unitCell=a;return b});m(c,"getCanonicalCopy",function(a,b){return this.unitCell.getCanonicalCopy(a,b)},"~N,~B");m(c,"getUnitCellInfoType",function(a){return this.unitCell.getInfo(a)},"~N");m(c,"getUnitCellInfo",function(a){return null==this.unitCell?null:this.unitCell.dumpInfo(!1,a)},"~B");m(c,"isSlab",function(){return this.unitCell.isSlab()});m(c,"isPolymer",function(){return this.unitCell.isPolymer()});e(c,"getUnitCellVectors",
function(){return this.unitCell.getUnitCellVectors()});m(c,"getUnitCell",function(a,b,f){if(null==a)return null;this.unitCell=JS.UnitCell.fromOABC(a,b);null!=f&&(this.unitCell.name=f);return this},"~A,~B,~S");m(c,"isSupercell",function(){return this.unitCell.isSupercell()});m(c,"notInCentroid",function(a,b,f){try{var d=new JU.BS,u=b.nextSetBit(0),c=a.getMolecules(),g=c.length,h=a.at,e=c[g-1].firstAtomIndex==a.am[h[u].mi].firstAtomIndex,j=new JU.P3,n=f[6]/100;a=0!=n;a:for(;0<=--g&&b.get(c[g].firstAtomIndex);){var q=
c[g].atomList;j.set(0,0,0);for(var u=0,p=q.nextSetBit(0);0<=p;p=q.nextSetBit(p+1))if(e||a)if(j.setT(h[p]),this.isNotCentroid(j,1,f,n))e&&d.set(p);else{if(!e)continue a}else j.add(h[p]),u++;(a||0<u&&this.isNotCentroid(j,u,f,0))&&d.or(q)}return d}catch(y){if(P(y,Exception))return null;throw y;}},"JM.ModelSet,JU.BS,~A");e(c,"isNotCentroid",function(a,b,f,d){a.scale(1/b);this.toFractional(a,!1);return 0!=d?(b=0<=d?d:5E-6,a.x+b<=f[0]||a.x-b>f[3]||a.y+b<=f[1]||a.y-b>f[4]||a.z+b<=f[2]||a.z-b>f[5]):a.x+5E-6<=
f[0]||a.x+5E-5>f[3]||a.y+5E-6<=f[1]||a.y+5E-5>f[4]||a.z+5E-6<=f[2]||a.z+5E-5>f[5]},"JU.P3,~N,~A,~N");e(c,"getDesc",function(a){return null==a?null==JS.Symmetry.nullDesc?JS.Symmetry.nullDesc=J.api.Interface.getInterface("JS.SymmetryDesc",null,"modelkit"):JS.Symmetry.nullDesc:(null==this.desc?this.desc=J.api.Interface.getInterface("JS.SymmetryDesc",a.vwr,"eval"):this.desc).set(a)},"JM.ModelSet");m(c,"getSymmetryInfoAtom",function(a,b,f,d,u,c,g,h,e,j,n,q,p){return this.getDesc(a).getSymopInfo(b,f,d,
u,c,g,h,e,j,n,q,p)},"JM.ModelSet,~N,~S,~N,JU.P3,JU.P3,JU.P3,~S,~N,~N,~N,~N,~A");m(c,"getSpaceGroupInfo",function(a,b,f,d,u){var c=null==b;if(null==b){0>f&&(f=a.vwr.am.cmi);var g=a.getModelAuxiliaryInfo(f);null!=g&&(b=g.get("spaceGroup"))}g=null;null!=u&&(g=(new JS.Symmetry).setViewer(this.vwr).setUnitCellFromParams(u,!1,NaN));return this.getDesc(a).getSpaceGroupInfo(this,f,b,0,null,null,null,0,-1,d,c,0,g,null)},"JM.ModelSet,~S,~N,~B,~A");m(c,"getV0abc",function(a,b){var f=null,f=a&&a[0]?a[0]:null;
return(null!=f?$(f,"JU.T3"):$(a,Array))?a:JS.UnitCell.getMatrixAndUnitCell(this.unitCell,a,b)},"~O,JU.M4");m(c,"getQuaternionRotation",function(a){return null==this.unitCell?null:this.unitCell.getQuaternionRotation(a)},"~S");m(c,"getFractionalOrigin",function(){return this.unitCell.getFractionalOrigin()});m(c,"getState",function(a,b,f){var d=null!=a.getInfo(b,"spaceGroupAssigned"),u=this.getFractionalOffset(!1),c=!1;if(null!=u&&(0!=u.x||0!=u.y||0!=u.z))f.append("; set unitcell ").append(JU.Escape.eP(u)),
c=!0;u=this.getUnitCellMultiplier();null!=u&&(f.append("; set unitcell ").append(JU.SimpleUnitCell.escapeMultiplier(u)),c=!0);u=a.getInfo(b,"spaceGroup");d&&null!=u&&(c=u.indexOf("#"),0<=c&&(u=u.substring(c+1)),c="\n UNITCELL "+JU.Escape.e(a.getUnitCell(b).getUnitCellVectors()),f.append(c),f.append("\n MODELKIT SPACEGROUP "+JU.PT.esc(u)),f.append(c),c=!0);a=a.getInfo(b,"spinRotationMatrixApplied");null!=a&&(f.append("\n rotate VECTORS "+JU.Quat.newM(a)),c=!0);return c},"JM.ModelSet,~N,JU.SB");m(c,
"getIterator",function(a,b,f,d){return J.api.Interface.getInterface("JS.UnitCellIterator",a,"script").set(this,b,a.ms.at,f,d)},"JV.Viewer,JM.Atom,JU.BS,~N");m(c,"toFromPrimitive",function(a,b,f,d){null==this.unitCell&&(this.unitCell=JS.UnitCell.fromOABC(f,!1));return this.unitCell.toFromPrimitive(a,b,f,d)},"~B,~S,~A,JU.M3");m(c,"generateCrystalClass",function(a){if(null==this.symmetryInfo||!this.symmetryInfo.isCurrentCell)return null;var b=this.getSymmetryOperations(),f=new JU.Lst,d=null==a,c=0,k=
0,g=0;d?(c=2.718281828459045,k=3.141592653589793,g=Math.log10(2E3),a=JU.P3.new3(c+1,k+2,g+3)):a=JU.P3.newP(a);if(null==b||null==this.unitCell)f.addLast(a);else{this.unitCell.toFractional(a,!0);var h=null,e=null;d&&(h=JU.P3.new3(k+4,g+5,c+6),this.unitCell.toFractional(h,!0),e=JU.P3.new3(g+7,c+8,k+9),this.unitCell.toFractional(e,!0));var k=new J.bspt.Bspt(3,0),g=k.allocateCubeIterator(),c=new JU.P3,j=b.length;a:for(;0<=--j;){b[j].rotate2(a,c);g.initialize(c,0.001,!1);if(g.hasMoreElements())continue a;
var n=JU.P3.newP(c);f.addLast(n);k.addTuple(n);d&&(null!=e&&(b[j].rotate2(e,c),f.addLast(JU.P3.newP(c))),null!=h&&(b[j].rotate2(h,c),f.addLast(JU.P3.newP(c))))}for(b=f.size();0<=--b;)c=f.get(b),d&&c.scale(0.5),this.unitCell.toCartesian(c,!0)}return f},"JU.P3");m(c,"calculateCIPChiralityForAtoms",function(a,b){a.setCursor(3);var f=this.getCIPChirality(a),d=a.getBoolean(603979960)?"CIPData":"CIPDataTracker",d=J.api.Interface.getInterface("JS."+d,a,"script").set(a,b);d.setRule6Full(a.getBoolean(603979823));
f.getChiralityForAtoms(d);a.setCursor(0)},"JV.Viewer,JU.BS");m(c,"calculateCIPChiralityForSmiles",function(a,b){a.setCursor(3);var f=this.getCIPChirality(a),d=J.api.Interface.getInterface("JS.CIPDataSmiles",a,"script").setAtomsForSmiles(a,b);f.getChiralityForAtoms(d);a.setCursor(0);return d.getSmilesChiralityArray()},"JV.Viewer,~S");e(c,"getCIPChirality",function(a){return null==this.cip?this.cip=J.api.Interface.getInterface("JS.CIPChirality",a,"script"):this.cip},"JV.Viewer");m(c,"getUnitCellInfoMap",
function(){return null==this.unitCell?null:this.unitCell.getInfo()});m(c,"setUnitCell",function(a){this.unitCell=JS.UnitCell.cloneUnitCell(a.unitCell)},"J.api.SymmetryInterface");m(c,"findSpaceGroup",function(a,b,f,d,c,k,g){return J.api.Interface.getInterface("JS.SpaceGroupFinder",a,"eval").findSpaceGroup(a,b,f,d,c,k,this,g)},"JV.Viewer,JU.BS,~S,~A,JU.T3,~A,~N");m(c,"setSpaceGroupName",function(a){this.symmetryInfo=null;null!=this.spaceGroup&&this.spaceGroup.setName(a)},"~S");m(c,"setSpaceGroupTo",
function(a){this.symmetryInfo=null;this.spaceGroup=$(a,"JS.SpaceGroup")?a:JS.SpaceGroup.getSpaceGroupFromJmolClegOrITA(this.vwr,a.toString())},"~O");m(c,"removeDuplicates",function(a,b,f){var d=this.unitCell,c=a.at;a=a.occupancies;for(var k=null!=a,g=Array(b.length()),h=b.nextSetBit(0);0<=h;h=b.nextSetBit(h+1)){var e=g[h]=JU.P3.newP(c[h]);d.toFractional(e,!1);f?d.unitizeRnd(e):d.unitize(e)}for(h=b.nextSetBit(0);0<=h;h=b.nextSetBit(h+1)){f=c[h];e=g[h];f=f.getAtomicAndIsotopeNumber();for(var d=k?a[h]:
0,j=b.nextSetBit(h+1);0<=j;j=b.nextSetBit(j+1))f!=c[j].getAtomicAndIsotopeNumber()||k&&d!=a[j]||1.96E-6>e.distanceSquared(g[j])&&b.clear(j)}return b},"JM.ModelSet,JU.BS,~B");m(c,"getEquivPoints",function(a,b,f){var d=this.getSymmetryOperations();return null==d||null==this.unitCell?null:this.unitCell.getEquivPoints(b,f,d,null==a?new JU.Lst:a,0,0,0,this.getPeriodicity())},"JU.Lst,JU.P3,~S");m(c,"getPeriodicity",function(){return null==this.spaceGroup?7:this.spaceGroup.periodicity});m(c,"getDimensionality",
function(){return null==this.spaceGroup?3:this.spaceGroup.nDim});m(c,"getEquivPointList",function(a,b,f,d){var c=null==d?this.getSymmetryOperations():d,k=0<=f.indexOf("newpt"),g=0<=f.indexOf("zapped"),h=a.size(),e=0<=f.indexOf("tofractional");if(0>f.indexOf("fromfractional"))for(var j=0;j<a.size();j++)this.toFractional(a.get(j),!1);f+=",fromfractional,tofractional";var n=0<b?0:h,q=b==h,p=0<b?b:h;q&&(b--,p--);g&&(p=0);var y=0<b?a.get(b):null;d=null==d?p:n;if(null!=c||null!=this.unitCell)for(var r=
this.getPeriodicity(),j=b;j<h;j++)this.unitCell.getEquivPoints(a.get(j),f,c,a,n,p,d,r);!g&&(a.size()==b||a.get(b)!==y||q||k)&&h--;for(j=h-b;0<=--j;)a.removeItemAt(b);if(!e)for(j=a.size();--j>=b;)this.toCartesian(a.get(j),!1)},"JU.Lst,~N,~S,~A");m(c,"getInvariantSymops",function(a,b){var f=this.getSymmetryOperations();if(null==f)return O(0,0);for(var d=new JU.BS,c=new JU.P3,k=new JU.P3,g=f.length,h=1;h<g;h++)c.setT(a),this.unitCell.toFractional(c,!1),this.unitCell.unitize(c),k.setT(c),f[h].rotTrans(c),
this.unitCell.unitize(c),1.96E-6>k.distanceSquared(c)&&d.set(h);f=O(d.cardinality(),0);if(null!=b&&f.length!=b.length)return null;c=0;for(h=1;h<g;h++)if(d.get(h)){if(null!=b&&b[c]!=h+1)return null;f[c++]=h+1}return f},"JU.P3,~A");m(c,"getWyckoffPosition",function(a,b,f){if(null==this.unitCell)return"";var d=this.spaceGroup;null==d&&null!=this.symmetryInfo&&(d=JS.SpaceGroup.determineSpaceGroupN(this.symmetryInfo.sgName),null==d&&(d=this.getSpaceGroupJmolId(),null==d&&(d=this.getSpaceGroupClegId()),
d=JS.SpaceGroup.getSpaceGroupFromJmolClegOrITA(a,d)));if(null==d||null==d.itaNumber)return"?";null==b?b=JU.P3.new3(0.53,0.2,0.16):"L".equals(f)||(b=JU.P3.newP(b),this.unitCell.toFractional(b,!1),this.unitCell.unitize(b));try{var c=this.getWyckoffFinder().getWyckoffFinder(a,d),k=null!=f&&"M"==f.charAt(0);k&&(f=1==f.length?null:f.substring(1));var g=null==f?-1:"L".equals(f)?-4:f.equalsIgnoreCase("coord")?-2:f.equalsIgnoreCase("coords")?-3:f.endsWith("*")?f.charAt(0).charCodeAt(0):0;if(0!=g)return null==
c?"?":c.getInfo(this.unitCell,b,g,k,a.is2D());if(null==c.findPositionFor(b,f))return null;this.unitCell.toCartesian(b,!1);return b}catch(h){if(P(h,Exception))return h.printStackTrace(),null==f?"?":null;throw h;}},"JV.Viewer,JU.P3,~S");e(c,"getWyckoffFinder",function(){null==JS.Symmetry.wyckoffFinder&&(JS.Symmetry.wyckoffFinder=J.api.Interface.getInterface("JS.WyckoffFinder",null,"symmetry"));return JS.Symmetry.wyckoffFinder});m(c,"getTransform",function(a,b,f){return this.getDesc(null).getTransform(this.unitCell,
this.getSymmetryOperations(),a,b,f)},"JU.P3,JU.P3,~B");m(c,"isWithinUnitCell",function(a,b,f,d){return this.unitCell.isWithinUnitCell(b,f,d,a)},"JU.P3,~N,~N,~N");m(c,"checkPeriodic",function(a){return this.unitCell.checkPeriodic(a)},"JU.P3");m(c,"staticConvertOperation",function(a,b,f){return JS.SymmetryOperation.staticConvertOperation(a,b,f)},"~S,JU.M4,~S");m(c,"getSubgroupJSON",function(a,b,f,d,c,k,g){a.startsWith("ITA/")&&(a=a.substring(4));null!=b&&b.startsWith("ITA/")&&(b=b.substring(4));var h=
JS.SpaceGroup.getExplicitSpecialGroupType(a);if(-1==h||(null==b||0==b.length?h:JS.SpaceGroup.getExplicitSpecialGroupType(a))!=h)return null;var e=0==h?a:a.substring(2);if(e.equalsIgnoreCase("all"))return this.getAllITSubData(h);e=JU.PT.parseInt(this.getSpaceGroupInfoObj("itaNumber",e,!1,!1));b=null==b?-1:0==b.length?0:JU.PT.parseInt(this.getSpaceGroupInfoObj("itaNumber",0==h?b:b.substring(2),!1,!1));if(0!=c){f=JS.SpaceGroup.getGroupTypePrefix(h);var j=c>>24&255,n=c>>16&255,q=c>>8&255,p=c&255,y=this.getSubgroupIndexData(h);
d=null==g?null:new JU.Lst;var r=new java.util.Stack,e=this.findSubTransform(e,b,j,n,q,p,y,1,1,1,JU.BSUtil.newAndSetBit(e),r,d);if(null==e?null==d:e.endsWith("!"))return e;b=e;p=0;for(n=null==d?1:d.size();p<n;p++){y=null==k?new java.util.Hashtable:k;null!=g&&y!==k&&g.addLast(y);null!=d&&(e=d.get(p));for(var r=e.$plit(">"),q=r.length,t=Array(q),s="",m="",pa=1,w=0,j=q-3;0<=j;j-=2){w++;var B=f+r[j],z=r[j+2]=f+r[j+2],pa=pa*Integer.parseInt(r[j+1].substring(1,r[j+1].length-1));b=r[j+1]=this.getSubgroupJSON(B,
z,0,1,0,null,null);s+=">"+b;t[j]=this.getSpaceGroupInfoObj("hmNameShort",B,!1,!1);t[j+1]="";j==q-3&&(t[j+2]=this.getSpaceGroupInfoObj("hmNameShort",z,!1,!1))}r[0]=f+r[0];for(j=0;j<q;j+=2)m+=">"+t[j];m=m.substring(1);q=this.convertTransform(s.substring(1),null);y.put("trm",this.convertTransform(null,q));y.put("trmat",q);y.put("index",Integer.$valueOf(pa));y.put("depth",Integer.$valueOf(w));y.put("indexPath",e);y.put("cleg",JU.PT.join(r,">",0));y.put("bcsPath",JU.PT.rep(m," ",""))}return b}var x=0>
b,A=0==b&&0==f,I=0==b&&0>f;k=0==b&&0<f&&0>d;g=0==b&&0<f&&0<d;h=0<b&&0>f;c=0<b&&0<f&&0>d;var D=0<b&&0<f&&0<d;try{p=this.getSpaceGroupJSON("subgroups",a,e);for(a=0;null!=p;){if(x)return p;if(A||I){y=p.get("subgroups");n=y.size();s=A?JU.AU.newInt2(n):null;r=I?new JU.BS:null;for(j=n;0<=--j;)if(p=y.get(j),m=p.get("subgroup").intValue(),I)r.set(m);else{var B=p.get("subgroupIndex").intValue(),z="k".equals(p.get("trType"))?2:1,Q=1==z?p.get("trSubtype"):"",C=p.get("det").doubleValue(),X=E(1>C?-1/C:C);Q.equals("ct")?
z=3:Q.equals("eu")&&(z=4);var M=p.get("trm").size();s[j]=O(-1,[m,M,B,X,z])}if(I){pa=O(r.cardinality(),0);n=0;for(j=r.nextSetBit(0);0<=j;j=r.nextSetBit(j+1))pa[n++]=j;return pa}return s}y=p.get("subgroups");r=0;n=y.size();if(k||g){if(f>n)throw new ArrayIndexOutOfBoundsException("no map.subgroups["+f+"]!");r=f-1;if(k)return y.get(r);n=f}w=h?new JU.Lst:null;for(j=r;j<n;j++)if(p=y.get(j),m=p.get("sg").intValue(),g||m==b){if(++a==f){if(c)return p}else if(D)continue;if(h)w.addLast(p);else{t=p.get("trms");
n=t.size();if(1>d||d>n)return null;q=t.get(d-1);return q.get("trm")}}if(h&&!w.isEmpty())return w;break}if(0==f)return null;if(D&&0<a)throw new ArrayIndexOutOfBoundsException("only "+a+" maximal subgroup information for "+e+">>"+b+"!");throw new ArrayIndexOutOfBoundsException("no subgroup information for "+e+">>"+b+"!");}catch(F){if(P(F,Exception))return F.getMessage();throw F;}},"~S,~S,~N,~N,~N,java.util.Map,JU.Lst");e(c,"findSubTransform",function(a,b,f,d,c,k,g,e,l,j,n,q,p){l=g[a];if(0<c&&e>c)return null;
for(var y=a==b&&1==e,r=y?2:3,t=0<e&&e<k?2:1;t<r;t++){var s=0,m=l.length;a:for(;s<m;s++){var x=l[s][0];if(!n.get(x)||y){var w=l[s][1],B=w*j;if(!(B>f))switch(t){case 1:if(x==b){if(B<d)continue;B="";s=0;for(m=q.size();s<m;s++)var z=q.get(s),B=B+(z[0]+">["+z[1]+"]>");B+=a+">["+w+"]>"+x;if(null!=p){p.addLast(B);break a}return B}break;case 2:if(x!=b&&!n.get(x)&&(z=JU.BSUtil.copy(n),z.set(x),q.push(O(-1,[a,w])),B=this.findSubTransform(x,b,f,d,c,k,g,e+1,w,B,z,q,p),q.pop(),null!=B&&null==p))return B}}}}return null},
"~N,~N,~N,~N,~N,~N,~A,~N,~N,~N,JU.BS,java.util.Stack,JU.Lst");m(c,"getSpaceGroupJSON",function(a,b,f){var d=a.equals("setting"),c=a.equals("settings"),k=a.equalsIgnoreCase("AFLOWLIB"),g=!c&&a.equals("subgroups"),e=(d||c||g)&&-2147483648==f,l=!c&&!d&&!g?a:e?this.getSpaceGroupName():""+f;try{var j,n=null==b?0:JS.SpaceGroup.getExplicitSpecialGroupType(b);0<n&&(b=b.substring(2));var q=null,p,y,r;if(d&&null==b||c||g)if(y=!0,r=d?b:null,e){if(j=JU.PT.parseInt(this.getIntTableNumber()),d||c)if(null==this.spaceGroup){var t=
this.symmetryInfo.getDerivedSpaceGroup();if(null==t)return new java.util.Hashtable;r=t.jmolId}else r=this.getSpaceGroupClegId(),d?q=r.substring(r.indexOf(":")+1):c&&(f=0)}else j=f;else{k||(f=0);r=b;var s=r.indexOf("(");0>s&&(s=r.indexOf(":"));if(p=0<=s&&r.indexOf(",")>s)q=r.substring(s+1,r.length-(r.endsWith(")")?1:0)),r=r.substring(0,s),e=!0;j=r.equalsIgnoreCase("ALL")?0:JU.PT.parseInt(r);y=-2147483648!=j;s=r.indexOf(".");!p&&(y&&0==f&&0<s)&&(f=JU.PT.parseInt(r.substring(s+1)),r=r.substring(0,s))}if(y&&
(j>JS.SpaceGroup.getMax(n)||(c||d?1>j:0>j)))throw new ArrayIndexOutOfBoundsException(j);if(g){var m=this.getITSubJSONResource(n,j);if(null!=m)return m}else if(d||c||a.equalsIgnoreCase("ITA")){if(0==j)return JS.Symmetry.getAllITAData(this.vwr,n,!0);var x=0<n,m=JS.Symmetry.getITJSONResource(this.vwr,n,j,b);if(null!=m){if(0==f&&null==q)return c?m.get("its"):m;var w=m.get("its");if(null!=w){if(c&&!e)return w;var B=w.size(),z=d?Math.max(f,1):y&&!e?f:B;if(z>B)return null;if(d)return w.get(z-1);for(var B=
null,G=z;0<=--G;){B=w.get(G);if(G==f-1||(null==q?x?JS.SpaceGroup.hmMatches(B.get("hm"),r,n):r.equals(B.get("jmolId")):q.equals(B.get("trm")))){if(!B.containsKey("more"))return B;break}B=null}if(null!=B)return JS.SpaceGroup.fillMoreData(this.vwr,B,b,j,w.get(0))}}}else if(k&&null==q){null==JS.Symmetry.aflowStructures&&(JS.Symmetry.aflowStructures=JS.Symmetry.getResource(this.vwr,"sg/json/aflow_structures.json"));if(0==j)return JS.Symmetry.aflowStructures;if(-2147483648==j){b=null;r.endsWith("*")&&(b=
new JU.Lst,r=r.substring(0,r.length-1));for(f=1;230>=f;f++){x=JS.Symmetry.aflowStructures.get(""+f);G=0;for(B=x.size();G<B;G++){var A=x.get(G);if(null!=b&&A.startsWith(r))b.addLast("=aflowlib/"+f+"."+(G+1)+"\t"+A);else if(A.equalsIgnoreCase(r))return f+"."+(G+1)}}return null!=b&&0<b.size()?b:null}var I=JS.Symmetry.aflowStructures.get(""+r);if(f<=I.size())return 0==f?I:I.get(f-1)}if(e)return new java.util.Hashtable;throw new IllegalArgumentException(l);}catch(D){if(P(D,Exception))return D.getMessage();
throw D;}},"~S,~S,~N");c.getITJSONResource=e(c,"getITJSONResource",function(a,b,f,d){if(0==b)return null==JS.Symmetry.itaData&&(JS.Symmetry.itaData=Array(230)),b=JS.Symmetry.itaData[f-1],null==b&&(JS.Symmetry.itaData[f-1]=b=JS.Symmetry.getResource(a,"sg/json/ita_"+f+".json")),b;a=JS.Symmetry.getAllITAData(a,b,!1);return 0<f?a[f-1]:JS.Symmetry.getSpecialSettingJSON(a,d,b,!1)},"JV.Viewer,~N,~N,~S");c.getSpecialSettingJSON=e(c,"getSpecialSettingJSON",function(a,b,f,d){var c=null,k=Character.isDigit(b.charAt(2));
k&&b.endsWith(";0,0,0")&&(b=b.substring(0,b.length-6));var g=k?"clegId":"hm";k||(b=b.substring(2));for(var e=a.length;0<=--e;)for(var l=a[e].get("its"),j=l.size();0<=--j;){var c=l.get(j),n=c.get(g);if(k?b.equals(n):JS.SpaceGroup.hmMatches(n,b,f))return d?c:a[e]}return null},"~A,~S,~N,~B");c.getAllITAData=e(c,"getAllITAData",function(a,b,f){switch(b){case 0:return null==JS.Symmetry.allDataITA&&(JS.Symmetry.allDataITA=JS.Symmetry.getResource(a,"sg/json/ita_all.json")),JS.Symmetry.allDataITA;default:var d=
"sg/json/it"+(300==b?"a":"e")+"_all_"+JS.SpaceGroup.getSpecialGroupName(b)+".json";switch(b){case 300:return null==JS.Symmetry.allPlaneData&&(JS.Symmetry.allPlaneData=JS.Symmetry.getResource(a,d),JS.Symmetry.planeData=JS.Symmetry.createSpecialData(b,JS.Symmetry.allPlaneData)),f?JS.Symmetry.allPlaneData:JS.Symmetry.planeData;case 400:return null==JS.Symmetry.allLayerData&&(JS.Symmetry.allLayerData=JS.Symmetry.getResource(a,d),JS.Symmetry.layerData=JS.Symmetry.createSpecialData(b,JS.Symmetry.allLayerData)),
f?JS.Symmetry.allLayerData:JS.Symmetry.layerData;case 500:return null==JS.Symmetry.allRodData&&(JS.Symmetry.allRodData=JS.Symmetry.getResource(a,d),JS.Symmetry.rodData=JS.Symmetry.createSpecialData(b,JS.Symmetry.allRodData)),f?JS.Symmetry.allRodData:JS.Symmetry.rodData;case 600:return null==JS.Symmetry.allFriezeData&&(JS.Symmetry.allFriezeData=JS.Symmetry.getResource(a,d),JS.Symmetry.friezeData=JS.Symmetry.createSpecialData(b,JS.Symmetry.allFriezeData)),f?JS.Symmetry.allFriezeData:JS.Symmetry.friezeData}}return null},
"JV.Viewer,~N,~B");c.createSpecialData=e(c,"createSpecialData",function(a,b){for(var f=JS.SpaceGroup.getMax(a),d=Array(f),c=0;c<f;c++)d[c]=new java.util.Hashtable,d[c].put("sg",Integer.$valueOf(c+1)),d[c].put("its",new JU.Lst);for(var c=0,k=b.size();c<k;c++){var g=b.get(c),e=g.get("sg").intValue();d[e-1].get("its").addLast(g)}for(c=0;c<f;c++)d[c].put("n",Integer.$valueOf(d[c].get("its").size()));return d},"~N,JU.Lst");e(c,"getAllITSubData",function(a){switch(a){default:case 0:return null;case 300:return null==
JS.Symmetry.planeSubData&&(JS.Symmetry.planeSubData=JS.Symmetry.getResource(this.vwr,"sg/json/sub_all_plane.json")),JS.Symmetry.planeSubData;case 400:return null==JS.Symmetry.layerSubData&&(JS.Symmetry.layerSubData=JS.Symmetry.getResource(this.vwr,"sg/json/sub_all_layer.json")),JS.Symmetry.layerSubData;case 500:return null==JS.Symmetry.rodSubData&&(JS.Symmetry.rodSubData=JS.Symmetry.getResource(this.vwr,"sg/json/sub_all_rod.json")),JS.Symmetry.rodSubData;case 600:return null==JS.Symmetry.friezeSubData&&
(JS.Symmetry.friezeSubData=JS.Symmetry.getResource(this.vwr,"sg/json/sub_all_frieze.json")),JS.Symmetry.friezeSubData}},"~N");e(c,"getITSubJSONResource",function(a,b){if(0==a){null==JS.Symmetry.itaSubData&&(JS.Symmetry.itaSubData=Array(230));var f=JS.Symmetry.itaSubData[b-1];null==f&&(JS.Symmetry.itaSubData[b-1]=f=JS.Symmetry.getResource(this.vwr,"sg/json/sub_"+b+".json"));return f}return this.getAllITSubData(a).get(b-1)},"~N,~N");e(c,"getSubgroupIndexData",function(a){var b=JS.SpaceGroup.getSpecialGroupName(a),
f=JS.SpaceGroup.getMax(a);switch(a){default:case 0:null==JS.Symmetry.itaSubList&&(JS.Symmetry.itaSubList=JU.AU.newInt3(f+1,0));f=JS.Symmetry.itaSubList;break;case 300:null==JS.Symmetry.planeSubList&&(JS.Symmetry.planeSubList=JU.AU.newInt3(f+1,0));f=JS.Symmetry.planeSubList;break;case 400:null==JS.Symmetry.layerSubList&&(JS.Symmetry.layerSubList=JU.AU.newInt3(f+1,0));f=JS.Symmetry.layerSubList;break;case 500:null==JS.Symmetry.rodSubList&&(JS.Symmetry.rodSubList=JU.AU.newInt3(f+1,0));f=JS.Symmetry.rodSubList;
break;case 600:null==JS.Symmetry.friezeSubList&&(JS.Symmetry.friezeSubList=JU.AU.newInt3(f+1,0)),f=JS.Symmetry.friezeSubList}a=JS.Symmetry.getResource(this.vwr,"sg/json/sub_"+(0==a?"":b+"_")+"index.json");for(b=a.size();0<=--b;)for(var d=a.get(b),c=E(d.size()/2),k=f[b+1]=JU.AU.newInt2(c),g=0,e=0;g<c;g++)k[g]=O(-1,[d.get(e++).intValue(),d.get(e++).intValue()]);return f},"~N");c.getResource=e(c,"getResource",function(a,b){try{var f=JV.FileManager.getBufferedReaderForResource(a,JS.Symmetry,"JS/",b),
d=Array(1);if(JU.Rdr.readAllAsString(f,2147483647,!1,d,0))return(new JU.JSJSONParser).parse(d[0],!0)}catch(c){System.err.println(c.getMessage())}return null},"JV.Viewer,~S");m(c,"getCellWeight",function(a){return this.unitCell.getCellWeight(a)},"JU.P3");m(c,"getPrecision",function(){return null==this.unitCell?NaN:this.unitCell.getPrecision()});m(c,"fixUnitCell",function(a){return this.spaceGroup.createCompatibleUnitCell(a,null,!0)},"~A");m(c,"staticGetTransformABC",function(a,b){return JS.SymmetryOperation.getTransformABC(a,
b)},"~O,~B");e(c,"setCartesianOffset",function(a){this.unitCell.setCartesianOffset(a)},"JU.T3");e(c,"setSymmetryInfoFromFile",function(a,b,f){var d=a.getModelAuxiliaryInfo(b);this.symmetryInfo=new JS.SymmetryInfo;f=this.symmetryInfo.setSymmetryInfoFromFile(d,f);null!=f&&(this.setUnitCellFromParams(f,d.containsKey("jmolData"),NaN),this.unitCell.moreInfo=d.get("moreUnitCellInfo"),d.put("infoUnitCell",this.getUnitCellAsArray(!1)),this.setOffsetPt(d.get("unitCellOffset")),d=d.get("matUnitCellOrientation"),
null!=d&&this.initializeOrientation(d),null!=this.symmetryInfo.strSUPERCELL&&(d=this.unitCell.getUnitCellVectors(),d[0]=new JU.P3,a.setModelCagePts(b,d,"conventional")),JU.Logger.debugging&&JU.Logger.debug("symmetryInfos["+b+"]:\n"+this.unitCell.dumpInfo(!0,!0)))},"JM.ModelSet,~N,~A");e(c,"transformUnitCell",function(a){null==a&&(a=JS.UnitCell.toTrm(this.spaceGroup.itaTransform,null));var b=JU.M4.newM4(a);b.invert();for(var f=this.getUnitCellVectors(),d=1;3>=d;d++)this.toFractional(f[d],!0),b.rotate(f[d]),
this.toCartesian(f[d],!0);b=new JU.P3;a.getTranslation(b);this.toCartesian(b,!0);f[0].add(b);this.unitCell=JS.UnitCell.fromOABC(f,!1)},"JU.M4");m(c,"staticCleanTransform",function(a){return JS.SymmetryOperation.getTransformABC(JS.UnitCell.toTrm(a,null),!0)},"~S");m(c,"saveOrRetrieveTransformMatrix",function(a){var b=this.transformMatrix;this.transformMatrix=a;return b},"JU.M4");m(c,"getUnitCellDisplayName",function(){var a=null!=this.spaceGroup?this.spaceGroup.getDisplayName():null!=this.symmetryInfo?
this.symmetryInfo.getDisplayName(this):null;return 0<a.length?a:null});m(c,"staticToRationalXYZ",function(a,b){var f=JS.SymmetryOperation.fcoord(a,b);return",".equals(b)?f:"("+f+")"},"JU.P3,~S");m(c,"getFinalOperationCount",function(){this.setFinalOperations(3,null,null,-1,-1,!1,null);return this.spaceGroup.getOperationCount()});m(c,"convertTransform",function(a,b){if(null==a)return this.staticGetTransformABC(b,!1);if(a.equals("xyz"))return null==b?null:JS.SymmetryOperation.getXYZFromMatrix(b,!1,
!1,!1);null==b&&(b=new JU.M4);JS.UnitCell.getMatrixAndUnitCell(0<=a.indexOf("*")?this.unitCell:null,a,b);return b},"~S,JU.M4");m(c,"staticGetMatrixTransform",function(a,b){return this.getCLEGInstance().getMatrixTransform(this.vwr,a,b)},"~S,~O");m(c,"staticTransformSpaceGroup",function(a,b,f,d){return this.getCLEGInstance().transformSpaceGroup(this.vwr,a,b,f,d)},"JU.BS,~S,~O,JU.SB");e(c,"getCLEGInstance",function(){null==JS.Symmetry.clegInstance&&(JS.Symmetry.clegInstance=J.api.Interface.getInterface("JS.CLEG",
null,"symmetry"));return JS.Symmetry.clegInstance});m(c,"setViewer",function(a){this.vwr=a;return this},"JV.Viewer");m(c,"getUnitCellCenter",function(){return this.unitCell.getCenter(this.getPeriodicity())});c.getSGFactory=e(c,"getSGFactory",function(){null==JS.Symmetry.groupFactory&&(JS.Symmetry.groupFactory=J.api.Interface.getInterface("JS.SpecialGroupFactory",null,"symmetry"));return JS.Symmetry.groupFactory});c.getSpecialSettingInfo=e(c,"getSpecialSettingInfo",function(a,b,f){var d=b.substring(2),
c=d.indexOf(":"),k=d.indexOf(","),g=d.indexOf("."),g=0<c&&k>c?c:g,k=JS.SpaceGroup.getITNo(d,g),d=0<g&&g==c||0>k?0:0<g?JS.SpaceGroup.getITNo(d.substring(g+1),0):1;a=JS.Symmetry.getAllITAData(a,f,!1);return 0<d?a[k-1].get("its").get(d-1):JS.Symmetry.getSpecialSettingJSON(a,b,f,!0)},"JV.Viewer,~S,~N");m(c,"getConstrainableEquivAtom",function(a){for(var b=this.vwr.ms.getSymmetryEquivAtoms(JU.BSUtil.newAndSetBit(a.i),this,null),f=this.getSymmetryOperations(),d=a,c=9999;0<=c;c=b.nextSetBit(c+1)){if(null==
d){if(d=this.vwr.ms.at[c],d===a)continue}else 9999==c&&(c=-1);var k=this.getInvariantSymops(d,null);if(0<k.length)switch(f[k[0]-1].getOpType()){case 2:case 8:return d}d=null}return a},"JM.Atom");m(c,"setSpinAxisAngle",function(a){this.unitCell.setSpinAxisAngle(a)},"JU.A4");c.nullDesc=null;c.aflowStructures=null;c.itaData=null;c.itaSubData=null;c.planeData=null;c.layerData=null;c.rodData=null;c.friezeData=null;c.itaSubList=null;c.planeSubList=null;c.layerSubList=null;c.rodSubList=null;c.friezeSubList=
null;c.allDataITA=null;c.allPlaneData=null;c.allLayerData=null;c.allRodData=null;c.allFriezeData=null;c.planeSubData=null;c.layerSubData=null;c.rodSubData=null;c.friezeSubData=null;c.wyckoffFinder=null;c.clegInstance=null;c.groupFactory=null});da("JS");ja(["JU.M3","$.V3"],"JS.PointGroup","java.util.Hashtable JU.Lst $.P3 $.PT $.Quat $.SB J.bspt.Bspt JU.BSUtil $.Escape $.Logger $.Point3fi".split(" "),function(){var c=C(function(){this.isAtoms=!1;this.iter=this.textInfo=this.info=this.drawInfo=null;
this.drawType="";this.drawIndex=0;this.scale=NaN;this.axes=this.nAxes=null;this.radius=this.nAtoms=0;this.distanceTolerance=0.25;this.distanceTolerance2=0;this.linearTolerance=8;this.cosTolerance=0.99;this.name="C_1?";this.principalPlane=this.principalAxis=null;this.convention=0;this.vTemp=null;this.centerAtomIndex=-1;this.haveInversionCenter=!1;this.bsAtoms=this.atomMap=this.elements=this.points=this.center=null;this.$isLinear=this.localEnvOnly=this.haveVibration=!1;this.sppa=0;this.maxAtoms=250;
this.maxElement=0;this.eCounts=null;this.nOps=0;Fa("JS.PointGroup.Operation")||JS.PointGroup.$PointGroup$Operation$();L(this,arguments)},JS,"PointGroup",null);ka(c,function(){this.nAxes=O(JS.PointGroup.maxAxis,0);this.axes=Array(JS.PointGroup.maxAxis);this.vTemp=new JU.V3});V(c,function(a){this.convention=a?1:0},"~B");e(c,"getName",function(){return this.getConventionalName(this.name)});e(c,"getHermannMauguinName",function(){return JS.PointGroup.getHMfromSFName(this.name)});e(c,"getConventionalName",
function(a){return 1==this.convention?JS.PointGroup.getHMfromSFName(a):a},"~S");c.getPointGroup=e(c,"getPointGroup",function(a,b,f,d,c,k,g,e,l,j,n){j=new JS.PointGroup(j);0>=k&&(k=0.01);0>=g&&(g=0.5);0>=e&&(e=250);j.distanceTolerance=k;j.distanceTolerance2=k*k;j.linearTolerance=g;j.maxAtoms=e;j.isAtoms=null!=d;j.bsAtoms=j.isAtoms?d:JU.BSUtil.newBitSet2(0,f.length);j.haveVibration=c;j.center=b;j.localEnvOnly=l;j.sppa=n;JU.Logger.debugging&&(a=null);return j.set(a,f)?j:a},"JS.PointGroup,JU.T3,~A,JU.BS,~B,~N,~N,~N,~B,~B,~N");
e(c,"isEqual",function(a){if(null==a||(this.convention!=a.convention||this.linearTolerance!=a.linearTolerance||this.distanceTolerance!=a.distanceTolerance||this.nAtoms!=a.nAtoms||this.localEnvOnly!=a.localEnvOnly||this.haveVibration!=a.haveVibration||null==this.bsAtoms?null!=a.bsAtoms:!this.bsAtoms.equals(a.bsAtoms)))return!1;for(var b=0;b<this.nAtoms;b++)if(this.elements[b]!=a.elements[b]||!this.points[b].equals(a.points[b]))return!1;return!0},"JS.PointGroup");e(c,"set",function(a,b){this.cosTolerance=
Math.cos(3.141592653589793*(this.linearTolerance/180));if(!this.getPointsAndElements(b))return JU.Logger.error("Too many atoms for point group calculation"),this.name="point group not determined -- ac > "+this.maxAtoms+" -- select fewer atoms and try again.",!0;this.getElementCounts();if(this.haveVibration){for(var f=Array(this.points.length),d=this.points.length;0<=--d;){f[d]=JU.P3.newP(this.points[d]);var c=this.points[d].getVibrationVector();null!=c&&f[d].add(c)}this.points=f}if(this.isEqual(a))return!1;
try{this.findInversionCenter();if(this.$isLinear=this.isLinear(this.points))return this.name=this.haveInversionCenter?"D(infinity)h":"C(infinity)v",this.vTemp.sub2(this.points[1],this.points[0]),this.addAxis(16,this.vTemp),this.principalAxis=this.axes[16][0],this.haveInversionCenter&&(this.axes[0]=Array(1),this.principalPlane=this.axes[0][this.nAxes[0]++]=oa(JS.PointGroup.Operation,this,null,this.vTemp)),!0;this.axes[0]=Array(15);f=0;this.findCAxes();f=this.findPlanes();this.findAdditionalAxes(f);
var k=this.getHighestOrder();if(1<this.nAxes[17])this.name=1<this.nAxes[19]?this.haveInversionCenter?"Ih":"I":1<this.nAxes[18]?this.haveInversionCenter?"Oh":"O":0<f?this.haveInversionCenter?"Th":"Td":"T";else if(2>k){if(1==f)return this.name="Cs",!0;if(this.haveInversionCenter)return this.name="Ci",!0;this.name="C1"}else 1==k%2&&0<this.nAxes[16]||0==k%2&&1<this.nAxes[16]?(this.principalAxis=this.setPrincipalAxis(k,f),0==f?this.name=14>k?"S"+k:"D"+(k-14):(k=14>k?E(k/2):k-14,this.name=f==k?"D"+k+"d":
"D"+k+"h")):0==f?(this.principalAxis=this.axes[k][0],this.name=14>k?"S"+k:"C"+(k-14)):f==k-14?(this.principalAxis=this.axes[k][0],this.name="C"+f+"v"):(this.principalAxis=this.axes[14>k?k+14:k][0],this.principalPlane=this.axes[0][0],this.name="C"+(14>k?k/2:k-14)+"h")}catch(g){if(P(g,Exception))this.name="??";else throw g;}finally{JU.Logger.info("Point group found: "+this.name)}return!0},"JS.PointGroup,~A");e(c,"setPrincipalAxis",function(a,b){var f=this.setPrincipalPlane(a,b);if(0==b&&14>a||1==this.nAxes[a])return this.axes[a][0];
if(null==f)return null;for(var d=0;d<this.nAxes[16];d++)if(this.isParallel(f.normalOrAxis,this.axes[16][d].normalOrAxis))return 0!=d&&(f=this.axes[16][0],this.axes[16][0]=this.axes[16][d],this.axes[16][d]=f),this.axes[16][0];return null},"~N,~N");e(c,"setPrincipalPlane",function(a,b){if(1==b)return this.principalPlane=this.axes[0][0];if(0==b||b==a-14)return null;for(var f=0;f<b;f++)for(var d=0,c=0;d<b;d++)if(this.isPerpendicular(this.axes[0][f].normalOrAxis,this.axes[0][d].normalOrAxis)&&2<++c)return 0!=
f&&(d=this.axes[0][0],this.axes[0][0]=this.axes[0][f],this.axes[0][f]=d),this.principalPlane=this.axes[0][0];return null},"~N,~N");e(c,"getPointsAndElements",function(a){var b=this.bsAtoms.cardinality();if(this.isAtoms&&b>this.maxAtoms)return!1;this.points=Array(b);this.elements=O(b,0);if(0==b)return!0;for(var f=0,b=this.bsAtoms.nextSetBit(0);0<=b;b=this.bsAtoms.nextSetBit(b+1)){var d=a[b];$(d,"JU.Node")&&(f=Math.max(f,d.i))}this.atomMap=O(f+1,0);this.nAtoms=0;if(f=null==this.center)this.center=new JU.P3;
for(var c=new J.bspt.Bspt(3,0),b=this.bsAtoms.nextSetBit(0);0<=b;b=this.bsAtoms.nextSetBit(b+1),this.nAtoms++){d=a[b];if($(d,"JU.Node")){var k=this.localEnvOnly?1:1+Math.max(3,d.getCovalentBondCount());this.elements[this.nAtoms]=d.getElementNumber()*k;this.atomMap[d.i]=this.nAtoms+1}else k=new JU.Point3fi,k.setT(d),k.i=-1-this.nAtoms,$(d,"JU.Point3fi")&&(this.elements[this.nAtoms]=Math.max(0,d.sD)),d=k;c.addTuple(d);f&&this.center.add(d);this.points[this.nAtoms]=d}this.iter=c.allocateCubeIterator();
f&&this.center.scale(1/this.nAtoms);for(b=this.nAtoms;0<=--b;)a=this.center.distanceSquared(this.points[b]),this.isAtoms&&a<this.distanceTolerance2&&(this.centerAtomIndex=b),this.radius=Math.max(this.radius,a);this.radius=Math.sqrt(this.radius);1.5>this.radius&&0.15<this.distanceTolerance&&(this.distanceTolerance=this.radius/10,this.distanceTolerance2=this.distanceTolerance*this.distanceTolerance,System.out.println("PointGroup calculation adjusting distanceTolerance to "+this.distanceTolerance));
return!0},"~A");e(c,"findInversionCenter",function(){if(this.haveInversionCenter=this.checkOperation(null,this.center,-1))this.axes[1]=Array(1),this.axes[1][0]=oa(JS.PointGroup.Operation,this,null)});e(c,"checkOperation",function(a,b,f){var d=new JU.P3,c=0;f=14>f;var k=this.points.length,g=k;a:for(;0<=--g&&c<k;)if(g!=this.centerAtomIndex){var e=this.points[g],l=this.elements[g];null!=a?(d.sub2(e,b),a.transform2(d,d).add(b)):d.setT(e);f&&(this.vTemp.sub2(b,d),d.scaleAdd2(2,this.vTemp,d));if((null!=
a||f)&&d.distanceSquared(e)<this.distanceTolerance2)c++;else{for(this.iter.initialize(d,this.distanceTolerance,!1);this.iter.hasMoreElements();){var j=this.iter.nextElement();if(j!==e){var n=this.getPointIndex(j.i);if(!(0<=this.centerAtomIndex&&n==this.centerAtomIndex||n>=this.elements.length||this.elements[n]!=l)&&d.distanceSquared(j)<this.distanceTolerance2){c++;continue a}}}return!1}}return!0},"JU.Quat,JU.T3,~N");e(c,"getPointIndex",function(a){return(0>a?-a:this.atomMap[a])-1},"~N");e(c,"isLinear",
function(a){var b=null;if(2>a.length)return!1;for(var f=a.length;0<=--f;)if(f!=this.centerAtomIndex)if(null==b)b=new JU.V3,b.sub2(a[f],this.center),b.normalize(),this.vTemp.setT(b);else if(this.vTemp.sub2(a[f],this.center),this.vTemp.normalize(),!this.isParallel(b,this.vTemp))return!1;return!0},"~A");e(c,"isParallel",function(a,b){return Math.abs(a.dot(b))>=this.cosTolerance},"JU.V3,JU.V3");e(c,"isPerpendicular",function(a,b){return Math.abs(a.dot(b))<=1-this.cosTolerance},"JU.V3,JU.V3");e(c,"getElementCounts",
function(){for(var a=this.points.length;0<=--a;){var b=this.elements[a];b>this.maxElement&&(this.maxElement=b)}this.eCounts=O(++this.maxElement,0);for(a=this.points.length;0<=--a;)this.eCounts[this.elements[a]]++});e(c,"findCAxes",function(){for(var a=new JU.V3,b=new JU.V3,f=new JU.V3,d=this.points.length;0<=--d;)if(d!=this.centerAtomIndex)for(var c=this.points[d],k=this.elements[d],e=this.points.length;--e>d;){var h=this.points[e];if(this.elements[e]==k)if(a.sub2(c,this.center),b.sub2(h,this.center),
a.normalize(),b.normalize(),this.isParallel(a,b))this.getAllAxes(a);else{this.nAxes[16]<JS.PointGroup.axesMaxN[16]&&(f.ave(c,h),f.sub(this.center),this.getAllAxes(f));var h=6.283185307179586/a.angle(b),l=E(Math.floor(h+0.01));if(0.02>=h-l&&!((l+=14)>=JS.PointGroup.maxAxis)&&this.nAxes[l]<JS.PointGroup.axesMaxN[l])f.cross(a,b),this.checkAxisOrder(l,f,this.center)}}c=Array(2*this.nAxes[16]);for(d=0;d<c.length;d++)c[d]=new JU.V3;for(d=e=0;d<this.nAxes[16];d++)c[e++].setT(this.axes[16][d].normalOrAxis),
c[e].setT(this.axes[16][d].normalOrAxis),c[e++].scale(-1);for(d=c.length;2<=--d;)for(e=d;1<=--e;)for(k=e;0<=--k;)f.add2(c[d],c[e]),f.add(c[k]),1>f.length()||this.checkAxisOrder(17,f,this.center);e=2147483647;c=-1;for(d=0;d<this.maxElement;d++)this.eCounts[d]<e&&2<this.eCounts[d]&&(e=this.eCounts[d],c=d);d=0;a:for(;d<this.points.length-2;d++)if(this.elements[d]==c)for(e=d+1;e<this.points.length-1;e++)if(this.elements[e]==c)for(k=e+1;k<this.points.length;k++)if(this.elements[k]==c&&(a.sub2(this.points[d],
this.points[e]),b.sub2(this.points[d],this.points[k]),a.normalize(),b.normalize(),f.cross(a,b),this.getAllAxes(f),a.add2(this.points[d],this.points[e]),a.add(this.points[k]),a.normalize(),this.isParallel(a,f)||this.getAllAxes(a),this.nAxes[19]==JS.PointGroup.axesMaxN[19]))break a;c=Array(this.maxElement);for(d=this.points.length;0<=--d;){k=this.elements[d];if(null==c[k])c[k]=new JU.V3;else if(this.haveInversionCenter)continue;c[k].add(this.points[d])}if(!this.haveInversionCenter)for(d=0;d<this.maxElement;d++)null!=
c[d]&&c[d].scale(1/this.eCounts[d]);for(d=0;d<this.maxElement;d++)if(null!=c[d])for(e=0;e<this.maxElement;e++)d==e||null==c[e]||(this.haveInversionCenter?a.cross(c[d],c[e]):a.sub2(c[d],c[e]),this.checkAxisOrder(16,a,this.center));return this.getHighestOrder()});e(c,"getAllAxes",function(a){for(var b=16;b<JS.PointGroup.maxAxis;b++)this.nAxes[b]<JS.PointGroup.axesMaxN[b]&&this.checkAxisOrder(b,a,this.center)},"JU.V3");e(c,"getHighestOrder",function(){for(var a=0,a=14;1<--a&&0==this.nAxes[a];);if(1<
a)return a+14<JS.PointGroup.maxAxis&&0<this.nAxes[a+14]?a+14:a;for(a=JS.PointGroup.maxAxis;1<--a&&0==this.nAxes[a];);return a});e(c,"checkAxisOrder",function(a,b,f){switch(a){case 22:if(0<this.nAxes[17])return!1;case 20:case 18:if(0<this.nAxes[19])return!1;break;case 17:if(0<this.nAxes[22])return!1;break;case 19:if(0<this.nAxes[18]||0<this.nAxes[20]||0<this.nAxes[22])return!1}b.normalize();if(this.haveAxis(a,b))return!1;var d=JS.PointGroup.getQuaternion(b,a);if(!this.checkOperation(d,f,a))return!1;
this.addAxis(a,b);switch(a){case 16:this.checkAxisOrder(4,b,f);break;case 17:this.checkAxisOrder(3,b,f);this.haveInversionCenter&&this.addAxis(6,b);break;case 18:this.addAxis(16,b);this.checkAxisOrder(4,b,f);this.checkAxisOrder(8,b,f);break;case 19:this.checkAxisOrder(5,b,f);this.haveInversionCenter&&this.addAxis(10,b);break;case 20:this.addAxis(16,b);this.addAxis(17,b);this.checkAxisOrder(3,b,f);this.checkAxisOrder(6,b,f);this.checkAxisOrder(12,b,f);break;case 22:this.addAxis(16,b),this.addAxis(18,
b)}return!0},"~N,JU.V3,JU.T3");e(c,"addAxis",function(a,b){this.haveAxis(a,b)||(null==this.axes[a]&&(this.axes[a]=Array(JS.PointGroup.axesMaxN[a])),this.axes[a][this.nAxes[a]++]=oa(JS.PointGroup.Operation,this,null,b,a))},"~N,JU.V3");e(c,"haveAxis",function(a,b){if(this.nAxes[a]==JS.PointGroup.axesMaxN[a])return!0;if(0<this.nAxes[a])for(var f=this.nAxes[a];0<=--f;)if(this.isParallel(b,this.axes[a][f].normalOrAxis))return!0;return!1},"~N,JU.V3");e(c,"findPlanes",function(){for(var a=new JU.P3,b=new JU.V3,
f=new JU.V3,d=new JU.V3,c=0,k=1<this.getHighestOrder(),e=this.points.length;0<=--e;)if(e!=this.centerAtomIndex)for(var h=this.points[e],l=this.elements[e],j=this.points.length;--j>e;)if(!(k&&this.elements[j]!=l)&&(c=this.points[j],a.add2(h,c),a.scale(0.5),b.sub2(h,this.center),f.sub2(c,this.center),b.normalize(),f.normalize(),this.isParallel(b,f)||(d.cross(b,f),d.normalize(),this.getPlane(d)),d.sub2(c,h),d.normalize(),c=this.getPlane(d),c==JS.PointGroup.axesMaxN[0]))return c;if(k)for(e=16;e<JS.PointGroup.maxAxis;e++)for(j=
0;j<this.nAxes[e];j++)c=this.getPlane(this.axes[e][j].normalOrAxis);return c});e(c,"getPlane",function(a){!this.haveAxis(0,a)&&this.checkOperation(JU.Quat.newVA(a,180),this.center,-1)&&(this.axes[0][this.nAxes[0]++]=oa(JS.PointGroup.Operation,this,null,a));return this.nAxes[0]},"JU.V3");e(c,"findAdditionalAxes",function(a){var b=this.axes[0],f=0;if(1<a&&(f=a+14)<JS.PointGroup.maxAxis&&0==this.nAxes[f])this.vTemp.cross(b[0].normalOrAxis,b[1].normalOrAxis),!this.checkAxisOrder(f,this.vTemp,this.center)&&
2<a&&(this.vTemp.cross(b[1].normalOrAxis,b[2].normalOrAxis),this.checkAxisOrder(f-1,this.vTemp,this.center));if(0==this.nAxes[16]&&2<a)for(f=0;f<a-1;f++)for(var d=f+1;d<a;d++)this.vTemp.add2(b[1].normalOrAxis,b[2].normalOrAxis),this.checkAxisOrder(16,this.vTemp,this.center)},"~N");c.getQuaternion=e(c,"getQuaternion",function(a,b){return JU.Quat.newVA(a,(14>b?180:0)+(0==b?0:E(360/(b%14))))},"JU.V3,~N");e(c,"getInfo",function(a,b,f,d,c,k){var e=null!=b;this.info=f?new java.util.Hashtable:null;var h=
new JU.V3,l;0==k&&(k=1);this.scale=k;for(var j=O(4,2,0),n=1;n<JS.PointGroup.maxAxis;n++)for(var q=this.nAxes[n];0<=--q;)j[this.axes[n][q].type][0]++;var p=(new JU.SB).append("# ").appendI(this.nAtoms).append(" atoms\n"),y=this.getConventionalName(this.name);if(e){b="draw "+b;this.drawType=d=(f=null!=d&&0<d.length)?d:"";this.drawIndex=c;var r=d.equalsIgnoreCase(this.getConventionalName("Cn")),m=d.equalsIgnoreCase(this.getConventionalName("Sn"));p.append("set perspectivedepth off;\n");var s="_"+a+"_";
f||p.append(b+"pg0").append(s).append("* delete;draw pgva").append(s).append("* delete;draw pgvp").append(s).append("* delete;");if(!f||d.equalsIgnoreCase("Ci"))p.append(b+"pg0").append(s).append(this.haveInversionCenter?"inv ":" ").append(JU.Escape.eP(this.center)).append(this.haveInversionCenter?'"i";\n':";\n");for(var v=0.1,n=2;n<JS.PointGroup.maxAxis;n++)if(14==n&&(v=0.1),0!=this.nAxes[n]){a=!this.$isLinear?this.axes[n][0].getLabel(!1):"C_infinity";var e=!this.$isLinear?this.axes[n][0].getLabel(!0):
"C_infinity",v=v+0.25,x=1.05*k*this.radius+80*v/this.sppa,q=14<=n;if(!f||d.equalsIgnoreCase(e)||r&&q||m&&!q)for(q=0;q<this.nAxes[n];q++)if(!(0<c&&q+1!=c)){l=this.axes[n][q];h.add2(l.normalOrAxis,this.center);p.append(b+"pgva").append(s).append(a).append("_").appendI(q+1).append(" width 0.05 scale ").appendF(2==l.type?-x:x).append(" ").append(JU.Escape.eP(h));h.scaleAdd2(-2,l.normalOrAxis,h);var w=!this.$isLinear&&null!=this.principalAxis&&l.index==this.principalAxis.index;p.append(JU.Escape.eP(h)).append('"').append(e).append("").append('" color ').append(w?
"red":2==l.type?"blue":"orange").append(";\n")}}if(!f||d.equalsIgnoreCase(this.getConventionalName("Cs")))for(q=0;q<this.nAxes[0];q++)0<c&&q+1!=c||(l=this.axes[0][q],p.append(b+"pgvp").append(s).appendI(q+1).append("disk scale ").appendF(2*k*this.radius).append(" CIRCLE PLANE ").append(JU.Escape.eP(this.center)),h.add2(l.normalOrAxis,this.center),p.append(JU.Escape.eP(h)).append(" color translucent yellow;\n"),h.add2(l.normalOrAxis,this.center),p.append(b+"pgvp").append(s).appendI(q+1).append("ring width 0.05 scale ").appendF(2*
k*this.radius).append(" arc ").append(JU.Escape.eP(h)),h.scaleAdd2(-2,l.normalOrAxis,h),p.append(JU.Escape.eP(h)),h.add3(0.011,0.012,0.013),p.append(JU.Escape.eP(h)).append("{0 360 0.5} color ").append(null!=this.principalPlane&&l.index==this.principalPlane.index?"red":"blue").append(";\n"));p.append("# name=").append(y);p.append(", n"+this.getConventionalName("Ci")+"=").appendI(this.haveInversionCenter?1:0);p.append(", n"+this.getConventionalName("Cs")+"=").appendI(this.nAxes[0]);p.append(", n"+
this.getConventionalName("Cn")+"=").appendI(j[1][0]);p.append(", n"+this.getConventionalName("Sn")+"=").appendI(j[2][0]);p.append(": ");for(n=JS.PointGroup.maxAxis;2<=--n;)0<this.nAxes[n]&&(j=this.getConventionalName((14>n?"S":"C")+n%14),p.append(" n").append(j),p.append("=").appendI(this.nAxes[n]));p.append(";\n");p.append("print '"+y+"';\n");this.drawInfo=p.toString();JU.Logger.debugging&&JU.Logger.info(this.drawInfo);return this.drawInfo}q=0;b=1;d=0;n=this.haveInversionCenter?this.getConventionalName("Ci"):
"center";this.haveInversionCenter&&(b++,d++);f?null!=this.center&&(this.info.put(n,this.center),this.haveInversionCenter&&this.info.put("center",this.center),this.info.put(n,this.center)):p.append("\n\n").append(y).append("\t").append(n).append("\t").append(JU.Escape.eP(this.center));for(n=JS.PointGroup.maxAxis;0<=--n;)if(0<this.nAxes[n]){q=JS.PointGroup.nUnique[n];e=this.axes[n][0].getLabel(!0);a=this.axes[n][0].getLabel(!1);f?this.info.put("n"+a,Integer.$valueOf(this.nAxes[n])):p.append("\n\n").append(y).append("\tn").append(e).append("\t").appendI(this.nAxes[n]).append("\t").appendI(q);
q*=this.nAxes[n];b+=q;d+=this.nAxes[n];j[this.axes[n][0].type][1]+=q;e=f?new JU.Lst:null;c=f?new JU.Lst:null;for(q=0;q<this.nAxes[n];q++)k=this.axes[n][q],f?(e.addLast(k.normalOrAxis),c.addLast(k.getM3())):p.append("\n").append(y).append("\t").append(a).append("_").appendI(q+1).append("\t").appendO(k.normalOrAxis);f&&(this.info.put(a,e),this.info.put(a+"_m",c))}if(!f)return p.append("\n"),p.append("\n").append(y).append("\ttype\tnElements\tnUnique"),p.append("\n").append(y).append("\t"+this.getConventionalName("E")+
"\t  1\t  1"),q=this.haveInversionCenter?1:0,p.append("\n").append(y).append("\t"+this.getConventionalName("Ci")+"\t  ").appendI(q).append("\t  ").appendI(q),p.append("\n").append(y).append("\t"+this.getConventionalName("Cs")+"\t"),JU.PT.rightJustify(p,"    ",this.nAxes[0]+"\t"),JU.PT.rightJustify(p,"    ",this.nAxes[0]+"\n"),p.append(y).append("\t"+this.getConventionalName("Cn")+"\t"),JU.PT.rightJustify(p,"    ",j[1][0]+"\t"),JU.PT.rightJustify(p,"    ",j[1][1]+"\n"),p.append(y).append("\t"+this.getConventionalName("Sn")+
"\t"),JU.PT.rightJustify(p,"    ",j[2][0]+"\t"),JU.PT.rightJustify(p,"    ",j[2][1]+"\n"),p.append(y).append("\t\tTOTAL\t"),JU.PT.rightJustify(p,"    ",b+"\n"),this.textInfo=p.toString();this.info.put("name",this.name);this.info.put("hmName",this.getHermannMauguinName());this.info.put("nAtoms",Integer.$valueOf(this.nAtoms));this.info.put("nTotal",Integer.$valueOf(b));this.info.put("nElements",Integer.$valueOf(d));this.info.put("nCi",Integer.$valueOf(this.haveInversionCenter?1:0));this.haveInversionCenter&&
this.info.put("Ci_m",JU.M3.newM3(JS.PointGroup.mInv));this.info.put("nCs",Integer.$valueOf(this.nAxes[0]));this.info.put("nCn",Integer.$valueOf(j[1][0]));this.info.put("nSn",Integer.$valueOf(j[2][0]));this.info.put("distanceTolerance",Float.$valueOf(this.distanceTolerance));this.info.put("linearTolerance",Float.$valueOf(this.linearTolerance));this.info.put("points",this.points);this.info.put("detail",p.toString().$replace("\n",";"));null!=this.principalAxis&&0<this.principalAxis.index&&this.info.put("principalAxis",
this.principalAxis.normalOrAxis);null!=this.principalPlane&&0<this.principalPlane.index&&this.info.put("principalPlane",this.principalPlane.normalOrAxis);return this.info},"~N,~S,~B,~S,~N,~N");e(c,"isDrawType",function(a,b,f){return null!=this.drawInfo&&this.drawType.equals(null==a?"":a)&&this.drawIndex==b&&this.scale==f},"~S,~N,~N");c.getHMfromSFName=e(c,"getHMfromSFName",function(a){if(null==JS.PointGroup.htSFToHM){JS.PointGroup.htSFToHM=new java.util.Hashtable;var b=JS.PointGroup.SF2HM;JS.PointGroup.addNames("E",
"1");JS.PointGroup.addNames("Ci","-1");JS.PointGroup.addNames("Cn","n");JS.PointGroup.addNames("Sn","-n");for(var f=0;f<b.length;f++){var d=b[f].$plit(","),c=d[0];if(2==d.length)JS.PointGroup.addNames(c,d[1]);else{for(var k=c.substring(0,1),c=c.substring(2,c.length),e=1;13>e;e++){var h=d[e];0<h.length&&(JS.PointGroup.addNames(k+e+c,h),System.out.println(k+e+c+"\t"+h))}14==d.length&&JS.PointGroup.addNames(k+"\u221e"+c,d[13])}}}b=JS.PointGroup.htSFToHM.get(a);return null==b?a:b},"~S");c.addNames=e(c,
"addNames",function(a,b){JS.PointGroup.htSFToHM.put(a,b);JS.PointGroup.htSFToHM.put(b,a)},"~S,~S");c.$PointGroup$Operation$=function(){var a=C(function(){Ka(this,arguments);this.index=this.order=this.type=0;this.normalOrAxis=null;this.typeOrder=0;this.mat=null;L(this,arguments)},JS.PointGroup,"Operation",null);V(a,function(){this.index=++this.b$["JS.PointGroup"].nOps;this.type=3;this.typeOrder=this.order=1;JU.Logger.debugging&&JU.Logger.debug("new operation -- "+JS.PointGroup.typeNames[this.type])});
V(a,function(b,a){this.index=++this.b$["JS.PointGroup"].nOps;this.type=14>a?2:1;this.typeOrder=a;this.order=a%14;this.normalOrAxis=JU.Quat.newVA(b,180).getNormal();JU.Logger.debugging&&JU.Logger.debug("new operation -- "+(this.order==a?"S":"C")+this.order+" "+this.normalOrAxis)},"JU.V3,~N");V(a,function(b){null!=b&&(this.index=++this.b$["JS.PointGroup"].nOps,this.type=0,this.normalOrAxis=JU.Quat.newVA(b,180).getNormal(),JU.Logger.debugging&&JU.Logger.debug("new operation -- plane "+this.normalOrAxis))},
"JU.V3");e(a,"getLabel",function(b){var a;switch(this.type){case 0:a="Cs";break;case 2:a="S"+this.order;break;default:a="C"+this.order}return b?this.b$["JS.PointGroup"].getConventionalName(a):a},"~B");e(a,"getM3",function(){if(null!=this.mat)return this.mat;var b=JU.M3.newM3(JS.PointGroup.getQuaternion(this.normalOrAxis,this.typeOrder).getMatrix());(0==this.type||2==this.type)&&b.mul(JS.PointGroup.mInv);this.cleanMatrix(b);return this.mat=b});e(a,"cleanMatrix",function(b){for(var a=0;3>a;a++)for(var d=
0;3>d;d++)b.setElement(a,d,this.approx0(b.getElement(a,d)))},"JU.M3");e(a,"approx0",function(b){return 1E-15<b||-1E-15>b?b:0},"~N");m(a,"toString",function(){return this.getLabel(!1)+" "+this.normalOrAxis})};c.axesMaxN=O(-1,[15,0,0,1,3,1,10,0,1,0,6,0,1,0,0,0,15,10,6,6,10,0,1]);c.nUnique=O(-1,[1,0,0,2,2,4,2,0,4,0,4,0,4,0,0,0,1,2,2,4,2,0,4]);c.maxAxis=JS.PointGroup.axesMaxN.length;c.typeNames=Z(-1,["plane","proper axis","improper axis","center of inversion"]);c.mInv=JU.M3.newA9(D(-1,[-1,0,0,0,-1,0,
0,0,-1]));c.SF2HM="Cn,1,2,3,4,5,6,7,8,9,10,11,12|Cnv,m,2m,3m,4mm,5m,6mm,7m,8mm,9m,10mm,11m,12mm,\u221em|Sn,,-1,-6,-4,(-10),-3,(-14),-8,(-18),-5,(-22),(-12)|Cnh,m,2/m,-6,4/m,-10,6/m,-14,8/m,-18,10/m,-22,12/m|Dn,,222,32,422,52,622,72,822,92,(10)22,(11)2,(12)22|Dnd,,-42m,-3m,-82m,-5m,(-12)2m,-7m,(-16)2m,-9m,(-20)2m,(-11)m,(-24)2m|Dnh,,mmm,-6m2,4/mmm,(-10)m2,6/mmm,(-14)m2,8/mmm,(-18)m2,10/mmm,(-22)m2,12/mmm,\u221e/mm|Ci,-1|Cs,m|T,23|Th,m-3|Td,-43m|O,432|Oh,m-3m".$plit("\\|");c.htSFToHM=null});da("JS");
ja(["JS.HallInfo","java.util.Hashtable"],"JS.SpaceGroup","java.util.Arrays JU.AU $.Lst $.M4 $.P3 $.PT $.SB JS.Symmetry $.SymmetryOperation $.UnitCell JU.Logger $.SimpleUnitCell".split(" "),function(){var c=C(function(){this.specialPrefix="";this.groupType=0;this.xyzList=this.allOperations=this.finalOperations=this.symmetryOperations=null;this.axisChoice=this.uniqueAxis="\x00";this.jmolId=this.itaNumber=null;this.operationCount=0;this.latticeOp=-1;this.isBio=!1;this.latticeType="P";this.itaTransform=
null;this.setNo=this.itaNo=0;this.sfIndex=-1;this.itaIndex=null;this.nDim=3;this.periodicity=7;this.canonicalCLEG=this.clegId=null;this.index=0;this.referenceIndex=-1;this.isSSG=!1;this.name="unknown!";this.hallInfo=this.jmolIdExt=this.hmSymbol=this.crystalClass=this.hallSymbolAlt=this.hallSymbol=null;this.modDim=this.latticeParameter=0;this.doNormalize=!0;this.hmSymbolAbbrShort=this.hmSymbolAlternative=this.hmSymbolAbbr=this.hmSymbolExt=this.hmSymbolFull=this.nHallOperators=this.info=null;this.ambiguityType=
"\x00";this.displayName=this.strName=null;L(this,arguments)},JS,"SpaceGroup",null,[Cloneable,JS.HallInfo.HallReceiver]);V(c,function(b,a,d){++JS.SpaceGroup.sgIndex;0>b&&(b=JS.SpaceGroup.sgIndex);this.index=b;this.init(d&&null==a);d&&null!=a&&this.buildSelf(a)},"~N,~S,~B");e(c,"setFrom",function(b,a){a?(this.setName(b.itaNumber.equals("0")?this.clegId:"HM:"+b.hmSymbolFull+" #"+b.clegId),this.referenceIndex=-2):(this.setName(b.getName()),this.referenceIndex=b.index);this.latticeType=b.latticeType;this.specialPrefix=
b.specialPrefix;this.periodicity=b.periodicity;this.groupType=b.groupType;this.setClegId(b.getClegId());this.itaIndex=b.itaIndex;this.crystalClass=b.crystalClass;this.hallSymbol=b.hallSymbol;this.hmSymbol=b.hmSymbol;this.hmSymbolAbbr=b.hmSymbolAbbr;this.hmSymbolAbbrShort=b.hmSymbolAbbrShort;this.hmSymbolAlternative=b.hmSymbolAlternative;this.hmSymbolExt=b.hmSymbolExt;this.hmSymbolFull=b.hmSymbolFull;this.itaNumber=b.itaNumber;this.itaTransform=b.itaTransform;this.strName=this.displayName=this.jmolIdExt=
this.jmolId=null;return this},"JS.SpaceGroup,~B");c.getNull=e(c,"getNull",function(b,a,d){b=new JS.SpaceGroup(-1,null,b);b.doNormalize=a;d&&b.setFinalOperations();return b},"~B,~B,~B");e(c,"init",function(b){this.xyzList=new java.util.Hashtable;this.operationCount=0;b&&this.addSymmetry("x,y,z",0,!1)},"~B");c.createSpaceGroup=e(c,"createSpaceGroup",function(b,a,d,c){var k=null;0<=b?k=JS.SpaceGroup.SG[b]:(k=$(d,"JU.Lst")?JS.SpaceGroup.createSGFromList(a,d):JS.SpaceGroup.determineSpaceGroupNA(a,d),null==
k&&(k=JS.SpaceGroup.createSpaceGroupN(0>=c?a:"x1,x2,x3,x4,x5,x6,x7,x8,x9".substring(0,3*c+8),!0)));null!=k&&k.generateMatrixOperators(null);return k},"~N,~S,~O,~N");e(c,"getItaIndex",function(){return null!=this.itaIndex&&!"--".equals(this.itaIndex)?this.itaIndex:!"0".equals(this.itaNumber)?this.itaNumber:!"--".equals(this.hallSymbol)?"["+this.hallSymbol+"]":"?"});e(c,"getIndex",function(){return 0<=this.referenceIndex?this.referenceIndex:this.index});e(c,"setClegId",function(b){this.clegId=b;this.canonicalCLEG=
JS.SpaceGroup.canonicalizeCleg(b)},"~S");e(c,"getClegId",function(){return this.clegId});c.createSGFromList=e(c,"createSGFromList",function(b,a){var d=new JS.SpaceGroup(-1,"0;--;--;0;--;--;--",!0);d.doNormalize=!1;d.setName(b);var c=a.size();if(0==c)return d;for(var k=0;k<c;k++){var e=a.get(k);if($(e,"JS.SymmetryOperation")){var h=d.addOp(e,e.xyz,!1);d.symmetryOperations[h].setTimeReversal(e.timeReversal)}else d.addSymmetrySM("xyz matrix:"+e,e)}d.setFinalOperationsSafely();c=d.getReferenceSpaceGroup();
null!=c&&(d=c);return d},"~S,JU.Lst");e(c,"addSymmetry",function(b,a,d){b=b.toLowerCase();return 0>b.indexOf("[[")&&0>b.indexOf("x4")&&0>b.indexOf(";")&&(0>b.indexOf("x")||0>b.indexOf("y")||0>b.indexOf("z"))?-1:this.addOperation(b,a,d)},"~S,~N,~B");e(c,"setFinalOperationsSafely",function(){null==this.finalOperations&&this.setFinalOperations()});e(c,"setFinalOperations",function(){this.setFinalOperationsForAtoms(3,null,0,0,!1)});e(c,"setFinalOperationsForAtoms",function(b,a,d,c,e){if(null==this.hallInfo&&
0!=this.latticeParameter){var g=new JS.HallInfo(JS.HallInfo.getHallLatticeEquivalent(this.latticeParameter));this.generateMatrixOperators(g)}else this.checkCreateFromHall();this.finalOperations=null;this.isBio=0<=this.name.indexOf("bio");!this.isBio&&(this.index>=JS.SpaceGroup.SG.length&&this.allowCheckForReference())&&(g=this.getReferenceSpaceGroup(),null!=g&&g!==this&&this.setFrom(g,!1));0==this.operationCount&&this.addOperation("x,y,z",1,!1);this.finalOperations=Array(this.operationCount);var g=
e&&0<c&&null!=a,h=null;if(g){h=this.finalOperations[0]=new JS.SymmetryOperation(this.symmetryOperations[0],0,!0);null==h.sigma&&JS.SymmetryOperation.normalizeOperationToCentroid(b,h,a,d,c);var l=a[d],j=JU.P3.newP(l);h.rotTrans(j);if(1E-4<j.distance(l))for(var n=0;n<c;n++)l=a[d+n],j.setT(l),h.rotTrans(j),l.setT(j);e||(h=null)}for(n=0;n<this.operationCount;n++){if(0<n||null==h)h=this.finalOperations[n]=new JS.SymmetryOperation(this.symmetryOperations[n],0,e),h.isFinalized||h.doFinalize();g&&null==h.sigma&&
JS.SymmetryOperation.normalizeOperationToCentroid(b,h,a,d,c);h.getCentering()}},"~N,~A,~N,~N,~B");e(c,"allowCheckForReference",function(){return 0==this.modDim&&null!=this.symmetryOperations&&0<this.symmetryOperations.length&&0==this.symmetryOperations[0].timeReversal&&0>this.name.indexOf("[subsystem")});c.newHallInfo=e(c,"newHallInfo",function(b){b.startsWith("Hall:")&&(b=b.substring(5).trim());return new JS.HallInfo(b)},"~S");e(c,"getOperationCount",function(){this.setFinalOperationsSafely();return this.finalOperations.length});
e(c,"getOperation",function(b){return this.finalOperations[b]},"~N");e(c,"getAdditionalOperationsCount",function(){this.setFinalOperationsSafely();null==this.allOperations&&(this.allOperations=JS.SymmetryOperation.getAdditionalOperations(this.finalOperations,this.periodicity<<4|this.nDim));return this.allOperations.length-this.getOperationCount()});e(c,"getAdditionalOperations",function(){this.getAdditionalOperationsCount();return this.allOperations});e(c,"getAllOperation",function(b){return this.allOperations[b]},
"~N");e(c,"getXyz",function(b,a){return null==this.finalOperations?this.symmetryOperations[b].getXyz(a):this.finalOperations[b].getXyz(a)},"~N,~B");c.findSpaceGroupFromXYZ=e(c,"findSpaceGroupFromXYZ",function(b){var a=new JS.SpaceGroup(-1,"0;--;--;0;--;--;--",!0);a.doNormalize=!1;b=b.$plit(";");for(var d=0,c=b.length;d<c;d++){var e=new JS.SymmetryOperation(null,d,!1);e.setMatrixFromXYZ(b[d],0,!1);a.addOp(e,b[d],!1)}return JS.SpaceGroup.findReferenceSpaceGroup(a.operationCount,a.getCanonicalSeitzList(),
null)},"~S");c.getInfo=e(c,"getInfo",function(b,a,d,c,e){try{if(null!=b&&b.index>=JS.SpaceGroup.SG.length){var g=JS.SpaceGroup.findReferenceSpaceGroup(b.operationCount,b.getCanonicalSeitzList(),b.clegId);null!=g&&(b=g)}if(null!=d){if(null==b){0<=a.indexOf("[")&&(a=a.substring(0,a.indexOf("[")).trim());if(a.equals("unspecified!"))return"no space group identified in file";b=JS.SpaceGroup.determineSpaceGroupNA(a,d)}}else{if(a.equalsIgnoreCase("ALL"))return JS.SpaceGroup.dumpAll(c);if(a.equalsIgnoreCase("MAP"))return JS.SpaceGroup.dumpAll(!0);
if(a.equalsIgnoreCase("ALLSEITZ"))return JS.SpaceGroup.dumpAllSeitz();b=JS.SpaceGroup.determineSpaceGroupN(a)}if(null==b){var h=JS.SpaceGroup.createSpaceGroupN(a,!0);null!=h&&(h=JS.SpaceGroup.findReferenceSpaceGroup(h.operationCount,h.getCanonicalSeitzList(),h.clegId));null!=h&&(b=h)}if(null!=b){if(c)return b.dumpInfoObj();for(var l=new JU.SB;null!=b&&!(b.index<JS.SpaceGroup.SG.length||e);)b=JS.SpaceGroup.SG[b.index];b.getOperationCount();l.append(b.dumpInfo());return l.toString()}return c?null:"?"}catch(j){if(P(j,
Exception))return"?";throw j;}},"JS.SpaceGroup,~S,~A,~B,~B");e(c,"dumpInfo",function(){var b=new JU.SB;0!=this.groupType&&b.append("\ngroupType: ").append(JS.SpaceGroup.getSpecialGroupName(this.groupType));b.append("\nHermann-Mauguin symbol: ");null==this.hmSymbol||null==this.hmSymbolExt?b.append("?"):b.append(this.hmSymbol).append(0<this.hmSymbolExt.length?":"+this.hmSymbolExt:"");null!=this.itaNumber&&b.append("\ninternational table number: ").append(this.itaNumber);null!=this.crystalClass&&b.append("\ncrystal class: "+
this.crystalClass);null!=this.jmolId&&b.append("\nJmol_ID: ").append(this.jmolId).append(" ("+this.itaIndex+")");null!=this.clegId&&b.append("\nCLEG: "+this.clegId);b.append("\n\n").append(null==this.hallInfo?"Hall symbol unknown":JU.Logger.debugging?this.hallInfo.dumpInfo():"");b.append("\n\n").appendI(this.operationCount).append(" operators").append(null!=this.hallInfo&&!this.hallInfo.getHallSymbol().equals("--")?" from Hall symbol "+this.hallInfo.getHallSymbol():"").append(": ");for(var a=0;a<
this.operationCount;a++)b.append("\n").append(this.symmetryOperations[a].xyz);return b.toString()});e(c,"dumpInfoObj",function(){var b=this.dumpCanonicalSeitzList();if($(b,"JS.SpaceGroup"))return b.dumpInfoObj();b=new java.util.Hashtable;if(null!=this.itaNumber&&!this.itaNumber.equals("0")){var a=null==this.hmSymbol||null==this.hmSymbolExt?"?":this.hmSymbol+(0<this.hmSymbolExt.length?":"+this.hmSymbolExt:"");b.put("index",Integer.$valueOf(this.index));b.put("hm",a);b.put("HermannMauguinSymbol",a);
b.put("ita",Integer.$valueOf(JU.PT.parseInt(this.itaNumber)));null!=this.hallInfo&&null!=this.hallInfo.getHallSymbol()&&b.put("HallSymbol",this.hallInfo.getHallSymbol());null!=this.hallSymbolAlt&&b.put("HallSymbolAlt",this.hallSymbolAlt);b.put("itaIndex",null==this.itaIndex?"n/a":this.itaIndex);b.put("clegId",null==this.itaIndex?"n/a":this.clegId);null!=this.jmolId&&b.put("jmolId",this.jmolId);null!=this.crystalClass&&b.put("crystalClass",this.crystalClass);b.put("operationCount",Integer.$valueOf(this.operationCount))}else null!=
this.hallInfo&&(null!=this.hallInfo.getHallSymbol()&&b.put("HallSymbol",this.hallInfo.getHallSymbol()),null!=this.hallSymbolAlt&&b.put("HallSymbolAlt",this.hallSymbolAlt),b.put("operationCount",Integer.$valueOf(this.operationCount)));for(var a=new JU.Lst,d=0;d<this.operationCount;d++)a.addLast(this.symmetryOperations[d].xyz);b.put("operationsXYZ",a);return b});e(c,"getCIFWriterValue",function(b,a){var d=null;switch(b){case "HermannMauguinSymbol":d=this.hmSymbol;break;case "ita":d=this.itaNumber;break;
case "HallSymbol":d=this.hallSymbol}if(null!=d)return d;null==this.info&&(this.info=JS.SpaceGroup.getInfo(this,this.hmSymbol,a.getUnitCellParams(),!0,!1));if("string"==typeof this.info)return null;d=this.info.get(b);return null==d?null:d.toString()},"~S,J.api.SymmetryInterface");e(c,"getName",function(){return this.name});e(c,"getShelxLATTDesignation",function(){return JS.HallInfo.getLatticeDesignation(this.latticeParameter)});e(c,"setLatticeParam",function(b){this.latticeParameter=b;10<b&&(this.latticeParameter=
-JS.HallInfo.getLatticeIndexFromCode(b))},"~N");e(c,"dumpCanonicalSeitzList",function(){this.checkCreateFromHall();var b=this.getCanonicalSeitzList();if(this.index>=JS.SpaceGroup.SG.length){var a=JS.SpaceGroup.findReferenceSpaceGroup(this.operationCount,b,this.clegId);if(null!=a)return a.getCanonicalSeitzList()}return(0<=this.index&&this.index<JS.SpaceGroup.SG.length?this.hallSymbol+" = ":"")+b});e(c,"checkCreateFromHall",function(){null!=this.nHallOperators&&null!=this.hallSymbol&&(this.hallInfo=
JS.SpaceGroup.newHallInfo(this.hallSymbol),this.generateMatrixOperators(null))});e(c,"getReferenceSpaceGroup",function(){if(-2==this.referenceIndex||0<=this.index&&this.index<JS.SpaceGroup.SG.length||!this.allowCheckForReference())return this;var b=this.getCanonicalSeitzList();return null==b?null:JS.SpaceGroup.findReferenceSpaceGroup(this.operationCount,b,this.clegId)});e(c,"getCanonicalSeitzList",function(){return JS.SpaceGroup.getCanonicalSeitzForOperations(this.symmetryOperations,this.operationCount)});
c.getCanonicalSeitzForOperations=e(c,"getCanonicalSeitzForOperations",function(b,a){for(var d=Array(a),c=0;c<a;c++)d[c]=JS.SymmetryOperation.dumpSeitz(b[c],!0);java.util.Arrays.sort(d,0,a);for(var e=(new JU.SB).append("\n["),c=0;c<a;c++)e.append(d[c].$replace("\t"," ").$replace("\n"," ")).append("; ");e.append("]");return e.toString()},"~A,~N");c.findReferenceSpaceGroup=e(c,"findReferenceSpaceGroup",function(b,a,d){b=JS.SpaceGroup.htByOpCount.get(Integer.$valueOf(b));if(null!=b)for(var c=0,e=b.size();c<
e;c++){var g=b.get(c);if(null!=d&&d.equals(g.clegId)||(null==g.clegId||null==d||d.equals("0:a,b,c"))&&0<=JS.SpaceGroup.getCanonicalSeitz(g.index).indexOf(a))return JS.SpaceGroup.SG[g.index]}return null},"~N,~S,~S");c.dumpAll=e(c,"dumpAll",function(b){if(b){var a=new JU.Lst;for(b=0;b<JS.SpaceGroup.SG.length;b++)a.addLast(JS.SpaceGroup.SG[b].dumpInfoObj());return a}a=new JU.SB;for(b=0;b<JS.SpaceGroup.SG.length;b++)a.append("\n----------------------\n"+JS.SpaceGroup.SG[b].dumpInfo());return a.toString()},
"~B");c.dumpAllSeitz=e(c,"dumpAllSeitz",function(){for(var b=new JU.SB,a=0;a<JS.SpaceGroup.SG.length;a++)b.append("\n").appendO(JS.SpaceGroup.getCanonicalSeitz(a));return b.toString()});c.getCanonicalSeitz=e(c,"getCanonicalSeitz",function(b){null==JS.SpaceGroup.canonicalSeitzList&&(JS.SpaceGroup.canonicalSeitzList=Array(JS.SpaceGroup.SG.length));var a=JS.SpaceGroup.canonicalSeitzList[b];return null==a?JS.SpaceGroup.canonicalSeitzList[b]=JS.SpaceGroup.SG[b].dumpCanonicalSeitzList().toString():a},"~N");
e(c,"setLattice",function(b,a){this.latticeParameter=JS.HallInfo.getLatticeIndex(b);a||(this.latticeParameter=-this.latticeParameter)},"~S,~B");c.createSpaceGroupN=e(c,"createSpaceGroupN",function(b,a){b=b.trim();var d=JS.SpaceGroup.determineSpaceGroupN(b);if(null==d&&a){var c=JS.SpaceGroup.newHallInfo(b);c.isGenerated()?(d=new JS.SpaceGroup(-1,"0;--;--;0;--;--;"+b,!0),d.hallInfo=c,d.hallSymbol=c.getHallSymbol(),d.setName("["+d.hallSymbol+"]"),d.jmolId=null):0<=b.indexOf(",")&&(d=new JS.SpaceGroup(-1,
"0;--;--;0;--;--;--",!0),d.doNormalize=!1,d.generateOperatorsFromXyzInfo(b))}if(null!=d)try{return d.generateMatrixOperators(null),d}catch(e){if(!P(e,Exception))throw e;}return null},"~S,~B");e(c,"addOperation",function(b,a,d){if(null==b||3>b.length)return this.init(!1),-1;b=JU.PT.rep(b," ","");var c="="==b.charAt(0);c&&(b=b.substring(1));var e=this.checkXYZlist(b);if(0<=e)return e;if(b.startsWith("x1,x2,x3,x4")&&0==this.modDim)this.xyzList.clear(),this.operationCount=0,this.modDim=JU.PT.parseInt(b.substring(b.lastIndexOf("x")+
1))-3;else if(0<=b.indexOf("m")||0<=b.indexOf("u"))if(b=JU.PT.rep(b,"+m","m"),b.equals("x,y,z,m")||b.equals("x,y,z(mx,my,mz)")||b.equals("x,y,z(u,v,w)"))this.xyzList.clear(),this.operationCount=0;a=new JS.SymmetryOperation(null,a,this.doNormalize);if(!a.setMatrixFromXYZ(b,this.modDim,d))return JU.Logger.error("couldn't interpret symmetry operation: "+b),-1;"!"==b.charAt(0)&&(b=b.substring(b.lastIndexOf("!")+1));return this.addOp(a,b,c)},"~S,~N,~B");e(c,"checkXYZlist",function(b){return this.xyzList.containsKey(b)?
this.xyzList.get(b).intValue():-1},"~S");e(c,"addOp",function(b,a,d){var c=b.xyz;if(!d){d=this.checkXYZlist(c);if(0<=d)return d;0>this.latticeOp&&(d=JU.PT.replaceAllCharacters(0<this.modDim?JS.SymmetryOperation.replaceXn(c,this.modDim+3):c,"+123/",""),this.xyzList.containsKey(d+"!")?this.latticeOp=this.operationCount:this.xyzList.put(d+"!",Integer.$valueOf(this.operationCount)));this.xyzList.put(c,Integer.$valueOf(this.operationCount))}c.equals(a)||this.xyzList.put(a,Integer.$valueOf(this.operationCount));
null==this.symmetryOperations&&(this.symmetryOperations=Array(4));this.operationCount==this.symmetryOperations.length&&(this.symmetryOperations=JU.AU.arrayCopyObject(this.symmetryOperations,2*this.operationCount));this.symmetryOperations[this.operationCount++]=b;b.number=this.operationCount;0!=b.timeReversal&&(this.symmetryOperations[0].timeReversal=1);JU.Logger.debugging&&JU.Logger.debug("\naddOperation "+this.operationCount+b.dumpInfo());return this.operationCount-1},"JS.SymmetryOperation,~S,~B");
e(c,"generateOperatorsFromXyzInfo",function(b){this.init(!0);b=JU.PT.split(b.toLowerCase(),";");for(var a=0;a<b.length;a++)this.addSymmetry(b[a],0,!1)},"~S");e(c,"generateMatrixOperators",function(b){if(null==b){if(0<this.operationCount)return;if(null==this.hallSymbol||this.hallSymbol.endsWith("?")){this.checkHallOperators();return}this.symmetryOperations=Array(4);if(null==this.hallInfo||!this.hallInfo.isGenerated())this.hallInfo=JS.SpaceGroup.newHallInfo(this.hallSymbol);this.setLattice(this.hallInfo.getLatticeCode(),
this.hallInfo.isCentrosymmetric());this.init(!0);b=this.hallInfo}b.generateAllOperators(this);null==this.hmSymbol&&(this.hmSymbol="--");this.hmSymbol.equals("--")&&(this.hallSymbol=b.getHallSymbol(),this.nHallOperators=Integer.$valueOf(this.operationCount));null!=this.nHallOperators&&this.operationCount!=this.nHallOperators.intValue()&&JU.Logger.error("Operator mismatch "+this.operationCount+" for "+this);b=b.getLatticeCode();switch(b.charCodeAt(0)){case 0:case 83:case 84:case 80:this.latticeType=
"P";break;default:this.latticeType=b}},"JS.HallInfo");e(c,"addSymmetrySM",function(b,a){var d=this.addOperation(b,0,!1);0<=d&&this.symmetryOperations[d].setM4(a);return d},"~S,JU.M4");c.determineSpaceGroupN=e(c,"determineSpaceGroupN",function(b){return JS.SpaceGroup.determineSpaceGroup(b,0,0,0,0,0,0,-1)},"~S");c.determineSpaceGroupNS=e(c,"determineSpaceGroupNS",function(b,a){return JS.SpaceGroup.determineSpaceGroup(b,0,0,0,0,0,0,a.index)},"~S,JS.SpaceGroup");c.determineSpaceGroupNA=e(c,"determineSpaceGroupNA",
function(b,a){return null==a?JS.SpaceGroup.determineSpaceGroup(b,0,0,0,0,0,0,-1):JS.SpaceGroup.determineSpaceGroup(b,a[0],a[1],a[2],a[3],a[4],a[5],-1)},"~S,~A");c.determineSpaceGroup=e(c,"determineSpaceGroup",function(b,a,d,c,e,g,h,l){b=JS.SpaceGroup.determineSpaceGroupIndex(b,a,d,c,e,g,h,l);return 0<=b?JS.SpaceGroup.SG[b]:null},"~S,~N,~N,~N,~N,~N,~N,~N");c.isXYZList=e(c,"isXYZList",function(b){return null!=b&&0<=b.indexOf(",")&&0>b.indexOf("(")&&0>b.indexOf(":")},"~S");c.determineSpaceGroupIndex=
e(c,"determineSpaceGroupIndex",function(b,a,d,c,e,g,h,l){if(JS.SpaceGroup.isXYZList(b))return-1;0>l&&(l=JS.SpaceGroup.SG.length);if(0<JS.SpaceGroup.getExplicitSpecialGroupType(b))return-1;b=b.trim().toLowerCase();b.startsWith("bilbao:")&&(b=b.substring(7));var j;j=b.indexOf("hall:");0<j&&(b=b.substring(j));var n=0<=b.indexOf(",")?6:b.startsWith("ita/")?4:b.startsWith("hall:")?5:b.startsWith("hm:")?3:0;switch(n){case 6:b=JS.SpaceGroup.canonicalizeCleg(b);break;case 3:case 5:case 4:b=b.substring(n);
break;case 0:b.contains("[")?(n=5,b=b.substring(0,b.indexOf("[")).trim()):0<b.indexOf(".")&&(n=4)}switch(n){case 6:for(j=0;j<l;j++)if(b.equals(JS.SpaceGroup.SG[j].canonicalCLEG))return j;return-1;case 5:for(j=0;j<l;j++)if(JS.SpaceGroup.SG[j].hallSymbol.equalsIgnoreCase(b))return j;return-1}var q=b,p=!1;4!=n&&(b=b.$replace("_"," "),2<=b.length&&(j=0==b.indexOf("-")?2:1,j<b.length&&" "!=b.charAt(j)&&(b=b.substring(0,j)+" "+b.substring(j)),b=JS.SpaceGroup.toCap(b,2)));var y="";if(0<(j=b.indexOf(":")))y=
b.substring(j+1),b=b.substring(0,j).trim(),p=0<y.length;4!=n&&(5!=n&&!p&&JU.PT.isOneOf(b,JS.SpaceGroup.ambiguousHMNames))&&(y="?",p=!0);var r=JU.PT.replaceAllCharacters(b," ()",""),m;switch(n){case 4:if(p)for(j=0;j<l;j++){if(q.equalsIgnoreCase(JS.SpaceGroup.SG[j].itaIndex))return j}else for(j=0;j<l;j++)if(b.equalsIgnoreCase(JS.SpaceGroup.SG[j].itaIndex))return j;break;case 6:case 5:break;default:case 3:if(3!=n)for(j=0;j<l;j++)if(JS.SpaceGroup.SG[j].jmolId.equalsIgnoreCase(q))return j;for(j=0;j<l;j++)if(JS.SpaceGroup.SG[j].hmSymbolFull.equalsIgnoreCase(q))return j;
for(j=0;j<l;j++)if(null!=(m=JS.SpaceGroup.SG[j]).hmSymbolAlternative&&m.hmSymbolAlternative.equalsIgnoreCase(q))return j;if(p){for(j=0;j<l;j++)if((m=JS.SpaceGroup.SG[j]).hmSymbolAbbr.equalsIgnoreCase(r)&&(m.hmSymbolExt.equalsIgnoreCase(y)||m.jmolIdExt.equalsIgnoreCase(y)))return j;for(j=0;j<l;j++)if((m=JS.SpaceGroup.SG[j]).hmSymbolAbbrShort.equalsIgnoreCase(r)&&(m.hmSymbolExt.equalsIgnoreCase(y)||m.jmolIdExt.equalsIgnoreCase(y)))return j}b=JS.SpaceGroup.determineUniqueAxis(a,d,c,e,g,h);if(!p||"?"==
y.charAt(0))for(j=0;j<l;j++)if((m=JS.SpaceGroup.SG[j]).hmSymbolAbbr.equalsIgnoreCase(r)||m.hmSymbolAbbrShort.equalsIgnoreCase(r)||m.itaNumber.equals(r))switch(m.ambiguityType.charCodeAt(0)){case 0:case 45:return j;case 97:if(m.uniqueAxis==b||"\x00"==b)return j;break;case 111:if(0==y.length){if(m.hmSymbolExt.equals("2"))return j}else if(m.hmSymbolExt.equalsIgnoreCase(y))return j;break;case 116:if(0==y.length){if("h"==m.axisChoice)return j}else if((m.axisChoice+"").equalsIgnoreCase(y))return j}}if(0==
y.length)for(j=0;j<l;j++)if(JS.SpaceGroup.SG[j].itaNumber.equals(q))return j;return-1},"~S,~N,~N,~N,~N,~N,~N,~N");e(c,"setJmolCode",function(b){this.jmolId=b;b=JU.PT.split(b,":");this.itaNumber=b[0];this.jmolIdExt=1==b.length?"":b[1];this.ambiguityType="\x00";0<this.jmolIdExt.length&&(b=this.jmolIdExt.charAt(0),this.jmolIdExt.equals("h")||this.jmolIdExt.equals("r")?(this.ambiguityType="t",this.axisChoice=this.jmolIdExt.charAt(0)):"1"==b||"2"==b?this.ambiguityType="o":2>=this.jmolIdExt.length||3==
this.jmolIdExt.length&&"-"==b?(this.ambiguityType="a",this.uniqueAxis=this.jmolIdExt.charAt("-"==b?1:0)):this.jmolIdExt.contains("-")&&(this.ambiguityType="-"))},"~S");c.determineUniqueAxis=e(c,"determineUniqueAxis",function(b,a,d,c,e,g){return b==a?a==d?"\x00":"c":a==d?"a":d==b?"b":c==e?e==g?"\x00":"c":e==g?"a":g==c?"b":"\x00"},"~N,~N,~N,~N,~N,~N");e(c,"buildSelf",function(b){b=JU.PT.split(b.toLowerCase(),";");this.jmolId=b[0].trim();this.setJmolCode(this.jmolId);var a=this.jmolId.endsWith("*");
a&&(this.jmolId=this.jmolId.substring(0,this.jmolId.length-1));this.itaIndex=b[1].$replace("|",";");var d=this.itaIndex.indexOf(".");0>d?(this.setNo=2147483647,d=this.itaIndex.indexOf(":")):this.setNo=Integer.parseInt(this.itaIndex.substring(d+1));this.itaNo=0>d?0:Integer.parseInt(this.itaIndex.substring(0,d));d=b[2];this.itaTransform=0==d.length||d.equals("--")?"a,b,c":d.equals("r")?"2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c":JU.PT.rep(d,"ab","a-b,a+b,c").$replace("|",";");this.setClegId(this.itaNumber+
":"+this.itaTransform);0<b[3].length&&(this.nHallOperators=Integer.$valueOf(b[3]),d=JS.SpaceGroup.htByOpCount.get(this.nHallOperators),null==d&&JS.SpaceGroup.htByOpCount.put(this.nHallOperators,d=new JU.Lst),d.addLast(this));this.crystalClass=JS.SpaceGroup.toCap(JU.PT.split(b[4],"^")[0],1);d=b[5];d.endsWith("*")&&(d=d.substring(0,d.length-1));this.setHMSymbol(d);"xyz".equals(b[6])?(b=this.hmSymbol,this.hallSymbol=""+this.latticeType+"?"):(this.hallSymbol=b[6],1<this.hallSymbol.length&&(this.hallSymbol=
JS.SpaceGroup.toCap(this.hallSymbol,2)),a&&(this.hallSymbolAlt=this.hallSymbol,this.hallSymbol=JS.SpaceGroup.lastHallSymbol),b=this.itaNumber+this.hallSymbol,"0"!=this.itaNumber.charAt(0)&&b.equals(JS.SpaceGroup.lastInfo)&&(JS.SpaceGroup.ambiguousHMNames+=this.hmSymbol+";"));JS.SpaceGroup.lastHallSymbol=this.hallSymbol;JS.SpaceGroup.lastInfo=b;this.name="HM:"+this.hmSymbolFull+" "+(null==this.hallSymbol||"?"===this.hallSymbol?"["+this.hallSymbol+"]":"")+" #"+this.itaIndex},"~S");e(c,"setHMSymbol",
function(b){var a=b.indexOf("#");0<=a&&(b=b.substring(0,a).trim());this.hmSymbolFull=0==this.groupType?JS.SpaceGroup.toCap(b,1):b.toLowerCase();this.latticeType=Character.toUpperCase(this.hmSymbolFull.charAt(0));b=JU.PT.split(this.hmSymbolFull,":");this.hmSymbol=b[0];this.hmSymbolExt=1==b.length?"":b[1];a=this.hmSymbol.indexOf(" -3");1<=a&&0<="admn".indexOf(this.hmSymbol.charAt(a-1))&&(this.hmSymbolAlternative=(this.hmSymbol.substring(0,a)+" 3"+this.hmSymbol.substring(a+3)).toLowerCase());this.hmSymbolAbbr=
JU.PT.rep(this.hmSymbol," ","");this.hmSymbolAbbrShort=3<this.hmSymbol.length&&"3"!=this.hmSymbol.charAt(2)&&"3"!=this.hmSymbol.charAt(3)?JU.PT.rep(this.hmSymbol," 1",""):this.hmSymbolAbbr;this.hmSymbolAbbrShort=JU.PT.rep(this.hmSymbolAbbrShort," ","");this.strName=null},"~S");c.toCap=e(c,"toCap",function(b,a){return b.substring(0,a).toUpperCase()+b.substring(a)},"~S,~N");e(c,"toString",function(){return this.asString()});e(c,"asString",function(){return null==this.strName?this.strName=null==this.jmolId||
this.jmolId.equals("0")?this.name:this.jmolId+" HM:"+this.hmSymbolFull+(null==this.getClegId()?"":" #"+this.getClegId()):this.strName});e(c,"getDisplayName",function(){if(null==this.displayName){var b=null;null==this.jmolId||"--".equals(this.hallSymbol)?(b="",null!=this.hmSymbolFull&&!"--".equals(this.hmSymbol)&&(b=this.hmSymbolFull)):this.jmolId.equals("0")||(b=this.hmSymbolFull);null==b?b="["+this.hallSymbol+"]":null!=this.getClegId()&&(b+=" #"+this.getClegId());b.endsWith("2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c")&&
(b=JU.PT.rep(b,"2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c","r"));0<=b.indexOf("-- [--]")&&(b="");b.endsWith(":a,b,c")&&(b=b.substring(0,b.length-6));this.displayName=b}return this.displayName});c.getSpaceGroups=e(c,"getSpaceGroups",function(){if(null==JS.SpaceGroup.SG){var b=JS.SpaceGroup.STR_SG.length;JS.SpaceGroup.nameToGroup=new java.util.Hashtable;for(var a=Array(b),d=0;d<b;d++)a[d]=new JS.SpaceGroup(d,JS.SpaceGroup.STR_SG[d],!0),JS.SpaceGroup.nameToGroup.put(a[d].jmolId,a[d]);System.out.println("SpaceGroup - "+
b+" settings generated");JS.SpaceGroup.STR_SG=null;JS.SpaceGroup.SG=a}return JS.SpaceGroup.SG});e(c,"addMagLatticeVectors",function(b){if(0<=this.latticeOp||0==b.size())return!1;for(var a=this.latticeOp=this.operationCount,d=b.get(0).length==this.modDim+4,c=-2,e=0;e<b.size();e++){var g=b.get(e);d&&(c=x(g[this.modDim+3]),g=JU.AU.arrayCopyF(g,this.modDim+3));if(g.length>this.modDim+3)return!1;for(var h=0;h<a;h++){var l=new JS.SymmetryOperation(null,0,!0);l.modDim=this.modDim;var j=this.symmetryOperations[h];
l.divisor=j.divisor;l.linearRotTrans=JU.AU.arrayCopyF(j.linearRotTrans,-1);l.setFromMatrix(g,!1);-2!=c&&l.setTimeReversal(j.timeReversal*c);l.xyzOriginal=l.xyz;this.addOp(l,l.xyz,!0)}}return!0},"JU.Lst");e(c,"addSpinLattice",function(b){if(0<=this.latticeOp||0==b.size())return!1;for(var a=this.operationCount,d=0;d<b.size();d++){var c=b.get(d);if(!c.equals("x,y,z(u,v,w)")){var e=new JS.SymmetryOperation(null,0,!0);e.setMatrixFromXYZ(c,0,!1);e.doFinalize();for(var c=JU.M4.newM4(e.spinU),g=new JU.M4,
h=this.operationCount,l=0;l<a;l++){var j=this.symmetryOperations[l];j.doFinalize();var n=new JS.SymmetryOperation(j,0,!0);n.doFinalize();n.mul(e);g.mul2(c,j.spinU);n.modDim=this.modDim;n.divisor=j.divisor;j=JS.SymmetryOperation.getXYZFromMatrix(n,!1,!0,!1)+JS.SymmetryOperation.getSpinString(g,!0);j=this.addOperation(j,h,!0);this.symmetryOperations[j].doFinalize();h++}}}this.latticeOp=a;return!0},"JU.Lst");e(c,"getSiteMultiplicity",function(b,a){for(var d=this.finalOperations.length,c=new JU.Lst,e=
d;0<=--e;){var g=JU.P3.newP(b);this.finalOperations[e].rotTrans(g);a.unitize(g);for(var h=c.size();0<=--h;){var l=c.get(h);if(1.96E-6>g.distanceSquared(l)){g=null;break}}null!=g&&c.addLast(g)}return E(d/c.size())},"JU.P3,JS.UnitCell");e(c,"setName",function(b){this.name=b;null!=b&&b.startsWith("HM:")&&this.setHMSymbol(b.substring(3));this.strName=this.displayName=null},"~S");c.getSpaceGroupFromJmolClegOrITA=e(c,"getSpaceGroupFromJmolClegOrITA",function(b,a){var d=JS.SpaceGroup.getExplicitSpecialGroupType(a);
if(0<d)return JS.Symmetry.getSGFactory().getSpecialGroup(null,b,a,d);var d=a.indexOf(":"),c=a.indexOf(","),e=a.indexOf("."),g=0<d&&c>d?d:e,c=JS.SpaceGroup.SG.length;if(0<g&&g==d)for(d=0;d<c;d++){if(a.equals(JS.SpaceGroup.SG[d].clegId))return JS.SpaceGroup.SG[d]}else if(0<d)for(d=0;d<c;d++){if(a.equals(JS.SpaceGroup.SG[d].jmolId))return JS.SpaceGroup.SG[d]}else if(0<e)for(d=0;d<c;d++){if(a.equals(JS.SpaceGroup.SG[d].itaIndex))return JS.SpaceGroup.SG[d]}else for(d=0;d<c;d++)if(a.equals(JS.SpaceGroup.SG[d].itaNumber))return JS.SpaceGroup.SG[d];
return null},"JV.Viewer,~S");e(c,"checkHallOperators",function(){null!=this.nHallOperators&&this.nHallOperators.intValue()!=this.operationCount&&(null==this.hallInfo||this.hallInfo.isGenerated()?this.generateMatrixOperators(this.hallInfo):(this.init(!1),this.doNormalize=!0,JS.SpaceGroup.transformSpaceGroup(0,this,JS.SpaceGroup.getSpaceGroupFromJmolClegOrITA(null,this.itaNumber),null,this.itaTransform,null),this.hallInfo=null))});e(c,"getOpsCtr",function(b){var a=JS.SpaceGroup.getNull(!0,!0,!1);JS.SpaceGroup.transformSpaceGroup(this.groupType,
a,this,null,"!"+b,null);a.setFinalOperations();var d=JS.SpaceGroup.getNull(!0,!1,!1);JS.SpaceGroup.transformSpaceGroup(this.groupType,d,a,null,b,null);d.setFinalOperations();return d.finalOperations},"~S");c.getSpaceGroupFromIndex=e(c,"getSpaceGroupFromIndex",function(b){return null!=JS.SpaceGroup.SG&&0<=b&&b<JS.SpaceGroup.SG.length?JS.SpaceGroup.SG[b]:null},"~N");e(c,"setITATableNames",function(b,a,d,c){this.itaNumber=a;this.itaIndex=null!=c?a+":"+c:0<=d.indexOf(".")?d:a+"."+d;this.itaTransform=
c;this.setClegId(this.specialPrefix+a+":"+c);this.strName=this.displayName=null;this.jmolId=b;null==b?(this.name=this.clegId,this.info=this.dumpInfoObj()):this.setJmolCode(b)},"~S,~S,~S,~S");c.transformCoords=e(c,"transformCoords",function(b,a,d,c,e,g){null==g&&(g=new JU.Lst);for(var h=0,l=b.size();h<l;h++){var j=JS.SymmetryOperation.transformStr(b.get(h),null,a,c,e,null,d,!0,!0);g.contains(j)||g.addLast(j)}return g},"JU.Lst,JU.M4,JU.P3,JU.M4,~A,JU.Lst");c.getTransformRange=e(c,"getTransformRange",
function(b){for(var a=D(2,3,0),d=D(4,0),c=0;3>c;c++){b.getRow(c,d);for(var e=0;3>e;e++){var g=d[e];0>g?a[0][c]+=-d[e]:0<g&&(a[1][c]+=d[e])}}b=!0;for(d=c=0;2>c;c++,d++)for(e=0;3>e;e++)g=E(Math.ceil(a[c][e])),g>d&&(b=!1),a[c][e]=0==c?-g:g;return b?null:a},"JU.M4");c.getTransformedCentering=e(c,"getTransformedCentering",function(b,a){var d=JU.M4.newM4(b);d.invert();var c=a.size(),e=new JU.P3,g=new JU.P3,h=JS.SpaceGroup.getTransformRange(b);if(null!=h)for(var l=JS.SpaceGroup.addCentering(d,h,e,g,a,0);0<=
--c&&3>l;)JS.SymmetryOperation.toPoint(a.remove(c),e),l=JS.SpaceGroup.addCentering(d,h,e,g,a,l);return d},"JU.M4,JU.Lst");c.addCentering=e(c,"addCentering",function(b,a,d,c,e,g){for(var h=x(a[0][0]);h<=a[1][0];h++)for(var l=x(a[0][1]);l<=a[1][1];l++)for(var j=x(a[0][2]);j<=a[1][2];j++)if(c.set(h,l,j),c.add(d),b.rotTrans(c),0!=c.length()%1){c.x%=1;c.y%=1;c.z%=1;var n=JS.SymmetryOperation.norm3(c);if(!n.equals("0,0,0")&&!e.contains(n)&&(e.addLast(n),3==++g))return 3}return g},"JU.M4,~A,JU.P3,JU.P3,JU.Lst,~N");
c.fillMoreData=e(c,"fillMoreData",function(b,a,d,c,e){var g=d.indexOf(":"),g=0>g?"a,b,c":d.substring(g+1),h=JS.UnitCell.toTrm(g,null),l=e.get("gp"),j=e.get("wpos"),n=j.get("cent");e=new JU.Lst;null!=n&&e.addAll(n);for(var q=e.size(),p=JS.SpaceGroup.getTransformedCentering(h,e),n=e.size(),m=j.get("pos"),j=new JU.Lst,r=new JU.M4,t=D(16,0),s=(n+1)/(q+1),q=0,v=m.size();q<v;q++){var pa=m.get(q),w=new java.util.Hashtable;w.putAll(pa);var B=pa.get("coord");null!=B&&(B=JS.SpaceGroup.transformCoords(B,p,null,
r,t,null),w.put("coord",B));pa=pa.get("mult").intValue();w.put("mult",Integer.$valueOf(x(pa*s)));j.addLast(w)}m=new JU.Lst;JS.SpaceGroup.transformCoords(l,p,null,r,t,m);if(0<n)for(q=0;q<n;q++)w=new JU.P3,JS.SpaceGroup.transformCoords(l,p,JS.SymmetryOperation.toPoint(e.get(q),w),r,t,m);null==a?(a=new java.util.Hashtable,a.put("sg",Integer.$valueOf(c)),a.put("trm",g),a.put("clegId",c+":"+g),a.put("det",Float.$valueOf(h.determinant3()))):a.remove("more");c=new java.util.Hashtable;0<n&&c.put("cent",e);
c.put("pos",j);a.put("wpos",c);m=new JU.Lst;b=JS.SpaceGroup.getSpaceGroupFromJmolClegOrITA(b,d);b=JS.SpaceGroup.transformSpaceGroup(0,null,b,l,g,new JU.M4);q=0;for(v=b.getOperationCount();q<v;q++)m.addLast(b.getOperation(q).xyz);a.put("gp",m);return a},"JV.Viewer,java.util.Map,~S,~N,java.util.Map");c.transformSpaceGroup=e(c,"transformSpaceGroup",function(b,a,d,c,e,g){if(null==c){d.setFinalOperationsSafely();c=new JU.Lst;for(var h=0,l=d.getOperationCount();h<l;h++)c.addLast(d.getXyz(h,!1))}c=JS.SpaceGroup.addTransformXYZList(a,
c,e,g,null==a||a.doNormalize);if(null==a)return JS.SpaceGroup.createITASpaceGroup(b,c,d);null==e?a.setFrom(d,!0):a.setITATableNames(a.jmolId,a.itaNumber,"1",e);return a},"~N,JS.SpaceGroup,JS.SpaceGroup,JU.Lst,~S,JU.M4");c.createITASpaceGroup=e(c,"createITASpaceGroup",function(b,a,d){b=0==b?new JS.SpaceGroup(-1,"0;--;--;0;--;--;--",!0):JS.Symmetry.getSGFactory().createSpecialGroup(d,null,null,b);b.doNormalize=!1;for(var c=0,e=a.size();c<e;c++){var g=new JS.SymmetryOperation(null,c,!1),h=a.get(c);g.setMatrixFromXYZ(h,
0,!1);b.addOp(g,h,!1)}null!=d&&b.setFrom(d,!0);b.setFinalOperationsSafely();return b},"~N,JU.Lst,JS.SpaceGroup");c.addTransformXYZList=e(c,"addTransformXYZList",function(b,a,d,c,e){var g=null,h=null,l=null,j=null,n=a.size();null!=d&&(d.equals("r")&&(d="2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c"),c=JS.UnitCell.toTrm(d,c),g=JU.M4.newM4(c),g.invert(),h=Math.round(c.determinant3()),1<h&&(j=JS.SpaceGroup.getTransformRange(c),n*=h),l=D(16,0),h=new JU.M4);d=JS.SpaceGroup.addTransformedOperations(b,
a,c,g,h,l,null==b?new JU.Lst:null,null,e);if(null!=j)for(var q=new JU.P3,p=x(j[0][2]);p<=j[1][2];p++)for(var m=x(j[0][1]);m<=j[1][1];m++)for(var r=x(j[0][0]);r<j[1][0];r++)if(!(0==r&&0==m&&0==p)&&(q.set(r,m,p),null!=JS.SpaceGroup.addTransformedOperations(b,a,c,g,h,l,d,q,e)&&d.size()==n))return d;return null==b?d:null},"JS.SpaceGroup,JU.Lst,~S,JU.M4,~B");c.addTransformedOperations=e(c,"addTransformedOperations",function(b,a,d,c,e,g,h,l,j){null!=b&&(b.latticeOp=0);for(var n=0,q=a.size();n<q;n++){var p=
a.get(n);if(null!=d&&(0<n||null!=l))p=JS.SymmetryOperation.transformStr(p,d,c,e,g,l,null,j,!1);null!=b?b.addOperation(p,0,!1):h.contains(p)||h.addLast(p)}return h},"JS.SpaceGroup,JU.Lst,JU.M4,JU.M4,JU.M4,~A,JU.Lst,JU.P3,~B");m(c,"getMatrixOperation",function(b){return this.symmetryOperations[b]},"~N");m(c,"getMatrixOperationCount",function(){return this.operationCount});m(c,"addHallOperationCheckDuplicates",function(b){var a=JS.SymmetryOperation.getXYZFromMatrix(b,!0,!0,!1);if(0<=this.checkXYZlist(a))return!1;
this.addSymmetrySM("!nohalf!"+a,b);return!0},"JU.M4");c.canonicalizeCleg=e(c,"canonicalizeCleg",function(b){0>b.indexOf(":")?b+=":a,b,c;0,0,0":0<b.indexOf(",")&&0>b.indexOf(";")&&(b+=";0,0,0");return b},"~S");c.convertWyckoffHMCleg=e(c,"convertWyckoffHMCleg",function(b,a){if(null==JS.SpaceGroup.HMtoCleg){JS.SpaceGroup.HMtoCleg=new java.util.Hashtable;JS.SpaceGroup.ClegtoHM=new java.util.Hashtable;for(var d=JS.SpaceGroup.moreSettings.length;0<=--d;){var c=JS.SpaceGroup.moreSettings[d],e=JS.SpaceGroup.moreSettings[--d],
e=JU.PT.rep(e," ","");JS.SpaceGroup.ClegtoHM.put(c,e);JS.SpaceGroup.HMtoCleg.put(e,c)}}return null!=b?JS.SpaceGroup.HMtoCleg.get(JU.PT.rep(b," ","")):JS.SpaceGroup.ClegtoHM.get(a)},"~S,~S");e(c,"getHMName",function(){return this.hmSymbol});e(c,"getHMNameShort",function(){System.out.println(this.clegId+"\t"+this.hmSymbolFull+"\t"+this.hmSymbolAbbr+"\t"+this.hmSymbolAbbrShort);return null==this.hmSymbolAbbrShort?this.hmSymbol:this.hmSymbolAbbrShort});c.getITNo=e(c,"getITNo",function(b,a){0>=a&&(a=b.length);
for(var d=a;0<=--d;)if(!JU.PT.isDigit(b.charAt(d)))return-2147483648;return Integer.parseInt(b.substring(0,a))},"~S,~N");c.isInRange=e(c,"isInRange",function(b,a,d,c){var e=JS.SpaceGroup.getMax(a);switch(a){case 0:if(c)return a=x(b),c=JS.SpaceGroup.getImplicitSpecialGroupType(a),300==c&&(d=!1),-1!=c&&(d||a==b);break;case 300:d=!1}return 1<=b&&(d?b<e+1:b<=e)},"~N,~N,~B,~B");c.getMax=e(c,"getMax",function(b){switch(b){case 0:return 230;case 300:return 17;case 400:return 80;case 500:return 75;case 600:return 7;
default:return 0}},"~N");c.getGroupTypePrefix=e(c,"getGroupTypePrefix",function(b){switch(b-b%100){case 300:return"p/";case 400:return"l/";case 500:return"r/";case 600:return"f/"}return""},"~N");c.getExplicitSpecialGroupType=e(c,"getExplicitSpecialGroupType",function(b){if(2>b.length||"/"!=b.charAt(1))return 0;switch(b.substring(0,2)){case "p/":return 300;case "l/":return 400;case "r/":return 500;case "f/":return 600;default:return-1}},"~S");c.getSpecialGroupName=e(c,"getSpecialGroupName",function(b){switch(b){case 0:return"";
case 300:return"plane";case 400:return"layer";case 500:return"rod";case 600:return"frieze";default:return null}},"~N");c.getImplicitSpecialGroupType=e(c,"getImplicitSpecialGroupType",function(b){return 1>b?-1:230>=b?0:300<b&&317>=b?300:400<b&&480>=b?400:500<b&&575>=b?500:600<b&&607>=b?600:-1},"~N");c.hmMatches=e(c,"hmMatches",function(b,a,d){"/"==b.charAt(1)&&(b=b.substring(2));if(b.charAt(0)!=a.charAt(0))return!1;0>a.indexOf(" ")&&(b=JU.PT.rep(b," ",""));if(b.equals(a))return!0;if(300==d){d=b.length;
if(d<=a.length)return!1;var c=a.charAt(1);switch(a.length){case 2:return 4==d&&"1"==b.charAt(1)&&c==b.charAt(2);case 3:return"2"==b.charAt(1)?b.charAt(2)==c&&b.charAt(3)==a.charAt(2):"m"==b.charAt(d-1)&&b.startsWith(a)}}return!1},"~S,~S,~N");e(c,"createCompatibleUnitCell",function(b,a,d){var c=null==this.itaNumber?0:JU.PT.parseInt(this.itaNumber),e=!1,g=!1,h=!1,l=!1,g=(e=0!=c&&this.isHexagonalSG(c,null))&&this.isHexagonalSG(-1,b),l=(h=0!=c&&"r"==this.axisChoice)&&JU.SimpleUnitCell.isRhombohedral(b);
if(e&&g||h&&l)d=!0;var j=new JS.SpaceGroup.ParamCheck(b,d,!0);if(c>(d?2:0))if(e){if(!(h?l:g))"r"==this.axisChoice?(j.c=j.b=j.a,!d&&(85<j.alpha&&95>j.alpha)&&(j.alpha=80),j.gamma=j.beta=j.alpha):(j.b=j.a,j.alpha=j.beta=90,j.gamma=120)}else if(195<=c)j.c=j.b=j.a,j.alpha=j.beta=j.gamma=90;else if(75<=c)j.b=j.a,j.acsame&&!d&&(j.c=1.5*j.a),j.alpha=j.beta=j.gamma=90;else if(16<=c)j.alpha=j.beta=j.gamma=90;else if(3<=c)switch(this.uniqueAxis.charCodeAt(0)){case 97:j.beta=j.gamma=90;break;default:case 98:j.alpha=
j.gamma=90;break;case 99:j.alpha=j.beta=90}return j.checkNew(b,null==a?b:a)},"~A,~A,~B");e(c,"isHexagonalSG",function(b,a){return 1>b?JU.SimpleUnitCell.isHexagonal(a):143<=b&&194>=b},"~N,~A");var a=C(function(){this.gamma=this.beta=this.alpha=this.c=this.b=this.a=0;this.acsame=!1;L(this,arguments)},JS.SpaceGroup,"ParamCheck",null);V(a,function(b,a,d){this.a=b[0];this.b=b[1];this.c=b[2];this.alpha=b[3];this.beta=b[4];this.gamma=b[5];a||this.checkParams(d)},"~A,~B,~B");e(a,"checkParams",function(b){if(0<
this.b&&this.a>this.b){var a=this.a;this.a=this.b;this.b=a}b&&(0<this.c&&JU.SimpleUnitCell.approx0(this.b-this.c))&&(this.c=1.5*this.b);JU.SimpleUnitCell.approx0(this.a-this.b)&&(this.b=1.2*this.a);JU.SimpleUnitCell.approx0(this.gamma-90)&&(this.gamma=130);if(b){if(this.acsame=0<this.c&&JU.SimpleUnitCell.approx0(this.c-this.a))this.c=1.1*this.a;JU.SimpleUnitCell.approx0(this.alpha-90)&&(this.alpha=80);JU.SimpleUnitCell.approx0(this.beta-90)&&(this.beta=100);this.alpha>this.beta&&(a=this.alpha,this.alpha=
this.beta,this.beta=a);b=JU.SimpleUnitCell.approx0(this.alpha-this.beta);var a=JU.SimpleUnitCell.approx0(this.beta-this.gamma),d=JU.SimpleUnitCell.approx0(this.gamma-this.alpha);b&&(this.beta=1.2*this.alpha);a&&(this.gamma=1.3*this.beta);d&&(this.gamma=1.4*this.alpha)}},"~B");e(a,"checkNew",function(b,a){var d=!(this.a==b[0]&&this.b==b[1]&&this.c==b[2]&&this.alpha==b[3]&&this.beta==b[4]&&this.gamma==b[5]);a[0]=this.a;a[1]=this.b;a[2]=this.c;a[3]=this.alpha;a[4]=this.beta;a[5]=this.gamma;return d},
"~A,~A");c.canonicalSeitzList=null;c.sgIndex=-1;c.lastInfo=null;c.ambiguousHMNames="";c.lastHallSymbol="";c.SG=null;c.htByOpCount=new java.util.Hashtable;c.nameToGroup=null;c.nSG=0;c.STR_SG=Z(-1,'1;1.1;;1;c1^1;p 1;p 1{2;2.1;;2;ci^1;p -1;-p 1{3:b;3.1;;2;c2^1;p 1 2 1;p 2y{3:b;3.1;;2;c2^1;p 2;p 2y{3:c;3.2;c,a,b;2;c2^1;p 1 1 2;p 2{3:a;3.3;b,c,a;2;c2^1;p 2 1 1;p 2x{4:b;4.1;;2;c2^2;p 1 21 1;p 2yb{4:b;4.1;;2;c2^2;p 21;p 2yb{4:c;4.2;c,a,b;2;c2^2;p 1 1 21;p 2c{4:a;4.3;b,c,a;2;c2^2;p 21 1 1;p 2xa{5:b1;5.1;;4;c2^3;c 1 2 1;c 2y{5:b1;5.1;;4;c2^3;c 2;c 2y{5:b2;5.2;-a-c,b,a;4;c2^3;a 1 2 1;a 2y{5:b3;5.3;c,b,-a-c;4;c2^3;i 1 2 1;i 2y{5:c1;5.4;c,a,b;4;c2^3;a 1 1 2;a 2{5:c2;5.5;a,-a-c,b;4;c2^3;b 1 1 2;b 2{5:c3;5.6;-a-c,c,b;4;c2^3;i 1 1 2;i 2{5:a1;5.7;b,c,a;4;c2^3;b 2 1 1;b 2x{5:a2;5.8;b,a,-a-c;4;c2^3;c 2 1 1;c 2x{5:a3;5.9;b,-a-c,c;4;c2^3;i 2 1 1;i 2x{6:b;6.1;;2;cs^1;p 1 m 1;p -2y{6:b;6.1;;2;cs^1;p m;p -2y{6:c;6.2;c,a,b;2;cs^1;p 1 1 m;p -2{6:a;6.3;b,c,a;2;cs^1;p m 1 1;p -2x{7:b1;7.1;;2;cs^2;p 1 c 1;p -2yc{7:b1;7.1;;2;cs^2;p c;p -2yc{7:b2;7.2;-a-c,b,a;2;cs^2;p 1 n 1;p -2yac{7:b2;7.2;-a-c,b,a;2;cs^2;p n;p -2yac{7:b3;7.3;c,b,-a-c;2;cs^2;p 1 a 1;p -2ya{7:b3;7.3;c,b,-a-c;2;cs^2;p a;p -2ya{7:c1;7.4;c,a,b;2;cs^2;p 1 1 a;p -2a{7:c2;7.5;a,-a-c,b;2;cs^2;p 1 1 n;p -2ab{7:c3;7.6;-a-c,c,b;2;cs^2;p 1 1 b;p -2b{7:a1;7.7;b,c,a;2;cs^2;p b 1 1;p -2xb{7:a2;7.8;b,a,-a-c;2;cs^2;p n 1 1;p -2xbc{7:a3;7.9;b,-a-c,c;2;cs^2;p c 1 1;p -2xc{8:b1;8.1;;4;cs^3;c 1 m 1;c -2y{8:b1;8.1;;4;cs^3;c m;c -2y{8:b2;8.2;-a-c,b,a;4;cs^3;a 1 m 1;a -2y{8:b3;8.3;c,b,-a-c;4;cs^3;i 1 m 1;i -2y{8:b3;8.3;c,b,-a-c;4;cs^3;i m;i -2y{8:c1;8.4;c,a,b;4;cs^3;a 1 1 m;a -2{8:c2;8.5;a,-a-c,b;4;cs^3;b 1 1 m;b -2{8:c3;8.6;-a-c,c,b;4;cs^3;i 1 1 m;i -2{8:a1;8.7;b,c,a;4;cs^3;b m 1 1;b -2x{8:a2;8.8;b,a,-a-c;4;cs^3;c m 1 1;c -2x{8:a3;8.9;b,-a-c,c;4;cs^3;i m 1 1;i -2x{9:b1;9.1;;4;cs^4;c 1 c 1;c -2yc{9:b1;9.1;;4;cs^4;c c;c -2yc{9:b2;9.2;-a-c,b,a;4;cs^4;a 1 n 1;a -2yab{9:b3;9.3;c,b,-a-c;4;cs^4;i 1 a 1;i -2ya{9:-b1;9.4;c,-b,a;4;cs^4;a 1 a 1;a -2ya{9:-b2;9.5;a,-b,-a-c;4;cs^4;c 1 n 1;c -2yac{9:-b3;9.6;-a-c,-b,c;4;cs^4;i 1 c 1;i -2yc{9:c1;9.7;c,a,b;4;cs^4;a 1 1 a;a -2a{9:c2;9.8;a,-a-c,b;4;cs^4;b 1 1 n;b -2ab{9:c3;9.9;-a-c,c,b;4;cs^4;i 1 1 b;i -2b{9:-c1;9.10;a,c,-b;4;cs^4;b 1 1 b;b -2b{9:-c2;9.11;-a-c,a,-b;4;cs^4;a 1 1 n;a -2ab{9:-c3;9.12;c,-a-c,-b;4;cs^4;i 1 1 a;i -2a{9:a1;9.13;b,c,a;4;cs^4;b b 1 1;b -2xb{9:a2;9.14;b,a,-a-c;4;cs^4;c n 1 1;c -2xac{9:a3;9.15;b,-a-c,c;4;cs^4;i c 1 1;i -2xc{9:-a1;9.16;-b,a,c;4;cs^4;c c 1 1;c -2xc{9:-a2;9.17;-b,-a-c,a;4;cs^4;b n 1 1;b -2xab{9:-a3;9.18;-b,c,-a-c;4;cs^4;i b 1 1;i -2xb{10:b;10.1;;4;c2h^1;p 1 2/m 1;-p 2y{10:b;10.1;;4;c2h^1;p 2/m;-p 2y{10:c;10.2;c,a,b;4;c2h^1;p 1 1 2/m;-p 2{10:a;10.3;b,c,a;4;c2h^1;p 2/m 1 1;-p 2x{11:b;11.1;;4;c2h^2;p 1 21/m 1;-p 2yb{11:b;11.1;;4;c2h^2;p 21/m;-p 2yb{11:c;11.2;c,a,b;4;c2h^2;p 1 1 21/m;-p 2c{11:a;11.3;b,c,a;4;c2h^2;p 21/m 1 1;-p 2xa{12:b1;12.1;;8;c2h^3;c 1 2/m 1;-c 2y{12:b1;12.1;;8;c2h^3;c 2/m;-c 2y{12:b2;12.2;-a-c,b,a;8;c2h^3;a 1 2/m 1;-a 2y{12:b3;12.3;c,b,-a-c;8;c2h^3;i 1 2/m 1;-i 2y{12:b3;12.3;c,b,-a-c;8;c2h^3;i 2/m;-i 2y{12:c1;12.4;c,a,b;8;c2h^3;a 1 1 2/m;-a 2{12:c2;12.5;a,-a-c,b;8;c2h^3;b 1 1 2/m;-b 2{12:c3;12.6;-a-c,c,b;8;c2h^3;i 1 1 2/m;-i 2{12:a1;12.7;b,c,a;8;c2h^3;b 2/m 1 1;-b 2x{12:a2;12.8;b,a,-a-c;8;c2h^3;c 2/m 1 1;-c 2x{12:a3;12.9;b,-a-c,c;8;c2h^3;i 2/m 1 1;-i 2x{13:b1;13.1;;4;c2h^4;p 1 2/c 1;-p 2yc{13:b1;13.1;;4;c2h^4;p 2/c;-p 2yc{13:b2;13.2;-a-c,b,a;4;c2h^4;p 1 2/n 1;-p 2yac{13:b2;13.2;-a-c,b,a;4;c2h^4;p 2/n;-p 2yac{13:b3;13.3;c,b,-a-c;4;c2h^4;p 1 2/a 1;-p 2ya{13:b3;13.3;c,b,-a-c;4;c2h^4;p 2/a;-p 2ya{13:c1;13.4;c,a,b;4;c2h^4;p 1 1 2/a;-p 2a{13:c2;13.5;a,-a-c,b;4;c2h^4;p 1 1 2/n;-p 2ab{13:c3;13.6;-a-c,c,b;4;c2h^4;p 1 1 2/b;-p 2b{13:a1;13.7;b,c,a;4;c2h^4;p 2/b 1 1;-p 2xb{13:a2;13.8;b,a,-a-c;4;c2h^4;p 2/n 1 1;-p 2xbc{13:a3;13.9;b,-a-c,c;4;c2h^4;p 2/c 1 1;-p 2xc{14:b1;14.1;;4;c2h^5;p 1 21/c 1;-p 2ybc{14:b1;14.1;;4;c2h^5;p 21/c;-p 2ybc{14:b2;14.2;-a-c,b,a;4;c2h^5;p 1 21/n 1;-p 2yn{14:b2;14.2;-a-c,b,a;4;c2h^5;p 21/n;-p 2yn{14:b3;14.3;c,b,-a-c;4;c2h^5;p 1 21/a 1;-p 2yab{14:b3;14.3;c,b,-a-c;4;c2h^5;p 21/a;-p 2yab{14:c1;14.4;c,a,b;4;c2h^5;p 1 1 21/a;-p 2ac{14:c2;14.5;a,-a-c,b;4;c2h^5;p 1 1 21/n;-p 2n{14:c3;14.6;-a-c,c,b;4;c2h^5;p 1 1 21/b;-p 2bc{14:a1;14.7;b,c,a;4;c2h^5;p 21/b 1 1;-p 2xab{14:a2;14.8;b,a,-a-c;4;c2h^5;p 21/n 1 1;-p 2xn{14:a3;14.9;b,-a-c,c;4;c2h^5;p 21/c 1 1;-p 2xac{15:b1;15.1;;8;c2h^6;c 1 2/c 1;-c 2yc{15:b1;15.1;;8;c2h^6;c 2/c;-c 2yc{15:b2;15.2;-a-c,b,a;8;c2h^6;a 1 2/n 1;-a 2yab{15:b3;15.3;c,b,-a-c;8;c2h^6;i 1 2/a 1;-i 2ya{15:b3;15.3;c,b,-a-c;8;c2h^6;i 2/a;-i 2ya{15:-b1;15.4;c,-b,a;8;c2h^6;a 1 2/a 1;-a 2ya{15:-b2;15.5;a,-b,-a-c;8;c2h^6;c 1 2/n 1;-c 2yac{15:-b2;15.5;a,-b,-a-c;8;c2h^6;c 2/n;-c 2yac{15:-b3;15.6;-a-c,-b,c;8;c2h^6;i 1 2/c 1;-i 2yc{15:-b3;15.6;-a-c,-b,c;8;c2h^6;i 2/c;-i 2yc{15:c1;15.7;c,a,b;8;c2h^6;a 1 1 2/a;-a 2a{15:c2;15.8;a,-a-c,b;8;c2h^6;b 1 1 2/n;-b 2ab{15:c3;15.9;-a-c,c,b;8;c2h^6;i 1 1 2/b;-i 2b{15:-c1;15.10;a,c,-b;8;c2h^6;b 1 1 2/b;-b 2b{15:-c2;15.11;-a-c,a,-b;8;c2h^6;a 1 1 2/n;-a 2ab{15:-c3;15.12;c,-a-c,-b;8;c2h^6;i 1 1 2/a;-i 2a{15:a1;15.13;b,c,a;8;c2h^6;b 2/b 1 1;-b 2xb{15:a2;15.14;b,a,-a-c;8;c2h^6;c 2/n 1 1;-c 2xac{15:a3;15.15;b,-a-c,c;8;c2h^6;i 2/c 1 1;-i 2xc{15:-a1;15.16;-b,a,c;8;c2h^6;c 2/c 1 1;-c 2xc{15:-a2;15.17;-b,-a-c,a;8;c2h^6;b 2/n 1 1;-b 2xab{15:-a3;15.18;-b,c,-a-c;8;c2h^6;i 2/b 1 1;-i 2xb{16;16.1;;4;d2^1;p 2 2 2;p 2 2{17;17.1;;4;d2^2;p 2 2 21;p 2c 2{17:cab;17.2;c,a,b;4;d2^2;p 21 2 2;p 2a 2a{17:bca;17.3;b,c,a;4;d2^2;p 2 21 2;p 2 2b{18;18.1;;4;d2^3;p 21 21 2;p 2 2ab{18:cab;18.2;c,a,b;4;d2^3;p 2 21 21;p 2bc 2{18:bca;18.3;b,c,a;4;d2^3;p 21 2 21;p 2ac 2ac{19;19.1;;4;d2^4;p 21 21 21;p 2ac 2ab{20;20.1;;8;d2^5;c 2 2 21;c 2c 2{20:cab;20.2;c,a,b;8;d2^5;a 21 2 2;a 2a 2a{20:cab*;20.2;c,a,b;8;d2^5;a 21 2 2*;a 2a 21{20:bca;20.3;b,c,a;8;d2^5;b 2 21 2;b 2 2b{21;21.1;;8;d2^6;c 2 2 2;c 2 2{21:cab;21.2;c,a,b;8;d2^6;a 2 2 2;a 2 2{21:bca;21.3;b,c,a;8;d2^6;b 2 2 2;b 2 2{22;22.1;;16;d2^7;f 2 2 2;f 2 2{23;23.1;;8;d2^8;i 2 2 2;i 2 2{24;24.1;;8;d2^9;i 21 21 21;i 2b 2c{25;25.1;;4;c2v^1;p m m 2;p 2 -2{25:cab;25.2;c,a,b;4;c2v^1;p 2 m m;p -2 2{25:bca;25.3;b,c,a;4;c2v^1;p m 2 m;p -2 -2{26;26.1;;4;c2v^2;p m c 21;p 2c -2{26:ba-c;26.2;b,a,-c;4;c2v^2;p c m 21;p 2c -2c{26:ba-c*;26.2;b,a,-c;4;c2v^2;p c m 21*;p 21 -2c{26:cab;26.3;c,a,b;4;c2v^2;p 21 m a;p -2a 2a{26:-cba;26.4;-c,b,a;4;c2v^2;p 21 a m;p -2 2a{26:bca;26.5;b,c,a;4;c2v^2;p b 21 m;p -2 -2b{26:a-cb;26.6;a,-c,b;4;c2v^2;p m 21 b;p -2b -2{27;27.1;;4;c2v^3;p c c 2;p 2 -2c{27:cab;27.2;c,a,b;4;c2v^3;p 2 a a;p -2a 2{27:bca;27.3;b,c,a;4;c2v^3;p b 2 b;p -2b -2b{28;28.1;;4;c2v^4;p m a 2;p 2 -2a{28:ba-c;28.2;b,a,-c;4;c2v^4;p b m 2;p 2 -2b{28:cab;28.3;c,a,b;4;c2v^4;p 2 m b;p -2b 2{28:-cba;28.4;-c,b,a;4;c2v^4;p 2 c m;p -2c 2{28:-cba*;28.4;-c,b,a;4;c2v^4;p 2 c m*;p -21 2{28:bca;28.5;b,c,a;4;c2v^4;p c 2 m;p -2c -2c{28:a-cb;28.6;a,-c,b;4;c2v^4;p m 2 a;p -2a -2a{29;29.1;;4;c2v^5;p c a 21;p 2c -2ac{29:ba-c;29.2;b,a,-c;4;c2v^5;p b c 21;p 2c -2b{29:cab;29.3;c,a,b;4;c2v^5;p 21 a b;p -2b 2a{29:-cba;29.4;-c,b,a;4;c2v^5;p 21 c a;p -2ac 2a{29:bca;29.5;b,c,a;4;c2v^5;p c 21 b;p -2bc -2c{29:a-cb;29.6;a,-c,b;4;c2v^5;p b 21 a;p -2a -2ab{30;30.1;;4;c2v^6;p n c 2;p 2 -2bc{30:ba-c;30.2;b,a,-c;4;c2v^6;p c n 2;p 2 -2ac{30:cab;30.3;c,a,b;4;c2v^6;p 2 n a;p -2ac 2{30:-cba;30.4;-c,b,a;4;c2v^6;p 2 a n;p -2ab 2{30:bca;30.5;b,c,a;4;c2v^6;p b 2 n;p -2ab -2ab{30:a-cb;30.6;a,-c,b;4;c2v^6;p n 2 b;p -2bc -2bc{31;31.1;;4;c2v^7;p m n 21;p 2ac -2{31:ba-c;31.2;b,a,-c;4;c2v^7;p n m 21;p 2bc -2bc{31:cab;31.3;c,a,b;4;c2v^7;p 21 m n;p -2ab 2ab{31:-cba;31.4;-c,b,a;4;c2v^7;p 21 n m;p -2 2ac{31:bca;31.5;b,c,a;4;c2v^7;p n 21 m;p -2 -2bc{31:a-cb;31.6;a,-c,b;4;c2v^7;p m 21 n;p -2ab -2{32;32.1;;4;c2v^8;p b a 2;p 2 -2ab{32:cab;32.2;c,a,b;4;c2v^8;p 2 c b;p -2bc 2{32:bca;32.3;b,c,a;4;c2v^8;p c 2 a;p -2ac -2ac{33;33.1;;4;c2v^9;p n a 21;p 2c -2n{33:ba-c;33.2;b,a,-c;4;c2v^9;p b n 21;p 2c -2ab{33:cab;33.3;c,a,b;4;c2v^9;p 21 n b;p -2bc 2a{33:-cba;33.4;-c,b,a;4;c2v^9;p 21 c n;p -2n 2a{33:bca;33.5;b,c,a;4;c2v^9;p c 21 n;p -2n -2ac{33:a-cb;33.6;a,-c,b;4;c2v^9;p n 21 a;p -2ac -2n{34;34.1;;4;c2v^10;p n n 2;p 2 -2n{34:cab;34.2;c,a,b;4;c2v^10;p 2 n n;p -2n 2{34:bca;34.3;b,c,a;4;c2v^10;p n 2 n;p -2n -2n{35;35.1;;8;c2v^11;c m m 2;c 2 -2{35:cab;35.2;c,a,b;8;c2v^11;a 2 m m;a -2 2{35:bca;35.3;b,c,a;8;c2v^11;b m 2 m;b -2 -2{36;36.1;;8;c2v^12;c m c 21;c 2c -2{36:ba-c;36.2;b,a,-c;8;c2v^12;c c m 21;c 2c -2c{36:cab;36.3;c,a,b;8;c2v^12;a 21 m a;a -2a 2a{36:-cba;36.4;-c,b,a;8;c2v^12;a 21 a m;a -2 2a{36:bca;36.5;b,c,a;8;c2v^12;b b 21 m;b -2 -2b{36:a-cb;36.6;a,-c,b;8;c2v^12;b m 21 b;b -2b -2{37;37.1;;8;c2v^13;c c c 2;c 2 -2c{37:cab;37.2;c,a,b;8;c2v^13;a 2 a a;a -2a 2{37:bca;37.3;b,c,a;8;c2v^13;b b 2 b;b -2b -2b{38;38.1;;8;c2v^14;a m m 2;a 2 -2{38:ba-c;38.2;b,a,-c;8;c2v^14;b m m 2;b 2 -2{38:cab;38.3;c,a,b;8;c2v^14;b 2 m m;b -2 2{38:-cba;38.4;-c,b,a;8;c2v^14;c 2 m m;c -2 2{38:bca;38.5;b,c,a;8;c2v^14;c m 2 m;c -2 -2{38:a-cb;38.6;a,-c,b;8;c2v^14;a m 2 m;a -2 -2{39;39.1;;8;c2v^15;a e m 2;a 2 -2b{39;39.1;;8;c2v^15;a b m 2;a 2 -2b{39:ba-c;39.2;b,a,-c;8;c2v^15;b m e 2;b 2 -2a{39:ba-c;39.2;b,a,-c;8;c2v^15;b m a 2;b 2 -2a{39:cab;39.3;c,a,b;8;c2v^15;b 2 e m;b -2a 2{39:cab;39.3;c,a,b;8;c2v^15;b 2 c m;b -2a 2{39:-cba;39.4;-c,b,a;8;c2v^15;c 2 m e;c -2a 2{39:-cba;39.4;-c,b,a;8;c2v^15;c 2 m b;c -2a 2{39:bca;39.5;b,c,a;8;c2v^15;c m 2 e;c -2a -2a{39:bca;39.5;b,c,a;8;c2v^15;c m 2 a;c -2a -2a{39:a-cb;39.6;a,-c,b;8;c2v^15;a e 2 m;a -2b -2b{39:a-cb;39.6;a,-c,b;8;c2v^15;a c 2 m;a -2b -2b{40;40.1;;8;c2v^16;a m a 2;a 2 -2a{40:ba-c;40.2;b,a,-c;8;c2v^16;b b m 2;b 2 -2b{40:cab;40.3;c,a,b;8;c2v^16;b 2 m b;b -2b 2{40:-cba;40.4;-c,b,a;8;c2v^16;c 2 c m;c -2c 2{40:bca;40.5;b,c,a;8;c2v^16;c c 2 m;c -2c -2c{40:a-cb;40.6;a,-c,b;8;c2v^16;a m 2 a;a -2a -2a{41;41.1;;8;c2v^17;a e a 2;a 2 -2ab{41;41.1;;8;c2v^17;a b a 2;a 2 -2ab{41:ba-c;41.2;b,a,-c;8;c2v^17;b b e 2;b 2 -2ab{41:ba-c;41.2;b,a,-c;8;c2v^17;b b a 2;b 2 -2ab{41:cab;41.3;c,a,b;8;c2v^17;b 2 e b;b -2ab 2{41:cab;41.3;c,a,b;8;c2v^17;b 2 c b;b -2ab 2{41:-cba;41.4;-c,b,a;8;c2v^17;c 2 c e;c -2ac 2{41:-cba;41.4;-c,b,a;8;c2v^17;c 2 c b;c -2ac 2{41:bca;41.5;b,c,a;8;c2v^17;c c 2 e;c -2ac -2ac{41:bca;41.5;b,c,a;8;c2v^17;c c 2 a;c -2ac -2ac{41:a-cb;41.6;a,-c,b;8;c2v^17;a e 2 a;a -2ab -2ab{41:a-cb;41.6;a,-c,b;8;c2v^17;a c 2 a;a -2ab -2ab{42;42.1;;16;c2v^18;f m m 2;f 2 -2{42:cab;42.2;c,a,b;16;c2v^18;f 2 m m;f -2 2{42:bca;42.3;b,c,a;16;c2v^18;f m 2 m;f -2 -2{43;43.1;;16;c2v^19;f d d 2;f 2 -2d{43:cab;43.2;c,a,b;16;c2v^19;f 2 d d;f -2d 2{43:bca;43.3;b,c,a;16;c2v^19;f d 2 d;f -2d -2d{44;44.1;;8;c2v^20;i m m 2;i 2 -2{44:cab;44.2;c,a,b;8;c2v^20;i 2 m m;i -2 2{44:bca;44.3;b,c,a;8;c2v^20;i m 2 m;i -2 -2{45;45.1;;8;c2v^21;i b a 2;i 2 -2c{45:cab;45.2;c,a,b;8;c2v^21;i 2 c b;i -2a 2{45:bca;45.3;b,c,a;8;c2v^21;i c 2 a;i -2b -2b{46;46.1;;8;c2v^22;i m a 2;i 2 -2a{46:ba-c;46.2;b,a,-c;8;c2v^22;i b m 2;i 2 -2b{46:cab;46.3;c,a,b;8;c2v^22;i 2 m b;i -2b 2{46:-cba;46.4;-c,b,a;8;c2v^22;i 2 c m;i -2c 2{46:bca;46.5;b,c,a;8;c2v^22;i c 2 m;i -2c -2c{46:a-cb;46.6;a,-c,b;8;c2v^22;i m 2 a;i -2a -2a{47;47.1;;8;d2h^1;p m m m;-p 2 2{48:2;48.1;;8;d2h^2;p n n n :2;-p 2ab 2bc{48:1;48.2;a,b,c|1/4,1/4,1/4;8;d2h^2;p n n n :1;p 2 2 -1n{49;49.1;;8;d2h^3;p c c m;-p 2 2c{49:cab;49.2;c,a,b;8;d2h^3;p m a a;-p 2a 2{49:bca;49.3;b,c,a;8;d2h^3;p b m b;-p 2b 2b{50:2;50.1;;8;d2h^4;p b a n :2;-p 2ab 2b{50:2cab;50.2;c,a,b;8;d2h^4;p n c b :2;-p 2b 2bc{50:2bca;50.3;b,c,a;8;d2h^4;p c n a :2;-p 2a 2c{50:1;50.4;a,b,c|1/4,1/4,0;8;d2h^4;p b a n :1;p 2 2 -1ab{50:1cab;50.5;c,a,b|1/4,1/4,0;8;d2h^4;p n c b :1;p 2 2 -1bc{50:1bca;50.6;b,c,a|1/4,1/4,0;8;d2h^4;p c n a :1;p 2 2 -1ac{51;51.1;;8;d2h^5;p m m a;-p 2a 2a{51:ba-c;51.2;b,a,-c;8;d2h^5;p m m b;-p 2b 2{51:cab;51.3;c,a,b;8;d2h^5;p b m m;-p 2 2b{51:-cba;51.4;-c,b,a;8;d2h^5;p c m m;-p 2c 2c{51:bca;51.5;b,c,a;8;d2h^5;p m c m;-p 2c 2{51:a-cb;51.6;a,-c,b;8;d2h^5;p m a m;-p 2 2a{52;52.1;;8;d2h^6;p n n a;-p 2a 2bc{52:ba-c;52.2;b,a,-c;8;d2h^6;p n n b;-p 2b 2n{52:cab;52.3;c,a,b;8;d2h^6;p b n n;-p 2n 2b{52:-cba;52.4;-c,b,a;8;d2h^6;p c n n;-p 2ab 2c{52:bca;52.5;b,c,a;8;d2h^6;p n c n;-p 2ab 2n{52:a-cb;52.6;a,-c,b;8;d2h^6;p n a n;-p 2n 2bc{53;53.1;;8;d2h^7;p m n a;-p 2ac 2{53:ba-c;53.2;b,a,-c;8;d2h^7;p n m b;-p 2bc 2bc{53:cab;53.3;c,a,b;8;d2h^7;p b m n;-p 2ab 2ab{53:-cba;53.4;-c,b,a;8;d2h^7;p c n m;-p 2 2ac{53:bca;53.5;b,c,a;8;d2h^7;p n c m;-p 2 2bc{53:a-cb;53.6;a,-c,b;8;d2h^7;p m a n;-p 2ab 2{54;54.1;;8;d2h^8;p c c a;-p 2a 2ac{54:ba-c;54.2;b,a,-c;8;d2h^8;p c c b;-p 2b 2c{54:cab;54.3;c,a,b;8;d2h^8;p b a a;-p 2a 2b{54:-cba;54.4;-c,b,a;8;d2h^8;p c a a;-p 2ac 2c{54:bca;54.5;b,c,a;8;d2h^8;p b c b;-p 2bc 2b{54:a-cb;54.6;a,-c,b;8;d2h^8;p b a b;-p 2b 2ab{55;55.1;;8;d2h^9;p b a m;-p 2 2ab{55:cab;55.2;c,a,b;8;d2h^9;p m c b;-p 2bc 2{55:bca;55.3;b,c,a;8;d2h^9;p c m a;-p 2ac 2ac{56;56.1;;8;d2h^10;p c c n;-p 2ab 2ac{56:cab;56.2;c,a,b;8;d2h^10;p n a a;-p 2ac 2bc{56:bca;56.3;b,c,a;8;d2h^10;p b n b;-p 2bc 2ab{57;57.1;;8;d2h^11;p b c m;-p 2c 2b{57:ba-c;57.2;b,a,-c;8;d2h^11;p c a m;-p 2c 2ac{57:cab;57.3;c,a,b;8;d2h^11;p m c a;-p 2ac 2a{57:-cba;57.4;-c,b,a;8;d2h^11;p m a b;-p 2b 2a{57:bca;57.5;b,c,a;8;d2h^11;p b m a;-p 2a 2ab{57:a-cb;57.6;a,-c,b;8;d2h^11;p c m b;-p 2bc 2c{58;58.1;;8;d2h^12;p n n m;-p 2 2n{58:cab;58.2;c,a,b;8;d2h^12;p m n n;-p 2n 2{58:bca;58.3;b,c,a;8;d2h^12;p n m n;-p 2n 2n{59:2;59.1;;8;d2h^13;p m m n :2;-p 2ab 2a{59:2cab;59.2;c,a,b;8;d2h^13;p n m m :2;-p 2c 2bc{59:2bca;59.3;b,c,a;8;d2h^13;p m n m :2;-p 2c 2a{59:1;59.4;a,b,c|1/4,1/4,0;8;d2h^13;p m m n :1;p 2 2ab -1ab{59:1cab;59.5;c,a,b|1/4,1/4,0;8;d2h^13;p n m m :1;p 2bc 2 -1bc{59:1bca;59.6;b,c,a|1/4,1/4,0;8;d2h^13;p m n m :1;p 2ac 2ac -1ac{60;60.1;;8;d2h^14;p b c n;-p 2n 2ab{60:ba-c;60.2;b,a,-c;8;d2h^14;p c a n;-p 2n 2c{60:cab;60.3;c,a,b;8;d2h^14;p n c a;-p 2a 2n{60:-cba;60.4;-c,b,a;8;d2h^14;p n a b;-p 2bc 2n{60:bca;60.5;b,c,a;8;d2h^14;p b n a;-p 2ac 2b{60:a-cb;60.6;a,-c,b;8;d2h^14;p c n b;-p 2b 2ac{61;61.1;;8;d2h^15;p b c a;-p 2ac 2ab{61:ba-c;61.2;b,a,-c;8;d2h^15;p c a b;-p 2bc 2ac{62;62.1;;8;d2h^16;p n m a;-p 2ac 2n{62:ba-c;62.2;b,a,-c;8;d2h^16;p m n b;-p 2bc 2a{62:cab;62.3;c,a,b;8;d2h^16;p b n m;-p 2c 2ab{62:-cba;62.4;-c,b,a;8;d2h^16;p c m n;-p 2n 2ac{62:bca;62.5;b,c,a;8;d2h^16;p m c n;-p 2n 2a{62:a-cb;62.6;a,-c,b;8;d2h^16;p n a m;-p 2c 2n{63;63.1;;16;d2h^17;c m c m;-c 2c 2{63:ba-c;63.2;b,a,-c;16;d2h^17;c c m m;-c 2c 2c{63:cab;63.3;c,a,b;16;d2h^17;a m m a;-a 2a 2a{63:-cba;63.4;-c,b,a;16;d2h^17;a m a m;-a 2 2a{63:bca;63.5;b,c,a;16;d2h^17;b b m m;-b 2 2b{63:a-cb;63.6;a,-c,b;16;d2h^17;b m m b;-b 2b 2{64;64.1;;16;d2h^18;c m c e;-c 2ac 2{64;64.1;;16;d2h^18;c m c a;-c 2ac 2{64:ba-c;64.2;b,a,-c;16;d2h^18;c c m e;-c 2ac 2ac{64:ba-c;64.2;b,a,-c;16;d2h^18;c c m b;-c 2ac 2ac{64:cab;64.3;c,a,b;16;d2h^18;a e m a;-a 2ab 2ab{64:cab;64.3;c,a,b;16;d2h^18;a b m a;-a 2ab 2ab{64:-cba;64.4;-c,b,a;16;d2h^18;a e a m;-a 2 2ab{64:-cba;64.4;-c,b,a;16;d2h^18;a c a m;-a 2 2ab{64:bca;64.5;b,c,a;16;d2h^18;b b e m;-b 2 2ab{64:bca;64.5;b,c,a;16;d2h^18;b b c m;-b 2 2ab{64:a-cb;64.6;a,-c,b;16;d2h^18;b m e b;-b 2ab 2{64:a-cb;64.6;a,-c,b;16;d2h^18;b m a b;-b 2ab 2{65;65.1;;16;d2h^19;c m m m;-c 2 2{65:cab;65.2;c,a,b;16;d2h^19;a m m m;-a 2 2{65:bca;65.3;b,c,a;16;d2h^19;b m m m;-b 2 2{66;66.1;;16;d2h^20;c c c m;-c 2 2c{66:cab;66.2;c,a,b;16;d2h^20;a m a a;-a 2a 2{66:bca;66.3;b,c,a;16;d2h^20;b b m b;-b 2b 2b{67;67.1;;16;d2h^21;c m m e;-c 2a 2{67;67.1;;16;d2h^21;c m m a;-c 2a 2{67:ba-c;67.2;b,a,-c;16;d2h^21;c m m b;-c 2a 2a{67:cab;67.3;c,a,b;16;d2h^21;a b m m;-a 2b 2b{67:-cba;67.4;-c,b,a;16;d2h^21;a c m m;-a 2 2b{67:bca;67.5;b,c,a;16;d2h^21;b m c m;-b 2 2a{67:a-cb;67.6;a,-c,b;16;d2h^21;b m a m;-b 2a 2{68:2;68.1;;16;d2h^22;c c c e :2;-c 2a 2ac{68:2;68.1;;16;d2h^22;c c c a :2;-c 2a 2ac{68:2ba-c;68.2;b,a,-c;16;d2h^22;c c c b :2;-c 2a 2c{68:2cab;68.3;c,a,b;16;d2h^22;a b a a :2;-a 2a 2b{68:2-cba;68.4;-c,b,a;16;d2h^22;a c a a :2;-a 2ab 2b{68:2bca;68.5;b,c,a;16;d2h^22;b b c b :2;-b 2ab 2b{68:2a-cb;68.6;a,-c,b;16;d2h^22;b b a b :2;-b 2b 2ab{68:1;68.7;a,b,c|0,1/4,1/4;16;d2h^22;c c c e :1;c 2 2 -1ac{68:1;68.7;a,b,c|0,1/4,1/4;16;d2h^22;c c c a :1;c 2 2 -1ac{68:1ba-c;68.8;b,a,-c|0,1/4,1/4;16;d2h^22;c c c b :1;c 2 2 -1ac{68:1cab;68.9;c,a,b|0,1/4,1/4;16;d2h^22;a b a a :1;a 2 2 -1ab{68:1-cba;68.10;-c,b,a|0,1/4,1/4;16;d2h^22;a c a a :1;a 2 2 -1ab{68:1bca;68.11;b,c,a|0,1/4,1/4;16;d2h^22;b b c b :1;b 2 2 -1ab{68:1a-cb;68.12;a,-c,b|0,1/4,1/4;16;d2h^22;b b a b :1;b 2 2 -1ab{69;69.1;;32;d2h^23;f m m m;-f 2 2{70:2;70.1;;32;d2h^24;f d d d :2;-f 2uv 2vw{70:1;70.2;a,b,c|-1/8,-1/8,-1/8;32;d2h^24;f d d d :1;f 2 2 -1d{71;71.1;;16;d2h^25;i m m m;-i 2 2{72;72.1;;16;d2h^26;i b a m;-i 2 2c{72:cab;72.2;c,a,b;16;d2h^26;i m c b;-i 2a 2{72:bca;72.3;b,c,a;16;d2h^26;i c m a;-i 2b 2b{73;73.1;;16;d2h^27;i b c a;-i 2b 2c{73:ba-c;73.2;b,a,-c;16;d2h^27;i c a b;-i 2a 2b{74;74.1;;16;d2h^28;i m m a;-i 2b 2{74:ba-c;74.2;b,a,-c;16;d2h^28;i m m b;-i 2a 2a{74:cab;74.3;c,a,b;16;d2h^28;i b m m;-i 2c 2c{74:-cba;74.4;-c,b,a;16;d2h^28;i c m m;-i 2 2b{74:bca;74.5;b,c,a;16;d2h^28;i m c m;-i 2 2a{74:a-cb;74.6;a,-c,b;16;d2h^28;i m a m;-i 2c 2{75;75.1;;4;c4^1;p 4;p 4{75:c;75.2;ab;8;c4^1;c 4;c 4{76;76.1;;4;c4^2;p 41;p 4w{76:c;76.2;ab;8;c4^2;c 41;c 4w{77;77.1;;4;c4^3;p 42;p 4c{77:c;77.2;ab;8;c4^3;c 42;c 4c{78;78.1;;4;c4^4;p 43;p 4cw{78:c;78.2;ab;8;c4^4;c 43;c 4cw{79;79.1;;8;c4^5;i 4;i 4{79:f;79.2;ab;16;c4^5;f 4;f 4{80;80.1;;8;c4^6;i 41;i 4bw{80:f;80.2;ab;16;c4^6;f 41;xyz{81;81.1;;4;s4^1;p -4;p -4{81:c;81.2;ab;8;s4^1;c -4;c -4{82;82.1;;8;s4^2;i -4;i -4{82:f;82.2;ab;16;s4^2;f -4;f -4{83;83.1;;8;c4h^1;p 4/m;-p 4{83:f;83.2;ab;16;c4h^1;c 4/m;-c 4{84;84.1;;8;c4h^2;p 42/m;-p 4c{84:c;84.2;ab;16;c4h^2;c 42/m;-c 4c{85:2;85.1;;8;c4h^3;p 4/n :2;-p 4a{85:c2;85.2;ab;16;c4h^3;c 4/e :2;xyz{85:1;85.3;a,b,c|-1/4,1/4,0;8;c4h^3;p 4/n :1;p 4ab -1ab{85:c1;85.4;ab|-1/4,1/4,0;16;c4h^3;c 4/e :1;xyz{86:2;86.1;;8;c4h^4;p 42/n :2;-p 4bc{86:1;86.3;a,b,c|-1/4,-1/4,-1/4;8;c4h^4;p 42/n :1;p 4n -1n{86:c1;86.4;ab|-1/4,-1/4,-1/4;16;c4h^4;c 42/e :1;xyz{86:c2;86.2;ab;16;c4h^4;c 42/e :2;xyz{87;87.1;;16;c4h^5;i 4/m;-i 4{87:f;87.2;ab;32;c4h^5;f 4/m;xyz{88:2;88.1;;16;c4h^6;i 41/a :2;-i 4ad{88:f2;88.2;ab;32;c4h^6;f 41/d :2;xyz{88:1;88.3;a,b,c|0,-1/4,-1/8;16;c4h^6;i 41/a :1;i 4bw -1bw{88:f1;88.4;ab|0,-1/4,-1/8;32;c4h^6;f 41/d :1;xyz{89;89.1;;8;d4^1;p 4 2 2;p 4 2{89:c;89.2;ab;16;d4^1;c 4 2 2;xyz{90;90.1;;8;d4^2;p 4 21 2;p 4ab 2ab{90:c;90.2;ab;16;d4^2;c 4 2 21;xyz{91;91.1;;8;d4^3;p 41 2 2;p 4w 2c{91:c;91.2;ab;16;d4^3;c 41 2 2;xyz{92;92.1;;8;d4^4;p 41 21 2;p 4abw 2nw{92:c;92.2;ab;16;d4^4;c 41 2 21;xyz{93;93.1;;8;d4^5;p 42 2 2;p 4c 2{93:c;93.2;ab;16;d4^5;c 42 2 2;xyz{94;94.1;;8;d4^6;p 42 21 2;p 4n 2n{94:c;94.2;ab;16;d4^6;c 42 2 21;xyz{95;95.1;;8;d4^7;p 43 2 2;p 4cw 2c{95:c;95.2;ab;16;d4^7;c 43 2 2;xyz{96;96.1;;8;d4^8;p 43 21 2;p 4nw 2abw{96:c;96.2;ab;16;d4^8;c 43 2 21;xyz{97;97.1;;16;d4^9;i 4 2 2;i 4 2{97:f;97.2;ab;32;d4^9;f 4 2 2;f 4 2{98;98.1;;16;d4^10;i 41 2 2;i 4bw 2bw{98:f;98.2;ab;32;d4^10;f 41 2 2;xyz{99;99.1;;8;c4v^1;p 4 m m;p 4 -2{99:c;99.2;ab;16;c4v^1;c 4 m m;c 4 -2{100;100.1;;8;c4v^2;p 4 b m;p 4 -2ab{100:c;100.2;ab;16;c4v^2;c 4 m g1;xyz{101;101.1;;8;c4v^3;p 42 c m;p 4c -2c{101:c;101.2;ab;16;c4v^3;c 42 m c;xyz{102;102.1;;8;c4v^4;p 42 n m;p 4n -2n{102:c;102.2;ab;16;c4v^4;c 42 m g2;xyz{103;103.1;;8;c4v^5;p 4 c c;p 4 -2c{103:c;103.2;ab;16;c4v^5;c 4 c c;c 4 -2c{104;104.1;;8;c4v^6;p 4 n c;p 4 -2n{104:c;104.2;ab;16;c4v^6;c 4 c g2;xyz{105;105.1;;8;c4v^7;p 42 m c;p 4c -2{105:c;105.2;ab;16;c4v^7;c 42 c m;xyz{106;106.1;;8;c4v^8;p 42 b c;p 4c -2ab{106:c;106.2;ab;16;c4v^8;c 42 c g1;xyz{107;107.1;;16;c4v^9;i 4 m m;i 4 -2{107:f;107.2;ab;32;c4v^9;f 4 m m;f 4 -2{108;108.1;;16;c4v^10;i 4 c m;i 4 -2c{108:f;108.2;ab;32;c4v^10;f 4 m c;xyz{109;109.1;;16;c4v^11;i 41 m d;i 4bw -2{109:f;109.2;ab;32;c4v^11;f 41 d m;xyz{110;110.1;;16;c4v^12;i 41 c d;i 4bw -2c{110:f;110.2;ab;32;c4v^12;f 41 d c;xyz{111;111.1;;8;d2d^1;p -4 2 m;p -4 2{111:c;111.2;ab;16;d2d^1;c -4 m 2;xyz{112;112.1;;8;d2d^2;p -4 2 c;p -4 2c{112:c;112.2;ab;16;d2d^2;c -4 c 2;xyz{113;113.1;;8;d2d^3;p -4 21 m;p -4 2ab{113:c;113.2;ab;16;d2d^3;c -4 m 21;xyz{114;114.1;;8;d2d^4;p -4 21 c;p -4 2n{114:c;114.2;ab;16;d2d^4;c -4 c 21;xyz{115;115.1;;8;d2d^5;p -4 m 2;p -4 -2{115:c;115.2;ab;16;d2d^5;c -4 2 m;xyz{116;116.1;;8;d2d^6;p -4 c 2;p -4 -2c{116:c;116.2;ab;16;d2d^6;c -4 2 c;xyz{117;117.1;;8;d2d^7;p -4 b 2;p -4 -2ab{117:c;117.2;ab;16;d2d^7;c -4 2 g1;xyz{118;118.1;;8;d2d^8;p -4 n 2;p -4 -2n{118:c;118.2;ab;16;d2d^8;c -4 2 g2;xyz{119;119.1;;16;d2d^9;i -4 m 2;i -4 -2{119:f;119.2;ab;32;d2d^9;f -4 2 m;xyz{120;120.1;;16;d2d^10;i -4 c 2;i -4 -2c{120:f;120.2;ab;32;d2d^10;f -4 2 c;xyz{121;121.1;;16;d2d^11;i -4 2 m;i -4 2{121:f;121.2;ab;32;d2d^11;f -4 m 2;xyz{122;122.1;;16;d2d^12;i -4 2 d;i -4 2bw{122:f;122.2;ab;32;d2d^12;f -4 d 2;xyz{123;123.1;;16;d4h^1;p 4/m m m;-p 4 2{123:c;123.2;ab;32;d4h^1;c 4/m m m;xyz{124;124.1;;16;d4h^2;p 4/m c c;-p 4 2c{124:c;124.2;ab;32;d4h^2;c 4/m c c;xyz{125:2;125.1;;16;d4h^3;p 4/n b m :2;-p 4a 2b{125:c2;125.2;ab;32;d4h^3;c 4/e m g1 :2;xyz{125:1;125.3;a,b,c|-1/4,-1/4,0;16;d4h^3;p 4/n b m :1;p 4 2 -1ab{125:c1;125.4;ab|-1/4,-1/4,0;32;d4h^3;c 4/e m g1 :1;xyz{126:2;126.1;;16;d4h^4;p 4/n n c :2;-p 4a 2bc{126:c1;126.2;ab;32;d4h^4;c 4/e c g2 :2;xyz{126:1;126.3;a,b,c|-1/4,-1/4,-1/4;16;d4h^4;p 4/n n c :1;p 4 2 -1n{126:c4;126.4;ab|-1/4,-1/4,-1/4;32;d4h^4;c 4/e c g2 :1;xyz{127;127.1;;16;d4h^5;p 4/m b m;-p 4 2ab{127:c;127.2;ab;32;d4h^5;c 4/m m g1;xyz{128;128.1;;16;d4h^6;p 4/m n c;-p 4 2n{128:c;128.2;ab;32;d4h^6;c 4/m c g2;xyz{129:2;129.1;;16;d4h^7;p 4/n m m :2;-p 4a 2a{129:c2;129.2;ab;32;d4h^7;c 4/e m m :2;xyz{129:1;129.3;a,b,c|-1/4,1/4,0;16;d4h^7;p 4/n m m :1;p 4ab 2ab -1ab{129:c1;129.4;ab|-1/4,1/4,0;32;d4h^7;c 4/e m m :1;xyz{130:2;130.1;;16;d4h^8;p 4/n c c :2;-p 4a 2ac{130:c2;130.2;ab;32;d4h^8;c 4/e c c :2;xyz{130:1;130.3;a,b,c|-1/4,1/4,0;16;d4h^8;p 4/n c c :1;p 4ab 2n -1ab{130:c1;130.4;ab|-1/4,1/4,0;32;d4h^8;c 4/e c c :1;xyz{131;131.1;;16;d4h^9;p 42/m m c;-p 4c 2{131:c;131.2;ab;32;d4h^9;c 42/m c m;xyz{132;132.1;;16;d4h^10;p 42/m c m;-p 4c 2c{132:c;132.2;ab;32;d4h^10;c 42/m m c;xyz{133:2;133.1;;16;d4h^11;p 42/n b c :2;-p 4ac 2b{133:c1;133.2;ab;32;d4h^11;c 42/e c g1 :2;xyz{133:1;133.3;a,b,c|-1/4,1/4,-1/4;16;d4h^11;p 42/n b c :1;p 4n 2c -1n{133:c2;133.4;ab|-1/4,1/4,-1/4;32;d4h^11;c 42/e c g1 :1;xyz{134:2;134.1;;16;d4h^12;p 42/n n m :2;-p 4ac 2bc{134:c2;134.2;ab;32;d4h^12;c 42/e m g2 :2;xyz{134:1;134.3;a,b,c|-1/4,1/4,-1/4;16;d4h^12;p 42/n n m :1;p 4n 2 -1n{134:c1;134.4;ab|-1/4,1/4,-1/4;32;d4h^12;c 42/e m g2 :1;xyz{135;135.1;;16;d4h^13;p 42/m b c;-p 4c 2ab{135:c;135.2;ab;32;d4h^13;c 42/m c g1;xyz{136;136.1;;16;d4h^14;p 42/m n m;-p 4n 2n{136:c;136.2;ab;32;d4h^14;c 42/m m g2;xyz{137:2;137.1;;16;d4h^15;p 42/n m c :2;-p 4ac 2a{137:c1;137.2;ab;32;d4h^15;c 42/e c m :2;xyz{137:1;137.3;a,b,c|-1/4,1/4,-1/4;16;d4h^15;p 42/n m c :1;p 4n 2n -1n{137:c2;137.4;ab|-1/4,1/4,-1/4;32;d4h^15;c 42/e c m :1;xyz{138:2;138.1;;16;d4h^16;p 42/n c m :2;-p 4ac 2ac{138:c2;138.2;ab;32;d4h^16;c 42/e m c :2;xyz{138:1;138.3;a,b,c|-1/4,1/4,-1/4;16;d4h^16;p 42/n c m :1;p 4n 2ab -1n{138:c1;138.4;ab|-1/4,1/4,-1/4;32;d4h^16;c 42/e m c :1;xyz{139;139.1;;32;d4h^17;i 4/m m m;-i 4 2{139:f;139.2;ab;64;d4h^17;f 4/m m m;xyz{140;140.1;;32;d4h^18;i 4/m c m;-i 4 2c{140:f;140.2;ab;64;d4h^18;f 4/m m c;xyz{141:2;141.1;;32;d4h^19;i 41/a m d :2;-i 4bd 2{141:f2;141.2;ab;64;d4h^19;f 41/d d m :2;xyz{141:1;141.3;a,b,c|0,1/4,-1/8;32;d4h^19;i 41/a m d :1;i 4bw 2bw -1bw{141:f1;141.4;ab|0,1/4,-1/8;64;d4h^19;f 41/d d m :1;xyz{142:2;142.1;;32;d4h^20;i 41/a c d :2;-i 4bd 2c{142:f2;142.2;ab;64;d4h^20;f 41/d d c :2;xyz{142:1;142.3;a,b,c|0,1/4,-1/8;32;d4h^20;i 41/a c d :1;i 4bw 2aw -1bw{142:f1;142.4;ab|0,1/4,-1/8;64;d4h^20;f 41/d d c :1;xyz{143;143.1;;3;c3^1;p 3;p 3{144;144.1;;3;c3^2;p 31;p 31{145;145.1;;3;c3^3;p 32;p 32{146:h;146.1;;9;c3^4;r 3 :h;r 3{146:r;146.2;r;3;c3^4;r 3 :r;p 3*{147;147.1;;6;c3i^1;p -3;-p 3{148:h;148.1;;18;c3i^2;r -3 :h;-r 3{148:r;148.2;r;6;c3i^2;r -3 :r;-p 3*{149;149.1;;6;d3^1;p 3 1 2;p 3 2{150;150.1;;6;d3^2;p 3 2 1;p 3 2"{151;151.1;;6;d3^3;p 31 1 2;p 31 2 (0 0 4){152;152.1;;6;d3^4;p 31 2 1;p 31 2"{152:_2;152:a,b,c|0,0,-1/3;a,b,c|0,0,-1/3;6;d3^4;p 31 2 1;p 31 2" (0 0 4){153;153.1;;6;d3^5;p 32 1 2;p 32 2 (0 0 2){154;154.1;;6;d3^6;p 32 2 1;p 32 2"{154:_2;154:a,b,c|0,0,-1/3;a,b,c|0,0,-1/3;6;d3^6;p 32 2 1;p 32 2" (0 0 4){155:h;155.1;;18;d3^7;r 3 2 :h;r 3 2"{155:r;155.2;r;6;d3^7;r 3 2 :r;p 3* 2{156;156.1;;6;c3v^1;p 3 m 1;p 3 -2"{157;157.1;;6;c3v^2;p 3 1 m;p 3 -2{158;158.1;;6;c3v^3;p 3 c 1;p 3 -2"c{159;159.1;;6;c3v^4;p 3 1 c;p 3 -2c{160:h;160.1;;18;c3v^5;r 3 m :h;r 3 -2"{160:r;160.2;r;6;c3v^5;r 3 m :r;p 3* -2{161:h;161.1;;18;c3v^6;r 3 c :h;r 3 -2"c{161:r;161.2;r;6;c3v^6;r 3 c :r;p 3* -2n{162;162.1;;12;d3d^1;p -3 1 m;-p 3 2{163;163.1;;12;d3d^2;p -3 1 c;-p 3 2c{164;164.1;;12;d3d^3;p -3 m 1;-p 3 2"{165;165.1;;12;d3d^4;p -3 c 1;-p 3 2"c{166:h;166.1;;36;d3d^5;r -3 m :h;-r 3 2"{166:r;166.2;r;12;d3d^5;r -3 m :r;-p 3* 2{167:h;167.1;;36;d3d^6;r -3 c :h;-r 3 2"c{167:r;167.2;r;12;d3d^6;r -3 c :r;-p 3* 2n{168;168.1;;6;c6^1;p 6;p 6{169;169.1;;6;c6^2;p 61;p 61{170;170.1;;6;c6^3;p 65;p 65{171;171.1;;6;c6^4;p 62;p 62{172;172.1;;6;c6^5;p 64;p 64{173;173.1;;6;c6^6;p 63;p 6c{174;174.1;;6;c3h^1;p -6;p -6{175;175.1;;12;c6h^1;p 6/m;-p 6{176;176.1;;12;c6h^2;p 63/m;-p 6c{177;177.1;;12;d6^1;p 6 2 2;p 6 2{178;178.1;;12;d6^2;p 61 2 2;p 61 2 (0 0 5){179;179.1;;12;d6^3;p 65 2 2;p 65 2 (0 0 1){180;180.1;;12;d6^4;p 62 2 2;p 62 2 (0 0 4){181;181.1;;12;d6^5;p 64 2 2;p 64 2 (0 0 2){182;182.1;;12;d6^6;p 63 2 2;p 6c 2c{183;183.1;;12;c6v^1;p 6 m m;p 6 -2{184;184.1;;12;c6v^2;p 6 c c;p 6 -2c{185;185.1;;12;c6v^3;p 63 c m;p 6c -2{186;186.1;;12;c6v^4;p 63 m c;p 6c -2c{187;187.1;;12;d3h^1;p -6 m 2;p -6 2{188;188.1;;12;d3h^2;p -6 c 2;p -6c 2{189;189.1;;12;d3h^3;p -6 2 m;p -6 -2{190;190.1;;12;d3h^4;p -6 2 c;p -6c -2c{191;191.1;;24;d6h^1;p 6/m m m;-p 6 2{192;192.1;;24;d6h^2;p 6/m c c;-p 6 2c{193;193.1;;24;d6h^3;p 63/m c m;-p 6c 2{194;194.1;;24;d6h^4;p 63/m m c;-p 6c 2c{195;195.1;;12;t^1;p 2 3;p 2 2 3{196;196.1;;48;t^2;f 2 3;f 2 2 3{197;197.1;;24;t^3;i 2 3;i 2 2 3{198;198.1;;12;t^4;p 21 3;p 2ac 2ab 3{199;199.1;;24;t^5;i 21 3;i 2b 2c 3{200;200.1;;24;th^1;p m -3;-p 2 2 3{201:2;201.1;;24;th^2;p n -3 :2;-p 2ab 2bc 3{201:1;201.2;a,b,c|-1/4,-1/4,-1/4;24;th^2;p n -3 :1;p 2 2 3 -1n{202;202.1;;96;th^3;f m -3;-f 2 2 3{203:2;203.1;;96;th^4;f d -3 :2;-f 2uv 2vw 3{203:1;203.2;a,b,c|-1/8,-1/8,-1/8;96;th^4;f d -3 :1;f 2 2 3 -1d{204;204.1;;48;th^5;i m -3;-i 2 2 3{205;205.1;;24;th^6;p a -3;-p 2ac 2ab 3{206;206.1;;48;th^7;i a -3;-i 2b 2c 3{207;207.1;;24;o^1;p 4 3 2;p 4 2 3{208;208.1;;24;o^2;p 42 3 2;p 4n 2 3{209;209.1;;96;o^3;f 4 3 2;f 4 2 3{210;210.1;;96;o^4;f 41 3 2;f 4d 2 3{211;211.1;;48;o^5;i 4 3 2;i 4 2 3{212;212.1;;24;o^6;p 43 3 2;p 4acd 2ab 3{213;213.1;;24;o^7;p 41 3 2;p 4bd 2ab 3{214;214.1;;48;o^8;i 41 3 2;i 4bd 2c 3{215;215.1;;24;td^1;p -4 3 m;p -4 2 3{216;216.1;;96;td^2;f -4 3 m;f -4 2 3{217;217.1;;48;td^3;i -4 3 m;i -4 2 3{218;218.1;;24;td^4;p -4 3 n;p -4n 2 3{219;219.1;;96;td^5;f -4 3 c;f -4a 2 3{220;220.1;;48;td^6;i -4 3 d;i -4bd 2c 3{221;221.1;;48;oh^1;p m -3 m;-p 4 2 3{222:2;222.1;;48;oh^2;p n -3 n :2;-p 4a 2bc 3{222:1;222.2;a,b,c|-1/4,-1/4,-1/4;48;oh^2;p n -3 n :1;p 4 2 3 -1n{223;223.1;;48;oh^3;p m -3 n;-p 4n 2 3{224:2;224.1;;48;oh^4;p n -3 m :2;-p 4bc 2bc 3{224:1;224.2;a,b,c|-1/4,-1/4,-1/4;48;oh^4;p n -3 m :1;p 4n 2 3 -1n{225;225.1;;192;oh^5;f m -3 m;-f 4 2 3{226;226.1;;192;oh^6;f m -3 c;-f 4a 2 3{227:2;227.1;;192;oh^7;f d -3 m :2;-f 4vw 2vw 3{227:1;227.2;a,b,c|-1/8,-1/8,-1/8;192;oh^7;f d -3 m :1;f 4d 2 3 -1d{228:2;228.1;;192;oh^8;f d -3 c :2;-f 4ud 2vw 3{228:1;228.2;a,b,c|-3/8,-3/8,-3/8;192;oh^8;f d -3 c :1;f 4d 2 3 -1ad{229;229.1;;96;oh^9;i m -3 m;-i 4 2 3{230;230.1;;96;oh^10;i a -3 d;-i 4bd 2c 3'.split("{"));
c.moreSettings=Z(-1,"A 1 1 2 :2'{5:-a-c,a,-b{A 1 2 1 :1'{5:c,-b,a{B 1 1 2 :1'{5:a,c,-b{B 2 1 1 :2'{5:-b,-a-c,a{C 1 2 1 :2'{5:a,-b,-a-c{C 2 1 1 :1'{5:-b,a,c{I 1 1 2 :3'{5:c,-a-c,-b{I 1 2 1 :3'{5:-a-c,-b,c{I 2 1 1 :3'{5:-b,c,-a-c{P 1 1 a :3'{7:c,-a-c,-b{P 1 1 b :1'{7:a,c,-b{P 1 1 n :2'{7:-a-c,a,-b{P 1 a 1 :1'{7:c,-b,a{P 1 c 1 :3'{7:-a-c,-b,c{P 1 n 1 :2'{7:a,-b,-a-c{P b 1 1 :3'{7:-b,c,-a-c{P c 1 1 :1'{7:-b,a,c{P n 1 1 :2'{7:-b,-a-c,a{A 1 1 m :2'{8:-a-c,a,-b{A 1 m 1 :1'{8:c,-b,a{B 1 1 m :1'{8:a,c,-b{B m 1 1 :2'{8:-b,-a-c,a{C 1 m 1 :2'{8:a,-b,-a-c{C m 1 1 :1'{8:-b,a,c{I 1 1 m :3'{8:c,-a-c,-b{I 1 m 1 :3'{8:-a-c,-b,c{I m 1 1 :3'{8:-b,c,-a-c{A 1 1 2/m :2'{12:-a-c,a,-b{A 1 2/m 1 :1'{12:c,-b,a{B 1 1 2/m :1'{12:a,c,-b{B 2/m 1 1 :2'{12:-b,-a-c,a{C 1 2/m 1 :2'{12:a,-b,-a-c{C 2/m 1 1 :1'{12:-b,a,c{I 1 1 2/m :3'{12:c,-a-c,-b{I 1 2/m 1 :3'{12:-a-c,-b,c{I 2/m 1 1 :3'{12:-b,c,-a-c{P 1 1 2/a :3'{13:c,-a-c,-b{P 1 1 2/b :1'{13:a,c,-b{P 1 1 2/n :2'{13:-a-c,a,-b{P 1 2/a 1 :1'{13:c,-b,a{P 1 2/c 1 :3'{13:-a-c,-b,c{P 1 2/n 1 :2'{13:a,-b,-a-c{P 2/b 1 1 :3'{13:-b,c,-a-c{P 2/c 1 1 :1'{13:-b,a,c{P 2/n 1 1 :2'{13:-b,-a-c,a{P 1 1 21/a :3'{14:c,-a-c,-b{P 1 1 21/b :1'{14:a,c,-b{P 1 1 21/n :2'{14:-a-c,a,-b{P 1 21/a 1 :1'{14:c,-b,a{P 1 21/c 1 :3'{14:-a-c,-b,c{P 1 21/n 1 :2'{14:a,-b,-a-c{P 21/b 1 1 :3'{14:-b,c,-a-c{P 21/c 1 1 :1'{14:-b,a,c{P 21/n 1 1 :2'{14:-b,-a-c,a{C 4'{75:a+b,-a+b,c{C 41'{76:a+b,-a+b,c{C 42'{77:a+b,-a+b,c{C 43'{78:a+b,-a+b,c{F 4'{79:a+b,-a+b,c{F 41'{80:a+b,-a+b,c{C -4'{81:a+b,-a+b,c{F -4'{82:a+b,-a+b,c{C 4/m'{83:a+b,-a+b,c{C 42/m'{84:a+b,-a+b,c{C 4/e :1'{85:a+b,-a+b,c;-1/4,1/4,0{C 4/e :2'{85:a+b,-a+b,c{C 42/e :1'{86:a+b,-a+b,c;-1/4,-1/4,-1/4{C 42/e :2'{86:a+b,-a+b,c{F 4/m'{87:a+b,-a+b,c{F 41/d :1'{88:a+b,-a+b,c;0,-1/4,-1/8{F 41/d :2'{88:a+b,-a+b,c{C 4 2 2'{89:a+b,-a+b,c{C 4 2 21'{90:a+b,-a+b,c{C 41 2 2'{91:a+b,-a+b,c{C 41 2 21'{92:a+b,-a+b,c{C 42 2 2'{93:a+b,-a+b,c{C 42 2 21'{94:a+b,-a+b,c{C 43 2 2'{95:a+b,-a+b,c{C 43 2 21'{96:a+b,-a+b,c{F 4 2 2'{97:a+b,-a+b,c{F 41 2 2'{98:a+b,-a+b,c{C 4 m m'{99:a+b,-a+b,c{C 4 m g1'{100:a+b,-a+b,c{C 42 m c'{101:a+b,-a+b,c{C 42 m g2'{102:a+b,-a+b,c{C 4 c c'{103:a+b,-a+b,c{C 4 c g2'{104:a+b,-a+b,c{C 42 c m'{105:a+b,-a+b,c{C 42 c g1'{106:a+b,-a+b,c{F 4 m m'{107:a+b,-a+b,c{F 4 m c'{108:a+b,-a+b,c{F 41 d m'{109:a+b,-a+b,c{F 41 d c'{110:a+b,-a+b,c{C -4 m 2'{111:a+b,-a+b,c{C -4 c 2'{112:a+b,-a+b,c{C -4 m 21'{113:a+b,-a+b,c{C -4 c 21'{114:a+b,-a+b,c{C -4 2 m'{115:a+b,-a+b,c{C -4 2 c'{116:a+b,-a+b,c{C -4 2 g1'{117:a+b,-a+b,c{C -4 2 g2'{118:a+b,-a+b,c{F -4 2 m'{119:a+b,-a+b,c{F -4 2 c'{120:a+b,-a+b,c{F -4 m 2'{121:a+b,-a+b,c{F -4 d 2'{122:a+b,-a+b,c{C 4/m m m'{123:a+b,-a+b,c{C 4/m c c'{124:a+b,-a+b,c{C 4/e m g1 :1'{125:a+b,-a+b,c;-1/4,-1/4,0{C 4/e m g1 :2'{125:a+b,-a+b,c{C 4/e c g2 :1'{126:a+b,-a+b,c;-1/4,-1/4,-1/4{C 4/e c g2 :2'{126:a+b,-a+b,c{C 4/m m g1'{127:a+b,-a+b,c{C 4/m c g2'{128:a+b,-a+b,c{C 4/e m m :1'{129:a+b,-a+b,c;-1/4,1/4,0{C 4/e m m :2'{129:a+b,-a+b,c{C 4/e c c :1'{130:a+b,-a+b,c;-1/4,1/4,0{C 4/e c c :2'{130:a+b,-a+b,c{C 42/m c m'{131:a+b,-a+b,c{C 42/m m c'{132:a+b,-a+b,c{C 42/e c g1 :1'{133:a+b,-a+b,c;-1/4,1/4,-1/4{C 42/e c g1 :2'{133:a+b,-a+b,c{C 42/e m g2 :1'{134:a+b,-a+b,c;-1/4,1/4,-1/4{C 42/e m g2 :2'{134:a+b,-a+b,c{C 42/m c g1'{135:a+b,-a+b,c{C 42/m m g2'{136:a+b,-a+b,c{C 42/e c m :1'{137:a+b,-a+b,c;-1/4,1/4,-1/4{C 42/e c m :2'{137:a+b,-a+b,c{C 42/e m c :1'{138:a+b,-a+b,c;-1/4,1/4,-1/4{C 42/e m c :2'{138:a+b,-a+b,c{F 4/m m m'{139:a+b,-a+b,c{F 4/m m c'{140:a+b,-a+b,c{F 41/d d m :1'{141:a+b,-a+b,c;0,1/4,-1/8{F 41/d d m :2'{141:a+b,-a+b,c{F 41/d d c :1'{142:a+b,-a+b,c;0,1/4,-1/8{F 41/d d c :2'{142:a+b,-a+b,c".split("{"));
c.HMtoCleg=null;c.ClegtoHM=null;JS.SpaceGroup.getSpaceGroups()});da("JS");ja(["JU.P3"],"JS.SpaceGroupFinder","java.util.Arrays JU.BS $.Lst $.M4 $.Measure $.PT $.V3 JS.SpaceGroup $.Symmetry $.SymmetryOperation JU.BSUtil JV.FileManager".split(" "),function(){var c=C(function(){this.atoms=this.cartesians=this.sg=this.uc=this.vwr=null;this.nAtoms=0;this.unitCellParams=this.xyzList=null;this.slop=0;this.asString=this.isSupercell=this.$checkSupercell=this.isUnknown=this.isAssign=this.isCalcOnly=!1;this.pTemp=
this.scaling=this.oabc=this.origin=this.targets=this.bsAtoms=this.bsPoints0=null;this.groupType=this.isg=0;this.isSpecialGroup=!1;this.zero=this.vectorBC=this.vectorBA=null;this.isQuery=!1;Fa("JS.SpaceGroupFinder.SGAtom")||JS.SpaceGroupFinder.$SpaceGroupFinder$SGAtom$();L(this,arguments)},JS,"SpaceGroupFinder",null);ka(c,function(){this.pTemp=new JU.P3});V(c,function(){});e(c,"findSpaceGroup",function(a,b,f,d,c,e,g,h){this.vwr=a;this.xyzList=f;this.unitCellParams=d;this.origin=c;this.oabc=e;this.uc=
g;this.isCalcOnly=0!=(h&16);this.isAssign=0!=(h&2);this.$checkSupercell=0!=(h&8);this.asString=0!=(h&1);f=0!=(h&4);e=this.uc.getPrecision();this.slop=!Float.isNaN(e)?e:null!=d&&26<d.length?d[26]:1E-4;Float.isNaN(this.slop)&&(this.slop=1E-6);this.cartesians=a.ms.at;this.bsPoints0=new JU.BS;if(null==this.xyzList||this.isAssign)this.bsAtoms=JU.BSUtil.copy(b),this.nAtoms=this.bsAtoms.cardinality();this.isQuery=null!=this.xyzList&&0<=this.xyzList.indexOf("&");this.targets=JU.BS.newN(this.nAtoms);this.scaling=
JU.P3.new3(1,1,1);this.isUnknown=!0;a=null!=this.xyzList&&this.xyzList.toUpperCase().startsWith("ITA/");e=null!=this.xyzList&&!a&&(this.xyzList.startsWith("[")||this.xyzList.startsWith("Hall:"));if(this.isAssign&&e||!e&&(a||(a=this.checkWyckoffHM()))){this.isUnknown=!1;this.xyzList=a?JU.PT.rep(this.xyzList.substring(4)," ",""):this.xyzList.startsWith("Hall:")?this.xyzList.substring(5):JU.PT.replaceAllCharacters(this.xyzList,"[]","");this.sg=this.setITA(e);if(null==this.sg)return null;this.sg.getName()}else if(null!=
this.oabc||e){if(a=this.xyzList,null!=a&&(this.sg=JS.SpaceGroup.createSpaceGroupN(a,e)),this.isUnknown=null==this.sg,e&&!this.isUnknown)return this.sg.dumpInfoObj()}else if(!this.isQuery&&JS.SpaceGroup.isXYZList(this.xyzList)&&(this.sg=JS.SpaceGroup.findSpaceGroupFromXYZ(this.xyzList),null!=this.sg))return this.sg.dumpInfoObj();if(f){if(null==this.sg&&null==(this.sg=JS.SpaceGroup.determineSpaceGroupNA(this.xyzList,d))&&null==(this.sg=JS.SpaceGroup.createSpaceGroupN(this.xyzList,!1)))return null;f=
new JU.BS;a=this.sg.asString();null==this.oabc?(this.uc=this.setSpaceGroupAndUnitCell(this.sg,d,null,6==d.length),this.oabc=this.uc.getUnitCellVectors(),null!=c&&this.oabc[0].setT(c)):(this.uc=this.setSpaceGroupAndUnitCell(this.sg,null,this.oabc,!1),this.uc.transformUnitCell(g.saveOrRetrieveTransformMatrix(null)))}else{d=this.findGroupByOperations();if(!this.isAssign||!$(d,"JS.SpaceGroup"))return d;this.sg=d;a=this.sg.asString();f=JU.BSUtil.copy(this.bsAtoms);for(d=this.targets.nextSetBit(0);0<=d;d=
this.targets.nextSetBit(d+1))f.clear(this.atoms[d].index);d=f.cardinality();if(!this.isCalcOnly&&(b=a+(null==b||0==d?"":"\nbasis is "+d+" atom"+(1==d?"":"s")+": "+f),System.out.println("SpaceGroupFinder chose "+b),this.asString))return b}b=this.sg.dumpInfoObj();null!=this.uc&&!this.isCalcOnly&&System.out.println("unitcell is "+this.uc.getUnitCellInfo(!0));this.isAssign||(d=JU.BS.copy(this.bsPoints0),d.andNot(this.targets),this.dumpBasis(JS.SpaceGroupFinder.bsGroupOps[this.isg],d,this.bsPoints0));
b.put("name",a);b.put("basis",f);this.isSupercell&&b.put("supercell",this.scaling);this.oabc[1].scale(1/this.scaling.x);this.oabc[2].scale(1/this.scaling.y);this.oabc[3].scale(1/this.scaling.z);b.put("unitcell",this.oabc);this.isAssign&&b.put("sg",this.sg);return b},"JV.Viewer,JU.BS,~S,~A,JU.T3,~A,J.api.SymmetryInterface,~N");e(c,"checkWyckoffHM",function(){if(null!=this.xyzList&&0>this.xyzList.indexOf(",")){var a=JS.SpaceGroup.convertWyckoffHMCleg(this.xyzList,null);if(null!=a)return this.xyzList=
"ITA/"+a,!0}return!1});e(c,"setITA",function(a){var b=null,f=null,b=this.xyzList.lastIndexOf(":"),d=this.xyzList.indexOf(","),d=0<b&&d>b,c=null,e=0<b&&!d,g=null;d&&(g=this.uc.staticCleanTransform(this.xyzList.substring(b+1)),this.xyzList=this.xyzList.substring(0,b),c=this.xyzList+":"+g,g.equals("a,b,c")&&(g=null,d=!1));b=this.xyzList.indexOf(".");if(0<b&&(d||e))this.xyzList=this.xyzList.substring(0,b),b=-1;var h=this.xyzList;0<JS.SpaceGroup.getExplicitSpecialGroupType(h)&&(h=h.substring(2),this.isSpecialGroup=
!0,b-=2);!e&&(!a&&!d&&!(0<b)&&-2147483648!=JU.PT.parseInt(h))&&(this.xyzList+=".1");var l=null,l=this.xyzList;if(a){if(e=this.uc.getSpaceGroupInfoObj("nameToXYZList","Hall:"+this.xyzList,!1,!1),null==e)return null}else{b=d?g:l;this.sg=JS.SpaceGroup.getSpaceGroupFromJmolClegOrITA(this.vwr,d?c:l);f=this.uc.getSpaceGroupJSON("ITA",l,0);if(null==f||"string"==typeof f)return null;if(e||d){a=f.get("its");if(null==a)return null;for(var f=null,c=0,j=a.size();c<j;c++)if(l=a.get(c),b.equals(l.get(d?"trm":"jmolId"))){f=
l;break}if(null==f||!this.isSpecialGroup&&!f.containsKey("jmolId")){if(e)return null;null!=f&&(g=f.get("trm"));d=!0;f=a.get(0)}else d=!1,g=null}else f.get("jmolId");e=f.get("gp")}if(null!=this.sg&&null==g)return this.sg=JS.SpaceGroup.createITASpaceGroup(this.sg.groupType,e,this.sg);this.sg=JS.SpaceGroup.transformSpaceGroup(this.groupType,null,this.sg,e,d?g:null,d?new JU.M4:null);if(null==this.sg)return null;this.sg.itaNumber.equals("0")&&(null==g?(f.get("trm"),f=f.get("hm"),this.sg.setHMSymbol(f)):
this.sg.setITATableNames(null,h,null,g),System.out.println("SpaceGroupFinder: new setting: "+this.sg.asString()));return this.sg},"~B");e(c,"findGroupByOperations",function(){var a=new JU.BS,b=new JU.BS,f=0,d=0;try{this.isUnknown?null==JS.SpaceGroupFinder.bsOpGroups&&JS.SpaceGroupFinder.loadData(this.vwr):b.set(0);if(null!=this.xyzList){if(this.isUnknown){var c=this.getGroupsWithOps();if(!this.isAssign||null==c)return c;this.sg=c}null==this.oabc&&this.uc.setUnitCellFromParams(this.unitCellParams,
!1,this.slop)}var e=this.uc;null==this.oabc?(this.oabc=this.uc.getUnitCellVectors(),this.uc=this.uc.getUnitCellMultiplied(),null!=this.origin&&!this.origin.equals(this.uc.getCartesianOffset())&&(this.oabc[0].setT(this.origin),this.uc.setCartesianOffset(this.origin))):this.uc.getUnitCell(this.oabc,!1,"finder");if(this.isUnknown)this.filterGroups(b,this.uc.getUnitCellParams());else if(0==this.nAtoms)return this.sg;if(null!=this.bsAtoms){this.atoms=Array(this.bsAtoms.cardinality());System.out.println("bsAtoms = "+
this.bsAtoms);for(var g=0,h=this.bsAtoms.nextSetBit(0);0<=h;h=this.bsAtoms.nextSetBit(h+1),g++){var l=this.cartesians[h],j=l.getAtomicAndIsotopeNumber();(this.atoms[g]=oa(JS.SpaceGroupFinder.SGAtom,this,null,j,h,l.getAtomName(),l.getOccupancy100())).setT(this.toFractional(l,this.uc))}}var n=JU.BSUtil.newBitSet2(0,this.nAtoms);this.nAtoms=n.cardinality();e=this.uc;if(0<this.nAtoms){for(h=n.nextSetBit(0);0<=h;h=n.nextSetBit(h+1))this.uc.unitize(this.atoms[h]);this.removeDuplicates(n);if(this.$checkSupercell&&
(this.uc=this.checkSupercell(this.vwr,this.uc,n,1,this.scaling),this.uc=this.checkSupercell(this.vwr,this.uc,n,2,this.scaling),this.uc=this.checkSupercell(this.vwr,this.uc,n,3,this.scaling),this.isSupercell=this.uc!==e))1!=this.scaling.x&&System.out.println("supercell found; a scaled by 1/"+this.scaling.x),1!=this.scaling.y&&System.out.println("supercell found; b scaled by 1/"+this.scaling.y),1!=this.scaling.z&&System.out.println("supercell found; c scaled by 1/"+this.scaling.z)}f=n.cardinality();
this.bsAtoms=new JU.BS;for(var q=Array(f),g=0,h=n.nextSetBit(0);0<=h;h=n.nextSetBit(h+1))l=this.atoms[h],q[g++]=l,this.isSupercell&&(l.setT(this.toFractional(this.cartesians[l.index],this.uc)),this.uc.unitize(l)),this.bsAtoms.set(this.atoms[h].index);this.atoms=q;this.nAtoms=f;n.clearAll();n.setBits(0,this.nAtoms);this.bsPoints0=JU.BS.copy(n);var p=JU.BS.newN(JS.SpaceGroupFinder.OP_COUNT),m=JU.BS.newN(this.nAtoms);a.setBits(1,null==this.sg?JS.SpaceGroupFinder.OP_COUNT:this.sg.getOperationCount());
0==this.nAtoms&&(b.clearBits(1,JS.SpaceGroupFinder.GROUP_COUNT),a.clearAll());var r=JU.BS.newN(JS.SpaceGroupFinder.OP_COUNT),t=JU.BS.newN(JS.SpaceGroupFinder.OP_COUNT);t.set(0);for(var g=!1,c=0,s=a.nextSetBit(1);0<s&&!b.isEmpty();s=a.nextSetBit(s+1)){var v=null==this.sg?JS.SpaceGroupFinder.getOp(s):this.sg.getOperation(s);null==this.sg&&(System.out.println("\n"+ ++c+" Checking operation "+s+" "+JS.SpaceGroupFinder.opXYZ[s]),System.out.println("bsGroups = "+b),System.out.println("bsOps = "+a),d++);
e=!0;n.clearAll();n.or(this.bsPoints0);m.clearAll();for(h=n.nextSetBit(0);0<=h;h=n.nextSetBit(h+1)){n.clear(h);var x=this.findEquiv(s,v,h,n,!0);if(0>x&&null==this.sg){System.out.println("failed op "+s+" for atom "+h+" "+this.atoms[h].name+" "+this.atoms[h]+" looking for "+this.pTemp+"\n"+v);e=!1;break}0<=x&&h!=x&&m.set(x)}if(null==this.sg){var w=JS.SpaceGroupFinder.bsOpGroups[s];a.clear(s);t.set(s);if(e)1==s&&(g=!0),this.targets.or(m);else{b.andNot(w);p.clearAll();for(h=b.nextSetBit(0);0<=h;h=b.nextSetBit(h+
1))p.or(JS.SpaceGroupFinder.bsGroupOps[h]);a.and(p)}}else this.targets.or(m)}if(null==this.sg&&(f=b.cardinality(),0==f&&(b.set(g?1:0),f=1,g&&!this.asString&&(r.clearAll(),r.set(1),t.clearAll(),this.targets.clearAll(),n.or(this.bsPoints0))),this.isg=b.nextSetBit(0),1==f&&0<this.isg)){var B=JS.SpaceGroupFinder.bsGroupOps[this.isg];t.and(B);r.and(B);r.andNot(t);r.or(B);r.clear(0);n.or(this.bsPoints0);this.checkBasis(r,n)||(System.out.println("failed checkBasis"),this.isg=0)}}catch(z){if(P(z,Exception))z.printStackTrace(),
b.clearAll();else throw z;}if(null==this.sg){System.out.println("checked "+d+" operations; now "+f+" groups="+b+" ops="+a);a=Array(b.cardinality());g=0;for(h=b.nextSetBit(0);0<=h;h=b.nextSetBit(h+1))(a[g++]=JS.SpaceGroupFinder.nameToGroup(JS.SpaceGroupFinder.groupNames[h])).sfIndex=h;java.util.Arrays.sort(a,(Fa("JS.SpaceGroupFinder$1")?0:JS.SpaceGroupFinder.$SpaceGroupFinder$1$(),oa(JS.SpaceGroupFinder$1,this,null)));for(h=a.length;0<=--h&&!this.checkUnitCell(a[h]);)System.out.println("SpaceGroupFinder unit cell check failed for "+
JS.SpaceGroupFinder.nameToGroup(JS.SpaceGroupFinder.groupNames[h])),f--,b.clear(a[h].sfIndex);System.out.println("SpaceGroupFinder found "+b.cardinality()+" possible groups");this.isg=b.length()-1;if(0>this.isg)return null;this.sg=JS.SpaceGroupFinder.nameToGroup(JS.SpaceGroupFinder.groupNames[this.isg])}return this.sg});e(c,"checkUnitCell",function(a){if(3>a.itaNo||16<=a.itaNo)return!0;null==this.zero&&(this.vectorBA=new JU.V3,this.vectorBC=new JU.V3,this.zero=new JU.P3);a=a.getClegId();a=a.substring(a.indexOf(":")+
1);var b=this.uc.staticConvertOperation("!"+a,null,null);a=JU.P3.new3(1,0,0);var f=JU.P3.new3(0,1,0),d=JU.P3.new3(0,0,1);b.rotTrans(a);b.rotTrans(f);b.rotTrans(d);this.uc.toCartesian(a,!0);this.uc.toCartesian(f,!0);this.uc.toCartesian(d,!0);b=JU.Measure.computeAngle(a,this.zero,f,this.vectorBA,this.vectorBC,!0);a=JU.Measure.computeAngle(a,this.zero,f,this.vectorBA,this.vectorBC,!0);return this.approx0(b-90)&&this.approx0(a-90)},"JS.SpaceGroup");c.nameToGroup=e(c,"nameToGroup",function(a){var b="0"!=
a.charAt(0)?0:"0"!=a.charAt(1)?1:2;return JS.SpaceGroup.nameToGroup.get(a.substring(b))},"~S");e(c,"setSpaceGroupAndUnitCell",function(a,b,f,d){var c=(new JS.Symmetry).setViewer(this.vwr);c.setSpaceGroupTo(a);null==f?(f=D(6,0),a.createCompatibleUnitCell(b,f,d)||(f=b),c.setUnitCellFromParams(f,!1,NaN)):c.getUnitCell(f,!1,"modelkit");return c},"JS.SpaceGroup,~A,~A,~B");e(c,"removeDuplicates",function(a){for(var b=a.nextSetBit(0);0<=b;b=a.nextSetBit(b+1))for(var f=this.atoms[b],d=a.nextSetBit(0);d<b;d=
a.nextSetBit(d+1)){var c=this.atoms[d];if(f.typeAndOcc==c.typeAndOcc&&1.96E-6>f.distanceSquared(c)){a.clear(b);break}}},"JU.BS");e(c,"dumpBasis",function(){},"JU.BS,JU.BS,JU.BS");e(c,"checkBasis",function(a,b){var f=a.cardinality();if(0==f)return!0;var d=new JU.BS;d.or(b);System.out.println("finishing check for basis for "+f+" operations");for(f=a.nextSetBit(0);0<=f;f=a.nextSetBit(f+1)){var c=JS.SpaceGroupFinder.getOp(f);d.or(b);for(var e=d.nextSetBit(0);0<=e;e=d.nextSetBit(e+1))if(0>this.findEquiv(-1,
c,e,d,!1))return!1}return!0},"JU.BS,JU.BS");e(c,"filterGroups",function(a,b){var f=!1,d=!1,c=!1,e=!1,g=!1,h=this.approx001(b[0]-b[1]),l=this.approx001(b[1]-b[2]);90==b[3]?90==b[4]&&(h&&b[0]!=b[1]&&System.out.println("OHOH - very close a,b distance"),c=h&&this.approx001(b[5]-120),90==b[5]&&(g=h&&b[1]==b[2],d=!g&&h,f=!g&&!d)):h&&(l&&this.approx001(b[3]-b[4])&&this.approx001(b[4]-b[5]))&&(e=!0);a.setBits(0,2);for(l=h=2;;){l=JS.SpaceGroupFinder.scanTo(l,"16");if(!f&&!d&&!c&&!e&&!g)break;l=JS.SpaceGroupFinder.scanTo(l,
"75");if(!d&&!c&&!e&&!g)break;l=JS.SpaceGroupFinder.scanTo(l,"143");if(!c&&!e&&!g)break;for(h=l;;l++){f=JS.SpaceGroupFinder.groupNames[l];if(0<=f.indexOf(":r")){if(!e)continue;a.set(l)}if(f.startsWith("195")){if(e)return;break}}if(!g)break;a.setBits(2,h);h=l;l=JS.SpaceGroupFinder.GROUP_COUNT;break}a.setBits(h,l)},"JU.BS,~A");e(c,"approx001",function(a){return 0.001>Math.abs(a)},"~N");c.scanTo=e(c,"scanTo",function(a,b){b="000"+b;for(b=b.substring(b.length-3);!JS.SpaceGroupFinder.groupNames[a].startsWith(b);a++);
return a},"~N,~S");e(c,"getGroupsWithOps",function(){var a=new JU.BS;null==this.unitCellParams?a.setBits(0,JS.SpaceGroupFinder.GROUP_COUNT):this.filterGroups(a,this.unitCellParams);var b=null;if(!JS.SpaceGroup.isXYZList(this.xyzList)){b=JS.SpaceGroup.determineSpaceGroupNA(this.xyzList,this.unitCellParams);if(null==b)return null;b.checkHallOperators();for(var f="00"+b.jmolId,d=f.indexOf(":"),f=f.substring((0>d?f.length:d)-3),d=0;d<JS.SpaceGroupFinder.GROUP_COUNT;d++)if(JS.SpaceGroupFinder.groupNames[d].equals(f)){if(!a.get(d))break;
if(null!=this.unitCellParams&&(this.uc.setUnitCellFromParams(this.unitCellParams,!1,this.slop),!this.checkUnitCell(b)))break;return b}return null}for(var b=!this.isQuery||this.isAssign,f=JU.PT.split(JU.PT.trim(this.xyzList.trim().$replace("&",";"),";="),";"),c=f.length;0<=--c;){var e=f[c];if(null==e)return"?"+f[c]+"?";e=JS.SymmetryOperation.getJmolCanonicalXYZ(e);for(d=JS.SpaceGroupFinder.opXYZ.length;0<=--d;){if(JS.SpaceGroupFinder.opXYZ[d].equals(e)){a.and(JS.SpaceGroupFinder.bsOpGroups[d]);break}0==
d&&a.clearAll()}}if(a.isEmpty())return this.isAssign?JS.SpaceGroup.createSpaceGroupN(this.xyzList,!0):null;if(b){b=f.length;for(d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))if(JS.SpaceGroupFinder.bsGroupOps[d].cardinality()==b)return this.sg=JS.SpaceGroupFinder.nameToGroup(JS.SpaceGroupFinder.groupNames[d]),this.uc.setUnitCellFromParams(this.unitCellParams,!1,this.slop),!this.checkUnitCell(this.sg)&&this.isAssign?JS.SpaceGroup.createSpaceGroupN(JS.SpaceGroupFinder.groupNames[d],!0):JS.SpaceGroup.getInfo(null,
JS.SpaceGroupFinder.groupNames[d],this.unitCellParams,!0,!1);return null}b=new JU.Lst;this.uc.setUnitCellFromParams(this.unitCellParams,!1,this.slop);for(d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1))f=JS.SpaceGroupFinder.nameToGroup(JS.SpaceGroupFinder.groupNames[d]),this.checkUnitCell(f)&&b.addLast(f.getClegId());return b});e(c,"toFractional",function(a,b){this.pTemp.setT(a);b.toFractional(this.pTemp,!1);return this.pTemp},"JM.Atom,J.api.SymmetryInterface");c.getOp=e(c,"getOp",function(a){var b=JS.SpaceGroupFinder.ops[a];
null==b&&(JS.SpaceGroupFinder.ops[a]=b=new JS.SymmetryOperation(null,a,!1),b.setMatrixFromXYZ(JS.SpaceGroupFinder.opXYZ[a],0,!1),b.doFinalize());return b},"~N");e(c,"checkSupercell",function(a,b,f,d,c){if(f.isEmpty())return b;for(var e=2147483647,g=-2147483648,h=O(101,0),l=f.cardinality(),j=f.nextSetBit(0);0<=j;j=f.nextSetBit(j+1))for(var n=this.atoms[j],q=n.typeAndOcc,p,m,r=f.nextSetBit(0);0<=r;r=f.nextSetBit(r+1))if(!(r==j||(p=this.atoms[r]).typeAndOcc!=q)){this.pTemp.sub2(p,n);switch(d){case 1:if(this.approx0(m=
this.pTemp.x)||!this.approx0(this.pTemp.y)||!this.approx0(this.pTemp.z))continue;break;case 2:if(this.approx0(m=this.pTemp.y)||!this.approx0(this.pTemp.x)||!this.approx0(this.pTemp.z))continue;break;default:case 3:if(this.approx0(m=this.pTemp.z)||!this.approx0(this.pTemp.x)||!this.approx0(this.pTemp.y))continue}var t=this.approxInt(1/m);0==t||(E(l/t)!=1*l/t||100<t)||(t>g&&(g=t),t<e&&(e=t),h[t]++)}for(t=g;t>=e&&!(0<h[t]&&h[t]==E((t-1)*l/t));)--t;if(t<e)return b;e=b.getUnitCellVectors();e[d].scale(1/
t);switch(d){case 1:c.x=t;break;case 2:c.y=t;break;case 3:c.z=t}(b=new JS.Symmetry).setViewer(a).getUnitCell(e,!1,"scaled");m=0;for(j=f.nextSetBit(0);0<=j;j=f.nextSetBit(j+1)){switch(d){case 1:m=this.approxInt(t*this.atoms[j].x);break;case 2:m=this.approxInt(t*this.atoms[j].y);break;case 3:m=this.approxInt(t*this.atoms[j].z)}0!=m&&(this.atoms[j]=null,f.clear(j))}f.cardinality();return b},"JV.Viewer,JS.Symmetry,JU.BS,~N,JU.P3");e(c,"approx0",function(a){return Math.abs(a)<this.slop},"~N");e(c,"approxInt",
function(a){var b=x(a+this.slop);return this.approx0(a-b)?b:0},"~N");e(c,"findEquiv",function(a,b,f,d,c){a=this.atoms[f];this.pTemp.setT(a);b.rotTrans(this.pTemp);this.uc.unitize(this.pTemp);if(0==this.pTemp.distanceSquared(a))return f;b=a.typeAndOcc;for(a=this.nAtoms;0<=--a;){var e=this.atoms[a];if(e.typeAndOcc==b){var g=e.distance(this.pTemp);if(1.96E-6>g*g||1.96E-6>(1-g)*(1-g)&&this.latticeShift(this.pTemp,e))return c&&(a=Math.max(f,a),f!=a&&d.clear(a)),a}}return-1},"~N,JS.SymmetryOperation,~N,JU.BS,~B");
e(c,"latticeShift",function(a,b){return this.approx0(Math.abs(a.x-b.x)-1)||this.approx0(Math.abs(a.y-b.y)-1)||this.approx0(Math.abs(a.z-b.z)-1)},"JU.P3,JU.P3");c.main=e(c,"main",function(){JS.SpaceGroupFinder.loadData(null)&&System.out.println("OK")},"~A");c.loadData=e(c,"loadData",function(a){try{JS.SpaceGroupFinder.groupNames=JS.SpaceGroupFinder.getList(a,null,"sggroups_ordered.txt");JS.SpaceGroupFinder.GROUP_COUNT=JS.SpaceGroupFinder.groupNames.length;JS.SpaceGroupFinder.opXYZ=JS.SpaceGroupFinder.getList(a,
null,"sgops_ordered.txt");JS.SpaceGroupFinder.OP_COUNT=JS.SpaceGroupFinder.opXYZ.length;var b=JS.SpaceGroupFinder.getList(a,Array(JS.SpaceGroupFinder.OP_COUNT),"sgmap.txt");JS.SpaceGroupFinder.bsGroupOps=Array(JS.SpaceGroupFinder.GROUP_COUNT);JS.SpaceGroupFinder.bsOpGroups=Array(JS.SpaceGroupFinder.OP_COUNT);for(a=0;a<JS.SpaceGroupFinder.GROUP_COUNT;a++)JS.SpaceGroupFinder.bsGroupOps[a]=JU.BS.newN(JS.SpaceGroupFinder.OP_COUNT);for(var f=0;f<JS.SpaceGroupFinder.OP_COUNT;f++){var d=b[f],c=d.length;
JS.SpaceGroupFinder.bsOpGroups[f]=JU.BS.newN(JS.SpaceGroupFinder.GROUP_COUNT);for(a=0;a<c;a++)"1"==d.charAt(a)&&(JS.SpaceGroupFinder.bsGroupOps[a].set(f),JS.SpaceGroupFinder.bsOpGroups[f].set(a))}JS.SpaceGroupFinder.ops=Array(JS.SpaceGroupFinder.OP_COUNT);return!0}catch(e){if(P(e,Exception))return e.printStackTrace(),!1;throw e;}finally{if(null!=JS.SpaceGroupFinder.rdr)try{JS.SpaceGroupFinder.rdr.close()}catch(g){if(!P(g,"java.io.IOException"))throw g;}}},"JV.Viewer");c.getList=e(c,"getList",function(a,
b,f){JS.SpaceGroupFinder.rdr=JV.FileManager.getBufferedReaderForResource(a,JS.SpaceGroupFinder,"JS/","sg/"+f);if(null==b){for(b=new JU.Lst;null!=(a=JS.SpaceGroupFinder.rdr.readLine());)0<a.length&&b.addLast(a);b.toArray(b=Array(b.size()))}else for(a=0;a<b.length;a++)b[a]=JS.SpaceGroupFinder.rdr.readLine();JS.SpaceGroupFinder.rdr.close();return b},"JV.Viewer,~A,~S");c.$SpaceGroupFinder$SGAtom$=function(){var a=C(function(){Ka(this,arguments);this.index=this.typeAndOcc=0;this.name=null;L(this,arguments)},
JS.SpaceGroupFinder,"SGAtom",JU.P3);V(a,function(b,a,d,c){Ea(this,JS.SpaceGroupFinder.SGAtom,[]);this.typeAndOcc=b+1E3*c;this.index=a;this.name=d},"~N,~N,~S,~N")};c.$SpaceGroupFinder$1$=function(){var a=nb(JS,"SpaceGroupFinder$1",null,java.util.Comparator);m(a,"compare",function(b,a){return b.itaNo!=a.itaNo?b.itaNo-a.itaNo:a.setNo-b.setNo},"JS.SpaceGroup,JS.SpaceGroup")};c.GROUP_COUNT=0;c.OP_COUNT=0;c.bsOpGroups=null;c.bsGroupOps=null;c.groupNames=null;c.opXYZ=null;c.ops=null;c.rdr=null});da("JS");
ja(["JU.M4"],"JS.HallInfo",["JU.P3i","$.SB","JS.SymmetryOperation","JU.Logger"],function(){var c=C(function(){this.primitiveHallSymbol=this.hallSymbol=null;this.latticeCode="\x00";this.latticeExtension=null;this.$isCentrosymmetric=!1;this.rotationTerms=null;this.nRotations=0;this.vectorCode=this.vector12ths=null;L(this,arguments)},JS,"HallInfo",null);ka(c,function(){this.rotationTerms=Array(16)});V(c,function(a){this.init(a)},"~S");e(c,"getRotationCount",function(){return this.nRotations});e(c,"isGenerated",
function(){return 0<this.nRotations});e(c,"getLatticeCode",function(){return this.latticeCode});e(c,"isCentrosymmetric",function(){return this.$isCentrosymmetric});e(c,"getHallSymbol",function(){return this.hallSymbol});e(c,"init",function(a){try{var b=this.hallSymbol=a.trim(),b=this.extractLatticeInfo(b);if(0!=JS.HallInfo.HallTranslation.getLatticeIndex(this.latticeCode)){this.latticeExtension=JS.HallInfo.HallTranslation.getLatticeExtension(this.latticeCode,this.$isCentrosymmetric);b=this.extractVectorInfo(b)+
this.latticeExtension;JU.Logger.debugging&&JU.Logger.debug("Hallinfo: "+a+" "+b);a=0;var f="\x00";for(this.primitiveHallSymbol="P";0<b.length&&16>this.nRotations;){var b=this.extractRotationInfo(b,a,f),d=this.rotationTerms[this.nRotations-1];a=d.order;f=d.axisType;this.primitiveHallSymbol+=" "+d.primitiveCode}this.primitiveHallSymbol+=this.vectorCode}}catch(c){if(P(c,Exception))JU.Logger.error("Invalid Hall symbol "+c),this.nRotations=0;else throw c;}},"~S");e(c,"dumpInfo",function(){var a=new JU.SB;
a.append("\nHall symbol: ").append(this.hallSymbol).append("\nprimitive Hall symbol: ").append(this.primitiveHallSymbol).append("\nlattice type: ").append(this.getLatticeDesignation());for(var b=0;b<this.nRotations;b++)a.append("\n\nrotation term ").appendI(b+1).append(this.rotationTerms[b].dumpInfo(this.vectorCode));return a.toString()});e(c,"getLatticeDesignation",function(){return JS.HallInfo.HallTranslation.getLatticeDesignation2(this.latticeCode,this.$isCentrosymmetric)});e(c,"extractLatticeInfo",
function(a){var b=a.indexOf(" ");if(0>b)return"";var f=a.substring(0,b).toUpperCase();this.latticeCode=f.charAt(0);"-"==this.latticeCode&&(this.$isCentrosymmetric=!0,this.latticeCode=f.charAt(1));return a.substring(b+1).trim()},"~S");e(c,"extractVectorInfo",function(a){this.vector12ths=new JU.P3i;this.vectorCode="";var b=a.indexOf("("),f=a.indexOf(")",b);0<b&&f>b&&(f=a.substring(b+1,f),this.vectorCode=" ("+f+")",a=a.substring(0,b).trim(),b=f.indexOf(" "),0<=b&&(this.vector12ths.x=Integer.parseInt(f.substring(0,
b)),f=f.substring(b+1).trim(),b=f.indexOf(" "),0<=b&&(this.vector12ths.y=Integer.parseInt(f.substring(0,b)),f=f.substring(b+1).trim())),this.vector12ths.z=Integer.parseInt(f));return a},"~S");e(c,"extractRotationInfo",function(a,b,f){var d=a.indexOf(" "),c;0<=d?(c=a.substring(0,d),a=a.substring(d+1).trim()):(c=a,a="");this.rotationTerms[this.nRotations]=new JS.HallInfo.HallRotationTerm(this,c,b,f);this.nRotations++;return a},"~S,~N,~S");m(c,"toString",function(){return this.hallSymbol});e(c,"generateAllOperators",
function(a){for(var b=new JU.M4,f=new JU.M4,d=Array(7),c=0;7>c;c++)d[c]=new JU.M4;for(var e=a.getMatrixOperationCount(),c=0;c<this.nRotations;c++){var g=this.rotationTerms[c];b.setM4(g.seitzMatrix12ths);g=g.order;d[0].setIdentity();for(var h=1;h<=g;h++){var l=d[h];l.mul2(b,d[0]);d[0].setM4(l);for(var j=0,n=0;n<e;n++)f.mul2(l,a.getMatrixOperation(n)),f.m03=(x(f.m03)+12)%12,f.m13=(x(f.m13)+12)%12,f.m23=(x(f.m23)+12)%12,a.addHallOperationCheckDuplicates(f)&&j++;e+=j}}},"JS.HallInfo.HallReceiver");c.getHallLatticeEquivalent=
e(c,"getHallLatticeEquivalent",function(a){var b=JS.HallInfo.HallTranslation.getLatticeCode(a);return(0<a?"-":"")+b+" 1"},"~N");c.getLatticeDesignation=e(c,"getLatticeDesignation",function(a){return JS.HallInfo.HallTranslation.getLatticeDesignation(a)},"~N");c.getLatticeIndex=e(c,"getLatticeIndex",function(a){return JS.HallInfo.HallTranslation.getLatticeIndex(a)},"~S");c.getLatticeIndexFromCode=e(c,"getLatticeIndexFromCode",function(a){return JS.HallInfo.getLatticeIndex(JS.HallInfo.HallTranslation.getLatticeCode(a))},
"~N");lb(JS.HallInfo,"HallReceiver");c=C(function(){this.seitzMatrixInv=this.seitzMatrix=this.rotCode=null;L(this,arguments)},JS.HallInfo,"HallRotation",null);ka(c,function(){this.seitzMatrix=new JU.M4;this.seitzMatrixInv=new JU.M4});V(c,function(a,b){this.rotCode=a;var f=D(16,0),d=D(16,0);f[15]=d[15]=1;for(var c=0,e=0;11>e;c++){var g=0;switch(b.charAt(c).charCodeAt(0)){case 32:e++;continue;case 43:case 49:g=1;break;case 45:g=-1}f[e]=g;d[e]=-g;e++}this.seitzMatrix.setA(f);this.seitzMatrixInv.setA(d)},
"~S,~S");c.lookup=e(c,"lookup",function(a){for(var b=JS.HallInfo.HallRotation.getHallTerms().length;0<=--b;)if(JS.HallInfo.HallRotation.hallRotationTerms[b].rotCode.equals(a))return JS.HallInfo.HallRotation.hallRotationTerms[b];return null},"~S");c.getHallTerms=e(c,"getHallTerms",function(){return null==JS.HallInfo.HallRotation.hallRotationTerms?JS.HallInfo.HallRotation.hallRotationTerms=Z(-1,[new JS.HallInfo.HallRotation("1_","+00 0+0 00+"),new JS.HallInfo.HallRotation("2x","+00 0-0 00-"),new JS.HallInfo.HallRotation("2y",
"-00 0+0 00-"),new JS.HallInfo.HallRotation("2z","-00 0-0 00+"),new JS.HallInfo.HallRotation("2'","0-0 -00 00-"),new JS.HallInfo.HallRotation('2"',"0+0 +00 00-"),new JS.HallInfo.HallRotation("2x'","-00 00- 0-0"),new JS.HallInfo.HallRotation('2x"',"-00 00+ 0+0"),new JS.HallInfo.HallRotation("2y'","00- 0-0 -00"),new JS.HallInfo.HallRotation('2y"',"00+ 0-0 +00"),new JS.HallInfo.HallRotation("2z'","0-0 -00 00-"),new JS.HallInfo.HallRotation('2z"',"0+0 +00 00-"),new JS.HallInfo.HallRotation("3x","+00 00- 0+-"),
new JS.HallInfo.HallRotation("3y","-0+ 0+0 -00"),new JS.HallInfo.HallRotation("3z","0-0 +-0 00+"),new JS.HallInfo.HallRotation("3*","00+ +00 0+0"),new JS.HallInfo.HallRotation("4x","+00 00- 0+0"),new JS.HallInfo.HallRotation("4y","00+ 0+0 -00"),new JS.HallInfo.HallRotation("4z","0-0 +00 00+"),new JS.HallInfo.HallRotation("6x","+00 0+- 0+0"),new JS.HallInfo.HallRotation("6y","00+ 0+0 -0+"),new JS.HallInfo.HallRotation("6z","+-0 +00 00+")]):JS.HallInfo.HallRotation.hallRotationTerms});c.hallRotationTerms=
null;c=C(function(){this.translationCode="\x00";this.rotationShift12ths=this.rotationOrder=0;this.vectorShift12ths=null;L(this,arguments)},JS.HallInfo,"HallTranslation",null);V(c,function(a,b){this.translationCode=a;if(null!=b){if(0<=b.z){this.vectorShift12ths=b;return}this.rotationOrder=b.x;this.rotationShift12ths=b.y}this.vectorShift12ths=new JU.P3i},"~S,JU.P3i");c.getLatticeIndex=e(c,"getLatticeIndex",function(a){for(var b=1,c=3;b<=JS.HallInfo.HallTranslation.nLatticeTypes;b++,c+=3)if(JS.HallInfo.HallTranslation.latticeTranslationData[c].charAt(0)==
a)return b;return 0},"~S");c.getLatticeCode=e(c,"getLatticeCode",function(a){0>a&&(a=-a);return 0==a?"\x00":a>JS.HallInfo.HallTranslation.nLatticeTypes?JS.HallInfo.HallTranslation.getLatticeCode(JS.HallInfo.HallTranslation.getLatticeIndex(String.fromCharCode(a))):JS.HallInfo.HallTranslation.latticeTranslationData[3*a].charAt(0)},"~N");c.getLatticeDesignation=e(c,"getLatticeDesignation",function(a){var b=0<a;0>a&&(a=-a);return 0==a||a>JS.HallInfo.HallTranslation.nLatticeTypes?"":(b?"-":"")+JS.HallInfo.HallTranslation.getLatticeCode(a)+
": "+(b?"centrosymmetric ":"")+JS.HallInfo.HallTranslation.latticeTranslationData[3*a+1]},"~N");c.getLatticeDesignation2=e(c,"getLatticeDesignation2",function(a,b){var c=JS.HallInfo.HallTranslation.getLatticeIndex(a);b||(c=-c);return JS.HallInfo.HallTranslation.getLatticeDesignation(c)},"~S,~B");c.getLatticeExtension=e(c,"getLatticeExtension",function(a,b){for(var c=1,d=3;c<=JS.HallInfo.HallTranslation.nLatticeTypes;c++,d+=3)if(JS.HallInfo.HallTranslation.latticeTranslationData[d].charAt(0)==a)return JS.HallInfo.HallTranslation.latticeTranslationData[d+
2]+(b?" -1":"");return""},"~S,~B");c.getHallTerms=e(c,"getHallTerms",function(){return null==JS.HallInfo.HallTranslation.hallTranslationTerms?JS.HallInfo.HallTranslation.hallTranslationTerms=Z(-1,[new JS.HallInfo.HallTranslation("a",JU.P3i.new3(6,0,0)),new JS.HallInfo.HallTranslation("b",JU.P3i.new3(0,6,0)),new JS.HallInfo.HallTranslation("c",JU.P3i.new3(0,0,6)),new JS.HallInfo.HallTranslation("n",JU.P3i.new3(6,6,6)),new JS.HallInfo.HallTranslation("u",JU.P3i.new3(3,0,0)),new JS.HallInfo.HallTranslation("v",
JU.P3i.new3(0,3,0)),new JS.HallInfo.HallTranslation("w",JU.P3i.new3(0,0,3)),new JS.HallInfo.HallTranslation("d",JU.P3i.new3(3,3,3)),new JS.HallInfo.HallTranslation("1",JU.P3i.new3(2,6,-1)),new JS.HallInfo.HallTranslation("1",JU.P3i.new3(3,4,-1)),new JS.HallInfo.HallTranslation("2",JU.P3i.new3(3,8,-1)),new JS.HallInfo.HallTranslation("1",JU.P3i.new3(4,3,-1)),new JS.HallInfo.HallTranslation("3",JU.P3i.new3(4,9,-1)),new JS.HallInfo.HallTranslation("1",JU.P3i.new3(6,2,-1)),new JS.HallInfo.HallTranslation("2",
JU.P3i.new3(6,4,-1)),new JS.HallInfo.HallTranslation("4",JU.P3i.new3(6,8,-1)),new JS.HallInfo.HallTranslation("5",JU.P3i.new3(6,10,-1)),new JS.HallInfo.HallTranslation("r",JU.P3i.new3(4,8,8)),new JS.HallInfo.HallTranslation("s",JU.P3i.new3(8,8,4)),new JS.HallInfo.HallTranslation("t",JU.P3i.new3(8,4,8))]):JS.HallInfo.HallTranslation.hallTranslationTerms});c.getHallTranslation=e(c,"getHallTranslation",function(a,b){for(var c=null,d=JS.HallInfo.HallTranslation.getHallTerms().length;0<=--d;){var e=JS.HallInfo.HallTranslation.hallTranslationTerms[d];
if(e.translationCode==a&&(0==e.rotationOrder||e.rotationOrder==b)){c=new JS.HallInfo.HallTranslation(a,null);c.translationCode=a;c.rotationShift12ths=e.rotationShift12ths;c.vectorShift12ths=e.vectorShift12ths;break}}return c},"~S,~N");c.latticeTranslationData=Z(-1,"\x00;unknown;;P;primitive;;I;body-centered; 1n;R;rhombohedral; 1r 1r;F;face-centered; 1ab 1bc 1ac;A;A-centered; 1bc;B;B-centered; 1ac;C;C-centered; 1ab;S;rhombohedral(S); 1s 1s;T;rhombohedral(T); 1t 1t".split(";"));c.nLatticeTypes=E(JS.HallInfo.HallTranslation.latticeTranslationData.length/
3)-1;c.hallTranslationTerms=null;c=C(function(){this.seitzMatrix12ths=this.primitiveCode=null;this.order=0;this.axisType="\x00";this.translation=this.rotation=this.translationString=this.lookupCode=this.inputCode=null;this.isImproper=!1;this.diagonalReferenceAxis="\x00";this.allPositive=!0;L(this,arguments)},JS.HallInfo,"HallRotationTerm",null);ka(c,function(){this.seitzMatrix12ths=new JU.M4});V(c,function(a,b,c,d){this.inputCode=b;b+="   ";"-"==b.charAt(0)&&(this.isImproper=!0,b=b.substring(1));
this.primitiveCode="";this.order=b.charAt(0).charCodeAt(0)-48;this.axisType=this.diagonalReferenceAxis="\x00";var e=2,k;switch((k=b.charAt(1)).charCodeAt(0)){case 120:case 121:case 122:switch(b.charAt(2).charCodeAt(0)){case 39:case 34:this.diagonalReferenceAxis=k,k=b.charAt(2),e++}case 42:this.axisType=k;break;case 39:case 34:this.axisType=k;switch(b.charAt(2).charCodeAt(0)){case 120:case 121:case 122:this.diagonalReferenceAxis=b.charAt(2);e++;break;default:this.diagonalReferenceAxis=d}break;default:this.axisType=
1==this.order?"_":0==a.nRotations?"z":2==a.nRotations?"*":2==c||4==c?"x":"'",b=b.substring(0,1)+this.axisType+b.substring(1)}this.primitiveCode+="_"==this.axisType?"1":b.substring(0,2);"\x00"!=this.diagonalReferenceAxis&&(b=b.substring(0,1)+this.diagonalReferenceAxis+this.axisType+b.substring(e),this.primitiveCode+=this.diagonalReferenceAxis,e=3);this.lookupCode=b.substring(0,e);this.rotation=JS.HallInfo.HallRotation.lookup(this.lookupCode);if(null==this.rotation)JU.Logger.error("Rotation lookup could not find "+
this.inputCode+" ? "+this.lookupCode);else{this.translation=new JS.HallInfo.HallTranslation("\x00",null);this.translationString="";for(c=b.length;e<c;e++)d=b.charAt(e),d=JS.HallInfo.HallTranslation.getHallTranslation(d,this.order),null!=d&&(this.translationString+=""+d.translationCode,this.translation.rotationShift12ths+=d.rotationShift12ths,this.translation.vectorShift12ths.add(d.vectorShift12ths));this.primitiveCode=(this.isImproper?"-":"")+this.primitiveCode+this.translationString;this.seitzMatrix12ths.setM4(this.isImproper?
this.rotation.seitzMatrixInv:this.rotation.seitzMatrix);this.seitzMatrix12ths.m03=this.translation.vectorShift12ths.x;this.seitzMatrix12ths.m13=this.translation.vectorShift12ths.y;this.seitzMatrix12ths.m23=this.translation.vectorShift12ths.z;switch(this.axisType.charCodeAt(0)){case 120:this.seitzMatrix12ths.m03+=this.translation.rotationShift12ths;break;case 121:this.seitzMatrix12ths.m13+=this.translation.rotationShift12ths;break;case 122:this.seitzMatrix12ths.m23+=this.translation.rotationShift12ths}0<
a.vectorCode.length&&(e=JU.M4.newM4(null),c=JU.M4.newM4(null),a=a.vector12ths,e.m03=a.x,e.m13=a.y,e.m23=a.z,c.m03=-a.x,c.m13=-a.y,c.m23=-a.z,this.seitzMatrix12ths.mul2(e,this.seitzMatrix12ths),this.seitzMatrix12ths.mul(c));JU.Logger.debugging&&JU.Logger.debug("code = "+b+"; primitive code ="+this.primitiveCode+"\n Seitz Matrix(12ths):"+this.seitzMatrix12ths)}},"JS.HallInfo,~S,~N,~S");e(c,"dumpInfo",function(a){var b=new JU.SB;b.append("\ninput code: ").append(this.inputCode).append("; primitive code: ").append(this.primitiveCode).append("\norder: ").appendI(this.order).append(this.isImproper?
" (improper axis)":"");"_"!=this.axisType&&(b.append("; axisType: ").appendC(this.axisType),"\x00"!=this.diagonalReferenceAxis&&b.appendC(this.diagonalReferenceAxis));0<this.translationString.length&&b.append("; translation: ").append(this.translationString);0<a.length&&b.append("; vector offset: ").append(a);null!=this.rotation&&b.append("\noperator: ").append(this.getXYZ(this.allPositive)).append("\nSeitz matrix:\n").append(JS.SymmetryOperation.dumpSeitz(this.seitzMatrix12ths,!1));return b.toString()},
"~S");e(c,"getXYZ",function(a){return JS.SymmetryOperation.getXYZFromMatrix(this.seitzMatrix12ths,!0,a,!0)},"~B")});da("JS");ja(["JU.M4","$.P3"],"JS.SymmetryOperation","java.util.Hashtable JU.Lst $.Matrix $.Measure $.P4 $.PT $.SB $.V3 JU.BoxInfo $.Logger $.Parser".split(" "),function(){var c=C(function(){this.xyz=this.xyzCanonical=this.xyzOriginal=null;this.doNormalize=!0;this.isFinalized=!1;this.opId=0;this.info=this.centering=null;this.opType=-1;this.opOrder=0;this.spinU=this.opIsCCW=this.opPlane=
this.opAxis=this.opPoint2=this.opPoint=this.opGlide=this.opTrans=null;this.opPerDim=0;this.isIrrelevant=!1;this.iCoincident=0;this.myLabels=null;this.modDim=0;this.rsvs=this.linearRotTrans=null;this.isBio=!1;this.sigma=null;this.number=0;this.subsystemCode=null;this.timeReversal=0;this.isCenteringOp=this.unCentered=!1;this.magOp=2147483647;this.divisor=12;this.opAxisCode=this.opX=null;this.opIsLong=!1;L(this,arguments)},JS,"SymmetryOperation",JU.M4);V(c,function(a,b,c){Ea(this,JS.SymmetryOperation,
[]);this.doNormalize=c;null==a?this.opId=b:(this.xyzOriginal=a.xyzOriginal,this.xyz=a.xyz,this.divisor=a.divisor,this.opId=a.opId,this.modDim=a.modDim,this.myLabels=a.myLabels,this.number=a.number,this.linearRotTrans=a.linearRotTrans,this.sigma=a.sigma,this.subsystemCode=a.subsystemCode,this.timeReversal=a.timeReversal,this.spinU=a.spinU,this.setMatrix(!1),a.isFinalized||this.doFinalize())},"JS.SymmetryOperation,~N,~B");e(c,"getOpDesc",function(){-1==this.opType&&this.setOpTypeAndOrder();switch(this.opType){case 0:return"I";
case 1:return"Trans";case 2:return"Rot"+this.opOrder;case 4:return"Inv";case 8:return"Plane";case 3:return"Screw"+this.opOrder;case 6:return"Nbar"+this.opOrder;case 9:return"Glide"}return null});e(c,"getOpName",function(a){-1==this.opType&&this.setOpTypeAndOrder();switch(this.opType){case 0:return"I";case 1:return"Trans"+JS.SymmetryOperation.op48(this.opTrans);case 2:return"Rot"+this.opOrder+JS.SymmetryOperation.op48(this.opPoint)+JS.SymmetryOperation.op48(this.opAxis)+this.opIsCCW;case 4:return"Inv"+
JS.SymmetryOperation.op48(this.opPoint);case 8:return(0==a?"":"Plane")+this.opRound(this.opPlane);case 3:return 0==a?"S"+JS.SymmetryOperation.op48(this.opPoint)+JS.SymmetryOperation.op48(this.opAxis):"Screw"+this.opOrder+JS.SymmetryOperation.op48(this.opPoint)+JS.SymmetryOperation.op48(this.opAxis)+JS.SymmetryOperation.op48(this.opTrans)+this.opIsCCW;case 6:return"Nbar"+this.opOrder+JS.SymmetryOperation.op48(this.opPoint)+JS.SymmetryOperation.op48(this.opAxis)+this.opIsCCW;case 9:return(0==a?"":"Glide")+
this.opRound(this.opPlane)+(2==a?JS.SymmetryOperation.op48(this.opTrans):"")}System.out.println("SymmetryOperation REJECTED TYPE FOR "+this);return""},"~N");e(c,"opRound",function(a){return Math.round(1E3*a.x)+","+Math.round(1E3*a.y)+","+Math.round(1E3*a.z)+","+Math.round(1E3*a.w)},"JU.P4");e(c,"getOpTitle",function(){-1==this.opType&&this.setOpTypeAndOrder();switch(this.opType){case 0:return"identity ";case 1:return"translation "+JS.SymmetryOperation.opFrac(this.opTrans);case 2:return"rotation "+
this.opOrder;case 4:return"inversion center "+JS.SymmetryOperation.opFrac(this.opPoint);case 8:return"reflection ";case 3:return"screw rotation "+this.opOrder+(null==this.opIsCCW?"":this.opIsCCW===Boolean.TRUE?"(+) ":"(-) ")+JS.SymmetryOperation.opFrac(this.opTrans);case 6:return this.opOrder+"-bar "+(null==this.opIsCCW?"":this.opIsCCW===Boolean.TRUE?"(+) ":"(-) ")+JS.SymmetryOperation.opFrac(this.opPoint);case 9:return"glide reflection "+JS.SymmetryOperation.opFrac(this.opTrans)}return""});c.opFrac=
e(c,"opFrac",function(a){return"{"+JS.SymmetryOperation.opF(a.x)+" "+JS.SymmetryOperation.opF(a.y)+" "+JS.SymmetryOperation.opF(a.z)+"}"},"JU.T3");c.opF=e(c,"opF",function(a){if(0==a)return"0";var b=0>a;b&&(a=-a);var c=0;1<=a&&(c=x(a),a-=c);var d=Math.round(48*a);if(0!=JU.PT.approx(d/48-a,1E3))return""+JU.PT.approx(a,1E3);a=0==d%48?1:0==d%24?2:0==d%16?3:0==d%12?4:0==d%8?6:0==d%6?8:0==d%4?12:0==d%3?16:0==d%2?24:48;return(b?"-":"")+(c*a+E(d*a/48))+(1==a?"":"/"+a)},"~N");c.op48=e(c,"op48",function(a){return null==
a?(System.err.println("SymmetryOperation.op48 null"),"(null)"):"{"+Math.round(48*a.x)+" "+Math.round(48*a.y)+" "+Math.round(48*a.z)+"}"},"JU.T3");e(c,"setSigma",function(a,b){this.subsystemCode=a;this.sigma=b},"~S,JU.Matrix");e(c,"setGamma",function(a){for(var b=3+this.modDim,c=(this.rsvs=new JU.Matrix(null,b+1,b+1)).getArray(),d=La(b,0),e=0,k=0;k<b;k++){for(var g=0;g<b;g++)c[k][g]=this.linearRotTrans[e++];d[k]=(a?-1:1)*this.linearRotTrans[e++]}c[b][b]=1;a&&(this.rsvs=this.rsvs.inverse());for(k=0;k<
b;k++)c[k][b]=d[k];c=this.rsvs.getSubmatrix(0,0,3,3).getArray();for(k=0;3>k;k++)for(g=0;4>g;g++)this.setElement(k,g,3>g?c[k][g]:d[k]);this.setElement(3,3,1)},"~B");e(c,"doFinalize",function(){JS.SymmetryOperation.div12(this,this.divisor);if(0<this.modDim)for(var a=this.rsvs.getArray(),b=a.length-1;0<=--b;)a[b][3+this.modDim]=JS.SymmetryOperation.finalizeD(a[b][3+this.modDim],this.divisor);this.isFinalized=!0});c.div12=e(c,"div12",function(a,b){a.m03=JS.SymmetryOperation.finalizeF(a.m03,b);a.m13=JS.SymmetryOperation.finalizeF(a.m13,
b);a.m23=JS.SymmetryOperation.finalizeF(a.m23,b);return a},"JU.M4,~N");c.finalizeF=e(c,"finalizeF",function(a,b){if(0==b){if(0==a)return 0;var c=x(a);return 1*(c>>8)/(c&255)}return a/b},"~N,~N");c.finalizeD=e(c,"finalizeD",function(a,b){if(0==b){if(0==a)return 0;var c=E(a);return 1*(c>>8)/(c&255)}return a/b},"~N,~N");e(c,"getXyz",function(a){return a&&0==this.modDim||null==this.xyzOriginal?this.xyz:this.xyzOriginal},"~B");e(c,"getxyzTrans",function(a){var b=JU.M4.newM4(this);b.add(a);return JS.SymmetryOperation.getXYZFromMatrix(b,
!1,!1,!1)},"JU.T3");e(c,"dumpInfo",function(){return"\n"+this.xyz+"\ninternal matrix representation:\n"+this.toString()});c.dumpSeitz=e(c,"dumpSeitz",function(a,b){for(var c=new JU.SB,d=D(4,0),e=0;3>e;e++){a.getRow(e,d);c.append("[\t");for(var k=0;3>k;k++)c.appendI(x(d[k])).append("\t");k=d[3];0==k?c.append("0"):(k*=k==x(k)?4:48,c.append(JS.SymmetryOperation.twelfthsOf(b?JS.SymmetryOperation.normalizeTwelfths(k/48,48,!0):x(k))));c.append("\t]\n")}return c.toString()},"JU.M4,~B");e(c,"setMatrixFromXYZ",
function(a,b,c){if(null==a)return!1;this.xyzOriginal=a;this.divisor=JS.SymmetryOperation.setDivisor(a);a=a.toLowerCase();this.setModDim(b);var d=!1,e=!0;a.startsWith("!")&&(a.startsWith("!nohalf!")?(e=!1,this.xyzOriginal=a=a.substring(8)):(d=!1,a=a.substring(1)));if(0==a.indexOf("xyz matrix:"))return this.xyz=a,JU.Parser.parseStringInfestedFloatArray(a,null,this.linearRotTrans),this.setFromMatrix(null,d);if(0==a.indexOf("[[")){a=a.$replace("["," ").$replace("]"," ").$replace(","," ");JU.Parser.parseStringInfestedFloatArray(a,
null,this.linearRotTrans);for(b=this.linearRotTrans.length;0<=--b;)if(Float.isNaN(this.linearRotTrans[b]))return!1;this.setMatrix(d);this.isFinalized=!0;this.xyz=(this.isBio=0<=a.indexOf("bio"))?this.xyzOriginal=xa(this,JS.SymmetryOperation,"toString",[]):JS.SymmetryOperation.getXYZFromMatrix(this,!1,!1,!1);return!0}if(0==b&&0<=a.indexOf("x4"))for(b=14;4<=--b;)if(0<=a.indexOf("x"+b)){this.setModDim(b-3);break}var k=b=null;a.endsWith("m")?(this.timeReversal=0<=a.indexOf("-m")?-1:1,c=!0):0<=a.indexOf("mz)")?
(c=a.indexOf("("),b=a.substring(c+1,a.length-1),a=a.substring(0,c),c=!1):0<=a.indexOf("u")&&(c=a.indexOf("("),k=a.substring(c+1,a.length-1),a=a.substring(0,c),c=D(16,0),JS.SymmetryOperation.getRotTransArrayAndXYZ(null,k,c,!0,!1,!1,!0,"uvw"),this.spinU=JU.M4.newA16(c),this.timeReversal=x(this.spinU.determinant3()),c=!1);e=JS.SymmetryOperation.getRotTransArrayAndXYZ(this,a,this.linearRotTrans,c,e,!0,!1,null);if(null==e)return!1;this.xyzCanonical=e;null!=b&&(c=1==JU.M4.newA16(this.linearRotTrans).determinant3(),
this.timeReversal=0>a.indexOf("-x")==0>b.indexOf("-mx")==c?1:-1);this.setMatrix(d);this.xyz=d?JS.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1):this.doNormalize?e:a;null==this.spinU&&0!=this.timeReversal&&(this.xyz+=1==this.timeReversal?",m":",-m");JU.Logger.debugging&&(JU.Logger.debug(""+this),null!=this.spinU&&JU.Logger.debug(""+this.spinU.toString().$replace("\n"," ")));return!0},"~S,~N,~B");c.setDivisor=e(c,"setDivisor",function(a){for(var b=a.indexOf("/"),c=a.length;0<b&&b<c-1;){var d=a.charAt(b+
1);if(0>"2346".indexOf(d)||b<c-2&&Character.isDigit(a.charAt(b+2)))return 0;b=a.indexOf("/",b+1)}return 12},"~S");e(c,"setModDim",function(a){this.modDim=a;0<a&&(this.myLabels=JS.SymmetryOperation.labelsXn);this.linearRotTrans=D((a+4)*(a+4),0)},"~N");e(c,"setMatrix",function(a){16<this.linearRotTrans.length?this.setGamma(a):(this.setA(this.linearRotTrans),a&&(a=JU.P3.new3(this.m03,this.m13,this.m23),this.invert(),this.rotate(a),a.scale(-1),this.setTranslation(a)))},"~B");e(c,"setFromMatrix",function(a,
b){var c=0,d=0;this.myLabels=0==this.modDim?JS.SymmetryOperation.labelsXYZ:JS.SymmetryOperation.labelsXn;for(var e=0,k=3+this.modDim,g=0;e<k;g++){if(Float.isNaN(this.linearRotTrans[g]))return!1;c=this.linearRotTrans[g];1E-5>Math.abs(c)&&(c=0);if(0==(g+1)%(k+1)){var h=0==this.divisor?x(c)&255:this.divisor;0==h&&(h=12);c=JS.SymmetryOperation.finalizeF(c,this.divisor);null!=a&&d<a.length&&(c+=a[d++]);c=JS.SymmetryOperation.normalizeTwelfths((0>c?-1:1)*Math.abs(c*h)/h,h,this.doNormalize);0==this.divisor&&
(c=JS.SymmetryOperation.toDivisor(c,h));e++}this.linearRotTrans[g]=c}this.linearRotTrans[this.linearRotTrans.length-1]=this.divisor;this.setMatrix(b);this.isFinalized=null==a;this.xyz=JS.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1);return!0},"~A,~B");c.getMatrixFromXYZ=e(c,"getMatrixFromXYZ",function(a,b,c){return JS.SymmetryOperation.getMatrixFromXYZScaled(a,b,c)},"~S,~A,~B");c.getMatrixFromXYZScaled=e(c,"getMatrixFromXYZScaled",function(a,b,c){null==b&&(b=D(16,0));a=JS.SymmetryOperation.getRotTransArrayAndXYZ(null,
a,b,!1,c,!0,!1,null);if(null==a)return null;c=new JU.M4;c.setA(b);return JS.SymmetryOperation.div12(c,JS.SymmetryOperation.setDivisor(a))},"~S,~A,~B");c.getJmolCanonicalXYZ=e(c,"getJmolCanonicalXYZ",function(a){try{return JS.SymmetryOperation.getRotTransArrayAndXYZ(null,a,null,!1,!0,!0,!1,null)}catch(b){if(P(b,Exception))return null;throw b;}},"~S");c.getRotTransArrayAndXYZ=e(c,"getRotTransArrayAndXYZ",function(a,b,c,d,e,k,g,h){var l=!1,j=!1,n=!1;b=JU.PT.rep(b,"[bio[","");g=null==a?0:a.modDim;var q=
4+g,p=null==a?JS.SymmetryOperation.setDivisor(b):a.divisor,m=e&&(null==a?!b.startsWith("!"):a.doNormalize),r=0<g?3:0;if(null!=c){for(var t=c.length-1,s=t;0<=--s;)c[s]=0;c[t]=1}t=b.indexOf(";")+1;0!=t&&(d=!0,t==b.length&&(b+="0,0,0"));var v=-1;a=JS.SymmetryOperation.getLabels(h,null==a||0==g?null:a.myLabels);b=b.toLowerCase()+",";b=b.$replace("(",",");0<g&&(b=JS.SymmetryOperation.replaceXn(b,g+3));for(var D=h=0,w=0,B,z=0,G=0,A=0,I=1,E="",Q=k?"":null,C=O(1,0),X=b.length,s=0;s<X;s++){switch((B=b.charAt(s)).charCodeAt(0)){case 59:break;
case 39:case 32:case 123:case 125:case 33:continue;case 45:n=!0;continue;case 43:n=!1;continue;case 47:G=0;l=!0;continue;case 120:case 121:case 122:case 117:case 118:case 119:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:D=w*q;l="x"<=B?B.charCodeAt(0)-120:"u"<=B?B.charCodeAt(0)-117:B.charCodeAt(0)-97+r;h=D+l;n=n?-1:1;if(d&&0!=z){null!=c&&(c[h]=z);if(z!=x(z)){null!=Q&&(E+=JS.SymmetryOperation.plusMinus(E,z,a[l],!1,!1));z=0;break}n=x(z);z=0}else null!=c&&(c[h]=n);null!=Q&&(E+=
JS.SymmetryOperation.plusMinus(E,n,a[l],!1,!1));break;case 44:if(0!=t){if(0<t){v=s;s=t-1;t=-s;G=z=0;continue}t=s+1;s=v}z=JS.SymmetryOperation.normalizeTwelfths(z,0==G?12:0==p?G:p,m);null!=c&&(c[D+q-1]=0==p&&0<G?z=JS.SymmetryOperation.toDivisor(A,G):z);null!=Q&&(E+=JS.SymmetryOperation.xyzFraction12(z,0==p?G:p,!1,e),Q+=(""===Q?"":",")+E);if(w==q-2)return k?Q:"ok";G=A=z=0;E="";D+=4;if(2<w++&&0==g)return JU.Logger.warn("Symmetry Operation? "+b),null;break;case 46:j=!0;I=1;continue;case 48:if(!j&&12==
p&&(l||!d))continue;default:var M=B.charCodeAt(0)-48;if(0<=M&&9>=M){if(j){I/=10;0>z&&(n=!0);z+=I*M*(n?-1:1);continue}else if(n&&"0"==B)continue;if(l){C[0]=s;G=JU.PT.parseIntNext(b,C);if(0>G)return null;s=C[0]-1;0==z?null!=c&&(c[h]/=G):(A=x(z),z/=G)}else z=10*z+(n?-1:1)*M}else JU.Logger.warn("symmetry character?"+B)}j=l=n=!1}return null},"JS.SymmetryOperation,~S,~A,~B,~B,~B,~B,~S");c.replaceXn=e(c,"replaceXn",function(a,b){for(var c=b;0<=--c;)a=JU.PT.rep(a,JS.SymmetryOperation.labelsXn[c],JS.SymmetryOperation.labelsXnSub[c]);
return a},"~S,~N");c.toDivisor=e(c,"toDivisor",function(a,b){var c=x(a);c!=a&&(c=a-c,b=x(Math.abs(b/c)),c=x(Math.abs(a)/c));return(c<<8)+b},"~N,~N");c.xyzFraction12=e(c,"xyzFraction12",function(a,b,c,d){if(0==a)return"";12!=b&&(a=x(a),b=a&255,a>>=8);var e=E(b/2);if(c)for(;0>a;)a+=b;else if(d){for(;a>e;)a-=b;for(;a<-e;)a+=b}b=12==b?JS.SymmetryOperation.twelfthsOf(a):0==a?"0":a+"/"+b;return"0"==b.charAt(0)?"":0<a?"+"+b:b},"~N,~N,~B,~B");c.twelfthsOf=e(c,"twelfthsOf",function(a){var b="";0>a&&(a=-a,
b="-");var c=12,d=Math.round(a);if(0.01<Math.abs(d-a)){a/=12;for(c=3;20>c;c++){var e=a*c,d=Math.round(e);if(0.01>Math.abs(d-e))break}if(20==c)return b+a}else{if(12==d)return b+"1";if(12>d)return b+JS.SymmetryOperation.twelfths[d%12];switch(d%12){case 0:return b+E(d/12);case 2:case 10:c=6;break;case 3:case 9:c=4;break;case 4:case 8:c=3;break;case 6:c=2}d=E(d*c/12)}return b+d+"/"+c},"~N");c.plusMinus=e(c,"plusMinus",function(a,b,c,d,e){var k=Math.abs(b);return(1E-4>k?"":(0>b?"-":0==a.length?"":"+")+
(0.9999<k&&1.0001>=k?"":0.001>=k%1&&!d?""+x(k):e?""+k:JS.SymmetryOperation.twelfthsOf(12*k)))+c},"~S,~N,~S,~B,~B");c.normalizeTwelfths=e(c,"normalizeTwelfths",function(a,b,c){a*=b;var d=E(b/2);if(c){for(;a>d;)a-=b;for(;a<=-d;)a+=b}return a},"~N,~N,~B");c.getXYZFromMatrix=e(c,"getXYZFromMatrix",function(a,b,c,d){return JS.SymmetryOperation.getXYZFromMatrixFrac(a,b,c,d,!1,!1,null)},"JU.M4,~B,~B,~B");c.getXYZFromMatrixFrac=e(c,"getXYZFromMatrixFrac",function(a,b,c,d,e,k,g){var h="",l=$(a,"JS.SymmetryOperation")?
a:null;if(null!=l&&0<l.modDim)return JS.SymmetryOperation.getXYZFromRsVs(l.rsvs.getRotation(),l.rsvs.getTranslation(),b);var l=D(4,0),j=x(a.getElement(3,3));1==j?j=12:a.setElement(3,3,1);g=JS.SymmetryOperation.getLabels(g,JS.SymmetryOperation.labelsXYZ);for(var n=0;3>n;n++){var q=3>n?0:3;a.getRow(n,l);for(var p="",m=0;3>m;m++){var r=l[m];0!=JS.SymmetryOperation.approx(r)&&(p+=JS.SymmetryOperation.plusMinus(p,r,g[m+q],e,k))}if(0!=(b?l[3]:JS.SymmetryOperation.approx(l[3])))q=JS.SymmetryOperation.xyzFraction12(b?
l[3]:l[3]*j,j,c,d),""===p&&(q="+"==q.charAt(0)?q.substring(1):q),p+=q;h+=","+(""===p?"0":p)}return h.substring(1)},"JU.M4,~B,~B,~B,~B,~B,~S");c.getLabels=e(c,"getLabels",function(a,b){if(null!=a)switch(a){case "uvw":return JS.SymmetryOperation.labelsUVW;case "mxyz":return JS.SymmetryOperation.labelsMXYZ}return null==b?JS.SymmetryOperation.labelsXYZ:b},"~S,~A");e(c,"rotateAxes",function(a,b,c,d){var e=Array(3);this.getRotationScale(d);for(var k=a.length;0<=--k;)c.setT(a[k]),b.toFractional(c,!0),d.rotate(c),
b.toCartesian(c,!0),e[k]=JU.V3.newV(c);return e},"~A,JS.UnitCell,JU.P3,JU.M3");c.fcoord=e(c,"fcoord",function(a,b){return JS.SymmetryOperation.opF(a.x)+b+JS.SymmetryOperation.opF(a.y)+b+JS.SymmetryOperation.opF(a.z)},"JU.T3,~S");c.approx=e(c,"approx",function(a){return JU.PT.approx(a,100)},"~N");c.approx6=e(c,"approx6",function(a){return JU.PT.approx(a,1E6)},"~N");c.getXYZFromRsVs=e(c,"getXYZFromRsVs",function(a,b,c){a=a.getArray();b=b.getArray();for(var d=a.length,e="",k=0;k<d;k++){for(var e=e+",",
g=0;g<d;g++){var h=a[k][g];0!=h&&(e+=(0>h?"-":e.endsWith(",")?"":"+")+(1==Math.abs(h)?"":""+Math.abs(h))+"x"+(g+1))}e+=JS.SymmetryOperation.xyzFraction12(E(b[k][0]*(c?1:12)),12,!1,!0)}return JU.PT.rep(e.substring(1),",+",",")},"JU.Matrix,JU.Matrix,~B");e(c,"getMagneticOp",function(){return 2147483647==this.magOp?this.magOp=x(null!=this.spinU?1:this.determinant3()*this.timeReversal):this.magOp});e(c,"setTimeReversal",function(a){this.timeReversal=a;0<=this.xyz.indexOf("m")&&(this.xyz=this.xyz.substring(0,
this.xyz.indexOf("m")));0!=a&&(this.xyz+=1==a?",m":",-m")},"~N");e(c,"getCentering",function(){this.isFinalized||this.doFinalize();null==this.centering&&!this.unCentered&&(0==this.modDim&&1==this.m00&&1==this.m11&&1==this.m22&&0==this.m01&&0==this.m02&&0==this.m10&&0==this.m12&&0==this.m20&&0==this.m21&&(0!=this.m03||0!=this.m13||0!=this.m23)?(this.isCenteringOp=!0,this.centering=JU.V3.new3(this.m03,this.m13,this.m23)):(this.unCentered=!0,this.centering=null));return this.centering});e(c,"fixMagneticXYZ",
function(a,b){if(null!=this.spinU)return b+JS.SymmetryOperation.getSpinString(this.spinU,!0);if(0==this.timeReversal)return b;var c=b.indexOf("m"),c=c-E((3-this.timeReversal)/2);b=0>c?b:b.substring(0,c);c=JU.M4.newM4(a);c.m03=c.m13=c.m23=0;0>this.getMagneticOp()&&c.scale(-1);return b+JS.SymmetryOperation.getSpinString(c,!1)},"JU.M4,~S");c.getSpinString=e(c,"getSpinString",function(a,b){return"("+JS.SymmetryOperation.getXYZFromMatrixFrac(a,!1,!1,!1,b,b,b?"uvw":"mxyz")+")"},"JU.M4,~B");e(c,"getInfo",
function(){null==this.info&&(this.info=new java.util.Hashtable,this.info.put("xyz",this.xyz),null!=this.centering&&this.info.put("centering",this.centering),this.info.put("index",Integer.$valueOf(this.number-1)),this.info.put("isCenteringOp",Boolean.$valueOf(this.isCenteringOp)),null!=this.linearRotTrans&&this.info.put("linearRotTrans",this.linearRotTrans),this.info.put("modulationDimension",Integer.$valueOf(this.modDim)),this.info.put("matrix",JU.M4.newM4(this)),3.4028235E38!=this.magOp&&this.info.put("magOp",
Float.$valueOf(this.magOp)),this.info.put("id",Integer.$valueOf(this.opId)),0!=this.timeReversal&&this.info.put("timeReversal",Integer.$valueOf(this.timeReversal)),null!=this.spinU&&this.info.put("spinU",this.spinU),null!=this.xyzOriginal&&this.info.put("xyzOriginal",this.xyzOriginal));return this.info});c.normalizeOperationToCentroid=e(c,"normalizeOperationToCentroid",function(a,b,c,d,e){if(!(0>=e)){var k=0,g=0,h=0;null==JS.SymmetryOperation.atomTest&&(JS.SymmetryOperation.atomTest=new JU.P3);for(var l=
d+e;d<l;d++)b.rotTrans2(c[d],JS.SymmetryOperation.atomTest),k+=JS.SymmetryOperation.atomTest.x,g+=JS.SymmetryOperation.atomTest.y,h+=JS.SymmetryOperation.atomTest.z;k/=e;g/=e;for(h/=e;-0.001>k||1.001<=k;)b.m03+=0>k?1:-1,k+=0>k?1:-1;if(1<a)for(;-0.001>g||1.001<=g;)b.m13+=0>g?1:-1,g+=0>g?1:-1;if(2<a)for(;-0.001>h||1.001<=h;)b.m23+=0>h?1:-1,h+=0>h?1:-1}},"~N,JU.M4,~A,~N,~N");c.getLatticeCentering=e(c,"getLatticeCentering",function(a){for(var b=new JU.Lst,c=0;c<a.length;c++){var d=null==a[c]?null:a[c].getCentering();
null!=d&&b.addLast(JU.P3.newP(d))}return b},"~A");e(c,"getOpIsCCW",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opIsCCW});e(c,"getOpType",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opType});e(c,"getOpOrder",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opOrder});e(c,"getOpPoint",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opPoint});e(c,"getOpAxis",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opAxis});
e(c,"getOpPoint2",function(){return this.opPoint2});e(c,"getOpTrans",function(){-1==this.opType&&this.setOpTypeAndOrder();return null==this.opTrans?this.opTrans=new JU.V3:this.opTrans});c.opGet3code=e(c,"opGet3code",function(a){for(var b=0,c=D(4,0),d=0;3>d;d++){a.getRow(d,c);for(var e=0;3>e;e++)switch(x(c[e])){case 1:b|=e+1<<(2-d<<3);break;case -1:b|=16+e+1<<(2-d<<3)}}return b},"JU.M4");c.opGet3x=e(c,"opGet3x",function(a){if(0!=a.m22)return JS.SymmetryOperation.x;a=JS.SymmetryOperation.opGet3code(a);
for(var b=0;8>b;b++)if(a==JS.SymmetryOperation.C3codes[b])return null==JS.SymmetryOperation.xneg&&(JS.SymmetryOperation.xneg=JU.V3.newV(JS.SymmetryOperation.x),JS.SymmetryOperation.xneg.scale(-1)),JS.SymmetryOperation.xneg;return JS.SymmetryOperation.x},"JU.M4");e(c,"setOpTypeAndOrder",function(){this.clearOp();var a=Math.round(this.determinant3()),b=Math.round(this.m00+this.m11+this.m22),c=0,d=0,e=JS.SymmetryOperation.x;switch(b){case 3:JS.SymmetryOperation.hasTrans(this)?(this.opType=1,this.opTrans=
new JU.V3,this.getTranslation(this.opTrans),this.opOrder=2):(this.opType=0,this.opOrder=1);return;case -3:this.opType=4;c=2;break;default:c=b*a+3,5==c&&(c=6),0<a?(this.opType=2,d=E(180*Math.acos((b-1)/2)/3.141592653589793),120==d&&(null==this.opX&&(this.opX=JS.SymmetryOperation.opGet3x(this)),e=this.opX)):2==c?this.opType=8:(this.opType=6,3==c&&(c=6),d=E(180*Math.acos((-b-1)/2)/3.141592653589793),120==d&&(null==this.opX&&(this.opX=JS.SymmetryOperation.opGet3x(this)),e=this.opX))}this.opOrder=c;var k=
new JU.M4,a=new JU.P3,b=JU.P3.newP(e);k.setM4(this);for(var g=new JU.P3,h=JU.P3.newP(b),l=new JU.P3,j=JU.P3.newP(b),n=new JU.P3,q=1;q<c;q++)k.mul(this),this.rotTrans(a),this.rotTrans(b),1==q&&n.setT(b),g.add(a),h.add(b),6==this.opType&&(0==q%2?j.add(b):l.add(b));this.opTrans=new JU.V3;k.getTranslation(this.opTrans);this.opTrans.scale(1/c);q=JS.SymmetryOperation.approx6(this.opTrans.length());this.opPoint=new JU.P3;var p=null,k=!0;switch(this.opType){case 4:h.add2(b,e);h.scale(0.5);this.opPoint=JU.P3.newP(JS.SymmetryOperation.opClean6(h));
k=JS.SymmetryOperation.checkOpPoint(this.opPoint);break;case 6:l.scale(2/c);j.scale(2/c);p=JU.V3.newVsub(l,j);p.normalize();this.opAxis=JS.SymmetryOperation.opClean6(p);g.add2(l,j);h.scale(1/c);this.opPoint.setT(JS.SymmetryOperation.opClean6(h));k=JS.SymmetryOperation.checkOpPoint(this.opPoint);180!=d&&(b.cross(e,b),this.opIsCCW=Boolean.$valueOf(0>b.dot(p)));break;case 2:p=JU.V3.newVsub(h,g);p.normalize();this.opAxis=JS.SymmetryOperation.opClean6(p);g.scale(1/c);a.setT(g);0<q&&g.sub(this.opTrans);
this.opPoint.setT(g);JS.SymmetryOperation.opClean6(this.opPoint);180!=d&&(b.cross(e,b),this.opIsCCW=Boolean.$valueOf(0>b.dot(p)));if(k=(new Boolean(k&JS.SymmetryOperation.checkOpAxis(a,0==q?this.opAxis:this.opTrans,g,new JU.V3,new JU.V3,null))).valueOf())this.opPoint.setT(g),JS.SymmetryOperation.checkOpAxis(this.opPoint,this.opAxis,b,new JU.V3,new JU.V3,this.opPoint)&&(this.opPoint2=JU.P3.newP(b)),0<q&&(g.scaleAdd2(0.5,this.opTrans,this.opPoint),k=JS.SymmetryOperation.checkOpPoint(g),null!=this.opPoint2&&
(g.scaleAdd2(0.5,this.opTrans,this.opPoint2),JS.SymmetryOperation.checkOpPoint(g)||(this.opPoint2=null)),0>p.dot(a)&&(k=!1));break;case 8:a.sub(this.opTrans),a.scale(0.5),this.opPoint.setT(a),n.sub(this.opTrans),this.opAxis=JU.V3.newVsub(n,e),b.scaleAdd2(0.5,this.opAxis,e),this.opAxis.normalize(),this.opPlane=new JU.P4,a.set(e.x+1.1,e.y+1.7,e.z+2.1),a.scale(0.5),this.rotTrans(a),a.sub(this.opTrans),a.scaleAdd2(0.5,e,a),a.scale(0.5),p=new JU.V3,k=JS.SymmetryOperation.checkOpPlane(this.opPoint,a,b,
this.opPlane,p,new JU.V3),JS.SymmetryOperation.opClean6(this.opPlane),0==JS.SymmetryOperation.approx6(this.opPlane.w)&&(this.opPlane.w=0),JS.SymmetryOperation.approx6Pt(this.opAxis),JS.SymmetryOperation.normalizePlane(this.opPlane)}if(0<q){JS.SymmetryOperation.opClean6(this.opTrans);c=1;if(8==this.opType){if(0==this.opTrans.z&&1.25==this.opTrans.lengthSquared()||0.5==this.opTrans.z&&1.5==this.opTrans.lengthSquared()?(c=1.25,this.opIsLong=!0):c=0.78,this.opGlide=JU.V3.newV(this.opTrans),this.fixNegTrans(this.opGlide),
0==this.opGlide.length()&&(this.opGlide=null),(1==this.opTrans.x||1==this.opTrans.y||1==this.opTrans.z)&&-1==this.m22)k=!1}else 0==this.opTrans.z&&1.25==this.opTrans.lengthSquared()&&(c=1.25,this.opIsLong=!0);this.opType|=1;if(Math.abs(JS.SymmetryOperation.approx(this.opTrans.x))>=c||Math.abs(JS.SymmetryOperation.approx(this.opTrans.y))>=c||Math.abs(JS.SymmetryOperation.approx(this.opTrans.z))>=c)k=!1}else this.opTrans=null;k||(this.isIrrelevant=!0)});e(c,"fixNegTrans",function(a){a.x=JS.SymmetryOperation.normHalf(a.x);
a.y=JS.SymmetryOperation.normHalf(a.y);a.z=JS.SymmetryOperation.normHalf(a.z)},"JU.V3");c.normalizePlane=e(c,"normalizePlane",function(a){JS.SymmetryOperation.approx6Pt(a);a.w=JS.SymmetryOperation.approx6(a.w);(0<a.w||0==a.w&&(0>a.x||0==a.x&&0>a.y||0==a.y&&0>a.z))&&a.scale4(-1);JS.SymmetryOperation.opClean6(a);a.w=JS.SymmetryOperation.approx6(a.w)},"JU.P4");c.isCoaxial=e(c,"isCoaxial",function(a){return 1==Math.abs(JS.SymmetryOperation.approx(a.x))||1==Math.abs(JS.SymmetryOperation.approx(a.y))||
1==Math.abs(JS.SymmetryOperation.approx(a.z))},"JU.T3");e(c,"clearOp",function(){this.isFinalized||this.doFinalize();this.isIrrelevant=!1;this.opIsCCW=this.opPlane=this.opPoint=this.opPoint2=this.opTrans=null;this.opIsLong=!1});c.hasTrans=e(c,"hasTrans",function(a){return 0!=JS.SymmetryOperation.approx6(a.m03)||0!=JS.SymmetryOperation.approx6(a.m13)||0!=JS.SymmetryOperation.approx6(a.m23)},"JU.M4");c.checkOpAxis=e(c,"checkOpAxis",function(a,b,c,d,e,k){null==JS.SymmetryOperation.opPlanes&&(JS.SymmetryOperation.opPlanes=
JU.BoxInfo.getBoxFacesFromOABC(null));for(var g=JU.BoxInfo.faceOrder,h=null==k?1:-1,l=0;6>l;l++){var j=JU.Measure.getIntersection(a,b,JS.SymmetryOperation.opPlanes[g[l]],c,d,e);if(null!=j&&JS.SymmetryOperation.checkOpPoint(j)&&0>b.dot(d)*h&&(null==k||0<=JS.SymmetryOperation.approx(k.distance(j)-0.5)))return!0}return!1},"JU.P3,JU.V3,JU.P3,JU.V3,JU.V3,JU.P3");c.opClean6=e(c,"opClean6",function(a){0==JS.SymmetryOperation.approx6(a.x)&&(a.x=0);0==JS.SymmetryOperation.approx6(a.y)&&(a.y=0);0==JS.SymmetryOperation.approx6(a.z)&&
(a.z=0);return a},"JU.T3");c.checkOpPoint=e(c,"checkOpPoint",function(a){return JS.SymmetryOperation.checkOK(a.x,0)&&JS.SymmetryOperation.checkOK(a.y,0)&&JS.SymmetryOperation.checkOK(a.z,0)},"JU.T3");c.checkOK=e(c,"checkOK",function(a,b){return 0!=b||0<=JS.SymmetryOperation.approx(a)&&1>=JS.SymmetryOperation.approx(a)},"~N,~N");c.checkOpPlane=e(c,"checkOpPlane",function(a,b,c,d,e,k){JU.Measure.getPlaneThroughPoints(a,b,c,e,k,d);b=JU.BoxInfo.unitCubePoints;k=c=0;for(var g=8;0<=--g;){var h=JU.Measure.getPlaneProjection(b[g],
d,a,e);switch(x(Math.signum(JS.SymmetryOperation.approx6(h)))){case 1:if(0<k)return!0;c++;break;case -1:if(0<c)return!0;k++}}return!(8==k||8==c)},"JU.P3,JU.P3,JU.P3,JU.P4,JU.V3,JU.V3");c.getAdditionalOperations=e(c,"getAdditionalOperations",function(a,b){for(var c=a.length,d=new JU.Lst,e=new JU.SB,k=new java.util.Hashtable,g=new JU.V3,h=0;h<c;h++){var l=a[h];l.opPerDim=b;d.addLast(l);var j=l.getOpName(1);e.append(j).appendC(";");0!=(l.getOpType()&8)?JS.SymmetryOperation.addCoincidentMap(k,l,8,g):
3==l.getOpType()&&JS.SymmetryOperation.addCoincidentMap(k,l,3,null)}for(h=1;h<c;h++)a[h].addOps(e,d,k,c,h,g);return d.toArray(Array(d.size()))},"~A,~N");e(c,"addOps",function(a,b,c,d,e,k){var g=new JU.V3;this.getTranslation(g);var h=8==(this.getOpType()&8),l=3==this.getOpType(),j=new JU.V3,n=null,q=5,p=-2,m=5,r=-2,t=5,s=-2;switch(this.opPerDim){case 51:case 34:t=1;s=0;break;case 18:case 19:m=1;r=0;t=1;s=0;break;case 67:q=1;p=0;m=1;r=0;break;case 35:q=1,p=0,t=1,s=0}for(;--q>=p;)for(var v=m;--v>=r;)for(var x=
t;--x>=s;)null==n&&(n=new JS.SymmetryOperation(null,0,!1)),j.set(q,v,x),!this.checkOpSimilar(j,k)&&n.opCheckAdd(this,g,d,j,a,b,e+1)&&(h?JS.SymmetryOperation.addCoincidentMap(c,n,8,k):l&&JS.SymmetryOperation.addCoincidentMap(c,n,3,null),n=null)},"JU.SB,JU.Lst,java.util.Map,~N,~N,JU.V3");c.addCoincidentMap=e(c,"addCoincidentMap",function(a,b,c,d){if(!b.isIrrelevant){var e=b.getOpName(0),k=a.get(e);b.iCoincident=0;c=3==c;if(null==k)a.put(e,k=new JU.Lst);else if(c){if(6==b.opOrder)for(a=k.size();0<=--a;)if(d=
k.get(a),!d.isIrrelevant)switch(d.opOrder){case 3:d.isIrrelevant=!0}b.iCoincident=1}else{e=null;for(a=k.size();0<=--a;)if(e=k.get(a),null!=b.opGlide&&null!=e.opGlide){d.sub2(b.opGlide,e.opGlide);if(1E-6>d.lengthSquared()){b.isIrrelevant=!0;return}d.add2(b.opGlide,e.opGlide);if(1E-6>d.lengthSquared()){b.isIrrelevant=!0;return}d.add2(b.opAxis,e.opAxis);if(1E-6>d.lengthSquared()){b.isIrrelevant=!0;return}}else if(null==b.opGlide&&null==e.opGlide){d.add2(b.opAxis,e.opAxis);if(1E-6>d.lengthSquared()){b.isIrrelevant=
!0;return}d.sub2(b.opAxis,e.opAxis);if(1E-6>d.lengthSquared()){b.isIrrelevant=!0;return}}0==e.iCoincident?(b.iCoincident=1,e.iCoincident=-1):b.iCoincident=-e.iCoincident}k.addLast(b)}},"java.util.Map,JS.SymmetryOperation,~N,JU.V3");e(c,"checkOpSimilar",function(a,b){switch(this.getOpType()&-2){default:return!1;case 0:return!0;case 2:return 0==JS.SymmetryOperation.approx6(a.dot(this.opAxis)-a.length());case 8:return b.cross(a,this.opAxis),0==JS.SymmetryOperation.approx6(b.length())?!1:0==JS.SymmetryOperation.approx6(a.dot(this.opAxis))}},
"JU.V3,JU.V3");e(c,"opCheckAdd",function(a,b,c,d,e,k){this.setM4(a);c=JU.V3.newV(d);c.add(b);this.setTranslation(c);this.isFinalized=!0;this.setOpTypeAndOrder();if(this.isIrrelevant||0==this.opType||1==this.opType)return!1;b=this.getOpName(1)+";";if(0==(this.opType&8)&&0<=e.indexOf(b))return!1;e.append(b);this.spinU=a.spinU;this.timeReversal=a.timeReversal;k.addLast(this);this.isFinalized=!0;this.xyz=JS.SymmetryOperation.getXYZFromMatrix(this,!1,!1,!1);return!0},"JS.SymmetryOperation,JU.V3,~N,JU.V3,JU.SB,JU.Lst,~N");
c.approx6Pt=e(c,"approx6Pt",function(a){null!=a&&(a.x=JS.SymmetryOperation.approx6(a.x),a.y=JS.SymmetryOperation.approx6(a.y),a.z=JS.SymmetryOperation.approx6(a.z))},"JU.T3");c.normalize12ths=e(c,"normalize12ths",function(a){a.x=JU.PT.approx(a.x,12);a.y=JU.PT.approx(a.y,12);a.z=JU.PT.approx(a.z,12)},"JU.V3");e(c,"getCode",function(){if(null!=this.opAxisCode)return this.opAxisCode;var a=this.getOpName(2).charAt(0),b=this.opOrder,c=null==this.opIsCCW?0:this.opIsCCW===Boolean.TRUE?1:2;switch(a.charCodeAt(0)){case 71:a=
JS.SymmetryOperation.getGlideFromTrans(this.opTrans,this.opPlane);case 80:JS.SymmetryOperation.isCoaxial(this.opAxis)||(a="P"==a?"p":String.fromCharCode(a.charCodeAt(0)-32));break;case 83:var d=this.opTrans.length();if(null!=this.opIsCCW&&d<(1<d?6:0.5)==(this.opIsCCW===Boolean.TRUE))a="w";break;case 82:JS.SymmetryOperation.isCoaxial(this.opAxis)||(a="o"),0==this.opPoint.length()&&(a="o"==a?"q":"Q")}return this.opAxisCode=""+a+"."+String.fromCharCode(48+b)+"."+c+"."});c.getGlideFromTrans=e(c,"getGlideFromTrans",
function(a,b){var c=Math.abs(JS.SymmetryOperation.approx(12*a.x)),d=Math.abs(JS.SymmetryOperation.approx(12*a.y)),e=Math.abs(JS.SymmetryOperation.approx(12*a.z));9==c&&(c=3);9==d&&(d=3);9==e&&(e=3);var k=3;0==c&&k--;0==d&&k--;0==e&&k--;e=x(c+d+e);switch(k){default:case 1:return 0!=c?"a":0!=d?"b":"c";case 2:switch(e){case 6:return"d";case 12:if(c=JU.P3.newP(b),c.normalize(),1==Math.abs(JS.SymmetryOperation.approx(c.x+c.y+c.z)))return"n"}break;case 3:switch(e){case 9:return"d";case 18:return"n"}}return"g"},
"JU.T3,JU.T3");c.rotateAndTranslatePoint=e(c,"rotateAndTranslatePoint",function(a,b,c,d,e,k){a.rotTrans2(b,k);k.add3(c,d,e)},"JU.M4,JU.P3,~N,~N,~N,JU.P3");c.transformStr=e(c,"transformStr",function(a,b,c,d,e,k,g,h,l){null==c&&(c=JU.M4.newM4(b),c.invert());null==d&&(d=new JU.M4);null==e&&(e=D(16,0));a=JS.SymmetryOperation.getMatrixFromXYZ(a,e,!0);null!=k&&a.add(k);d.setM4(c);d.mul(a);null!=b&&d.mul(b);null!=g&&a.add(g);if(h){d.getColumn(3,e);for(b=0;3>b;b++)e[b]=(10+e[b])%1;d.setColumnA(3,e)}return JS.SymmetryOperation.getXYZFromMatrixFrac(d,
!1,!0,!1,l,!1,null)},"~S,JU.M4,JU.M4,JU.M4,~A,JU.T3,JU.T3,~B,~B");c.stringToMatrix=e(c,"stringToMatrix",function(a,b){var c=JS.SymmetryOperation.setDivisor(a),d=D(16,0);JS.SymmetryOperation.getRotTransArrayAndXYZ(null,a,d,!0,!1,!1,!1,b);return JS.SymmetryOperation.div12(JU.M4.newA16(d),c)},"~S,~S");c.getTransformABC=e(c,"getTransformABC",function(a,b){if(null==a)return"a,b,c";var c=JU.M4.newM4(a),d=new JU.V3;c.getTranslation(d);d.scale(-1);c.add(d);c.transpose();c=JS.SymmetryOperation.getXYZFromMatrixFrac(c,
!1,!0,!1,!0,!1,null).$replace("x","a").$replace("y","b").$replace("z","c");if(1E-12>d.lengthSquared())return c;d.scale(-1);return c+";"+(b?JS.SymmetryOperation.norm3(d):JS.SymmetryOperation.opF(d.x)+","+JS.SymmetryOperation.opF(d.y)+","+JS.SymmetryOperation.opF(d.z))},"~O,~B");c.norm3=e(c,"norm3",function(a){return JS.SymmetryOperation.norm(a.x)+","+JS.SymmetryOperation.norm(a.y)+","+JS.SymmetryOperation.norm(a.z)},"JU.T3");c.norm=e(c,"norm",function(a){return JS.SymmetryOperation.opF(JS.SymmetryOperation.normHalf(a))},
"~N");c.normHalf=e(c,"normHalf",function(a){for(;-0.5>=a;)a+=1;for(;0.5<a;)a-=1;return a},"~N");c.toPoint=e(c,"toPoint",function(a,b){null==b&&(b=new JU.P3);var c=JU.PT.split(a,",");b.set(JU.PT.parseFloatFraction(c[0]),JU.PT.parseFloatFraction(c[1]),JU.PT.parseFloatFraction(c[2]));return b},"~S,JU.P3");c.matrixToRationalString=e(c,"matrixToRationalString",function(a){for(var b="(",c=0;3>c;c++)for(var b=b+"\n",d=0;4>d;d++){0<d&&(b+="\t");3==d&&(b+="|  ");var e=a.getElement(c,d);if(e==x(e))b+=0>e?" "+
x(e):"  "+x(e);else{var k=Math.round(48*e);0!=JS.SymmetryOperation.approx6(48*e-k)?b+=e:(k=JS.SymmetryOperation.opF(e),b+=0<e?" "+k:k)}}return b+"\n)"},"JU.M4");e(c,"toString",function(){return null==this.rsvs?xa(this,JS.SymmetryOperation,"toString",[]):xa(this,JS.SymmetryOperation,"toString",[])+" "+this.rsvs.toString()});e(c,"rotateSpin",function(a){null==this.spinU?this.rotate(a):this.spinU.rotate(a)},"JU.V3");c.staticConvertOperation=e(c,"staticConvertOperation",function(a,b,c){var d=null==b;
d&&(b=JS.SymmetryOperation.stringToMatrix(a,c));return"rxyz".equals(c)?JS.SymmetryOperation.matrixToRationalString(b):d?b:JS.SymmetryOperation.getXYZFromMatrixFrac(b,!1,!1,!1,!0,!1,c)},"~S,JU.M4,~S");c.atomTest=null;c.twelfths=Z(-1,"0 1/12 1/6 1/4 1/3 5/12 1/2 7/12 2/3 3/4 5/6 11/12".split(" "));c.labelsXYZ=Z(-1,["x","y","z"]);c.labelsUVW=Z(-1,["u","v","w"]);c.labelsMXYZ=Z(-1,["mx","my","mz"]);c.labelsXn=Z(-1,"x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13".split(" "));c.labelsXnSub=Z(-1,"xyzabcdefghij".split(""));
c.x=JU.P3.new3(3.141592653589793,2.718281828459045,8.539734222673566);c.C3codes=O(-1,[200978,1184513,1245458,135953,1245442,131857,200962,1180417]);c.xneg=null;c.opPlanes=null});da("JS");ja(null,"JS.SymmetryInfo",["JU.PT","JS.SpaceGroup","$.SymmetryOperation","JU.SimpleUnitCell"],function(){var c=C(function(){this.isCurrentCell=!0;this.displayName=null;this.isMultiCell=this.coordinatesAreFractional=!1;this.cellRange=this.infoStr=this.additionalOperations=this.symmetryOperations=this.sgTitle=this.sgName=
null;this.latticeType="P";this.intlTableJmolId=this.intlTableNo=null;this.spaceGroupIndex=0;this.itaNo=this.sgDerived=this.intlTableTransform=this.intlTableIndexNdotM=this.strSUPERCELL=this.spaceGroupF2CParams=this.spaceGroupF2C=this.spaceGroupF2CTitle=null;L(this,arguments)},JS,"SymmetryInfo",null);e(c,"setSymmetryInfoFromModelkit",function(a){this.cellRange=null;this.sgName=a.getName();this.intlTableJmolId=a.jmolId;this.intlTableNo=a.itaNumber;this.latticeType=a.latticeType;this.symmetryOperations=
a.finalOperations;this.coordinatesAreFractional=!0;this.setInfo(a.getOperationCount())},"JS.SpaceGroup");e(c,"setSymmetryInfoFromFile",function(a,b){this.spaceGroupIndex=a.remove("spaceGroupIndex").intValue();this.cellRange=a.remove("ML_unitCellRange");this.sgName=a.get("spaceGroup");this.spaceGroupF2C=a.remove("f2c");this.spaceGroupF2CTitle=a.remove("f2cTitle");this.spaceGroupF2CParams=a.remove("f2cParams");this.sgTitle=a.remove("spaceGroupTitle");this.strSUPERCELL=a.remove("supercell");if(null==
this.sgName||""===this.sgName)this.sgName="spacegroup unspecified";this.intlTableNo=a.get("intlTableNo");this.intlTableIndexNdotM=a.get("intlTableIndex");this.intlTableTransform=a.get("intlTableTransform");this.intlTableJmolId=a.remove("intlTableJmolId");var c=a.get("latticeType");this.latticeType=null==c?"P":c.charAt(0);this.symmetryOperations=a.remove("symOpsTemp");this.isMultiCell=(this.coordinatesAreFractional=a.containsKey("coordinatesAreFractional")?a.get("coordinatesAreFractional").booleanValue():
!1)&&null!=this.symmetryOperations;null==b&&(b=a.get("unitCellParams"));b=JU.SimpleUnitCell.isValid(b)?b:null;null==b&&(this.coordinatesAreFractional=!1,this.cellRange=this.symmetryOperations=null,this.infoStr="",a.remove("unitCellParams"));c=a.containsKey("symmetryCount")?a.get("symmetryCount").intValue():0;this.setInfo(c);return b},"java.util.Map,~A");e(c,"setInfo",function(a){var b="Spacegroup: "+this.sgName;if(null!=this.symmetryOperations){for(var c="",d="\nNumber of symmetry operations: "+(0==
a?1:a)+"\nSymmetry Operations:",e=0;e<a;e++){var k=this.symmetryOperations[e],d=d+("\n"+k.fixMagneticXYZ(k,k.xyz));k.isCenteringOp&&(c+=" ("+JU.PT.rep(JU.PT.replaceAllCharacters(k.xyz,"xyz","0"),"0+","")+")")}0<c.length&&(b+="\nCentering: "+c);b=b+d+"\n"}this.infoStr=b},"~N");e(c,"getAdditionalOperations",function(){null==this.additionalOperations&&null!=this.symmetryOperations&&(this.additionalOperations=JS.SymmetryOperation.getAdditionalOperations(this.symmetryOperations,115));return this.additionalOperations});
e(c,"getDerivedSpaceGroup",function(){null==this.sgDerived&&(this.sgDerived=JS.SpaceGroup.getSpaceGroupFromIndex(this.spaceGroupIndex));return this.sgDerived});e(c,"setIsCurrentCell",function(a){return this.isCurrentCell!=a&&!0==(this.isCurrentCell=a)},"~B");e(c,"getSpaceGroupTitle",function(){return this.isCurrentCell&&null!=this.spaceGroupF2CTitle?this.spaceGroupF2CTitle:this.sgName.startsWith("cell=")?this.sgName:this.sgTitle});e(c,"getDisplayName",function(a){if(null==this.displayName){var b=
a.isPolymer(),c=a.isSlab();a=b?"polymer":c?"slab":this.getSpaceGroupTitle();if(null==a)return null;a.startsWith("cell=!")&&(a="cell=inverse["+a.substring(6)+"]");a=JU.PT.rep(a,";0,0,0","");if(0>a.indexOf("#")){var d=this.intlTableTransform,e=this.intlTableIndexNdotM;!c&&(!b&&null!=e)&&(null!=d&&(b=a.indexOf(d),0<=b&&(a=JU.PT.rep(a,"("+d+")","")),0>e.indexOf(d)&&(b=e.indexOf("."),0<b&&(e=e.substring(0,b)),e+=":"+d)),a=(a.startsWith("0")?"":a.equals("unspecified!")?"#":a+" #")+e)}0<=a.indexOf("-- [--]")&&
(a="");this.displayName=a}return this.displayName},"JS.Symmetry");e(c,"getClegId",function(){if(null==this.itaNo){this.itaNo=this.intlTableIndexNdotM;if(null==this.itaNo||0<this.itaNo.indexOf(":"))return this.itaNo;var a=this.itaNo.indexOf(".");this.itaNo=(0<a?this.itaNo.substring(0,a):this.itaNo)+":"+this.intlTableTransform}return this.itaNo})});da("JS");ja(["JU.P3","$.V3"],"JS.SymmetryDesc","java.util.Hashtable JU.A4 $.BS $.Lst $.M3 $.M4 $.Measure $.P4 $.PT $.Quat $.SB JS.T JS.SpaceGroup $.Symmetry $.SymmetryOperation JU.Escape $.Logger".split(" "),
function(){var c=C(function(){this.drawID=this.modelSet=null;L(this,arguments)},JS,"SymmetryDesc",null);e(c,"set",function(a){this.modelSet=a;return this},"JM.ModelSet");e(c,"getSymopInfoForPoints",function(a,b,c,d,e,k,g,h,l,j,n,q){d=q.get(22)||q.get(3)&&3==q.cardinality();q.clear(22);var p=d?"":null;k=this.getSpaceGroupInfo(a,b,null,c,e,k,g,l,j,!1,!0,n,null,q);if(null==k)return p;a=k.get("operations");if(null==a)return p;b=d?new JU.SB:null;c--;e=!d&&0>c;k=k.get("symmetryInfo");j="label".equals(h);
for(l=h=0;l<a.length;l++)if(!(null==a[l]||0<=c&&c!=l))if(d){if(null!=g)return a[l][3]+"\nprint "+JU.PT.esc(k);0<b.length()&&b.appendC("\n");j||(0>c&&b.appendI(l+1).appendC("\t"),b.append(a[l][0]).appendC("\t"));b.append(a[l][2])}else{if(!e)return a[l];a[h++]=a[l]}if(!d){c=Array(h);for(l=0;l<h;l++)c[l]=a[l];return c}return 0==b.length()?null!=g?'draw ID "'+g+'*" delete':p:b.toString()},"J.api.SymmetryInterface,~N,~N,JU.P3,JU.P3,JU.P3,~S,~S,~N,~N,~N,JU.BS");e(c,"getDrawID",function(a){return this.drawID+
a+'" '},"~S");e(c,"getSymopInfo",function(a,b,c,d,e,k,g,h,l,j,n,q){0==h&&(h=JS.SymmetryDesc.getType(g));var p=1153433601==h?new JU.BS:"",m=0<=a?this.modelSet.at[a].mi:this.modelSet.vwr.am.cmi;if(0>m)return p;var r=this.modelSet.am[m].biosymmetry;if(null==r&&null==(r=this.modelSet.getUnitCell(m)))r=(new JS.Symmetry).setUnitCellFromParams(null,!1,NaN);if(135176!=h||2147483647!=c&&null==q)return this.getSymmetryInfo(m,a,r,b,c,d,e,k,g,h,l,j,n,!1);if(null==r)return p;h="";c=null==b&&(0>j&&null==q)&&-2==
j?r.getAdditionalOperations():r.getSymmetryOperations();if(null!=c)if(null==g&&(g="sg"),p=c.length,null!=e&&null==k||null!=q){null==q&&(q=r.getInvariantSymops(e,null));for(var p=q.length,t=0;t<p;t++)0<j&&j!=t+1||(c=q[t],h+=this.getSymmetryInfo(m,a,r,b,c,d,e,k,g+c,135176,l,j,n,null==e))}else for(c=1;c<=p;c++)h+=this.getSymmetryInfo(m,a,r,b,c,d,e,k,g+c,135176,l,j,n,!0);return h},"~N,~S,~N,JU.P3,JU.P3,JU.P3,~S,~N,~N,~N,~N,~A");e(c,"getSpaceGroupInfo",function(a,b,c,d,e,k,g,h,l,j,n,q,p,m){null==m&&(m=
new JU.BS,m.setBits(0,JS.SymmetryDesc.keys.length),m.clear(19));var r=a.getDimensionality(),t=1==m.cardinality()&&m.get(10),s=null,v=!t&&null==e&&null==g&&0>=l&&m.cardinality()>=JS.SymmetryDesc.keys.length,x=!1,w=null,B=null!=c&&0<c.length,z=B&&0<=c.indexOf("[--]");if(n||!B){var G=v&&0==d;if(t)p=a;else{0>b&&(b=$(e,"JM.Atom")?e.mi:this.modelSet.vwr.am.cmi);if(0>b)w="no single current model";else if(null==p&&!(x=null!=(p=this.modelSet.am[b].biosymmetry))&&null==(p=this.modelSet.getUnitCell(b)))w="not applicable";
null!=w?(s=new java.util.Hashtable,s.put("spaceGroupInfo",""),s.put("spaceGroupNote",w),s.put("symmetryInfo","")):v&&(s=this.modelSet.getInfo(b,"spaceGroupInfo"));if(null!=s)return s;c=p.getSpaceGroupName()}var s=new java.util.Hashtable,w=p.getSymmetryOperations(),A=x?p.spaceGroup:null,v=z?"":null,I=0;if(null!=w){t||(x?a.setSpaceGroupTo(JS.SpaceGroup.getNull(!1,!1,!1)):a.setSpaceGroup(!1));for(var D=Array(w.length),E="",C=null==g||null==e||null==k&&0>l?0:1,X=0;C<w.length&&X!=l;C++){var M=w[C],F=M.xyzOriginal,
U=M.spinU,O=M.timeReversal,L;if(t)L=C;else{L=!(0==C&&0<=M.xyz.indexOf("x4"))&&null!=a.getSpaceGroupOperation(C)?C:x?a.addBioMoleculeOperation(A.finalOperations[C],!1):a.addSpaceGroupOperation("="+M.xyz,C+1);if(0>L)continue;M=a.getSpaceGroupOperation(C);if(null==M)continue;M.xyzOriginal=F;M.spinU=U;M.timeReversal=O}null!=v&&(v+=";"+M.xyz);M=0<d&&d-1!=L?null:this.createInfoArray(M,p,e,k,g,h,q,!1,m,!1,!1,r);if(null!=M&&(X++,!(0<l&&X!=l)&&(D[C]=M,t||(E+="\n"+(C+1)+(null!=g&&1==X?"*":"")+"\t"+M[m.get(19)?
19:0]+"\t  "+M[2]),I++,0<d)))break}s.put("operations",D);t||s.put("symmetryInfo",0==E.length?"":E.substring(1))}if(t)return s;w=0==I?"\n no symmetry operations":0>=l&&0>=d?"\n"+I+" symmetry operation"+(1==I?":\n":"s:\n"):"";null!=v&&(c=v.substring(v.indexOf(";")+1));G&&this.modelSet.setInfo(b,"spaceGroupInfo",s)}else s=new java.util.Hashtable;s.put("spaceGroupName",c);s.put("spaceGroupNote",null==w?"":w);if(x)a=c;else if(B&&!z&&a.setSpaceGroupName(c),a=a.getSpaceGroupInfoObj(c,null==p?null:p.getUnitCellParams(),
j,!n),null==a||a.equals("?"))a="?",s.put("spaceGroupNote","could not identify space group from name: "+c+'\nformat: show spacegroup "2" or "P 2c" or "C m m m" or "x, y, z;-x ,-y, -z"\n');s.put("spaceGroupInfo",a);return s},"J.api.SymmetryInterface,~N,~S,~N,JU.P3,JU.P3,~S,~N,~N,~B,~B,~N,J.api.SymmetryInterface,JU.BS");e(c,"getTransform",function(a,b,c,d,e){JS.SymmetryDesc.pta02.setT(d);JS.SymmetryDesc.vtrans.setT(JS.SymmetryDesc.pta02);a.unitize(JS.SymmetryDesc.pta02);d=3.4028235E38;for(var k=-1,g=
0,h=b.length;g<h;g++){var l=b[g];JS.SymmetryDesc.pta01.setT(c);l.rotTrans(JS.SymmetryDesc.pta01);JS.SymmetryDesc.ptemp.setT(JS.SymmetryDesc.pta01);a.unitize(JS.SymmetryDesc.pta01);var j=JS.SymmetryDesc.pta01.distanceSquared(JS.SymmetryDesc.pta02);if(1.96E-6>j){JS.SymmetryDesc.vtrans.sub(JS.SymmetryDesc.ptemp);JS.SymmetryOperation.normalize12ths(JS.SymmetryDesc.vtrans);l=JU.M4.newM4(l);l.add(JS.SymmetryDesc.vtrans);JS.SymmetryDesc.pta01.setT(c);l.rotTrans(JS.SymmetryDesc.pta01);a.unitize(JS.SymmetryDesc.pta01);
j=JS.SymmetryDesc.pta01.distanceSquared(JS.SymmetryDesc.pta02);if(1.96E-6<=j)continue;return l}j<d&&(d=j,k=g)}e&&(l=b[k],JS.SymmetryDesc.pta01.setT(c),l.rotTrans(JS.SymmetryDesc.pta01),a.unitize(JS.SymmetryDesc.pta01));return null},"JS.UnitCell,~A,JU.P3,JU.P3,~B");c.getType=e(c,"getType",function(a){var b;if(null==a)return 1073742001;switch(a.toLowerCase()){case "xyzoriginal":return 1073742078;case "matrix":return 12;case "description":return 1825200146;case "axispoint":return 134217751;case "time":return 268441089;
case "info":return 1275068418;case "element":return 1086326789;case "invariant":return 36868}b=JS.T.getTokFromName(a);if(0!=b)return b;b=JS.SymmetryDesc.getKeyType(a);return 0>b?b:1073742327},"~S");c.getKeyType=e(c,"getKeyType",function(a){"type".equals(a)&&(a="_type");for(var b=0;b<JS.SymmetryDesc.keys.length;b++)if(a.equalsIgnoreCase(JS.SymmetryDesc.keys[b]))return-1-b;return 0},"~S");c.nullReturn=e(c,"nullReturn",function(a){switch(a){case 135176:return";draw ID sym* delete;draw ID sg* delete;";
case 1073741961:case 1825200146:case 1073741974:case 1145047049:case 1145047053:case 11:case 1073742078:case 1145045003:case 1611141175:return"";case 1153433601:return new JU.BS;default:return null}},"~N");c.getInfo=e(c,"getInfo",function(a,b){if(0==a.length)return"";if(0>b&&-b<=JS.SymmetryDesc.keys.length&&-b<=a.length)return a[-1-b];switch(b){case 1073742327:case 1073741982:return a;case 1275068418:for(var c=new java.util.Hashtable,d=0,e=a.length;d<e;d++){var k=3==d?"draw":7==d?"axispoint":JS.SymmetryDesc.keys[d];
null!=a[d]&&c.put(k,a[d])}return c;case 1073742001:return a[16]+"\t"+a[0]+"  \t"+a[2];case 1073741961:return a[0]+"  \t"+a[2];case 1145047049:return a[0];case 1145047053:return a[19];case 1073742078:return a[1];default:case 1825200146:return a[2];case 134217764:if(!JU.Logger.debugging)return a[3];case 135176:return a[3]+"\nprint "+JU.PT.esc(a[0]+" "+a[2]);case 1145047050:return a[4];case 1073742178:return a[5];case 12289:return a[6];case 134217751:return a[7];case 1611141175:return a[20];case 1073741854:return a[8];
case 134217729:return a[9];case 1145045003:case 12:return a[10];case 1814695966:return a[11];case 4160:return a[12];case 268441089:return a[13];case 134217750:return a[14];case 1140850696:return a[15];case 1073741974:return a[16];case 1086326789:return Z(-1,[a[6],a[7],a[8],a[14],a[5]]);case 36868:return null!=a[6]?a[6]:null!=a[8]?Z(-1,[a[7],a[8],a[5]]):null!=a[5]?"none":null!=a[14]?a[14]:"identity"}},"~A,~N,~N");c.getInfoBS=e(c,"getInfoBS",function(a){var b=new JU.BS;if(0>a&&-a<=JS.SymmetryDesc.keys.length)return b.set(-1-
a),b;switch(a){case 0:case 1153433601:case 1073742001:case 1073742327:case 1073741982:case 1275068418:b.setBits(0,JS.SymmetryDesc.keys.length);break;case 1073741961:b.set(0);b.set(2);break;case 1145047049:b.set(0);break;case 1145047053:b.set(19);break;case 1073742078:b.set(1);break;default:case 1825200146:b.set(2);break;case 135176:b.set(0);b.set(2);b.set(3);break;case 1145047050:b.set(4);break;case 1073742178:b.set(5);break;case 12289:b.set(6);break;case 134217751:b.set(7);break;case 1611141175:b.set(20);
break;case 1073741854:b.set(8);break;case 134217729:b.set(9);break;case 12:b.set(10);break;case 1814695966:b.set(11);break;case 4160:b.set(12);break;case 268441089:b.set(13);break;case 134217750:b.set(14);break;case 1140850696:b.set(15);break;case 1073741974:b.set(16);break;case 1086326789:case 36868:b.set(5),b.set(6),b.set(7),b.set(8),b.set(14),b.set(23)}return b},"~N");e(c,"createInfoArray",function(a,b,c,d,e,k,g,h,l,j,n,q){a.isFinalized||a.doFinalize();var p=(new Boolean(l.get(10)&l.cardinality()==
(l.get(24)?2:1))).valueOf(),m=-1==a.timeReversal,r=null!=a.spinU;0==k&&(k=1);JS.SymmetryDesc.vtrans.set(0,0,0);var t=null,s=null==c||Float.isNaN(c.x)?b.getCartesianOffset():c;if(null!=d){JS.SymmetryDesc.pta01.setT(s);JS.SymmetryDesc.pta02.setT(d);b.toFractional(JS.SymmetryDesc.pta01,!1);b.toFractional(JS.SymmetryDesc.pta02,!1);a.rotTrans(JS.SymmetryDesc.pta01);JS.SymmetryDesc.ptemp.setT(JS.SymmetryDesc.pta01);b.unitize(JS.SymmetryDesc.pta01);JS.SymmetryDesc.vtrans.setT(JS.SymmetryDesc.pta02);b.unitize(JS.SymmetryDesc.pta02);
if(1.96E-6<=JS.SymmetryDesc.pta01.distanceSquared(JS.SymmetryDesc.pta02))return null;JS.SymmetryDesc.vtrans.sub(JS.SymmetryDesc.ptemp)}var v=JU.M4.newM4(a);v.add(JS.SymmetryDesc.vtrans);l.get(10)&&(null!=d&&s.equals(d))&&(v.m00=Math.round(v.m00),v.m01=Math.round(v.m01),v.m02=Math.round(v.m02),v.m03=Math.round(v.m03),v.m10=Math.round(v.m10),v.m11=Math.round(v.m11),v.m12=Math.round(v.m12),v.m13=Math.round(v.m13),v.m20=Math.round(v.m20),v.m21=Math.round(v.m21),v.m22=Math.round(v.m22),v.m23=Math.round(v.m23));
var D=0!=a.timeReversal||null!=a.spinU;if(p&&!D){var w=JS.SymmetryDesc.getKeyType("matrix"),B=Array(-w);B[-1-w]=l.get(24)?JS.SymmetryOperation.matrixToRationalString(v):v;return B}var z=new JU.V3;JS.SymmetryDesc.pta01.set(1,0,0);JS.SymmetryDesc.pta02.set(0,1,0);var G=JU.P3.new3(0,0,1);JS.SymmetryDesc.pta01.add(s);JS.SymmetryDesc.pta02.add(s);G.add(s);var A=JS.SymmetryDesc.rotTransCart(a,b,s,JS.SymmetryDesc.vtrans),I=JS.SymmetryDesc.rotTransCart(a,b,JS.SymmetryDesc.pta01,JS.SymmetryDesc.vtrans),C=
JS.SymmetryDesc.rotTransCart(a,b,JS.SymmetryDesc.pta02,JS.SymmetryDesc.vtrans),Q=JS.SymmetryDesc.rotTransCart(a,b,G,JS.SymmetryDesc.vtrans),L=JU.V3.newVsub(I,A),X=JU.V3.newVsub(C,A),M=JU.V3.newVsub(Q,A);JS.SymmetryOperation.approx6Pt(JS.SymmetryDesc.vtrans);var F=new JU.V3;F.cross(L,X);var U=0>F.dot(M);U&&(I.sub2(A,L),C.sub2(A,X),Q.sub2(A,M));var O=JU.Quat.getQuaternionFrame(A,I,C).div(JU.Quat.getQuaternionFrame(s,JS.SymmetryDesc.pta01,JS.SymmetryDesc.pta02)),Z=JU.Quat.new4(O.q1,O.q2,O.q3,O.q0),V=
JU.Measure.computeHelicalAxis(s,A,Z),N=JU.P3.newP(V[0]),R=JU.P3.newP(V[1]),ba=x(Math.abs(JU.PT.approx(V[3].x,1))),P=JS.SymmetryOperation.approx(V[3].y);U&&(I.add2(A,L),C.add2(A,X),Q.add2(A,M));var S=JU.V3.newVsub(A,s);0.1>S.length()&&(S=null);var T=null,Y=null,K=null,aa=null,da=0,ja=0,ka=0==ba,ea=!ka,oa=!1,ya=!1,Ea=!ea&&!U;if(ea||U)S=null;var za=!1,Ra=b.getPeriodicity(),Sa=j&&0==(Ra&1),Ma=j&&0==(Ra&2),Ga=j&&0==(Ra&4),aa=JU.V3.new3(0,0,1);if(3==q)switch(Ra){case 1:aa=JU.V3.new3(1,0,0);za=!0;break;
case 2:za=!0;aa=JU.V3.new3(0,1,0);break;case 4:za=!0}var Fa=!(Sa||Ma||Ga),Aa=Math.abs(R.dot(aa)/aa.length()/R.length());0.001>Math.abs(Aa-1)?(za=!1,aa=null):Fa=!za;if(U&&ka)Y=JU.P3.newP(s),Y.add(A),Y.scale(0.5),T=A,oa=!0;else if(U){var wa=0==P?new JU.V3:R,Na=0;switch(ba){case 60:Na=0.6666667;break;case 120:Na=2;break;case 90:Na=1;break;case 180:K=JU.P3.newP(s);K.add(wa);N.scaleAdd2(0.5,wa,s);0.1<K.distance(A)?(S=JU.V3.newVsub(A,K),z.setT(S),b.toFractional(z,!0)):S=null;F.setT(R);F.normalize();da=
-F.x*N.x-F.y*N.y-F.z*N.z;t=JU.P4.new4(F.x,F.y,F.z,da);ja=0.01>Math.abs(da)&&0.4<F.x*F.y?1.3:1.05;U=ea=!1;ya=!0;if(Ga&&(aa=JU.V3.newVsub(s,G),Aa=Math.abs(R.dot(aa)/aa.length()/R.length()),Ga=0.001>Aa))aa.scale(0.5),b.toCartesian(aa,!0);if(Ma){var la=JU.V3.newVsub(s,JS.SymmetryDesc.pta02),Aa=za?0:Math.abs(R.dot(la)/la.length()/R.length());if(Ma=0.001>Aa)la.scale(0.5),b.toCartesian(la,!0),Ga?aa.add(la):aa=la}if(Sa&&(la=JU.V3.newVsub(s,JS.SymmetryDesc.pta01),Aa=za?0:Math.abs(R.dot(la)/la.length()/R.length()),
Sa=0.001>Aa))la.scale(0.5),b.toCartesian(la,!0),Ma||Ga?aa.add(la):aa=la;break;default:U=!1}0!=Na&&(F.sub2(s,N),F.add(A),F.sub(N),F.sub(wa),F.scale(Na),N.add(F),Y=new JU.P3,Y.scaleAdd2(0.5,wa,N),T=new JU.P3,T.scaleAdd2(-2,Y,A),T.scale(-1))}else null!=S&&(JS.SymmetryDesc.ptemp.setT(S),b.toFractional(JS.SymmetryDesc.ptemp,!1),z.setT(JS.SymmetryDesc.ptemp),b.toCartesian(JS.SymmetryDesc.ptemp,!1),S.setT(JS.SymmetryDesc.ptemp));var Ba=ba;JS.SymmetryDesc.approx0(R);if(ea){var ca=new JU.P3;F.setT(R);var xa=
ba,Ta;U?(ca.setT(T),Ta=T):0==P?(Ta=A,ca.setT(N)):(Ta=A,ca.scaleAdd2(0.5,F,N));JS.SymmetryDesc.ptemp.add2(N,F);xa=Math.round(JU.Measure.computeTorsion(s,N,JS.SymmetryDesc.ptemp,Ta,!0));0!=JS.SymmetryOperation.approx(xa)&&(ba=xa,0>ba&&(ba=360+ba))}var ha=null,ta=null,Ca=String.fromCharCode(0),Ka=a.isIrrelevant,sa=a.getOpOrder();a.isIrrelevant=(new Boolean(a.isIrrelevant|Ka)).valueOf();var qa=a.getOpIsCCW(),ma=0,ua=0;if(l.get(2)||l.get(15)){ha=ta="identity";if(oa)JS.SymmetryDesc.ptemp.setT(Y),b.toFractional(JS.SymmetryDesc.ptemp,
!1),ha="Ci: "+JS.SymmetryDesc.strCoord(JS.SymmetryDesc.ptemp,a.isBio),ta="inversion center";else if(ea){var Ua="";null!=qa&&(Ua=qa===Boolean.TRUE?"(+)":"(-)",ma=qa===Boolean.TRUE?1:-1,U&&-1==ma&&(Ka=!0));ua=E(360/Ba);U?ha=ua+"-bar"+Ua+" axis":0!=P?(JS.SymmetryDesc.ptemp.setT(R),b.toFractional(JS.SymmetryDesc.ptemp,!0),ha=ua+Ua+" ("+JS.SymmetryDesc.strCoord(JS.SymmetryDesc.ptemp,a.isBio)+") screw axis"):(ha=ua+Ua+" axis",0==sa%2&&(ma*=E(sa/2)));ta=ha}else if(null!=S){var ab=" "+JS.SymmetryDesc.strCoord(z,
a.isBio);ka?(ta=ha="translation",ha+=":"+ab):ya&&(j&&(JS.SymmetryDesc.fixGlideTrans(z),S.setT(z),b.toCartesian(S,!0)),ab=" "+JS.SymmetryDesc.strCoord(z,a.isBio),Ca=JS.SymmetryOperation.getGlideFromTrans(z,R),ta=ha=Ca+"-glide plane",ha+="|translation:"+ab)}else ya&&(ta=ha="mirror plane");U&&!oa&&(JS.SymmetryDesc.ptemp.setT(Y),b.toFractional(JS.SymmetryDesc.ptemp,!1),ha+="|at "+JS.SymmetryDesc.strCoord(JS.SymmetryDesc.ptemp,a.isBio));m&&(ha+="|time-reversed",ta+=" (time-reversed)")}var bb=!0,La=ea&&
!U&&0!=P;La||(ma=0,bb=JS.SymmetryDesc.checkHandedness(b,R),bb||(ba=-ba,0>ba&&(ba=360+ba),R.scale(-1)));for(var Ha=!1,Va=null;null!=e&&l.get(3);){if(0==a.getOpType()||n&&a.isIrrelevant){JU.Logger.debugging&&System.out.println("!!SD irrelevent "+a.getOpTitle()+a.getOpPoint());Va="";break}var na=null;this.drawID='\ndraw ID "'+e;var H=new JU.SB;H.append(this.getDrawID("*")).append(" delete");j||(this.drawLine(H,"frame1X",0.15,s,JS.SymmetryDesc.pta01,"red"),this.drawLine(H,"frame1Y",0.15,s,JS.SymmetryDesc.pta02,
"green"),this.drawLine(H,"frame1Z",0.15,s,G,"blue"));var ia,Oa=null,cb=0,Da=0.2>s.distance(A),ra=j?"<hover>"+e+": "+a.xyz+"|"+ha+"</hover>":null;if(ea){ia=2==ua?"red":3==ua?"[xA00040]":4==ua?"[x800080]":"[x4000A0]";var Ba=ba,eb=1;F.setT(R);var Wa="";j&&(N.setT(a.getOpPoint()),b.toCartesian(N,!1));ca=new JU.P3;0!=P&&!U?(na="screw",ia=qa===Boolean.TRUE?"orange":qa===Boolean.FALSE?"blue":4==sa?"lightgray":"grey",j||(this.drawLine(H,"rotLine1",0.1,s,N,"red"),JS.SymmetryDesc.ptemp.add2(N,F),this.drawLine(H,
"rotLine2",0.1,A,JS.SymmetryDesc.ptemp,"red"),ca.scaleAdd2(0.5,F,N))):(ca.setT(N),bb||!Da&&!j&&N.sub2(N,F),U?(na="bar",j?(F.normalize(),qa===Boolean.TRUE&&F.scale(-1)):0==P?(ca.setT(Y),F.scale(3*k),Da?(JS.SymmetryDesc.ptemp.scaleAdd2(0.25,F,N),N.scaleAdd2(-0.24,F,N),ca.scaleAdd2(0.31,F,ca),ia="cyan"):(JS.SymmetryDesc.ptemp.scaleAdd2(-1,F,N),this.drawLine(H,"rotLine1",0.1,s,Y,"red"),this.drawLine(H,"rotLine2",0.1,T,Y,"red"))):Da||(eb=s.distance(ca),this.drawLine(H,"rotLine1",0.1,s,ca,"red"),this.drawLine(H,
"rotLine2",0.1,T,ca,"red"))):(na="rot",F.scale(3*k),!Da&&!j&&(this.drawLine(H,"rotLine1",0.1,s,ca,"red"),this.drawLine(H,"rotLine2",0.1,A,ca,"red")),ca.setT(N),0==P&&Da&&ca.scaleAdd2(0.25,F,ca)));j||(180<Ba&&(Ba=180-Ba),JS.SymmetryDesc.ptemp.add2(ca,F),H.append(this.getDrawID("rotRotArrow")).append(" arrow width 0.1 scale "+JU.PT.escF(eb)+" arc ").append(JU.Escape.eP(ca)).append(JU.Escape.eP(JS.SymmetryDesc.ptemp)),JS.SymmetryDesc.ptemp.setT(s),0.1>JS.SymmetryDesc.ptemp.distance(A)&&JS.SymmetryDesc.ptemp.set(Math.random(),
Math.random(),Math.random()),H.append(JU.Escape.eP(JS.SymmetryDesc.ptemp)),JS.SymmetryDesc.ptemp.set(0,Ba-5*Math.signum(Ba),0),H.append(JU.Escape.eP(JS.SymmetryDesc.ptemp)).append(" color red"));var Xa=0;!a.opIsLong&&(n&&0<P&&!U)&&(Ha=(Xa=a.getOpTrans().length())>(2==sa?0.71:3==sa?0.578:0.51));Ha&&JU.Logger.debugging&&System.out.println("SD ignoring "+a.getOpTrans().length()+" "+a.getOpTitle()+a.xyz);var db=null;if(0==P&&!U){JS.SymmetryDesc.ptemp.scaleAdd2(0.5,F,N);N.scaleAdd2(j?-0.5:-0.45,F,N);if(n&&
Fa&&null!=(db=a.getOpPoint2()))ca.setT(db),b.toCartesian(ca,!1),ca.scaleAdd2(-0.5,F,ca);j&&this.scaleByOrder(F,sa,qa)}else n&&0!=P&&!U&&0.4<(wa=a.getOpTrans().length())?qa!==Boolean.TRUE&&null!=qa&&0.5==wa&&(Ha=!0):j&&U&&(this.scaleByOrder(F,sa,qa),Wa="80");0<P&&!U&&(Wa=""+(90-x(90*(F.length()/P))));if(!Ha){if(0!=ma){switch(sa){case 4:0.49<Xa&&(ma=-2);break;case 6:0.49<Xa?ma=-3:0.33<Xa&&(ma*=2)}ia=0>ma?"blue":"orange"}var fb=na+"_"+ua+"rotvector1";this.drawOrderVector(H,fb,"vector","0.1"+Wa,N,ua,
ma,U&&n,qa===Boolean.TRUE,F,m?"orange":ia,ra,n);null!=db&&this.drawOrderVector(H,fb+"2","vector","0.1"+Wa,ca,sa,ma,U,qa===Boolean.TRUE,F,m?"gray":ia,ra,n)}}else if(ya){JS.SymmetryDesc.ptemp.sub2(K,s);!j&&0.2<s.distance(K)&&this.drawVector(H,"planeVector","vector","0.05",s,JS.SymmetryDesc.ptemp,m?"gray":"cyan",null);na="plane";if(null==S)ia="magenta";else{na="glide";switch(Ca.charCodeAt(0)){case 97:ia="[x4080ff]";break;case 98:ia="blue";break;case 99:ia="cyan";break;case 110:ia="orange";break;case 100:ia=
"grey";break;default:ia="lightgreen"}j||(this.drawFrameLine("X",K,L,0.15,JS.SymmetryDesc.ptemp,H,na,"red"),this.drawFrameLine("Y",K,X,0.15,JS.SymmetryDesc.ptemp,H,na,"green"),this.drawFrameLine("Z",K,M,0.15,JS.SymmetryDesc.ptemp,H,na,"blue"))}var gb=b.getCanonicalCopy(ja,!0);if(j&&(Sa||Ma||Ga))for(var W=8;0<=--W;)gb[W].add(aa);var Pa=this.modelSet.vwr.getTriangulator().intersectPlane(t,gb,3);if(null!=Pa)for(var hb=j?a.iCoincident:0,Oa=new JU.P3,ib=W=0,$a=Pa.size();W<$a;W++){var Ia=Pa.get(W);H.append(this.getDrawID((null==
S?"mirror_":Ca+"_g")+"planep"+W)).append(JU.Escape.eP(Ia[0])).append(JU.Escape.eP(Ia[1]));3==Ia.length?((0==hb||0==ib%2!=(1==hb))&&H.append(JU.Escape.eP(Ia[2])),ib++):(Oa.add(Ia[0]),Oa.add(Ia[1]),cb+=2);H.append(" color translucent ").append(ia);null!=ra&&H.append(" ").append(JU.PT.esc(ra))}if(null==Pa||0==Pa.size())n?Ha=!0:(JS.SymmetryDesc.ptemp.add2(N,R),H.append(this.getDrawID("planeCircle")).append(" scale 2.0 circle ").append(JU.Escape.eP(N)).append(JU.Escape.eP(JS.SymmetryDesc.ptemp)).append(" color translucent ").append(ia).append(" mesh fill"),
null!=ra&&H.append(" ").append(JU.PT.esc(ra)))}U&&(na="inv",oa?(H.append(this.getDrawID("inv_point")).append(" diameter 0.4 ").append(JU.Escape.eP(Y)),null!=ra&&H.append(" ").append(JU.PT.esc(ra)),JS.SymmetryDesc.ptemp.sub2(T,s),j||this.drawVector(H,"Arrow","vector","0.05",s,JS.SymmetryDesc.ptemp,m?"gray":"cyan",null)):(4==sa&&(H.append(this.getDrawID("RotPoint")).append(" diameter 0.3 color red").append(JU.Escape.eP(Y)),null!=ra&&H.append(" ").append(JU.PT.esc(ra))),j||(H.append(" color cyan"),Da||
(JS.SymmetryDesc.ptemp.sub2(A,T),this.drawVector(H,"Arrow","vector","0.05",T,JS.SymmetryDesc.ptemp,m?"gray":"cyan",null)),1073742066!=g&&(F.setT(L),F.scale(-1),this.drawFrameLine("X",T,F,0.15,JS.SymmetryDesc.ptemp,H,na,"red"),F.setT(X),F.scale(-1),this.drawFrameLine("Y",T,F,0.15,JS.SymmetryDesc.ptemp,H,na,"green"),F.setT(M),F.scale(-1),this.drawFrameLine("Z",T,F,0.15,JS.SymmetryDesc.ptemp,H,na,"blue")))));if(null!=S&&(ya&&j?null!=Oa&&(K=Oa,K.scale(1/cb),K.scaleAdd2(-0.5,S,K)):null==K&&(K=j?s:JU.P3.newP(s)),
null!=K&&!Ha)){var jb="\x00"==Ca,Ya=j&&!jb&&!Ea;Ya?(JS.SymmetryDesc.ptemp.scaleAdd2(0.5,S,K),JS.SymmetryDesc.vtrans.setT(S),JS.SymmetryDesc.vtrans.scale(0.5)):(JS.SymmetryDesc.ptemp.setT(K),JS.SymmetryDesc.vtrans.setT(S));ia=Ya?m?"orange":"green":m&&(r||!U&&!ya&&!ea)?"darkgray":"gold";this.drawVector(H,(jb?"centering_":Ca+"_g")+"trans_vector","vector",Ya||Ea?"0.1":"0.05",JS.SymmetryDesc.ptemp,JS.SymmetryDesc.vtrans,ia,ra);Ya&&(JS.SymmetryDesc.vtrans.scale(-1),this.drawVector(H,Ca+"_gtrans_vector2",
"vector","0.1",JS.SymmetryDesc.ptemp,JS.SymmetryDesc.vtrans,ia,ra))}j||(JS.SymmetryDesc.ptemp2.setT(A),JS.SymmetryDesc.ptemp.sub2(I,A),JS.SymmetryDesc.ptemp.scaleAdd2(0.9,JS.SymmetryDesc.ptemp,JS.SymmetryDesc.ptemp2),this.drawLine(H,"frame2X",0.2,JS.SymmetryDesc.ptemp2,JS.SymmetryDesc.ptemp,"red"),JS.SymmetryDesc.ptemp.sub2(C,A),JS.SymmetryDesc.ptemp.scaleAdd2(0.9,JS.SymmetryDesc.ptemp,JS.SymmetryDesc.ptemp2),this.drawLine(H,"frame2Y",0.2,JS.SymmetryDesc.ptemp2,JS.SymmetryDesc.ptemp,"green"),JS.SymmetryDesc.ptemp.sub2(Q,
A),JS.SymmetryDesc.ptemp.scaleAdd2(0.9,JS.SymmetryDesc.ptemp,JS.SymmetryDesc.ptemp2),this.drawLine(H,"frame2Z",0.2,JS.SymmetryDesc.ptemp2,JS.SymmetryDesc.ptemp,"purple"),H.append("\nsym_point = "+JU.Escape.eP(s)),H.append("\nvar p0 = "+JU.Escape.eP(JS.SymmetryDesc.ptemp2)),$(s,"JM.Atom")?(H.append("\nvar set2 = within(0.2,p0);if(!set2){set2 = within(0.2,p0.uxyz.xyz)}"),H.append("\n set2 &= {_"+s.getElementSymbol()+"}")):H.append("\nvar set2 = p0.uxyz"),H.append("\nsym_target = set2;if (set2) {"),
!Da&&(1073742066!=g&&null==d&&!h)&&(H.append(this.getDrawID("offsetFrameX")).append(" diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(L)).append("*0.9} color red"),H.append(this.getDrawID("offsetFrameY")).append(" diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(X)).append("*0.9} color green"),H.append(this.getDrawID("offsetFrameZ")).append(" diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(M)).append("*0.9} color purple")),H.append("\n}\n"));Va=H.toString();
JU.Logger.debugging&&JU.Logger.info(Va);H=null;break}null==S&&(z=null);La&&(S=JU.V3.newV(R),JS.SymmetryDesc.ptemp.setT(S),b.toFractional(JS.SymmetryDesc.ptemp,!1),z=JU.V3.newV(JS.SymmetryDesc.ptemp));ya&&(ba=0);U?oa&&(z=S=R=N=null):ka&&(R=N=null);null!=R&&R.normalize();var Qa=null;if(l.get(0)||l.get(17))Qa=a.isBio?v.toString():0<a.modDim?a.xyzOriginal:JS.SymmetryOperation.getXYZFromMatrix(v,!1,!1,!1),D&&(Qa=a.fixMagneticXYZ(v,Qa));for(var fa=Array(21),W=l.nextSetBit(0);0<=W;W=l.nextSetBit(W+1))switch(W){case 0:fa[W]=
Qa;break;case 19:if(null!=c&&null==d&&!a.isBio&&0==a.modDim){var Za;JS.SymmetryDesc.pta02.setT(c);b.toFractional(JS.SymmetryDesc.pta02,!0);v.rotTrans(JS.SymmetryDesc.pta02);JS.SymmetryDesc.ptemp.setT(JS.SymmetryDesc.pta02);b.unitize(JS.SymmetryDesc.pta02);JS.SymmetryDesc.vtrans.sub2(JS.SymmetryDesc.pta02,JS.SymmetryDesc.ptemp);v=JU.M4.newM4(a);v.add(JS.SymmetryDesc.vtrans);Za=JS.SymmetryOperation.getXYZFromMatrix(v,!1,!1,!1);D&&(Za=a.fixMagneticXYZ(v,Za));fa[W]=Za}break;case 1:fa[W]=a.xyzOriginal;
break;case 2:fa[W]=ha;break;case 3:fa[W]=Va;break;case 4:fa[W]=JS.SymmetryDesc.approx0(z);break;case 5:fa[W]=JS.SymmetryDesc.approx0(S);break;case 6:fa[W]=JS.SymmetryDesc.approx0(Y);break;case 7:fa[W]=JS.SymmetryDesc.approx0(null!=N&&l.get(23)?s:N);break;case 8:fa[W]=null==t?JS.SymmetryDesc.approx0(R):null;break;case 9:fa[W]=0!=ba?Integer.$valueOf(ba):null;break;case 10:fa[W]=v;break;case 11:fa[W]=0<JS.SymmetryDesc.vtrans.lengthSquared()?JS.SymmetryDesc.vtrans:null;break;case 12:fa[W]=a.getCentering();
break;case 13:fa[W]=Integer.$valueOf(a.timeReversal);break;case 14:null!=t&&l.get(23)&&(wa=JU.Measure.distanceToPlane(t,s),t.w-=wa);fa[W]=t;break;case 20:fa[W]=a.spinU;break;case 15:fa[W]=ta;break;case 16:fa[W]=Integer.$valueOf(a.number);break;case 17:var Ja=null;if(!a.isBio&&!Qa.equals(a.xyzOriginal)&&0<a.number){var kb=JS.SymmetryOperation.getMatrixFromXYZ(a.xyzOriginal,null,!1);kb.sub(v);Ja=new JU.P3;kb.getTranslation(Ja)}fa[W]=(0>a.number?0:a.number)+(null==Ja?" [0 0 0]":" ["+x(-Ja.x)+" "+x(-Ja.y)+
" "+x(-Ja.z)+"]");break;case 18:fa[W]=a.xyzCanonical}return fa},"JS.SymmetryOperation,J.api.SymmetryInterface,JU.P3,JU.P3,~S,~N,~N,~B,JU.BS,~B,~B,~N");c.fixGlideTrans=e(c,"fixGlideTrans",function(a){a.x=JS.SymmetryDesc.fixGlideX(a.x);a.y=JS.SymmetryDesc.fixGlideX(a.y);a.z=JS.SymmetryDesc.fixGlideX(a.z)},"JU.V3");c.fixGlideX=e(c,"fixGlideX",function(a){switch(Math.round(48.001*a)){case 36:return-0.25;case -36:return 0.25;default:return a}},"~N");e(c,"scaleByOrder",function(a,b,c){a.scale(1+0.3/b+(null==
c?0:c===Boolean.TRUE?0.02:-0.02))},"JU.V3,~N,Boolean");c.checkHandedness=e(c,"checkHandedness",function(a,b){var c,d,e;JS.SymmetryDesc.ptemp.set(1,0,0);a.toCartesian(JS.SymmetryDesc.ptemp,!1);c=JS.SymmetryDesc.approx0d(JS.SymmetryDesc.ptemp.dot(b));JS.SymmetryDesc.ptemp.set(0,1,0);a.toCartesian(JS.SymmetryDesc.ptemp,!1);d=JS.SymmetryDesc.approx0d(JS.SymmetryDesc.ptemp.dot(b));JS.SymmetryDesc.ptemp.set(0,0,1);a.toCartesian(JS.SymmetryDesc.ptemp,!1);e=JS.SymmetryDesc.approx0d(JS.SymmetryDesc.ptemp.dot(b));
return 0==c?0==d?0<e:0<d:0==e?0<c:0==d?0<e:0<c*d*e},"J.api.SymmetryInterface,JU.P3");e(c,"drawLine",function(a,b,c,d,e,k){a.append(this.getDrawID(b)).append(" diameter ").appendD(c).append(JU.Escape.eP(d)).append(JU.Escape.eP(e)).append(" color ").append(k)},"JU.SB,~S,~N,JU.P3,JU.P3,~S");e(c,"drawFrameLine",function(a,b,c,d,e,k,g,h){e.setT(b);e.add(c);this.drawLine(k,g+"Pt"+a,d,b,e,"translucent "+h)},"~S,JU.P3,JU.V3,~N,JU.P3,JU.SB,~S,~S");e(c,"drawVector",function(a,b,c,d,e,k,g,h){c.equals("vline")&&
(JS.SymmetryDesc.ptemp2.add2(e,k),c="",k=JS.SymmetryDesc.ptemp2);a.append(this.getDrawID(b)).append(" diameter ").append(d+" ").append(c).append(JU.Escape.eP(e)).append(JU.Escape.eP(k)).append(" color ").append(g);null!=h&&a.append(' "'+h+'"')},"JU.SB,~S,~S,~S,JU.T3,JU.T3,~S,~S");e(c,"drawOrderVector",function(a,b,c,d,e,k,g,h,l,j,n,q,p){this.drawVector(a,b,c,d,e,j,n,q);if(!(2==k||h&&!l)){c=JS.SymmetryDesc.getPolygon(k,!h?0:l?1:-1,h,e,j);d=c[0];a.append(this.getDrawID(b+"_key")).append(" POLYGON ").appendI(d.size());
l=0;for(q=d.size();l<q;l++)a.appendO(d.get(l));a.append(" color ").append(n);if(0!=g&&p){c=JS.SymmetryDesc.getPolygon(k,g,h,e,j);a.append(this.getDrawID(b+"_key2"));d=c[0];a.append(" POLYGON ").appendI(d.size());l=0;for(q=d.size();l<q;l++)a.appendO(d.get(l));d=c[1];a.appendI(d.size());l=0;for(q=d.size();l<q;l++)a.appendO(JU.PT.toJSON(null,d.get(l)));a.append(" color ").append(n)}}},"JU.SB,~S,~S,~S,JU.P3,~N,~N,~B,~B,JU.V3,~S,~S,~B");c.getPolygon=e(c,"getPolygon",function(a,b,c,d,e){var k=c?0.6:0.4,
g=new JU.Lst,h=new JU.Lst,l=JU.V3.newV(e);l.scale(0);l.add(d);var j=JU.V3.new3(0,0,1),n=new JU.V3;d=new JU.M3;n.cross(j,e);0.01>n.length()?d.m00=d.m11=d.m22=1:(n.normalize(),e=j.angle(e),d.setAA(JU.A4.newVA(n,e)));e=6.283185307179586/a*(0>b?-1:1);for(var n=new JU.V3,q=null,p=j=0,m=0,r=0==b?a:a+1;m<r;m++){var t=new JU.P3;t.x=Math.cos(e*m)*k;t.y=Math.sin(e*m)*k;d.rotate(t);t.add(l);m<a&&g.addLast(t);if(!c&&0!=b&&0==m%b&&null!=q){n.sub2(t,q);var q=m<a?p++:0,s=JU.P3.newP(t);s.scaleAdd2(1,t,s);s.scaleAdd2(-1,
l,s);g.addLast(s);h.addLast(O(-1,[j,p++,q,0]));j=q}else j=p++;q=t}return Z(-1,[g,h])},"~N,~N,~B,JU.P3,JU.V3");c.rotTransCart=e(c,"rotTransCart",function(a,b,c,d){c=JU.P3.newP(c);b.toFractional(c,!1);a.rotTrans(c);c.add(d);b.toCartesian(c,!1);return c},"JS.SymmetryOperation,J.api.SymmetryInterface,JU.P3,JU.V3");c.strCoord=e(c,"strCoord",function(a,b){JS.SymmetryDesc.approx0(a);return b?"("+a.x+" "+a.y+" "+a.z+")":JS.SymmetryOperation.fcoord(a," ")},"JU.T3,~B");c.approx0=e(c,"approx0",function(a){null!=
a&&(a.x=JS.SymmetryDesc.approx0d(a.x),a.y=JS.SymmetryDesc.approx0d(a.y),a.z=JS.SymmetryDesc.approx0d(a.z));return a},"JU.T3");c.approx0d=e(c,"approx0d",function(a){return 1E-4>Math.abs(a)?0:a},"~N");e(c,"getSymmetryInfo",function(a,b,c,d,e,k,g,h,l,j,n,q,m,y){var r=0,t=JS.SymmetryDesc.nullReturn(j),s=0;switch(j){case 1073741994:return""+c.getLatticeType();case 1073742001:r=1073742001;break;case 135176:r=135176;break;case 1145045003:r=JS.SymmetryDesc.getKeyType("matrix");s=24;break;case 1275068418:switch(r=
JS.SymmetryDesc.getType(l),r){case 1145045003:r=JS.SymmetryDesc.getKeyType("matrix");s=24;break;case 1611141175:case 1153433601:case 1073741961:case 1073742001:case 134217751:case 1086326789:case 36868:case 1073742078:j=r;break;default:r=JS.SymmetryDesc.getKeyType(l)}}var v=JS.SymmetryDesc.getInfoBS(r);21<s&&v.set(s);var x=-2==q,w=e,B=e,z=1073742066==m&&(1153433601==j||134217751==j)?h:null;null!=z&&(h=null);var G=w=null,A=null,s=null==c?3:c.getDimensionality();if(null==h){if(null==d){A=x?c.getAdditionalOperations():
c.getSymmetryOperations();if(null==A||Math.abs(e)>A.length||0==e)return t;w=Math.abs(e)-1;d=null==k?A[w].xyz:A[w].getxyzTrans(k);G=A[w].xyzOriginal}else w=e=0;var D=new JS.Symmetry;D.setSpaceGroup(!1);var E=null!=c&&c.isBio();h=E?D.addBioMoleculeOperation(c.getSpaceGroup().finalOperations[w],0>e):D.addSpaceGroupOperation((0>e?"!":"=")+d,Math.abs(e));if(0>h)return t;var C=D.getSpaceGroupOperation(h);y&&(C.iCoincident=A[w].iCoincident);x&&(C.isIrrelevant=A[w].isIrrelevant);null!=G&&(C.xyzOriginal=G,
C.timeReversal=A[w].timeReversal,C.spinU=A[w].spinU);C.number=0==e?B:e;E||C.getCentering();null==g&&0<=b&&(g=this.modelSet.at[b]);if(134217751==j||1153433601==j){if(E||null==g)return t;D.setUnitCell(c);JS.SymmetryDesc.ptemp.setT(g);c.toFractional(JS.SymmetryDesc.ptemp,!1);if(Float.isNaN(JS.SymmetryDesc.ptemp.x))return t;r=new JU.P3;D.newSpaceGroupPoint(JS.SymmetryDesc.ptemp,h,null,0,0,0,r);1073742066==m&&(c.unitize(r),r.add(z));D.toCartesian(r,!1);return 1153433601==j?this.getAtom(c,a,b,r):r}w=this.createInfoArray(C,
c,g,null,null==l?"sym":l,n,m,null!=k,v,y,x,s);1275068418==j&&(null!=l&&-11!=r)&&(r=JS.SymmetryDesc.getKeyType(l))}else{x="info";z=!1;switch(j){case 1275068418:-11!=r&&(r=JS.SymmetryDesc.getKeyType(l));l=x=null;0==q&&(q=-1);break;case 1073742001:l=x=null;0==q&&(q=-1);z=!0;v.set(22);v.set(0);v.set(19);break;case 135176:null==l&&(l=y?"sg":"sym");x="all";z=!0;break;case 1153433601:l=x=null;default:0==q&&(q=1)}m=this.getSymopInfoForPoints(c,a,e,k,g,h,l,x,n,q,m,v);if(z)return m;if("string"==typeof m)return t;
w=m;if(1153433601==j)return!$(g,"JM.Atom")&&!$(h,"JM.Atom")&&(b=-1),null==w?t:this.getAtom(c,a,b,w[7])}if(null==w)return t;a=0<w.length&&$(w[0],Array);if(0>q&&0>=e&&null==d&&(1275068418==j||a)){1275068418==j&&(0<w.length&&!$(w[0],Array))&&(w=Z(-1,[w]));a=new JU.Lst;for(h=0;h<w.length;h++)a.addLast(JS.SymmetryDesc.getInfo(w[h],0>r?r:j,s));return a}if(0>r&&(0<=q||0<e||null!=d))j=r;0<q&&a&&(w=w[0]);135176==j&&(y&&-2==q)&&(j=134217764);return JS.SymmetryDesc.getInfo(w,j,s)},"~N,~N,J.api.SymmetryInterface,~S,~N,JU.P3,JU.P3,JU.P3,~S,~N,~N,~N,~N,~B");
e(c,"getAtom",function(a,b,c,d){var e=null;0<=c&&this.modelSet.getAtomBitsMDa(1094715402,Integer.$valueOf(this.modelSet.at[c].getElementNumber()),e=new JU.BS);c=new JU.BS;this.modelSet.getAtomsWithin(0.02,d,c,b);null!=e&&c.and(e);c.isEmpty()&&(d=JU.P3.newP(d),a.toUnitCell(d,null),a.toCartesian(d,!1),this.modelSet.getAtomsWithin(0.02,d,c,b),null!=e&&c.and(e));return c},"J.api.SymmetryInterface,~N,~N,JU.T3");c.ptemp=new JU.P3;c.ptemp2=new JU.P3;c.pta01=new JU.P3;c.pta02=new JU.P3;c.vtrans=new JU.V3;
c.keys=Z(-1,["xyz","xyzOriginal","label",null,"fractionalTranslation","cartesianTranslation","inversionCenter",null,"axisVector","rotationAngle","matrix","unitTranslation","centeringVector","timeReversal","plane","_type","id","cif2","xyzCanonical","xyzNormalized","spin"])});da("JS");ja(["JU.SimpleUnitCell","JU.P3","JV.JC"],"JS.UnitCell","java.util.Hashtable JU.AU $.Lst $.M3 $.M4 $.P4 $.PT $.Quat $.V3 J.api.Interface JS.Symmetry JU.BoxInfo $.Escape".split(" "),function(){var c=C(function(){this.moreInfo=
null;this.name="";this.fractionalOffset=this.vertices=null;this.allFractionalRelative=!1;this.f2c=this.unitCellMultiplied=this.unitCellMultiplier=this.cartesianOffset=null;L(this,arguments)},JS,"UnitCell",JU.SimpleUnitCell,Cloneable);ka(c,function(){this.cartesianOffset=new JU.P3});c.fromOABC=e(c,"fromOABC",function(a,b){var c=new JS.UnitCell;3==a.length&&(a=Z(-1,[new JU.P3,a[0],a[1],a[2]]));var d=D(-1,[-1,0,0,0,0,0,a[1].x,a[1].y,a[1].z,a[2].x,a[2].y,a[2].z,a[3].x,a[3].y,a[3].z]);c.init(d);c.allFractionalRelative=
b;c.initUnitcellVertices();c.setCartesianOffset(a[0]);return c},"~A,~B");c.fromParams=e(c,"fromParams",function(a,b,c){var d=new JS.UnitCell;d.init(a);d.initUnitcellVertices();d.allFractionalRelative=b;d.setPrecision(c);26<a.length&&(a[26]=c);return d},"~A,~B,~N");c.cloneUnitCell=e(c,"cloneUnitCell",function(a){var b=null;try{b=a.clone()}catch(c){if(!P(c,"CloneNotSupportedException"))throw c;}return b},"JS.UnitCell");e(c,"checkDistance",function(a,b,c,d,e,k,g,h){a=JU.P3.newP(a);this.toCartesian(a,
!0);for(var l=-e;l<=e;l++)for(var j=-k;j<=k;j++)for(var n=-g;n<=g;n++){h.set(b.x+l,b.y+j,b.z+n);this.toCartesian(h,!0);var m=a.distance(h);if(0<d?Math.abs(m-c)<=d:m<=c&&0.1<m)return h.set(l,j,n),!0}return!1},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");e(c,"checkPeriodic",function(a){switch(this.dimension){case 3:if(a.z<-this.slop||a.z>1-this.slop)return!1;case 2:if(a.y<-this.slop||a.y>1-this.slop)return!1;case 1:if(a.x<-this.slop||a.x>1-this.slop)return!1}return!0},"JU.P3");e(c,"dumpInfo",function(a,b){var c=
b?this.getUnitCellMultiplied():this;return c!==this?c.dumpInfo(a,!1):"a="+this.a+", b="+this.b+", c="+this.c+", alpha="+this.alpha+", beta="+this.beta+", gamma="+this.gamma+"\noabc="+JU.Escape.eAP(this.getUnitCellVectors())+"\nvolume="+this.volume+(a?"\nfractional to cartesian: "+this.matrixFractionalToCartesian+"\ncartesian to fractional: "+this.matrixCartesianToFractional:"")},"~B,~B");e(c,"fix000",function(a){return 0.001>Math.abs(a)?0:a},"~N");e(c,"fixFloor",function(a){return 1==a?0:a},"~N");
e(c,"getCanonicalCopy",function(a,b){var c=this.getScaledCell(b);return JU.BoxInfo.getCanonicalCopy(c,a)},"~N,~B");e(c,"getCanonicalCopyTrimmed",function(a,b){var c=this.getScaledCellMult(a,!0);return JU.BoxInfo.getCanonicalCopy(c,b)},"JU.P3,~N");e(c,"getCartesianOffset",function(){return this.cartesianOffset});e(c,"getCellWeight",function(a){var b=1;if(a.x<=this.slop||a.x>=1-this.slop)b/=2;if(a.y<=this.slop||a.y>=1-this.slop)b/=2;if(a.z<=this.slop||a.z>=1-this.slop)b/=2;return b},"JU.P3");e(c,"getConventionalUnitCell",
function(a,b){var c=this.getUnitCellVectors();(!a.equals("P")||null!=b)&&this.toFromPrimitive(!1,a.charAt(0),c,b);return c},"~S,JU.M3");e(c,"getEquivPoints",function(a,b,c,d,e,k,g,h){var l=0<=b.indexOf("fromfractional"),j=0<=b.indexOf("tofractional");b=0<=b.indexOf("packed");null==d&&(d=new JU.Lst);a=JU.P3.newP(a);l||this.toFractional(a,!0);var l=d.size(),n=0!=(h&1),m=0!=(h&2);h=0!=(h&4);for(var p=0,x=c.length;p<x;p++){var r=JU.P3.newP(a);c[p].rotTrans(r);n&&(r.x=this.fixFloor(r.x-E(Math.floor(r.x))));
m&&(r.y=this.fixFloor(r.y-E(Math.floor(r.y))));h&&(r.z=this.fixFloor(r.z-E(Math.floor(r.z))));d.addLast(r);l++}if(b){if(!h){c=JU.P3.new3(0,0,0.5);for(p=k;p<l;p++)d.get(p).add(c)}if(!m){c=JU.P3.new3(0,0.5,0);for(p=k;p<l;p++)d.get(p).add(c)}if(!n){c=JU.P3.new3(0.5,0,0);for(p=k;p<l;p++)d.get(p).add(c)}for(p=k;p<l;p++)a.setT(d.get(p)),this.unitizeRnd(a),0==a.x&&(d.addLast(JU.P3.new3(0,a.y,a.z)),d.addLast(JU.P3.new3(1,a.y,a.z)),0==a.y&&(d.addLast(JU.P3.new3(1,1,a.z)),d.addLast(JU.P3.new3(0,0,a.z)),0==
a.z&&(d.addLast(JU.P3.new3(1,1,1)),d.addLast(JU.P3.new3(0,0,0))))),0==a.y&&(d.addLast(JU.P3.new3(a.x,0,a.z)),d.addLast(JU.P3.new3(a.x,1,a.z)),0==a.z&&(d.addLast(JU.P3.new3(a.x,0,0)),d.addLast(JU.P3.new3(a.x,1,1)))),0==a.z&&(d.addLast(JU.P3.new3(a.x,a.y,0)),d.addLast(JU.P3.new3(a.x,a.y,1)),0==a.x&&(d.addLast(JU.P3.new3(0,a.y,0)),d.addLast(JU.P3.new3(1,a.y,1))));l=d.size();if(!n){c=JU.P3.new3(-0.5,0,0);for(p=k;p<l;p++)d.get(p).add(c)}if(!m){l=d.size();c=JU.P3.new3(0,-0.5,0);for(p=k;p<l;p++)d.get(p).add(c)}if(!h){l=
d.size();c=JU.P3.new3(0,0,-0.5);for(p=k;p<l;p++)d.get(p).add(c)}}JS.UnitCell.removeDuplicates(d,e,g,-1);if(!j)for(p=d.size();--p>=k;)this.toCartesian(d.get(p),!0);return d},"JU.P3,~S,~A,JU.Lst,~N,~N,~N,~N");e(c,"getFractionalOffset",function(){return this.fractionalOffset});e(c,"getInfo",function(){var a=this.getUnitCellMultiplied();if(a!==this)return a.getInfo();a=new java.util.Hashtable;a.put("params",this.unitCellParams);a.put("oabc",this.getUnitCellVectors());a.put("volume",Float.$valueOf(this.volume));
a.put("matFtoC",this.matrixFractionalToCartesian);a.put("matCtoF",this.matrixCartesianToFractional);return a});e(c,"getQuaternionRotation",function(a){var b=JU.V3.newVsub(this.vertices[4],this.vertices[0]),c=JU.V3.newVsub(this.vertices[2],this.vertices[0]),d=JU.V3.newVsub(this.vertices[1],this.vertices[0]),e=new JU.P3,k=new JU.P3,g="-"==a.charAt(0)?-1:1;0>g&&(a=a.substring(1));var h=a;a=JU.PT.rep(JU.PT.rep(JU.PT.rep(JU.PT.rep(JU.PT.rep(JU.PT.rep(a,"ab","A"),"bc","B"),"ca","C"),"ba","D"),"cb","E"),
"ac","F");var l=(h=!h.equals(a))?1:0;2==a.length&&(l=a.charAt(1).charCodeAt(0)-48,a=a.substring(0,1));var j=0==l%2;switch("abcABCDEF".indexOf(a)){case 7:g=-g;case 4:b.cross(d,c),l=(5-l)%4+1;default:a=b;b=d;break;case 8:g=-g;case 5:g=-g,c.cross(d,b),l=(2+l)%4+1;case 1:a=c;c=d;g=-g;break;case 3:g=-g;case 6:d.cross(b,c),j&&(l=6-l);case 2:a=d,!h&&0<l&&(l=5-l)}0<l&&0<g!=j&&(b=c,a.scale(-1));switch(l){case 2:a.scale(-1);b.scale(-1);break;case 3:b.scale(-1);break;case 4:a.scale(-1)}e.cross(a,b);k.cross(e,
a);return JU.Quat.getQuaternionFrame(null,k,e).inv()},"~S");e(c,"getScaledCell",function(a){return this.getScaledCellMult(null,a)},"~B");e(c,"getScaledCellMult",function(a,b){var c=Array(8),d=null,e=null,k=null!=a;k||(a=this.unitCellMultiplier);b&&(null!=a&&0==a.z)&&(d=new JU.P3,e=new JU.P3,JU.SimpleUnitCell.ijkToPoint3f(x(a.x),d,0,0),JU.SimpleUnitCell.ijkToPoint3f(x(a.y),e,0,0),e.sub(d));for(var g=k||null==a||0==a.z?1:Math.abs(a.z),h=0;8>h;h++){var l=c[h]=JU.P3.newP(JU.BoxInfo.unitCubePoints[h]);
null!=d?c[h].add3(d.x+e.x*l.x,d.y+e.y*l.y,d.z+e.z*l.z):k&&l.scaleT(a);c[h].scale(g);this.matrixFractionalToCartesian.rotTrans(l);b||l.sub(this.cartesianOffset)}return c},"JU.T3,~B");e(c,"getState",function(){var a="";null!=this.fractionalOffset&&0!=this.fractionalOffset.lengthSquared()&&(a+="  unitcell offset "+JU.Escape.eP(this.fractionalOffset)+";\n");null!=this.unitCellMultiplier&&(a+="  unitcell range "+JU.SimpleUnitCell.escapeMultiplier(this.unitCellMultiplier)+";\n");return a});e(c,"getTensor",
function(a,b){var c=J.api.Interface.getUtil("Tensor",a,"file");if(0==b[0]&&0==b[1]&&0==b[2]){var d=b[7],e=D(-1,[d,d,d]);return c.setFromEigenVectors(JS.UnitCell.unitVectors,e,"iso","Uiso="+d,null)}c.parBorU=b;var d=La(6,0),k=x(b[6]);if(12==k)d[0]=19.739208802178716*b[0],d[1]=19.739208802178716*b[1],d[2]=19.739208802178716*b[2],d[3]=39.47841760435743*b[3],d[4]=39.47841760435743*b[4],d[5]=39.47841760435743*b[5],b[7]=(b[0]+b[1]+b[3])/3;else{var e=4==k||5==k||8==k||9==k,g=2-k%2,h=8==k||9==k||10==k?19.739208802178716:
4==k||5==k?0.25:2==k||3==k?Math.log(2):1,k=b[0]*h*(e?this.a_*this.a_:1),l=b[1]*h*(e?this.b_*this.b_:1),j=b[2]*h*(e?this.c_*this.c_:1),n=b[3]*h*(e?this.a_*this.b_:1)*g,m=b[4]*h*(e?this.a_*this.c_:1)*g,e=b[5]*h*(e?this.b_*this.c_:1)*g;b[7]=Math.pow(k/19.739208802178716/this.a_/this.a_*l/19.739208802178716/this.b_/this.b_*j/19.739208802178716/this.c_/this.c_,0.3333);d[0]=this.a*this.a*k+this.b*this.b*this.cosGamma*this.cosGamma*l+this.c*this.c*this.cosBeta*this.cosBeta*j+this.a*this.b*this.cosGamma*
n+this.b*this.c*this.cosGamma*this.cosBeta*e+this.a*this.c*this.cosBeta*m;d[1]=this.b*this.b*this.sinGamma*this.sinGamma*l+this.c*this.c*this.cA_*this.cA_*j+this.b*this.c*this.cA_*this.sinGamma*e;d[2]=this.c*this.c*this.cB_*this.cB_*j;d[3]=2*this.b*this.b*this.cosGamma*this.sinGamma*l+2*this.c*this.c*this.cA_*this.cosBeta*j+this.a*this.b*this.sinGamma*n+this.b*this.c*(this.cA_*this.cosGamma+this.sinGamma*this.cosBeta)*e+this.a*this.c*this.cA_*m;d[4]=2*this.c*this.c*this.cB_*this.cosBeta*j+this.b*
this.c*this.cosGamma*e+this.a*this.c*this.cB_*m;d[5]=2*this.c*this.c*this.cA_*this.cB_*j+this.b*this.c*this.cB_*this.sinGamma*e}return c.setFromThermalEquation(d,JU.Escape.eAF(b))},"JV.Viewer,~A");e(c,"getUnitCellMultiplied",function(){if(null==this.unitCellMultiplier||0<this.unitCellMultiplier.z&&this.unitCellMultiplier.z==x(this.unitCellMultiplier.z))return this;if(null==this.unitCellMultiplied){var a=JU.BoxInfo.toOABC(this.getScaledCell(!0),null);this.unitCellMultiplied=JS.UnitCell.fromOABC(a,
!1)}return this.unitCellMultiplied});e(c,"getUnitCellMultiplier",function(){return this.unitCellMultiplier});e(c,"isStandard",function(){return null==this.unitCellMultiplier||this.unitCellMultiplier.x==this.unitCellMultiplier.y});e(c,"getUnitCellVectors",function(){var a=this.matrixFractionalToCartesian;return Z(-1,[JU.P3.newP(this.cartesianOffset),JU.P3.new3(this.fix000(a.m00),this.fix000(a.m10),this.fix000(a.m20)),JU.P3.new3(this.fix000(a.m01),this.fix000(a.m11),this.fix000(a.m21)),JU.P3.new3(this.fix000(a.m02),
this.fix000(a.m12),this.fix000(a.m22))])});c.toTrm=e(c,"toTrm",function(a,b){null==b&&(b=new JU.M4);JS.UnitCell.getMatrixAndUnitCell(null,a,b);return b},"~S,JU.M4");c.getMatrixAndUnitCell=e(c,"getMatrixAndUnitCell",function(a,b,c){null==b&&(b="a,b,c");var d,e=Array(4),k=e[0]=JU.P3.new3(0,0,0);e[1]=JU.P3.new3(1,0,0);e[2]=JU.P3.new3(0,1,0);e[3]=JU.P3.new3(0,0,1);var g=new JU.M3;if(JU.AU.isAD(b))return JU.SimpleUnitCell.setAbcFromParams(b,e);if("string"==typeof b){d=b;var h,l=null;if(0==d.indexOf("a="))return JU.SimpleUnitCell.setAbc(d,
null,e);if(0<d.indexOf(">")){if(null!=a||null==c)return null;a=d.$plit(">");c.setIdentity();k=new JU.M4;for(d=a.length;0<=--d;)JS.UnitCell.getMatrixAndUnitCell(null,a[d],k),c.mul2(k,c);return e}b=Array(1);var j=d.indexOf(";");0<=j?(h=d.substring(j+1).trim(),d=d.substring(0,j),b[0]=d,l=JS.UnitCell.fixABC(b),d!==b[0]&&(d=b[0])):d.equals("a,b,c")?h=null:(0<d.indexOf("w")&&(d=d.$replace("u","x").$replace("v","y").$replace("w","z")),b[0]=d,h=JS.UnitCell.fixABC(b),d=b[0]);for(d+=";0,0,0";d.startsWith("!!");)d=
d.substring(2);(b=d.startsWith("!"))&&(d=d.substring(1));d.equals("r;0,0,0")?d="2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c"+d.substring(1):d.equals("h;0,0,0")&&(d="a-b,b-c,a+b+c"+d.substring(1));if((j=0>d.indexOf("x")&&(0<=d.indexOf("a")||0<=d.indexOf("b")||0<=d.indexOf("c")))&&0<=d.indexOf("*")&&null!=a){h=JU.M4.newM4(null);l=JS.UnitCell.getMatrixAndUnitCell(a,"a,b,c",h);JS.UnitCell.getMatrixAndUnitCell(null,d.$replace("*"," "),h);var n=mb(-1,[0<=d.indexOf("a*"),0<=d.indexOf("b*"),0<=d.indexOf("c*")]);
d=JU.M4.newM4(null);JS.UnitCell.adjustForReciprocal(a,l,h,n,d,e);a=null}else{n=new JS.Symmetry;n.setSpaceGroup(!1);d=n.addSpaceGroupOperation("="+d,0);if(0>d)return null;d=n.getSpaceGroupOperation(d);d.doFinalize();n=new JU.P3;JS.UnitCell.addTrans(h,n);JS.UnitCell.addTrans(l,n);d.setTranslation(n)}j&&d.transpose33();b&&d.invert();null!=c&&c.setM4(d);if(null==a)return e}else{if(null!=c||null==a)return null;if($(b,"JU.M3"))d=JU.M4.newMV(b,new JU.P3);else if($(b,"JU.M4"))d=b;else{d=b[0];d.getRotationScale(g);
d.rotTrans(k);a.toCartesian(k,!1);for(d=1;4>d;d++)g.rotate(e[d]),a.toCartesian(e[d],!0);return e}}d.getRotationScale(g);d.getTranslation(k);a.toCartesian(k,!1);for(d=1;4>d;d++)g.rotate(e[d]),a.toCartesian(e[d],!0);return e},"JU.SimpleUnitCell,~O,JU.M4");c.adjustForReciprocal=e(c,"adjustForReciprocal",function(a,b,c,d,e,k){var g=Array(4);JU.SimpleUnitCell.getReciprocal(b,g,1);for(var h=new JU.P3,l=D(4,0),j=1;3>=j;j++){var n=new JU.P3;c.getColumn(j-1,l);for(var m=0;3>m;m++)0!=l[m]&&n.scaleAdd2(l[m],
d[m]?g[1+m]:b[1+m],n);k[j]=n;h.setP(n);a.toFractional(h,!0);e.setColumn4(j-1,JS.UnitCell.fixZero(h.x,1E-10),JS.UnitCell.fixZero(h.y,1E-10),JS.UnitCell.fixZero(h.z,1E-10),0)}},"JU.SimpleUnitCell,~A,JU.M4,~A,JU.M4,~A");c.fixZero=e(c,"fixZero",function(a,b){return Math.abs(a)<b?0:a},"~N,~N");c.addTrans=e(c,"addTrans",function(a,b){if(null!=a){var c=JU.PT.split(a,","),d=D(3,0);if(3==c.length)for(var e=0;3>e;e++){var k=c[e],g=k.indexOf("/");d[e]=0<=g?JU.PT.parseFloat(k.substring(0,g))/JU.PT.parseFloat(k.substring(g+
1)):JU.PT.parseFloat(k)}b.add3(d[0],d[1],d[2])}},"~S,JU.P3");c.fixABC=e(c,"fixABC",function(a){var b=JU.PT.split(a[0],",");if(3!=b.length)return null;for(var c="",d="",e=!1,k=0;3>k;k++){var g=b[k],h,l=0;for(h=g.length;0<=--h;){var j=g.charAt(h);switch(j.charCodeAt(0)){default:"a"<=j&&(h=0);break;case 43:l=1;case 45:h=-h}}h=-1-h;0==h?(c+=",0",d+=","+g):(e=!0,c+=","+g.substring(h+l),d+=","+g.substring(0,h))}a[0]=d.substring(1);return e?c.substring(1):null},"~A");e(c,"getVertices",function(){return this.vertices});
e(c,"hasOffset",function(){return null!=this.fractionalOffset&&0!=this.fractionalOffset.lengthSquared()});e(c,"initOrientation",function(a){if(null!=a){var b=new JU.M4;b.setToM3(a);this.matrixFractionalToCartesian.mul2(b,this.matrixFractionalToCartesian);this.matrixCartesianToFractional.setM4(this.matrixFractionalToCartesian).invert();this.initUnitcellVertices()}},"JU.M3");e(c,"initUnitcellVertices",function(){if(null!=this.matrixFractionalToCartesian){this.matrixCtoFNoOffset=JU.M4.newM4(this.matrixCartesianToFractional);
this.matrixFtoCNoOffset=JU.M4.newM4(this.matrixFractionalToCartesian);this.vertices=Array(8);for(var a=8;0<=--a;)this.vertices[a]=this.matrixFractionalToCartesian.rotTrans2(JU.BoxInfo.unitCubePoints[a],new JU.P3)}});e(c,"isSameAs",function(a){if(null==a)return!1;for(var b=this.getF2C(),c=0;3>c;c++)for(var d=0;4>d;d++)if(!JU.SimpleUnitCell.approx0(b[c][d]-a[c][d]))return!1;return!0},"~A");e(c,"getF2C",function(){if(null==this.f2c){this.f2c=D(3,4,0);for(var a=0;3>a;a++)this.matrixFractionalToCartesian.getRow(a,
this.f2c[a])}return this.f2c});e(c,"isWithinUnitCell",function(a,b,c,d){switch(this.dimension){case 3:if(d.z<c-1-this.slop||d.z>c+this.slop)return!1;case 2:if(d.y<b-1-this.slop||d.y>b+this.slop)return!1;case 1:if(d.x<a-1-this.slop||d.x>a+this.slop)return!1}return!0},"~N,~N,~N,JU.P3");e(c,"setCartesianOffset",function(a){this.cartesianOffset.setT(a);this.matrixFractionalToCartesian.m03=this.cartesianOffset.x;this.matrixFractionalToCartesian.m13=this.cartesianOffset.y;this.matrixFractionalToCartesian.m23=
this.cartesianOffset.z;a=this.hasOffset();this.fractionalOffset=JU.P3.newP(this.cartesianOffset);this.matrixCartesianToFractional.rotate(this.fractionalOffset);this.matrixCartesianToFractional.m03=-this.fractionalOffset.x;this.matrixCartesianToFractional.m13=-this.fractionalOffset.y;this.matrixCartesianToFractional.m23=-this.fractionalOffset.z;this.allFractionalRelative&&(this.matrixCtoFNoOffset.setM4(this.matrixCartesianToFractional),this.matrixFtoCNoOffset.setM4(this.matrixFractionalToCartesian));
!a&&0==this.fractionalOffset.lengthSquared()&&(this.fractionalOffset=null);this.f2c=null},"JU.T3");e(c,"setOffset",function(a){if(null!=a){this.unitCellMultiplied=null;var b=$(a,"JU.T4")?a:null,c=null==b?1.4E-45:b.w,d=999999<c;if(null!=b?0>=c||d:100<=a.x||100<=a.y)if(this.unitCellMultiplier=0==a.z&&a.x==a.y&&!d?null:d?JU.P4.newPt(b):JU.P3.newP(a),this.unitCellMultiplied=null,null==b||0==b.w||d)return;if(this.hasOffset()||0<a.lengthSquared())this.fractionalOffset=JU.P3.newP(a);this.matrixCartesianToFractional.m03=
-a.x;this.matrixCartesianToFractional.m13=-a.y;this.matrixCartesianToFractional.m23=-a.z;this.cartesianOffset.setT(a);this.matrixFractionalToCartesian.rotate(this.cartesianOffset);this.matrixFractionalToCartesian.m03=this.cartesianOffset.x;this.matrixFractionalToCartesian.m13=this.cartesianOffset.y;this.matrixFractionalToCartesian.m23=this.cartesianOffset.z;this.allFractionalRelative&&(this.matrixCtoFNoOffset.setM4(this.matrixCartesianToFractional),this.matrixFtoCNoOffset.setM4(this.matrixFractionalToCartesian));
this.f2c=null}},"JU.T3");e(c,"toFromPrimitive",function(a,b,c,d){var e=c.length-3,k=null;if("r"==b||null==d){switch(b.charCodeAt(0)){default:return!1;case 114:return JU.SimpleUnitCell.getReciprocal(c,c,1),!0;case 80:a=!0;case 65:case 66:case 67:case 82:case 73:case 70:k=JS.UnitCell.getPrimitiveTransform(b)}a||k.invert()}else k=JU.M3.newM3(d),a&&k.invert();for(a=c.length;--a>=e;)b=c[a],this.toFractional(b,!0),k.rotate(b),this.toCartesian(b,!0);return!0},"~B,~S,~A,JU.M3");c.getPrimitiveTransform=e(c,
"getPrimitiveTransform",function(a){switch(a.charCodeAt(0)){case 80:return JU.M3.newA9(D(-1,[1,0,0,0,1,0,0,0,1]));case 65:return JU.M3.newA9(D(-1,[1,0,0,0,0.5,0.5,0,-0.5,0.5]));case 66:return JU.M3.newA9(D(-1,[0.5,0,0.5,0,1,0,-0.5,0,0.5]));case 67:return JU.M3.newA9(D(-1,[0.5,0.5,0,-0.5,0.5,0,0,0,1]));case 82:return JU.M3.newA9(D(-1,[0.6666667,-0.33333334,-0.33333334,0.33333334,0.33333334,-0.6666667,0.33333334,0.33333334,0.33333334]));case 73:return JU.M3.newA9(D(-1,[-0.5,0.5,0.5,0.5,-0.5,0.5,0.5,
0.5,-0.5]));case 70:return JU.M3.newA9(D(-1,[0,0.5,0.5,0.5,0,0.5,0.5,0.5,0]))}return null},"~S");e(c,"toUnitCell",function(a,b){null!=this.matrixCartesianToFractional&&(null==b?(this.matrixCartesianToFractional.rotTrans(a),this.unitize(a),this.matrixFractionalToCartesian.rotTrans(a)):(this.matrixCtoFNoOffset.rotTrans(a),this.unitize(a),a.add(b),this.matrixFtoCNoOffset.rotTrans(a)))},"JU.T3,JU.T3");e(c,"toUnitCellRnd",function(a,b){null!=this.matrixCartesianToFractional&&(null==b?(this.matrixCartesianToFractional.rotTrans(a),
this.unitizeRnd(a),this.matrixFractionalToCartesian.rotTrans(a)):(this.matrixCtoFNoOffset.rotTrans(a),this.unitizeRnd(a),a.add(b),this.matrixFtoCNoOffset.rotTrans(a)))},"JU.T3,JU.T3");e(c,"unitize",function(a){this.unitizeDim(this.dimension,a)},"JU.T3");e(c,"unitizeRnd",function(a){JU.SimpleUnitCell.unitizeDimRnd(this.dimension,a,this.slop)},"JU.T3");c.removeDuplicates=e(c,"removeDuplicates",function(a,b,c,d){for(0>d&&(d=a.size());b<d;b++)for(var e=a.get(b),k=Math.max(b+1,c);k<d;k++)1.96E-6>a.get(k).distanceSquared(e)&&
(a.removeItemAt(k),d--,k--)},"JU.Lst,~N,~N,~N");e(c,"getCenter",function(a){var b=new JU.P3,c=this.getCartesianOffset(),d=this.getVertices(),e;switch(a){default:case 7:a=8;e=1;break;case 3:a=8;e=2;break;case 4:a=2;e=1;break;case 2:a=3;e=2;break;case 1:a=8,e=4}for(var k=0,g=0;g<a;g+=e)b.add(d[g]),b.add(c),k++;b.scale(1/k);return b},"~N");e(c,"setSpinAxisAngle",function(a){null==this.moreInfo&&(this.moreInfo=new JU.Lst);for(var b=-1,c=-1,d=this.moreInfo.size();0<=--d&&(0>b||0>c);){var e=this.moreInfo.get(d);
e.startsWith("rotation_axis=")?b=d:e.startsWith("rotation_angle=")&&(c=d)}e="rotation_axis="+(a.x==Math.round(a.x)?""+Math.round(a.x):""+a.x)+","+(a.y==Math.round(a.y)?""+Math.round(a.y):""+a.y)+","+(a.z==Math.round(a.z)?""+Math.round(a.z):""+a.z);0>b?(this.moreInfo.addLast(e),c>b&&c++):this.moreInfo.set(b,e);a=180*a.angle/3.141592653589793;a=E(Math.round(1E3*a)/1E3);e="rotation_angle="+(a==Math.round(a)?""+Math.round(a):""+a);0>c?this.moreInfo.addLast(e):this.moreInfo.set(c,e)},"JU.A4");e(c,"setMoreInfo",
function(a){this.moreInfo=a},"JU.Lst");e(c,"getMoreInfo",function(){return this.moreInfo});c.unitVectors=Z(-1,[JV.JC.axisX,JV.JC.axisY,JV.JC.axisZ])});da("JS");ja(["J.api.AtomIndexIterator"],"JS.UnitCellIterator","JU.Lst $.P3 $.P3i JU.BoxInfo $.Logger $.Point3fi".split(" "),function(){var c=C(function(){this.translation=this.center=this.atoms=null;this.distance2=this.maxDistance2=this.nFound=0;this.p=this.t=this.maxXYZ=this.minXYZ=this.unitCell=null;this.ipt=-2147483648;this.unitList=null;this.done=
!1;this.listPt=this.nAtoms=0;L(this,arguments)},JS,"UnitCellIterator",null,J.api.AtomIndexIterator);e(c,"set",function(a,b,c,d,e){this.unitCell=a;this.atoms=c;this.addAtoms(d);this.p=new JU.P3;0<e&&this.setCenter(b,e);return this},"J.api.SymmetryInterface,JM.Atom,~A,JU.BS,~N");m(c,"setModel",function(){},"JM.ModelSet,~N,~N,~N,JU.T3,~N,J.atomdata.RadiusData");m(c,"setCenter",function(a,b){if(0!=b){this.maxDistance2=b*b;this.center=a;this.translation=new JU.P3;var c=JU.BoxInfo.unitCubePoints,d=JU.P3.new3(3.4028235E38,
3.4028235E38,3.4028235E38),e=JU.P3.new3(-3.4028235E38,-3.4028235E38,-3.4028235E38);this.p=new JU.P3;var k=new JU.P3;k.setT(a);this.unitCell.toFractional(k,!0);for(k=0;8>k;k++)this.p.scaleAdd2(-2,c[k],c[7]),this.p.scaleAdd2(b,this.p,a),this.unitCell.toFractional(this.p,!0),d.x>this.p.x&&(d.x=this.p.x),e.x<this.p.x&&(e.x=this.p.x),d.y>this.p.y&&(d.y=this.p.y),e.y<this.p.y&&(e.y=this.p.y),d.z>this.p.z&&(d.z=this.p.z),e.z<this.p.z&&(e.z=this.p.z);this.minXYZ=JU.P3i.new3(E(Math.floor(d.x)),E(Math.floor(d.y)),
E(Math.floor(d.z)));this.maxXYZ=JU.P3i.new3(E(Math.ceil(e.x)),E(Math.ceil(e.y)),E(Math.ceil(e.z)));JU.Logger.debugging&&JU.Logger.info("UnitCellIterator minxyz/maxxyz "+this.minXYZ+" "+this.maxXYZ);this.t=JU.P3i.new3(this.minXYZ.x-1,this.minXYZ.y,this.minXYZ.z);this.nextCell()}},"JU.T3,~N");m(c,"addAtoms",function(a){this.done=null==a;if(!this.done){this.unitList=new JU.Lst;for(var b="",c=this.unitCell.getSymmetryOperations(),d=c.length,e=a.nextSetBit(0);0<=e;e=a.nextSetBit(e+1))for(var k=this.atoms[e],
g=0;g<d;g++){var h=new JU.P3;h.setT(k);0<g?(this.unitCell.toFractional(h,!1),c[g].rotTrans(h),this.unitCell.unitize(h),this.unitCell.toCartesian(h,!1)):this.unitCell.toUnitCell(h,null);var l="_"+x(100*h.x)+"_"+x(100*h.y)+"_"+x(100*h.z)+"_";0<=b.indexOf(l)||(b+=l,this.unitList.addLast(Z(-1,[k,h])))}this.nAtoms=this.unitList.size();this.done=0==this.nAtoms;JU.Logger.debugging&&JU.Logger.info("UnitCellIterator "+this.nAtoms+" unique points found")}},"JU.BS");m(c,"hasNext",function(){for(;this.ipt<this.nAtoms||
this.nextCell();)if(this.p.add2(this.unitList.get(this.listPt=this.ipt++)[1],this.translation),(this.distance2=this.p.distanceSquared(this.center))<this.maxDistance2&&0.1<this.distance2)return this.nFound++,!0;return!1});e(c,"nextCell",function(){if(this.done)return!1;if(++this.t.x>=this.maxXYZ.x&&(this.t.x=this.minXYZ.x,++this.t.y>=this.maxXYZ.y&&(this.t.y=this.minXYZ.y,++this.t.z>=this.maxXYZ.z)))return this.done=!0,this.ipt=this.nAtoms,!1;this.translation.set(this.t.x,this.t.y,this.t.z);this.unitCell.toCartesian(this.translation,
!1);this.ipt=0;return!0});m(c,"next",function(){return this.done||0>this.ipt?-1:this.getAtom().i});e(c,"getAtom",function(){return this.unitList.get(this.listPt)[0]});m(c,"foundDistance2",function(){return 0<this.nFound?this.distance2:3.4028235E38});m(c,"getPosition",function(){var a=this.getAtom();JU.Logger.debugging&&JU.Logger.info("draw ID p_"+this.nFound+" "+this.p+" //"+a+" "+this.t);if(1E-4>this.p.distanceSquared(a))return a;var b=new JU.Point3fi;b.setT(this.p);b.i=a.i;b.sD=a.getElementNumber();
return b});m(c,"release",function(){this.translation=this.center=this.atoms=null})});da("JS");ja(["java.util.Hashtable","JU.P3","$.V3"],"JS.WyckoffFinder","JU.Lst $.M4 $.Measure $.P4 $.PT $.SB JS.SpaceGroup $.Symmetry $.SymmetryOperation".split(" "),function(){var c=C(function(){this.positions=null;this.ncent=this.npos=0;this.gpos=this.centeringStr=this.centerings=null;L(this,arguments)},JS,"WyckoffFinder",null);V(c,function(b){if(null!=b){var a=b.get("gp");this.gpos=new JU.Lst;this.gpos.addAll(a);
b=b.get("wpos");this.positions=b.get("pos");this.npos=this.positions.size();b=b.get("cent");if(null!=b){this.ncent=b.size();this.centeringStr=Array(this.ncent);this.centerings=Array(this.ncent);for(a=this.ncent;0<=--a;){var c=b.get(a);this.centeringStr[a]=c;this.centerings[a]=JS.SymmetryOperation.toPoint(c,null)}}}},"java.util.Map");e(c,"getWyckoffFinder",function(b,a){var c=a.getClegId(),e=JS.WyckoffFinder.helpers.get(c);if(null!=e)return e;e=JS.WyckoffFinder.createHelper(b,c,a.groupType);null==
e?(null==JS.WyckoffFinder.nullHelper&&(JS.WyckoffFinder.nullHelper=new JS.WyckoffFinder(null)),JS.WyckoffFinder.helpers.put(c,JS.WyckoffFinder.nullHelper)):JS.WyckoffFinder.helpers.put(c,e);return e},"JV.Viewer,JS.SpaceGroup");e(c,"findPositionFor",function(b,a){if(null!=this.positions)for(var c=a.equals("G"),e=c?1:this.npos;0<=--e;){var k=this.positions.get(e),g=k.get("label");if(c||g.equals(a))return c=k.get("coord"),null!=c&&JS.WyckoffFinder.getWyckoffCoord(c,0,g).project(b),b}return null},"JU.P3,~S");
e(c,"getInfo",function(b,a,c,e,k){b=this.createInfo(b,a,c,e,k);return null==b?"?":b},"JS.UnitCell,JU.P3,~N,~B,~B");c.wrap=e(c,"wrap",function(b,a){return a.appendC("(").append(b).appendC(")")},"~S,JU.SB");e(c,"createInfo",function(b,a,c,e){switch(c){case 83:return this.getCenteringStr(-1," ",null).toString().trim();case 67:e=Array(this.centerings.length);for(var k=e.length;0<=--k;)e[k]=this.centerings[k];return e;case 42:var g=new JU.SB;this.getCenteringStr(-1,"+",g);for(k=this.npos;0<=--k;){var h=
this.positions.get(k),l=(e?""+h.get("mult"):"")+h.get("label");g.appendC("\n").append(l);JS.WyckoffFinder.getList(0==k?this.gpos:h.get("coord"),l,g,0==k?this.ncent:0)}return g.toString();case -4:e=Array(this.npos);for(k=0;k<this.npos;k++)h=this.positions.get(k),e[k]=this.findPositionFor(JU.P3.newP(a),h.get("label")),b.toCartesian(e[k],!1);return Z(-1,[e,"AlB C D FeF GaHeI GeK LiMgN OsP CaRhS T U V W XeYbZnAm"]);case -1:case -2:case -3:for(k=this.npos;0<=--k;){h=this.positions.get(k);l=(e?""+h.get("mult"):
"")+h.get("label");if(0==k)switch(c){case -1:return l;case -2:return"(x,y,z)";case -3:return b=new JU.SB,b.append(l).appendC(" "),this.getCenteringStr(-1,"+",b).appendC(" "),JS.WyckoffFinder.getList(this.gpos,l,b,this.ncent),b.toString()}for(var g=h.get("coord"),h=0,j=g.size();h<j;h++){var n=JS.WyckoffFinder.getWyckoffCoord(g,h,l);if(n.contains(this,b,a))switch(c){case -1:return l;case -2:return n.asString(null,!0).toString();case -3:return b=new JU.SB,b.append(l).appendC(" "),this.getCenteringStr(-1,
"+",b).appendC(" "),JS.WyckoffFinder.getList(g,l,b,0),b.toString()}}}break;default:j=""+String.fromCharCode(c);g=71==c;a=new JU.P3;for(k=g?1:this.npos;0<=--k;)if(h=this.positions.get(k),l=h.get("label"),g||l.equals(j)){b=new JU.SB;g&&b.append(l).appendC(" ");g=0==k?this.gpos:h.get("coord");JS.WyckoffFinder.getList(g,(e?h.get("mult"):"")+j,b,0);if(0<k&&0<this.ncent){k=new JU.M4;for(e=0;e<this.ncent;e++)this.addCentering(g,this.centerings[e],k,a,b)}return b.toString()}}return null},"JS.UnitCell,JU.P3,~N,~B,~B");
c.createHelper=e(c,"createHelper",function(b,a,c){var e=0<c?a.substring(2):a,k=e.indexOf(":"),e=JU.PT.parseInt(0>k?e:e.substring(0,k));if(!JS.SpaceGroup.isInRange(e,c,!1,!1))return null;c=JS.Symmetry.getITJSONResource(b,c,e,null);if(null==c)return null;c=c.get("its");for(var k=null,g=!1,h=0,l=c.size();h<l;h++)if(k=c.get(h),a.equals(k.get("clegId"))){g=!0;break}if(!g||k.containsKey("more"))k=JS.SpaceGroup.fillMoreData(b,g?k:null,a,e,c.get(0));return new JS.WyckoffFinder(k)},"JV.Viewer,~S,~N");e(c,
"getCenteringStr",function(b,a,c){null==c&&(c=new JU.SB);if(0==this.ncent)return c;if(0<=b)return c.appendC(a),JS.WyckoffFinder.wrap(this.centeringStr[b],c);for(b=0;b<this.ncent;b++)c.appendC(a),JS.WyckoffFinder.wrap(this.centeringStr[b],c);return c},"~N,~S,JU.SB");c.getList=e(c,"getList",function(b,a,c,e){null==c&&(c=new JU.SB);e=0==e?b.size():E(b.size()/(e+1));for(var k=0;k<e;k++){var g=JS.WyckoffFinder.getWyckoffCoord(b,k,a);c.append(" ");g.asString(c,!1)}return c},"JU.Lst,~S,JU.SB,~N");e(c,"addCentering",
function(b,a,c,e,k){for(var g=b.size(),h=0;h<g;h++){var l=b.get(h);k.append(" ");l.asStringCentered(a,c,e,k)}},"JU.Lst,JU.P3,JU.M4,JU.P3,JU.SB");c.getWyckoffCoord=e(c,"getWyckoffCoord",function(b,a,c){var e=b.get(a);"string"==typeof e&&b.set(a,e=new JS.WyckoffFinder.WyckoffCoord(e,c));return e},"JU.Lst,~N,~S");var a=C(function(){this.type=0;this.label=this.xyz=null;this.thisCentering="";this.plane=this.line=this.point=this.op=null;L(this,arguments)},JS.WyckoffFinder,"WyckoffCoord",null);V(a,function(b,
a){this.xyz=b;this.label=a;this.create(b)},"~S,~S");e(a,"asStringCentered",function(b,a,c,e){a.setM4(this.op);a.add(b);a.getTranslation(c);c.x%=1;c.y%=1;c.z%=1;a.setTranslation(c);e.appendC(" ");b=","+JS.SymmetryOperation.getXYZFromMatrixFrac(a,!1,!0,!1,!0,!1,null)+",";b=JU.PT.rep(b,",,",",0,");b=JU.PT.rep(b,",+",",");e.appendC("(").append(b.substring(1,b.length-1)).appendC(")")},"JU.P3,JU.M4,JU.P3,JU.SB");e(a,"contains",function(b,a,c){var e=a.getPrecision();this.thisCentering=null;if(this.checkLatticePt(c,
e))return!0;if(null==b.centerings)return!1;for(var k=b.centerings.length;0<=--k;)if(JS.WyckoffFinder.WyckoffCoord.pc.add2(c,b.centerings[k]),a.unitize(JS.WyckoffFinder.WyckoffCoord.pc),this.checkLatticePt(JS.WyckoffFinder.WyckoffCoord.pc,e))return this.thisCentering=b.centeringStr[k],!0;return!1},"JS.WyckoffFinder,JS.UnitCell,JU.P3");e(a,"project",function(b){switch(this.type){case 1:b.setT(this.point);break;case 2:JU.Measure.projectOntoAxis(b,this.point,this.line,JS.WyckoffFinder.WyckoffCoord.vt);
break;case 3:JU.Measure.getPlaneProjection(b,this.plane,JS.WyckoffFinder.WyckoffCoord.vt,JS.WyckoffFinder.WyckoffCoord.vt),b.setT(JS.WyckoffFinder.WyckoffCoord.vt)}},"JU.P3");e(a,"asString",function(b,a){null==b&&(b=new JU.SB);JS.WyckoffFinder.wrap(this.xyz,b);a&&null!=this.thisCentering&&(b.appendC("+"),JS.WyckoffFinder.wrap(this.thisCentering,b));return b},"JU.SB,~B");e(a,"checkLatticePt",function(a,c){if(this.checkPoint(a,c))return!0;for(var d=62,e=-2;3>e;e++)for(var k=-2;3>k;k++)for(var g=-2;3>
g;g++,d--)if(0!=d&&(JS.WyckoffFinder.WyckoffCoord.p3.set(e,k,g),JS.WyckoffFinder.WyckoffCoord.p3.add(a),this.checkPoint(JS.WyckoffFinder.WyckoffCoord.p3,c)))return System.out.println(this.label+" "+this.xyz+" found for "+e+" "+k+" "+g),!0;return!1},"JU.P3,~N");e(a,"checkPoint",function(a,c){var d=1;switch(this.type){case 1:d=this.point.distance(a);break;case 2:JS.WyckoffFinder.WyckoffCoord.p1.setT(a);JU.Measure.projectOntoAxis(JS.WyckoffFinder.WyckoffCoord.p1,this.point,this.line,JS.WyckoffFinder.WyckoffCoord.vt);
d=JS.WyckoffFinder.WyckoffCoord.p1.distance(a);break;case 3:d=Math.abs(JU.Measure.getPlaneProjection(a,this.plane,JS.WyckoffFinder.WyckoffCoord.vt,JS.WyckoffFinder.WyckoffCoord.vt))}return d<c},"JU.P3,~N");e(a,"create",function(a){var c=(0<=a.indexOf("x")?1:0)+(0<=a.indexOf("y")?1:0)+(0<=a.indexOf("z")?1:0),d=D(16,0),e=JU.PT.split(this.xyz,",");JS.WyckoffFinder.WyckoffCoord.getRow(e[0],d,0);JS.WyckoffFinder.WyckoffCoord.getRow(e[1],d,4);JS.WyckoffFinder.WyckoffCoord.getRow(e[2],d,8);d[15]=1;this.op=
JU.M4.newA16(d);switch(c){case 0:this.type=1;this.point=JS.SymmetryOperation.toPoint(a,null);break;case 1:this.type=2;JS.WyckoffFinder.WyckoffCoord.p1.set(0.19,0.53,0.71);this.op.rotTrans(JS.WyckoffFinder.WyckoffCoord.p1);JS.WyckoffFinder.WyckoffCoord.p2.set(0.51,0.27,0.64);this.op.rotTrans(JS.WyckoffFinder.WyckoffCoord.p2);JS.WyckoffFinder.WyckoffCoord.p2.sub2(JS.WyckoffFinder.WyckoffCoord.p2,JS.WyckoffFinder.WyckoffCoord.p1);JS.WyckoffFinder.WyckoffCoord.p2.normalize();this.point=JU.P3.newP(JS.WyckoffFinder.WyckoffCoord.p1);
this.line=JU.V3.newV(JS.WyckoffFinder.WyckoffCoord.p2);break;case 2:this.type=3,JS.WyckoffFinder.WyckoffCoord.p1.set(0.19,0.51,0.73),this.op.rotTrans(JS.WyckoffFinder.WyckoffCoord.p1),JS.WyckoffFinder.WyckoffCoord.p2.set(0.23,0.47,0.86),this.op.rotTrans(JS.WyckoffFinder.WyckoffCoord.p2),JS.WyckoffFinder.WyckoffCoord.p3.set(0.1,0.2,0.3),this.op.rotTrans(JS.WyckoffFinder.WyckoffCoord.p3),this.plane=JU.Measure.getPlaneThroughPoints(JS.WyckoffFinder.WyckoffCoord.p1,JS.WyckoffFinder.WyckoffCoord.p2,JS.WyckoffFinder.WyckoffCoord.p3,
null,null,new JU.P4)}},"~S");a.getRow=e(a,"getRow",function(a,c,d){a=JU.PT.rep(a,"-","+-");a=JU.PT.rep(a,"x","*x");a=JU.PT.rep(a,"y","*y");a=JU.PT.rep(a,"z","*z");a=JU.PT.rep(a,"-*","-");a=JU.PT.rep(a,"+*","+");for(var e=JU.PT.split(a,"+"),k=e.length;0<=--k;)if(a=e[k],0!=a.length){var g=3;if(0<=a.indexOf("."))a=JU.PT.parseFloat(a),c[d+g]=a;else{var h=0,l=1;switch(a.charAt(0).charCodeAt(0)){case 45:l=-1;case 42:h++}for(var j=0,n=a.length,m=0;--n>=h;){var p=a.charAt(n);switch(p.charCodeAt(0)){case 120:g=
0;j=1;break;case 121:j=g=1;break;case 122:g=2;j=1;break;case 47:m=1,j=1/j;case 42:l*=j;j=0;break;default:p="0123456789".indexOf(p),0>p&&System.err.println("WH ????"),0==j?j=p:(m=0==m?10:10*m,j+=m*p)}}c[d+g]=l*j}}},"~S,~A,~N");m(a,"toString",function(){return this.asString(null,!1).toString()});a.p1=new JU.P3;a.p2=new JU.P3;a.p3=new JU.P3;a.pc=new JU.P3;a.vt=new JU.V3;c.nullHelper=null;c.helpers=new java.util.Hashtable});da("JS");ja(["JU.M4"],"JS.CLEG","java.util.Arrays JU.AU $.BS $.P3 $.PT JS.SV JS.SpaceGroup $.UnitCell JV.Viewer".split(" "),
function(){var c=$a(JS,"CLEG",null);c.standardizeTokens=e(c,"standardizeTokens",function(a,c){for(var d=a.length;0<=--d;){var e=a[d];if(0!=e.length){e=JS.CLEG.cleanCleg000(e);if(e.endsWith(":h"))e.startsWith("R")||(e=e.substring(0,e.length-2));else if(c||!e.endsWith(":2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c"))e.endsWith(":r")?e.startsWith("R")||(e=e.substring(0,e.length-1)+"2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c"):e.equals("r")?e="2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c":e.equals("h")&&
(e="a-b,b-c,a+b+c");a[d]=e}}System.out.println("MK StandardizeTokens "+java.util.Arrays.toString(a))},"~A,~B");c.cleanCleg000=e(c,"cleanCleg000",function(a){return a.endsWith(";0,0,0")?a.substring(0,a.length-6):a},"~S");c.isProbableClegSetting=e(c,"isProbableClegSetting",function(a){var c=a.indexOf(":"),d=JS.SpaceGroup.getExplicitSpecialGroupType(a);return 0<=d&&0<c&&0<JS.SpaceGroup.getITNo(0==d?a:a.substring(2),c)&&a.indexOf(",")>c?c:0},"~S");c.checkFullSyntax=e(c,"checkFullSyntax",function(a,c,
d){for(var e=0;e<a.length;e++){var k=a[e].trim();if(!(null==k||0==k.length||k.startsWith("sub")||k.startsWith("super"))){var g=JS.SpaceGroup.getExplicitSpecialGroupType(k);0<g&&(k=k.substring(2));var h=k.indexOf(":"),l=k.indexOf(",",h+1),j=k.indexOf("."),n=0<h&&l>h,m=k.indexOf("]"),m=0<m&&"["==k.charAt(0)&&(0>h||h==m+1)?1:JU.PT.parseFloatStrict(0<h?k.substring(0,h):k);if(Float.isNaN(m)){if(0<j||n)return!1}else if(!JS.SpaceGroup.isInRange(m,g,!n,d&&0==g))return!1;if(!(0>l)&&(k=0<h?k.substring(h+1):
k,0==c.convertTransform(k,null).determinant3()))return!1}}return!0},"~A,J.api.SymmetryInterface,~B");c.getCalcType=e(c,"getCalcType",function(a){return 0==a.length||a.equals("sub")?"sub":"s"!=a.charAt(0)?null:a.startsWith("sub(")?"sub(":a.equals("super")?"super":a.startsWith("super(")?"super(":null},"~S");c.isTransformOnly=e(c,"isTransformOnly",function(a){return JS.CLEG.isTransform(a,!1)&&0>a.indexOf(":")},"~S");c.isTransform=e(c,"isTransform",function(a,c){return 0==a.length||(0<a.indexOf(",")||
0<="!r!h".indexOf(a))||c&&(a.endsWith(":r")||a.endsWith(":h"))},"~S,~B");e(c,"getMatrixTransform",function(a,c,d){0==c.length&&(c=".");0>c.indexOf(">")&&!c.equals(".")&&(c=">>"+c);var e=JU.PT.split(c,">");0==e[0].length&&(e[0]="ref");var k=new JS.CLEG.ClegData(a.getSymTemp(),e),g=$(d,"java.util.Map")?d:null;d=null==g&&$(d,"JU.Lst")?d:null;k.setReturnMap(g);k.setReturnLst(d);a=JS.CLEG.assignSpaceGroup(k,new JS.CLEG.AssignedSGParams(a,c.equals(".")));if(0<a.indexOf("!"))return System.err.println(a),
null!=g&&g.put("error",a),null;null==d&&null==g&&(System.out.println("CLEG transform: "+JU.PT.join(e,">",0)),c=k.abcFor(k.trMat),System.out.println("CLEG transform: "+e[0]+">"+c+">"+e[e.length-1]));return k.trMat},"JV.Viewer,~S,~O");e(c,"transformSpaceGroup",function(a,c,d,e,k){var g=a.getCurrentUnitCell(),h=a.getOperativeSymmetry();null!=g&&h!==g&&h.getUnitCell(g.getV0abc(null,null),!1,"modelkit");0<=d.indexOf("<")&&(d=JU.PT.rep(d,"<<",">super>").$replace("<",">"));if(0==d.length||d.endsWith(">"))d+=
".";g=new JS.CLEG.ClegData(a.getSymTemp(),JU.PT.split(d,">"));a=new JS.CLEG.AssignedSGParams(a,h,c,e,0,!1,k,d.equals("."));c=JS.CLEG.assignSpaceGroup(g,a);if(c.endsWith("!"))return c;a.mkIsAssign&&k.append(c);return c},"JV.Viewer,JU.BS,~S,~O,JU.SB");c.assignSpaceGroup=e(c,"assignSpaceGroup",function(a,c){var d=c.vwr,e=c.mkIndex,k=a.tokens,g=0>e;g&&(e=0);if(e>=k.length)return"invalid CLEG expression!";var h=null!=c.mkParamsOrUC;if(1<k.length&&h)return"invalid syntax - can't mix transformations and UNITCELL option!";
0==e&&!g&&JS.CLEG.standardizeTokens(k,!1);var l=e==k.length-1,j=k[e].trim(),m=j.equals("."),q=l?m:JS.CLEG.isTransformOnly(k[e+1])&&0<k[e+1].length;if(0==e){if(0==j.length||m){if(null==c.mkSym00)return"no starting space group for CLEG!";if(!c.mkIsAssign)return k[0]=c.mkSym00.getSpaceGroupClegId(),c.mkIndex=m&&l?0:1,c.mkWasNode=1==c.mkIndex,c.mkIgnoreAllSettings=q,JS.CLEG.assignSpaceGroup(a,c)}if(c.mkIsAssign&&null==c.mkSym00)return"no starting space group for calculation!"}var p=null!=JS.CLEG.getCalcType(j);
if((p||JS.CLEG.isTransformOnly(j))!=c.mkWasNode)return"invalid CLEG expression, not node>transform>node>transform>....!";c.mkWasNode=!c.mkWasNode;var x=p?j:null;p&&(j=k[++e].trim(),l=e==k.length-1);l&&(m&&null!=a.getPrevNode())&&(j=a.getPrevNode().getCleanITAName());var r=j.lastIndexOf(":"),t=null==c.mkSym00,s=!1,v=JS.CLEG.isTransform(j,!1),C=v&&!(v&&0<=r),w=!1,B=!1,r=a.sym,v=null;if(!C&&(a.setSymmetry(r),v=new JS.CLEG.ClegNode(a,e,j),null!=a.errString))return a.errString;if(null==a.getPrevNode()){if(!JS.CLEG.checkFullSyntax(k,
r,JS.CLEG.allow300))return"invalid CLEG expression!";if(!c.mkCalcOnly&&!C&&t&&!v.isDefaultSetting()){w=Z(-1,[v.specialPrefix+v.myIta]);t=c.mkCalcOnly?new JS.CLEG.AssignedSGParams(d,!1):new JS.CLEG.AssignedSGParams(d,null,null,c.mkParamsOrUC,-1,!0,c.mkSb,!1);w=new JS.CLEG.ClegData(d.getSymTemp(),w);t=JS.CLEG.assignSpaceGroup(w,t);if(t.endsWith("!"))return t;c.mkCalcOnly?(r=c.mkSym00=w.sym,a.trMat=w.trMat):c.mkSym00=d.getOperativeSymmetry();if(null==c.mkSym00)return"CLEG spacegroup initialization error!";
t=!1;w=!0}var B=0==e&&(!c.mkCalcOnly&&!t&&q||c.mkIsAssign),q=t?null:c.mkSym00.getSpaceGroupClegId(),z=null;if(!t&&!(null==q||q.equals("0"))){var E=q.indexOf(":");0<E&&(z=q.substring(E+1),q=q.substring(0,E));B&&(z=c.mkSym00.getSpaceGroupInfoObj("itaTransform",null,!1,!1))}null==a.trMat&&(a.trMat=new JU.M4,a.trMat.setIdentity());if(!c.mkIsAssign&&(a.setSymmetry(r),a.setPrevNode(new JS.CLEG.ClegNode(a,-1,null==q?null:q+":"+z)),c.mkIgnoreAllSettings&&a.getPrevNode().disable(),!a.getPrevNode().update(a)))return a.errString}if(p&&
!a.getPrevNode().setCalcNext(a,x))return a.errString;if(C){if(l)return"CLEG pathway is incomplete!";0<j.length&&a.addTransform(e,j);++c.mkIndex;return JS.CLEG.assignSpaceGroup(a,c)}if(!B){a.setSymmetry(r);if(!v.update(a))return a.errString;l&&m&&a.setNodeTransform(v);a.updateTokens(v)}if(!l)return c.mkIndex++,a.setPrevNode(v),JS.CLEG.assignSpaceGroup(a,c);m=l=e=null;e=!h||!JU.AU.isAD(c.mkParamsOrUC)?null:c.mkParamsOrUC;t&&(r.setUnitCellFromParams(null==e?D(-1,[10,10,10,90,90,90]):e,!1,NaN),c.mkParamsOrUC=
null,h=!1);h?JU.AU.isAD(c.mkParamsOrUC)?e=c.mkParamsOrUC:(l=c.mkParamsOrUC,m=l[0]):t||(a.setSymmetry(r=c.mkSym00),null==a.trMat&&(a.trMat=new JU.M4,a.trMat.setIdentity()),l=r.getV0abc(Z(-1,[a.trMat]),null),m=l[0]);null!=l&&(e=r.getUnitCell(l,!1,"assign").getUnitCellParams(),null==m&&(m=l[0]));h=j.equalsIgnoreCase("P1")||j.equals("ITA/1.1");try{var A,I,p=-1;if(c.mkCalcOnly)c.mkBitset=A=new JU.BS,I=!0;else{if(null!=c.mkBitset&&c.mkBitset.isEmpty())return"no atoms specified!";A=d.getThisModelAtoms();
var L=h?A:JS.SV.getBitSet(d.evaluateExpressionAsVariable("{within(unitcell)}"),!0);null==c.mkBitset&&(c.mkBitset=A);null!=c.mkBitset&&(A.and(c.mkBitset),h||A.and(L));p=(I=A.isEmpty())&&0>d.am.cmi?0:I?d.am.cmi:d.ms.at[A.nextSetBit(0)].getModelIndex();c.mkIsAssign||d.ms.getModelAuxiliaryInfo(p).remove("spaceGroupInfo")}!t&&!c.mkIsAssign&&r.saveOrRetrieveTransformMatrix(a.trMat);null==e&&(e=r.getUnitCellMultiplied().getUnitCellParams());var s=(new Boolean(s|c.mkIsAssign)).valueOf(),Q=I&&s?null:d.findSpaceGroup(r,
s?A:null,s?null:v.getName(),e,m,l,2|(c.mkCalcOnly?16:0)|(!t||c.mkIsAssign?0:4));if(null==Q)return"Space group "+v.getName()+" is unknown or not compatible!";if(null==l||t)l=Q.get("unitcell");var j=Q.get("name"),O=Q.get("jmolId"),X=Q.get("basis"),M=Q.remove("sg");r.getUnitCell(l,!1,null);r.setSpaceGroupTo(null==M?O:M);r.setSpaceGroupName(j);if(c.mkCalcOnly)return a.setSymmetry(r),"OK";null==X&&(X=r.removeDuplicates(d.ms,A,!0));d.ms.setSpaceGroup(p,r,X);if(c.mkIsAssign)return j;(t||w)&&d.runScript("unitcell on; center unitcell;axes unitcell; axes 0.1; axes on;set perspectivedepth false;moveto 0 axis c1;draw delete;show spacegroup");
var F=a.abcFor(a.trMat);if(!g){JS.CLEG.standardizeTokens(k,!0);var U=JU.PT.join(k,">",0)+(X.isEmpty()?"":"\n basis="+X);System.out.println("CLEG="+U);c.mkSb.append(U).append("\n")}return F}catch(V){if(P(V,Exception))return JV.Viewer.isJS||V.printStackTrace(),V.getMessage()+"!";throw V;}},"JS.CLEG.ClegData,JS.CLEG.AssignedSGParams");var a=C(function(){this.retLst=this.retMap=this.prevNode=this.trTemp=this.trLink=this.errString=this.trMat=this.sym=this.tokens=null;this.asM4=!1;L(this,arguments)},JS.CLEG,
"ClegData",null);ka(a,function(){this.trTemp=new JU.M4});V(a,function(a,c){this.tokens=c;this.sym=a},"J.api.SymmetryInterface,~A");e(a,"setSymmetry",function(a){this.sym=a},"J.api.SymmetryInterface");e(a,"addSGTransform",function(a,c){null==this.trMat&&(System.out.println("ClegData reset"),this.trMat=new JU.M4,this.trMat.setIdentity());null!=a&&this.trMat.mul(this.matFor(a));null!=c&&System.out.println("ClegData adding "+c+" "+a+" now "+this.abcFor(this.trMat));return this.trMat},"~S,~S");e(a,"abcFor",
function(a){return this.sym.staticGetTransformABC(a,!1)},"JU.M4");e(a,"matFor",function(a){return this.sym.convertTransform(a,0<a.indexOf(">")?null:this.trTemp)},"~S");e(a,"removePrevNodeTrm",function(){null!=this.prevNode&&(null!=this.prevNode.myTrm&&!this.prevNode.disabled)&&this.addSGTransform("!"+this.prevNode.myTrm,"!prevNode.myTrm")});e(a,"calculate",function(a){a.invert();var c=JU.M4.newM4(this.trMat);c.mul(a);return this.sym.convertTransform(null,c)},"JU.M4");e(a,"updateTokens",function(a){var c=
a.index,d=a.name,d=d.startsWith("ITA/")?d.substring(4):a.myIta+":"+a.myTrm;this.setToken(c,d);null!=a.calculated&&0<c&&this.setToken(c-1,a.calculated)},"JS.CLEG.ClegNode");e(a,"setToken",function(a,c){this.tokens[a]=c},"~N,~S");e(a,"addTransformLink",function(){null==this.trLink&&(this.trLink=new JU.M4,this.trLink.setIdentity());this.trLink.mul(this.trTemp)});e(a,"setNodeTransform",function(a){a.myTrm=this.abcFor(this.trMat);a.setITAName()},"JS.CLEG.ClegNode");e(a,"addTransform",function(a,c){this.addSGTransform(c,
">t>");this.addTransformLink();System.out.println("CLEG.addTransform index="+a+" trm="+this.trMat)},"~N,~S");e(a,"getPrevNode",function(){return this.prevNode});e(a,"setPrevNode",function(a){return this.prevNode=a},"JS.CLEG.ClegNode");e(a,"addPrimitiveTransform",function(a,c){var d=this.sym.getSpaceGroupInfoObj("hmName",a+":"+c,!1,!1);if(null==d)return c;d=d.charAt(0);if(0>"ABCFI".indexOf(d))return c;d=JU.M4.newMV(JS.UnitCell.getPrimitiveTransform(d),JU.P3.new3(0,0,0));d.mul(this.matFor(c));return this.abcFor(d)},
"~S,~S");e(a,"setReturnMap",function(a){null!=a&&(this.asM4=a.get("ASM4")===Boolean.TRUE,a.clear());this.retMap=a},"java.util.Map");e(a,"setReturnLst",function(a){null!=a&&a.clear();this.retLst=a},"JU.Lst");a=C(function(){this.myTrm=this.myIta=this.name=null;this.index=0;this.calcNext=null;this.calcIndexMax=this.calcIndexMin=this.calcDepthMax=this.calcDepthMin=this.calcI2=this.calcI1=0;this.calculated=null;this.isThisModelCalc=this.disabled=!1;this.hallSymbol=null;this.specialType=0;this.specialPrefix=
"";L(this,arguments)},JS.CLEG,"ClegNode",null);V(a,function(a,c,d){null!=d&&(this.index=c,this.init(a,d))},"JS.CLEG.ClegData,~N,~S");e(a,"disable",function(){this.disabled=!0});e(a,"checkSpecial",function(a){switch(this.specialType=JS.SpaceGroup.getExplicitSpecialGroupType(a)){case -1:return null;case 0:if(!JS.CLEG.allow300)return a;var c=a.indexOf("."),c=0<c?a.substring(0,c):a,d=JS.SpaceGroup.getITNo(c,0);if(300>d)return a;if(600<d)return null;this.specialType=100*E(d/100);this.specialPrefix=JS.SpaceGroup.getGroupTypePrefix(d);
return""+(d-this.specialType)+a.substring(c.length);default:return this.specialPrefix=a.substring(0,2),a.substring(2)}},"~S");e(a,"init",function(a,c){var d=JS.CLEG.isProbableClegSetting(c);0<d&&(this.myIta=c.substring(0,d),this.myTrm=c.substring(d+1));c.equals("ref")&&(this.isThisModelCalc=!0);c=this.checkSpecial(c);var e=c.endsWith(":p");e&&(c=c.substring(0,c.length-2));var k=c.startsWith("ITA/");k&&(c=this.checkSpecial(c.substring(4)));var g=!1,h=this.hallSymbol=null;if(0==this.specialType&&"["==
c.charAt(0)){d=c.indexOf("]");if(0>d){a.errString="invalid Hall symbol: "+c+"!";return}this.hallSymbol=c.substring(1,d);d=this.hallSymbol.indexOf("(");0<d&&(h=this.hallSymbol.substring(d+1,this.hallSymbol.length-1)+" ",this.hallSymbol=this.hallSymbol.substring(0,d).trim(),h=JU.PT.rep(h," ","/12,"),h="a,b,c;"+h.substring(0,h.length-1));d=c.indexOf(":");0<d&&(this.myTrm=c.substring(d+1));c="Hall:"+this.hallSymbol}else c.startsWith("HM:")?g=!0:3>=c.length&&(k=0<JS.SpaceGroup.getITNo(c,0))&&(c=this.checkSpecial(c)+
".1");!k&&(null==this.hallSymbol&&!g)&&(d=JU.PT.isDigit(c.charAt(0))?c.indexOf(" "):-1,0<d&&(c=c.substring(0,d)),0<c.indexOf(".")&&!Float.isNaN(JU.PT.parseFloat(c))&&(k=!0));if(k){this.myTrm=c.endsWith(".1")?"a,b,c":a.sym.getSpaceGroupInfoObj("itaTransform",this.specialPrefix+c,!1,!1);if(null==this.myTrm){a.errString="Unknown ITA setting: "+this.specialPrefix+c+"!";return}this.myIta=JU.PT.split(c,".")[0]}else null==this.myIta&&(this.myIta=a.sym.getSpaceGroupInfoObj("itaNumber",this.specialPrefix+
c,!1,!1)),null==this.myTrm&&(this.myTrm=a.sym.getSpaceGroupInfoObj("itaTransform",this.specialPrefix+c,!1,!1)),null!=this.hallSymbol&&null!=h&&(this.myTrm=h+(this.myTrm.equals("a,b,c")?"":">"+this.myTrm));"0".equals(this.myIta)?a.errString="Could not get ITA space group for "+c+"!":(e&&(this.myTrm=a.addPrimitiveTransform(this.myIta,this.myTrm)),this.setITAName())},"JS.CLEG.ClegData,~S");e(a,"setITAName",function(){return this.name="ITA/"+this.specialPrefix+this.myIta+":"+this.myTrm});e(a,"update",
function(a){if(null!=a.errString)return!1;if(null==this.name)return!0;var c=a.prevNode;c.isThisModelCalc&&(c.myIta=this.myIta);if(!(null==a.trLink&&null!=this.myIta&&(this.myIta.equals(c.myIta)||null!=c.calcNext)))return!0;var d=JU.M4.newM4(a.trMat);a.removePrevNodeTrm();var e=null;if(null!=c.calcNext){var k=!0,g=e=!1;switch(c.calcNext){case "super(":case "sub(":g=!0;break;case "super":k=!1;break;case "":case "set":c.calcNext="set",e=!0}var h=JU.PT.parseInt(c.myIta),l=JU.PT.parseInt(this.myIta);if(g||
!(null==a.retLst&&(null==a.retMap||a.asM4)&&e&&h==l)){e=a.sym.getSubgroupJSON(k?c.name:this.name,k?this.name:c.name,c.calcI1,c.calcI2,c.calcIndexMax<<24|c.calcIndexMin<<16|c.calcDepthMax<<8|c.calcDepthMin,a.retMap,a.retLst);if(g=null!=e){if(e.endsWith("!"))return a.errString=e,!1;k||(e="!"+e)}c=c.myIta+">"+(g?e:"?")+">"+this.myIta;if(!g)return a.errString=c+"!",!1;a.addSGTransform(e,"sub")}}this.disabled||a.addSGTransform(this.myTrm,"myTrm");this.calculated=a.calculate(d);System.out.println("calculated is "+
this.calculated+(null==a.retMap?"":" for the path "+a.retMap.get("indexPath")));return!0},"JS.CLEG.ClegData");e(a,"getName",function(){return this.name});e(a,"getCleanITAName",function(){var a=this.name.startsWith("ITA/")?this.name.substring(4):this.name;0!=this.specialType&&!a.startsWith(this.specialPrefix)&&(a=this.specialPrefix+a);return a});e(a,"isDefaultSetting",function(){return null==this.myTrm||JS.CLEG.cleanCleg000(this.myTrm).equals("a,b,c")});e(a,"setCalcNext",function(a,c){var d=c.length;
switch(0==d?c:JS.CLEG.getCalcType(c)){case "sub":if(null!=a.retLst||null!=a.retMap){d=0;break}case "super":this.calcI2=this.calcI1=1;d=3;break;case "sub(":d=-3;break;case "super(":d=-5}for(var e=!0;;){if(0==d)this.calcIndexMin=2,this.calcIndexMax=255,this.calcDepthMin=1,this.calcDepthMax=255,e=!1;else if(0<d)this.calcIndexMin=2,this.calcIndexMax=255,this.calcDepthMax=this.calcDepthMin=1,e=!1;else{if(c.indexOf(")")!=c.length-1)break;var k=JU.PT.split(JU.PT.trim(c.toLowerCase().substring(-d+1),")"),
",");try{if(5==c.length||0<=c.indexOf("=")){this.calcIndexMin=2;this.calcIndexMax=255;this.calcDepthMin=1;this.calcDepthMax=255;c=c.substring(0,-d);for(var g=k.length;0<=--g;){var h=k[g],l=Math.min(255,Integer.parseInt(h.substring(h.indexOf("=")+1)));h.startsWith("indexmax=")?this.calcIndexMax=Math.max(2,l):h.startsWith("indexmin=")?this.calcIndexMin=Math.max(2,l):h.startsWith("index=")&&(this.calcIndexMin=this.calcIndexMax=Math.max(2,l));h.startsWith("depthmax=")?this.calcDepthMax=Math.max(1,l):
h.startsWith("depthmin=")?this.calcDepthMin=Math.max(1,l):h.startsWith("depth=")&&(this.calcDepthMin=this.calcDepthMax=Math.max(1,l))}}else switch(k.length){case 2:this.calcI2=Math.max(0,Integer.parseInt(k[1]))&255;case 1:this.calcI1=Math.max(1,Integer.parseInt(k[0]))&255}c=c.substring(0,-d);e=!1}catch(j){if(!P(j,Exception))throw j;}}break}if(e)return a.errString="Error parsing CLEG "+c+"!",!1;this.calcNext=c;return!0},"JS.CLEG.ClegData,~S");m(a,"toString",function(){return"[ClegNode #"+this.index+
" "+this.name+"   "+this.myIta+":"+this.myTrm+(this.disabled?" disabled":"")+"]"});a=C(function(){this.vwr=null;this.mkIsAssign=this.mkCalcOnly=!1;this.mkSb=null;this.mkIgnoreAllSettings=!1;this.mkParamsOrUC=this.mkBitset=this.mkSym00=null;this.mkWasNode=!1;this.mkIndex=0;L(this,arguments)},JS.CLEG,"AssignedSGParams",null);V(a,function(a,c){this.vwr=a;this.mkCalcOnly=!0;this.mkIsAssign=!1;this.mkSb=null;c&&(this.mkSym00=a.getOperativeSymmetry())},"JV.Viewer,~B");V(a,function(a,c,d,e,k,g,h,l){this.vwr=
a;this.mkCalcOnly=!1;this.mkIndex=k;this.mkSym00=c;this.mkBitset=d;this.mkParamsOrUC=e;this.mkIgnoreAllSettings=g;this.mkSb=h;this.mkIsAssign=l},"JV.Viewer,J.api.SymmetryInterface,JU.BS,~O,~N,~B,JU.SB,~B");c.allow300=!1})})(Clazz,Clazz.getClassName,Clazz.newLongArray,Clazz.doubleToByte,Clazz.doubleToInt,Clazz.doubleToLong,Clazz.declarePackage,Clazz.instanceOf,Clazz.load,Clazz.instantialize,Clazz.decorateAsClass,Clazz.floatToInt,Clazz.floatToLong,Clazz.makeConstructor,Clazz.defineEnumConstant,Clazz.exceptionOf,
Clazz.newIntArray,Clazz.newFloatArray,Clazz.declareType,Clazz.prepareFields,Clazz.superConstructor,Clazz.newByteArray,Clazz.declareInterface,Clazz.newShortArray,Clazz.innerTypeInstance,Clazz.isClassDefined,Clazz.prepareCallback,Clazz.newArray,Clazz.castNullAs,Clazz.floatToShort,Clazz.superCall,Clazz.decorateAsType,Clazz.newBooleanArray,Clazz.newCharArray,Clazz.implementOf,Clazz.newDoubleArray,Clazz.overrideConstructor,Clazz.clone,Clazz.doubleToShort,Clazz.getInheritedLevel,Clazz.getParamsType,Clazz.isAF,
Clazz.isAB,Clazz.isAI,Clazz.isAS,Clazz.isASS,Clazz.isAP,Clazz.isAFloat,Clazz.isAII,Clazz.isAFF,Clazz.isAFFF,Clazz.tryToSearchAndExecute,Clazz.getStackTrace,Clazz.inheritArgs,Clazz.alert,Clazz.defineMethod,Clazz.overrideMethod,Clazz.declareAnonymous,Clazz.cloneFinals);
