(function(ua,va,wa,xa,K,ya,W,V,ca,aa,M,v,za,ja,Aa,fa,O,y,Ba,la,ra,Ca,Da,Ea,ma,sa,ta,H,Fa,Ga,pa,Ha,Ia,Ja,Ka,qa,La,Ma,Na,Oa,Pa,Qa,Ra,Sa,Ta,Ua,Va,Wa,Xa,Ya,Za,$a,ab,bb,cb,d,l){W("J.adapter.smarter");ca(["JU.P3","$.SB"],"J.adapter.smarter.XtalSymmetry","java.util.Hashtable JU.BS $.Lst $.M3 $.M4 $.P3i $.PT $.V3 J.adapter.smarter.Atom JS.Symmetry $.SymmetryOperation JU.BSUtil $.SimpleUnitCell".split(" "),function(){var b=M(function(){this.sym2=this.baseSymmetry=this.asc=this.acr=null;this.doCentroidUnitCell=
this.centroidPacked=this.applySymmetryToBonds=!1;this.doNormalize=!0;this.doPackUnitCell=!1;this.unitCellTranslations=this.latticeCells=this.unitCellParams=this.trajectoryUnitCells=null;this.packingRange=this.symmetryRange=0;this.bondsFound=this.filterSymop=null;this.ndims=3;this.firstAtom=0;this.crystalReaderLatticeOpsOnly=!1;this.nVib=this.noSymmetryCount=this.latticeOp=0;this.mTemp=this.ptTemp=null;this.rmaxz=this.rmaxy=this.rmaxx=this.rminz=this.rminy=this.rminx=0;this.maxXYZ0=this.minXYZ0=this.maxXYZ=
this.minXYZ=this.ptOffset=null;this.checkAll=!1;this.bondCount0=0;this.symmetry=null;this.checkNearAtoms=!1;this.disorderMap=null;this.disorderMapMax=0;aa(this,arguments)},J.adapter.smarter,"XtalSymmetry",null);la(b,function(){this.bondsFound=new JU.SB;this.ptOffset=new JU.P3});ja(b,function(){});d(b,"set",function(a){this.acr=a;this.asc=a.asc;this.getSymmetry();return this},"J.adapter.smarter.AtomSetCollectionReader");d(b,"getSymmetry",function(){return null==this.symmetry?this.symmetry=this.acr.getInterface("JS.Symmetry"):
this.symmetry});d(b,"setSymmetry",function(a){return this.symmetry=a},"J.api.SymmetryInterface");d(b,"setSymmetryRange",function(a){this.symmetryRange=a;this.asc.setInfo("symmetryRange",Float.$valueOf(a))},"~N");d(b,"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});d(b,"setUnitCell",function(a,c,e){this.unitCellParams=y(a.length,0);for(var m=0;m<a.length;m++)this.unitCellParams[m]=a[m];this.asc.haveUnitCell=!0;this.asc.setCurrentModelInfo("unitCellParams",this.unitCellParams);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!=e&&(this.symmetry.setOffsetPt(e),this.asc.setCurrentModelInfo("unitCellOffset",e));null!=c&&(this.symmetry.initializeOrientation(c),this.asc.setCurrentModelInfo("matUnitCellOrientation",c))},"~A,JU.M3,JU.P3");d(b,"addSpaceGroupOperation",
function(a,c){this.symmetry.setSpaceGroup(this.doNormalize);c&&1==this.symmetry.getSpaceGroupOperationCount()&&this.setLatticeCells();return this.symmetry.addSpaceGroupOperation(a,0)},"~S,~B");d(b,"setLatticeParameter",function(a){this.symmetry.setSpaceGroup(this.doNormalize);this.symmetry.setLattice(a)},"~N");d(b,"applySymmetryFromReader",function(a){this.asc.setCoordinatesAreFractional(this.acr.iHaveFractionalCoordinates);this.setAtomSetSpaceGroupName(this.acr.sgName);this.setSymmetryRange(this.acr.symmetryRange);
if(this.acr.doConvertToFractional||this.acr.fileCoordinatesAreFractional){this.setLatticeCells();var c=!0;if(this.acr.ignoreFileSpaceGroupName||!this.acr.iHaveSymmetryOperators){if(!this.acr.merging||null==a)a=this.acr.getNewSymmetry();c=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);c?(null!=a&&this.setSpaceGroupFrom(a),
this.applySymmetryLattice(),null!=a&&null==this.filterSymop&&this.setAtomSetSpaceGroupName(a.getSpaceGroupName())):this.setUnitCellSafely()}if(this.acr.iHaveFractionalCoordinates&&this.acr.merging&&null!=a){for(var c=this.asc.atoms,e=this.asc.getLastAtomSetAtomIndex(),m=this.asc.ac;e<m;e++)a.toCartesian(c[e],!0);this.asc.setCoordinatesAreFractional(!1);this.acr.addVibrations=!1}return this.symmetry},"J.api.SymmetryInterface");d(b,"setSpaceGroupFrom",function(a){this.getSymmetry().setSpaceGroupTo(a.getSpaceGroup())},
"J.api.SymmetryInterface");d(b,"setAtomSetSpaceGroupName",function(a){this.symmetry.setSpaceGroupName(a);this.asc.setCurrentModelInfo("spaceGroup",a+"")},"~S");d(b,"applySymmetryLattice",function(){if(this.asc.coordinatesAreFractional&&null!=this.symmetry.getSpaceGroup()){this.sym2=null;var a=this.latticeCells[0],c=this.latticeCells[1],e=Math.abs(this.latticeCells[2]),m=this.latticeCells[3];this.firstAtom=this.asc.getLastAtomSetAtomIndex();var b=this.asc.bsAtoms;null!=b&&(this.updateBSAtoms(),this.firstAtom=
b.nextSetBit(this.firstAtom));this.rminx=this.rminy=this.rminz=3.4028235E38;this.rmaxx=this.rmaxy=this.rmaxz=-3.4028235E38;var f=null;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)));
if(null!=this.acr.latticeType){this.asc.setCurrentModelInfo("latticeType",this.acr.latticeType);var g=this.acr.fillRange;if("string"==typeof g){this.setUnitCellSafely();var h=g;h.equals("conventional")?g=this.symmetry.getConventionalUnitCell(this.acr.latticeType,this.acr.primitiveToCrystal):h.equals("primitive")?(g=this.symmetry.getUnitCellVectors(),this.symmetry.toFromPrimitive(!0,this.acr.latticeType.charAt(0),g,this.acr.primitiveToCrystal)):"R".equals(this.acr.latticeType)&&h.equals("rhombohedral")?
h=1==this.symmetry.getUnitCellInfoType(7)?"2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c":null:"R".equals(this.acr.latticeType)&&h.equals("trigonal")?h=1==this.symmetry.getUnitCellInfoType(8)?"a-b,b-c,a+b+c":null:(0>h.indexOf(",")||0>h.indexOf("a")||0>h.indexOf("b")||h.indexOf("c"),h=null);if(null!=h&&"string"==typeof g&&null==(g=this.symmetry.getV0abc(h,null)))h=null;null==h?(this.acr.appendLoadNote(this.acr.fillRange+" symmetry could not be implemented"),this.acr.fillRange=null):(this.acr.fillRange=
g,this.acr.addJmolScript("unitcell "+JU.PT.esc(h)))}}if(null!=this.acr.fillRange){g=this.acr.fillRange;b=this.updateBSAtoms();this.acr.forcePacked=!0;this.doPackUnitCell=!1;this.setMinMax(this.ndims,m,a,c,e);for(var a=JU.P3i.new3(this.minXYZ.x,this.minXYZ.y,this.minXYZ.z),c=JU.P3i.new3(this.maxXYZ.x,this.maxXYZ.y,this.maxXYZ.z),h=Array(4),k=0;4>k;k++)h[k]=JU.P3.newP(g[k]);this.setUnitCellSafely();this.adjustRangeMinMax(h);null==this.sym2&&(this.sym2=new JS.Symmetry,this.sym2.getUnitCell(this.acr.fillRange,
!1,null));this.applyAllSymmetry(this.acr.ms,b);f=new JU.P3;g=this.asc.atoms;for(k=this.asc.ac;--k>=this.firstAtom;)f.setT(g[k]),this.symmetry.toCartesian(f,!1),this.sym2.toFractional(f,!1),this.acr.fixFloatPt(f,1E5),(this.acr.noPack?!this.removePacking(this.ndims,f,a.x,c.x,a.y,c.y,a.z,c.z,this.packingRange):!this.isWithinCell(this.ndims,f,a.x,c.x,a.y,c.y,a.z,c.z,this.packingRange))&&b.clear(k)}else{this.nVib=0;var d=null,q=null,n=null;this.baseSymmetry=this.symmetry;var r=this.acr.strSupercell,h=
null,P=1E-6,t=null;null!=r&&0<=r.indexOf(",")&&(t=new JU.M4,null==J.adapter.smarter.XtalSymmetry.mident&&(J.adapter.smarter.XtalSymmetry.mident=new JU.M4),this.setUnitCellSafely(),h=this.symmetry.getV0abc(r,t),null!=h&&!t.equals(J.adapter.smarter.XtalSymmetry.mident)&&(this.setMinMax(this.ndims,m,a,c,e),f=JU.P3.newP(h[0]),d=JU.P3.newP(h[1]),q=JU.P3.newP(h[2]),n=JU.P3.newP(h[3]),this.adjustRangeMinMax(h)));var s=this.asc.getLastAtomSetAtomIndex();null!=b&&(s=b.nextSetBit(s));if(3.4028235E38==this.rminx)h=
null;else{this.asc.setGlobalBoolean(7);this.doPackUnitCell=k=this.doPackUnitCell;b=this.updateBSAtoms();P=this.symmetry.getPrecision();this.applyAllSymmetry(this.acr.ms,null);this.doPackUnitCell=k;for(var g=this.asc.atoms,l=this.asc.ac,k=s;k<l;k++)this.symmetry.toCartesian(g[k],!0),b.set(k);this.symmetry=null;this.symmetry=this.getSymmetry();this.setUnitCell(y(-1,[0,0,0,0,0,0,d.x,d.y,d.z,q.x,q.y,q.z,n.x,n.y,n.z,0,0,0,0,0,0,NaN,NaN,NaN,NaN,NaN,P]),null,null);this.setAtomSetSpaceGroupName(null==h||
null==r?"P1":"cell="+r);this.symmetry.setSpaceGroup(this.doNormalize);this.symmetry.addSpaceGroupOperation("x,y,z",0);null!=f&&this.symmetry.toFractional(f,!0);for(k=s;k<l;k++)this.symmetry.toFractional(g[k],!0),null!=f&&g[k].sub(f);this.asc.haveAnisou=!1;this.asc.setCurrentModelInfo("matUnitCellOrientation",null)}this.setMinMax(this.ndims,m,a,c,e);if(null==h){this.applyAllSymmetry(this.acr.ms,b);if(!this.acr.noPack&&(!this.applySymmetryToBonds||!this.acr.doPackUnitCell))return;this.setMinMax(this.ndims,
m,a,c,e)}(this.acr.forcePacked||this.acr.doPackUnitCell||this.acr.noPack)&&this.trimToUnitCell(s);this.fixSuperCellP1AtomSites(t,b,P)}}});d(b,"fixSuperCellP1AtomSites",function(a,c,e){for(var m=c.cardinality(),m=Array(m),b=0,f=e*e,g=c.nextSetBit(0);0<=g;g=c.nextSetBit(g+1)){var h=this.asc.atoms[g],k=new J.adapter.smarter.Atom;k.setT(h);null!=a&&(a.rotTrans(k),JU.SimpleUnitCell.unitizeDimRnd(3,k,e));k.atomSerial=h.atomSite;k.atomSite=h.atomSite;this.symmetry.unitize(k);for(var d=!1,q=0;q<b;q++){var n=
m[q];if(k.atomSerial==n.atomSerial&&k.distanceSquared(n)<f){d=!0;h.atomSite=n.atomSite;break}}d||(h.atomSite=k.atomSite=b,m[b++]=k)}},"JU.M4,JU.BS,~N");d(b,"setMinMax",function(a,c,e,m,b){this.minXYZ=new JU.P3i;this.maxXYZ=JU.P3i.new3(e,m,b);JU.SimpleUnitCell.setMinMaxLatticeParameters(a,this.minXYZ,this.maxXYZ,c)},"~N,~N,~N,~N,~N");d(b,"trimToUnitCell",function(a){var c=this.asc.atoms,e=this.updateBSAtoms();if(this.acr.noPack)for(a=e.nextSetBit(a);0<=a;a=e.nextSetBit(a+1))this.removePacking(this.ndims,
c[a],this.minXYZ.x,this.maxXYZ.x,this.minXYZ.y,this.maxXYZ.y,this.minXYZ.z,this.maxXYZ.z,this.packingRange)||e.clear(a);else for(a=e.nextSetBit(a);0<=a;a=e.nextSetBit(a+1))this.isWithinCell(this.ndims,c[a],this.minXYZ.x,this.maxXYZ.x,this.minXYZ.y,this.maxXYZ.y,this.minXYZ.z,this.maxXYZ.z,this.packingRange)||e.clear(a)},"~N");d(b,"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});d(b,"adjustRangeMinMax",function(a){var c=new JU.P3,e=new JU.P3,m=new JU.P3;this.acr.forcePacked&&(c.setT(a[1]),e.setT(a[2]),m.setT(a[3]),c.scale(this.packingRange),e.scale(this.packingRange),m.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(c);a[0].sub(e);a[0].sub(m);var b=JU.P3.newP(a[0]);this.symmetry.toFractional(b,!0);this.setSymmetryMinMax(b);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,c,a[1]);a[2].scaleAdd2(2,e,a[2]);a[3].scaleAdd2(2,m,a[3]);for(c=0;3>c;c++)for(e=c+1;4>e;e++)b.add2(a[c],a[e]),0!=c&&b.add(a[0]),this.symmetry.toFractional(b,!1),this.setSymmetryMinMax(b);this.symmetry.toCartesian(b,!1);b.add(a[1]);this.symmetry.toFractional(b,!1);this.setSymmetryMinMax(b);this.minXYZ=JU.P3i.new3(K(Math.min(0,Math.floor(this.rminx+0.001))),K(Math.min(0,Math.floor(this.rminy+
0.001))),K(Math.min(0,Math.floor(this.rminz+0.001))));this.maxXYZ=JU.P3i.new3(K(Math.max(1,Math.ceil(this.rmaxx-0.001))),K(Math.max(1,Math.ceil(this.rmaxy-0.001))),K(Math.max(1,Math.ceil(this.rmaxz-0.001))))},"~A");d(b,"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");d(b,"isWithinCell",function(a,c,e,m,b,f,g,
h,k){return c.x>e-k&&c.x<m+k&&(2>a||c.y>b-k&&c.y<f+k)&&(3>a||c.z>g-k&&c.z<h+k)},"~N,JU.P3,~N,~N,~N,~N,~N,~N,~N");d(b,"removePacking",function(a,c,e,m,b,f,g,h,k){return c.x>e-k&&c.x<m-k&&(2>a||c.y>b-k&&c.y<f-k)&&(3>a||c.z>g-k&&c.z<h-k)},"~N,JU.P3,~N,~N,~N,~N,~N,~N,~N");d(b,"applyAllSymmetry",function(a,c){if(!(0==this.asc.ac||null!=c&&c.isEmpty())){var e=this.noSymmetryCount=0<this.asc.baseSymmetryAtomCount?this.asc.baseSymmetryAtomCount:null==c?this.asc.getLastAtomSetAtomCount():this.asc.ac-c.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 m=this.symmetry.getSpaceGroupOperationCount(),b=null==this.acr.thisBiomolecule?null:new JU.BS;this.checkNearAtoms=this.acr.checkNearAtoms||null!=b;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?1: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(v(this.minXYZ0.x),v(this.minXYZ0.y),v(this.minXYZ0.z)),this.maxXYZ.set(v(this.maxXYZ0.x),v(this.maxXYZ0.y),v(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 f=(this.maxXYZ.x-this.minXYZ.x)*(this.maxXYZ.y-this.minXYZ.y)*
(this.maxXYZ.z-this.minXYZ.z),g=e*(this.crystalReaderLatticeOpsOnly?4:m),g=this.checkNearAtoms||null!=this.acr.thisBiomolecule?g*f:0<this.symmetryRange?g:1,h=Array(g),k=this.asc.atoms,d=0;d<e;d++)k[this.firstAtom+d].bsSymmetry=JU.BS.newN(m*(f+1));var q=0;this.unitCellTranslations=Array(f);var n=0,r=0,P=Math.abs(this.symmetryRange),t=0!=this.symmetryRange,s=0>this.symmetryRange,l=0<this.symmetryRange;t&&(this.rminx=this.rminy=this.rminz=3.4028235E38,this.rmaxx=this.rmaxy=this.rmaxz=-3.4028235E38);
var x=this.symmetry,u=x;this.checkAll=this.crystalReaderLatticeOpsOnly||1==this.asc.atomSetCount&&this.checkNearAtoms&&0<=this.latticeOp;var ba=this.acr.lstNCS;if(null!=ba&&0==ba.get(0).m33){for(var T=x.getSpaceGroupOperationCount(),B=ba.size(),d=B;0<=--d;){var z=ba.get(d);z.m33=1;x.toFractionalM(z)}for(d=1;d<T;d++)for(var F=x.getSpaceGroupOperation(d),N=0;N<B;N++)z=JU.M4.newM4(ba.get(N)),z.mul2(F,z),this.doNormalize&&0<this.noSymmetryCount&&JS.SymmetryOperation.normalizeOperationToCentroid(3,z,k,
this.firstAtom,this.noSymmetryCount),ba.addLast(z)}d=null;ba=x.getSpaceGroupOperation(0);this.doPackUnitCell&&(d=new JU.P3,this.ptOffset.set(0,0,0));T=this.bondCount0>this.asc.bondIndex0&&this.applySymmetryToBonds?O(e,0):null;f=O(f,0);for(B=this.minXYZ.x;B<this.maxXYZ.x;B++)for(z=this.minXYZ.y;z<this.maxXYZ.y;z++)for(F=this.minXYZ.z;F<this.maxXYZ.z;F++)if(this.unitCellTranslations[n]=JU.V3.new3(B,z,F),f[n++]=555+100*B+10*z+F,!(0!=B||0!=z||0!=F||0==h.length)){for(q=0;q<e;q++){r=k[this.firstAtom+q];
null!=a&&(x=a.getAtomSymmetry(r,this.symmetry),x!==u&&(0==x.getSpaceGroupOperationCount()&&this.finalizeSymmetry(u=x),ba=x.getSpaceGroupOperation(0)));N=JU.P3.newP(r);ba.rotTrans(N);x.toCartesian(N,!1);if(this.doPackUnitCell)if(x.toUnitCellRnd(N,this.ptOffset),d.setT(N),x.toFractional(d,!1),this.acr.fixFloatPt(d,1E5),null==c)r.setT(d);else if(1E-4>r.distance(d))c.set(r.index);else{c.clear(r.index);continue}null!=c&&r.bsSymmetry.clearAll();r.bsSymmetry.set(n*m);r.bsSymmetry.set(0);t&&this.setSymmetryMinMax(N);
q<g&&(h[q]=N)}s&&(this.rminx-=P,this.rminy-=P,this.rminz-=P,this.rmaxx+=P,this.rmaxy+=P,this.rmaxz+=P);r=q=this.symmetryAddAtoms(0,0,0,0,q,n*m,h,a,b,T)}l&&(this.rminx-=P,this.rminy-=P,this.rminz-=P,this.rmaxx+=P,this.rmaxy+=P,this.rmaxz+=P);n=0;for(B=this.minXYZ.x;B<this.maxXYZ.x;B++)for(z=this.minXYZ.y;z<this.maxXYZ.y;z++)for(F=this.minXYZ.z;F<this.maxXYZ.z;F++)if(n++,0!=B||0!=z||0!=F)q=this.symmetryAddAtoms(B,z,F,r,q,n*m,h,a,b,T);n*e==this.asc.ac-this.firstAtom&&this.duplicateAtomProperties(n);
this.setSymmetryOps();this.asc.setCurrentModelInfo("presymmetryAtomIndex",Integer.$valueOf(this.firstAtom));this.asc.setCurrentModelInfo("presymmetryAtomCount",Integer.$valueOf(e));this.asc.setCurrentModelInfo("latticeDesignation",x.getLatticeDesignation());this.asc.setCurrentModelInfo("unitCellRange",f);this.asc.setCurrentModelInfo("unitCellTranslations",this.unitCellTranslations);this.unitCellParams=null;this.reset()}},"J.adapter.smarter.MSInterface,JU.BS");d(b,"symmetryAddAtoms",function(a,c,e,
m,b,f,g,h,k,d){var q=0==m,n=null!=d;this.doPackUnitCell&&this.ptOffset.set(a,c,e);var r=this.symmetryRange*this.symmetryRange,P=0>this.symmetryRange,t=0<this.symmetryRange,s=q&&t,t=(new Boolean(t&!q)).valueOf(),l=this.symmetry.getSpaceGroupOperationCount(),x=this.acr.lstNCS,u=null==x?0:x.size(),v=l+u,u=K(u/l),T=this.checkNearAtoms&&(1<v||this.doPackUnitCell),B=P||t,z=T||B,F=null!=k,N=T||s,w=this.acr.isMolecular?null:this.asc.bsAtoms,A=this.symmetry;P&&(m=this.noSymmetryCount);var P=this.firstAtom+
this.noSymmetryCount,D=0>this.asc.firstAtomToBond?P:this.asc.firstAtomToBond,C=new JU.P3,oa=null,y=F?0.01:1E-4,V="\x00",O=null==w?this.firstAtom:w.nextSetBit(this.firstAtom),Q=0;a:for(;Q<v;Q++)if(!(q&&0==Q||this.crystalReaderLatticeOpsOnly&&0<Q&&0!=Q%this.latticeOp||null!=k&&k.get(Q))){for(var Z=this.firstAtom+(T?b:t?m:0),da=Q>=l?0:0==this.asc.vibScale?A.getSpinOp(Q):this.asc.vibScale,U=Math.max(this.firstAtom,null==w?0:w.nextSetBit(0)),H=z,ga=Q>=l?K((Q-l)/u):Q,ha=ga+f;U<P;U++){var R=this.asc.atoms[U];
if(null==w||w.get(U)){null==h?A.newSpaceGroupPoint(R,Q,Q>=l?x.get(Q-l):null,a,c,e,C):(A=h.getAtomSymmetry(R,this.symmetry),A.newSpaceGroupPoint(R,Q,null,a,c,e,C),oa=A.getSpaceGroupOperationCode(Q),null!=oa&&(V=oa.charAt(0),A=h.getSymmetryFromCode(oa),0==A.getSpaceGroupOperationCount()&&this.finalizeSymmetry(A)));this.acr.fixFloatPt(C,1E5);var ea=JU.P3.newP(C);A.toCartesian(ea,!1);if(this.doPackUnitCell&&(A.toUnitCellRnd(ea,this.ptOffset),C.setT(ea),A.toFractional(C,!1),this.acr.fixFloatPt(C,1E5),
!this.isWithinCell(this.ndims,C,this.minXYZ0.x,this.maxXYZ0.x,this.minXYZ0.y,this.maxXYZ0.y,this.minXYZ0.z,this.maxXYZ0.z,this.packingRange)))continue;s&&this.setSymmetryMinMax(ea);var G=null;if(H){if(B&&(ea.x<this.rminx||ea.y<this.rminy||ea.z<this.rminz||ea.x>this.rmaxx||ea.y>this.rmaxy||ea.z>this.rmaxz))continue;for(var I=3.4028235E38,aa=this.checkAll?this.asc.ac:Z,S=R.atomName,$=null==oa?R.altLoc:V,X=O;X<aa;X++)if(null==w||w.get(X)){var ia=g[X-this.firstAtom];if(null!=ia){ia=ea.distanceSquared(ia);
if(T&&ia<y){if(F){k.set(Q);continue a}G=this.asc.atoms[X];if((null==G.atomName||G.atomName.equals(S))&&G.altLoc==$)break;G=null}t&&(X<m&&ia<I)&&(I=ia)}}if(t&&I>r)continue}F&&(H=!1);X=R.atomSite;if(null!=G)n&&(d[X]=G.index),G.bsSymmetry.set(ha),G.bsSymmetry.set(ga);else{n&&(d[X]=this.asc.ac);G=R.copyTo(C,this.asc);null!=this.asc.bsAtoms&&this.asc.bsAtoms.set(G.index);0!=da&&null!=G.vib&&(A.getSpaceGroupOperation(Q).rotate(G.vib),G.vib.scale(da));if(G.isNegDisorder){null==this.disorderMap&&(this.disorderMap=
new java.util.Hashtable);var M=Integer.$valueOf(1E3*Q+G.altLoc.charCodeAt(0)),I=this.disorderMap.get(M);if(null==I){if(0==this.disorderMapMax||90==this.disorderMapMax)this.disorderMapMax=64;this.disorderMap.put(M,I=new Character(String.fromCharCode(++this.disorderMapMax)))}G.altLoc=I.charValue()}G.atomSite=X;null!=oa&&(G.altLoc=V);G.bsSymmetry=JU.BSUtil.newAndSetBit(ha);G.bsSymmetry.set(ga);N&&(g[b++]=ea);R=R.tensors;if(null!=R){G.tensors=null;for(X=R.size();0<=--X;)ea=R.get(X),null!=ea&&(1==l?G.addTensor(ea.copyTensor(),
null,!1):this.addRotatedTensor(G,ea,Q,!1,A))}}}}if(n){Z=this.asc.bonds;da=this.asc.atoms;for(H=this.asc.bondIndex0;H<this.bondCount0;H++)if(ga=Z[H],G=da[ga.atomIndex1],U=da[ga.atomIndex2],!(null==G||null==U||U.atomSetIndex<G.atomSetIndex))if(ha=d[G.atomSite],R=d[U.atomSite],ha>R&&(U=ha,ha=R,R=U),ha!=R&&(ha>=D||R>=D)&&0>this.bondsFound.indexOf(M="-"+ha+","+R))this.bondsFound.append(M),this.asc.addNewBondWithOrder(ha,R,ga.order)}}return b},"~N,~N,~N,~N,~N,~N,~A,J.adapter.smarter.MSInterface,JU.BS,~A");
d(b,"duplicateAtomProperties",function(a){var c=this.asc.getAtomSetAuxiliaryInfoValue(-1,"atomProperties");if(null!=c)for(var e,m=c.entrySet().iterator();m.hasNext()&&((e=m.next())||1);){var b=e.getKey(),f=e.getValue();if("string"==typeof f){for(var g=f,h=new JU.SB,f=a;0<=--f;)h.append(g);c.put(b,h.toString())}else{b=f;g=y(b.length*a,0);for(f=a;0<=--f;)System.arraycopy(b,0,g,f*b.length,b.length)}}},"~N");d(b,"finalizeSymmetry",function(a){var c=this.asc.getAtomSetAuxiliaryInfoValue(-1,"spaceGroup");
a.setFinalOperations(this.ndims,c,this.asc.atoms,this.firstAtom,this.noSymmetryCount,this.doNormalize,this.filterSymop);(null!=this.filterSymop||null==c||c.equals("unspecified!"))&&this.setAtomSetSpaceGroupName(a.getSpaceGroupName());null==this.unitCellParams&&(a.fixUnitCell(this.acr.unitCellParams)&&this.acr.appendLoadNote("Unit cell parameters were adjusted to match space group!"),this.setUnitCellSafely())},"J.api.SymmetryInterface");d(b,"setUnitCellSafely",function(){null==this.unitCellParams&&
this.setUnitCell(this.acr.unitCellParams,this.acr.matUnitCellOrientation,this.acr.unitCellOffset)});d(b,"setSymmetryOps",function(){var a=this.symmetry.getSpaceGroupOperationCount();if(0<a){for(var c=Array(a),e=0;e<a;e++)c[e]=""+this.symmetry.getSpaceGroupXyz(e,this.doNormalize);this.asc.setCurrentModelInfo("symmetryOperations",c);this.asc.setCurrentModelInfo("symmetryOps",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("intlTableNoFull",this.symmetry.getIntTableNumberFull());if(null==this.acr.sgName||0<=this.acr.sgName.indexOf("?")||0<=this.acr.sgName.indexOf("!"))this.setAtomSetSpaceGroupName(this.acr.sgName=this.symmetry.getSpaceGroupName())});d(b,"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)});d(b,"applySymmetryBio",function(a,c,e){var m=a.get("biomts"),b=m.size();null==J.adapter.smarter.XtalSymmetry.mident&&(J.adapter.smarter.XtalSymmetry.mident=new JU.M4,J.adapter.smarter.XtalSymmetry.mident.setIdentity());this.acr.lstNCS=null;this.setLatticeCells();var f=null!=this.latticeCells&&0!=this.latticeCells[0]?O(3,0):null;if(null!=f)for(var g=0;3>g;g++)f[g]=this.latticeCells[g];this.latticeCells=null;var f=
this.acr.getFilterWithCase("BMCHAINS"),h=null==f?-1:2>f.length?0:JU.PT.parseInt(f.substring(1));-2147483648==h&&(h=-f.charAt(1).charCodeAt(0));var k=0<=e.indexOf("BYCHAIN")?1:0<=e.indexOf("BYSYMOP")?2:0;this.doNormalize=!1;var d=a.get("chains");this.symmetry=null;this.getSymmetry().setSpaceGroup(this.doNormalize);this.addSpaceGroupOperation("x,y,z",!1);f=a.get("name");this.setAtomSetSpaceGroupName(this.acr.sgName=f);this.applySymmetryToBonds=c;this.bondCount0=this.asc.bondCount;this.firstAtom=this.asc.getLastAtomSetAtomIndex();
var f=this.asc.ac,q=new java.util.Hashtable,n=0,r=this.asc.atoms;c=this.bondCount0>this.asc.bondIndex0&&c;switch(k){case 1:for(g=f;--g>=this.firstAtom;){var l=Integer.$valueOf(r[g].chainID),t=q.get(l);null==t&&(n++,q.put(l,t=new JU.BS));t.set(g)}this.asc.bsAtoms=new JU.BS;for(g=0;g<n;g++)this.asc.bsAtoms.set(f+g),c=new J.adapter.smarter.Atom,c.set(0,0,0),c.radius=16,this.asc.addAtom(c);for(var s=0,Y,q=q.entrySet().iterator();q.hasNext()&&((Y=q.next())||1);){c=r[f+s++];t=Y.getValue();for(g=t.nextSetBit(0);0<=
g;g=t.nextSetBit(g+1))c.add(r[g]);c.scale(1/t.cardinality());c.atomName="Pt"+s;c.chainID=Y.getKey().intValue()}this.firstAtom=f;f+=n;c=!1;break;case 2:this.asc.bsAtoms=new JU.BS;this.asc.bsAtoms.set(f);c=r[f]=new J.adapter.smarter.Atom;c.set(0,0,0);for(g=f;--g>=this.firstAtom;)c.add(r[g]);c.scale(1/(f-this.firstAtom));c.atomName="Pt";c.radius=16;this.asc.addAtom(c);this.firstAtom=f++;c=!1}n=a.get("asemblyIdAtoms");0<=e.indexOf("#<")&&(b=Math.min(b,JU.PT.parseInt(e.substring(e.indexOf("#<")+2))-1),
e=JU.PT.rep(e,"#<","_<"));g=0;for(q=this.firstAtom;q<f;q++)r[q].bsSymmetry=new JU.BS,a=r[q].chainID,a>g&&(g=a);a=this.asc.bsAtoms;t=c?O(this.asc.ac,0):null;for(s=null==d?1:0;s<b;s++){if(0<=e.indexOf("!#")){if(0<=e.indexOf("!#"+(s+1)+";"))continue}else if(0<=e.indexOf("#")&&0>e.indexOf("#"+(s+1)+";"))continue;var x=m.get(s),u=!x.equals(J.adapter.smarter.XtalSymmetry.mident),v=null==d?null:d.get(s);if(null!=v&&null!=n){a=new JU.BS;for(q=n.entrySet().iterator();q.hasNext()&&((Y=q.next())||1);)0<=v.indexOf(":"+
Y.getKey()+";")&&a.or(Y.getValue());null!=this.asc.bsAtoms&&a.and(this.asc.bsAtoms);v=null}for(var T=-1,B=!1,q=this.firstAtom;q<f;q++){if(null!=a)B=!a.get(q);else if(null!=v&&(l=r[q].chainID)!=T)B=0>v.indexOf(":"+this.acr.vwr.getChainIDStr(T=l)+";");if(!B)try{var z=r[q].atomSite,F;c&&(t[z]=this.asc.ac);F=this.asc.newCloneAtom(r[q]);F.bondingRadius=s;this.asc.atomSymbolicMap.put(""+F.atomSerial,F);null!=this.asc.bsAtoms&&this.asc.bsAtoms.set(F.index);F.atomSite=z;u&&x.rotTrans(F);F.bsSymmetry=JU.BSUtil.newAndSetBit(s)}catch(N){if(fa(N,
Exception))this.asc.errorMessage="appendAtomCollection error: "+N;else throw N;}}u&&this.symmetry.addBioMoleculeOperation(x,!1);if(c)for(x=this.asc.bondIndex0;x<this.bondCount0;x++)q=this.asc.bonds[x],this.asc.addNewBondWithOrder(t[r[q.atomIndex1].atomSite],t[r[q.atomIndex2].atomSite],q.order)}if(null!=d){null==this.asc.bsAtoms&&(this.asc.bsAtoms=JU.BSUtil.newBitSet2(0,this.asc.ac));this.asc.bsAtoms.clearBits(this.firstAtom,f);if(0==k){if(-1!=h){l=(m=0!=h)?new JU.BS:null;r=this.asc.atoms;z=0;m&&(z=
0>h?Math.max(-h,g+1):Math.max(g+h,65),l.setBits(0,z-1),l.setBits(91,97),l.setBits(123,200));k=1==this.asc.structureCount?this.asc.structures[0].bsAll:null;d=new java.util.Hashtable;F=new java.util.Hashtable;q=null==k?null:new java.util.Hashtable;n=null;g=f;for(t=this.asc.ac;g<t;g++)s=r[g].chainID,u=r[g].bsSymmetry.nextSetBit(0),h=this.acr.vwr.getChainIDStr(s),x=0==u?h:h+u,e=d.get(x),null==e&&(m&&0!=u&&(u=200>z?l.nextClearBit(z):200,200>u&&(l.set(u),e=Integer.$valueOf(this.acr.vwr.getChainID(""+String.fromCharCode(u),
!0)),z=u)),null==e&&(e=Integer.$valueOf(this.acr.vwr.getChainID(x,!0))),x!==h&&(F.put(e,Integer.$valueOf(s)),null!=k&&(null!=n&&(n[1]=g),q.put(e,n=O(-1,[g,t])))),d.put(x,e)),r[g].chainID=e.intValue();if(0<this.asc.structureCount){r=this.asc.structures;m=this.asc.structureCount;for(q=F.entrySet().iterator();q.hasNext()&&((Y=q.next())||1);){e=Y.getKey();e=e.intValue();h=Y.getValue().intValue();for(g=0;g<m;g++)l=r[g],null==l.bsAll&&(l.startChainID==l.endChainID?l.startChainID==h&&(l=l.clone(),l.startChainID=
l.endChainID=e,this.asc.addStructure(l)):System.err.println("XtalSymmetry not processing biomt chain structure "+this.acr.vwr.getChainIDStr(h)+" to "+this.acr.vwr.getChainIDStr(e)))}}}Y=this.asc.getAtomSetAuxiliaryInfoValue(-1,"PDB_CONECT_bonds");if(!c&&null!=Y)for(g=Y.size();0<=--g;)if(q=Y.get(g),c=this.asc.getAtomFromName(""+q[0]),r=this.asc.getAtomFromName(""+q[1]),null!=c&&null!=r&&c.bondingRadius!=r.bondingRadius&&(null==a||a.get(c.index)&&a.get(r.index))&&25<c.distanceSquared(r))Y.removeItemAt(g),
System.out.println("long interchain bond removed for @"+c.atomSerial+"-@"+r.atomSerial)}g=f;for(t=this.asc.ac;g<t;g++)this.asc.atoms[g].bondingRadius=NaN}this.noSymmetryCount=f-this.firstAtom;this.asc.setCurrentModelInfo("presymmetryAtomIndex",Integer.$valueOf(this.firstAtom));this.asc.setCurrentModelInfo("presymmetryAtomCount",Integer.$valueOf(this.noSymmetryCount));this.asc.setCurrentModelInfo("biosymmetryCount",Integer.$valueOf(b));this.asc.setCurrentModelInfo("biosymmetry",this.symmetry);this.finalizeSymmetry(this.symmetry);
this.setSymmetryOps();this.reset()},"java.util.Map,~B,~S");d(b,"reset",function(){this.asc.coordinatesAreFractional=!1;this.asc.setCurrentModelInfo("hasSymmetry",Boolean.TRUE);this.asc.setGlobalBoolean(1)});d(b,"addRotatedTensor",function(a,c,e,m,b){null==this.ptTemp&&(this.ptTemp=new JU.P3,this.mTemp=new JU.M3);return a.addTensor(this.acr.getInterface("JU.Tensor").setFromEigenVectors(b.rotateAxes(e,c.eigenVectors,this.ptTemp,this.mTemp),c.eigenValues,c.isIsotropic?"iso":c.type,c.id,c),null,m)},"J.adapter.smarter.Atom,JU.Tensor,~N,~B,J.api.SymmetryInterface");
d(b,"setTensors",function(){for(var a=this.asc.ac,c=this.asc.getLastAtomSetAtomIndex();c<a;c++){var e=this.asc.atoms[c];null!=e.anisoBorU&&(e.addTensor(this.symmetry.getTensor(this.acr.vwr,e.anisoBorU),null,!1),Float.isNaN(e.bfactor)&&(e.bfactor=100*e.anisoBorU[7]),e.anisoBorU=null)}});d(b,"setTimeReversal",function(a,c){this.symmetry.setTimeReversal(a,c)},"~N,~N");d(b,"setSpinVectors",function(){if(0<this.nVib||0>this.asc.iSet||!this.acr.vibsFractional)return this.nVib;for(var a=this.asc.getAtomSetAtomIndex(this.asc.iSet),
c=this.getBaseSymmetry(),e=this.asc.ac;--e>=a;){var m=this.asc.atoms[e].vib;null!=m&&(0<m.modDim?m.setMoment():(m=m.clone(),c.toCartesian(m,!0),this.asc.atoms[e].vib=m),this.nVib++)}return this.nVib});d(b,"scaleFractionalVibs",function(){for(var a=this.acr.unitCellParams,a=JU.P3.new3(1/a[0],1/a[1],1/a[2]),c=this.asc.getAtomSetAtomIndex(this.asc.iSet),e=this.asc.ac;--e>=c;){var m=this.asc.atoms[e].vib;null!=m&&m.scaleT(a)}});d(b,"getBaseSymmetry",function(){return null==this.baseSymmetry?this.symmetry:
this.baseSymmetry});b.mident=null});W("JS");ca(["J.api.SymmetryInterface"],"JS.Symmetry","JU.BS $.JSJSONParser $.Lst $.M4 $.P3 $.PT $.Rdr J.api.Interface J.bspt.Bspt JS.PointGroup $.SpaceGroup $.SymmetryInfo $.SymmetryOperation $.UnitCell JU.Escape $.Logger $.SimpleUnitCell JV.FileManager".split(" "),function(){var b=M(function(){this.cip=this.unitCell=this.symmetryInfo=this.pointGroup=this.spaceGroup=null;this.$isBio=!1;this.desc=null;aa(this,arguments)},JS,"Symmetry",null,J.api.SymmetryInterface);
l(b,"isBio",function(){return this.$isBio});l(b,"setPointGroup",function(a,c,e,m,b,f,g,h,d){this.pointGroup=JS.PointGroup.getPointGroup(null==a?null:a.pointGroup,c,e,m,b,f,g,h,d);return this},"J.api.SymmetryInterface,JU.T3,~A,JU.BS,~B,~N,~N,~N,~B");l(b,"getPointGroupName",function(){return this.pointGroup.getName()});l(b,"getPointGroupInfo",function(a,c,e,m,b,f){return null==c&&!e&&null!=this.pointGroup.textInfo?this.pointGroup.textInfo:null==c&&this.pointGroup.isDrawType(m,b,f)?this.pointGroup.drawInfo:
e&&null!=this.pointGroup.info?this.pointGroup.info:this.pointGroup.getInfo(a,c,e,m,b,f)},"~N,~S,~B,~S,~N,~N");l(b,"setSpaceGroup",function(a){null==this.spaceGroup&&(this.spaceGroup=JS.SpaceGroup.getNull(!0,a,!1))},"~B");l(b,"addSpaceGroupOperation",function(a,c){return this.spaceGroup.addSymmetry(a,c,!1)},"~S,~N");l(b,"addBioMoleculeOperation",function(a,c){this.$isBio=this.spaceGroup.isBio=!0;return this.spaceGroup.addSymmetry((c?"!":"")+"[[bio"+a,0,!1)},"JU.M4,~B");l(b,"setLattice",function(a){this.spaceGroup.setLatticeParam(a)},
"~N");l(b,"getSpaceGroup",function(){return this.spaceGroup});l(b,"createSpaceGroup",function(a,c,e,m){this.spaceGroup=JS.SpaceGroup.createSpaceGroup(a,c,e,m);null!=this.spaceGroup&&JU.Logger.debugging&&JU.Logger.debug("using generated space group "+this.spaceGroup.dumpInfo());return null!=this.spaceGroup},"~N,~S,~O,~N");l(b,"getSpaceGroupInfoObj",function(a,c,e,m){return JS.SpaceGroup.getInfo(this.spaceGroup,a,c,e,m)},"~S,~A,~B,~B");l(b,"getLatticeDesignation",function(){return this.spaceGroup.getLatticeDesignation()});
l(b,"setFinalOperations",function(a,c,e,m,b,f,g){if(null!=c&&(c.startsWith("bio")||0<=c.indexOf(" *(")))this.spaceGroup.name=c;if(null!=g){var h=new JU.Lst;h.addLast(this.spaceGroup.operations[0]);for(var d=1;d<this.spaceGroup.operationCount;d++)g.contains(" "+(d+1)+" ")&&h.addLast(this.spaceGroup.operations[d]);this.spaceGroup=JS.SpaceGroup.createSpaceGroup(-1,c+" *("+g.trim()+")",h,-1)}this.spaceGroup.setFinalOperationsForAtoms(a,e,m,b,f)},"~N,~S,~A,~N,~N,~B,~S");l(b,"getSpaceGroupOperation",function(a){return null==
this.spaceGroup||null==this.spaceGroup.operations||a>=this.spaceGroup.operations.length?null:null==this.spaceGroup.finalOperations?this.spaceGroup.operations[a]:this.spaceGroup.finalOperations[a]},"~N");l(b,"getSpaceGroupXyz",function(a,c){return this.spaceGroup.getXyz(a,c)},"~N,~B");l(b,"newSpaceGroupPoint",function(a,c,e,m,b,f,g){null==e&&null==this.spaceGroup.finalOperations&&(e=this.spaceGroup.operations[c],e.isFinalized||e.doFinalize());JS.Symmetry.newPoint(null==e?this.spaceGroup.finalOperations[c]:
e,a,m,b,f,g)},"JU.P3,~N,JU.M4,~N,~N,~N,JU.P3");l(b,"rotateAxes",function(a,c,e,m){return 0==a?c:this.spaceGroup.finalOperations[a].rotateAxes(c,this.unitCell,e,m)},"~N,~A,JU.P3,JU.M3");l(b,"getSpaceGroupOperationCode",function(a){return this.spaceGroup.operations[a].subsystemCode},"~N");l(b,"setTimeReversal",function(a,c){this.spaceGroup.operations[a].setTimeReversal(c)},"~N,~N");l(b,"getSpinOp",function(a){return this.spaceGroup.operations[a].getMagneticOp()},"~N");l(b,"addLatticeVectors",function(a){return this.spaceGroup.addLatticeVectors(a)},
"JU.Lst");l(b,"getLatticeOp",function(){return this.spaceGroup.latticeOp});l(b,"getLatticeCentering",function(){return JS.SymmetryOperation.getLatticeCentering(this.getSymmetryOperations())});l(b,"getOperationRsVs",function(a){return(null==this.spaceGroup.finalOperations?this.spaceGroup.operations:this.spaceGroup.finalOperations)[a].rsvs},"~N");l(b,"getSiteMultiplicity",function(a){return this.spaceGroup.getSiteMultiplicity(a,this.unitCell)},"JU.P3");l(b,"addSubSystemOp",function(a,c,e,m){this.spaceGroup.isSSG=
!0;c=JS.SymmetryOperation.getXYZFromRsVs(c,e,!1);e=this.spaceGroup.addSymmetry(c,-1,!0);this.spaceGroup.operations[e].setSigma(a,m);return c},"~S,JU.Matrix,JU.Matrix,JU.Matrix");l(b,"getMatrixFromString",function(a,c,e){return JS.SymmetryOperation.getMatrixFromString(null,a,c,e,!0,!0)},"~S,~A,~B,~N");l(b,"getSpaceGroupName",function(){return null!=this.symmetryInfo?this.symmetryInfo.sgName:null!=this.spaceGroup?this.spaceGroup.getName():null!=this.unitCell&&0<this.unitCell.name.length?"cell="+this.unitCell.name:
""});l(b,"getSpaceGroupNameType",function(a){return null==this.spaceGroup?null:this.spaceGroup.getNameType(a,this)},"~S");l(b,"setSpaceGroupName",function(a){null!=this.spaceGroup&&this.spaceGroup.setName(a)},"~S");l(b,"getLatticeType",function(){return null!=this.symmetryInfo?this.symmetryInfo.latticeType:null==this.spaceGroup?"P":this.spaceGroup.latticeType});l(b,"getIntTableNumber",function(){return null!=this.symmetryInfo?this.symmetryInfo.intlTableNo:null==this.spaceGroup?null:this.spaceGroup.intlTableNumber});
l(b,"getIntTableNumberFull",function(){return null!=this.symmetryInfo?this.symmetryInfo.intlTableNoFull:null==this.spaceGroup?null:null!=this.spaceGroup.intlTableNumberFull?this.spaceGroup.intlTableNumberFull:this.spaceGroup.intlTableNumber});l(b,"getCoordinatesAreFractional",function(){return null==this.symmetryInfo||this.symmetryInfo.coordinatesAreFractional});l(b,"getCellRange",function(){return null==this.symmetryInfo?null:this.symmetryInfo.cellRange});l(b,"getSymmetryInfoStr",function(){if(null!=
this.symmetryInfo)return this.symmetryInfo.infoStr;if(null==this.spaceGroup)return"";this.symmetryInfo=new JS.SymmetryInfo;this.symmetryInfo.setSymmetryInfo(null,this.getUnitCellParams(),this.spaceGroup);return this.symmetryInfo.infoStr});l(b,"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:
0});l(b,"getSymmetryOperations",function(){if(null!=this.symmetryInfo)return this.symmetryInfo.symmetryOperations;null==this.spaceGroup&&(this.spaceGroup=JS.SpaceGroup.getNull(!0,!1,!0));this.spaceGroup.setFinalOperations();return this.spaceGroup.finalOperations});l(b,"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});l(b,"getAdditionalOperations",function(){if(null!=this.symmetryInfo)return this.symmetryInfo.getAdditionalOperations();this.getSymmetryOperations();return this.spaceGroup.getAdditionalOperations()});l(b,"isSimple",function(){return null==this.spaceGroup&&(null==this.symmetryInfo||null==this.symmetryInfo.symmetryOperations)});l(b,"setSymmetryInfo",function(a,c,e){this.symmetryInfo=new JS.SymmetryInfo;e=this.symmetryInfo.setSymmetryInfo(c,
e,null);null!=e&&(this.setUnitCellFromParams(e,c.containsKey("jmolData"),NaN),this.unitCell.moreInfo=c.get("moreUnitCellInfo"),c.put("infoUnitCell",this.getUnitCellAsArray(!1)),this.setOffsetPt(c.get("unitCellOffset")),c=c.get("matUnitCellOrientation"),null!=c&&this.initializeOrientation(c),JU.Logger.debugging&&JU.Logger.debug("symmetryInfos["+a+"]:\n"+this.unitCell.dumpInfo(!0,!0)));return this},"~N,java.util.Map,~A");l(b,"haveUnitCell",function(){return null!=this.unitCell});l(b,"setUnitCellFromParams",
function(a,c,e){null==a&&(a=y(-1,[1,1,1,90,90,90]));this.unitCell=JS.UnitCell.fromParams(a,c,e);this.unitCell.setPrecision(e);return this},"~A,~B,~N");l(b,"unitCellEquals",function(a){return a.unitCell.isSameAs(this.unitCell)},"J.api.SymmetryInterface");l(b,"getUnitCellState",function(){return null==this.unitCell?"":this.unitCell.getState()});l(b,"getMoreInfo",function(){return this.unitCell.moreInfo});d(b,"getUnitsymmetryInfo",function(){return this.unitCell.dumpInfo(!1,!0)});l(b,"initializeOrientation",
function(a){this.unitCell.initOrientation(a)},"JU.M3");l(b,"unitize",function(a){this.unitCell.unitize(a)},"JU.T3");l(b,"toUnitCell",function(a,c){this.unitCell.toUnitCell(a,c)},"JU.T3,JU.T3");l(b,"toUnitCellRnd",function(a,c){this.unitCell.toUnitCellRnd(a,c)},"JU.T3,JU.T3");l(b,"toSupercell",function(a){return this.unitCell.toSupercell(a)},"JU.P3");l(b,"toFractional",function(a,c){this.$isBio||this.unitCell.toFractional(a,c)},"JU.T3,~B");l(b,"toFractionalM",function(a){this.$isBio||this.unitCell.toFractionalM(a)},
"JU.M4");l(b,"toCartesian",function(a,c){this.$isBio||this.unitCell.toCartesian(a,c)},"JU.T3,~B");l(b,"getUnitCellParams",function(){return this.unitCell.getUnitCellParams()});l(b,"getUnitCellAsArray",function(a){return this.unitCell.getUnitCellAsArray(a)},"~B");l(b,"getTensor",function(a,c){if(null==c)return null;null==this.unitCell&&(this.unitCell=JS.UnitCell.fromParams(y(-1,[1,1,1,90,90,90]),!0,1E-4));return this.unitCell.getTensor(a,c)},"JV.Viewer,~A");l(b,"getUnitCellVerticesNoOffset",function(){return this.unitCell.getVertices()});
l(b,"getCartesianOffset",function(){return this.unitCell.getCartesianOffset()});l(b,"getFractionalOffset",function(){return this.unitCell.getFractionalOffset()});l(b,"setOffsetPt",function(a){this.unitCell.setOffset(a)},"JU.T3");l(b,"setOffset",function(a){var c=new JU.P3;JU.SimpleUnitCell.ijkToPoint3f(a,c,0,0);this.unitCell.setOffset(c)},"~N");l(b,"getUnitCellMultiplier",function(){return this.unitCell.getUnitCellMultiplier()});l(b,"getUnitCellMultiplied",function(){var a=this.unitCell.getUnitCellMultiplied();
if(a===this.unitCell)return this;var c=new JS.Symmetry;c.unitCell=a;return c});l(b,"getCanonicalCopy",function(a,c){return this.unitCell.getCanonicalCopy(a,c)},"~N,~B");l(b,"getUnitCellInfoType",function(a){return this.unitCell.getInfo(a)},"~N");l(b,"getUnitCellInfo",function(a){return this.unitCell.dumpInfo(!1,a)},"~B");l(b,"isSlab",function(){return this.unitCell.isSlab()});l(b,"isPolymer",function(){return this.unitCell.isPolymer()});l(b,"checkDistance",function(a,c,e,m,b,f,g,h){return this.unitCell.checkDistance(a,
c,e,m,b,f,g,h)},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");d(b,"getUnitCellVectors",function(){return this.unitCell.getUnitCellVectors()});l(b,"getUnitCell",function(a,c,e){if(null==a)return null;this.unitCell=JS.UnitCell.fromOABC(a,c);null!=e&&(this.unitCell.name=e);return this},"~A,~B,~S");l(b,"isSupercell",function(){return this.unitCell.isSupercell()});l(b,"notInCentroid",function(a,c,e){try{var m=new JU.BS,b=c.nextSetBit(0),f=a.getMolecules(),g=f.length,h=a.at,d=f[g-1].firstAtomIndex==a.am[h[b].mi].firstAtomIndex,
p=new JU.P3,q=1==e[6];a=g;a:for(;0<=--a&&c.get(f[a].firstAtomIndex);){var n=f[a].atomList;p.set(0,0,0);for(var b=0,r=n.nextSetBit(0);0<=r;r=n.nextSetBit(r+1))if(d||q)if(p.setT(h[r]),this.isNotCentroid(p,1,e,q))d&&m.set(r);else{if(!d)continue a}else p.add(h[r]),b++;(q||0<b&&this.isNotCentroid(p,b,e,!1))&&m.or(n)}return m}catch(l){if(fa(l,Exception))return null;throw l;}},"JM.ModelSet,JU.BS,~A");d(b,"isNotCentroid",function(a,c,e,m){a.scale(1/c);this.toFractional(a,!1);return m?a.x+5E-6<=e[0]||a.x-
5E-6>e[3]||a.y+5E-6<=e[1]||a.y-5E-6>e[4]||a.z+5E-6<=e[2]||a.z-5E-6>e[5]:a.x+5E-6<=e[0]||a.x+5E-5>e[3]||a.y+5E-6<=e[1]||a.y+5E-5>e[4]||a.z+5E-6<=e[2]||a.z+5E-5>e[5]},"JU.P3,~N,~A,~B");d(b,"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");l(b,"getSymmetryInfoAtom",
function(a,c,e,m,b,f,g,h,d,p,q,n,r){return this.getDesc(a).getSymopInfo(c,e,m,b,f,g,h,d,p,q,n,r)},"JM.ModelSet,~N,~S,~N,JU.P3,JU.P3,JU.P3,~S,~N,~N,~N,~N,~A");l(b,"getSpaceGroupInfo",function(a,c,e,m,b){var f=null==c;if(null==c){var g=a.getModelAuxiliaryInfo(a.vwr.am.cmi);null!=g&&(c=g.get("spaceGroup"))}g=null;null!=b&&(g=(new JS.Symmetry).setUnitCellFromParams(b,!1,NaN));return this.getDesc(a).getSpaceGroupInfo(this,e,c,0,null,null,null,0,-1,m,f,0,g,null)},"JM.ModelSet,~S,~N,~B,~A");l(b,"fcoord",
function(a){return JS.SymmetryOperation.fcoord(a)},"JU.T3");l(b,"getV0abc",function(a,c){return null==this.unitCell?null:this.unitCell.getV0abc(a,c)},"~O,JU.M4");l(b,"getQuaternionRotation",function(a){return null==this.unitCell?null:this.unitCell.getQuaternionRotation(a)},"~S");l(b,"getFractionalOrigin",function(){return this.unitCell.getFractionalOrigin()});l(b,"getState",function(a,c,e){var m=null!=a.getInfo(c,"spaceGroupAssigned"),b=this.getFractionalOffset(),f=!1;if(null!=b&&(0!=b.x||0!=b.y||
0!=b.z))e.append("; set unitcell ").append(JU.Escape.eP(b)),f=!0;b=this.getUnitCellMultiplier();null!=b&&(e.append("; set unitcell ").append(JU.SimpleUnitCell.escapeMultiplier(b)),f=!0);b=a.getInfo(c,"spaceGroup");m&&null!=b&&(e.append("\n UNITCELL "+JU.Escape.e(a.getUnitCell(c).getUnitCellVectors())),e.append("\n MODELKIT SPACEGROUP "+JU.PT.esc(b)),e.append("\n UNITCELL "+JU.Escape.e(a.getUnitCell(c).getUnitCellVectors())),f=!0);return f},"JM.ModelSet,~N,JU.SB");l(b,"getIterator",function(a,c,e,
m){return J.api.Interface.getInterface("JS.UnitCellIterator",a,"script").set(this,c,a.ms.at,e,m)},"JV.Viewer,JM.Atom,JU.BS,~N");l(b,"toFromPrimitive",function(a,c,e,m){null==this.unitCell&&(this.unitCell=JS.UnitCell.fromOABC(e,!1));return this.unitCell.toFromPrimitive(a,c,e,m)},"~B,~S,~A,JU.M3");l(b,"generateCrystalClass",function(a){var c=this.getSymmetryOperations(),e=new JU.Lst,m=null==a,b=0,f=0,g=0;m?(b=2.718281828459045,f=3.141592653589793,g=Math.log10(2E3),a=JU.P3.new3(b+1,f+2,g+3)):a=JU.P3.newP(a);
if(null==c||null==this.unitCell)e.addLast(a);else{this.unitCell.toFractional(a,!0);var h=null,d=null;m&&(h=JU.P3.new3(f+4,g+5,b+6),this.unitCell.toFractional(h,!0),d=JU.P3.new3(g+7,b+8,f+9),this.unitCell.toFractional(d,!0));var f=new J.bspt.Bspt(3,0),g=f.allocateCubeIterator(),b=new JU.P3,p=c.length;a:for(;0<=--p;){c[p].rotate2(a,b);g.initialize(b,0.001,!1);if(g.hasMoreElements())continue a;var q=JU.P3.newP(b);e.addLast(q);f.addTuple(q);m&&(null!=d&&(c[p].rotate2(d,b),e.addLast(JU.P3.newP(b))),null!=
h&&(c[p].rotate2(h,b),e.addLast(JU.P3.newP(b))))}for(c=e.size();0<=--c;)b=e.get(c),m&&b.scale(0.5),this.unitCell.toCartesian(b,!0)}return e},"JU.P3");l(b,"calculateCIPChiralityForAtoms",function(a,c){a.setCursor(3);var e=this.getCIPChirality(a),m=a.getBoolean(603979960)?"CIPData":"CIPDataTracker",m=J.api.Interface.getInterface("JS."+m,a,"script").set(a,c);m.setRule6Full(a.getBoolean(603979823));e.getChiralityForAtoms(m);a.setCursor(0)},"JV.Viewer,JU.BS");l(b,"calculateCIPChiralityForSmiles",function(a,
c){a.setCursor(3);var e=this.getCIPChirality(a),m=J.api.Interface.getInterface("JS.CIPDataSmiles",a,"script").setAtomsForSmiles(a,c);e.getChiralityForAtoms(m);a.setCursor(0);return m.getSmilesChiralityArray()},"JV.Viewer,~S");d(b,"getCIPChirality",function(a){return null==this.cip?this.cip=J.api.Interface.getInterface("JS.CIPChirality",a,"script"):this.cip},"JV.Viewer");l(b,"getConventionalUnitCell",function(a,c){return null==this.unitCell||null==a?null:this.unitCell.getConventionalUnitCell(a,c)},
"~S,JU.M3");l(b,"getUnitCellInfoMap",function(){return null==this.unitCell?null:this.unitCell.getInfo()});l(b,"setUnitCell",function(a){this.unitCell=JS.UnitCell.cloneUnitCell(a.unitCell)},"J.api.SymmetryInterface");l(b,"findSpaceGroup",function(a,c,e,m,b,f,g,h){return J.api.Interface.getInterface("JS.SpaceGroupFinder",a,"eval").findSpaceGroup(a,c,e,m,b,this,f,g,h)},"JV.Viewer,JU.BS,~S,~A,JU.T3,~B,~B,~B");l(b,"setSpaceGroupTo",function(a){this.symmetryInfo=null;this.spaceGroup=V(a,"JS.SpaceGroup")?
a:JS.SpaceGroup.getSpaceGroupFromITAName(a.toString())},"~O");l(b,"removeDuplicates",function(a,c,e){var m=this.unitCell,b=a.at;a=a.occupancies;for(var f=null!=a,g=Array(c.length()),h=c.nextSetBit(0);0<=h;h=c.nextSetBit(h+1)){var d=g[h]=JU.P3.newP(b[h]);m.toFractional(d,!1);e?m.unitizeRnd(d):m.unitize(d)}for(h=c.nextSetBit(0);0<=h;h=c.nextSetBit(h+1)){e=b[h];d=g[h];e=e.getAtomicAndIsotopeNumber();for(var m=f?a[h]:0,p=c.nextSetBit(h+1);0<=p;p=c.nextSetBit(p+1))e!=b[p].getAtomicAndIsotopeNumber()||
f&&m!=a[p]||1.96E-6>d.distanceSquared(g[p])&&c.clear(p)}return c},"JM.ModelSet,JU.BS,~B");l(b,"getEquivPoints",function(a,c,e){var m=this.getSymmetryOperations();return null==m||null==this.unitCell?null:this.unitCell.getEquivPoints(c,e,m,null==a?new JU.Lst:a,0,0)},"JU.Lst,JU.P3,~S");l(b,"getEquivPointList",function(a,c,e){var m=this.getSymmetryOperations(),b=0<=e.indexOf("newpt"),f=0<=e.indexOf("zapped"),g=a.size(),h=0<=e.indexOf("tofractional");if(0>e.indexOf("fromfractional"))for(var d=0;d<a.size();d++)this.toFractional(a.get(d),
!1);e+=",fromfractional,tofractional";var p=0<c?0:g,q=c==g,n=0<c?c:g;q&&(c--,n--);f&&(n=0);var r=0<c?a.get(c):null;if(null!=m||null!=this.unitCell)for(d=c;d<g;d++)this.unitCell.getEquivPoints(a.get(d),e,m,a,p,n);!f&&(a.size()==c||a.get(c)!==r||q||b)&&g--;for(d=g-c;0<=--d;)a.removeItemAt(c);if(!h)for(d=a.size();--d>=c;)this.toCartesian(a.get(d),!1)},"JU.Lst,~N,~S");l(b,"getInvariantSymops",function(a,c){var e=this.getSymmetryOperations();if(null==e)return O(0,0);for(var m=new JU.BS,b=new JU.P3,f=new JU.P3,
g=e.length,d=1;d<g;d++)b.setT(a),this.unitCell.toFractional(b,!1),this.unitCell.unitize(b),f.setT(b),e[d].rotTrans(b),this.unitCell.unitize(b),1.96E-6>f.distanceSquared(b)&&m.set(d);e=O(m.cardinality(),0);if(null!=c&&e.length!=c.length)return null;b=0;for(d=1;d<g;d++)if(m.get(d)){if(null!=c&&c[b]!=d+1)return null;e[b++]=d+1}return e},"JU.P3,~A");l(b,"getWyckoffPosition",function(a,c,e){if(null==this.unitCell)return"";var b=this.spaceGroup;null==b&&null!=this.symmetryInfo&&(b=JS.SpaceGroup.determineSpaceGroupN(this.symmetryInfo.sgName),
null==b&&(b=JS.SpaceGroup.getSpaceGroupFromITAName(this.symmetryInfo.intlTableNoFull)));if(null==b||null==b.intlTableNumber)return"?";null==c?c=JU.P3.new3(0.45999998,0.38333333,0.2875):(c=JU.P3.newP(c),this.unitCell.toFractional(c,!1),this.unitCell.unitize(c));null==JS.Symmetry.wyckoffFinder&&(JS.Symmetry.wyckoffFinder=J.api.Interface.getInterface("JS.WyckoffFinder",null,"symmetry"));try{var j=JS.Symmetry.wyckoffFinder.getWyckoffFinder(a,b.intlTableNumberFull),f=null==e?-1:e.equalsIgnoreCase("coord")?
-2:e.equalsIgnoreCase("coords")?-3:e.endsWith("*")?e.charAt(0).charCodeAt(0):0;if(0!=f)return j.getStringInfo(this.unitCell,c,f);if(null==j.findPositionFor(c,e))return null;this.unitCell.toCartesian(c,!1);return c}catch(g){if(fa(g,Exception))return g.printStackTrace(),null==e?"?":null;throw g;}},"JV.Viewer,JU.P3,~S");l(b,"getTransform",function(a,c,e){return this.getDesc(null).getTransform(this.unitCell,this.getSymmetryOperations(),a,c,e)},"JU.P3,JU.P3,~B");b.newPoint=d(b,"newPoint",function(a,c,
e,b,j,f){a.rotTrans2(c,f);f.add3(e,b,j)},"JU.M4,JU.P3,~N,~N,~N,JU.P3");l(b,"isWithinUnitCell",function(a,c,e,b){return this.unitCell.isWithinUnitCell(c,e,b,a)},"JU.P3,~N,~N,~N");l(b,"checkPeriodic",function(a){return this.unitCell.checkPeriodic(a)},"JU.P3");l(b,"convertOperation",function(a,c){if(null==c){var e=y(16,0);JS.SymmetryOperation.getMatrixFromString(null,a,e,!0,!1,!0);e[3]/=12;e[7]/=12;e[11]/=12;return JU.M4.newA16(e)}return JS.SymmetryOperation.getXYZFromMatrixFrac(c,!1,!1,!1,!0)},"~S,JU.M4");
l(b,"getSpaceGroupJSON",function(a,c,e,b){var j=e;try{var f=e.indexOf("("),g=e.endsWith(")")&&0<f,d=null;g&&(d=e.substring(f+1,e.length-1),e=e.substring(0,f));var k=e.equalsIgnoreCase("ALL")?0:JU.PT.parseInt(e),p=-2147483648!=k,f=e.indexOf(".");!g&&(p&&0==b&&0<f)&&(b=JU.PT.parseInt(e.substring(f+1)),e=e.substring(0,f));if(p&&(230<k||0>k))throw new ArrayIndexOutOfBoundsException(k);if(c.equalsIgnoreCase("ITA")){if(0==k)return null==JS.Symmetry.allDataITA&&(JS.Symmetry.allDataITA=this.getResource(a,
"sg/json/ita_all.json")),JS.Symmetry.allDataITA;if(-2147483648==k&&(null==JS.Symmetry.listDataITA&&(JS.Symmetry.listDataITA=this.getResource(a,"sg/json/ita_list.json")),0==k))return JS.Symmetry.allDataITA;null==JS.Symmetry.itaData&&(JS.Symmetry.itaData=Array(230));var q=JS.Symmetry.itaData[k-1];null==q&&(JS.Symmetry.itaData[k-1]=q=this.getResource(a,"sg/json/ita_"+k+".json"));if(null!=q){if(0==b)return q;var n=q.get("its");if(null!=n)for(var r=p?b:n.size();0<=--r;){var l=n.get(r);if(r==b-1||e.equals(l.get("itaFull"))||
null!=d&&d.equals(l.get("tm")))return l}}}else if(c.equalsIgnoreCase("AFLOW")&&null==d){null==JS.Symmetry.aflowStructures&&(JS.Symmetry.aflowStructures=this.getResource(a,"sg/json/aflow_structures.json"));if(0==k)return JS.Symmetry.aflowStructures;System.out.println(e+" ? "+b);var t=JS.Symmetry.aflowStructures.get(""+e);if(b<=t.size())return 0==b?t:t.get(b-1)}throw new IllegalArgumentException(j);}catch(s){if(fa(s,Exception))return s.getMessage();throw s;}},"JV.Viewer,~S,~S,~N");d(b,"getResource",
function(a,c){try{var e=JV.FileManager.getBufferedReaderForResource(a,this,"JS/",c),b=Array(1);if(JU.Rdr.readAllAsString(e,2147483647,!1,b,0))return(new JU.JSJSONParser).parse(b[0],!0)}catch(j){System.err.println(j.getMessage())}return null},"JV.Viewer,~S");l(b,"getCellWeight",function(a){return this.unitCell.getCellWeight(a)},"JU.P3");l(b,"getPrecision",function(){return null==this.unitCell?NaN:this.unitCell.getPrecision()});l(b,"setPrecision",function(a){this.unitCell.setPrecision(a)},"~N");l(b,
"fixUnitCell",function(a){return JS.UnitCell.createCompatibleUnitCell(this.spaceGroup,a,null,!0)},"~A");l(b,"twelfthify",function(a){this.unitCell.twelfthify(a)},"JU.P3");b.wyckoffFinder=null;b.nullDesc=null;b.aflowStructures=null;b.itaData=null;b.allDataITA=null;b.listDataITA=null});W("JS");ca(["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 b=M(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.vTemp=this.principalPlane=this.principalAxis=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.maxAtoms=250;this.maxElement=
0;this.eCounts=null;this.nOps=0;sa("JS.PointGroup.Operation")||JS.PointGroup.$PointGroup$Operation$();aa(this,arguments)},JS,"PointGroup",null);la(b,function(){this.nAxes=O(JS.PointGroup.maxAxis,0);this.axes=Array(JS.PointGroup.maxAxis);this.vTemp=new JU.V3});ja(b,function(){});d(b,"getName",function(){return this.name});d(b,"getHermannMauguinName",function(){return JS.PointGroup.getHMfromSFName(this.name)});b.getPointGroup=d(b,"getPointGroup",function(a,c,e,b,j,f,g,d,k){var p=new JS.PointGroup;0>=
f&&(f=0.01);0>=g&&(g=0.5);0>=d&&(d=250);p.distanceTolerance=f;p.distanceTolerance2=f*f;p.linearTolerance=g;p.maxAtoms=d;p.isAtoms=null!=b;p.bsAtoms=p.isAtoms?b:JU.BSUtil.newBitSet2(0,e.length);p.haveVibration=j;p.center=c;p.localEnvOnly=k;JU.Logger.debugging&&(a=null);return p.set(a,e)?p:a},"JS.PointGroup,JU.T3,~A,JU.BS,~B,~N,~N,~N,~B");d(b,"isEqual",function(a){if(null==a||(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 c=0;c<this.nAtoms;c++)if(this.elements[c]!=a.elements[c]||!this.points[c].equals(a.points[c]))return!1;return!0},"JS.PointGroup");d(b,"set",function(a,c){this.cosTolerance=Math.cos(3.141592653589793*(this.linearTolerance/180));if(!this.getPointsAndElements(c))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 e=Array(this.points.length),b=this.points.length;0<=--b;){e[b]=JU.P3.newP(this.points[b]);var j=this.points[b].getVibrationVector();null!=j&&e[b].add(j)}this.points=e}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]++]=ma(JS.PointGroup.Operation,this,null,this.vTemp)),!0;this.axes[0]=Array(15);e=0;this.findCAxes();e=this.findPlanes();this.findAdditionalAxes(e);var f=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<e?this.haveInversionCenter?"Th":
"Td":"T";else if(2>f){if(1==e)return this.name="Cs",!0;if(this.haveInversionCenter)return this.name="Ci",!0;this.name="C1"}else 1==f%2&&0<this.nAxes[16]||0==f%2&&1<this.nAxes[16]?(this.principalAxis=this.setPrincipalAxis(f,e),0==e?this.name=14>f?"S"+f:"D"+(f-14):(f=14>f?K(f/2):f-14,this.name=e==f?"D"+f+"d":"D"+f+"h")):0==e?(this.principalAxis=this.axes[f][0],this.name=14>f?"S"+f:"C"+(f-14)):e==f-14?(this.principalAxis=this.axes[f][0],this.name="C"+e+"v"):(this.principalAxis=this.axes[14>f?f+14:f][0],
this.principalPlane=this.axes[0][0],this.name="C"+(14>f?f/2:f-14)+"h")}catch(g){if(fa(g,Exception))this.name="??";else throw g;}finally{JU.Logger.info("Point group found: "+this.name)}return!0},"JS.PointGroup,~A");d(b,"setPrincipalAxis",function(a,c){var e=this.setPrincipalPlane(a,c);if(0==c&&14>a||1==this.nAxes[a])return 0<c&&14>a&&(a=14+K(a/2)),this.axes[a][0];if(null==e)return null;for(var b=0;b<this.nAxes[16];b++)if(this.isParallel(e.normalOrAxis,this.axes[16][b].normalOrAxis))return 0!=b&&(e=
this.axes[16][0],this.axes[16][0]=this.axes[16][b],this.axes[16][b]=e),this.axes[16][0];return null},"~N,~N");d(b,"setPrincipalPlane",function(a,c){if(1==c)return this.principalPlane=this.axes[0][0];if(0==c||c==a-14)return null;for(var e=0;e<c;e++)for(var b=0,j=0;b<c;b++)if(this.isPerpendicular(this.axes[0][e].normalOrAxis,this.axes[0][b].normalOrAxis)&&2<++j)return 0!=e&&(b=this.axes[0][0],this.axes[0][0]=this.axes[0][e],this.axes[0][e]=b),this.principalPlane=this.axes[0][0];return null},"~N,~N");
d(b,"getPointsAndElements",function(a){var c=this.bsAtoms.cardinality();if(this.isAtoms&&c>this.maxAtoms)return!1;this.points=Array(c);this.elements=O(c,0);if(0==c)return!0;for(var e=0,c=this.bsAtoms.nextSetBit(0);0<=c;c=this.bsAtoms.nextSetBit(c+1)){var b=a[c];V(b,"JU.Node")&&(e=Math.max(e,b.i))}this.atomMap=O(e+1,0);this.nAtoms=0;if(e=null==this.center)this.center=new JU.P3;for(var j=new J.bspt.Bspt(3,0),c=this.bsAtoms.nextSetBit(0);0<=c;c=this.bsAtoms.nextSetBit(c+1),this.nAtoms++){b=a[c];if(V(b,
"JU.Node")){var f=this.localEnvOnly?1:1+Math.max(3,b.getCovalentBondCount());this.elements[this.nAtoms]=b.getElementNumber()*f;this.atomMap[b.i]=this.nAtoms+1}else f=new JU.Point3fi,f.setT(b),f.i=-1-this.nAtoms,V(b,"JU.Point3fi")&&(this.elements[this.nAtoms]=Math.max(0,b.sD)),b=f;j.addTuple(b);e&&this.center.add(b);this.points[this.nAtoms]=b}this.iter=j.allocateCubeIterator();e&&this.center.scale(1/this.nAtoms);for(c=this.nAtoms;0<=--c;)a=this.center.distanceSquared(this.points[c]),this.isAtoms&&
a<this.distanceTolerance2&&(this.centerAtomIndex=c),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");d(b,"findInversionCenter",function(){if(this.haveInversionCenter=this.checkOperation(null,this.center,-1))this.axes[1]=
Array(1),this.axes[1][0]=ma(JS.PointGroup.Operation,this,null)});d(b,"checkOperation",function(a,c,e){var b=new JU.P3,j=0;e=14>e;var f=this.points.length,g=f;a:for(;0<=--g&&j<f;)if(g!=this.centerAtomIndex){var d=this.points[g],k=this.elements[g];null!=a?(b.sub2(d,c),a.transform2(b,b).add(c)):b.setT(d);e&&(this.vTemp.sub2(c,b),b.scaleAdd2(2,this.vTemp,b));if((null!=a||e)&&b.distanceSquared(d)<this.distanceTolerance2)j++;else{for(this.iter.initialize(b,this.distanceTolerance,!1);this.iter.hasMoreElements();){var p=
this.iter.nextElement();if(p!==d){var q=this.getPointIndex(p.i);if(!(0<=this.centerAtomIndex&&q==this.centerAtomIndex||q>=this.elements.length||this.elements[q]!=k)&&b.distanceSquared(p)<this.distanceTolerance2){j++;continue a}}}return!1}}return!0},"JU.Quat,JU.T3,~N");d(b,"getPointIndex",function(a){return(0>a?-a:this.atomMap[a])-1},"~N");d(b,"isLinear",function(a){var c=null;if(2>a.length)return!1;for(var e=a.length;0<=--e;)if(e!=this.centerAtomIndex)if(null==c)c=new JU.V3,c.sub2(a[e],this.center),
c.normalize(),this.vTemp.setT(c);else if(this.vTemp.sub2(a[e],this.center),this.vTemp.normalize(),!this.isParallel(c,this.vTemp))return!1;return!0},"~A");d(b,"isParallel",function(a,c){return Math.abs(a.dot(c))>=this.cosTolerance},"JU.V3,JU.V3");d(b,"isPerpendicular",function(a,c){return Math.abs(a.dot(c))<=1-this.cosTolerance},"JU.V3,JU.V3");d(b,"getElementCounts",function(){for(var a=this.points.length;0<=--a;){var c=this.elements[a];c>this.maxElement&&(this.maxElement=c)}this.eCounts=O(++this.maxElement,
0);for(a=this.points.length;0<=--a;)this.eCounts[this.elements[a]]++});d(b,"findCAxes",function(){for(var a=new JU.V3,c=new JU.V3,e=new JU.V3,b=this.points.length;0<=--b;)if(b!=this.centerAtomIndex)for(var j=this.points[b],f=this.elements[b],g=this.points.length;--g>b;){var d=this.points[g];if(this.elements[g]==f)if(a.sub2(j,this.center),c.sub2(d,this.center),a.normalize(),c.normalize(),this.isParallel(a,c))this.getAllAxes(a);else{this.nAxes[16]<JS.PointGroup.axesMaxN[16]&&(e.ave(j,d),e.sub(this.center),
this.getAllAxes(e));var d=6.283185307179586/a.angle(c),k=K(Math.floor(d+0.01));if(0.02>=d-k&&!((k+=14)>=JS.PointGroup.maxAxis)&&this.nAxes[k]<JS.PointGroup.axesMaxN[k])e.cross(a,c),this.checkAxisOrder(k,e,this.center)}}j=Array(2*this.nAxes[16]);for(b=0;b<j.length;b++)j[b]=new JU.V3;for(b=g=0;b<this.nAxes[16];b++)j[g++].setT(this.axes[16][b].normalOrAxis),j[g].setT(this.axes[16][b].normalOrAxis),j[g++].scale(-1);for(b=j.length;2<=--b;)for(g=b;1<=--g;)for(f=g;0<=--f;)e.add2(j[b],j[g]),e.add(j[f]),1>
e.length()||this.checkAxisOrder(17,e,this.center);g=2147483647;j=-1;for(b=0;b<this.maxElement;b++)this.eCounts[b]<g&&2<this.eCounts[b]&&(g=this.eCounts[b],j=b);b=0;a:for(;b<this.points.length-2;b++)if(this.elements[b]==j)for(g=b+1;g<this.points.length-1;g++)if(this.elements[g]==j)for(f=g+1;f<this.points.length;f++)if(this.elements[f]==j&&(a.sub2(this.points[b],this.points[g]),c.sub2(this.points[b],this.points[f]),a.normalize(),c.normalize(),e.cross(a,c),this.getAllAxes(e),a.add2(this.points[b],this.points[g]),
a.add(this.points[f]),a.normalize(),this.isParallel(a,e)||this.getAllAxes(a),this.nAxes[19]==JS.PointGroup.axesMaxN[19]))break a;j=Array(this.maxElement);for(b=this.points.length;0<=--b;){f=this.elements[b];if(null==j[f])j[f]=new JU.V3;else if(this.haveInversionCenter)continue;j[f].add(this.points[b])}if(!this.haveInversionCenter)for(b=0;b<this.maxElement;b++)null!=j[b]&&j[b].scale(1/this.eCounts[b]);for(b=0;b<this.maxElement;b++)if(null!=j[b])for(g=0;g<this.maxElement;g++)b==g||null==j[g]||(this.haveInversionCenter?
a.cross(j[b],j[g]):a.sub2(j[b],j[g]),this.checkAxisOrder(16,a,this.center));return this.getHighestOrder()});d(b,"getAllAxes",function(a){for(var c=16;c<JS.PointGroup.maxAxis;c++)this.nAxes[c]<JS.PointGroup.axesMaxN[c]&&this.checkAxisOrder(c,a,this.center)},"JU.V3");d(b,"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});d(b,"checkAxisOrder",function(a,
c,e){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}c.normalize();if(this.haveAxis(a,c))return!1;var b=JS.PointGroup.getQuaternion(c,a);if(!this.checkOperation(b,e,a))return!1;this.addAxis(a,c);switch(a){case 16:this.checkAxisOrder(4,c,e);break;case 17:this.checkAxisOrder(3,c,e);this.haveInversionCenter&&this.addAxis(6,c);break;case 18:this.addAxis(16,
c);this.checkAxisOrder(4,c,e);this.checkAxisOrder(8,c,e);break;case 19:this.checkAxisOrder(5,c,e);this.haveInversionCenter&&this.addAxis(10,c);break;case 20:this.addAxis(16,c);this.addAxis(17,c);this.checkAxisOrder(3,c,e);this.checkAxisOrder(6,c,e);this.checkAxisOrder(12,c,e);break;case 22:this.addAxis(16,c),this.addAxis(18,c)}return!0},"~N,JU.V3,JU.T3");d(b,"addAxis",function(a,c){this.haveAxis(a,c)||(null==this.axes[a]&&(this.axes[a]=Array(JS.PointGroup.axesMaxN[a])),this.axes[a][this.nAxes[a]++]=
ma(JS.PointGroup.Operation,this,null,c,a))},"~N,JU.V3");d(b,"haveAxis",function(a,c){if(this.nAxes[a]==JS.PointGroup.axesMaxN[a])return!0;if(0<this.nAxes[a])for(var e=this.nAxes[a];0<=--e;)if(this.isParallel(c,this.axes[a][e].normalOrAxis))return!0;return!1},"~N,JU.V3");d(b,"findPlanes",function(){for(var a=new JU.P3,c=new JU.V3,e=new JU.V3,b=new JU.V3,d=0,f=1<this.getHighestOrder(),g=this.points.length;0<=--g;)if(g!=this.centerAtomIndex)for(var h=this.points[g],k=this.elements[g],p=this.points.length;--p>
g;)if(!(f&&this.elements[p]!=k)&&(d=this.points[p],a.add2(h,d),a.scale(0.5),c.sub2(h,this.center),e.sub2(d,this.center),c.normalize(),e.normalize(),this.isParallel(c,e)||(b.cross(c,e),b.normalize(),this.getPlane(b)),b.sub2(d,h),b.normalize(),d=this.getPlane(b),d==JS.PointGroup.axesMaxN[0]))return d;if(f)for(g=16;g<JS.PointGroup.maxAxis;g++)for(p=0;p<this.nAxes[g];p++)d=this.getPlane(this.axes[g][p].normalOrAxis);return d});d(b,"getPlane",function(a){!this.haveAxis(0,a)&&this.checkOperation(JU.Quat.newVA(a,
180),this.center,-1)&&(this.axes[0][this.nAxes[0]++]=ma(JS.PointGroup.Operation,this,null,a));return this.nAxes[0]},"JU.V3");d(b,"findAdditionalAxes",function(a){var c=this.axes[0],e=0;if(1<a&&(e=a+14)<JS.PointGroup.maxAxis&&0==this.nAxes[e])this.vTemp.cross(c[0].normalOrAxis,c[1].normalOrAxis),!this.checkAxisOrder(e,this.vTemp,this.center)&&2<a&&(this.vTemp.cross(c[1].normalOrAxis,c[2].normalOrAxis),this.checkAxisOrder(e-1,this.vTemp,this.center));if(0==this.nAxes[16]&&2<a)for(e=0;e<a-1;e++)for(var b=
e+1;b<a;b++)this.vTemp.add2(c[1].normalOrAxis,c[2].normalOrAxis),this.checkAxisOrder(16,this.vTemp,this.center)},"~N");b.getQuaternion=d(b,"getQuaternion",function(a,c){return JU.Quat.newVA(a,(14>c?180:0)+(0==c?0:K(360/(c%14))))},"JU.V3,~N");d(b,"getInfo",function(a,c,e,b,d,f){var g=null!=c;this.info=e?new java.util.Hashtable:null;var h=new JU.V3,k;0==f&&(f=1);this.scale=f;for(var p=O(4,2,0),q=1;q<JS.PointGroup.maxAxis;q++)for(var n=this.nAxes[q];0<=--n;)p[this.axes[q][n].type][0]++;var r=(new JU.SB).append("# ").appendI(this.nAtoms).append(" atoms\n"),
l=JS.PointGroup.getHMfromSFName(this.name);if(g){c="draw "+c;this.drawType=b=(e=null!=b&&0<b.length)?b:"";this.drawIndex=d;var g=b.equalsIgnoreCase("Cn"),t=b.equalsIgnoreCase("Sn");r.append("set perspectivedepth off;\n");var s="_"+a+"_";e||r.append(c+"pg0").append(s).append("* delete;draw pgva").append(s).append("* delete;draw pgvp").append(s).append("* delete;");if(!e||b.equalsIgnoreCase("Ci"))r.append(c+"pg0").append(s).append(this.haveInversionCenter?"inv ":" ").append(JU.Escape.eP(this.center)).append(this.haveInversionCenter?
'"i";\n':";\n");for(var v=0.1,q=2;q<JS.PointGroup.maxAxis;q++)if(14==q&&(v=0.1),0!=this.nAxes[q]){a=!this.$isLinear?this.axes[q][0].getLabel():"C_infinity";var v=v+0.25,x=f*this.radius+v,n=14<=q;if(!e||b.equalsIgnoreCase(a)||g&&n||t&&!n)for(n=0;n<this.nAxes[q];n++)if(!(0<d&&n+1!=d)){k=this.axes[q][n];h.add2(k.normalOrAxis,this.center);2==k.type&&(x=-x);r.append(c+"pgva").append(s).append(a).append("_").appendI(n+1).append(" width 0.05 scale ").appendF(x).append(" ").append(JU.Escape.eP(h));h.scaleAdd2(-2,
k.normalOrAxis,h);var u=!this.$isLinear&&null!=this.principalAxis&&k.index==this.principalAxis.index;r.append(JU.Escape.eP(h)).append('"').append(a).append(u?"*":"").append('" color ').append(u?"red":2==k.type?"blue":"orange").append(";\n")}}if(!e||b.equalsIgnoreCase("Cs"))for(n=0;n<this.nAxes[0];n++)0<d&&n+1!=d||(k=this.axes[0][n],r.append(c+"pgvp").append(s).appendI(n+1).append("disk scale ").appendF(2*f*this.radius).append(" CIRCLE PLANE ").append(JU.Escape.eP(this.center)),h.add2(k.normalOrAxis,
this.center),r.append(JU.Escape.eP(h)).append(" color translucent yellow;\n"),h.add2(k.normalOrAxis,this.center),r.append(c+"pgvp").append(s).appendI(n+1).append("ring width 0.05 scale ").appendF(2*f*this.radius).append(" arc ").append(JU.Escape.eP(h)),h.scaleAdd2(-2,k.normalOrAxis,h),r.append(JU.Escape.eP(h)),h.add3(0.011,0.012,0.013),r.append(JU.Escape.eP(h)).append("{0 360 0.5} color ").append(null!=this.principalPlane&&k.index==this.principalPlane.index?"red":"blue").append(";\n"));l=this.name+
"("+l+")";r.append("# name=").append(l);r.append(", nCi=").appendI(this.haveInversionCenter?1:0);r.append(", nCs=").appendI(this.nAxes[0]);r.append(", nCn=").appendI(p[1][0]);r.append(", nSn=").appendI(p[2][0]);r.append(": ");for(q=JS.PointGroup.maxAxis;2<=--q;)0<this.nAxes[q]&&(r.append(" n").append(14>q?"S":"C").appendI(q%14),r.append("=").appendI(this.nAxes[q]));r.append(";\n");r.append("print '"+l+"';\n");this.drawInfo=r.toString();JU.Logger.debugging&&JU.Logger.info(this.drawInfo);return this.drawInfo}n=
0;c=1;b=0;q=this.haveInversionCenter?"Ci":"center";this.haveInversionCenter&&(c++,b++);e?null!=this.center&&(this.info.put(q,this.center),this.haveInversionCenter&&this.info.put("center",this.center),this.info.put(q,this.center)):r.append("\n\n").append(this.name).append("\t").append(q).append("\t").append(JU.Escape.eP(this.center));for(q=JS.PointGroup.maxAxis;0<=--q;)if(0<this.nAxes[q]){n=JS.PointGroup.nUnique[q];a=this.axes[q][0].getLabel();e?this.info.put("n"+a,Integer.$valueOf(this.nAxes[q])):
r.append("\n\n").append(this.name).append("\tn").append(a).append("\t").appendI(this.nAxes[q]).append("\t").appendI(n);n*=this.nAxes[q];c+=n;b+=this.nAxes[q];p[this.axes[q][0].type][1]+=n;d=e?new JU.Lst:null;f=e?new JU.Lst:null;for(n=0;n<this.nAxes[q];n++)h=this.axes[q][n],e?(d.addLast(h.normalOrAxis),f.addLast(h.getM3())):r.append("\n").append(this.name).append("\t").append(a).append("_").appendI(n+1).append("\t").appendO(h.normalOrAxis);e&&(this.info.put(a,d),this.info.put(a+"_m",f))}if(!e)return r.append("\n"),
r.append("\n").append(this.name).append("\ttype\tnElements\tnUnique"),r.append("\n").append(this.name).append("\tE\t  1\t  1"),n=this.haveInversionCenter?1:0,r.append("\n").append(this.name).append("\tCi\t  ").appendI(n).append("\t  ").appendI(n),r.append("\n").append(this.name).append("\tCs\t"),JU.PT.rightJustify(r,"    ",this.nAxes[0]+"\t"),JU.PT.rightJustify(r,"    ",this.nAxes[0]+"\n"),r.append(this.name).append("\tCn\t"),JU.PT.rightJustify(r,"    ",p[1][0]+"\t"),JU.PT.rightJustify(r,"    ",p[1][1]+
"\n"),r.append(this.name).append("\tSn\t"),JU.PT.rightJustify(r,"    ",p[2][0]+"\t"),JU.PT.rightJustify(r,"    ",p[2][1]+"\n"),r.append(this.name).append("\t\tTOTAL\t"),JU.PT.rightJustify(r,"    ",c+"\n"),this.textInfo=r.toString();this.info.put("name",this.name);this.info.put("hmName",l);this.info.put("nAtoms",Integer.$valueOf(this.nAtoms));this.info.put("nTotal",Integer.$valueOf(c));this.info.put("nElements",Integer.$valueOf(b));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(p[1][0]));this.info.put("nSn",Integer.$valueOf(p[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",r.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");d(b,"isDrawType",function(a,c,e){return null!=this.drawInfo&&this.drawType.equals(null==a?"":a)&&this.drawIndex==c&&this.scale==e},"~S,~N,~N");b.getHMfromSFName=d(b,"getHMfromSFName",function(a){if(null==JS.PointGroup.htSFToHM){JS.PointGroup.htSFToHM=new java.util.Hashtable;for(var c=
JS.PointGroup.SF2HM,e=0;e<c.length;e++){var b=c[e].$plit(","),d=b[0];if(2==b.length)JS.PointGroup.htSFToHM.put(d,b[1]);else{for(var f=d.substring(0,1),d=d.substring(2,d.length),g=1;13>g;g++){var h=b[g];0<h.length&&(JS.PointGroup.htSFToHM.put(f+g+d,h),System.out.println(f+g+d+"\t"+h))}14==b.length&&JS.PointGroup.htSFToHM.put(f+"\u0221e"+d,b[13])}}}return JS.PointGroup.htSFToHM.get(a)},"~S");b.$PointGroup$Operation$=function(){var a=M(function(){ta(this,arguments);this.index=this.order=this.type=0;
this.normalOrAxis=null;this.typeOrder=0;this.mat=null;aa(this,arguments)},JS.PointGroup,"Operation",null);ja(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])});ja(a,function(a,e){this.index=++this.b$["JS.PointGroup"].nOps;this.type=14>e?2:1;this.typeOrder=e;this.order=e%14;this.normalOrAxis=JU.Quat.newVA(a,180).getNormal();JU.Logger.debugging&&JU.Logger.debug("new operation -- "+
(this.order==e?"S":"C")+this.order+" "+this.normalOrAxis)},"JU.V3,~N");ja(a,function(a){null!=a&&(this.index=++this.b$["JS.PointGroup"].nOps,this.type=0,this.normalOrAxis=JU.Quat.newVA(a,180).getNormal(),JU.Logger.debugging&&JU.Logger.debug("new operation -- plane "+this.normalOrAxis))},"JU.V3");d(a,"getLabel",function(){switch(this.type){case 0:return"Cs";case 2:return"S"+this.order;default:return"C"+this.order}});d(a,"getM3",function(){if(null!=this.mat)return this.mat;var a=JU.M3.newM3(JS.PointGroup.getQuaternion(this.normalOrAxis,
this.typeOrder).getMatrix());(0==this.type||2==this.type)&&a.mul(JS.PointGroup.mInv);this.cleanMatrix(a);return this.mat=a});d(a,"cleanMatrix",function(a){for(var e=0;3>e;e++)for(var b=0;3>b;b++)a.setElement(e,b,this.approx0(a.getElement(e,b)))},"JU.M3");d(a,"approx0",function(a){return 1E-15<a||-1E-15>a?a:0},"~N")};b.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]);b.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]);b.maxAxis=JS.PointGroup.axesMaxN.length;b.typeNames=
H(-1,["plane","proper axis","improper axis","center of inversion"]);b.mInv=JU.M3.newA9(y(-1,[-1,0,0,0,-1,0,0,0,-1]));b.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,,-4,,-3,,-8,,-5,,(-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("\\|");
b.htSFToHM=null});W("JS");ca(["java.util.Hashtable"],"JS.SpaceGroup","java.util.Arrays JU.AU $.Lst $.M4 $.P3 $.PT $.SB JS.HallInfo $.HallTranslation $.SymmetryOperation JU.Logger".split(" "),function(){var b=M(function(){this.xyzList=this.allOperations=this.finalOperations=this.operations=null;this.index=0;this.isSSG=!1;this.name="unknown!";this.hmSymbolAbbrShort=this.hmSymbolAlternative=this.hmSymbolAbbr=this.hmSymbolExt=this.hmSymbolFull=this.hmSymbol=this.crystalClass=this.hallSymbol=null;this.axisChoice=
this.uniqueAxis=this.ambiguityType="\x00";this.hallInfo=this.intlTableNumberExt=this.intlTableNumberFull=this.intlTableNumber=null;this.operationCount=this.latticeParameter=0;this.latticeOp=-1;this.modDim=0;this.doNormalize=!0;this.isBilbao=this.isBio=!1;this.latticeType="P";this.info=this.nHallOperators=null;aa(this,arguments)},JS,"SpaceGroup",null,Cloneable);ja(b,function(a,c,e){++JS.SpaceGroup.sgIndex;0>a&&(a=JS.SpaceGroup.sgIndex);this.index=a;this.init(e&&null==c);e&&null!=c&&this.buildSpaceGroup(c)},
"~N,~S,~B");d(b,"cloneInfoTo",function(a){try{var c=this.clone();c.operations=a.operations;c.finalOperations=a.finalOperations;c.xyzList=a.xyzList;return c}catch(e){if(fa(e,"CloneNotSupportedException"))return null;throw e;}},"JS.SpaceGroup");b.getNull=d(b,"getNull",function(a,c,e){JS.SpaceGroup.getSpaceGroups();a=new JS.SpaceGroup(-1,null,a);a.doNormalize=c;e&&a.setFinalOperations();return a},"~B,~B,~B");d(b,"init",function(a){this.xyzList=new java.util.Hashtable;this.operationCount=0;a&&this.addSymmetry("x,y,z",
0,!1)},"~B");b.createSpaceGroup=d(b,"createSpaceGroup",function(a,c,e,b){var d=null;0<=a?d=JS.SpaceGroup.getSpaceGroups()[a]:(d=V(e,"JU.Lst")?JS.SpaceGroup.createSGFromList(c,e):JS.SpaceGroup.determineSpaceGroupNA(c,e),null==d&&(d=JS.SpaceGroup.createSpaceGroupN(0>=b?c:"x1,x2,x3,x4,x5,x6,x7,x8,x9".substring(0,3*b+8))));null!=d&&d.generateAllOperators(null);return d},"~N,~S,~O,~N");b.createSGFromList=d(b,"createSGFromList",function(a,c){var e=new JS.SpaceGroup(-1,"0;0;--;--;--",!0);e.doNormalize=!1;
e.name=a;for(var b=c.size(),d=0;d<b;d++){var f=c.get(d);if(V(f,"JS.SymmetryOperation")){var g=e.addOp(f,f.xyz,!1);e.operations[g].setTimeReversal(f.timeReversal)}else e.addSymmetrySM("xyz matrix:"+f,f)}b=e.getDerivedSpaceGroup();null!=b&&(e=b);return e},"~S,JU.Lst");d(b,"addSymmetry",function(a,c,e){a=a.toLowerCase();return 0>a.indexOf("[[")&&0>a.indexOf("x4")&&0>a.indexOf(";")&&(0>a.indexOf("x")||0>a.indexOf("y")||0>a.indexOf("z"))?-1:this.addOperation(a,c,e)},"~S,~N,~B");d(b,"setFinalOperations",
function(){this.setFinalOperationsForAtoms(3,null,0,0,!1)});d(b,"setFinalOperationsForAtoms",function(a,c,e,b,d){if(null==this.hallInfo&&0!=this.latticeParameter){var f=new JS.HallInfo(JS.HallTranslation.getHallLatticeEquivalent(this.latticeParameter));this.generateAllOperators(f)}this.finalOperations=null;this.isBio=0<=this.name.indexOf("bio");this.index>=JS.SpaceGroup.getSpaceGroups().length&&(!this.isBio&&0>this.name.indexOf("SSG:")&&0>this.name.indexOf("[subsystem"))&&(f=this.getDerivedSpaceGroup(),
null!=f&&(this.name=f.getName(),this.latticeType=f.latticeType,this.intlTableNumber=f.intlTableNumber));0==this.operationCount&&this.addOperation("x,y,z",1,!1);this.finalOperations=Array(this.operationCount);var f=null,g=d&&0<b&&null!=c;if(g){f=this.finalOperations[0]=new JS.SymmetryOperation(this.operations[0],0,!0);null==f.sigma&&JS.SymmetryOperation.normalizeOperationToCentroid(a,f,c,e,b);var h=c[e],k=JU.P3.newP(h);f.rotTrans(k);if(1E-4<k.distance(h))for(var p=0;p<b;p++)h=c[e+p],k.setT(h),f.rotTrans(k),
h.setT(k);d||(f=null)}for(p=0;p<this.operationCount;p++){if(0<p||null==f)f=this.finalOperations[p]=new JS.SymmetryOperation(this.operations[p],0,d);g&&null==f.sigma&&JS.SymmetryOperation.normalizeOperationToCentroid(a,f,c,e,b);f.getCentering()}},"~N,~A,~N,~N,~B");d(b,"getOperationCount",function(){null==this.finalOperations&&this.setFinalOperations();return this.finalOperations.length});d(b,"getOperation",function(a){return this.finalOperations[a]},"~N");d(b,"getAdditionalOperationsCount",function(){null==
this.finalOperations&&this.setFinalOperations();null==this.allOperations&&(this.allOperations=JS.SymmetryOperation.getAdditionalOperations(this.finalOperations));return this.allOperations.length-this.getOperationCount()});d(b,"getAdditionalOperations",function(){this.getAdditionalOperationsCount();return this.allOperations});d(b,"getAllOperation",function(a){return this.allOperations[a]},"~N");d(b,"getXyz",function(a,c){return null==this.finalOperations?this.operations[a].getXyz(c):this.finalOperations[a].getXyz(c)},
"~N,~B");b.getInfo=d(b,"getInfo",function(a,c,e,b,d){try{if(null!=a&&a.index>=JS.SpaceGroup.SG.length){var f=JS.SpaceGroup.findSpaceGroup(a.operationCount,a.getCanonicalSeitzList());null!=f&&(a=f)}if(null!=e){if(null==a){0<=c.indexOf("[")&&(c=c.substring(0,c.indexOf("[")).trim());if(c.equals("unspecified!"))return"no space group identified in file";a=JS.SpaceGroup.determineSpaceGroupNA(c,e)}}else{if(c.equalsIgnoreCase("ALL"))return JS.SpaceGroup.dumpAll(b);if(c.equalsIgnoreCase("MAP"))return JS.SpaceGroup.dumpAll(!0);
if(c.equalsIgnoreCase("ALLSEITZ"))return JS.SpaceGroup.dumpAllSeitz();a=JS.SpaceGroup.determineSpaceGroupN(c)}if(null==a){var g=JS.SpaceGroup.createSpaceGroupN(c);null!=g&&(g=JS.SpaceGroup.findSpaceGroup(g.operationCount,g.getCanonicalSeitzList()));null!=g&&(a=g)}if(null!=a){if(b)return a.dumpInfoObj();for(var h=new JU.SB;null!=a;){h.append(a.dumpInfo());if(a.index>=JS.SpaceGroup.SG.length||!d)break;a=JS.SpaceGroup.determineSpaceGroupNS(c,a)}return h.toString()}return b?null:"?"}catch(k){if(fa(k,
Exception))return"?";throw k;}},"JS.SpaceGroup,~S,~A,~B,~B");d(b,"dumpInfo",function(){var a=this.dumpCanonicalSeitzList();if(V(a,"JS.SpaceGroup"))return a.dumpInfo();var c=(new JU.SB).append("\nHermann-Mauguin symbol: ");null==this.hmSymbol||null==this.hmSymbolExt?c.append("?"):c.append(this.hmSymbol).append(0<this.hmSymbolExt.length?":"+this.hmSymbolExt:"");null!=this.intlTableNumber&&c.append("\ninternational table number: ").append(this.intlTableNumber).append(0<this.intlTableNumberExt.length?
":"+this.intlTableNumberExt:"").append("\ncrystal class: "+this.crystalClass).append("\n\n").appendI(this.operationCount).append(" operators").append(null!=this.hallInfo&&!this.hallInfo.hallSymbol.equals("--")?" from Hall symbol "+this.hallInfo.hallSymbol+"  #"+this.intlTableNumberFull:"").append(": ");for(var e=0;e<this.operationCount;e++)c.append("\n").append(this.operations[e].xyz);c.append("\n\n").append(null==this.hallInfo?"Hall symbol unknown":this.hallInfo.dumpInfo());c.append("\n\ncanonical Seitz: ").append(a).append("\n----------------------------------------------------\n");
return c.toString()});d(b,"dumpInfoObj",function(){var a=this.dumpCanonicalSeitzList();if(V(a,"JS.SpaceGroup"))return a.dumpInfoObj();a=new java.util.Hashtable;a.put("HermannMauguinSymbol",null==this.hmSymbol||null==this.hmSymbolExt?"?":this.hmSymbol+(0<this.hmSymbolExt.length?":"+this.hmSymbolExt:""));null!=this.intlTableNumber&&(a.put("ita",Integer.$valueOf(JU.PT.parseInt(this.intlTableNumber))),a.put("itaFull",this.intlTableNumberFull),a.put("crystalClass",this.crystalClass),a.put("operationCount",
Integer.$valueOf(this.operationCount)));for(var c=new JU.Lst,e=0;e<this.operationCount;e++)c.addLast(this.operations[e].xyz);a.put("operationsXYZ",c);a.put("HallSymbol",null==this.hallInfo?"?":this.hallInfo.hallSymbol);return a});d(b,"getName",function(){return this.name});d(b,"getLatticeDesignation",function(){return JS.HallTranslation.getLatticeDesignation(this.latticeParameter)});d(b,"setLatticeParam",function(a){this.latticeParameter=a;10<a&&(this.latticeParameter=-JS.HallTranslation.getLatticeIndex(JS.HallTranslation.getLatticeCode(a)))},
"~N");d(b,"dumpCanonicalSeitzList",function(){null!=this.nHallOperators&&(null==this.hallInfo&&(this.hallInfo=new JS.HallInfo(this.hallSymbol)),this.generateAllOperators(null));var a=this.getCanonicalSeitzList();if(this.index>=JS.SpaceGroup.SG.length){var c=JS.SpaceGroup.findSpaceGroup(this.operationCount,a);if(null!=c)return c.getCanonicalSeitzList()}return(0<=this.index&&this.index<JS.SpaceGroup.SG.length?this.hallSymbol+" = ":"")+a});d(b,"getDerivedSpaceGroup",function(){if(0<=this.index&&this.index<
JS.SpaceGroup.SG.length||0<this.modDim||null==this.operations||0==this.operations.length||0!=this.operations[0].timeReversal)return this;null!=this.finalOperations&&this.setFinalOperations();var a=this.getCanonicalSeitzList();return null==a?null:JS.SpaceGroup.findSpaceGroup(this.operationCount,a)});d(b,"getCanonicalSeitzList",function(){for(var a=Array(this.operationCount),c=0;c<this.operationCount;c++)a[c]=JS.SymmetryOperation.dumpSeitz(this.operations[c],!0);java.util.Arrays.sort(a,0,this.operationCount);
for(var e=(new JU.SB).append("\n["),c=0;c<this.operationCount;c++)e.append(a[c].$replace("\t"," ").$replace("\n"," ")).append("; ");e.append("]");return e.toString()});b.findSpaceGroup=d(b,"findSpaceGroup",function(a,c){JS.SpaceGroup.getSpaceGroups();var e=JS.SpaceGroup.htByOpCount.get(Integer.$valueOf(a));if(null!=e)for(var b=0,d=e.size();b<d;b++){var f=e.get(b);if(0<=JS.SpaceGroup.getCanonicalSeitz(f.index).indexOf(c))return JS.SpaceGroup.SG[f.index]}return null},"~N,~S");b.dumpAll=d(b,"dumpAll",
function(a){JS.SpaceGroup.getSpaceGroups();if(a){var c=new JU.Lst;for(a=0;a<JS.SpaceGroup.SG.length;a++)c.addLast(JS.SpaceGroup.SG[a].dumpInfoObj());return c}c=new JU.SB;for(a=0;a<JS.SpaceGroup.SG.length;a++)c.append("\n----------------------\n"+JS.SpaceGroup.SG[a].dumpInfo());return c.toString()},"~B");b.dumpAllSeitz=d(b,"dumpAllSeitz",function(){JS.SpaceGroup.getSpaceGroups();for(var a=new JU.SB,c=0;c<JS.SpaceGroup.SG.length;c++)a.append("\n").appendO(JS.SpaceGroup.getCanonicalSeitz(c));return a.toString()});
b.getCanonicalSeitz=d(b,"getCanonicalSeitz",function(a){null==JS.SpaceGroup.canonicalSeitzList&&(JS.SpaceGroup.canonicalSeitzList=Array(JS.SpaceGroup.SG.length));var c=JS.SpaceGroup.canonicalSeitzList[a];return null==c?JS.SpaceGroup.canonicalSeitzList[a]=JS.SpaceGroup.SG[a].dumpCanonicalSeitzList().toString():c},"~N");d(b,"setLattice",function(a,c){this.latticeParameter=JS.HallTranslation.getLatticeIndex(a);c||(this.latticeParameter=-this.latticeParameter)},"~S,~B");b.createSpaceGroupN=d(b,"createSpaceGroupN",
function(a){JS.SpaceGroup.getSpaceGroups();a=a.trim();var c=JS.SpaceGroup.determineSpaceGroupN(a),e;null==c&&(e=new JS.HallInfo(a),0<e.nRotations?(c=new JS.SpaceGroup(-1,"0;0;--;--;"+a,!0),c.hallInfo=e):0<=a.indexOf(",")&&(c=new JS.SpaceGroup(-1,"0;0;--;--;--",!0),c.doNormalize=!1,c.generateOperatorsFromXyzInfo(a)));null!=c&&c.generateAllOperators(null);return c},"~S");d(b,"addOperation",function(a,c,e){if(null==a||3>a.length)return this.init(!1),-1;a=JU.PT.rep(a," ","");var b="="==a.charAt(0);b&&
(a=a.substring(1));var d=this.checkXYZlist(a);if(0<=d)return d;if(a.startsWith("x1,x2,x3,x4")&&0==this.modDim)this.xyzList.clear(),this.operationCount=0,this.modDim=JU.PT.parseInt(a.substring(a.lastIndexOf("x")+1))-3;else if(0<=a.indexOf("m")&&(a=JU.PT.rep(a,"+m","m"),a.equals("x,y,z,m")||a.equals("x,y,z(mx,my,mz)")))this.xyzList.clear(),this.operationCount=0;c=new JS.SymmetryOperation(null,c,this.doNormalize);if(!c.setMatrixFromXYZ(a,this.modDim,e))return JU.Logger.error("couldn't interpret symmetry operation: "+
a),-1;"!"==a.charAt(0)&&(a=a.substring(a.lastIndexOf("!")+1));return this.addOp(c,a,b)},"~S,~N,~B");d(b,"checkXYZlist",function(a){return this.xyzList.containsKey(a)?this.xyzList.get(a).intValue():-1},"~S");d(b,"addOp",function(a,c,e){var b=a.xyz;if(!e){e=this.checkXYZlist(b);if(0<=e)return e;0>this.latticeOp&&(e=JU.PT.replaceAllCharacters(0<this.modDim?JS.SymmetryOperation.replaceXn(b,this.modDim+3):b,"+123/",""),this.xyzList.containsKey(e+"!")?this.latticeOp=this.operationCount:this.xyzList.put(e+
"!",Integer.$valueOf(this.operationCount)));this.xyzList.put(b,Integer.$valueOf(this.operationCount))}b.equals(c)||this.xyzList.put(c,Integer.$valueOf(this.operationCount));null==this.operations&&(this.operations=Array(4));this.operationCount==this.operations.length&&(this.operations=JU.AU.arrayCopyObject(this.operations,2*this.operationCount));this.operations[this.operationCount++]=a;a.number=this.operationCount;0!=a.timeReversal&&(this.operations[0].timeReversal=1);JU.Logger.debugging&&JU.Logger.debug("\naddOperation "+
this.operationCount+a.dumpInfo());return this.operationCount-1},"JS.SymmetryOperation,~S,~B");d(b,"generateOperatorsFromXyzInfo",function(a){this.init(!0);a=JU.PT.split(a.toLowerCase(),";");for(var c=0;c<a.length;c++)this.addSymmetry(a[c],0,!1)},"~S");d(b,"generateAllOperators",function(a){if(null==a){if(0<this.operationCount)return;a=this.hallInfo;this.operations=Array(4);if(null==this.hallInfo||0==this.hallInfo.nRotations)a=this.hallInfo=new JS.HallInfo(this.hallSymbol);this.setLattice(this.hallInfo.latticeCode,
this.hallInfo.isCentrosymmetric);this.init(!0)}switch(a.latticeCode.charCodeAt(0)){case 0:case 83:case 84:case 80:this.latticeType="P";break;default:this.latticeType=a.latticeCode}for(var c=new JU.M4,e=new JU.M4,b=Array(7),d=0;7>d;d++)b[d]=new JU.M4;this.operationCount=1;for(d=0;d<a.nRotations;d++){var f=a.rotationTerms[d];c.setM4(f.seitzMatrix12ths);f=f.order;b[0].setIdentity();for(var g=this.operationCount,h=1;h<=f;h++){var k=b[h];k.mul2(c,b[0]);b[0].setM4(k);for(var p=0;p<g;p++){e.mul2(k,this.operations[p]);
e.m03=(v(e.m03)+12)%12;e.m13=(v(e.m13)+12)%12;e.m23=(v(e.m23)+12)%12;var q=JS.SymmetryOperation.getXYZFromMatrix(e,!0,!0,!1);this.addSymmetrySM("!nohalf!"+q,e)}}}null!=this.nHallOperators&&this.operationCount!=this.nHallOperators.intValue()&&JU.Logger.error("Operator mismatch "+this.operationCount+" for "+this)},"JS.HallInfo");d(b,"addSymmetrySM",function(a,c){var e=this.addOperation(a,0,!1);0<=e&&this.operations[e].setM4(c);return e},"~S,JU.M4");b.determineSpaceGroupN=d(b,"determineSpaceGroupN",
function(a){return JS.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,-1)},"~S");b.determineSpaceGroupNS=d(b,"determineSpaceGroupNS",function(a,c){return JS.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,c.index)},"~S,JS.SpaceGroup");b.determineSpaceGroupNA=d(b,"determineSpaceGroupNA",function(a,c){return null==c?JS.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,-1):JS.SpaceGroup.determineSpaceGroup(a,c[0],c[1],c[2],c[3],c[4],c[5],-1)},"~S,~A");b.determineSpaceGroup=d(b,"determineSpaceGroup",function(a,
c,e,b,d,f,g,h){a=JS.SpaceGroup.determineSpaceGroupIndex(a,c,e,b,d,f,g,h);return 0<=a?JS.SpaceGroup.SG[a]:null},"~S,~N,~N,~N,~N,~N,~N,~N");b.isXYZList=d(b,"isXYZList",function(a){return 0<=a.indexOf(",")&&0>a.indexOf("(")},"~S");b.determineSpaceGroupIndex=d(b,"determineSpaceGroupIndex",function(a,c,e,b,d,f,g,h){if(JS.SpaceGroup.isXYZList(a))return-1;JS.SpaceGroup.getSpaceGroups();0>h&&(h=JS.SpaceGroup.SG.length);a=a.trim().toLowerCase();var k=!1;a.startsWith("bilbao:")&&(k=!0,a=a.substring(7));var p=
a.indexOf("hall:");0<p&&(a=a.substring(p));var q=a.startsWith("hall:")?5:a.startsWith("hm:")?3:0;switch(q){case 3:case 5:a=a.substring(q);break;case 0:a.contains("[")&&(q=5,a=a.substring(0,a.indexOf("[")).trim())}var p=a,n,r=!1;a=a.$replace("_"," ");2<=a.length&&(n=0==a.indexOf("-")?2:1,n<a.length&&" "!=a.charAt(n)&&(a=a.substring(0,n)+" "+a.substring(n)),a=JS.SpaceGroup.toCap(a,2));var l="";if(0<(n=a.indexOf(":")))l=a.substring(n+1),a=a.substring(0,n).trim(),r=!0;5!=q&&(!r&&JU.PT.isOneOf(a,JS.SpaceGroup.ambiguousNames))&&
(l="?",r=!0);var t=JU.PT.replaceAllCharacters(a," ()",""),s;if(3!=q&&!r)for(n=h;0<=--n;)if(JS.SpaceGroup.SG[n].hallSymbol.equalsIgnoreCase(a))return n;if(5!=q){if(3!=q)for(n=h;0<=--n;)if(JS.SpaceGroup.SG[n].intlTableNumberFull.equalsIgnoreCase(p))return n;for(n=h;0<=--n;)if(JS.SpaceGroup.SG[n].hmSymbolFull.equalsIgnoreCase(p))return n;for(n=h;0<=--n;)if(null!=(s=JS.SpaceGroup.SG[n]).hmSymbolAlternative&&s.hmSymbolAlternative.equalsIgnoreCase(p))return n;if(r){for(n=h;0<=--n;)if((s=JS.SpaceGroup.SG[n]).hmSymbolAbbr.equalsIgnoreCase(t)&&
s.intlTableNumberExt.equalsIgnoreCase(l))return n;for(n=h;0<=--n;)if((s=JS.SpaceGroup.SG[n]).hmSymbolAbbrShort.equalsIgnoreCase(t)&&s.intlTableNumberExt.equalsIgnoreCase(l))return n}a=JS.SpaceGroup.determineUniqueAxis(c,e,b,d,f,g);if(!r||"?"==l.charAt(0))for(n=0;n<h;n++)if(((s=JS.SpaceGroup.SG[n]).hmSymbolAbbr.equalsIgnoreCase(t)||s.hmSymbolAbbrShort.equalsIgnoreCase(t)||s.intlTableNumber.equals(t))&&(!k||s.isBilbao))switch(s.ambiguityType.charCodeAt(0)){case 0:return n;case 97:if(s.uniqueAxis==a||
"\x00"==a)return n;break;case 111:if(0==l.length){if(s.hmSymbolExt.equals("2"))return n}else if(s.hmSymbolExt.equalsIgnoreCase(l))return n;break;case 116:if(0==l.length){if("h"==s.axisChoice)return n}else if((s.axisChoice+"").equalsIgnoreCase(l))return n}}if(0==l.length)for(n=0;n<h;n++)if((s=JS.SpaceGroup.SG[n]).intlTableNumber.equals(p)&&(!k||s.isBilbao))return n;return-1},"~S,~N,~N,~N,~N,~N,~N,~N");d(b,"setIntlTableNumberFull",function(a){this.intlTableNumberFull=a;a=JU.PT.split(a,":");this.intlTableNumber=
a[0];this.intlTableNumberExt=1==a.length?"":a[1];this.ambiguityType="\x00";0<this.intlTableNumberExt.length&&(a=this.intlTableNumberExt.charAt(0),this.intlTableNumberExt.equals("h")||this.intlTableNumberExt.equals("r")?(this.ambiguityType="t",this.axisChoice=this.intlTableNumberExt.charAt(0)):"1"==a||"2"==a?this.ambiguityType="o":2>=this.intlTableNumberExt.length||3==this.intlTableNumberExt.length&&"-"==a?(this.ambiguityType="a",this.uniqueAxis=this.intlTableNumberExt.charAt("-"==a?1:0)):this.intlTableNumberExt.contains("-")&&
(this.ambiguityType="-"))},"~S");b.determineUniqueAxis=d(b,"determineUniqueAxis",function(a,c,e,b,d,f){return a==c?c==e?"\x00":"c":c==e?"a":e==a?"b":b==d?d==f?"\x00":"c":d==f?"a":f==b?"b":"\x00"},"~N,~N,~N,~N,~N,~N");d(b,"buildSpaceGroup",function(a){a=JU.PT.split(a.toLowerCase(),";");this.intlTableNumberFull=a[0].trim();this.isBilbao=6>a.length&&!this.intlTableNumberFull.equals("0");var c=JU.PT.split(this.intlTableNumberFull,":");this.intlTableNumber=c[0];this.intlTableNumberExt=1==c.length?"":c[1];
this.ambiguityType="\x00";0<this.intlTableNumberExt.length&&(this.intlTableNumberExt.equals("h")||this.intlTableNumberExt.equals("r")?(this.ambiguityType="t",this.axisChoice=this.intlTableNumberExt.charAt(0)):this.intlTableNumberExt.startsWith("1")||this.intlTableNumberExt.startsWith("2")?this.ambiguityType="o":2>=this.intlTableNumberExt.length?(this.ambiguityType="a",this.uniqueAxis=this.intlTableNumberExt.charAt(0)):this.intlTableNumberExt.contains("-")&&(this.ambiguityType="-"));a[1].equals("0")||
(this.nHallOperators=Integer.$valueOf(a[1]),c=JS.SpaceGroup.htByOpCount.get(this.nHallOperators),null==c&&JS.SpaceGroup.htByOpCount.put(this.nHallOperators,c=new JU.Lst),c.addLast(this));this.crystalClass=JS.SpaceGroup.toCap(JU.PT.split(a[2],"^")[0],1);this.setHMSymbol(a[3]);this.hallSymbol=a[4];1<this.hallSymbol.length&&(this.hallSymbol=JS.SpaceGroup.toCap(this.hallSymbol,2));a=this.intlTableNumber+this.hallSymbol;"0"!=this.intlTableNumber.charAt(0)&&JS.SpaceGroup.lastInfo.equals(a)&&(JS.SpaceGroup.ambiguousNames+=
this.hmSymbol+";");JS.SpaceGroup.lastInfo=a;this.name=this.hallSymbol+" ["+this.hmSymbolFull+"] #"+this.intlTableNumber},"~S");d(b,"setHMSymbol",function(a){this.hmSymbolFull=JS.SpaceGroup.toCap(a,1);this.latticeType=this.hmSymbolFull.charAt(0);a=JU.PT.split(this.hmSymbolFull,":");this.hmSymbol=a[0];this.hmSymbolExt=1==a.length?"":a[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=JU.PT.rep(this.hmSymbol," 1","");this.hmSymbolAbbrShort=JU.PT.rep(this.hmSymbolAbbrShort," ","")},"~S");b.toCap=d(b,"toCap",function(a,c){return a.substring(0,c).toUpperCase()+a.substring(c)},"~S,~N");d(b,"toString",function(){return this.asString()});d(b,"asString",function(){return""+this.intlTableNumberFull+" HM:"+this.hmSymbolFull+" Hall:"+this.hallSymbol});b.getSpaceGroups=d(b,"getSpaceGroups",function(){return null==
JS.SpaceGroup.SG?JS.SpaceGroup.SG=JS.SpaceGroup.createSpaceGroups():JS.SpaceGroup.SG});b.createSpaceGroups=d(b,"createSpaceGroups",function(){var a=JS.SpaceGroup.STR_SG.length;JS.SpaceGroup.nameToGroup=new java.util.Hashtable;for(var c=Array(a),e=0;e<a;e++)c[e]=new JS.SpaceGroup(e,JS.SpaceGroup.STR_SG[e],!0),JS.SpaceGroup.nameToGroup.put(c[e].intlTableNumberFull,c[e]);JS.SpaceGroup.STR_SG=null;return c});d(b,"addLatticeVectors",function(a){if(0<=this.latticeOp||0==a.size())return!1;for(var c=this.latticeOp=
this.operationCount,e=a.get(0).length==this.modDim+4,b=-2,d=0;d<a.size();d++){var f=a.get(d);e&&(b=v(f[this.modDim+3]),f=JU.AU.arrayCopyF(f,this.modDim+3));if(f.length>this.modDim+3)return!1;for(var g=0;g<c;g++){var h=new JS.SymmetryOperation(null,0,!0);h.modDim=this.modDim;var k=this.operations[g];h.divisor=k.divisor;h.linearRotTrans=JU.AU.arrayCopyF(k.linearRotTrans,-1);h.setFromMatrix(f,!1);-2!=b&&h.setTimeReversal(k.timeReversal*b);h.xyzOriginal=h.xyz;this.addOp(h,h.xyz,!0)}}return!0},"JU.Lst");
d(b,"getSiteMultiplicity",function(a,c){for(var e=this.finalOperations.length,b=new JU.Lst,d=e;0<=--d;){var f=JU.P3.newP(a);this.finalOperations[d].rotTrans(f);c.unitize(f);for(var g=b.size();0<=--g;){var h=b.get(g);if(1E-6>f.distanceSquared(h)){f=null;break}}null!=f&&b.addLast(f)}return K(e/b.size())},"JU.P3,JS.UnitCell");d(b,"setName",function(a){this.name=a;null!=a&&a.startsWith("HM:")&&this.setHMSymbol(a.substring(3))},"~S");d(b,"getNameType",function(a,c){var e=null,e=a.equals("HM")?this.hmSymbol:
a.equals("ITA")?this.intlTableNumber:a.equals("Hall")?this.hallSymbol:"?";if(null!=e)return e;null==this.info&&(this.info=JS.SpaceGroup.getInfo(this,this.hmSymbol,c.getUnitCellParams(),!0,!1));if("string"==typeof this.info)return null;e=this.info.get(a.equals("Hall")?"HallSymbol":a.equals("ITA")?"ita":"HermannMauguinSymbol");return null==e?null:e.toString()},"~S,J.api.SymmetryInterface");b.getSpaceGroupFromITAName=d(b,"getSpaceGroupFromITAName",function(a){JS.SpaceGroup.getSpaceGroups();for(var c=
JS.SpaceGroup.SG.length,e=0;e<c;e++)if(a.equals(JS.SpaceGroup.SG[e].intlTableNumberFull))return JS.SpaceGroup.SG[e];for(e=0;e<c;e++)if(a.equals(JS.SpaceGroup.SG[e].intlTableNumber))return JS.SpaceGroup.SG[e];return null},"~S");d(b,"checkHallOperators",function(){null!=this.nHallOperators&&this.nHallOperators.intValue()!=this.operationCount&&this.generateAllOperators(this.hallInfo)});b.canonicalSeitzList=null;b.sgIndex=-1;b.ambiguousNames="";b.lastInfo="";b.SG=null;b.htByOpCount=new java.util.Hashtable;
b.nameToGroup=null;b.STR_SG=H(-1,'1;1;c1^1;p 1;p 1,2;2;ci^1;p -1;-p 1,3:b;2;c2^1;p 1 2 1;p 2y,3:b;2;c2^1;p 2;p 2y,3:c;2;c2^1;p 1 1 2;p 2,3:a;2;c2^1;p 2 1 1;p 2x,4:b;2;c2^2;p 1 21 1;p 2yb,4:b;2;c2^2;p 21;p 2yb,4:b*;2;c2^2;p 1 21 1*;p 2y1,4:c;2;c2^2;p 1 1 21;p 2c,4:c*;2;c2^2;p 1 1 21*;p 21,4:a;2;c2^2;p 21 1 1;p 2xa,4:a*;2;c2^2;p 21 1 1*;p 2x1,5:b1;4;c2^3;c 1 2 1;c 2y,5:b1;4;c2^3;c 2;c 2y,5:b2;4;c2^3;a 1 2 1;a 2y,5:b3;4;c2^3;i 1 2 1;i 2y,5:c1;4;c2^3;a 1 1 2;a 2,5:c2;4;c2^3;b 1 1 2;b 2,5:c3;4;c2^3;i 1 1 2;i 2,5:a1;4;c2^3;b 2 1 1;b 2x,5:a2;4;c2^3;c 2 1 1;c 2x,5:a3;4;c2^3;i 2 1 1;i 2x,6:b;2;cs^1;p 1 m 1;p -2y,6:b;2;cs^1;p m;p -2y,6:c;2;cs^1;p 1 1 m;p -2,6:a;2;cs^1;p m 1 1;p -2x,7:b1;2;cs^2;p 1 c 1;p -2yc,7:b1;2;cs^2;p c;p -2yc,7:b2;2;cs^2;p 1 n 1;p -2yac,7:b2;2;cs^2;p n;p -2yac,7:b3;2;cs^2;p 1 a 1;p -2ya,7:b3;2;cs^2;p a;p -2ya,7:c1;2;cs^2;p 1 1 a;p -2a,7:c2;2;cs^2;p 1 1 n;p -2ab,7:c3;2;cs^2;p 1 1 b;p -2b,7:a1;2;cs^2;p b 1 1;p -2xb,7:a2;2;cs^2;p n 1 1;p -2xbc,7:a3;2;cs^2;p c 1 1;p -2xc,8:b1;4;cs^3;c 1 m 1;c -2y,8:b1;4;cs^3;c m;c -2y,8:b2;4;cs^3;a 1 m 1;a -2y,8:b3;4;cs^3;i 1 m 1;i -2y,8:b3;4;cs^3;i m;i -2y,8:c1;4;cs^3;a 1 1 m;a -2,8:c2;4;cs^3;b 1 1 m;b -2,8:c3;4;cs^3;i 1 1 m;i -2,8:a1;4;cs^3;b m 1 1;b -2x,8:a2;4;cs^3;c m 1 1;c -2x,8:a3;4;cs^3;i m 1 1;i -2x,9:b1;4;cs^4;c 1 c 1;c -2yc,9:b1;4;cs^4;c c;c -2yc,9:b2;4;cs^4;a 1 n 1;a -2yab,9:b3;4;cs^4;i 1 a 1;i -2ya,9:-b1;4;cs^4;a 1 a 1;a -2ya,9:-b2;4;cs^4;c 1 n 1;c -2yac,9:-b3;4;cs^4;i 1 c 1;i -2yc,9:c1;4;cs^4;a 1 1 a;a -2a,9:c2;4;cs^4;b 1 1 n;b -2ab,9:c3;4;cs^4;i 1 1 b;i -2b,9:-c1;4;cs^4;b 1 1 b;b -2b,9:-c2;4;cs^4;a 1 1 n;a -2ab,9:-c3;4;cs^4;i 1 1 a;i -2a,9:a1;4;cs^4;b b 1 1;b -2xb,9:a2;4;cs^4;c n 1 1;c -2xac,9:a3;4;cs^4;i c 1 1;i -2xc,9:-a1;4;cs^4;c c 1 1;c -2xc,9:-a2;4;cs^4;b n 1 1;b -2xab,9:-a3;4;cs^4;i b 1 1;i -2xb,10:b;4;c2h^1;p 1 2/m 1;-p 2y,10:b;4;c2h^1;p 2/m;-p 2y,10:c;4;c2h^1;p 1 1 2/m;-p 2,10:a;4;c2h^1;p 2/m 1 1;-p 2x,11:b;4;c2h^2;p 1 21/m 1;-p 2yb,11:b;4;c2h^2;p 21/m;-p 2yb,11:b*;4;c2h^2;p 1 21/m 1*;-p 2y1,11:c;4;c2h^2;p 1 1 21/m;-p 2c,11:c*;4;c2h^2;p 1 1 21/m*;-p 21,11:a;4;c2h^2;p 21/m 1 1;-p 2xa,11:a*;4;c2h^2;p 21/m 1 1*;-p 2x1,12:b1;8;c2h^3;c 1 2/m 1;-c 2y,12:b1;8;c2h^3;c 2/m;-c 2y,12:b2;8;c2h^3;a 1 2/m 1;-a 2y,12:b3;8;c2h^3;i 1 2/m 1;-i 2y,12:b3;8;c2h^3;i 2/m;-i 2y,12:c1;8;c2h^3;a 1 1 2/m;-a 2,12:c2;8;c2h^3;b 1 1 2/m;-b 2,12:c3;8;c2h^3;i 1 1 2/m;-i 2,12:a1;8;c2h^3;b 2/m 1 1;-b 2x,12:a2;8;c2h^3;c 2/m 1 1;-c 2x,12:a3;8;c2h^3;i 2/m 1 1;-i 2x,13:b1;4;c2h^4;p 1 2/c 1;-p 2yc,13:b1;4;c2h^4;p 2/c;-p 2yc,13:b2;4;c2h^4;p 1 2/n 1;-p 2yac,13:b2;4;c2h^4;p 2/n;-p 2yac,13:b3;4;c2h^4;p 1 2/a 1;-p 2ya,13:b3;4;c2h^4;p 2/a;-p 2ya,13:c1;4;c2h^4;p 1 1 2/a;-p 2a,13:c2;4;c2h^4;p 1 1 2/n;-p 2ab,13:c3;4;c2h^4;p 1 1 2/b;-p 2b,13:a1;4;c2h^4;p 2/b 1 1;-p 2xb,13:a2;4;c2h^4;p 2/n 1 1;-p 2xbc,13:a3;4;c2h^4;p 2/c 1 1;-p 2xc,14:b1;4;c2h^5;p 1 21/c 1;-p 2ybc,14:b1;4;c2h^5;p 21/c;-p 2ybc,14:b2;4;c2h^5;p 1 21/n 1;-p 2yn,14:b2;4;c2h^5;p 21/n;-p 2yn,14:b3;4;c2h^5;p 1 21/a 1;-p 2yab,14:b3;4;c2h^5;p 21/a;-p 2yab,14:c1;4;c2h^5;p 1 1 21/a;-p 2ac,14:c2;4;c2h^5;p 1 1 21/n;-p 2n,14:c3;4;c2h^5;p 1 1 21/b;-p 2bc,14:a1;4;c2h^5;p 21/b 1 1;-p 2xab,14:a2;4;c2h^5;p 21/n 1 1;-p 2xn,14:a3;4;c2h^5;p 21/c 1 1;-p 2xac,15:b1;8;c2h^6;c 1 2/c 1;-c 2yc,15:b1;8;c2h^6;c 2/c;-c 2yc,15:b2;8;c2h^6;a 1 2/n 1;-a 2yab,15:b3;8;c2h^6;i 1 2/a 1;-i 2ya,15:b3;8;c2h^6;i 2/a;-i 2ya,15:-b1;8;c2h^6;a 1 2/a 1;-a 2ya,15:-b2;8;c2h^6;c 1 2/n 1;-c 2yac,15:-b2;8;c2h^6;c 2/n;-c 2yac,15:-b3;8;c2h^6;i 1 2/c 1;-i 2yc,15:-b3;8;c2h^6;i 2/c;-i 2yc,15:c1;8;c2h^6;a 1 1 2/a;-a 2a,15:c2;8;c2h^6;b 1 1 2/n;-b 2ab,15:c3;8;c2h^6;i 1 1 2/b;-i 2b,15:-c1;8;c2h^6;b 1 1 2/b;-b 2b,15:-c2;8;c2h^6;a 1 1 2/n;-a 2ab,15:-c3;8;c2h^6;i 1 1 2/a;-i 2a,15:a1;8;c2h^6;b 2/b 1 1;-b 2xb,15:a2;8;c2h^6;c 2/n 1 1;-c 2xac,15:a3;8;c2h^6;i 2/c 1 1;-i 2xc,15:-a1;8;c2h^6;c 2/c 1 1;-c 2xc,15:-a2;8;c2h^6;b 2/n 1 1;-b 2xab,15:-a3;8;c2h^6;i 2/b 1 1;-i 2xb,16;4;d2^1;p 2 2 2;p 2 2,17;4;d2^2;p 2 2 21;p 2c 2,17*;4;d2^2;p 2 2 21*;p 21 2,17:cab;4;d2^2;p 21 2 2;p 2a 2a,17:bca;4;d2^2;p 2 21 2;p 2 2b,18;4;d2^3;p 21 21 2;p 2 2ab,18:cab;4;d2^3;p 2 21 21;p 2bc 2,18:bca;4;d2^3;p 21 2 21;p 2ac 2ac,19;4;d2^4;p 21 21 21;p 2ac 2ab,20;8;d2^5;c 2 2 21;c 2c 2,20*;8;d2^5;c 2 2 21*;c 21 2,20:cab;8;d2^5;a 21 2 2;a 2a 2a,20:cab*;8;d2^5;a 21 2 2*;a 2a 21,20:bca;8;d2^5;b 2 21 2;b 2 2b,21;8;d2^6;c 2 2 2;c 2 2,21:cab;8;d2^6;a 2 2 2;a 2 2,21:bca;8;d2^6;b 2 2 2;b 2 2,22;16;d2^7;f 2 2 2;f 2 2,23;8;d2^8;i 2 2 2;i 2 2,24;8;d2^9;i 21 21 21;i 2b 2c,25;4;c2v^1;p m m 2;p 2 -2,25:cab;4;c2v^1;p 2 m m;p -2 2,25:bca;4;c2v^1;p m 2 m;p -2 -2,26;4;c2v^2;p m c 21;p 2c -2,26*;4;c2v^2;p m c 21*;p 21 -2,26:ba-c;4;c2v^2;p c m 21;p 2c -2c,26:ba-c*;4;c2v^2;p c m 21*;p 21 -2c,26:cab;4;c2v^2;p 21 m a;p -2a 2a,26:-cba;4;c2v^2;p 21 a m;p -2 2a,26:bca;4;c2v^2;p b 21 m;p -2 -2b,26:a-cb;4;c2v^2;p m 21 b;p -2b -2,27;4;c2v^3;p c c 2;p 2 -2c,27:cab;4;c2v^3;p 2 a a;p -2a 2,27:bca;4;c2v^3;p b 2 b;p -2b -2b,28;4;c2v^4;p m a 2;p 2 -2a,28*;4;c2v^4;p m a 2*;p 2 -21,28:ba-c;4;c2v^4;p b m 2;p 2 -2b,28:cab;4;c2v^4;p 2 m b;p -2b 2,28:-cba;4;c2v^4;p 2 c m;p -2c 2,28:-cba*;4;c2v^4;p 2 c m*;p -21 2,28:bca;4;c2v^4;p c 2 m;p -2c -2c,28:a-cb;4;c2v^4;p m 2 a;p -2a -2a,29;4;c2v^5;p c a 21;p 2c -2ac,29:ba-c;4;c2v^5;p b c 21;p 2c -2b,29:cab;4;c2v^5;p 21 a b;p -2b 2a,29:-cba;4;c2v^5;p 21 c a;p -2ac 2a,29:bca;4;c2v^5;p c 21 b;p -2bc -2c,29:a-cb;4;c2v^5;p b 21 a;p -2a -2ab,30;4;c2v^6;p n c 2;p 2 -2bc,30:ba-c;4;c2v^6;p c n 2;p 2 -2ac,30:cab;4;c2v^6;p 2 n a;p -2ac 2,30:-cba;4;c2v^6;p 2 a n;p -2ab 2,30:bca;4;c2v^6;p b 2 n;p -2ab -2ab,30:a-cb;4;c2v^6;p n 2 b;p -2bc -2bc,31;4;c2v^7;p m n 21;p 2ac -2,31:ba-c;4;c2v^7;p n m 21;p 2bc -2bc,31:cab;4;c2v^7;p 21 m n;p -2ab 2ab,31:-cba;4;c2v^7;p 21 n m;p -2 2ac,31:bca;4;c2v^7;p n 21 m;p -2 -2bc,31:a-cb;4;c2v^7;p m 21 n;p -2ab -2,32;4;c2v^8;p b a 2;p 2 -2ab,32:cab;4;c2v^8;p 2 c b;p -2bc 2,32:bca;4;c2v^8;p c 2 a;p -2ac -2ac,33;4;c2v^9;p n a 21;p 2c -2n,33*;4;c2v^9;p n a 21*;p 21 -2n,33:ba-c;4;c2v^9;p b n 21;p 2c -2ab,33:ba-c*;4;c2v^9;p b n 21*;p 21 -2ab,33:cab;4;c2v^9;p 21 n b;p -2bc 2a,33:cab*;4;c2v^9;p 21 n b*;p -2bc 21,33:-cba;4;c2v^9;p 21 c n;p -2n 2a,33:-cba*;4;c2v^9;p 21 c n*;p -2n 21,33:bca;4;c2v^9;p c 21 n;p -2n -2ac,33:a-cb;4;c2v^9;p n 21 a;p -2ac -2n,34;4;c2v^10;p n n 2;p 2 -2n,34:cab;4;c2v^10;p 2 n n;p -2n 2,34:bca;4;c2v^10;p n 2 n;p -2n -2n,35;8;c2v^11;c m m 2;c 2 -2,35:cab;8;c2v^11;a 2 m m;a -2 2,35:bca;8;c2v^11;b m 2 m;b -2 -2,36;8;c2v^12;c m c 21;c 2c -2,36*;8;c2v^12;c m c 21*;c 21 -2,36:ba-c;8;c2v^12;c c m 21;c 2c -2c,36:ba-c*;8;c2v^12;c c m 21*;c 21 -2c,36:cab;8;c2v^12;a 21 m a;a -2a 2a,36:cab*;8;c2v^12;a 21 m a*;a -2a 21,36:-cba;8;c2v^12;a 21 a m;a -2 2a,36:-cba*;8;c2v^12;a 21 a m*;a -2 21,36:bca;8;c2v^12;b b 21 m;b -2 -2b,36:a-cb;8;c2v^12;b m 21 b;b -2b -2,37;8;c2v^13;c c c 2;c 2 -2c,37:cab;8;c2v^13;a 2 a a;a -2a 2,37:bca;8;c2v^13;b b 2 b;b -2b -2b,38;8;c2v^14;a m m 2;a 2 -2,38:ba-c;8;c2v^14;b m m 2;b 2 -2,38:cab;8;c2v^14;b 2 m m;b -2 2,38:-cba;8;c2v^14;c 2 m m;c -2 2,38:bca;8;c2v^14;c m 2 m;c -2 -2,38:a-cb;8;c2v^14;a m 2 m;a -2 -2,39;8;c2v^15;a e m 2;a 2 -2b,39;8;c2v^15;a b m 2;a 2 -2b,39:ba-c;8;c2v^15;b m a 2;b 2 -2a,39:cab;8;c2v^15;b 2 c m;b -2a 2,39:-cba;8;c2v^15;c 2 m b;c -2a 2,39:bca;8;c2v^15;c m 2 a;c -2a -2a,39:a-cb;8;c2v^15;a c 2 m;a -2b -2b,40;8;c2v^16;a m a 2;a 2 -2a,40:ba-c;8;c2v^16;b b m 2;b 2 -2b,40:cab;8;c2v^16;b 2 m b;b -2b 2,40:-cba;8;c2v^16;c 2 c m;c -2c 2,40:bca;8;c2v^16;c c 2 m;c -2c -2c,40:a-cb;8;c2v^16;a m 2 a;a -2a -2a,41;8;c2v^17;a e a 2;a 2 -2ab,41;8;c2v^17;a b a 2;a 2 -2ab;-b,41:ba-c;8;c2v^17;b b a 2;b 2 -2ab,41:cab;8;c2v^17;b 2 c b;b -2ab 2,41:-cba;8;c2v^17;c 2 c b;c -2ac 2,41:bca;8;c2v^17;c c 2 a;c -2ac -2ac,41:a-cb;8;c2v^17;a c 2 a;a -2ab -2ab,42;16;c2v^18;f m m 2;f 2 -2,42:cab;16;c2v^18;f 2 m m;f -2 2,42:bca;16;c2v^18;f m 2 m;f -2 -2,43;16;c2v^19;f d d 2;f 2 -2d,43:cab;16;c2v^19;f 2 d d;f -2d 2,43:bca;16;c2v^19;f d 2 d;f -2d -2d,44;8;c2v^20;i m m 2;i 2 -2,44:cab;8;c2v^20;i 2 m m;i -2 2,44:bca;8;c2v^20;i m 2 m;i -2 -2,45;8;c2v^21;i b a 2;i 2 -2c,45:cab;8;c2v^21;i 2 c b;i -2a 2,45:bca;8;c2v^21;i c 2 a;i -2b -2b,46;8;c2v^22;i m a 2;i 2 -2a,46:ba-c;8;c2v^22;i b m 2;i 2 -2b,46:cab;8;c2v^22;i 2 m b;i -2b 2,46:-cba;8;c2v^22;i 2 c m;i -2c 2,46:bca;8;c2v^22;i c 2 m;i -2c -2c,46:a-cb;8;c2v^22;i m 2 a;i -2a -2a,47;8;d2h^1;p m m m;-p 2 2,48:1;8;d2h^2;p n n n:1;p 2 2 -1n;-b,48:2;8;d2h^2;p n n n:2;-p 2ab 2bc,49;8;d2h^3;p c c m;-p 2 2c,49:cab;8;d2h^3;p m a a;-p 2a 2,49:bca;8;d2h^3;p b m b;-p 2b 2b,50:1;8;d2h^4;p b a n:1;p 2 2 -1ab;-b,50:2;8;d2h^4;p b a n:2;-p 2ab 2b,50:1cab;8;d2h^4;p n c b:1;p 2 2 -1bc,50:2cab;8;d2h^4;p n c b:2;-p 2b 2bc,50:1bca;8;d2h^4;p c n a:1;p 2 2 -1ac,50:2bca;8;d2h^4;p c n a:2;-p 2a 2c,51;8;d2h^5;p m m a;-p 2a 2a,51:ba-c;8;d2h^5;p m m b;-p 2b 2,51:cab;8;d2h^5;p b m m;-p 2 2b,51:-cba;8;d2h^5;p c m m;-p 2c 2c,51:bca;8;d2h^5;p m c m;-p 2c 2,51:a-cb;8;d2h^5;p m a m;-p 2 2a,52;8;d2h^6;p n n a;-p 2a 2bc,52:ba-c;8;d2h^6;p n n b;-p 2b 2n,52:cab;8;d2h^6;p b n n;-p 2n 2b,52:-cba;8;d2h^6;p c n n;-p 2ab 2c,52:bca;8;d2h^6;p n c n;-p 2ab 2n,52:a-cb;8;d2h^6;p n a n;-p 2n 2bc,53;8;d2h^7;p m n a;-p 2ac 2,53:ba-c;8;d2h^7;p n m b;-p 2bc 2bc,53:cab;8;d2h^7;p b m n;-p 2ab 2ab,53:-cba;8;d2h^7;p c n m;-p 2 2ac,53:bca;8;d2h^7;p n c m;-p 2 2bc,53:a-cb;8;d2h^7;p m a n;-p 2ab 2,54;8;d2h^8;p c c a;-p 2a 2ac,54:ba-c;8;d2h^8;p c c b;-p 2b 2c,54:cab;8;d2h^8;p b a a;-p 2a 2b,54:-cba;8;d2h^8;p c a a;-p 2ac 2c,54:bca;8;d2h^8;p b c b;-p 2bc 2b,54:a-cb;8;d2h^8;p b a b;-p 2b 2ab,55;8;d2h^9;p b a m;-p 2 2ab,55:cab;8;d2h^9;p m c b;-p 2bc 2,55:bca;8;d2h^9;p c m a;-p 2ac 2ac,56;8;d2h^10;p c c n;-p 2ab 2ac,56:cab;8;d2h^10;p n a a;-p 2ac 2bc,56:bca;8;d2h^10;p b n b;-p 2bc 2ab,57;8;d2h^11;p b c m;-p 2c 2b,57:ba-c;8;d2h^11;p c a m;-p 2c 2ac,57:cab;8;d2h^11;p m c a;-p 2ac 2a,57:-cba;8;d2h^11;p m a b;-p 2b 2a,57:bca;8;d2h^11;p b m a;-p 2a 2ab,57:a-cb;8;d2h^11;p c m b;-p 2bc 2c,58;8;d2h^12;p n n m;-p 2 2n,58:cab;8;d2h^12;p m n n;-p 2n 2,58:bca;8;d2h^12;p n m n;-p 2n 2n,59:1;8;d2h^13;p m m n:1;p 2 2ab -1ab;-b,59:2;8;d2h^13;p m m n:2;-p 2ab 2a,59:1cab;8;d2h^13;p n m m:1;p 2bc 2 -1bc,59:2cab;8;d2h^13;p n m m:2;-p 2c 2bc,59:1bca;8;d2h^13;p m n m:1;p 2ac 2ac -1ac,59:2bca;8;d2h^13;p m n m:2;-p 2c 2a,60;8;d2h^14;p b c n;-p 2n 2ab,60:ba-c;8;d2h^14;p c a n;-p 2n 2c,60:cab;8;d2h^14;p n c a;-p 2a 2n,60:-cba;8;d2h^14;p n a b;-p 2bc 2n,60:bca;8;d2h^14;p b n a;-p 2ac 2b,60:a-cb;8;d2h^14;p c n b;-p 2b 2ac,61;8;d2h^15;p b c a;-p 2ac 2ab,61:ba-c;8;d2h^15;p c a b;-p 2bc 2ac,62;8;d2h^16;p n m a;-p 2ac 2n,62:ba-c;8;d2h^16;p m n b;-p 2bc 2a,62:cab;8;d2h^16;p b n m;-p 2c 2ab,62:-cba;8;d2h^16;p c m n;-p 2n 2ac,62:bca;8;d2h^16;p m c n;-p 2n 2a,62:a-cb;8;d2h^16;p n a m;-p 2c 2n,63;16;d2h^17;c m c m;-c 2c 2,63:ba-c;16;d2h^17;c c m m;-c 2c 2c,63:cab;16;d2h^17;a m m a;-a 2a 2a,63:-cba;16;d2h^17;a m a m;-a 2 2a,63:bca;16;d2h^17;b b m m;-b 2 2b,63:a-cb;16;d2h^17;b m m b;-b 2b 2,64;16;d2h^18;c m c e;-c 2ac 2,64;16;d2h^18;c m c a;-c 2ac 2,64:ba-c;16;d2h^18;c c m b;-c 2ac 2ac,64:cab;16;d2h^18;a b m a;-a 2ab 2ab,64:-cba;16;d2h^18;a c a m;-a 2 2ab,64:bca;16;d2h^18;b b c m;-b 2 2ab,64:a-cb;16;d2h^18;b m a b;-b 2ab 2,65;16;d2h^19;c m m m;-c 2 2,65:cab;16;d2h^19;a m m m;-a 2 2,65:bca;16;d2h^19;b m m m;-b 2 2,66;16;d2h^20;c c c m;-c 2 2c,66:cab;16;d2h^20;a m a a;-a 2a 2,66:bca;16;d2h^20;b b m b;-b 2b 2b,67;16;d2h^21;c m m e;-c 2a 2,67;16;d2h^21;c m m a;-c 2a 2,67:ba-c;16;d2h^21;c m m b;-c 2a 2a,67:cab;16;d2h^21;a b m m;-a 2b 2b,67:-cba;16;d2h^21;a c m m;-a 2 2b,67:bca;16;d2h^21;b m c m;-b 2 2a,67:a-cb;16;d2h^21;b m a m;-b 2a 2,68:1;16;d2h^22;c c c e:1;c 2 2 -1ac;-b,68:1;16;d2h^22;c c c a:1;c 2 2 -1ac;-b,68:2;16;d2h^22;c c c e:2;-c 2a 2ac,68:2;16;d2h^22;c c c a:2;-c 2a 2ac,68:1ba-c;16;d2h^22;c c c b:1;c 2 2 -1ac,68:2ba-c;16;d2h^22;c c c b:2;-c 2a 2c,68:1cab;16;d2h^22;a b a a:1;a 2 2 -1ab,68:2cab;16;d2h^22;a b a a:2;-a 2a 2b,68:1-cba;16;d2h^22;a c a a:1;a 2 2 -1ab,68:2-cba;16;d2h^22;a c a a:2;-a 2ab 2b,68:1bca;16;d2h^22;b b c b:1;b 2 2 -1ab,68:2bca;16;d2h^22;b b c b:2;-b 2ab 2b,68:1a-cb;16;d2h^22;b b a b:1;b 2 2 -1ab,68:2a-cb;16;d2h^22;b b a b:2;-b 2b 2ab,69;32;d2h^23;f m m m;-f 2 2,70:1;32;d2h^24;f d d d:1;f 2 2 -1d;-b,70:2;32;d2h^24;f d d d:2;-f 2uv 2vw,71;16;d2h^25;i m m m;-i 2 2,72;16;d2h^26;i b a m;-i 2 2c,72:cab;16;d2h^26;i m c b;-i 2a 2,72:bca;16;d2h^26;i c m a;-i 2b 2b,73;16;d2h^27;i b c a;-i 2b 2c,73:ba-c;16;d2h^27;i c a b;-i 2a 2b,74;16;d2h^28;i m m a;-i 2b 2,74:ba-c;16;d2h^28;i m m b;-i 2a 2a,74:cab;16;d2h^28;i b m m;-i 2c 2c,74:-cba;16;d2h^28;i c m m;-i 2 2b,74:bca;16;d2h^28;i m c m;-i 2 2a,74:a-cb;16;d2h^28;i m a m;-i 2c 2,75;4;c4^1;p 4;p 4,76;4;c4^2;p 41;p 4w,76*;4;c4^2;p 41*;p 41,77;4;c4^3;p 42;p 4c,77*;4;c4^3;p 42*;p 42,78;4;c4^4;p 43;p 4cw,78*;4;c4^4;p 43*;p 43,79;8;c4^5;i 4;i 4,80;8;c4^6;i 41;i 4bw,81;4;s4^1;p -4;p -4,82;8;s4^2;i -4;i -4,83;8;c4h^1;p 4/m;-p 4,84;8;c4h^2;p 42/m;-p 4c,84*;8;c4h^2;p 42/m*;-p 42,85:1;8;c4h^3;p 4/n:1;p 4ab -1ab;-b,85:2;8;c4h^3;p 4/n:2;-p 4a,86:1;8;c4h^4;p 42/n:1;p 4n -1n;-b,86:2;8;c4h^4;p 42/n:2;-p 4bc,87;16;c4h^5;i 4/m;-i 4,88:1;16;c4h^6;i 41/a:1;i 4bw -1bw;-b,88:2;16;c4h^6;i 41/a:2;-i 4ad,89;8;d4^1;p 4 2 2;p 4 2,90;8;d4^2;p 4 21 2;p 4ab 2ab,91;8;d4^3;p 41 2 2;p 4w 2c,91*;8;d4^3;p 41 2 2*;p 41 2c,92;8;d4^4;p 41 21 2;p 4abw 2nw,93;8;d4^5;p 42 2 2;p 4c 2,93*;8;d4^5;p 42 2 2*;p 42 2,94;8;d4^6;p 42 21 2;p 4n 2n,95;8;d4^7;p 43 2 2;p 4cw 2c,95*;8;d4^7;p 43 2 2*;p 43 2c,96;8;d4^8;p 43 21 2;p 4nw 2abw,97;16;d4^9;i 4 2 2;i 4 2,98;16;d4^10;i 41 2 2;i 4bw 2bw,99;8;c4v^1;p 4 m m;p 4 -2,100;8;c4v^2;p 4 b m;p 4 -2ab,101;8;c4v^3;p 42 c m;p 4c -2c,101*;8;c4v^3;p 42 c m*;p 42 -2c,102;8;c4v^4;p 42 n m;p 4n -2n,103;8;c4v^5;p 4 c c;p 4 -2c,104;8;c4v^6;p 4 n c;p 4 -2n,105;8;c4v^7;p 42 m c;p 4c -2,105*;8;c4v^7;p 42 m c*;p 42 -2,106;8;c4v^8;p 42 b c;p 4c -2ab,106*;8;c4v^8;p 42 b c*;p 42 -2ab,107;16;c4v^9;i 4 m m;i 4 -2,108;16;c4v^10;i 4 c m;i 4 -2c,109;16;c4v^11;i 41 m d;i 4bw -2,110;16;c4v^12;i 41 c d;i 4bw -2c,111;8;d2d^1;p -4 2 m;p -4 2,112;8;d2d^2;p -4 2 c;p -4 2c,113;8;d2d^3;p -4 21 m;p -4 2ab,114;8;d2d^4;p -4 21 c;p -4 2n,115;8;d2d^5;p -4 m 2;p -4 -2,116;8;d2d^6;p -4 c 2;p -4 -2c,117;8;d2d^7;p -4 b 2;p -4 -2ab,118;8;d2d^8;p -4 n 2;p -4 -2n,119;16;d2d^9;i -4 m 2;i -4 -2,120;16;d2d^10;i -4 c 2;i -4 -2c,121;16;d2d^11;i -4 2 m;i -4 2,122;16;d2d^12;i -4 2 d;i -4 2bw,123;16;d4h^1;p 4/m m m;-p 4 2,124;16;d4h^2;p 4/m c c;-p 4 2c,125:1;16;d4h^3;p 4/n b m:1;p 4 2 -1ab;-b,125:2;16;d4h^3;p 4/n b m:2;-p 4a 2b,126:1;16;d4h^4;p 4/n n c:1;p 4 2 -1n;-b,126:2;16;d4h^4;p 4/n n c:2;-p 4a 2bc,127;16;d4h^5;p 4/m b m;-p 4 2ab,128;16;d4h^6;p 4/m n c;-p 4 2n,129:1;16;d4h^7;p 4/n m m:1;p 4ab 2ab -1ab;-b,129:2;16;d4h^7;p 4/n m m:2;-p 4a 2a,130:1;16;d4h^8;p 4/n c c:1;p 4ab 2n -1ab;-b,130:2;16;d4h^8;p 4/n c c:2;-p 4a 2ac,131;16;d4h^9;p 42/m m c;-p 4c 2,132;16;d4h^10;p 42/m c m;-p 4c 2c,133:1;16;d4h^11;p 42/n b c:1;p 4n 2c -1n;-b,133:2;16;d4h^11;p 42/n b c:2;-p 4ac 2b,134:1;16;d4h^12;p 42/n n m:1;p 4n 2 -1n;-b,134:2;16;d4h^12;p 42/n n m:2;-p 4ac 2bc,135;16;d4h^13;p 42/m b c;-p 4c 2ab,135*;16;d4h^13;p 42/m b c*;-p 42 2ab,136;16;d4h^14;p 42/m n m;-p 4n 2n,137:1;16;d4h^15;p 42/n m c:1;p 4n 2n -1n;-b,137:2;16;d4h^15;p 42/n m c:2;-p 4ac 2a,138:1;16;d4h^16;p 42/n c m:1;p 4n 2ab -1n;-b,138:2;16;d4h^16;p 42/n c m:2;-p 4ac 2ac,139;32;d4h^17;i 4/m m m;-i 4 2,140;32;d4h^18;i 4/m c m;-i 4 2c,141:1;32;d4h^19;i 41/a m d:1;i 4bw 2bw -1bw;-b,141:2;32;d4h^19;i 41/a m d:2;-i 4bd 2,142:1;32;d4h^20;i 41/a c d:1;i 4bw 2aw -1bw;-b,142:2;32;d4h^20;i 41/a c d:2;-i 4bd 2c,143;3;c3^1;p 3;p 3,144;3;c3^2;p 31;p 31,145;3;c3^3;p 32;p 32,146:h;9;c3^4;r 3:h;r 3,146:r;3;c3^4;r 3:r;p 3*,147;6;c3i^1;p -3;-p 3,148:h;18;c3i^2;r -3:h;-r 3,148:r;6;c3i^2;r -3:r;-p 3*,149;6;d3^1;p 3 1 2;p 3 2,150;6;d3^2;p 3 2 1;p 3 2",151;6;d3^3;p 31 1 2;p 31 2 (0 0 4),152;6;d3^4;p 31 2 1;p 31 2",152:_2;6;d3^4;p 31 2 1;p 31 2" (0 0 -4);-b,153;6;d3^5;p 32 1 2;p 32 2 (0 0 2),154;6;d3^6;p 32 2 1;p 32 2",154:_2;6;d3^6;p 32 2 1;p 32 2" (0 0 4);-b,155:h;18;d3^7;r 3 2:h;r 3 2",155:r;6;d3^7;r 3 2:r;p 3* 2,156;6;c3v^1;p 3 m 1;p 3 -2",157;6;c3v^2;p 3 1 m;p 3 -2,158;6;c3v^3;p 3 c 1;p 3 -2"c,159;6;c3v^4;p 3 1 c;p 3 -2c,160:h;18;c3v^5;r 3 m:h;r 3 -2",160:r;6;c3v^5;r 3 m:r;p 3* -2,161:h;18;c3v^6;r 3 c:h;r 3 -2"c,161:r;6;c3v^6;r 3 c:r;p 3* -2n,162;12;d3d^1;p -3 1 m;-p 3 2,163;12;d3d^2;p -3 1 c;-p 3 2c,164;12;d3d^3;p -3 m 1;-p 3 2",165;12;d3d^4;p -3 c 1;-p 3 2"c,166:h;36;d3d^5;r -3 m:h;-r 3 2",166:r;12;d3d^5;r -3 m:r;-p 3* 2,167:h;36;d3d^6;r -3 c:h;-r 3 2"c,167:r;12;d3d^6;r -3 c:r;-p 3* 2n,168;6;c6^1;p 6;p 6,169;6;c6^2;p 61;p 61,170;6;c6^3;p 65;p 65,171;6;c6^4;p 62;p 62,172;6;c6^5;p 64;p 64,173;6;c6^6;p 63;p 6c,173*;6;c6^6;p 63*;p 63 ,174;6;c3h^1;p -6;p -6,175;12;c6h^1;p 6/m;-p 6,176;12;c6h^2;p 63/m;-p 6c,176*;12;c6h^2;p 63/m*;-p 63,177;12;d6^1;p 6 2 2;p 6 2,178;12;d6^2;p 61 2 2;p 61 2 (0 0 5),179;12;d6^3;p 65 2 2;p 65 2 (0 0 1),180;12;d6^4;p 62 2 2;p 62 2 (0 0 4),181;12;d6^5;p 64 2 2;p 64 2 (0 0 2),182;12;d6^6;p 63 2 2;p 6c 2c,182*;12;d6^6;p 63 2 2*;p 63 2c,183;12;c6v^1;p 6 m m;p 6 -2,184;12;c6v^2;p 6 c c;p 6 -2c,185;12;c6v^3;p 63 c m;p 6c -2,185*;12;c6v^3;p 63 c m*;p 63 -2,186;12;c6v^4;p 63 m c;p 6c -2c,186*;12;c6v^4;p 63 m c*;p 63 -2c,187;12;d3h^1;p -6 m 2;p -6 2,188;12;d3h^2;p -6 c 2;p -6c 2,189;12;d3h^3;p -6 2 m;p -6 -2,190;12;d3h^4;p -6 2 c;p -6c -2c,191;24;d6h^1;p 6/m m m;-p 6 2,192;24;d6h^2;p 6/m c c;-p 6 2c,193;24;d6h^3;p 63/m c m;-p 6c 2,193*;24;d6h^3;p 63/m c m*;-p 63 2,194;24;d6h^4;p 63/m m c;-p 6c 2c,194*;24;d6h^4;p 63/m m c*;-p 63 2c,195;12;t^1;p 2 3;p 2 2 3,196;48;t^2;f 2 3;f 2 2 3,197;24;t^3;i 2 3;i 2 2 3,198;12;t^4;p 21 3;p 2ac 2ab 3,199;24;t^5;i 21 3;i 2b 2c 3,200;24;th^1;p m -3;-p 2 2 3,201:1;24;th^2;p n -3:1;p 2 2 3 -1n;-b,201:2;24;th^2;p n -3:2;-p 2ab 2bc 3,202;96;th^3;f m -3;-f 2 2 3,203:1;96;th^4;f d -3:1;f 2 2 3 -1d;-b,203:2;96;th^4;f d -3:2;-f 2uv 2vw 3,204;48;th^5;i m -3;-i 2 2 3,205;24;th^6;p a -3;-p 2ac 2ab 3,206;48;th^7;i a -3;-i 2b 2c 3,207;24;o^1;p 4 3 2;p 4 2 3,208;24;o^2;p 42 3 2;p 4n 2 3,209;96;o^3;f 4 3 2;f 4 2 3,210;96;o^4;f 41 3 2;f 4d 2 3,211;48;o^5;i 4 3 2;i 4 2 3,212;24;o^6;p 43 3 2;p 4acd 2ab 3,213;24;o^7;p 41 3 2;p 4bd 2ab 3,214;48;o^8;i 41 3 2;i 4bd 2c 3,215;24;td^1;p -4 3 m;p -4 2 3,216;96;td^2;f -4 3 m;f -4 2 3,217;48;td^3;i -4 3 m;i -4 2 3,218;24;td^4;p -4 3 n;p -4n 2 3,219;96;td^5;f -4 3 c;f -4a 2 3,220;48;td^6;i -4 3 d;i -4bd 2c 3,221;48;oh^1;p m -3 m;-p 4 2 3,222:1;48;oh^2;p n -3 n:1;p 4 2 3 -1n;-b,222:2;48;oh^2;p n -3 n:2;-p 4a 2bc 3,223;48;oh^3;p m -3 n;-p 4n 2 3,224:1;48;oh^4;p n -3 m:1;p 4n 2 3 -1n;-b,224:2;48;oh^4;p n -3 m:2;-p 4bc 2bc 3,225;192;oh^5;f m -3 m;-f 4 2 3,226;192;oh^6;f m -3 c;-f 4a 2 3,227:1;192;oh^7;f d -3 m:1;f 4d 2 3 -1d;-b,227:2;192;oh^7;f d -3 m:2;-f 4vw 2vw 3,228:1;192;oh^8;f d -3 c:1;f 4d 2 3 -1ad;-b,228:2;192;oh^8;f d -3 c:2;-f 4ud 2vw 3,229;96;oh^9;i m -3 m;-i 4 2 3,230;96;oh^10;i a -3 d;-i 4bd 2c 3'.split(","))});
W("JS");ca(null,"JS.HallInfo",["JU.P3i","$.SB","JS.HallRotationTerm","$.HallTranslation","JU.Logger"],function(){var b=M(function(){this.primitiveHallSymbol=this.hallSymbol=null;this.latticeCode="\x00";this.latticeExtension=null;this.isCentrosymmetric=!1;this.nRotations=0;this.vectorCode=this.vector12ths=this.rotationTerms=null;aa(this,arguments)},JS,"HallInfo",null);la(b,function(){this.rotationTerms=Array(16)});ja(b,function(a){try{a.startsWith("Hall:")&&(a=a.substring(5).trim());var c=this.hallSymbol=
a.trim(),c=this.extractLatticeInfo(c);if(0!=JS.HallTranslation.getLatticeIndex(this.latticeCode)){this.latticeExtension=JS.HallTranslation.getLatticeExtension(this.latticeCode,this.isCentrosymmetric);c=this.extractVectorInfo(c)+this.latticeExtension;JU.Logger.debugging&&JU.Logger.debug("Hallinfo: "+a+" "+c);a=0;var e="\x00";for(this.primitiveHallSymbol="P";0<c.length&&16>this.nRotations;){var c=this.extractRotationInfo(c,a,e),b=this.rotationTerms[this.nRotations-1];a=b.order;e=b.axisType;this.primitiveHallSymbol+=
" "+b.primitiveCode}this.primitiveHallSymbol+=this.vectorCode}}catch(d){if(fa(d,Exception))JU.Logger.error("Invalid Hall symbol "+d),this.nRotations=0;else throw d;}},"~S");d(b,"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 c=0;c<this.nRotations;c++)a.append("\n\nrotation term ").appendI(c+1).append(this.rotationTerms[c].dumpInfo(this.vectorCode));
return a.toString()});d(b,"getLatticeDesignation",function(){return JS.HallTranslation.getLatticeDesignation2(this.latticeCode,this.isCentrosymmetric)});d(b,"extractLatticeInfo",function(a){var c=a.indexOf(" ");if(0>c)return"";var e=a.substring(0,c).toUpperCase();this.latticeCode=e.charAt(0);"-"==this.latticeCode&&(this.isCentrosymmetric=!0,this.latticeCode=e.charAt(1));return a.substring(c+1).trim()},"~S");d(b,"extractVectorInfo",function(a){this.vector12ths=new JU.P3i;this.vectorCode="";var c=a.indexOf("("),
e=a.indexOf(")",c);0<c&&e>c&&(e=a.substring(c+1,e),this.vectorCode=" ("+e+")",a=a.substring(0,c).trim(),c=e.indexOf(" "),0<=c&&(this.vector12ths.x=Integer.parseInt(e.substring(0,c)),e=e.substring(c+1).trim(),c=e.indexOf(" "),0<=c&&(this.vector12ths.y=Integer.parseInt(e.substring(0,c)),e=e.substring(c+1).trim())),this.vector12ths.z=Integer.parseInt(e));return a},"~S");d(b,"extractRotationInfo",function(a,c,e){var b=a.indexOf(" "),d;0<=b?(d=a.substring(0,b),a=a.substring(b+1).trim()):(d=a,a="");this.rotationTerms[this.nRotations]=
new JS.HallRotationTerm(this,d,c,e);this.nRotations++;return a},"~S,~N,~S");l(b,"toString",function(){return this.hallSymbol})});W("JS");ca(["JU.M4"],"JS.HallRotationTerm",["JU.SB","JS.HallRotation","$.HallTranslation","$.SymmetryOperation","JU.Logger"],function(){var b=M(function(){this.seitzMatrix12ths=this.translation=this.rotation=this.translationString=this.lookupCode=this.primitiveCode=this.inputCode=null;this.isImproper=!1;this.order=0;this.diagonalReferenceAxis=this.axisType="\x00";this.allPositive=
!0;aa(this,arguments)},JS,"HallRotationTerm",null);la(b,function(){this.seitzMatrix12ths=new JU.M4});ja(b,function(a,c,e,b){this.inputCode=c;c+="   ";"-"==c.charAt(0)&&(this.isImproper=!0,c=c.substring(1));this.primitiveCode="";this.order=c.charAt(0).charCodeAt(0)-48;this.axisType=this.diagonalReferenceAxis="\x00";var d=2,f;switch((f=c.charAt(1)).charCodeAt(0)){case 120:case 121:case 122:switch(c.charAt(2).charCodeAt(0)){case 39:case 34:this.diagonalReferenceAxis=f,f=c.charAt(2),d++}case 42:this.axisType=
f;break;case 39:case 34:this.axisType=f;switch(c.charAt(2).charCodeAt(0)){case 120:case 121:case 122:this.diagonalReferenceAxis=c.charAt(2);d++;break;default:this.diagonalReferenceAxis=b}break;default:this.axisType=1==this.order?"_":0==a.nRotations?"z":2==a.nRotations?"*":2==e||4==e?"x":"'",c=c.substring(0,1)+this.axisType+c.substring(1)}this.primitiveCode+="_"==this.axisType?"1":c.substring(0,2);"\x00"!=this.diagonalReferenceAxis&&(c=c.substring(0,1)+this.diagonalReferenceAxis+this.axisType+c.substring(d),
this.primitiveCode+=this.diagonalReferenceAxis,d=3);this.lookupCode=c.substring(0,d);this.rotation=JS.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.HallTranslation("\x00",null);this.translationString="";for(e=c.length;d<e;d++)b=c.charAt(d),b=JS.HallTranslation.getHallTranslation(b,this.order),null!=b&&(this.translationString+=""+b.translationCode,this.translation.rotationShift12ths+=
b.rotationShift12ths,this.translation.vectorShift12ths.add(b.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&&(d=JU.M4.newM4(null),e=JU.M4.newM4(null),a=a.vector12ths,d.m03=a.x,d.m13=a.y,d.m23=a.z,e.m03=-a.x,e.m13=-a.y,e.m23=-a.z,this.seitzMatrix12ths.mul2(d,this.seitzMatrix12ths),this.seitzMatrix12ths.mul(e));JU.Logger.debugging&&JU.Logger.debug("code = "+c+"; primitive code ="+this.primitiveCode+
"\n Seitz Matrix(12ths):"+this.seitzMatrix12ths)}},"JS.HallInfo,~S,~N,~S");d(b,"dumpInfo",function(a){var c=new JU.SB;c.append("\ninput code: ").append(this.inputCode).append("; primitive code: ").append(this.primitiveCode).append("\norder: ").appendI(this.order).append(this.isImproper?" (improper axis)":"");"_"!=this.axisType&&(c.append("; axisType: ").appendC(this.axisType),"\x00"!=this.diagonalReferenceAxis&&c.appendC(this.diagonalReferenceAxis));0<this.translationString.length&&c.append("; translation: ").append(this.translationString);
0<a.length&&c.append("; vector offset: ").append(a);null!=this.rotation&&c.append("\noperator: ").append(this.getXYZ(this.allPositive)).append("\nSeitz matrix:\n").append(JS.SymmetryOperation.dumpSeitz(this.seitzMatrix12ths,!1));return c.toString()},"~S");d(b,"getXYZ",function(a){return JS.SymmetryOperation.getXYZFromMatrix(this.seitzMatrix12ths,!0,a,!0)},"~B")});W("JS");ca(["JU.M4"],"JS.HallRotation",null,function(){var b=M(function(){this.seitzMatrixInv=this.seitzMatrix=this.rotCode=null;aa(this,
arguments)},JS,"HallRotation",null);la(b,function(){this.seitzMatrix=new JU.M4;this.seitzMatrixInv=new JU.M4});ja(b,function(a,c){this.rotCode=a;var e=y(16,0),b=y(16,0);e[15]=b[15]=1;for(var d=0,f=0;11>f;d++){var g=0;switch(c.charAt(d).charCodeAt(0)){case 32:f++;continue;case 43:case 49:g=1;break;case 45:g=-1}e[f]=g;b[f]=-g;f++}this.seitzMatrix.setA(e);this.seitzMatrixInv.setA(b)},"~S,~S");b.lookup=d(b,"lookup",function(a){for(var c=JS.HallRotation.getHallTerms().length;0<=--c;)if(JS.HallRotation.hallRotationTerms[c].rotCode.equals(a))return JS.HallRotation.hallRotationTerms[c];
return null},"~S");b.getHallTerms=d(b,"getHallTerms",function(){return null==JS.HallRotation.hallRotationTerms?JS.HallRotation.hallRotationTerms=H(-1,[new JS.HallRotation("1_","+00 0+0 00+"),new JS.HallRotation("2x","+00 0-0 00-"),new JS.HallRotation("2y","-00 0+0 00-"),new JS.HallRotation("2z","-00 0-0 00+"),new JS.HallRotation("2'","0-0 -00 00-"),new JS.HallRotation('2"',"0+0 +00 00-"),new JS.HallRotation("2x'","-00 00- 0-0"),new JS.HallRotation('2x"',"-00 00+ 0+0"),new JS.HallRotation("2y'","00- 0-0 -00"),
new JS.HallRotation('2y"',"00+ 0-0 +00"),new JS.HallRotation("2z'","0-0 -00 00-"),new JS.HallRotation('2z"',"0+0 +00 00-"),new JS.HallRotation("3x","+00 00- 0+-"),new JS.HallRotation("3y","-0+ 0+0 -00"),new JS.HallRotation("3z","0-0 +-0 00+"),new JS.HallRotation("3*","00+ +00 0+0"),new JS.HallRotation("4x","+00 00- 0+0"),new JS.HallRotation("4y","00+ 0+0 -00"),new JS.HallRotation("4z","0-0 +00 00+"),new JS.HallRotation("6x","+00 0+- 0+0"),new JS.HallRotation("6y","00+ 0+0 -0+"),new JS.HallRotation("6z",
"+-0 +00 00+")]):JS.HallRotation.hallRotationTerms});b.hallRotationTerms=null});W("JS");ca(null,"JS.HallTranslation",["JU.P3i"],function(){var b=M(function(){this.translationCode="\x00";this.rotationShift12ths=this.rotationOrder=0;this.vectorShift12ths=null;aa(this,arguments)},JS,"HallTranslation",null);ja(b,function(a,c){this.translationCode=a;if(null!=c){if(0<=c.z){this.vectorShift12ths=c;return}this.rotationOrder=c.x;this.rotationShift12ths=c.y}this.vectorShift12ths=new JU.P3i},"~S,JU.P3i");b.getHallLatticeEquivalent=
d(b,"getHallLatticeEquivalent",function(a){var c=JS.HallTranslation.getLatticeCode(a);return(0<a?"-":"")+c+" 1"},"~N");b.getLatticeIndex=d(b,"getLatticeIndex",function(a){for(var c=1,e=3;c<=JS.HallTranslation.nLatticeTypes;c++,e+=3)if(JS.HallTranslation.latticeTranslationData[e].charAt(0)==a)return c;return 0},"~S");b.getLatticeCode=d(b,"getLatticeCode",function(a){0>a&&(a=-a);return 0==a?"\x00":a>JS.HallTranslation.nLatticeTypes?JS.HallTranslation.getLatticeCode(JS.HallTranslation.getLatticeIndex(String.fromCharCode(a))):
JS.HallTranslation.latticeTranslationData[3*a].charAt(0)},"~N");b.getLatticeDesignation=d(b,"getLatticeDesignation",function(a){var c=0<a;0>a&&(a=-a);return 0==a||a>JS.HallTranslation.nLatticeTypes?"":(c?"-":"")+JS.HallTranslation.getLatticeCode(a)+": "+(c?"centrosymmetric ":"")+JS.HallTranslation.latticeTranslationData[3*a+1]},"~N");b.getLatticeDesignation2=d(b,"getLatticeDesignation2",function(a,c){var e=JS.HallTranslation.getLatticeIndex(a);c||(e=-e);return JS.HallTranslation.getLatticeDesignation(e)},
"~S,~B");b.getLatticeExtension=d(b,"getLatticeExtension",function(a,c){for(var e=1,b=3;e<=JS.HallTranslation.nLatticeTypes;e++,b+=3)if(JS.HallTranslation.latticeTranslationData[b].charAt(0)==a)return JS.HallTranslation.latticeTranslationData[b+2]+(c?" -1":"");return""},"~S,~B");b.getHallTerms=d(b,"getHallTerms",function(){return null==JS.HallTranslation.hallTranslationTerms?JS.HallTranslation.hallTranslationTerms=H(-1,[new JS.HallTranslation("a",JU.P3i.new3(6,0,0)),new JS.HallTranslation("b",JU.P3i.new3(0,
6,0)),new JS.HallTranslation("c",JU.P3i.new3(0,0,6)),new JS.HallTranslation("n",JU.P3i.new3(6,6,6)),new JS.HallTranslation("u",JU.P3i.new3(3,0,0)),new JS.HallTranslation("v",JU.P3i.new3(0,3,0)),new JS.HallTranslation("w",JU.P3i.new3(0,0,3)),new JS.HallTranslation("d",JU.P3i.new3(3,3,3)),new JS.HallTranslation("1",JU.P3i.new3(2,6,-1)),new JS.HallTranslation("1",JU.P3i.new3(3,4,-1)),new JS.HallTranslation("2",JU.P3i.new3(3,8,-1)),new JS.HallTranslation("1",JU.P3i.new3(4,3,-1)),new JS.HallTranslation("3",
JU.P3i.new3(4,9,-1)),new JS.HallTranslation("1",JU.P3i.new3(6,2,-1)),new JS.HallTranslation("2",JU.P3i.new3(6,4,-1)),new JS.HallTranslation("4",JU.P3i.new3(6,8,-1)),new JS.HallTranslation("5",JU.P3i.new3(6,10,-1)),new JS.HallTranslation("r",JU.P3i.new3(4,8,8)),new JS.HallTranslation("s",JU.P3i.new3(8,8,4)),new JS.HallTranslation("t",JU.P3i.new3(8,4,8))]):JS.HallTranslation.hallTranslationTerms});b.getHallTranslation=d(b,"getHallTranslation",function(a,c){for(var e=null,b=JS.HallTranslation.getHallTerms().length;0<=
--b;){var d=JS.HallTranslation.hallTranslationTerms[b];if(d.translationCode==a&&(0==d.rotationOrder||d.rotationOrder==c)){e=new JS.HallTranslation(a,null);e.translationCode=a;e.rotationShift12ths=d.rotationShift12ths;e.vectorShift12ths=d.vectorShift12ths;break}}return e},"~S,~N");b.latticeTranslationData=H(-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(";"));
b.nLatticeTypes=K(JS.HallTranslation.latticeTranslationData.length/3)-1;b.hallTranslationTerms=null});W("JS");ca(["JU.M4","$.P3"],"JS.SymmetryOperation","java.util.Hashtable JU.Lst $.Matrix $.Measure $.P4 $.PT $.SB $.V3 JS.Symmetry JU.BoxInfo $.Logger $.Parser".split(" "),function(){var b=M(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.opIsCCW=this.opPlane=this.opAxis=
this.opPoint2=this.opPoint=this.opTrans=null;this.isCoincident=this.isIrrelevant=!1;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;aa(this,arguments)},JS,"SymmetryOperation",JU.M4);ja(b,function(a,c,e){ra(this,JS.SymmetryOperation,[]);this.doNormalize=e;null==a?this.opId=
c:(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.setMatrix(!1),a.isFinalized||this.doFinalize())},"JS.SymmetryOperation,~N,~B");d(b,"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.opPlane;case 3:return"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.opPlane+(2==a?JS.SymmetryOperation.op48(this.opTrans):"")}System.out.println("SymmetryOperation REJECTED TYPE FOR "+this);return""},"~N");d(b,"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""});b.opFrac=d(b,"opFrac",function(a){return"{"+JS.SymmetryOperation.opF(a.x)+" "+JS.SymmetryOperation.opF(a.y)+" "+JS.SymmetryOperation.opF(a.z)+
"}"},"JU.T3");b.opF=d(b,"opF",function(a){var c=0>a;c&&(a=-a);var e=0;1<=a&&(e=v(a),a-=e);a=Math.round(48*a);var b;b=0==a%48?1:0==a%24?2:0==a%16?3:0==a%12?4:0==a%8?6:0==a%6?8:0==a%4?12:0==a%3?16:0==a%2?24:48;return(c?"-":"")+(e*b+K(a*b/48))+(1==b?"":"/"+b)},"~N");b.op48=d(b,"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");d(b,"setSigma",function(a,c){this.subsystemCode=
a;this.sigma=c},"~S,JU.Matrix");d(b,"setGamma",function(a){for(var c=3+this.modDim,b=(this.rsvs=new JU.Matrix(null,c+1,c+1)).getArray(),d=qa(c,0),j=0,f=0;f<c;f++){for(var g=0;g<c;g++)b[f][g]=this.linearRotTrans[j++];d[f]=(a?-1:1)*this.linearRotTrans[j++]}b[c][c]=1;a&&(this.rsvs=this.rsvs.inverse());for(f=0;f<c;f++)b[f][c]=d[f];b=this.rsvs.getSubmatrix(0,0,3,3).getArray();for(f=0;3>f;f++)for(g=0;4>g;g++)this.setElement(f,g,3>g?b[f][g]:d[f]);this.setElement(3,3,1)},"~B");d(b,"doFinalize",function(){JS.SymmetryOperation.div12(this,
this.divisor);if(0<this.modDim)for(var a=this.rsvs.getArray(),c=a.length-1;0<=--c;)a[c][3+this.modDim]=JS.SymmetryOperation.finalizeD(a[c][3+this.modDim],this.divisor);this.isFinalized=!0});b.div12=d(b,"div12",function(a,c){a.m03=JS.SymmetryOperation.finalizeF(a.m03,c);a.m13=JS.SymmetryOperation.finalizeF(a.m13,c);a.m23=JS.SymmetryOperation.finalizeF(a.m23,c);return a},"JU.M4,~N");b.finalizeF=d(b,"finalizeF",function(a,c){if(0==c){if(0==a)return 0;var b=v(a);return 1*(b>>8)/(b&255)}return a/c},"~N,~N");
b.finalizeD=d(b,"finalizeD",function(a,c){if(0==c){if(0==a)return 0;var b=K(a);return 1*(b>>8)/(b&255)}return a/c},"~N,~N");d(b,"getXyz",function(a){return a&&0==this.modDim||null==this.xyzOriginal?this.xyz:this.xyzOriginal},"~B");d(b,"getxyzTrans",function(a){var c=JU.M4.newM4(this);c.add(a);return JS.SymmetryOperation.getXYZFromMatrix(c,!1,!1,!1)},"JU.T3");d(b,"dumpInfo",function(){return"\n"+this.xyz+"\ninternal matrix representation:\n"+this.toString()});b.dumpSeitz=d(b,"dumpSeitz",function(a,
c){for(var b=new JU.SB,d=y(4,0),j=0;3>j;j++){a.getRow(j,d);b.append("[\t");for(var f=0;3>f;f++)b.appendI(v(d[f])).append("\t");f=d[3];f!=v(f)&&(f*=12);b.append(JS.SymmetryOperation.twelfthsOf(c?JS.SymmetryOperation.normalizeTwelfths(f/12,12,!0):v(f))).append("\t]\n")}return b.toString()},"JU.M4,~B");d(b,"setMatrixFromXYZ",function(a,c,b){if(null==a)return!1;this.xyzOriginal=a;this.divisor=JS.SymmetryOperation.setDivisor(a);a=a.toLowerCase();this.setModDim(c);var d=!1,j=!0;a.startsWith("!")&&(a.startsWith("!nohalf!")?
(j=!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(c=this.linearRotTrans.length;0<=--c;)if(Float.isNaN(this.linearRotTrans[c]))return!1;this.setMatrix(d);this.isFinalized=!0;this.xyz=(this.isBio=
0<=a.indexOf("bio"))?this.xyzOriginal=pa(this,JS.SymmetryOperation,"toString",[]):JS.SymmetryOperation.getXYZFromMatrix(this,!1,!1,!1);return!0}if(0==c&&0<=a.indexOf("x4"))for(c=14;4<=--c;)if(0<=a.indexOf("x"+c)){this.setModDim(c-3);break}c=null;a.endsWith("m")?(this.timeReversal=0<=a.indexOf("-m")?-1:1,b=!0):0<=a.indexOf("mz)")&&(b=a.indexOf("("),c=a.substring(b+1,a.length-1),a=a.substring(0,b),b=!1);j=JS.SymmetryOperation.getMatrixFromString(this,a,this.linearRotTrans,b,j,!0);if(null==j)return!1;
this.xyzCanonical=j;null!=c&&(b=1==JU.M4.newA16(this.linearRotTrans).determinant3(),this.timeReversal=0>a.indexOf("-x")==0>c.indexOf("-mx")==b?1:-1);this.setMatrix(d);this.xyz=d?JS.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1):this.doNormalize?j:a;0!=this.timeReversal&&(this.xyz+=1==this.timeReversal?",m":",-m");JU.Logger.debugging&&JU.Logger.debug(""+this);return!0},"~S,~N,~B");b.setDivisor=d(b,"setDivisor",function(a){for(var c=a.indexOf("/"),b=a.length;0<c&&c<b-1;){var d=a.charAt(c+1);if(0>
"2346".indexOf(d)||c<b-2&&Character.isDigit(a.charAt(c+2)))return 0;c=a.indexOf("/",c+1)}return 12},"~S");d(b,"setModDim",function(a){this.modDim=a;0<a&&(this.myLabels=JS.SymmetryOperation.labelsXn);this.linearRotTrans=y((a+4)*(a+4),0)},"~N");d(b,"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");d(b,"setFromMatrix",function(a,c){var b=
0,d=0;this.myLabels=0==this.modDim?JS.SymmetryOperation.labelsXYZ:JS.SymmetryOperation.labelsXn;for(var j=0,f=3+this.modDim,g=0;j<f;g++){if(Float.isNaN(this.linearRotTrans[g]))return!1;b=this.linearRotTrans[g];1E-5>Math.abs(b)&&(b=0);if(0==(g+1)%(f+1)){var h=0==this.divisor?v(b)&255:this.divisor;0==h&&(h=12);b=JS.SymmetryOperation.finalizeF(b,this.divisor);null!=a&&d<a.length&&(b+=a[d++]);b=JS.SymmetryOperation.normalizeTwelfths((0>b?-1:1)*Math.abs(b*h)/h,h,this.doNormalize);0==this.divisor&&(b=JS.SymmetryOperation.toDivisor(b,
h));j++}this.linearRotTrans[g]=b}this.linearRotTrans[this.linearRotTrans.length-1]=this.divisor;this.setMatrix(c);this.isFinalized=null==a;this.xyz=JS.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1);return!0},"~A,~B");b.getMatrixFromXYZ=d(b,"getMatrixFromXYZ",function(a,c,b){null==c&&(c=y(16,0));a=JS.SymmetryOperation.getMatrixFromString(null,a,c,!1,b,!0);if(null==a)return null;b=new JU.M4;b.setA(c);return JS.SymmetryOperation.div12(b,JS.SymmetryOperation.setDivisor(a))},"~S,~A,~B");b.getJmolCanonicalXYZ=
d(b,"getJmolCanonicalXYZ",function(a){try{return JS.SymmetryOperation.getMatrixFromString(null,a,null,!1,!0,!0)}catch(c){if(fa(c,Exception))return null;throw c;}},"~S");b.getMatrixFromString=d(b,"getMatrixFromString",function(a,c,b,d,j,f){var g=!1,h=!1,k=!1;c=JU.PT.rep(c,"[bio[","");var p=null==a?0:a.modDim,q=4+p,n=null==a?JS.SymmetryOperation.setDivisor(c):a.divisor,r=j&&(null==a?!c.startsWith("!"):a.doNormalize),l=0<p?3:0;if(null!=b){for(var t=b.length-1,s=t;0<=--s;)b[s]=0;b[t]=1}t=c.indexOf(";")+
1;0!=t&&(d=!0,t==c.length&&(c+="0,0,0"));var Y=-1;a=null==a||0==p?null:a.myLabels;null==a&&(a=JS.SymmetryOperation.labelsXYZ);c=c.toLowerCase()+",";c=c.$replace("(",",");0<p&&(c=JS.SymmetryOperation.replaceXn(c,p+3));for(var x=0,u=0,ba=0,T,B=0,z=0,F=0,N=1,w="",A=f?"":null,D=O(1,0),C=c.length,s=0;s<C;s++){switch((T=c.charAt(s)).charCodeAt(0)){case 59:break;case 39:case 32:case 123:case 125:case 33:continue;case 45:k=!0;continue;case 43:k=!1;continue;case 47:z=0;g=!0;continue;case 120:case 121:case 122:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:u=
ba*q;g="x"<=T?T.charCodeAt(0)-120:T.charCodeAt(0)-97+l;x=u+g;k=k?-1:1;d&&0!=B?(null!=b&&(b[x]=B),k=v(B),B=0):null!=b&&(b[x]=k);null!=A&&(w+=JS.SymmetryOperation.plusMinus(w,k,a[g],!1));break;case 44:if(0!=t){if(0<t){Y=s;s=t-1;t=-s;z=B=0;continue}t=s+1;s=Y}B=JS.SymmetryOperation.normalizeTwelfths(B,0==z?12:0==n?z:n,r);null!=b&&(b[u+q-1]=0==n&&0<z?B=JS.SymmetryOperation.toDivisor(F,z):B);null!=A&&(w+=JS.SymmetryOperation.xyzFraction12(B,0==n?z:n,!1,j),A+=(""===A?"":",")+w);if(ba==q-2)return f?A:"ok";
z=F=B=0;w="";u+=4;if(2<ba++&&0==p)return JU.Logger.warn("Symmetry Operation? "+c),null;break;case 46:h=!0;N=1;continue;case 48:if(!h&&12==n&&(g||!d))continue;default:var K=T.charCodeAt(0)-48;if(0<=K&&9>=K){if(h){N/=10;0>B&&(k=!0);B+=N*K*(k?-1:1);continue}if(g){D[0]=s;z=JU.PT.parseIntNext(c,D);if(0>z)return null;s=D[0]-1;0==B?null!=b&&(b[x]/=z):(F=v(B),B/=z)}else B=10*B+(k?-1:1)*K}else JU.Logger.warn("symmetry character?"+T)}h=g=k=!1}return null},"JS.SymmetryOperation,~S,~A,~B,~B,~B");b.replaceXn=
d(b,"replaceXn",function(a,c){for(var b=c;0<=--b;)a=JU.PT.rep(a,JS.SymmetryOperation.labelsXn[b],JS.SymmetryOperation.labelsXnSub[b]);return a},"~S,~N");b.toDivisor=d(b,"toDivisor",function(a,c){var b=v(a);b!=a&&(b=a-b,c=v(Math.abs(c/b)),b=v(Math.abs(a)/b));return(b<<8)+c},"~N,~N");b.xyzFraction12=d(b,"xyzFraction12",function(a,c,b,d){if(0==a)return"";12!=c&&(a=v(a),c=a&255,a>>=8);var j=K(c/2);if(b)for(;0>a;)a+=c;else if(d){for(;a>j;)a-=c;for(;a<-j;)a+=c}c=12==c?JS.SymmetryOperation.twelfthsOf(a):
0==a?"0":a+"/"+c;return"0"==c.charAt(0)?"":0<a?"+"+c:c},"~N,~N,~B,~B");b.twelfthsOf=d(b,"twelfthsOf",function(a){var c="";0>a&&(a=-a,c="-");var b=12,d=Math.round(a);if(0.01<Math.abs(d-a)){a/=12;for(b=3;20>b;b++){var j=a*b,d=Math.round(j);if(0.01>Math.abs(d-j))break}if(20==b)return c+a}else{if(12==d)return c+"1";if(12>d)return c+JS.SymmetryOperation.twelfths[d%12];switch(d%12){case 0:return c+K(d/12);case 2:case 10:b=6;break;case 3:case 9:b=4;break;case 4:case 8:b=3;break;case 6:b=2}d=K(d*b/12)}return c+
d+"/"+b},"~N");b.plusMinus=d(b,"plusMinus",function(a,c,b,d){var j;return(0==c?"":(0>c?"-":0==a.length?"":"+")+(1==c||-1==c?"":1>(j=Math.abs(c))&&d?JS.SymmetryOperation.twelfthsOf(12*j):""+v(j)))+b},"~S,~N,~S,~B");b.normalizeTwelfths=d(b,"normalizeTwelfths",function(a,c,b){a*=c;var d=K(c/2);if(b){for(;a>d;)a-=c;for(;a<=-d;)a+=c}return a},"~N,~N,~B");b.getXYZFromMatrix=d(b,"getXYZFromMatrix",function(a,c,b,d){return JS.SymmetryOperation.getXYZFromMatrixFrac(a,c,b,d,!1)},"JU.M4,~B,~B,~B");b.getXYZFromMatrixFrac=
d(b,"getXYZFromMatrixFrac",function(a,c,b,d,j){var f="",g=V(a,"JS.SymmetryOperation")?a:null;if(null!=g&&0<g.modDim)return JS.SymmetryOperation.getXYZFromRsVs(g.rsvs.getRotation(),g.rsvs.getTranslation(),c);var g=y(4,0),h=v(a.getElement(3,3));1==h?h=12:a.setElement(3,3,1);for(var k=0;3>k;k++){var p=3>k?0:3;a.getRow(k,g);for(var q="",n=0;3>n;n++){var r=g[n];0!=JS.SymmetryOperation.approx(r)&&(q+=JS.SymmetryOperation.plusMinus(q,r,JS.SymmetryOperation.labelsXYZ[n+p],j))}if(0!=(c?g[3]:JS.SymmetryOperation.approx(g[3])))q+=
JS.SymmetryOperation.xyzFraction12(c?g[3]:g[3]*h,h,b,d);f+=","+q}return f.substring(1)},"JU.M4,~B,~B,~B,~B");d(b,"rotateAxes",function(a,c,b,d){var j=Array(3);this.getRotationScale(d);for(var f=a.length;0<=--f;)b.setT(a[f]),c.toFractional(b,!0),d.rotate(b),c.toCartesian(b,!0),j[f]=JU.V3.newV(b);return j},"~A,JS.UnitCell,JU.P3,JU.M3");d(b,"fcoord2",function(a){return 12==this.divisor?JS.SymmetryOperation.fcoord(a):this.fc2(v(this.linearRotTrans[3]))+" "+this.fc2(v(this.linearRotTrans[7]))+" "+this.fc2(v(this.linearRotTrans[11]))},
"JU.T3");d(b,"fc2",function(a){var c=a&255;a>>=8;return 0==a?"0":a+"/"+c},"~N");b.fcoord=d(b,"fcoord",function(a){return JS.SymmetryOperation.fc(a.x)+" "+JS.SymmetryOperation.fc(a.y)+" "+JS.SymmetryOperation.fc(a.z)},"JU.T3");b.fc=d(b,"fc",function(a){var c=Math.abs(a);a=0>a?"-":"";c=v(JS.SymmetryOperation.approx(24*c));return c/24==v(c/24)?a+K(c/24):0!=c%8?a+JS.SymmetryOperation.twelfthsOf(c>>1):0==c?"0":24==c?a+"1":a+K(c/8)+"/3"},"~N");b.approx=d(b,"approx",function(a){return JU.PT.approx(a,100)},
"~N");b.approx6=d(b,"approx6",function(a){return JU.PT.approx(a,1E6)},"~N");b.getXYZFromRsVs=d(b,"getXYZFromRsVs",function(a,c,b){a=a.getArray();c=c.getArray();for(var d=a.length,j="",f=0;f<d;f++){for(var j=j+",",g=0;g<d;g++){var h=a[f][g];0!=h&&(j+=(0>h?"-":j.endsWith(",")?"":"+")+(1==Math.abs(h)?"":""+K(Math.abs(h)))+"x"+(g+1))}j+=JS.SymmetryOperation.xyzFraction12(K(c[f][0]*(b?1:12)),12,!1,!0)}return JU.PT.rep(j.substring(1),",+",",")},"JU.Matrix,JU.Matrix,~B");d(b,"toString",function(){return null==
this.rsvs?pa(this,JS.SymmetryOperation,"toString",[]):pa(this,JS.SymmetryOperation,"toString",[])+" "+this.rsvs.toString()});d(b,"getMagneticOp",function(){return 2147483647==this.magOp?this.magOp=v(this.determinant3()*this.timeReversal):this.magOp});d(b,"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");d(b,"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});d(b,"fixMagneticXYZ",function(a,c,b){if(0==this.timeReversal)return c;var d=c.indexOf("m"),d=d-K((3-this.timeReversal)/2);c=0>d?c:c.substring(0,d);if(!b)return c+(0<
this.timeReversal?" +1":" -1");a=JU.M4.newM4(a);a.m03=a.m13=a.m23=0;0>this.getMagneticOp()&&a.scale(-1);return c+="("+JU.PT.rep(JU.PT.rep(JU.PT.rep(JS.SymmetryOperation.getXYZFromMatrix(a,!1,!1,!1),"x","mx"),"y","my"),"z","mz")+")"},"JU.M4,~S,~B");d(b,"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)),this.info.put("timeReversal",Integer.$valueOf(this.timeReversal)),null!=this.xyzOriginal&&this.info.put("xyzOriginal",this.xyzOriginal));return this.info});
b.normalizeOperationToCentroid=d(b,"normalizeOperationToCentroid",function(a,c,b,d,j){if(!(0>=j)){var f=0,g=0,h=0;null==JS.SymmetryOperation.atomTest&&(JS.SymmetryOperation.atomTest=new JU.P3);for(var k=d+j;d<k;d++)JS.Symmetry.newPoint(c,b[d],0,0,0,JS.SymmetryOperation.atomTest),f+=JS.SymmetryOperation.atomTest.x,g+=JS.SymmetryOperation.atomTest.y,h+=JS.SymmetryOperation.atomTest.z;f/=j;g/=j;for(h/=j;-0.001>f||1.001<=f;)c.m03+=0>f?1:-1,f+=0>f?1:-1;if(1<a)for(;-0.001>g||1.001<=g;)c.m13+=0>g?1:-1,g+=
0>g?1:-1;if(2<a)for(;-0.001>h||1.001<=h;)c.m23+=0>h?1:-1,h+=0>h?1:-1}},"~N,JU.M4,~A,~N,~N");b.getLatticeCentering=d(b,"getLatticeCentering",function(a){for(var c=new JU.Lst,b=0;b<a.length;b++){var d=null==a[b]?null:a[b].getCentering();null!=d&&c.addLast(JU.P3.newP(d))}return c},"~A");d(b,"getOpIsCCW",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opIsCCW});d(b,"getOpType",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opType});d(b,"getOpOrder",function(){-1==this.opType&&
this.setOpTypeAndOrder();return this.opOrder});d(b,"getOpPoint",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opPoint});d(b,"getOpAxis",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opAxis});d(b,"getOpPoint2",function(){return this.opPoint2});d(b,"getOpTrans",function(){-1==this.opType&&this.setOpTypeAndOrder();return this.opTrans});b.opGet3code=d(b,"opGet3code",function(a){for(var c=0,b=y(4,0),d=0;3>d;d++){a.getRow(d,b);for(var j=0;3>j;j++)switch(v(b[j])){case 1:c|=
j+1<<(2-d<<3);break;case -1:c|=16+j+1<<(2-d<<3)}}return c},"JU.M4");b.opGet3x=d(b,"opGet3x",function(a){if(0!=a.m22)return JS.SymmetryOperation.x;a=JS.SymmetryOperation.opGet3code(a);for(var c=0;8>c;c++)if(a==JS.SymmetryOperation.C3codes[c])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");d(b,"setOpTypeAndOrder",function(){this.clearOp();var a=
Math.round(this.determinant3()),c=Math.round(this.m00+this.m11+this.m22),b=0,d=0,j=JS.SymmetryOperation.x;switch(c){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;b=2;break;default:b=c*a+3,5==b&&(b=6),0<a?(this.opType=2,d=K(180*Math.acos((c-1)/2)/3.141592653589793),120==d&&(null==this.opX&&(this.opX=JS.SymmetryOperation.opGet3x(this)),j=this.opX)):2==b?this.opType=
8:(this.opType=6,3==b&&(b=6),d=K(180*Math.acos((-c-1)/2)/3.141592653589793),120==d&&(null==this.opX&&(this.opX=JS.SymmetryOperation.opGet3x(this)),j=this.opX))}this.opOrder=b;var f=new JU.M4,a=new JU.P3,c=JU.P3.newP(j);f.setM4(this);for(var g=new JU.P3,h=JU.P3.newP(c),k=new JU.P3,p=JU.P3.newP(c),q=new JU.P3,n=1;n<b;n++)f.mul(this),this.rotTrans(a),this.rotTrans(c),1==n&&q.setT(c),g.add(a),h.add(c),6==this.opType&&(0==n%2?p.add(c):k.add(c));this.opTrans=new JU.V3;f.getTranslation(this.opTrans);this.opTrans.scale(1/
b);f=JS.SymmetryOperation.approx6(this.opTrans.length());n=1;this.opPoint=new JU.P3;var r=null,l=!0;switch(this.opType){case 4:h.add2(c,j);h.scale(0.5);this.opPoint=JU.P3.newP(JS.SymmetryOperation.opClean6(h));l=JS.SymmetryOperation.checkOpPoint(this.opPoint);break;case 6:k.scale(2/b);p.scale(2/b);r=JU.V3.newVsub(k,p);r.normalize();this.opAxis=JS.SymmetryOperation.opClean6(r);g.add2(k,p);h.scale(1/b);this.opPoint.setT(JS.SymmetryOperation.opClean6(h));l=JS.SymmetryOperation.checkOpPoint(this.opPoint);
180!=d&&(c.cross(j,c),this.opIsCCW=Boolean.$valueOf(0>c.dot(r)));break;case 2:r=JU.V3.newVsub(h,g);r.normalize();this.opAxis=JS.SymmetryOperation.opClean6(r);g.scale(1/b);a.setT(g);0<f&&g.sub(this.opTrans);this.opPoint.setT(g);JS.SymmetryOperation.opClean6(this.opPoint);180!=d&&(c.cross(j,c),this.opIsCCW=Boolean.$valueOf(0>c.dot(r)));if(l=(new Boolean(l&JS.SymmetryOperation.checkOpAxis(a,0==f?this.opAxis:this.opTrans,g,new JU.V3,new JU.V3,null))).valueOf())this.opPoint.setT(g),JS.SymmetryOperation.checkOpAxis(this.opPoint,
this.opAxis,c,new JU.V3,new JU.V3,this.opPoint)&&(this.opPoint2=JU.P3.newP(c)),0<f&&(g.scaleAdd2(0.5,this.opTrans,this.opPoint),l=JS.SymmetryOperation.checkOpPoint(g),null!=this.opPoint2&&(g.scaleAdd2(0.5,this.opTrans,this.opPoint2),JS.SymmetryOperation.checkOpPoint(g)||(this.opPoint2=null)));0>r.dot(a)&&(l=!1);0<f&&0==this.opTrans.z&&1.25==this.opTrans.lengthSquared()?(n=1.25,this.opIsLong=!0):n=1;break;case 8:a.sub(this.opTrans),a.scale(0.5),this.opPoint.setT(a),q.sub(this.opTrans),this.opAxis=
JU.V3.newVsub(q,j),c.scaleAdd2(0.5,this.opAxis,j),this.opAxis.normalize(),this.opPlane=new JU.P4,a.set(j.x+1.1,j.y+1.7,j.z+2.1),a.scale(0.5),this.rotTrans(a),a.sub(this.opTrans),a.scaleAdd2(0.5,j,a),a.scale(0.5),r=new JU.V3,l=JS.SymmetryOperation.checkOpPlane(this.opPoint,a,c,this.opAxis,this.opPlane,r,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),
0<f&&(0==this.opTrans.z&&1.25==this.opTrans.lengthSquared()||0.5==this.opTrans.z&&1.5==this.opTrans.lengthSquared())?(n=1.25,this.opIsLong=!0):n=0.78}if(0<f){JS.SymmetryOperation.opClean6(this.opTrans);if(8==this.opType&&(1==this.opTrans.x||1==this.opTrans.y||1==this.opTrans.z)&&-1==this.m22)l=!1;this.opType|=1;if(Math.abs(JS.SymmetryOperation.approx(this.opTrans.x))>=n||Math.abs(JS.SymmetryOperation.approx(this.opTrans.y))>=n||Math.abs(JS.SymmetryOperation.approx(this.opTrans.z))>=n)l=!1}else this.opTrans=
null;l||(this.isIrrelevant=!0)});b.normalizePlane=d(b,"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");b.isCoaxial=d(b,"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");
d(b,"clearOp",function(){this.isFinalized||this.doFinalize();this.isIrrelevant=!1;this.opIsCCW=this.opPlane=this.opPoint=this.opPoint2=this.opTrans=null;this.opIsLong=!1});b.hasTrans=d(b,"hasTrans",function(a){return 0!=JS.SymmetryOperation.approx6(a.m03)||0!=JS.SymmetryOperation.approx6(a.m13)||0!=JS.SymmetryOperation.approx6(a.m23)},"JU.M4");b.checkOpAxis=d(b,"checkOpAxis",function(a,c,b,d,j,f){null==JS.SymmetryOperation.opPlanes&&(JS.SymmetryOperation.opPlanes=JU.BoxInfo.getBoxFacesFromOABC(null));
for(var g=JU.BoxInfo.faceOrder,h=null==f?1:-1,k=0;6>k;k++){var p=JU.Measure.getIntersection(a,c,JS.SymmetryOperation.opPlanes[g[k]],b,d,j);if(null!=p&&JS.SymmetryOperation.checkOpPoint(p)&&0>c.dot(d)*h&&(null==f||0<=JS.SymmetryOperation.approx(f.distance(p)-0.5)))return!0}return!1},"JU.P3,JU.V3,JU.P3,JU.V3,JU.V3,JU.P3");b.opClean6=d(b,"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");b.checkOpPoint=d(b,"checkOpPoint",function(a){return JS.SymmetryOperation.checkOK(a.x,0)&&JS.SymmetryOperation.checkOK(a.y,0)&&JS.SymmetryOperation.checkOK(a.z,0)},"JU.T3");b.checkOK=d(b,"checkOK",function(a,c){return 0!=c||0<=JS.SymmetryOperation.approx(a)&&1>=JS.SymmetryOperation.approx(a)},"~N,~N");b.checkOpPlane=d(b,"checkOpPlane",function(a,c,b,d,j,f,g){JU.Measure.getPlaneThroughPoints(a,c,b,f,g,j);c=JU.BoxInfo.unitCubePoints;d=b=0;for(g=8;0<=--g;){var h=JU.Measure.getPlaneProjection(c[g],
j,a,f);switch(v(Math.signum(JS.SymmetryOperation.approx6(h)))){case 1:if(0<d)return!0;b++;break;case -1:if(0<b)return!0;d++}}return!(8==d||8==b)},"JU.P3,JU.P3,JU.P3,JU.V3,JU.P4,JU.V3,JU.V3");b.getAdditionalOperations=d(b,"getAdditionalOperations",function(a){for(var c=a.length,b=new JU.Lst,d=new JU.SB,j=new java.util.Hashtable,f=0;f<c;f++){var g=a[f];b.addLast(g);var h=g.getOpName(1);d.append(h).appendC(";");0!=(g.getOpType()&8)&&JS.SymmetryOperation.addPlaneMap(j,g)}for(f=1;f<c;f++)a[f].addOps(d,
b,j,c,f);return b.toArray(Array(b.size()))},"~A");d(b,"addOps",function(a,c,b,d,j){var f=new JU.V3;this.getTranslation(f);for(var g=8==(this.getOpType()&8),h=new JU.V3,k=null,p=3;-3<=--p;)for(var q=3;-3<=--q;)for(var n=3;-3<=--n;)null==k&&(k=new JS.SymmetryOperation(null,0,!1)),h.set(p,q,n),!this.checkOpSimilar(h)&&k.opCheckAdd(this,f,d,h,a,c,j+1)&&(g&&JS.SymmetryOperation.addPlaneMap(b,k),k=null)},"JU.SB,JU.Lst,java.util.Map,~N,~N");b.addPlaneMap=d(b,"addPlaneMap",function(a,c){var b=c.getOpName(0),
d=a.get(b);c.isCoincident=!1;var j=8==c.opType;if(null==d)a.put(b,d=new JU.Lst);else if(b=d.get(0),b.isCoincident)c.isCoincident=!0;else if(j||8==b.opType){c.isCoincident=!0;for(j=d.size();0<=--j;)d.get(j).isCoincident=!0}d.addLast(c)},"java.util.Map,JS.SymmetryOperation");d(b,"checkOpSimilar",function(a){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 0==JS.SymmetryOperation.approx6(a.dot(this.opAxis))}},
"JU.V3");d(b,"opCheckAdd",function(a,c,b,d,j,f){this.setM4(a);a=JU.V3.newV(d);a.add(c);this.setTranslation(a);this.isFinalized=!0;this.setOpTypeAndOrder();return!this.isIrrelevant&&(0!=this.opType&&1!=this.opType)&&(c=this.getOpName(1)+";",0>j.indexOf(c))?(j.append(c),f.addLast(this),this.isFinalized=!0,this.xyz=JS.SymmetryOperation.getXYZFromMatrix(this,!1,!1,!1),!0):!1},"JS.SymmetryOperation,JU.V3,~N,JU.V3,JU.SB,JU.Lst,~N");b.approx6Pt=d(b,"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");b.normalize12ths=d(b,"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");d(b,"getCode",function(){if(null!=this.opAxisCode)return this.opAxisCode;var a=this.getOpName(2).charAt(0),c=this.opOrder,b=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+c)+"."+b+"."});b.getGlideFromTrans=d(b,"getGlideFromTrans",function(a,c){var b=Math.abs(JS.SymmetryOperation.approx(12*a.x)),d=Math.abs(JS.SymmetryOperation.approx(12*
a.y)),j=Math.abs(JS.SymmetryOperation.approx(12*a.z));9==b&&(b=3);9==d&&(d=3);9==j&&(j=3);return 0!=b&&0!=d&&0!=j?3==b&&3==d&&3==j?"d":6==b&&6==d&&6==j?"n":"g":0!=b&&0!=d||0!=d&&0!=j||0!=j&&0!=b?3==b&&3==d||3==b&&3==j||3==d&&3==j?"d":6==b&&6==d||6==b&&6==j||6==d&&6==j?0==b&&0==c.x||0==d&&0==c.y||0==j&&0==c.z?"g":"n":"g":0!=b?"a":0!=d?"b":"c"},"JU.T3,JU.T3");b.atomTest=null;b.twelfths=H(-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(" "));b.labelsXYZ=H(-1,["x","y","z"]);b.labelsXn=H(-1,
"x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13".split(" "));b.labelsXnSub=H(-1,"xyzabcdefghij".split(""));b.x=JU.P3.new3(3.141592653589793,2.718281828459045,8.539734222673566);b.C3codes=O(-1,[200978,1184513,1245458,135953,1245442,131857,200962,1180417]);b.xneg=null;b.opPlanes=null});W("JS");ca(null,"JS.SymmetryInfo",["JU.PT","JS.SpaceGroup","$.SymmetryOperation","JU.SimpleUnitCell"],function(){var b=M(function(){this.isMultiCell=this.coordinatesAreFractional=!1;this.cellRange=this.infoStr=this.additionalOperations=
this.symmetryOperations=this.sgName=null;this.latticeType="P";this.intlTableNoFull=this.intlTableNo=null;aa(this,arguments)},JS,"SymmetryInfo",null);d(b,"setSymmetryInfo",function(a,c,b){var d;if(null==b){this.cellRange=a.get("unitCellRange");this.sgName=a.get("spaceGroup");if(null==this.sgName||""===this.sgName)this.sgName="spacegroup unspecified";this.intlTableNo=a.get("intlTableNo");this.intlTableNoFull=a.get("intlTableNoFull");b=a.get("latticeType");this.latticeType=null==b?"P":b.charAt(0);d=
a.containsKey("symmetryCount")?a.get("symmetryCount").intValue():0;this.symmetryOperations=a.remove("symmetryOps");this.isMultiCell=(this.coordinatesAreFractional=a.containsKey("coordinatesAreFractional")?a.get("coordinatesAreFractional").booleanValue():!1)&&null!=this.symmetryOperations}else this.cellRange=null,this.sgName=b.getName(),this.intlTableNoFull=b.intlTableNumberFull,this.intlTableNo=b.intlTableNumber,this.latticeType=b.latticeType,d=b.getOperationCount(),this.symmetryOperations=b.finalOperations,
this.coordinatesAreFractional=!0;this.infoStr="Spacegroup: "+this.sgName;if(null!=this.symmetryOperations){var j="";b="\nNumber of symmetry operations: "+(0==d?1:d)+"\nSymmetry Operations:";for(var f=0;f<d;f++){var g=this.symmetryOperations[f];b+="\n"+g.fixMagneticXYZ(g,g.xyz,!0);g.isCenteringOp&&(j+=" ("+JU.PT.rep(JU.PT.replaceAllCharacters(g.xyz,"xyz","0"),"0+","")+")")}0<j.length&&(this.infoStr+="\nCentering: "+j);this.infoStr+=b;this.infoStr+="\n"}null==c&&(c=a.get("unitCellParams"));c=JU.SimpleUnitCell.isValid(c)?
c:null;null==c&&(this.coordinatesAreFractional=!1,this.cellRange=this.symmetryOperations=null,this.infoStr="");return c},"java.util.Map,~A,JS.SpaceGroup");d(b,"getAdditionalOperations",function(){null==this.additionalOperations&&null!=this.symmetryOperations&&(this.additionalOperations=JS.SymmetryOperation.getAdditionalOperations(this.symmetryOperations));return this.additionalOperations});d(b,"getSpaceGroupFromOperators",function(){return JS.SpaceGroup.determineSpaceGroupN(this.sgName)})});W("JS");
ca(["JU.P3","$.V3"],"JS.SymmetryDesc","java.util.Hashtable JU.BS $.Lst $.M4 $.Measure $.P4 $.PT $.Quat $.SB JS.T JS.SpaceGroup $.Symmetry $.SymmetryOperation JU.Escape $.Logger".split(" "),function(){var b=M(function(){this.modelSet=null;aa(this,arguments)},JS,"SymmetryDesc",null);d(b,"set",function(a){this.modelSet=a;return this},"JM.ModelSet");b.getType=d(b,"getType",function(a){var c;if(null==a)return 1073742001;if(a.equalsIgnoreCase("matrix"))return 12;if(a.equalsIgnoreCase("description"))return 1825200146;
if(a.equalsIgnoreCase("axispoint"))return 134217751;if(a.equalsIgnoreCase("time"))return 268441089;if(a.equalsIgnoreCase("info"))return 1275068418;if(a.equalsIgnoreCase("element"))return 1086326789;if(a.equalsIgnoreCase("invariant"))return 36868;c=JS.T.getTokFromName(a);if(0!=c)return c;c=JS.SymmetryDesc.getKeyType(a);return 0>c?c:1073742327},"~S");b.getKeyType=d(b,"getKeyType",function(a){"type".equals(a)&&(a="_type");for(var c=0;c<JS.SymmetryDesc.keys.length;c++)if(a.equalsIgnoreCase(JS.SymmetryDesc.keys[c]))return-1-
c;return 0},"~S");b.nullReturn=d(b,"nullReturn",function(a){switch(a){case 135176:return";draw ID sym* delete;draw ID sg* delete;";case 1073741961:case 1825200146:case 1073741974:case 1145047050:case 1145047053:case 11:case 1073742078:return"";case 1153433601:return new JU.BS;default:return null}},"~N");b.getInfo=d(b,"getInfo",function(a,c){if(0==a.length)return"";if(0>c&&-c<=JS.SymmetryDesc.keys.length&&-c<=a.length)return a[-1-c];switch(c){case 1073742327:case 1073741982:return a;case 1275068418:for(var b=
new java.util.Hashtable,d=0,j=a.length;d<j;d++){var f=3==d?"draw":7==d?"axispoint":JS.SymmetryDesc.keys[d];null!=a[d]&&b.put(f,a[d])}return b;case 1073741961:return a[0]+"  \t"+a[2];case 1145047050: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 1145047051:return a[4];case 1073742178:return a[5];case 12289:return a[6];case 134217751:return a[7];
case 1073741854:return a[8];case 134217729:return a[9];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 H(-1,[a[6],a[7],a[8],a[14],a[5]]);case 36868:return null!=a[6]?a[6]:null!=a[8]?H(-1,[a[7],a[8],a[5]]):null!=a[5]?"none":null!=a[14]?a[14]:"identity"}},"~A,~N");b.getInfoBS=d(b,"getInfoBS",function(a){var c=new JU.BS;if(0>a&&-a<=JS.SymmetryDesc.keys.length)return c.set(-1-
a),c;switch(a){case 0:case 1153433601:case 1073742001:case 1073742327:case 1073741982:case 1275068418:c.setBits(0,JS.SymmetryDesc.keys.length);break;case 1073741961:c.set(0);c.set(2);break;case 1145047050:c.set(0);break;case 1145047053:c.set(19);break;case 1073742078:c.set(1);break;default:case 1825200146:c.set(2);break;case 135176:c.set(0);c.set(2);c.set(3);break;case 1145047051:c.set(4);break;case 1073742178:c.set(5);break;case 12289:c.set(6);break;case 134217751:c.set(7);break;case 1073741854:c.set(8);
break;case 134217729:c.set(9);break;case 12:c.set(10);break;case 1814695966:c.set(11);break;case 4160:c.set(12);break;case 268441089:c.set(13);break;case 134217750:c.set(14);break;case 1140850696:c.set(15);break;case 1073741974:c.set(16);break;case 1086326789:case 36868:c.set(5),c.set(6),c.set(7),c.set(8),c.set(14),c.set(22)}return c},"~N");d(b,"createInfoArray",function(a,c,b,d,j,f,g,h,k,p,q){a.isFinalized||a.doFinalize();var n=1==k.cardinality()&&k.get(10),l=-1==a.timeReversal;0==f&&(f=1);JS.SymmetryDesc.vtrans.set(0,
0,0);var P=null,t=null==b||Double.isNaN(b.x)?c.getCartesianOffset():b;if(null!=d){JS.SymmetryDesc.pta01.setT(t);JS.SymmetryDesc.pta02.setT(d);c.toFractional(JS.SymmetryDesc.pta01,!1);c.toFractional(JS.SymmetryDesc.pta02,!1);a.rotTrans(JS.SymmetryDesc.pta01);JS.SymmetryDesc.ptemp.setT(JS.SymmetryDesc.pta01);c.unitize(JS.SymmetryDesc.pta01);JS.SymmetryDesc.vtrans.setT(JS.SymmetryDesc.pta02);c.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 s=JU.M4.newM4(a);s.add(JS.SymmetryDesc.vtrans);k.get(10)&&(null!=d&&t.equals(d))&&(s.m00=Math.round(s.m00),s.m01=Math.round(s.m01),s.m02=Math.round(s.m02),s.m03=Math.round(s.m03),s.m10=Math.round(s.m10),s.m11=Math.round(s.m11),s.m12=Math.round(s.m12),s.m13=Math.round(s.m13),s.m20=Math.round(s.m20),s.m21=Math.round(s.m21),s.m22=Math.round(s.m22),s.m23=Math.round(s.m23));var Y=0!=a.timeReversal;if(n&&!Y)return a=JS.SymmetryDesc.getKeyType("matrix"),
c=Array(-a),c[-1-a]=s,c;n=new JU.V3;JS.SymmetryDesc.pta01.set(1,0,0);JS.SymmetryDesc.pta02.set(0,1,0);var x=JU.P3.new3(0,0,1);JS.SymmetryDesc.pta01.add(t);JS.SymmetryDesc.pta02.add(t);x.add(t);var u=JS.SymmetryDesc.rotTransCart(a,c,t,JS.SymmetryDesc.vtrans),ba=JS.SymmetryDesc.rotTransCart(a,c,JS.SymmetryDesc.pta01,JS.SymmetryDesc.vtrans),T=JS.SymmetryDesc.rotTransCart(a,c,JS.SymmetryDesc.pta02,JS.SymmetryDesc.vtrans),B=JS.SymmetryDesc.rotTransCart(a,c,x,JS.SymmetryDesc.vtrans),z=JU.V3.newVsub(ba,
u),F=JU.V3.newVsub(T,u),N=JU.V3.newVsub(B,u);JS.SymmetryOperation.approx6Pt(JS.SymmetryDesc.vtrans);var w=new JU.V3;w.cross(z,F);var A=0>w.dot(N);A&&(ba.sub2(u,z),T.sub2(u,F),B.sub2(u,N));var D=JU.Quat.getQuaternionFrame(u,ba,T).div(JU.Quat.getQuaternionFrame(t,JS.SymmetryDesc.pta01,JS.SymmetryDesc.pta02)),D=JU.Quat.new4(D.q1,D.q2,D.q3,D.q0),C=JU.Measure.computeHelicalAxis(t,u,D),D=JU.P3.newP(C[0]),y=JU.P3.newP(C[1]),H=v(Math.abs(JU.PT.approx(C[3].x,1))),O=JS.SymmetryOperation.approx(C[3].y);A&&(ba.add2(u,
z),T.add2(u,F),B.add2(u,N));C=JU.V3.newVsub(u,t);0.1>C.length()&&(C=null);var M=null,Q=null,Z=null,da=0,U=0,aa=0==H,ga=!aa,ha=!1,R=!1,ea=!ga&&!A;if(ga||A)C=null;if(A&&aa)Q=JU.P3.newP(t),Q.add(u),Q.scale(0.5),M=u,ha=!0;else if(A){var G=0==O?new JU.V3:y,I=0;switch(H){case 60:I=0.6666667;break;case 120:I=2;break;case 90:I=1;break;case 180:Z=JU.P3.newP(t);Z.add(G);D.scaleAdd2(0.5,G,t);0.1<Z.distance(u)?(C=JU.V3.newVsub(u,Z),n.setT(C),c.toFractional(n,!0)):C=null;w.setT(y);w.normalize();da=-w.x*D.x-w.y*
D.y-w.z*D.z;P=JU.P4.new4(w.x,w.y,w.z,da);U=0.01>Math.abs(da)&&0.4<w.x*w.y?1.3:1.05;A=ga=!1;R=!0;break;default:A=!1}0!=I&&(w.sub2(t,D),w.add(u),w.sub(D),w.sub(G),w.scale(I),D.add(w),Q=new JU.P3,Q.scaleAdd2(0.5,G,D),M=new JU.P3,M.scaleAdd2(-2,Q,u),M.scale(-1))}else null!=C&&(JS.SymmetryDesc.ptemp.setT(C),c.toFractional(JS.SymmetryDesc.ptemp,!1),n.setT(JS.SymmetryDesc.ptemp),c.toCartesian(JS.SymmetryDesc.ptemp,!1),C.setT(JS.SymmetryDesc.ptemp));var W=H;JS.SymmetryDesc.approx0(y);if(ga){var S=new JU.P3;
w.setT(y);I=H;A?(S.setT(M),I=M):0==O?(I=u,S.setT(D)):(I=u,S.scaleAdd2(0.5,w,D));JS.SymmetryDesc.ptemp.add2(D,w);I=Math.round(JU.Measure.computeTorsion(t,D,JS.SymmetryDesc.ptemp,I,!0));0!=JS.SymmetryOperation.approx(I)&&(H=I,0>H&&(H=360+H))}var da=I=null,$=String.fromCharCode(0),X=a.getOpOrder(),ia=a.getOpIsCCW();if(k.get(2)||k.get(15)){I=da="identity";if(ha)JS.SymmetryDesc.ptemp.setT(Q),c.toFractional(JS.SymmetryDesc.ptemp,!1),I="Ci: "+JS.SymmetryDesc.strCoord(a,JS.SymmetryDesc.ptemp,a.isBio),da=
"inversion center";else if(ga)I=null==ia?"":ia===Boolean.TRUE?"(+)":"(-)",A?I=K(360/W)+"-bar"+I+" axis":0!=O?(JS.SymmetryDesc.ptemp.setT(y),c.toFractional(JS.SymmetryDesc.ptemp,!1),I=K(360/W)+I+" ("+JS.SymmetryDesc.strCoord(a,JS.SymmetryDesc.ptemp,a.isBio)+") screw axis"):I="C"+K(360/W)+I+" axis",da=I;else if(null!=C){var ca=" "+JS.SymmetryDesc.strCoord(a,n,a.isBio);aa?(da=I="translation",I+=":"+ca):R&&(p&&(JS.SymmetryDesc.fixGlideTrans(n),C.setT(n),c.toCartesian(C,!0)),ca=" "+JS.SymmetryDesc.strCoord(a,
n,a.isBio),$=JS.SymmetryOperation.getGlideFromTrans(n,y),da=I=$+"-glide plane",I+="|translation:"+ca)}else R&&(da=I="mirror plane");A&&!ha&&(JS.SymmetryDesc.ptemp.setT(Q),c.toFractional(JS.SymmetryDesc.ptemp,!1),I+="|at "+JS.SymmetryDesc.strCoord(a,JS.SymmetryDesc.ptemp,a.isBio));l&&(I+="|time-reversed",da+=" (time-reversed)")}var ja=!0,ca=ga&&!A&&0!=O;ca||(ja=JS.SymmetryDesc.checkHandedness(c,y),ja||(H=-H,0>H&&(H=360+H),y.scale(-1)));var fa=!1,L=null;if(null!=j&&k.get(3))if(0==a.getOpType()||q&&
a.isIrrelevant)System.out.println("!!SD irrelevent "+a.getOpTitle()+a.getOpPoint()),L="";else{var ka=null,L="\ndraw ID "+j+"_",E=new JU.SB;E.append(L).append("* delete");p||(JS.SymmetryDesc.drawLine(E,L+"frame1X",0.15,t,JS.SymmetryDesc.pta01,"red"),JS.SymmetryDesc.drawLine(E,L+"frame1Y",0.15,t,JS.SymmetryDesc.pta02,"green"),JS.SymmetryDesc.drawLine(E,L+"frame1Z",0.15,t,x,"blue"));var x=null,la=0,na=0.2>t.distance(u);j=p?"<hover>"+j+": "+a.xyz+"\n"+I+"</hover>":null;if(ga){var $="red",W=H,ma=1;w.setT(y);
A&&($="purple");U="";p&&(D.setT(a.getOpPoint()),c.toCartesian(D,!1));S=new JU.P3;0!=O&&!A?(ka=L+"screw",$=ia===Boolean.TRUE?"orange":ia===Boolean.FALSE?"yellow":4==X?"lightgray":"grey",p||(JS.SymmetryDesc.drawLine(E,L+"rotLine1",0.1,t,D,"red"),JS.SymmetryDesc.ptemp.add2(D,w),JS.SymmetryDesc.drawLine(E,L+"rotLine2",0.1,u,JS.SymmetryDesc.ptemp,"red"),S.scaleAdd2(0.5,w,D))):(S.setT(D),ja||!na&&!p&&D.sub2(D,w),A?(ka=L+"rotinv",p?(w.normalize(),ia===Boolean.TRUE&&w.scale(-1)):0==O?(S.setT(Q),w.scale(3*
f),na?(JS.SymmetryDesc.ptemp.scaleAdd2(0.25,w,D),D.scaleAdd2(-0.24,w,D),S.scaleAdd2(0.31,w,S),$="cyan"):(JS.SymmetryDesc.ptemp.scaleAdd2(-1,w,D),JS.SymmetryDesc.drawLine(E,L+"rotLine1",0.1,t,Q,"red"),JS.SymmetryDesc.drawLine(E,L+"rotLine2",0.1,M,Q,"red"))):na||(ma=t.distance(S),JS.SymmetryDesc.drawLine(E,L+"rotLine1",0.1,t,S,"red"),JS.SymmetryDesc.drawLine(E,L+"rotLine2",0.1,M,S,"red"))):(ka=L+"rot",w.scale(3*f),!na&&!p&&(JS.SymmetryDesc.drawLine(E,L+"rotLine1",0.1,t,S,"red"),JS.SymmetryDesc.drawLine(E,
L+"rotLine2",0.1,u,S,"red")),S.setT(D),0==O&&na&&S.scaleAdd2(0.25,w,S)));p||(180<W&&(W=180-W),JS.SymmetryDesc.ptemp.add2(S,w),E.append(L).append("rotRotArrow arrow width 0.1 scale "+JU.PT.escF(ma)+" arc ").append(JU.Escape.eP(S)).append(JU.Escape.eP(JS.SymmetryDesc.ptemp)),JS.SymmetryDesc.ptemp.setT(t),0.1>JS.SymmetryDesc.ptemp.distance(u)&&JS.SymmetryDesc.ptemp.set(Math.random(),Math.random(),Math.random()),E.append(JU.Escape.eP(JS.SymmetryDesc.ptemp)),JS.SymmetryDesc.ptemp.set(0,W-5*Math.signum(W),
0),E.append(JU.Escape.eP(JS.SymmetryDesc.ptemp)).append(" color red"));(fa=fa||!a.opIsLong&&q&&0<O&&!A&&a.getOpTrans().length()>(2==X?0.71:3==X?0.578:4==X?0.51:0.3))&&System.out.println("SD ignoring "+a.getOpTrans().length()+" "+a.getOpTitle()+a.xyz);f=null;if(0==O&&!A){JS.SymmetryDesc.ptemp.scaleAdd2(0.5,w,D);D.scaleAdd2(p?-0.5:-0.45,w,D);if(q&&null!=(f=a.getOpPoint2()))S.setT(f),c.toCartesian(S,!1),S.scaleAdd2(-0.5,w,S);p&&this.scaleByOrder(w,X,ia)}else q&&0!=O&&!A&&0.4<(G=a.getOpTrans().length())?
ia!==Boolean.TRUE&&null!=ia&&0.5==G&&(fa=!0):p&&A&&(f=ba,w.scale(-1),this.scaleByOrder(w,X,ia),U="80");0<O&&!A&&(U=""+(90-v(90*(1*w.length()/O))));fa||(q=ka+X+"rotVector1",JS.SymmetryDesc.drawVector(E,L,q,"vector","0.1"+U,D,w,l?"gray":$,j),null!=f&&JS.SymmetryDesc.drawVector(E,L,q+"b","vector","0.1"+U,S,w,l?"gray":$,j))}else if(R){JS.SymmetryDesc.ptemp.sub2(Z,t);!p&&0.2<t.distance(Z)&&JS.SymmetryDesc.drawVector(E,L,"planeVector","vector","0.05",t,JS.SymmetryDesc.ptemp,l?"gray":"cyan",null);G=JU.P4.newPt(P);
if(null==C)$="green";else{ka=L+"glide";switch($.charCodeAt(0)){case 103:$="gold";break;case 97:$="magenta";break;case 98:$="violet";break;case 99:$="blue";break;case 110:$="orange";break;case 100:$="grey";break;default:$="grey"}G.w+=0.01;p||(JS.SymmetryDesc.drawFrameLine("X",Z,z,0.15,JS.SymmetryDesc.ptemp,E,ka,"red"),JS.SymmetryDesc.drawFrameLine("Y",Z,F,0.15,JS.SymmetryDesc.ptemp,E,ka,"green"),JS.SymmetryDesc.drawFrameLine("Z",Z,N,0.15,JS.SymmetryDesc.ptemp,E,ka,"blue"))}G=this.modelSet.vwr.getTriangulator().intersectPlane(G,
c.getCanonicalCopy(U,!0),3);if(null!=G){O=p&&a.isCoincident;x=new JU.P3;for(f=G.size();0<=--f;)U=G.get(f),E.append(L).append(null==C?"m":"g").append("planep").appendI(f).append(" ").append(JU.Escape.eP(U[0])).append(JU.Escape.eP(U[1])),3==U.length?(!O||0==f%2!=(null==C))&&E.append(JU.Escape.eP(U[2])):(x.add(U[0]),x.add(U[1]),la+=2),E.append(" color translucent ").append($),null!=j&&E.append(" ").append(JU.PT.esc(j))}if(null==G||0==G.size())q?fa=!0:(JS.SymmetryDesc.ptemp.add2(D,y),E.append(L).append("planeCircle scale 2.0 circle ").append(JU.Escape.eP(D)).append(JU.Escape.eP(JS.SymmetryDesc.ptemp)).append(" color translucent ").append($).append(" mesh fill"),
null!=j&&E.append(" ").append(JU.PT.esc(j)))}A&&(ka=L+"inv",ha?(E.append(L).append("invPoint diameter 0.4 ").append(JU.Escape.eP(Q)),null!=j&&E.append(" ").append(JU.PT.esc(j)),JS.SymmetryDesc.ptemp.sub2(M,t),p||JS.SymmetryDesc.drawVector(E,L,"Arrow","vector","0.05",t,JS.SymmetryDesc.ptemp,l?"gray":"cyan",null)):(4==X&&(E.append(L).append("RotPoint diameter 0.3 color red").append(JU.Escape.eP(Q)),null!=j&&E.append(" ").append(JU.PT.esc(j))),p||(E.append(" color cyan"),na||(JS.SymmetryDesc.ptemp.sub2(u,
M),JS.SymmetryDesc.drawVector(E,L,"Arrow","vector","0.05",M,JS.SymmetryDesc.ptemp,l?"gray":"cyan",null)),1073742066!=g&&(w.setT(z),w.scale(-1),JS.SymmetryDesc.drawFrameLine("X",M,w,0.15,JS.SymmetryDesc.ptemp,E,ka,"red"),w.setT(F),w.scale(-1),JS.SymmetryDesc.drawFrameLine("Y",M,w,0.15,JS.SymmetryDesc.ptemp,E,ka,"green"),w.setT(N),w.scale(-1),JS.SymmetryDesc.drawFrameLine("Z",M,w,0.15,JS.SymmetryDesc.ptemp,E,ka,"blue")))));null!=C&&(R&&p?null!=x&&(Z=x,Z.scale(1/la),Z.scaleAdd2(-0.5,C,Z)):null==Z&&(Z=
p?t:JU.P3.newP(t)),null!=Z&&!fa&&JS.SymmetryDesc.drawVector(E,L,"transVector","vector",ea?"0.1":"0.05",Z,C,l&&!A&&!R&&!ga?"darkGray":"gold",j));p||(JS.SymmetryDesc.ptemp2.setT(u),JS.SymmetryDesc.ptemp.sub2(ba,u),JS.SymmetryDesc.ptemp.scaleAdd2(0.9,JS.SymmetryDesc.ptemp,JS.SymmetryDesc.ptemp2),JS.SymmetryDesc.drawLine(E,L+"frame2X",0.2,JS.SymmetryDesc.ptemp2,JS.SymmetryDesc.ptemp,"red"),JS.SymmetryDesc.ptemp.sub2(T,u),JS.SymmetryDesc.ptemp.scaleAdd2(0.9,JS.SymmetryDesc.ptemp,JS.SymmetryDesc.ptemp2),
JS.SymmetryDesc.drawLine(E,L+"frame2Y",0.2,JS.SymmetryDesc.ptemp2,JS.SymmetryDesc.ptemp,"green"),JS.SymmetryDesc.ptemp.sub2(B,u),JS.SymmetryDesc.ptemp.scaleAdd2(0.9,JS.SymmetryDesc.ptemp,JS.SymmetryDesc.ptemp2),JS.SymmetryDesc.drawLine(E,L+"frame2Z",0.2,JS.SymmetryDesc.ptemp2,JS.SymmetryDesc.ptemp,"purple"),E.append("\nsym_point = "+JU.Escape.eP(t)),E.append("\nvar p0 = "+JU.Escape.eP(JS.SymmetryDesc.ptemp2)),V(t,"JM.Atom")?(E.append("\nvar set2 = within(0.2,p0);if(!set2){set2 = within(0.2,p0.uxyz.xyz)}"),
E.append("\n set2 &= {_"+t.getElementSymbol()+"}")):E.append("\nvar set2 = p0.uxyz"),E.append("\nsym_target = set2;if (set2) {"),!na&&(1073742066!=g&&null==d&&!h)&&(E.append(L).append("offsetFrameX diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(z)).append("*0.9} color red"),E.append(L).append("offsetFrameY diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(F)).append("*0.9} color green"),E.append(L).append("offsetFrameZ diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(N)).append("*0.9} color purple")),
E.append("\n}\n"));L=E.toString();JU.Logger.debugging&&JU.Logger.info(L)}null==C&&(n=null);ca&&(C=JU.V3.newV(y),JS.SymmetryDesc.ptemp.setT(C),c.toFractional(JS.SymmetryDesc.ptemp,!1),n=JU.V3.newV(JS.SymmetryDesc.ptemp));R&&(H=0);A?ha&&(n=C=y=D=null):aa&&(y=D=null);null!=y&&y.normalize();g=null;if(k.get(0)||k.get(17))g=a.isBio?s.toString():0<a.modDim?a.xyzOriginal:JS.SymmetryOperation.getXYZFromMatrix(s,!1,!1,!1),Y&&(g=a.fixMagneticXYZ(s,g,!0));h=Array(20);for(f=k.nextSetBit(0);0<=f;f=k.nextSetBit(f+
1))switch(f){case 0:h[f]=g;break;case 19:null!=b&&(null==d&&!a.isBio&&0==a.modDim)&&(JS.SymmetryDesc.pta02.setT(b),c.toFractional(JS.SymmetryDesc.pta02,!0),s.rotTrans(JS.SymmetryDesc.pta02),JS.SymmetryDesc.ptemp.setT(JS.SymmetryDesc.pta02),c.unitize(JS.SymmetryDesc.pta02),JS.SymmetryDesc.vtrans.sub2(JS.SymmetryDesc.pta02,JS.SymmetryDesc.ptemp),s=JU.M4.newM4(a),s.add(JS.SymmetryDesc.vtrans),p=JS.SymmetryOperation.getXYZFromMatrix(s,!1,!1,!1),Y&&(p=a.fixMagneticXYZ(s,p,!0)),h[f]=p);break;case 1:h[f]=
a.xyzOriginal;break;case 2:h[f]=I;break;case 3:h[f]=L;break;case 4:h[f]=JS.SymmetryDesc.approx0(n);break;case 5:h[f]=JS.SymmetryDesc.approx0(C);break;case 6:h[f]=JS.SymmetryDesc.approx0(Q);break;case 7:h[f]=JS.SymmetryDesc.approx0(null!=D&&k.get(22)?t:D);break;case 8:h[f]=null==P?JS.SymmetryDesc.approx0(y):null;break;case 9:h[f]=0!=H?Integer.$valueOf(H):null;break;case 10:h[f]=s;break;case 11:h[f]=0<JS.SymmetryDesc.vtrans.lengthSquared()?JS.SymmetryDesc.vtrans:null;break;case 12:h[f]=a.getCentering();
break;case 13:h[f]=Integer.$valueOf(a.timeReversal);break;case 14:null!=P&&k.get(22)&&(G=JU.Measure.distanceToPlane(P,t),P.w-=G);h[f]=P;break;case 15:h[f]=da;break;case 16:h[f]=Integer.$valueOf(a.number);break;case 17:p=null;!a.isBio&&!g.equals(a.xyzOriginal)&&0<a.number&&(l=JS.SymmetryOperation.getMatrixFromXYZ(a.xyzOriginal,null,!1),l.sub(s),p=new JU.P3,l.getTranslation(p));h[f]=(0>a.number?0:a.number)+(null==p?" [0 0 0]":" ["+v(-p.x)+" "+v(-p.y)+" "+v(-p.z)+"]");break;case 18:h[f]=a.xyzCanonical}return h},
"JS.SymmetryOperation,J.api.SymmetryInterface,JU.P3,JU.P3,~S,~N,~N,~B,JU.BS,~B,~B");b.fixGlideTrans=d(b,"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");b.fixGlideX=d(b,"fixGlideX",function(a){switch(Math.round(12.001*a)){case 9:return-0.25;case -9:return 0.25;default:return a}},"~N");b.checkHandedness=d(b,"checkHandedness",function(a,c){var b,d,j;JS.SymmetryDesc.ptemp.set(1,0,0);a.toCartesian(JS.SymmetryDesc.ptemp,
!1);b=JS.SymmetryDesc.approx0d(JS.SymmetryDesc.ptemp.dot(c));JS.SymmetryDesc.ptemp.set(0,1,0);a.toCartesian(JS.SymmetryDesc.ptemp,!1);d=JS.SymmetryDesc.approx0d(JS.SymmetryDesc.ptemp.dot(c));JS.SymmetryDesc.ptemp.set(0,0,1);a.toCartesian(JS.SymmetryDesc.ptemp,!1);j=JS.SymmetryDesc.approx0d(JS.SymmetryDesc.ptemp.dot(c));return 0==b?0==d?0<j:0<d:0==j?0<b:0==d?0<j:0<b*d*j},"J.api.SymmetryInterface,JU.P3");d(b,"scaleByOrder",function(a,c,b){a.scale(1+0.3/c+(null==b?0:b===Boolean.TRUE?0.02:-0.02))},"JU.V3,~N,Boolean");
b.drawLine=d(b,"drawLine",function(a,c,b,d,j,f){a.append(c).append(" diameter ").appendD(b).append(JU.Escape.eP(d)).append(JU.Escape.eP(j)).append(" color ").append(f)},"JU.SB,~S,~N,JU.P3,JU.P3,~S");b.drawFrameLine=d(b,"drawFrameLine",function(a,c,b,d,j,f,g,h){j.setT(c);j.add(b);JS.SymmetryDesc.drawLine(f,g+"Pt"+a,d,c,j,"translucent "+h)},"~S,JU.P3,JU.V3,~N,JU.P3,JU.SB,~S,~S");b.drawVector=d(b,"drawVector",function(a,c,b,d,j,f,g,h,k){d.equals("vline")&&(JS.SymmetryDesc.ptemp2.add2(f,g),d="",g=JS.SymmetryDesc.ptemp2);
a.append(c).append(b).append(" diameter ").append(j+" ").append(d).append(JU.Escape.eP(f)).append(JU.Escape.eP(g)).append(" color ").append(h);null!=k&&a.append(' "'+k+'"')},"JU.SB,~S,~S,~S,~S,JU.T3,JU.T3,~S,~S");b.rotTransCart=d(b,"rotTransCart",function(a,c,b,d){b=JU.P3.newP(b);c.toFractional(b,!1);a.rotTrans(b);b.add(d);c.toCartesian(b,!1);return b},"JS.SymmetryOperation,J.api.SymmetryInterface,JU.P3,JU.V3");b.strCoord=d(b,"strCoord",function(a,c,b){JS.SymmetryDesc.approx0(c);return b?c.x+" "+
c.y+" "+c.z:a.fcoord2(c)},"JS.SymmetryOperation,JU.T3,~B");b.approx0=d(b,"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");b.approx0d=d(b,"approx0d",function(a){return 1E-4>Math.abs(a)?0:a},"~N");d(b,"getSymmetryInfo",function(a,c,b,d,j,f,g,h,k,p,q,n,l,P){var t=0,s=JS.SymmetryDesc.nullReturn(p);switch(p){case 1073741994:return""+b.getLatticeType();case 1073742001:t=1825200146;break;case 135176:t=
135176;break;case 1275068418:switch(t=JS.SymmetryDesc.getType(k),t){case 1153433601:case 1073741961:case 1073742001:case 134217751:case 1086326789:case 36868:p=t;break;default:t=JS.SymmetryDesc.getKeyType(k)}}var v=JS.SymmetryDesc.getInfoBS(t),x=-2==n,u=j,y=1073742066==l&&(1153433601==p||134217751==p)?h:null;null!=y&&(h=null);var K=u=null,B=null;if(null==h){if(null==d){B=x?b.getAdditionalOperations():b.getSymmetryOperations();if(null==B||Math.abs(j)>B.length||0==j)return s;u=Math.abs(j)-1;d=null==
f?B[u].xyz:B[u].getxyzTrans(f);K=B[u].xyzOriginal}else u=j=0;var z=new JS.Symmetry;z.setSpaceGroup(!1);var F=null!=b&&b.isBio();h=F?z.addBioMoleculeOperation(b.getSpaceGroup().finalOperations[u],0>j):z.addSpaceGroupOperation((0>j?"!":"=")+d,Math.abs(j));if(0>h)return s;var N=z.getSpaceGroupOperation(h);P&&(N.isCoincident=B[u].isCoincident);null!=K&&(N.xyzOriginal=K);N.number=j;F||N.getCentering();null==g&&0<=c&&(g=this.modelSet.at[c]);if(134217751==p||1153433601==p){if(F||null==g)return s;z.setUnitCell(b);
JS.SymmetryDesc.ptemp.setT(g);b.toFractional(JS.SymmetryDesc.ptemp,!1);if(Float.isNaN(JS.SymmetryDesc.ptemp.x))return s;t=new JU.P3;z.newSpaceGroupPoint(JS.SymmetryDesc.ptemp,h,null,0,0,0,t);1073742066==l&&(b.unitize(t),t.add(y));z.toCartesian(t,!1);return 1153433601==p?this.getAtom(b,a,c,t):t}u=this.createInfoArray(N,b,g,null,null==k?"sym":k,q,l,null!=f,v,P,x);1275068418==p&&null!=k&&(t=JS.SymmetryDesc.getKeyType(k))}else{x="info";y=!1;switch(p){case 1275068418:t=JS.SymmetryDesc.getKeyType(k);k=
x=null;0==n&&(n=-1);break;case 1073742001:k=x=null;0==n&&(n=-1);y=!0;v.set(21);v.set(0);v.set(19);break;case 135176:null==k&&(k=P?"sg":"sym");x="all";y=!0;break;case 1153433601:k=x=null;default:0==n&&(n=1)}l=this.getSymopInfoForPoints(b,a,j,f,g,h,k,x,q,n,l,v);if(y)return l;if("string"==typeof l)return s;u=l;if(1153433601==p)return!V(g,"JM.Atom")&&!V(h,"JM.Atom")&&(c=-1),null==u?s:this.getAtom(b,a,c,u[7])}if(null==u)return s;a=0<u.length&&V(u[0],Array);if(0>n&&0>=j&&null==d&&(1275068418==p||a)){1275068418==
p&&(0<u.length&&!V(u[0],Array))&&(u=H(-1,[u]));a=new JU.Lst;for(h=0;h<u.length;h++)a.addLast(JS.SymmetryDesc.getInfo(u[h],0>t?t:p));return a}if(0>t&&(0<=n||0<j||null!=d))p=t;0<n&&a&&(u=u[0]);135176==p&&(P&&-2==n)&&(p=134217764);return JS.SymmetryDesc.getInfo(u,p)},"~N,~N,J.api.SymmetryInterface,~S,~N,JU.P3,JU.P3,JU.P3,~S,~N,~N,~N,~N,~B");d(b,"getAtom",function(a,c,b,d){var j=null;0<=b&&this.modelSet.getAtomBitsMDa(1094715402,Integer.$valueOf(this.modelSet.at[b].getElementNumber()),j=new JU.BS);b=
new JU.BS;this.modelSet.getAtomsWithin(0.02,d,b,c);null!=j&&b.and(j);b.isEmpty()&&(d=JU.P3.newP(d),a.toUnitCell(d,null),a.toCartesian(d,!1),this.modelSet.getAtomsWithin(0.02,d,b,c),null!=j&&b.and(j));return b},"J.api.SymmetryInterface,~N,~N,JU.T3");d(b,"getSymopInfoForPoints",function(a,c,b,d,j,f,g,h,k,p,l,n){d=n.get(21)||n.get(3)&&3==n.cardinality();n.clear(21);var r=d?"":null;f=this.getSpaceGroupInfo(a,c,null,b,j,f,g,k,p,!1,!0,l,null,n);if(null==f)return r;a=f.get("operations");if(null==a)return r;
c=d?new JU.SB:null;b--;j=!d&&0>b;f=f.get("symmetryInfo");p="label".equals(h);for(k=h=0;k<a.length;k++)if(!(null==a[k]||0<=b&&b!=k))if(d){if(null!=g)return a[k][3]+"\nprint "+JU.PT.esc(f);0<c.length()&&c.appendC("\n");p||(0>b&&c.appendI(k+1).appendC("\t"),c.append(a[k][0]).appendC("\t"));c.append(a[k][2])}else{if(!j)return a[k];a[h++]=a[k]}if(!d){b=Array(h);for(k=0;k<h;k++)b[k]=a[k];return b}return 0==c.length()?null!=g?"draw "+g+"* delete":r:c.toString()},"J.api.SymmetryInterface,~N,~N,JU.P3,JU.P3,JU.P3,~S,~S,~N,~N,~N,JU.BS");
d(b,"getSymopInfo",function(a,c,b,d,j,f,g,h,k,p,l,n){0==h&&(h=JS.SymmetryDesc.getType(g));var r=1153433601==h?new JU.BS:"",v=0<=a?this.modelSet.at[a].mi:this.modelSet.vwr.am.cmi;if(0>v)return r;var t=this.modelSet.am[v].biosymmetry;if(null==t&&null==(t=this.modelSet.getUnitCell(v)))t=(new JS.Symmetry).setUnitCellFromParams(null,!1,NaN);if(135176!=h||2147483647!=b&&null==n)return this.getSymmetryInfo(v,a,t,c,b,d,j,f,g,h,k,p,l,!1);if(null==t)return r;h="";b=null==c&&(0>p&&null==n)&&-2==p?t.getAdditionalOperations():
t.getSymmetryOperations();if(null!=b)if(null==g&&(g="sg"),r=b.length,null!=j&&null==f||null!=n){null==n&&(n=t.getInvariantSymops(j,null));for(var r=n.length,s=0;s<r;s++)0<p&&p!=s+1||(b=n[s],h+=this.getSymmetryInfo(v,a,t,c,b,d,j,f,g+b,135176,k,p,l,null==j))}else for(b=1;b<=r;b++)h+=this.getSymmetryInfo(v,a,t,c,b,d,j,f,g+b,135176,k,p,l,!0);return h},"~N,~S,~N,JU.P3,JU.P3,JU.P3,~S,~N,~N,~N,~N,~A");d(b,"getSpaceGroupInfo",function(a,b,d,m,j,f,g,h,k,p,l,n,r,v){null==v&&(v=new JU.BS,v.setBits(0,JS.SymmetryDesc.keys.length),
v.clear(19));var t=1==v.cardinality()&&v.get(10),s=null,y=!t&&null==j&&null==g&&0>=k&&v.cardinality()>=JS.SymmetryDesc.keys.length,x=!1,u=null,H=null!=d&&0<d.length,K=H&&0<=d.indexOf("[--]");if(l||!H){var B=y&&0==m;if(t)r=a;else{0>b&&(b=V(j,"JM.Atom")?j.mi:this.modelSet.vwr.am.cmi);if(0>b)u="no single current model";else if(null==r&&!(x=null!=(r=this.modelSet.am[b].biosymmetry))&&null==(r=this.modelSet.getUnitCell(b)))u="not applicable";null!=u?(s=new java.util.Hashtable,s.put("spaceGroupInfo",""),
s.put("spaceGroupNote",u),s.put("symmetryInfo","")):y&&(s=this.modelSet.getInfo(b,"spaceGroupInfo"));if(null!=s)return s;d=r.getSpaceGroupName()}var s=new java.util.Hashtable,u=r.getSymmetryOperations(),z=x?r.spaceGroup:null,y=K?"":null,F=0;if(null!=u){t||(x?a.setSpaceGroupTo(JS.SpaceGroup.getNull(!1,!1,!1)):a.setSpaceGroup(!1));0!=u[0].timeReversal&&(a.getSpaceGroupOperation(0).timeReversal=1);for(var N=Array(u.length),w="",A=0,D=0;A<u.length&&D!=k;A++){var C=u[A],O=C.xyzOriginal,M;if(t)M=A;else{M=
!(0==A&&0<=C.xyz.indexOf("x4"))&&null!=a.getSpaceGroupOperation(A)?A:x?a.addBioMoleculeOperation(z.finalOperations[A],!1):a.addSpaceGroupOperation("="+C.xyz,A+1);if(0>M)continue;C=a.getSpaceGroupOperation(A);if(null==C)continue;C.xyzOriginal=O}null!=y&&(y+=";"+C.xyz);C=0<m&&m-1!=M?null:this.createInfoArray(C,r,j,f,g,h,n,!1,v,!1,!1);if(null!=C&&!(0<k&&++D!=k)&&(N[A]=C,t||(w+="\n"+(A+1)+"\t"+C[v.get(19)?19:0]+"\t  "+C[2]),F++,0<m))break}s.put("operations",N);t||s.put("symmetryInfo",0==w.length?"":w.substring(1))}if(t)return s;
u=0==F?"\n no symmetry operations":0>=k&&0>=m?"\n"+F+" symmetry operation"+(1==F?":\n":"s:\n"):"";null!=y&&(d=y.substring(y.indexOf(";")+1));B&&this.modelSet.setInfo(b,"spaceGroupInfo",s)}else s=new java.util.Hashtable;s.put("spaceGroupName",d);s.put("spaceGroupNote",null==u?"":u);if(x)a=d;else if(H&&!K&&a.setSpaceGroupName(d),a=a.getSpaceGroupInfoObj(d,null==r?null:r.getUnitCellParams(),p,!l),null==a||a.equals("?"))a="?",s.put("spaceGroupNote","could not identify space group from name: "+d+'\nformat: show spacegroup "2" or "P 2c" or "C m m m" or "x, y, z;-x ,-y, -z"');
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");d(b,"getTransform",function(a,b,d,m,j){null==JS.SymmetryDesc.pta01&&(JS.SymmetryDesc.pta01=new JU.P3,JS.SymmetryDesc.pta02=new JU.P3,JS.SymmetryDesc.ptemp=new JU.P3,JS.SymmetryDesc.vtrans=new JU.V3);JS.SymmetryDesc.pta02.setT(m);JS.SymmetryDesc.vtrans.setT(JS.SymmetryDesc.pta02);a.unitize(JS.SymmetryDesc.pta02);m=3.4028235E38;for(var f=-1,g=0,h=b.length;g<h;g++){var k=
b[g];JS.SymmetryDesc.pta01.setT(d);k.rotTrans(JS.SymmetryDesc.pta01);JS.SymmetryDesc.ptemp.setT(JS.SymmetryDesc.pta01);a.unitize(JS.SymmetryDesc.pta01);var p=JS.SymmetryDesc.pta01.distanceSquared(JS.SymmetryDesc.pta02);if(1.96E-6>p){JS.SymmetryDesc.vtrans.sub(JS.SymmetryDesc.ptemp);JS.SymmetryOperation.normalize12ths(JS.SymmetryDesc.vtrans);k=JU.M4.newM4(k);k.add(JS.SymmetryDesc.vtrans);JS.SymmetryDesc.pta01.setT(d);k.rotTrans(JS.SymmetryDesc.pta01);a.unitize(JS.SymmetryDesc.pta01);p=JS.SymmetryDesc.pta01.distanceSquared(JS.SymmetryDesc.pta02);
if(1.96E-6<=p)continue;return k}p<m&&(m=p,f=g)}j&&(k=b[f],JS.SymmetryDesc.pta01.setT(d),k.rotTrans(JS.SymmetryDesc.pta01),a.unitize(JS.SymmetryDesc.pta01),System.err.println(""+f+" "+JS.SymmetryDesc.pta01.distance(JS.SymmetryDesc.pta02)+" "+JS.SymmetryDesc.pta01+" "+JS.SymmetryDesc.pta02+" "+JU.V3.newVsub(JS.SymmetryDesc.pta02,JS.SymmetryDesc.pta01)));return null},"JS.UnitCell,~A,JU.P3,JU.P3,~B");b.keys=H(-1,["xyz","xyzOriginal","label",null,"fractionalTranslation","cartesianTranslation","inversionCenter",
null,"axisVector","rotationAngle","matrix","unitTranslation","centeringVector","timeReversal","plane","_type","id","cif2","xyzCanonical","xyzNormalized"]);b.ptemp=new JU.P3;b.ptemp2=new JU.P3;b.pta01=new JU.P3;b.pta02=new JU.P3;b.vtrans=new JU.V3});W("JS");ca(["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 b=M(function(){this.fractionalOffset=this.vertices=
null;this.allFractionalRelative=!1;this.moreInfo=this.unitCellMultiplied=this.unitCellMultiplier=this.cartesianOffset=null;this.name="";aa(this,arguments)},JS,"UnitCell",JU.SimpleUnitCell,Cloneable);la(b,function(){this.cartesianOffset=new JU.P3});b.checkDuplicate=d(b,"checkDuplicate",function(a,b,d,m){for(0>m&&(m=a.size());b<m;b++)for(var j=a.get(b),f=Math.max(b+1,d);f<m;f++)1.96E-6>a.get(f).distanceSquared(j)&&(a.removeItemAt(f),m--,f--)},"JU.Lst,~N,~N,~N");b.cloneUnitCell=d(b,"cloneUnitCell",function(a){var b=
null;try{b=a.clone()}catch(d){if(!fa(d,"CloneNotSupportedException"))throw d;}return b},"JS.UnitCell");b.fromOABC=d(b,"fromOABC",function(a,b){var d=new JS.UnitCell;3==a.length&&(a=H(-1,[new JU.P3,a[0],a[1],a[2]]));var m=y(-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]);d.init(m);d.allFractionalRelative=b;d.initUnitcellVertices();d.setCartesianOffset(a[0]);return d},"~A,~B");b.fromParams=d(b,"fromParams",function(a,b,d){var m=new JS.UnitCell;m.init(a);m.initUnitcellVertices();
m.allFractionalRelative=b;m.setPrecision(d);26<a.length&&(a[26]=d);return m},"~A,~B,~N");d(b,"checkDistance",function(a,b,d,m,j,f,g,h){a=JU.P3.newP(a);this.toCartesian(a,!0);for(var k=-j;k<=j;k++)for(var p=-f;p<=f;p++)for(var l=-g;l<=g;l++){h.set(b.x+k,b.y+p,b.z+l);this.toCartesian(h,!0);var n=a.distance(h);if(0<m?Math.abs(n-d)<=m:n<=d&&0.1<n)return h.set(k,p,l),!0}return!1},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");d(b,"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");d(b,"dumpInfo",function(a,b){var d=b?this.getUnitCellMultiplied():this;return d!==this?d.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");d(b,"fix000",function(a){return 0.001>Math.abs(a)?0:a},"~N");d(b,"fixFloor",function(a){return 1==a?0:a},"~N");d(b,"getCanonicalCopy",function(a,b){var d=this.getScaledCell(b);return JU.BoxInfo.getCanonicalCopy(d,a)},"~N,~B");d(b,"getCartesianOffset",function(){return this.cartesianOffset});d(b,"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");d(b,"getConventionalUnitCell",function(a,b){var d=this.getUnitCellVectors();(!a.equals("P")||null!=b)&&this.toFromPrimitive(!1,a.charAt(0),d,b);return d},"~S,JU.M3");d(b,"getEquivPoints",function(a,b,d,m,j,f){var g=0<=b.indexOf("fromfractional"),h=0<=b.indexOf("tofractional");b=0<=b.indexOf("packed");null==m&&(m=new JU.Lst);a=JU.P3.newP(a);g||this.toFractional(a,!0);for(var g=m.size(),k=0,p=d.length;k<p;k++){var l=JU.P3.newP(a);d[k].rotTrans(l);l.x=this.fixFloor(l.x-Math.floor(l.x));
l.y=this.fixFloor(l.y-Math.floor(l.y));l.z=this.fixFloor(l.z-Math.floor(l.z));m.addLast(l);g++}if(b)for(k=f;k<g;k++)a.setT(m.get(k)),this.unitizeRnd(a),0==a.x&&(m.addLast(JU.P3.new3(0,a.y,a.z)),m.addLast(JU.P3.new3(1,a.y,a.z)),0==a.y&&(m.addLast(JU.P3.new3(1,1,a.z)),m.addLast(JU.P3.new3(0,0,a.z)),0==a.z&&(m.addLast(JU.P3.new3(1,1,1)),m.addLast(JU.P3.new3(0,0,0))))),0==a.y&&(m.addLast(JU.P3.new3(a.x,0,a.z)),m.addLast(JU.P3.new3(a.x,1,a.z)),0==a.z&&(m.addLast(JU.P3.new3(a.x,0,0)),m.addLast(JU.P3.new3(a.x,
1,1)))),0==a.z&&(m.addLast(JU.P3.new3(a.x,a.y,0)),m.addLast(JU.P3.new3(a.x,a.y,1)),0==a.x&&(m.addLast(JU.P3.new3(0,a.y,0)),m.addLast(JU.P3.new3(1,a.y,1))));JS.UnitCell.checkDuplicate(m,j,f,-1);if(!h)for(k=m.size();--k>=f;)this.toCartesian(m.get(k),!0);return m},"JU.P3,~S,~A,JU.Lst,~N,~N");d(b,"getFractionalOffset",function(){return this.fractionalOffset});d(b,"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",Double.$valueOf(this.volume));a.put("matFtoC",this.matrixFractionalToCartesian);a.put("matCtoF",this.matrixCartesianToFractional);return a});d(b,"getQuaternionRotation",function(a){var b=JU.V3.newVsub(this.vertices[4],this.vertices[0]),d=JU.V3.newVsub(this.vertices[2],this.vertices[0]),m=JU.V3.newVsub(this.vertices[1],this.vertices[0]),j=new JU.V3,f=new JU.V3,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 k=(h=!h.equals(a))?1:0;2==a.length&&(k=a.charAt(1).charCodeAt(0)-48,a=a.substring(0,1));var l=0==k%2;switch("abcABCDEF".indexOf(a)){case 7:g=-g;case 4:b.cross(m,d),k=(5-k)%4+1;default:a=b;b=m;break;case 8:g=-g;case 5:g=-g,d.cross(m,b),k=(2+k)%4+1;case 1:a=d;d=m;g=-g;break;case 3:g=-g;case 6:m.cross(b,d),l&&(k=6-k);case 2:a=m,!h&&0<k&&(k=5-k)}0<k&&0<g!=l&&(b=d,a.scale(-1));switch(k){case 2:a.scale(-1);b.scale(-1);break;case 3:b.scale(-1);
break;case 4:a.scale(-1)}j.cross(a,b);f.cross(j,a);return JU.Quat.getQuaternionFrame(null,f,j).inv()},"~S");d(b,"getScaledCell",function(a){var b=Array(8),d=null,m=null;a&&(null!=this.unitCellMultiplier&&0==this.unitCellMultiplier.z)&&(d=new JU.P3,m=new JU.P3,JU.SimpleUnitCell.ijkToPoint3f(v(this.unitCellMultiplier.x),d,0,0),JU.SimpleUnitCell.ijkToPoint3f(v(this.unitCellMultiplier.y),m,0,0),m.sub(d));for(var j=null==this.unitCellMultiplier||0==this.unitCellMultiplier.z?1:Math.abs(this.unitCellMultiplier.z),
f=0;8>f;f++){var g=b[f]=JU.P3.newP(JU.BoxInfo.unitCubePoints[f]);null!=d&&b[f].add3(d.x+m.x*g.x,d.y+m.y*g.y,d.z+m.z*g.z);b[f].scale(j);this.matrixFractionalToCartesian.rotTrans(g);a||g.sub(this.cartesianOffset)}return b},"~B");d(b,"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});d(b,"getTensor",function(a,b){var d=J.api.Interface.getUtil("Tensor",a,"file");if(0==b[0]&&0==b[1]&&0==b[2]){var m=b[7],j=y(-1,[m,m,m]);return d.setFromEigenVectors(JS.UnitCell.unitVectors,j,"iso","Uiso="+m,null)}d.parBorU=b;var m=qa(6,0),f=v(b[6]);if(12==f)m[0]=19.739208802178716*b[0],m[1]=19.739208802178716*b[1],m[2]=19.739208802178716*b[2],m[3]=39.47841760435743*b[3],m[4]=39.47841760435743*b[4],m[5]=39.47841760435743*b[5],b[7]=(b[0]+b[1]+b[3])/3;else{var j=4==f||5==f||8==f||9==
f,g=2-f%2,h=8==f||9==f||10==f?19.739208802178716:4==f||5==f?0.25:2==f||3==f?Math.log(2):1,f=b[0]*h*(j?this.a_*this.a_:1),k=b[1]*h*(j?this.b_*this.b_:1),l=b[2]*h*(j?this.c_*this.c_:1),q=b[3]*h*(j?this.a_*this.b_:1)*g,n=b[4]*h*(j?this.a_*this.c_:1)*g,j=b[5]*h*(j?this.b_*this.c_:1)*g;b[7]=Math.pow(f/19.739208802178716/this.a_/this.a_*k/19.739208802178716/this.b_/this.b_*l/19.739208802178716/this.c_/this.c_,0.3333);m[0]=this.a*this.a*f+this.b*this.b*this.cosGamma*this.cosGamma*k+this.c*this.c*this.cosBeta*
this.cosBeta*l+this.a*this.b*this.cosGamma*q+this.b*this.c*this.cosGamma*this.cosBeta*j+this.a*this.c*this.cosBeta*n;m[1]=this.b*this.b*this.sinGamma*this.sinGamma*k+this.c*this.c*this.cA_*this.cA_*l+this.b*this.c*this.cA_*this.sinGamma*j;m[2]=this.c*this.c*this.cB_*this.cB_*l;m[3]=2*this.b*this.b*this.cosGamma*this.sinGamma*k+2*this.c*this.c*this.cA_*this.cosBeta*l+this.a*this.b*this.sinGamma*q+this.b*this.c*(this.cA_*this.cosGamma+this.sinGamma*this.cosBeta)*j+this.a*this.c*this.cA_*n;m[4]=2*this.c*
this.c*this.cB_*this.cosBeta*l+this.b*this.c*this.cosGamma*j+this.a*this.c*this.cB_*n;m[5]=2*this.c*this.c*this.cA_*this.cB_*l+this.b*this.c*this.cB_*this.sinGamma*j}return d.setFromThermalEquation(m,JU.Escape.eAF(b))},"JV.Viewer,~A");d(b,"getUnitCellMultiplied",function(){if(null==this.unitCellMultiplier||0<this.unitCellMultiplier.z&&this.unitCellMultiplier.z==v(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});d(b,"getUnitCellMultiplier",function(){return this.unitCellMultiplier});d(b,"getUnitCellVectors",function(){var a=this.matrixFractionalToCartesian;return H(-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))])});d(b,"getV0abc",function(a,b){if(V(a,Array))return a;
var d,m=!1,j=Array(4),f=j[0]=JU.V3.new3(0,0,0);j[1]=JU.V3.new3(1,0,0);j[2]=JU.V3.new3(0,1,0);j[3]=JU.V3.new3(0,0,1);var g=new JU.M3;if(JU.AU.isAF(a))return JU.SimpleUnitCell.setAbcFromParams(a,j);if("string"==typeof a){d=a;var h="0,0,0";if(0==d.indexOf("a="))return JU.SimpleUnitCell.setAbc(d,null,j);m=d.indexOf(";");0<=m&&(h=d.substring(m+1),d=d.substring(0,m));d+=";0,0,0";(m=d.startsWith("!"))&&(d=d.substring(1));var k=new JS.Symmetry;k.setSpaceGroup(!1);d=k.addSpaceGroupOperation("="+d,0);if(0>
d)return null;d=k.getSpaceGroupOperation(d);d.doFinalize();h=JU.PT.split(h,",");k=y(3,0);if(3==h.length)for(var l=0;3>l;l++){var q=h[l],n=q.indexOf("/");k[l]=0<=n?JU.PT.parseFloat(q.substring(0,n))/JU.PT.parseFloat(q.substring(n+1)):JU.PT.parseFloat(q)}h=JU.P3.new3(k[0],k[1],k[2]);d.setTranslation(h);null!=b&&b.setM4(d)}else if(V(a,"JU.M3"))d=JU.M4.newMV(a,new JU.P3);else if(V(a,"JU.M4"))d=a;else{d=a[0];d.getRotationScale(g);this.toCartesian(f,!1);d.rotTrans(f);for(d=1;4>d;d++)this.toCartesian(j[d],
!0),g.rotate(j[d]);return j}d.getRotationScale(g);d.getTranslation(f);m?(g.invert(),g.transpose(),g.rotate(f),f.scale(-1)):g.transpose();this.toCartesian(f,!1);for(d=1;4>d;d++)g.rotate(j[d]),this.toCartesian(j[d],!0);return j},"~O,JU.M4");d(b,"getVertices",function(){return this.vertices});d(b,"hasOffset",function(){return null!=this.fractionalOffset&&0!=this.fractionalOffset.lengthSquared()});d(b,"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");d(b,"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)}});d(b,"isSameAs",function(a){if(a.unitCellParams.length!=this.unitCellParams.length)return!1;for(var b=Math.min(this.unitCellParams.length,26);0<=--b;)if(this.unitCellParams[b]!=a.unitCellParams[b]&&(!Float.isNaN(this.unitCellParams[b])||!Float.isNaN(a.unitCellParams[b])))return!1;return null==this.fractionalOffset?!a.hasOffset():null==a.fractionalOffset?!this.hasOffset():0==this.fractionalOffset.distanceSquared(a.fractionalOffset)},"JS.UnitCell");d(b,"isWithinUnitCell",function(a,b,d,
l){switch(this.dimension){case 3:if(l.z<d-1-this.slop||l.z>d+this.slop)return!1;case 2:if(l.y<b-1-this.slop||l.y>b+this.slop)return!1;case 1:if(l.x<a-1-this.slop||l.x>a+this.slop)return!1}return!0},"~N,~N,~N,JU.P3");d(b,"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=
new JU.P3;this.fractionalOffset.setT(this.cartesianOffset);this.matrixCartesianToFractional.m03=0;this.matrixCartesianToFractional.m13=0;this.matrixCartesianToFractional.m23=0;this.matrixCartesianToFractional.rotTrans(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)},"JU.T3");d(b,"setOffset",function(a){if(null!=a){this.unitCellMultiplied=null;var b=V(a,"JU.T4")?a:null,d=null==b?1.4E-45:b.w,l=999999<d;if(null!=b?0>=d||l:100<=a.x||100<=a.y)if(this.unitCellMultiplier=0==a.z&&a.x==a.y&&!l?null:l?JU.P4.newPt(b):JU.P3.newP(a),this.unitCellMultiplied=null,null==b||0==b.w||l)return;if(this.hasOffset()||0<a.lengthSquared())this.fractionalOffset=
new JU.P3,this.fractionalOffset.setT(a);this.matrixCartesianToFractional.m03=-a.x;this.matrixCartesianToFractional.m13=-a.y;this.matrixCartesianToFractional.m23=-a.z;this.cartesianOffset.setT(a);this.matrixFractionalToCartesian.m03=0;this.matrixFractionalToCartesian.m13=0;this.matrixFractionalToCartesian.m23=0;this.matrixFractionalToCartesian.rotTrans(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))}},"JU.T3");d(b,"toFromPrimitive",function(a,b,d,l){var j=d.length-3,f=null;if("r"==b||null==l){switch(b.charCodeAt(0)){default:return!1;case 114:return JU.SimpleUnitCell.getReciprocal(d,d,1),!0;case 80:a=!0;f=JU.M3.newA9(y(-1,[1,0,0,0,1,0,0,0,1]));break;case 65:f=JU.M3.newA9(y(-1,[1,0,0,0,0.5,0.5,0,-0.5,0.5]));break;case 66:f=
JU.M3.newA9(y(-1,[0.5,0,0.5,0,1,0,-0.5,0,0.5]));break;case 67:f=JU.M3.newA9(y(-1,[0.5,0.5,0,-0.5,0.5,0,0,0,1]));break;case 82:f=JU.M3.newA9(y(-1,[0.6666667,-0.33333334,-0.33333334,0.33333334,0.33333334,-0.6666667,0.33333334,0.33333334,0.33333334]));break;case 73:f=JU.M3.newA9(y(-1,[-0.5,0.5,0.5,0.5,-0.5,0.5,0.5,0.5,-0.5]));break;case 70:f=JU.M3.newA9(y(-1,[0,0.5,0.5,0.5,0,0.5,0.5,0.5,0]))}a||f.invert()}else f=JU.M3.newM3(l),a&&f.invert();for(a=d.length;--a>=j;)b=d[a],this.toFractional(b,!0),f.rotate(b),
this.toCartesian(b,!0);return!0},"~B,~S,~A,JU.M3");d(b,"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");d(b,"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");d(b,"unitize",function(a){this.unitizeDim(this.dimension,a)},"JU.T3");d(b,"unitizeRnd",function(a){JU.SimpleUnitCell.unitizeDimRnd(this.dimension,a,this.slop)},"JU.T3");b.createCompatibleUnitCell=d(b,"createCompatibleUnitCell",function(a,b,d,l){null==d&&(d=b);var j=b[0],f=b[1],g=b[2],h=b[3],k=b[4],p=b[5],q=null==a||null==a.intlTableNumber?
0:JU.PT.parseInt(a.intlTableNumber),n=0!=q&&JS.UnitCell.isHexagonalSG(q,null),r=n&&JS.UnitCell.isHexagonalSG(-1,b),v="r"==a.axisChoice,t=v&&JU.SimpleUnitCell.isRhombohedral(b);if(n&&r||v&&t)l=!0;if(q>(l?2:0)){var s=JU.SimpleUnitCell.approx0(j-f),s=JU.SimpleUnitCell.approx0(f-g),s=JU.SimpleUnitCell.approx0(g-j),y=JU.SimpleUnitCell.approx0(h-k),x=JU.SimpleUnitCell.approx0(k-p),u=JU.SimpleUnitCell.approx0(p-h);l||(j>f&&(y=j,j=f,f=y),(s=JU.SimpleUnitCell.approx0(f-g))&&(g=1.5*f),(s=JU.SimpleUnitCell.approx0(j-
f))&&(f=1.2*j),(s=JU.SimpleUnitCell.approx0(g-j))&&(g=1.1*j),JU.SimpleUnitCell.approx0(h-90)&&(h=80),JU.SimpleUnitCell.approx0(k-90)&&(k=100),JU.SimpleUnitCell.approx0(p-90)&&(p=110),h>k&&(y=h,h=k,k=y),y=JU.SimpleUnitCell.approx0(h-k),x=JU.SimpleUnitCell.approx0(k-p),u=JU.SimpleUnitCell.approx0(p-h),y&&(k=1.2*h),x&&(p=1.3*k),u&&(p=1.4*h));if(n){if(f=j,!(v?t:r))"r"==a.axisChoice?(g=f=j,!l&&(85<h&&95>h)&&(h=80),p=k=h):(h=k=90,p=120)}else if(195<=q)g=f=j,h=k=p=90;else if(75<=q)f=j,s&&!l&&(g=1.5*j),h=
k=p=90;else if(16<=q)h=k=p=90;else if(3<=q)switch(a.uniqueAxis.charCodeAt(0)){case 97:g=f;k=p=90;break;case 98:g=j;h=p=90;break;case 99:f=j,h=k=90}}a=!(j==b[0]&&f==b[1]&&g==b[2]&&h==b[3]&&k==b[4]&&p==b[5]);d[0]=j;d[1]=f;d[2]=g;d[3]=h;d[4]=k;d[5]=p;return a},"JS.SpaceGroup,~A,~A,~B");b.isHexagonalSG=d(b,"isHexagonalSG",function(a,b){return 1>a?JU.SimpleUnitCell.isHexagonal(b):143<=a&&194>=a},"~N,~A");b.unitVectors=H(-1,[JV.JC.axisX,JV.JC.axisY,JV.JC.axisZ])})})(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);
