Clazz.declarePackage("J.api");Clazz.declareInterface(J.api,"SymmetryInterface");Clazz.declarePackage("J.symmetry");
Clazz.load(["J.api.SymmetryInterface"],"J.symmetry.Symmetry","java.lang.Float java.util.Hashtable JU.BS $.P3 $.SB J.symmetry.PointGroup $.SpaceGroup $.SymmetryInfo $.SymmetryOperation $.UnitCell J.util.Escape $.Logger $.SimpleUnitCell".split(" "),function(){c$=Clazz.decorateAsClass(function(){this.unitCell=this.symmetryInfo=this.spaceGroup=this.pointGroup=null;Clazz.instantialize(this,arguments)},J.symmetry,"Symmetry",null,J.api.SymmetryInterface);Clazz.makeConstructor(c$,function(){});Clazz.overrideMethod(c$,
"setPointGroup",function(a,b,c,d,e,h){this.pointGroup=J.symmetry.PointGroup.getPointGroup(null==a?null:a.pointGroup,b,c,d,e,h);return this},"J.api.SymmetryInterface,~A,JU.BS,~B,~N,~N");Clazz.overrideMethod(c$,"getPointGroupName",function(){return this.pointGroup.getName()});Clazz.overrideMethod(c$,"getPointGroupInfo",function(a,b,c,d,e,h){return!b&&!c&&null!=this.pointGroup.textInfo?this.pointGroup.textInfo:b&&this.pointGroup.isDrawType(d,e,h)?this.pointGroup.drawInfo:c&&null!=this.pointGroup.info?
this.pointGroup.info:this.pointGroup.getInfo(a,b,c,d,e,h)},"~N,~B,~B,~S,~N,~N");$_M(c$,"setSpaceGroup",function(a){null==this.spaceGroup&&(this.spaceGroup=J.symmetry.SpaceGroup.getNull().set(a))},"~B");$_M(c$,"addSpaceGroupOperation",function(a,b){return this.spaceGroup.addSymmetry(a,b)},"~S,~N");Clazz.overrideMethod(c$,"addSpaceGroupOperationM",function(a){this.spaceGroup.addSymmetry("="+J.symmetry.SymmetryOperation.getXYZFromMatrix(a,!1,!1,!1),0)},"JU.M4");Clazz.overrideMethod(c$,"setLattice",function(a){this.spaceGroup.setLatticeParam(a)},
"~N");$_M(c$,"getSpaceGroupName",function(){return null!=this.symmetryInfo?this.symmetryInfo.spaceGroup:null!=this.spaceGroup?this.spaceGroup.getName():""});$_M(c$,"getSpaceGroup",function(){return this.spaceGroup});Clazz.overrideMethod(c$,"setSpaceGroupS",function(a){this.spaceGroup=null==a?null:a.getSpaceGroup()},"J.api.SymmetryInterface");Clazz.overrideMethod(c$,"createSpaceGroup",function(a,b,c){this.spaceGroup=J.symmetry.SpaceGroup.createSpaceGroup(a,b,c);null!=this.spaceGroup&&J.util.Logger.debugging&&
J.util.Logger.debug("using generated space group "+this.spaceGroup.dumpInfo(null));return null!=this.spaceGroup},"~N,~S,~A");Clazz.overrideMethod(c$,"haveSpaceGroup",function(){return null!=this.spaceGroup});$_M(c$,"getSpaceGroupInfo",function(a,b){return J.symmetry.SpaceGroup.getInfo(a,b)},"~S,J.api.SymmetryInterface");Clazz.overrideMethod(c$,"getLatticeDesignation",function(){return this.spaceGroup.getLatticeDesignation()});Clazz.overrideMethod(c$,"setFinalOperations",function(a,b,c,d){this.spaceGroup.setFinalOperations(a,
b,c,d)},"~A,~N,~N,~B");Clazz.overrideMethod(c$,"getSpaceGroupOperationCount",function(){return this.spaceGroup.finalOperations.length});Clazz.overrideMethod(c$,"getSpaceGroupOperation",function(a){return this.spaceGroup.finalOperations[a]},"~N");Clazz.overrideMethod(c$,"getSpaceGroupXyz",function(a,b){return this.spaceGroup.finalOperations[a].getXyz(b)},"~N,~B");$_M(c$,"newSpaceGroupPoint",function(a,b,c,d,e,h){null==this.spaceGroup.finalOperations?(this.spaceGroup.operations[a].isFinalized||this.spaceGroup.operations[a].doFinalize(),
this.spaceGroup.operations[a].newPoint(b,c,d,e,h)):this.spaceGroup.finalOperations[a].newPoint(b,c,d,e,h)},"~N,JU.P3,JU.P3,~N,~N,~N");Clazz.overrideMethod(c$,"rotateAxes",function(a,b,c,d){return 0==a?b:this.spaceGroup.finalOperations[a].rotateAxes(b,this.unitCell,c,d)},"~N,~A,JU.P3,JU.M3");$_M(c$,"getSymmetryOperationDescription",function(a,b,c,d,e,h){return this.spaceGroup.operations[b].getDescription(a,c,d,e,h)},"J.modelset.ModelSet,~N,J.api.SymmetryInterface,JU.P3,JU.P3,~S");Clazz.overrideMethod(c$,
"fcoord",function(a){return J.symmetry.SymmetryOperation.fcoord(a)},"JU.T3");Clazz.overrideMethod(c$,"getMatrixFromString",function(a,b,c){return J.symmetry.SymmetryOperation.getMatrixFromString(null,a,b,c)},"~S,~A,~B");Clazz.overrideMethod(c$,"ijkToPoint3f",function(a){var b=new JU.P3;J.util.SimpleUnitCell.ijkToPoint3f(a,b,0);return b},"~N");Clazz.overrideMethod(c$,"getCoordinatesAreFractional",function(){return this.symmetryInfo.coordinatesAreFractional});Clazz.overrideMethod(c$,"getCellRange",
function(){return this.symmetryInfo.cellRange});Clazz.overrideMethod(c$,"getSymmetryInfoString",function(){return this.symmetryInfo.symmetryInfoString});$_M(c$,"getSymmetryOperations",function(){return this.symmetryInfo.symmetryOperations});Clazz.overrideMethod(c$,"isPeriodic",function(){return null==this.symmetryInfo||this.symmetryInfo.isPeriodic()});Clazz.overrideMethod(c$,"setSymmetryInfo",function(a,b){this.symmetryInfo=new J.symmetry.SymmetryInfo;var c=this.symmetryInfo.setSymmetryInfo(b);null!=
c&&(this.setUnitCell(c),b.put("infoUnitCell",this.getUnitCellAsArray(!1)),this.setOffsetPt(b.get("unitCellOffset")),b.containsKey("jmolData")&&this.setUnitCellAllFractionalRelative(!0),c=b.get("matUnitCellOrientation"),null!=c&&this.setUnitCellOrientation(c),J.util.Logger.debugging&&J.util.Logger.debug("symmetryInfos["+a+"]:\n"+this.unitCell.dumpInfo(!0)))},"~N,java.util.Map");$_M(c$,"setUnitCell",function(a){this.unitCell=J.symmetry.UnitCell.newA(a)},"~A");Clazz.overrideMethod(c$,"haveUnitCell",
function(){return null!=this.unitCell});$_M(c$,"getUnitsymmetryInfo",function(){return this.unitCell.dumpInfo(!1)});Clazz.overrideMethod(c$,"setUnitCellOrientation",function(a){this.unitCell.setOrientation(a)},"JU.M3");Clazz.overrideMethod(c$,"unitize",function(a){this.unitCell.unitize(a)},"JU.P3");Clazz.overrideMethod(c$,"toUnitCell",function(a,b){this.unitCell.toUnitCell(a,b)},"JU.P3,JU.P3");$_M(c$,"toCartesian",function(a,b){this.unitCell.toCartesian(a,b)},"JU.T3,~B");Clazz.overrideMethod(c$,"toSupercell",
function(a){return this.unitCell.toSupercell(a)},"JU.P3");$_M(c$,"toFractional",function(a,b){this.unitCell.toFractional(a,b)},"JU.T3,~B");$_M(c$,"getNotionalUnitCell",function(){return this.unitCell.getNotionalUnitCell()});Clazz.overrideMethod(c$,"getUnitCellAsArray",function(a){return this.unitCell.getUnitCellAsArray(a)},"~B");Clazz.overrideMethod(c$,"getTensor",function(a){null==this.unitCell&&(this.unitCell=J.symmetry.UnitCell.newA([1,1,1,90,90,90]));return this.unitCell.getTensor(a)},"~A");Clazz.overrideMethod(c$,
"getUnitCellVertices",function(){return this.unitCell.getVertices()});Clazz.overrideMethod(c$,"getCartesianOffset",function(){return this.unitCell.getCartesianOffset()});Clazz.overrideMethod(c$,"setCartesianOffset",function(a){this.unitCell.setCartesianOffset(a)},"JU.T3");Clazz.overrideMethod(c$,"getFractionalOffset",function(){return this.unitCell.getFractionalOffset()});Clazz.overrideMethod(c$,"setOffsetPt",function(a){this.unitCell.setOffset(a)},"JU.P3");Clazz.overrideMethod(c$,"setOffset",function(a){this.unitCell.setOffset(this.ijkToPoint3f(a))},
"~N");Clazz.overrideMethod(c$,"getUnitCellMultiplier",function(){return this.unitCell.getUnitCellMultiplier()});Clazz.overrideMethod(c$,"getCanonicalCopy",function(a){return this.unitCell.getCanonicalCopy(a)},"~N");Clazz.overrideMethod(c$,"getUnitCellInfoType",function(a){return this.unitCell.getInfo(a)},"~N");Clazz.overrideMethod(c$,"getUnitCellInfo",function(){return this.unitCell.dumpInfo(!1)});Clazz.overrideMethod(c$,"isSlab",function(){return this.unitCell.isSlab()});Clazz.overrideMethod(c$,
"isPolymer",function(){return this.unitCell.isPolymer()});Clazz.overrideMethod(c$,"setMinMaxLatticeParameters",function(a,b){this.unitCell.setMinMaxLatticeParameters(a,b)},"JU.P3i,JU.P3i");Clazz.overrideMethod(c$,"setUnitCellAllFractionalRelative",function(a){this.unitCell.setAllFractionalRelative(a)},"~B");Clazz.overrideMethod(c$,"checkDistance",function(a,b,c,d,e,h,f,k){return this.unitCell.checkDistance(a,b,c,d,e,h,f,k)},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");Clazz.overrideMethod(c$,"getUnitCellVectors",
function(){return this.unitCell.getUnitCellVectors()});Clazz.overrideMethod(c$,"getUnitCell",function(a){var b=new J.symmetry.Symmetry;b.unitCell=J.symmetry.UnitCell.newP(a);return b},"~A");Clazz.overrideMethod(c$,"isSupercell",function(){return this.unitCell.isSupercell()});Clazz.overrideMethod(c$,"getSymmetryOperationInfo",function(a,b,c,d){a=a.get("operations");if(null==a)return"";var e=new JU.SB;b--;for(var h=0;h<a.length;h++)if(!(null==a[h]||0<=b&&b!=h)){if(null!=c)return a[h][3];0<e.length()&&
e.appendC("\n");d||(0>b&&e.appendI(h+1).append("\t"),e.append(a[h][0]).append("\t"));e.append(a[h][2])}0==e.length()&&null!=c&&e.append("draw "+c+"* delete");return e.toString()},"java.util.Map,~N,~S,~B");$_M(c$,"getSpaceGroupInfo",function(a,b,c,d,e,h,f){var k=null,g=null,l=null,j=null;if(null==c){0>=b&&(b=Clazz.instanceOf(e,J.modelset.Atom)?e.modelIndex:a.viewer.getCurrentModelIndex());if(0>b)k="no single current model";else if(null==(l=a.getUnitCell(b)))k="not applicable";null!=k?(g=new java.util.Hashtable,
g.put("spaceGroupInfo",k),g.put("symmetryInfo","")):null==e&&(null==f&&0!=d)&&(g=a.getModelAuxiliaryInfoValue(b,"spaceGroupInfo"));if(null!=g)return g;g=new java.util.Hashtable;null==e&&(null==f&&0==d)&&a.setModelAuxiliaryInfo(b,"spaceGroupInfo",g);c=l.getSpaceGroupName();b=l.getSymmetryOperations();var p="";if(null==b)k="\n no symmetry operations employed";else{this.setSpaceGroup(!1);for(var k="\n"+b.length+" symmetry operations employed:",j=Array(b.length),n=0;n<b.length;n++){var s=this.addSpaceGroupOperation("="+
b[n],n+1);0>s||(p+=";"+b[n],j[n]=0<d&&d-1!=s?null:this.getSymmetryOperationDescription(a,s,l,e,h,f),null!=j[n]&&(k+="\n"+(n+1)+"\t"+j[n][0]+"\t"+j[n][2]))}}p=p.substring(p.indexOf(";")+1);0<=c.indexOf("[--]")&&(c=p)}else g=new java.util.Hashtable;g.put("spaceGroupName",c);a=this.getSpaceGroupInfo(c,l);null!=j&&(g.put("operations",j),g.put("symmetryInfo",k));if(null==a||a.equals("?"))a="could not identify space group from name: "+c+'\nformat: show spacegroup "2" or "P 2c" or "C m m m" or "x, y, z;-x ,-y, -z"';
g.put("spaceGroupInfo",a);return g},"J.modelset.ModelSet,~N,~S,~N,JU.P3,JU.P3,~S");Clazz.overrideMethod(c$,"getSymmetryInfo",function(a,b,c,d,e,h,f,k,g,l){if(null!=k)return a.getSymmetryOperation(b,null,h,f,k,null==g?"sym":g,1826248715==l);if(null==e){b=d.getSymmetryOperations();if(null==b||0==h||Math.abs(h)>b.length)return"";e=0<h?b[h-1]:b[-1-h]}else h=0;b=a.getSymTemp(!1);b.setSpaceGroup(!1);h=b.addSpaceGroupOperation((0>h?"!":"=")+e,Math.abs(h));if(0>h)return"";b.setUnitCell(d.getNotionalUnitCell());
f=JU.P3.newP(null==f?a.atoms[c]:f);if(135266320==l){d.toFractional(f,!1);if(Float.isNaN(f.x))return"";l=new JU.P3;b.newSpaceGroupPoint(h,f,l,0,0,0);b.toCartesian(l,!1);return l}f=b.getSymmetryOperationDescription(a,h,d,f,k,null==g?"sym":g);a=f[9].intValue();switch(l){case 135266306:return f;case 1073742001:return[f[0],f[1],f[2],J.util.Escape.eP(f[4]),J.util.Escape.eP(f[5]),J.util.Escape.eP(f[6]),J.util.Escape.eP(f[7]),J.util.Escape.eP(f[8]),""+f[9],""+J.util.Escape.e(f[10])];case 1073741982:return f[0];
default:case 1826248715:return f[2];case 135176:return f[3];case 1073742178:return f[5];case 12289:return f[6];case 135266320:return f[7];case 1073741854:case 135266319:return 0==a==(135266319==l)?f[8]:null;case 135266305:return f[9];case 12:return f[10]}},"J.modelset.ModelSet,~N,~N,J.api.SymmetryInterface,~S,~N,JU.P3,JU.P3,~S,~N");Clazz.overrideMethod(c$,"notInCentroid",function(a,b,c){try{var d=new JU.BS,e=b.nextSetBit(0),h=a.getMolecules(),f=h.length,k=a.atoms,g=h[f-1].firstAtomIndex==a.models[k[e].modelIndex].firstAtomIndex,
l=new JU.P3,j=1==c[6];a=f;a:for(;0<=--a&&b.get(h[a].firstAtomIndex);){var p=h[a].atomList;l.set(0,0,0);for(var e=0,n=p.nextSetBit(0);0<=n;n=p.nextSetBit(n+1))if(g||j)if(l.setT(k[n]),this.isNotCentroid(l,1,c,j))g&&d.set(n);else{if(!g)continue a}else l.add(k[n]),e++;(j||0<e&&this.isNotCentroid(l,e,c,!1))&&d.or(p)}return d}catch(s){if(Clazz.exceptionOf(s,Exception))return null;throw s;}},"J.modelset.ModelSet,JU.BS,~A");$_M(c$,"isNotCentroid",($fz=function(a,b,c,d){a.scale(1/b);this.toFractional(a,!1);
return d?a.x+5E-6<=c[0]||a.x-5E-6>c[3]||a.y+5E-6<=c[1]||a.y-5E-6>c[4]||a.z+5E-6<=c[2]||a.z-5E-6>c[5]:a.x+5E-6<=c[0]||a.x+5E-5>c[3]||a.y+5E-6<=c[1]||a.y+5E-5>c[4]||a.z+5E-6<=c[2]||a.z+5E-5>c[5]},$fz.isPrivate=!0,$fz),"JU.P3,~N,~A,~B");Clazz.overrideMethod(c$,"checkUnitCell",function(a,b,c,d){a.toFractional(c,d);return c.x>=b.x-1-0.02&&c.x<=b.x+0.02&&c.y>=b.y-1-0.02&&c.y<=b.y+0.02&&c.z>=b.z-1-0.02&&c.z<=b.z+0.02},"J.api.SymmetryInterface,JU.P3,JU.P3,~B");Clazz.overrideMethod(c$,"unitCellEquals",function(a){return a.unitCell.isSameAs(this.unitCell)},
"J.api.SymmetryInterface");Clazz.overrideMethod(c$,"addLatticeVectors",function(a){this.spaceGroup.addLatticeVectors(a)},"JU.List");Clazz.overrideMethod(c$,"getLatticeOp",function(){return this.spaceGroup.latticeOp});Clazz.overrideMethod(c$,"getOperationGammaIS",function(a){return this.spaceGroup.finalOperations[a].gammaIS},"~N");Clazz.overrideMethod(c$,"getSiteMultiplicity",function(a){return this.spaceGroup.getSiteMultiplicity(a,this.unitCell)},"JU.P3")});Clazz.declarePackage("J.symmetry");
Clazz.load(["JU.P3","$.V3"],"J.symmetry.PointGroup","java.lang.Float java.util.Hashtable JU.List $.SB J.util.BSUtil $.Escape $.Logger $.Quaternion $.Txt".split(" "),function(){c$=Clazz.decorateAsClass(function(){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.2;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.elements=this.atoms=this.points=this.center=null;this.maxElement=0;this.eCounts=null;this.nOps=0;Clazz.isClassDefined("J.symmetry.PointGroup.Operation")||J.symmetry.PointGroup.$PointGroup$Operation$();Clazz.instantialize(this,arguments)},J.symmetry,"PointGroup");Clazz.prepareFields(c$,function(){this.nAxes=Clazz.newIntArray(J.symmetry.PointGroup.maxAxis,0);this.axes=Array(J.symmetry.PointGroup.maxAxis);this.vTemp=new JU.V3;this.center=
new JU.P3});$_M(c$,"getName",function(){return this.name});c$.getPointGroup=$_M(c$,"getPointGroup",function(a,b,c,d,e,h){var f=new J.symmetry.PointGroup;return f.set(a,b,c,d,e,h)?f:a},"J.symmetry.PointGroup,~A,JU.BS,~B,~N,~N");Clazz.makeConstructor(c$,($fz=function(){},$fz.isPrivate=!0,$fz));$_M(c$,"isEqual",($fz=function(a){if(null==a||this.linearTolerance!=a.linearTolerance||this.distanceTolerance!=a.distanceTolerance||this.nAtoms!=a.nAtoms||!this.bsAtoms.equals(a.bsAtoms))return!1;for(var b=0;b<
this.nAtoms;b++)if(this.elements[b]!=a.elements[b]||0!=this.points[b].distance(a.points[b]))return!1;return!0},$fz.isPrivate=!0,$fz),"J.symmetry.PointGroup");$_M(c$,"set",($fz=function(a,b,c,d,e,h){this.distanceTolerance=e;this.linearTolerance=h;this.bsAtoms=c;this.cosTolerance=Math.cos(3.141592653589793*(h/180));if(!this.getAtomsAndElements(b,c))return J.util.Logger.error("Too many atoms for point group calculation"),this.name="point group not determined -- atomCount > 100 -- select fewer atoms and try again.",
!0;this.getElementCounts();if(d){b=Array(this.points.length);for(c=this.points.length;0<=--c;)b[c]=JU.P3.newP(this.points[c]),d=this.atoms[c].getVibrationVector(),null!=d&&b[c].add(d);this.points=b}if(this.isEqual(a))return!1;this.findInversionCenter();if(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]++]=Clazz.innerTypeInstance(J.symmetry.PointGroup.Operation,this,null,this.vTemp)),!0;this.axes[0]=Array(15);a=0;this.findCAxes();a=this.findPlanes();this.findAdditionalAxes(a);b=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<a?this.haveInversionCenter?"Th":"Td":"T";else if(2>b){if(1==a)return this.name="Cs",!0;if(this.haveInversionCenter)return this.name=
"Ci",!0;this.name="C1"}else 1==b%2&&0<this.nAxes[16]||0==b%2&&1<this.nAxes[16]?(this.principalAxis=this.setPrincipalAxis(b,a),0==a?this.name=14>b?"S"+b:"D"+(b-14):(b=14>b?Clazz.doubleToInt(b/2):b-14,this.name=a==b?"D"+b+"d":"D"+b+"h")):0==a?(this.principalAxis=this.axes[b][0],this.name=14>b?"S"+b:"C"+(b-14)):a==b-14?(this.principalAxis=this.axes[b][0],this.name="C"+a+"v"):(this.principalAxis=this.axes[14>b?b+14:b][0],this.principalPlane=this.axes[0][0],this.name="C"+(14>b?b/2:b-14)+"h");return!0},
$fz.isPrivate=!0,$fz),"J.symmetry.PointGroup,~A,JU.BS,~B,~N,~N");$_M(c$,"setPrincipalAxis",($fz=function(a,b){var c=this.setPrincipalPlane(a,b);if(0==b&&14>a||1==this.nAxes[a])return 0<b&&14>a&&(a=14+Clazz.doubleToInt(a/2)),this.axes[a][0];if(null==c)return null;for(var d=0;d<this.nAxes[16];d++)if(this.isParallel(c.normalOrAxis,this.axes[16][d].normalOrAxis))return 0!=d&&(c=this.axes[16][0],this.axes[16][0]=this.axes[16][d],this.axes[16][d]=c),this.axes[16][0];return null},$fz.isPrivate=!0,$fz),"~N,~N");
$_M(c$,"setPrincipalPlane",($fz=function(a,b){if(1==b)return this.principalPlane=this.axes[0][0];if(0==b||b==a-14)return null;for(var c=0;c<b;c++)for(var d=0,e=0;d<b;d++)if(this.isPerpendicular(this.axes[0][c].normalOrAxis,this.axes[0][d].normalOrAxis)&&2<++e)return 0!=c&&(d=this.axes[0][0],this.axes[0][0]=this.axes[0][c],this.axes[0][c]=d),this.principalPlane=this.axes[0][0];return null},$fz.isPrivate=!0,$fz),"~N,~N");$_M(c$,"getAtomsAndElements",($fz=function(a,b){var c=J.util.BSUtil.cardinalityOf(b);
if(100<c)return!1;this.points=Array(c);this.atoms=Array(c);this.elements=Clazz.newIntArray(c,0);if(0==c)return!0;this.nAtoms=0;for(c=b.nextSetBit(0);0<=c;c=b.nextSetBit(c+1)){this.points[this.nAtoms]=JU.P3.newP(a[c]);this.atoms[this.nAtoms]=a[c];var d=1+Math.max(3,a[c].getCovalentBondCount());this.elements[this.nAtoms]=a[c].getElementNumber()*d;this.center.add(this.points[this.nAtoms++])}this.center.scale(1/this.nAtoms);for(c=this.nAtoms;0<=--c;)d=this.center.distance(this.points[c]),d<this.distanceTolerance&&
(this.centerAtomIndex=c),this.radius=Math.max(this.radius,d);return!0},$fz.isPrivate=!0,$fz),"~A,JU.BS");$_M(c$,"findInversionCenter",($fz=function(){if(this.haveInversionCenter=this.checkOperation(null,this.center,-1))this.axes[1]=Array(1),this.axes[1][0]=Clazz.innerTypeInstance(J.symmetry.PointGroup.Operation,this,null)},$fz.isPrivate=!0,$fz));$_M(c$,"checkOperation",($fz=function(a,b,c){var d=new JU.P3,e=0;c=14>c;var h=this.points.length;a:for(;0<=--h&&e<this.points.length;)if(h==this.centerAtomIndex)e++;
else{var f=this.points[h],k=this.elements[h];null!=a?(d.setT(f),d.sub(b),a.transformP2(d,d).add(b)):d.setT(f);c&&(this.vTemp.sub2(b,d),d.scaleAdd2(2,this.vTemp,d));if((null!=a||c)&&d.distance(f)<this.distanceTolerance)e++;else for(f=this.points.length;0<=--f;)if(!(f==h||this.elements[f]!=k)&&d.distance(this.points[f])<this.distanceTolerance){e++;continue a}}return e==this.points.length},$fz.isPrivate=!0,$fz),"J.util.Quaternion,JU.P3,~N");$_M(c$,"isLinear",($fz=function(a){var b=null;if(2>a.length)return!1;
for(var c=a.length;0<=--c;)if(c!=this.centerAtomIndex)if(null==b)b=new JU.V3,b.sub2(a[c],this.center),b.normalize(),this.vTemp.setT(b);else if(this.vTemp.sub2(a[c],this.center),this.vTemp.normalize(),!this.isParallel(b,this.vTemp))return!1;return!0},$fz.isPrivate=!0,$fz),"~A");$_M(c$,"isParallel",($fz=function(a,b){return Math.abs(a.dot(b))>=this.cosTolerance},$fz.isPrivate=!0,$fz),"JU.V3,JU.V3");$_M(c$,"isPerpendicular",($fz=function(a,b){return Math.abs(a.dot(b))<=1-this.cosTolerance},$fz.isPrivate=
!0,$fz),"JU.V3,JU.V3");$_M(c$,"getElementCounts",($fz=function(){for(var a=this.points.length;0<=--a;){var b=this.elements[a];b>this.maxElement&&(this.maxElement=b)}this.eCounts=Clazz.newIntArray(++this.maxElement,0);for(a=this.points.length;0<=--a;)this.eCounts[this.elements[a]]++},$fz.isPrivate=!0,$fz));$_M(c$,"findCAxes",($fz=function(){for(var a=new JU.V3,b=new JU.V3,c=new JU.V3,d=this.points.length;0<=--d;)if(d!=this.centerAtomIndex)for(var e=this.points[d],h=this.elements[d],f=this.points.length;--f>
d;){var k=this.points[f];if(this.elements[f]==h)if(a.sub2(e,this.center),b.sub2(k,this.center),a.normalize(),b.normalize(),this.isParallel(a,b))this.getAllAxes(a);else{this.nAxes[16]<J.symmetry.PointGroup.axesMaxN[16]&&(c.setT(e),c.add(k),c.scale(0.5),c.sub(this.center),this.getAllAxes(c));var k=6.283185307179586/a.angle(b),g=Clazz.doubleToInt(Math.floor(k+0.01));if(0.02>=k-g&&!((g+=14)>=J.symmetry.PointGroup.maxAxis)&&this.nAxes[g]<J.symmetry.PointGroup.axesMaxN[g])c.cross(a,b),this.checkAxisOrder(g,
c,this.center)}}e=Array(2*this.nAxes[16]);for(d=0;d<e.length;d++)e[d]=new JU.V3;for(d=f=0;d<this.nAxes[16];d++)e[f++].setT(this.axes[16][d].normalOrAxis),e[f].setT(this.axes[16][d].normalOrAxis),e[f++].scale(-1);for(d=e.length;2<=--d;)for(f=d;1<=--f;)for(h=f;0<=--h;)c.setT(e[d]),c.add(e[f]),c.add(e[h]),1>c.length()||this.checkAxisOrder(17,c,this.center);f=2147483647;e=-1;for(d=0;d<this.maxElement;d++)this.eCounts[d]<f&&2<this.eCounts[d]&&(f=this.eCounts[d],e=d);d=0;a:for(;d<this.points.length-2;d++)if(this.elements[d]==
e)for(f=d+1;f<this.points.length-1;f++)if(this.elements[f]==e)for(h=f+1;h<this.points.length;h++)if(this.elements[h]==e&&(a.sub2(this.points[d],this.points[f]),b.sub2(this.points[d],this.points[h]),a.normalize(),b.normalize(),c.cross(a,b),this.getAllAxes(c),a.setT(this.points[d]),a.add(this.points[f]),a.add(this.points[h]),a.normalize(),this.isParallel(a,c)||this.getAllAxes(a),this.nAxes[19]==J.symmetry.PointGroup.axesMaxN[19]))break a;e=Array(this.maxElement);for(d=this.points.length;0<=--d;){h=
this.elements[d];if(null==e[h])e[h]=new JU.V3;else if(this.haveInversionCenter)continue;e[h].add(this.points[d])}if(!this.haveInversionCenter)for(d=0;d<this.maxElement;d++)null!=e[d]&&e[d].scale(1/this.eCounts[d]);for(d=0;d<this.maxElement;d++)if(null!=e[d])for(f=0;f<this.maxElement;f++)d==f||null==e[f]||(this.haveInversionCenter?a.cross(e[d],e[f]):(a.setT(e[d]),a.sub(e[f])),this.checkAxisOrder(16,a,this.center));return this.getHighestOrder()},$fz.isPrivate=!0,$fz));$_M(c$,"getAllAxes",($fz=function(a){for(var b=
16;b<J.symmetry.PointGroup.maxAxis;b++)this.nAxes[b]<J.symmetry.PointGroup.axesMaxN[b]&&this.checkAxisOrder(b,a,this.center)},$fz.isPrivate=!0,$fz),"JU.V3");$_M(c$,"getHighestOrder",($fz=function(){for(var a=0,a=14;1<--a&&0==this.nAxes[a];);if(1<a)return a+14<J.symmetry.PointGroup.maxAxis&&0<this.nAxes[a+14]?a+14:a;for(a=J.symmetry.PointGroup.maxAxis;1<--a&&0==this.nAxes[a];);return a},$fz.isPrivate=!0,$fz));$_M(c$,"checkAxisOrder",($fz=function(a,b,c){switch(a){case 22:if(0<this.nAxes[17])return!1;
case 20:case 18:if(0<this.nAxes[19])return!1;break;case 17:if(0<this.nAxes[22])return!1;break;case 19:if(0<this.nAxes[18]||0<this.nAxes[20]||0<this.nAxes[22])return!1}b.normalize();if(this.haveAxis(a,b))return!1;var d=J.util.Quaternion.newVA(b,(14>a?180:0)+Clazz.doubleToInt(360/(a%14)));if(!this.checkOperation(d,c,a))return!1;this.addAxis(a,b);switch(a){case 16:this.checkAxisOrder(4,b,c);break;case 17:this.checkAxisOrder(3,b,c);this.haveInversionCenter&&this.addAxis(6,b);break;case 18:this.addAxis(16,
b);this.checkAxisOrder(4,b,c);this.checkAxisOrder(8,b,c);break;case 19:this.checkAxisOrder(5,b,c);this.haveInversionCenter&&this.addAxis(10,b);break;case 20:this.addAxis(16,b);this.addAxis(17,b);this.checkAxisOrder(3,b,c);this.checkAxisOrder(6,b,c);this.checkAxisOrder(12,b,c);break;case 22:this.addAxis(16,b),this.addAxis(18,b)}return!0},$fz.isPrivate=!0,$fz),"~N,JU.V3,JU.P3");$_M(c$,"addAxis",($fz=function(a,b){this.haveAxis(a,b)||(null==this.axes[a]&&(this.axes[a]=Array(J.symmetry.PointGroup.axesMaxN[a])),
this.axes[a][this.nAxes[a]++]=Clazz.innerTypeInstance(J.symmetry.PointGroup.Operation,this,null,b,a))},$fz.isPrivate=!0,$fz),"~N,JU.V3");$_M(c$,"haveAxis",($fz=function(a,b){if(this.nAxes[a]==J.symmetry.PointGroup.axesMaxN[a])return!0;if(0<this.nAxes[a])for(var c=this.nAxes[a];0<=--c;)if(this.isParallel(b,this.axes[a][c].normalOrAxis))return!0;return!1},$fz.isPrivate=!0,$fz),"~N,JU.V3");$_M(c$,"findPlanes",($fz=function(){for(var a=new JU.P3,b=new JU.V3,c=new JU.V3,d=new JU.V3,e=0,h=1<this.getHighestOrder(),
f=this.points.length;0<=--f;)if(f!=this.centerAtomIndex)for(var k=this.points[f],g=this.elements[f],l=this.points.length;--l>f;)if(!(h&&this.elements[l]!=g)&&(e=this.points[l],a.add2(k,e),a.scale(0.5),b.sub2(k,this.center),c.sub2(e,this.center),this.isParallel(b,c)||(d.cross(b,c),d.normalize(),this.getPlane(d)),d.setT(e),d.sub(k),d.normalize(),e=this.getPlane(d),e==J.symmetry.PointGroup.axesMaxN[0]))return e;if(h)for(f=16;f<J.symmetry.PointGroup.maxAxis;f++)for(l=0;l<this.nAxes[f];l++)e=this.getPlane(this.axes[f][l].normalOrAxis);
return e},$fz.isPrivate=!0,$fz));$_M(c$,"getPlane",($fz=function(a){!this.haveAxis(0,a)&&this.checkOperation(J.util.Quaternion.newVA(a,180),this.center,-1)&&(this.axes[0][this.nAxes[0]++]=Clazz.innerTypeInstance(J.symmetry.PointGroup.Operation,this,null,a));return this.nAxes[0]},$fz.isPrivate=!0,$fz),"JU.V3");$_M(c$,"findAdditionalAxes",($fz=function(a){var b=this.axes[0],c=0;if(1<a&&(c=a+14)<J.symmetry.PointGroup.maxAxis&&0==this.nAxes[c])this.vTemp.cross(b[0].normalOrAxis,b[1].normalOrAxis),!this.checkAxisOrder(c,
this.vTemp,this.center)&&2<a&&(this.vTemp.cross(b[1].normalOrAxis,b[2].normalOrAxis),this.checkAxisOrder(c-1,this.vTemp,this.center));if(0==this.nAxes[16]&&2<a)for(c=0;c<a-1;c++)for(var d=c+1;d<a;d++)this.vTemp.add2(b[1].normalOrAxis,b[2].normalOrAxis),this.checkAxisOrder(16,this.vTemp,this.center)},$fz.isPrivate=!0,$fz),"~N");$_M(c$,"getInfo",function(a,b,c,d,e,h){this.info=c?new java.util.Hashtable:null;var f=new JU.V3,k;0==h&&(h=1);this.scale=h;c=Clazz.newIntArray(4,2,0);for(var g=1;g<J.symmetry.PointGroup.maxAxis;g++)for(var l=
this.nAxes[g];0<=--l;)c[this.axes[g][l].type][0]++;var j=(new JU.SB).append("# ").appendI(this.nAtoms).append(" atoms\n");if(b){this.drawType=d=(b=null!=d&&0<d.length)?d:"";this.drawIndex=e;var p=d.equalsIgnoreCase("Cn"),n=d.equalsIgnoreCase("Sn");j.append("set perspectivedepth off;\n");var s="_"+a+"_";b||j.append("draw pg0").append(s).append("* delete;draw pgva").append(s).append("* delete;draw pgvp").append(s).append("* delete;");if(!b||d.equalsIgnoreCase("Ci"))j.append("draw pg0").append(s).append(this.haveInversionCenter?
"inv ":" ").append(J.util.Escape.eP(this.center)).append(this.haveInversionCenter?'"i";\n':";\n");for(var q=0.1,g=2;g<J.symmetry.PointGroup.maxAxis;g++)if(14==g&&(q=0.1),0!=this.nAxes[g]){a=this.axes[g][0].getLabel();var q=q+0.25,t=h*this.radius+q;if(!b||d.equalsIgnoreCase(a)||p&&14<=g||n&&14>g)for(l=0;l<this.nAxes[g];l++)if(!(0<e&&l+1!=e)){k=this.axes[g][l];f.setT(k.normalOrAxis);f.add(this.center);2==k.type&&(t=-t);j.append("draw pgva").append(s).append(a).append("_").appendI(l+1).append(" width 0.05 scale ").appendF(t).append(" ").append(J.util.Escape.eP(f));
f.scaleAdd2(-2,k.normalOrAxis,f);var r=null!=this.principalAxis&&k.index==this.principalAxis.index;j.append(J.util.Escape.eP(f)).append('"').append(a).append(r?"*":"").append('" color ').append(r?"red":2==k.type?"blue":"yellow").append(";\n")}}if(!b||d.equalsIgnoreCase("Cs"))for(l=0;l<this.nAxes[0];l++)0<e&&l+1!=e||(k=this.axes[0][l],j.append("draw pgvp").append(s).appendI(l+1).append("disk scale ").appendF(2*h*this.radius).append(" CIRCLE PLANE ").append(J.util.Escape.eP(this.center)),f.setT(k.normalOrAxis),
f.add(this.center),j.append(J.util.Escape.eP(f)).append(" color translucent yellow;\n"),f.setT(k.normalOrAxis),f.add(this.center),j.append("draw pgvp").append(s).appendI(l+1).append("ring width 0.05 scale ").appendF(2*h*this.radius).append(" arc ").append(J.util.Escape.eP(f)),f.scaleAdd2(-2,k.normalOrAxis,f),j.append(J.util.Escape.eP(f)),f.x+=0.011,f.y+=0.012,f.z+=0.013,j.append(J.util.Escape.eP(f)).append("{0 360 0.5} color ").append(null!=this.principalPlane&&k.index==this.principalPlane.index?
"red":"blue").append(";\n"));j.append("# name=").append(this.name);j.append(", nCi=").appendI(this.haveInversionCenter?1:0);j.append(", nCs=").appendI(this.nAxes[0]);j.append(", nCn=").appendI(c[1][0]);j.append(", nSn=").appendI(c[2][0]);j.append(": ");for(g=J.symmetry.PointGroup.maxAxis;2<=--g;)0<this.nAxes[g]&&(j.append(" n").append(14>g?"S":"C").appendI(g%14),j.append("=").appendI(this.nAxes[g]));j.append(";\n");return this.drawInfo=j.toString()}l=0;d=1;g=this.haveInversionCenter?"Ci":"center";
this.haveInversionCenter&&d++;null==this.info?j.append("\n\n").append(this.name).append("\t").append(g).append("\t").append(J.util.Escape.eP(this.center)):this.info.put(g,this.center);for(g=J.symmetry.PointGroup.maxAxis;0<=--g;)if(0<this.nAxes[g]){l=J.symmetry.PointGroup.nUnique[g];a=this.axes[g][0].getLabel();null==this.info?j.append("\n\n").append(this.name).append("\tn").append(a).append("\t").appendI(this.nAxes[g]).append("\t").appendI(l):this.info.put("n"+a,Integer.$valueOf(this.nAxes[g]));l*=
this.nAxes[g];d+=l;c[this.axes[g][0].type][1]+=l;e=null==this.info?null:new JU.List;for(l=0;l<this.nAxes[g];l++)null==e?j.append("\n").append(this.name).append("\t").append(a).append("_").appendI(l+1).append("\t").appendO(this.axes[g][l].normalOrAxis):e.addLast(this.axes[g][l].normalOrAxis);null!=this.info&&this.info.put(a,e)}if(null==this.info)return j.append("\n"),j.append("\n").append(this.name).append("\ttype\tnType\tnUnique"),j.append("\n").append(this.name).append("\tE\t  1\t  1"),l=this.haveInversionCenter?
1:0,j.append("\n").append(this.name).append("\tCi\t  ").appendI(l).append("\t  ").appendI(l),j.append("\n").append(this.name).append("\tCs\t"),J.util.Txt.rightJustify(j,"    ",this.nAxes[0]+"\t"),J.util.Txt.rightJustify(j,"    ",this.nAxes[0]+"\n"),j.append(this.name).append("\tCn\t"),J.util.Txt.rightJustify(j,"    ",c[1][0]+"\t"),J.util.Txt.rightJustify(j,"    ",c[1][1]+"\n"),j.append(this.name).append("\tSn\t"),J.util.Txt.rightJustify(j,"    ",c[2][0]+"\t"),J.util.Txt.rightJustify(j,"    ",c[2][1]+
"\n"),j.append(this.name).append("\t\tTOTAL\t"),J.util.Txt.rightJustify(j,"    ",d+"\n"),this.textInfo=j.toString();this.info.put("name",this.name);this.info.put("nAtoms",Integer.$valueOf(this.nAtoms));this.info.put("nTotal",Integer.$valueOf(d));this.info.put("nCi",Integer.$valueOf(this.haveInversionCenter?1:0));this.info.put("nCs",Integer.$valueOf(this.nAxes[0]));this.info.put("nCn",Integer.$valueOf(c[1][0]));this.info.put("nSn",Integer.$valueOf(c[2][0]));this.info.put("distanceTolerance",Float.$valueOf(this.distanceTolerance));
this.info.put("linearTolerance",Float.$valueOf(this.linearTolerance));this.info.put("detail",j.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,~B,~B,~S,~N,~N");$_M(c$,"isDrawType",function(a,b,c){return null!=this.drawInfo&&this.drawType.equals(null==a?"":a)&&
this.drawIndex==b&&this.scale==c},"~S,~N,~N");c$.$PointGroup$Operation$=function(){Clazz.pu$h();c$=Clazz.decorateAsClass(function(){Clazz.prepareCallback(this,arguments);this.index=this.order=this.type=0;this.normalOrAxis=null;Clazz.instantialize(this,arguments)},J.symmetry.PointGroup,"Operation");Clazz.makeConstructor(c$,function(){this.index=++this.b$["J.symmetry.PointGroup"].nOps;this.type=3;this.order=1;J.util.Logger.debugging&&J.util.Logger.debug("new operation -- "+J.symmetry.PointGroup.typeNames[this.type])});
Clazz.makeConstructor(c$,function(a,b){this.index=++this.b$["J.symmetry.PointGroup"].nOps;this.type=14>b?2:1;this.order=b%14;this.normalOrAxis=J.util.Quaternion.newVA(a,180).getNormal();J.util.Logger.debugging&&J.util.Logger.debug("new operation -- "+(this.order==b?"S":"C")+this.order+" "+this.normalOrAxis)},"JU.V3,~N");Clazz.makeConstructor(c$,function(a){null!=a&&(this.index=++this.b$["J.symmetry.PointGroup"].nOps,this.type=0,this.normalOrAxis=J.util.Quaternion.newVA(a,180).getNormal(),J.util.Logger.debugging&&
J.util.Logger.debug("new operation -- plane "+this.normalOrAxis))},"JU.V3");$_M(c$,"getLabel",function(){switch(this.type){case 0:return"Cs";case 2:return"S"+this.order;default:return"C"+this.order}});c$=Clazz.p0p()};Clazz.defineStatics(c$,"axesMaxN",[15,0,0,1,3,1,10,0,1,0,6,0,1,0,0,0,15,10,6,6,10,0,1],"nUnique",[1,0,0,2,2,4,2,0,4,0,4,0,4,0,0,0,1,2,2,4,2,0,4],"s3",3,"s4",4,"s5",5,"s6",6,"s8",8,"s10",10,"s12",12,"firstProper",14,"c2",16,"c3",17,"c4",18,"c5",19,"c6",20,"c8",22);c$.maxAxis=c$.prototype.maxAxis=
J.symmetry.PointGroup.axesMaxN.length;Clazz.defineStatics(c$,"ATOM_COUNT_MAX",100,"OPERATION_PLANE",0,"OPERATION_PROPER_AXIS",1,"OPERATION_IMPROPER_AXIS",2,"OPERATION_INVERSION_CENTER",3,"typeNames",["plane","proper axis","improper axis","center of inversion"])});Clazz.declarePackage("J.symmetry");
Clazz.load(["java.util.Hashtable"],"J.symmetry.SpaceGroup","java.lang.Character java.util.Arrays JU.ArrayUtil $.List $.M4 $.P3 $.ParserJS $.SB J.symmetry.HallInfo $.HallTranslation $.SymmetryOperation J.util.Logger $.Parser $.Txt".split(" "),function(){c$=Clazz.decorateAsClass(function(){this.index=0;this.name="unknown!";this.hmSymbolAbbrShort=this.hmSymbolAlternative=this.hmSymbolAbbr=this.hmSymbolExt=this.hmSymbolFull=this.hmSymbol=this.hallSymbol=null;this.axisChoice=this.uniqueAxis=this.ambiguityType=
"\x00";this.hallInfo=this.intlTableNumberExt=this.intlTableNumberFull=this.intlTableNumber=null;this.latticeParameter=0;this.latticeCode="\x00";this.finalOperations=this.operations=null;this.operationCount=0;this.latticeOp=-1;this.xyzList=null;this.modulationDimension=0;this.doNormalize=!0;Clazz.instantialize(this,arguments)},J.symmetry,"SpaceGroup");Clazz.prepareFields(c$,function(){this.xyzList=new java.util.Hashtable});c$.getNull=$_M(c$,"getNull",function(){J.symmetry.SpaceGroup.getSpaceGroups();
return new J.symmetry.SpaceGroup(null)});Clazz.makeConstructor(c$,($fz=function(a){this.index=($t$=++J.symmetry.SpaceGroup.sgIndex,J.symmetry.SpaceGroup.prototype.sgIndex=J.symmetry.SpaceGroup.sgIndex,$t$);null==a?this.addSymmetry("x,y,z",0):this.buildSpaceGroup(a)},$fz.isPrivate=!0,$fz),"~S");$_M(c$,"set",function(a){this.doNormalize=a;return this},"~B");c$.createSpaceGroup=$_M(c$,"createSpaceGroup",function(a,b,c){var d=null;0<=a?d=J.symmetry.SpaceGroup.getSpaceGroups()[a]:(d=J.symmetry.SpaceGroup.determineSpaceGroupNA(b,
c),null==d&&(d=J.symmetry.SpaceGroup.createSpaceGroupN(b)));null!=d&&d.generateAllOperators(null);return d},"~N,~S,~A");$_M(c$,"addSymmetry",function(a,b){a=a.toLowerCase();return 0>a.indexOf("[[")&&0>a.indexOf("x4")&&(0>a.indexOf("x")||0>a.indexOf("y")||0>a.indexOf("z"))?-1:this.addOperation(a,b)},"~S,~N");$_M(c$,"setFinalOperations",function(a,b,c,d){if(null==this.hallInfo&&0!=this.latticeParameter){var e=new J.symmetry.HallInfo(J.symmetry.HallTranslation.getHallLatticeEquivalent(this.latticeParameter));
this.generateAllOperators(e)}this.finalOperations=null;this.index>=J.symmetry.SpaceGroup.getSpaceGroups().length&&(e=this.getDerivedSpaceGroup(),null!=e&&(this.name=e.getName()));this.finalOperations=Array(this.operationCount);if(d&&0<c&&null!=a){this.finalOperations[0]=new J.symmetry.SymmetryOperation(this.operations[0],a,b,c,!0);var e=a[b],h=JU.P3.newP(e);this.finalOperations[0].transform(h);if(1E-4<h.distance(e))for(var f=0;f<c;f++)e=a[b+f],h.setT(e),this.finalOperations[0].transform(h),e.setT(h)}for(f=
0;f<this.operationCount;f++)this.finalOperations[f]=new J.symmetry.SymmetryOperation(this.operations[f],a,b,c,d)},"~A,~N,~N,~B");$_M(c$,"getOperationCount",function(){return this.finalOperations.length});$_M(c$,"getOperation",function(a){return this.finalOperations[a]},"~N");$_M(c$,"getXyz",function(a,b){return this.finalOperations[a].getXyz(b)},"~N,~B");$_M(c$,"newPoint",function(a,b,c,d,e,h){this.finalOperations[a].newPoint(b,c,d,e,h)},"~N,JU.P3,JU.P3,~N,~N,~N");c$.getInfo=$_M(c$,"getInfo",function(a,
b){var c;if(null!=b){0<=a.indexOf("[")&&(a=a.substring(0,a.indexOf("[")).trim());if(a.equals("unspecified!"))return"no space group identified in file";c=J.symmetry.SpaceGroup.determineSpaceGroupNA(a,b.getNotionalUnitCell())}else{if(a.equalsIgnoreCase("ALL"))return J.symmetry.SpaceGroup.dumpAll();if(a.equalsIgnoreCase("ALLSEITZ"))return J.symmetry.SpaceGroup.dumpAllSeitz();c=J.symmetry.SpaceGroup.determineSpaceGroupN(a);if(null==c)c=J.symmetry.SpaceGroup.createSpaceGroupN(a);else{for(var d=new JU.SB;null!=
c;)d.append(c.dumpInfo(null)),c=J.symmetry.SpaceGroup.determineSpaceGroupNS(a,c);return d.toString()}}return null==c?"?":c.dumpInfo(b)},"~S,J.api.SymmetryInterface");$_M(c$,"dumpInfo",function(){var a=this.dumpCanonicalSeitzList();if(Clazz.instanceOf(a,J.symmetry.SpaceGroup))return a.dumpInfo(null);var b=(new JU.SB).append("\nHermann-Mauguin symbol: ");b.append(this.hmSymbol).append(0<this.hmSymbolExt.length?":"+this.hmSymbolExt:"").append("\ninternational table number: ").append(this.intlTableNumber).append(0<
this.intlTableNumberExt.length?":"+this.intlTableNumberExt:"").append("\n\n").appendI(this.operationCount).append(" operators").append(!this.hallInfo.hallSymbol.equals("--")?" from Hall symbol "+this.hallInfo.hallSymbol:"").append(": ");for(var c=0;c<this.operationCount;c++)b.append("\n").append(this.operations[c].xyz);b.append("\n\n").append(null==this.hallInfo?"invalid Hall symbol":this.hallInfo.dumpInfo());b.append("\n\ncanonical Seitz: ").append(a).append("\n----------------------------------------------------\n");
return b.toString()},"J.api.SymmetryInterface");$_M(c$,"getName",function(){return this.name});$_M(c$,"getLatticeDesignation",function(){return this.latticeCode+": "+J.symmetry.HallTranslation.getLatticeDesignation(this.latticeParameter)});$_M(c$,"setLatticeParam",function(a){this.latticeParameter=a;this.latticeCode=J.symmetry.HallTranslation.getLatticeCode(a);10<a&&(this.latticeParameter=-J.symmetry.HallTranslation.getLatticeIndex(this.latticeCode))},"~N");$_M(c$,"dumpCanonicalSeitzList",($fz=function(){null==
this.hallInfo&&(this.hallInfo=new J.symmetry.HallInfo(this.hallSymbol));this.generateAllOperators(null);var a=this.getCanonicalSeitzList();if(this.index>=J.symmetry.SpaceGroup.spaceGroupDefinitions.length){var b=J.symmetry.SpaceGroup.findSpaceGroup(a);if(null!=b)return b}return(0<=this.index&&this.index<J.symmetry.SpaceGroup.spaceGroupDefinitions.length?this.hallSymbol+" = ":"")+a},$fz.isPrivate=!0,$fz));$_M(c$,"getDerivedSpaceGroup",function(){if(0<=this.index&&this.index<J.symmetry.SpaceGroup.spaceGroupDefinitions.length)return this;
null!=this.finalOperations&&this.setFinalOperations(null,0,0,!1);var a=this.getCanonicalSeitzList();return J.symmetry.SpaceGroup.findSpaceGroup(a)});$_M(c$,"getCanonicalSeitzList",($fz=function(){for(var a=Array(this.operationCount),b=0;b<this.operationCount;b++)a[b]=J.symmetry.SymmetryOperation.dumpCanonicalSeitz(this.operations[b]);java.util.Arrays.sort(a,0,this.operationCount);for(var c=(new JU.SB).append("\n["),b=0;b<this.operationCount;b++)c.append(a[b].$replace("\t"," ").$replace("\n"," ")).append("; ");
c.append("]");return c.toString()},$fz.isPrivate=!0,$fz));c$.findSpaceGroup=$_M(c$,"findSpaceGroup",($fz=function(a){J.symmetry.SpaceGroup.getSpaceGroups();null==J.symmetry.SpaceGroup.canonicalSeitzList&&($t$=J.symmetry.SpaceGroup.canonicalSeitzList=Array(J.symmetry.SpaceGroup.spaceGroupDefinitions.length),J.symmetry.SpaceGroup.prototype.canonicalSeitzList=J.symmetry.SpaceGroup.canonicalSeitzList,$t$);for(var b=0;b<J.symmetry.SpaceGroup.spaceGroupDefinitions.length;b++)if(null==J.symmetry.SpaceGroup.canonicalSeitzList[b]&&
(J.symmetry.SpaceGroup.canonicalSeitzList[b]=J.symmetry.SpaceGroup.spaceGroupDefinitions[b].dumpCanonicalSeitzList()),0<=J.symmetry.SpaceGroup.canonicalSeitzList[b].indexOf(a))return J.symmetry.SpaceGroup.spaceGroupDefinitions[b];return null},$fz.isPrivate=!0,$fz),"~S");c$.dumpAll=$_M(c$,"dumpAll",($fz=function(){var a=new JU.SB;J.symmetry.SpaceGroup.getSpaceGroups();for(var b=0;b<J.symmetry.SpaceGroup.spaceGroupDefinitions.length;b++)a.append("\n----------------------\n"+J.symmetry.SpaceGroup.spaceGroupDefinitions[b].dumpInfo(null));
return a.toString()},$fz.isPrivate=!0,$fz));c$.dumpAllSeitz=$_M(c$,"dumpAllSeitz",($fz=function(){J.symmetry.SpaceGroup.getSpaceGroups();for(var a=new JU.SB,b=0;b<J.symmetry.SpaceGroup.spaceGroupDefinitions.length;b++)a.append("\n").appendO(J.symmetry.SpaceGroup.spaceGroupDefinitions[b].dumpCanonicalSeitzList());return a.toString()},$fz.isPrivate=!0,$fz));$_M(c$,"setLattice",($fz=function(a,b){this.latticeCode=a;this.latticeParameter=J.symmetry.HallTranslation.getLatticeIndex(a);b||(this.latticeParameter=
-this.latticeParameter)},$fz.isPrivate=!0,$fz),"~S,~B");c$.createSpaceGroupN=$_M(c$,"createSpaceGroupN",($fz=function(a){J.symmetry.SpaceGroup.getSpaceGroups();a=a.trim();var b=J.symmetry.SpaceGroup.determineSpaceGroupN(a),c;null==b&&(c=new J.symmetry.HallInfo(a),0<c.nRotations?(b=new J.symmetry.SpaceGroup("0;--;--;"+a),b.hallInfo=c):0<=a.indexOf(",")&&(b=new J.symmetry.SpaceGroup("0;--;--;--"),b.doNormalize=!1,b.generateOperatorsFromXyzInfo(a)));null!=b&&b.generateAllOperators(null);return b},$fz.isPrivate=
!0,$fz),"~S");$_M(c$,"addOperation",($fz=function(a,b){if(null==a||3>a.length)return this.xyzList=new java.util.Hashtable,-1;var c="="==a.charAt(0);c&&(a=a.substring(1));if(this.xyzList.containsKey(a))return this.xyzList.get(a).intValue();a.startsWith("x1,x2,x3,x4")&&0==this.modulationDimension&&(this.xyzList.clear(),this.operationCount=0,this.modulationDimension=JU.ParserJS.parseInt(a.substring(a.lastIndexOf("x")+1))-3);var d=new J.symmetry.SymmetryOperation(null,null,0,b,this.doNormalize);return!d.setMatrixFromXYZ(a,
this.modulationDimension)?(J.util.Logger.error("couldn't interpret symmetry operation: "+a),-1):this.addOp(d,a,c)},$fz.isPrivate=!0,$fz),"~S,~N");$_M(c$,"addOp",($fz=function(a,b,c){var d=a.xyz;if(!c){if(this.xyzList.containsKey(d))return this.xyzList.get(d).intValue();0>this.latticeOp&&this.xyzList.containsKey(J.util.Txt.simpleReplace(J.util.Txt.simpleReplace(d,"+1/2",""),"+1/2",""))&&(this.latticeOp=this.operationCount);this.xyzList.put(d,Integer.$valueOf(this.operationCount))}null!=d&&!d.equals(b)&&
this.xyzList.put(b,Integer.$valueOf(this.operationCount));null==this.operations&&(this.operations=Array(4));this.operationCount==this.operations.length&&(this.operations=JU.ArrayUtil.arrayCopyObject(this.operations,2*this.operationCount));this.operations[this.operationCount++]=a;J.util.Logger.debugging&&J.util.Logger.debug("\naddOperation "+this.operationCount+a.dumpInfo());return this.operationCount-1},$fz.isPrivate=!0,$fz),"J.symmetry.SymmetryOperation,~S,~B");$_M(c$,"generateOperatorsFromXyzInfo",
($fz=function(a){this.addOperation(null,0);this.addSymmetry("x,y,z",0);a=J.util.Txt.split(a.toLowerCase(),";");for(var b=0;b<a.length;b++)this.addSymmetry(a[b],0)},$fz.isPrivate=!0,$fz),"~S");$_M(c$,"generateAllOperators",($fz=function(a){if(null==a){a=this.hallInfo;if(0<this.operationCount)return;this.operations=Array(4);if(null==this.hallInfo||0==this.hallInfo.nRotations)a=this.hallInfo=new J.symmetry.HallInfo(this.hallSymbol);this.setLattice(this.hallInfo.latticeCode,this.hallInfo.isCentrosymmetric);
this.addOperation(null,0);this.addSymmetry("x,y,z",0)}for(var b=new JU.M4,c=new JU.M4,d=Array(7),e=0;7>e;e++)d[e]=new JU.M4;for(e=0;e<a.nRotations;e++){b.setM(a.rotationTerms[e].seitzMatrix12ths);var h=a.rotationTerms[e].order;d[0].setIdentity();for(var f=this.operationCount,k=1;k<=h;k++){d[k].mul2(b,d[0]);d[0].setM(d[k]);for(var g=0;g<f;g++){c.mul2(d[k],this.operations[g]);J.symmetry.SymmetryOperation.normalizeTranslation(c);var l=J.symmetry.SymmetryOperation.getXYZFromMatrix(c,!0,!0,!0);this.addSymmetrySM(l,
c)}}}},$fz.isPrivate=!0,$fz),"J.symmetry.HallInfo");$_M(c$,"addSymmetrySM",($fz=function(a,b){var c=this.addOperation(a,0);0>c||this.operations[c].setM(b)},$fz.isPrivate=!0,$fz),"~S,JU.M4");c$.determineSpaceGroupN=$_M(c$,"determineSpaceGroupN",($fz=function(a){return J.symmetry.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,-1)},$fz.isPrivate=!0,$fz),"~S");c$.determineSpaceGroupNS=$_M(c$,"determineSpaceGroupNS",($fz=function(a,b){return J.symmetry.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,b.index)},
$fz.isPrivate=!0,$fz),"~S,J.symmetry.SpaceGroup");c$.determineSpaceGroupNA=$_M(c$,"determineSpaceGroupNA",($fz=function(a,b){return null==b?J.symmetry.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,-1):J.symmetry.SpaceGroup.determineSpaceGroup(a,b[0],b[1],b[2],b[3],b[4],b[5],-1)},$fz.isPrivate=!0,$fz),"~S,~A");c$.determineSpaceGroup=$_M(c$,"determineSpaceGroup",($fz=function(a,b,c,d,e,h,f,k){a=J.symmetry.SpaceGroup.determineSpaceGroupIndex(a,b,c,d,e,h,f,k);return 0<=a?J.symmetry.SpaceGroup.spaceGroupDefinitions[a]:
null},$fz.isPrivate=!0,$fz),"~S,~N,~N,~N,~N,~N,~N,~N");c$.determineSpaceGroupIndex=$_M(c$,"determineSpaceGroupIndex",($fz=function(a,b,c,d,e,h,f,k){J.symmetry.SpaceGroup.getSpaceGroups();0>k&&(k=J.symmetry.SpaceGroup.spaceGroupDefinitions.length);a=a.trim().toLowerCase();var g=a.startsWith("hall:")?5:a.startsWith("hm:")?3:0;0<g?a=a.substring(g):a.contains("[")&&(g=5,a=a.substring(0,a.indexOf("[")).trim());var l=a,j,p=!1;a=a.$replace("_"," ");2<=a.length&&(j=0==a.indexOf("-")?2:1,j<a.length&&" "!=
a.charAt(j)&&(a=a.substring(0,j)+" "+a.substring(j)),a=a.substring(0,2).toUpperCase()+a.substring(2));var n="";if(0<(j=a.indexOf(":")))n=a.substring(j+1),a=a.substring(0,j).trim(),p=!0;5!=g&&(!p&&J.util.Parser.isOneOf(a,J.symmetry.SpaceGroup.ambiguousNames))&&(n="?",p=!0);var s=J.util.Txt.replaceAllCharacters(a," ()",""),q;if(3!=g&&!p)for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hallSymbol.equals(a))return j;if(5!=g){if(3!=g)for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],
q.intlTableNumberFull.equals(l))return j;for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hmSymbolFull.equals(l))return j;for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],null!=q.hmSymbolAlternative&&q.hmSymbolAlternative.equals(l))return j;if(p)for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hmSymbolAbbr.equals(s)&&q.intlTableNumberExt.equals(n))return j;if(p)for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hmSymbolAbbrShort.equals(s)&&
q.intlTableNumberExt.equals(n))return j;a=J.symmetry.SpaceGroup.determineUniqueAxis(b,c,d,e,h,f);if(!p||"?"==n.charAt(0))for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hmSymbolAbbr.equals(s)||q.hmSymbolAbbrShort.equals(s))switch(q.ambiguityType){case "\x00":return j;case "a":if(q.uniqueAxis==a||"\x00"==a)return j;break;case "o":if(0==n.length){if(q.hmSymbolExt.equals("2"))return j}else if(q.hmSymbolExt.equals(n))return j;break;case "t":if(0==n.length){if("h"==q.axisChoice)return j}else if((q.axisChoice+
"").equals(n))return j}}if(0==n.length)for(j=k;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.intlTableNumber.equals(l))return j;return-1},$fz.isPrivate=!0,$fz),"~S,~N,~N,~N,~N,~N,~N,~N");c$.determineUniqueAxis=$_M(c$,"determineUniqueAxis",($fz=function(a,b,c,d,e,h){return a==b?b==c?"\x00":"c":b==c?"a":c==a?"b":d==e?e==h?"\x00":"c":e==h?"a":h==d?"b":"\x00"},$fz.isPrivate=!0,$fz),"~N,~N,~N,~N,~N,~N");$_M(c$,"buildSpaceGroup",($fz=function(a){a=J.util.Txt.split(a.toLowerCase(),";");var b;
this.intlTableNumberFull=a[0].trim();b=J.util.Txt.split(this.intlTableNumberFull,":");this.intlTableNumber=b[0];this.intlTableNumberExt=1==b.length?"":b[1];this.ambiguityType="\x00";0<this.intlTableNumberExt.length&&(b=this.intlTableNumberExt,b.startsWith("-")&&(b=b.substring(1)),b.equals("h")||b.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.hmSymbolFull=Character.toUpperCase(a[2].charAt(0))+a[2].substring(1);b=J.util.Txt.split(this.hmSymbolFull,":");this.hmSymbol=b[0];this.hmSymbolExt=1==b.length?"":b[1];b=this.hmSymbol.indexOf(" -3");1<=b&&0<="admn".indexOf(this.hmSymbol.charAt(b-1))&&(this.hmSymbolAlternative=(this.hmSymbol.substring(0,b)+" 3"+this.hmSymbol.substring(b+3)).toLowerCase());this.hmSymbolAbbr=J.util.Txt.simpleReplace(this.hmSymbol," ","");
this.hmSymbolAbbrShort=J.util.Txt.simpleReplace(this.hmSymbol," 1","");this.hmSymbolAbbrShort=J.util.Txt.simpleReplace(this.hmSymbolAbbrShort," ","");this.hallSymbol=a[3];1<this.hallSymbol.length&&(this.hallSymbol=this.hallSymbol.substring(0,2).toUpperCase()+this.hallSymbol.substring(2));a=this.intlTableNumber+this.hallSymbol;"0"!=this.intlTableNumber.charAt(0)&&J.symmetry.SpaceGroup.lastInfo.equals(a)&&($t$=J.symmetry.SpaceGroup.ambiguousNames+=this.hmSymbol+";",J.symmetry.SpaceGroup.prototype.ambiguousNames=
J.symmetry.SpaceGroup.ambiguousNames,$t$);$t$=J.symmetry.SpaceGroup.lastInfo=a;J.symmetry.SpaceGroup.prototype.lastInfo=J.symmetry.SpaceGroup.lastInfo;$t$;this.name=this.hallSymbol+" ["+this.hmSymbolFull+"] #"+this.intlTableNumber},$fz.isPrivate=!0,$fz),"~S");c$.getSpaceGroups=$_M(c$,"getSpaceGroups",($fz=function(){return null==J.symmetry.SpaceGroup.spaceGroupDefinitions?($t$=J.symmetry.SpaceGroup.spaceGroupDefinitions=[new J.symmetry.SpaceGroup("1;c1^1;p 1;p 1"),new J.symmetry.SpaceGroup("2;ci^1;p -1;-p 1"),
new J.symmetry.SpaceGroup("3:b;c2^1;p 1 2 1;p 2y"),new J.symmetry.SpaceGroup("3:b;c2^1;p 2;p 2y"),new J.symmetry.SpaceGroup("3:c;c2^1;p 1 1 2;p 2"),new J.symmetry.SpaceGroup("3:a;c2^1;p 2 1 1;p 2x"),new J.symmetry.SpaceGroup("4:b;c2^2;p 1 21 1;p 2yb"),new J.symmetry.SpaceGroup("4:b;c2^2;p 21;p 2yb"),new J.symmetry.SpaceGroup("4:b*;c2^2;p 1 21 1*;p 2y1"),new J.symmetry.SpaceGroup("4:c;c2^2;p 1 1 21;p 2c"),new J.symmetry.SpaceGroup("4:c*;c2^2;p 1 1 21*;p 21"),new J.symmetry.SpaceGroup("4:a;c2^2;p 21 1 1;p 2xa"),
new J.symmetry.SpaceGroup("4:a*;c2^2;p 21 1 1*;p 2x1"),new J.symmetry.SpaceGroup("5:b1;c2^3;c 1 2 1;c 2y"),new J.symmetry.SpaceGroup("5:b1;c2^3;c 2;c 2y"),new J.symmetry.SpaceGroup("5:b2;c2^3;a 1 2 1;a 2y"),new J.symmetry.SpaceGroup("5:b3;c2^3;i 1 2 1;i 2y"),new J.symmetry.SpaceGroup("5:c1;c2^3;a 1 1 2;a 2"),new J.symmetry.SpaceGroup("5:c2;c2^3;b 1 1 2;b 2"),new J.symmetry.SpaceGroup("5:c3;c2^3;i 1 1 2;i 2"),new J.symmetry.SpaceGroup("5:a1;c2^3;b 2 1 1;b 2x"),new J.symmetry.SpaceGroup("5:a2;c2^3;c 2 1 1;c 2x"),
new J.symmetry.SpaceGroup("5:a3;c2^3;i 2 1 1;i 2x"),new J.symmetry.SpaceGroup("6:b;cs^1;p 1 m 1;p -2y"),new J.symmetry.SpaceGroup("6:b;cs^1;p m;p -2y"),new J.symmetry.SpaceGroup("6:c;cs^1;p 1 1 m;p -2"),new J.symmetry.SpaceGroup("6:a;cs^1;p m 1 1;p -2x"),new J.symmetry.SpaceGroup("7:b1;cs^2;p 1 c 1;p -2yc"),new J.symmetry.SpaceGroup("7:b1;cs^2;p c;p -2yc"),new J.symmetry.SpaceGroup("7:b2;cs^2;p 1 n 1;p -2yac"),new J.symmetry.SpaceGroup("7:b2;cs^2;p n;p -2yac"),new J.symmetry.SpaceGroup("7:b3;cs^2;p 1 a 1;p -2ya"),
new J.symmetry.SpaceGroup("7:b3;cs^2;p a;p -2ya"),new J.symmetry.SpaceGroup("7:c1;cs^2;p 1 1 a;p -2a"),new J.symmetry.SpaceGroup("7:c2;cs^2;p 1 1 n;p -2ab"),new J.symmetry.SpaceGroup("7:c3;cs^2;p 1 1 b;p -2b"),new J.symmetry.SpaceGroup("7:a1;cs^2;p b 1 1;p -2xb"),new J.symmetry.SpaceGroup("7:a2;cs^2;p n 1 1;p -2xbc"),new J.symmetry.SpaceGroup("7:a3;cs^2;p c 1 1;p -2xc"),new J.symmetry.SpaceGroup("8:b1;cs^3;c 1 m 1;c -2y"),new J.symmetry.SpaceGroup("8:b1;cs^3;c m;c -2y"),new J.symmetry.SpaceGroup("8:b2;cs^3;a 1 m 1;a -2y"),
new J.symmetry.SpaceGroup("8:b3;cs^3;i 1 m 1;i -2y"),new J.symmetry.SpaceGroup("8:b3;cs^3;i m;i -2y"),new J.symmetry.SpaceGroup("8:c1;cs^3;a 1 1 m;a -2"),new J.symmetry.SpaceGroup("8:c2;cs^3;b 1 1 m;b -2"),new J.symmetry.SpaceGroup("8:c3;cs^3;i 1 1 m;i -2"),new J.symmetry.SpaceGroup("8:a1;cs^3;b m 1 1;b -2x"),new J.symmetry.SpaceGroup("8:a2;cs^3;c m 1 1;c -2x"),new J.symmetry.SpaceGroup("8:a3;cs^3;i m 1 1;i -2x"),new J.symmetry.SpaceGroup("9:b1;cs^4;c 1 c 1;c -2yc"),new J.symmetry.SpaceGroup("9:b1;cs^4;c c;c -2yc"),
new J.symmetry.SpaceGroup("9:b2;cs^4;a 1 n 1;a -2yab"),new J.symmetry.SpaceGroup("9:b3;cs^4;i 1 a 1;i -2ya"),new J.symmetry.SpaceGroup("9:-b1;cs^4;a 1 a 1;a -2ya"),new J.symmetry.SpaceGroup("9:-b2;cs^4;c 1 n 1;c -2yac"),new J.symmetry.SpaceGroup("9:-b3;cs^4;i 1 c 1;i -2yc"),new J.symmetry.SpaceGroup("9:c1;cs^4;a 1 1 a;a -2a"),new J.symmetry.SpaceGroup("9:c2;cs^4;b 1 1 n;b -2ab"),new J.symmetry.SpaceGroup("9:c3;cs^4;i 1 1 b;i -2b"),new J.symmetry.SpaceGroup("9:-c1;cs^4;b 1 1 b;b -2b"),new J.symmetry.SpaceGroup("9:-c2;cs^4;a 1 1 n;a -2ab"),
new J.symmetry.SpaceGroup("9:-c3;cs^4;i 1 1 a;i -2a"),new J.symmetry.SpaceGroup("9:a1;cs^4;b b 1 1;b -2xb"),new J.symmetry.SpaceGroup("9:a2;cs^4;c n 1 1;c -2xac"),new J.symmetry.SpaceGroup("9:a3;cs^4;i c 1 1;i -2xc"),new J.symmetry.SpaceGroup("9:-a1;cs^4;c c 1 1;c -2xc"),new J.symmetry.SpaceGroup("9:-a2;cs^4;b n 1 1;b -2xab"),new J.symmetry.SpaceGroup("9:-a3;cs^4;i b 1 1;i -2xb"),new J.symmetry.SpaceGroup("10:b;c2h^1;p 1 2/m 1;-p 2y"),new J.symmetry.SpaceGroup("10:b;c2h^1;p 2/m;-p 2y"),new J.symmetry.SpaceGroup("10:c;c2h^1;p 1 1 2/m;-p 2"),
new J.symmetry.SpaceGroup("10:a;c2h^1;p 2/m 1 1;-p 2x"),new J.symmetry.SpaceGroup("11:b;c2h^2;p 1 21/m 1;-p 2yb"),new J.symmetry.SpaceGroup("11:b;c2h^2;p 21/m;-p 2yb"),new J.symmetry.SpaceGroup("11:b*;c2h^2;p 1 21/m 1*;-p 2y1"),new J.symmetry.SpaceGroup("11:c;c2h^2;p 1 1 21/m;-p 2c"),new J.symmetry.SpaceGroup("11:c*;c2h^2;p 1 1 21/m*;-p 21"),new J.symmetry.SpaceGroup("11:a;c2h^2;p 21/m 1 1;-p 2xa"),new J.symmetry.SpaceGroup("11:a*;c2h^2;p 21/m 1 1*;-p 2x1"),new J.symmetry.SpaceGroup("12:b1;c2h^3;c 1 2/m 1;-c 2y"),
new J.symmetry.SpaceGroup("12:b1;c2h^3;c 2/m;-c 2y"),new J.symmetry.SpaceGroup("12:b2;c2h^3;a 1 2/m 1;-a 2y"),new J.symmetry.SpaceGroup("12:b3;c2h^3;i 1 2/m 1;-i 2y"),new J.symmetry.SpaceGroup("12:b3;c2h^3;i 2/m;-i 2y"),new J.symmetry.SpaceGroup("12:c1;c2h^3;a 1 1 2/m;-a 2"),new J.symmetry.SpaceGroup("12:c2;c2h^3;b 1 1 2/m;-b 2"),new J.symmetry.SpaceGroup("12:c3;c2h^3;i 1 1 2/m;-i 2"),new J.symmetry.SpaceGroup("12:a1;c2h^3;b 2/m 1 1;-b 2x"),new J.symmetry.SpaceGroup("12:a2;c2h^3;c 2/m 1 1;-c 2x"),
new J.symmetry.SpaceGroup("12:a3;c2h^3;i 2/m 1 1;-i 2x"),new J.symmetry.SpaceGroup("13:b1;c2h^4;p 1 2/c 1;-p 2yc"),new J.symmetry.SpaceGroup("13:b1;c2h^4;p 2/c;-p 2yc"),new J.symmetry.SpaceGroup("13:b2;c2h^4;p 1 2/n 1;-p 2yac"),new J.symmetry.SpaceGroup("13:b2;c2h^4;p 2/n;-p 2yac"),new J.symmetry.SpaceGroup("13:b3;c2h^4;p 1 2/a 1;-p 2ya"),new J.symmetry.SpaceGroup("13:b3;c2h^4;p 2/a;-p 2ya"),new J.symmetry.SpaceGroup("13:c1;c2h^4;p 1 1 2/a;-p 2a"),new J.symmetry.SpaceGroup("13:c2;c2h^4;p 1 1 2/n;-p 2ab"),
new J.symmetry.SpaceGroup("13:c3;c2h^4;p 1 1 2/b;-p 2b"),new J.symmetry.SpaceGroup("13:a1;c2h^4;p 2/b 1 1;-p 2xb"),new J.symmetry.SpaceGroup("13:a2;c2h^4;p 2/n 1 1;-p 2xbc"),new J.symmetry.SpaceGroup("13:a3;c2h^4;p 2/c 1 1;-p 2xc"),new J.symmetry.SpaceGroup("14:b1;c2h^5;p 1 21/c 1;-p 2ybc"),new J.symmetry.SpaceGroup("14:b1;c2h^5;p 21/c;-p 2ybc"),new J.symmetry.SpaceGroup("14:b2;c2h^5;p 1 21/n 1;-p 2yn"),new J.symmetry.SpaceGroup("14:b2;c2h^5;p 21/n;-p 2yn"),new J.symmetry.SpaceGroup("14:b3;c2h^5;p 1 21/a 1;-p 2yab"),
new J.symmetry.SpaceGroup("14:b3;c2h^5;p 21/a;-p 2yab"),new J.symmetry.SpaceGroup("14:c1;c2h^5;p 1 1 21/a;-p 2ac"),new J.symmetry.SpaceGroup("14:c2;c2h^5;p 1 1 21/n;-p 2n"),new J.symmetry.SpaceGroup("14:c3;c2h^5;p 1 1 21/b;-p 2bc"),new J.symmetry.SpaceGroup("14:a1;c2h^5;p 21/b 1 1;-p 2xab"),new J.symmetry.SpaceGroup("14:a2;c2h^5;p 21/n 1 1;-p 2xn"),new J.symmetry.SpaceGroup("14:a3;c2h^5;p 21/c 1 1;-p 2xac"),new J.symmetry.SpaceGroup("15:b1;c2h^6;c 1 2/c 1;-c 2yc"),new J.symmetry.SpaceGroup("15:b1;c2h^6;c 2/c;-c 2yc"),
new J.symmetry.SpaceGroup("15:b2;c2h^6;a 1 2/n 1;-a 2yab"),new J.symmetry.SpaceGroup("15:b3;c2h^6;i 1 2/a 1;-i 2ya"),new J.symmetry.SpaceGroup("15:b3;c2h^6;i 2/a;-i 2ya"),new J.symmetry.SpaceGroup("15:-b1;c2h^6;a 1 2/a 1;-a 2ya"),new J.symmetry.SpaceGroup("15:-b2;c2h^6;c 1 2/n 1;-c 2yac"),new J.symmetry.SpaceGroup("15:-b2;c2h^6;c 2/n;-c 2yac"),new J.symmetry.SpaceGroup("15:-b3;c2h^6;i 1 2/c 1;-i 2yc"),new J.symmetry.SpaceGroup("15:-b3;c2h^6;i 2/c;-i 2yc"),new J.symmetry.SpaceGroup("15:c1;c2h^6;a 1 1 2/a;-a 2a"),
new J.symmetry.SpaceGroup("15:c2;c2h^6;b 1 1 2/n;-b 2ab"),new J.symmetry.SpaceGroup("15:c3;c2h^6;i 1 1 2/b;-i 2b"),new J.symmetry.SpaceGroup("15:-c1;c2h^6;b 1 1 2/b;-b 2b"),new J.symmetry.SpaceGroup("15:-c2;c2h^6;a 1 1 2/n;-a 2ab"),new J.symmetry.SpaceGroup("15:-c3;c2h^6;i 1 1 2/a;-i 2a"),new J.symmetry.SpaceGroup("15:a1;c2h^6;b 2/b 1 1;-b 2xb"),new J.symmetry.SpaceGroup("15:a2;c2h^6;c 2/n 1 1;-c 2xac"),new J.symmetry.SpaceGroup("15:a3;c2h^6;i 2/c 1 1;-i 2xc"),new J.symmetry.SpaceGroup("15:-a1;c2h^6;c 2/c 1 1;-c 2xc"),
new J.symmetry.SpaceGroup("15:-a2;c2h^6;b 2/n 1 1;-b 2xab"),new J.symmetry.SpaceGroup("15:-a3;c2h^6;i 2/b 1 1;-i 2xb"),new J.symmetry.SpaceGroup("16;d2^1;p 2 2 2;p 2 2"),new J.symmetry.SpaceGroup("17;d2^2;p 2 2 21;p 2c 2"),new J.symmetry.SpaceGroup("17*;d2^2;p 2 2 21*;p 21 2"),new J.symmetry.SpaceGroup("17:cab;d2^2;p 21 2 2;p 2a 2a"),new J.symmetry.SpaceGroup("17:bca;d2^2;p 2 21 2;p 2 2b"),new J.symmetry.SpaceGroup("18;d2^3;p 21 21 2;p 2 2ab"),new J.symmetry.SpaceGroup("18:cab;d2^3;p 2 21 21;p 2bc 2"),
new J.symmetry.SpaceGroup("18:bca;d2^3;p 21 2 21;p 2ac 2ac"),new J.symmetry.SpaceGroup("19;d2^4;p 21 21 21;p 2ac 2ab"),new J.symmetry.SpaceGroup("20;d2^5;c 2 2 21;c 2c 2"),new J.symmetry.SpaceGroup("20*;d2^5;c 2 2 21*;c 21 2"),new J.symmetry.SpaceGroup("20:cab;d2^5;a 21 2 2;a 2a 2a"),new J.symmetry.SpaceGroup("20:cab*;d2^5;a 21 2 2*;a 2a 21"),new J.symmetry.SpaceGroup("20:bca;d2^5;b 2 21 2;b 2 2b"),new J.symmetry.SpaceGroup("21;d2^6;c 2 2 2;c 2 2"),new J.symmetry.SpaceGroup("21:cab;d2^6;a 2 2 2;a 2 2"),
new J.symmetry.SpaceGroup("21:bca;d2^6;b 2 2 2;b 2 2"),new J.symmetry.SpaceGroup("22;d2^7;f 2 2 2;f 2 2"),new J.symmetry.SpaceGroup("23;d2^8;i 2 2 2;i 2 2"),new J.symmetry.SpaceGroup("24;d2^9;i 21 21 21;i 2b 2c"),new J.symmetry.SpaceGroup("25;c2v^1;p m m 2;p 2 -2"),new J.symmetry.SpaceGroup("25:cab;c2v^1;p 2 m m;p -2 2"),new J.symmetry.SpaceGroup("25:bca;c2v^1;p m 2 m;p -2 -2"),new J.symmetry.SpaceGroup("26;c2v^2;p m c 21;p 2c -2"),new J.symmetry.SpaceGroup("26*;c2v^2;p m c 21*;p 21 -2"),new J.symmetry.SpaceGroup("26:ba-c;c2v^2;p c m 21;p 2c -2c"),
new J.symmetry.SpaceGroup("26:ba-c*;c2v^2;p c m 21*;p 21 -2c"),new J.symmetry.SpaceGroup("26:cab;c2v^2;p 21 m a;p -2a 2a"),new J.symmetry.SpaceGroup("26:-cba;c2v^2;p 21 a m;p -2 2a"),new J.symmetry.SpaceGroup("26:bca;c2v^2;p b 21 m;p -2 -2b"),new J.symmetry.SpaceGroup("26:a-cb;c2v^2;p m 21 b;p -2b -2"),new J.symmetry.SpaceGroup("27;c2v^3;p c c 2;p 2 -2c"),new J.symmetry.SpaceGroup("27:cab;c2v^3;p 2 a a;p -2a 2"),new J.symmetry.SpaceGroup("27:bca;c2v^3;p b 2 b;p -2b -2b"),new J.symmetry.SpaceGroup("28;c2v^4;p m a 2;p 2 -2a"),
new J.symmetry.SpaceGroup("28*;c2v^4;p m a 2*;p 2 -21"),new J.symmetry.SpaceGroup("28:ba-c;c2v^4;p b m 2;p 2 -2b"),new J.symmetry.SpaceGroup("28:cab;c2v^4;p 2 m b;p -2b 2"),new J.symmetry.SpaceGroup("28:-cba;c2v^4;p 2 c m;p -2c 2"),new J.symmetry.SpaceGroup("28:-cba*;c2v^4;p 2 c m*;p -21 2"),new J.symmetry.SpaceGroup("28:bca;c2v^4;p c 2 m;p -2c -2c"),new J.symmetry.SpaceGroup("28:a-cb;c2v^4;p m 2 a;p -2a -2a"),new J.symmetry.SpaceGroup("29;c2v^5;p c a 21;p 2c -2ac"),new J.symmetry.SpaceGroup("29:ba-c;c2v^5;p b c 21;p 2c -2b"),
new J.symmetry.SpaceGroup("29:cab;c2v^5;p 21 a b;p -2b 2a"),new J.symmetry.SpaceGroup("29:-cba;c2v^5;p 21 c a;p -2ac 2a"),new J.symmetry.SpaceGroup("29:bca;c2v^5;p c 21 b;p -2bc -2c"),new J.symmetry.SpaceGroup("29:a-cb;c2v^5;p b 21 a;p -2a -2ab"),new J.symmetry.SpaceGroup("30;c2v^6;p n c 2;p 2 -2bc"),new J.symmetry.SpaceGroup("30:ba-c;c2v^6;p c n 2;p 2 -2ac"),new J.symmetry.SpaceGroup("30:cab;c2v^6;p 2 n a;p -2ac 2"),new J.symmetry.SpaceGroup("30:-cba;c2v^6;p 2 a n;p -2ab 2"),new J.symmetry.SpaceGroup("30:bca;c2v^6;p b 2 n;p -2ab -2ab"),
new J.symmetry.SpaceGroup("30:a-cb;c2v^6;p n 2 b;p -2bc -2bc"),new J.symmetry.SpaceGroup("31;c2v^7;p m n 21;p 2ac -2"),new J.symmetry.SpaceGroup("31:ba-c;c2v^7;p n m 21;p 2bc -2bc"),new J.symmetry.SpaceGroup("31:cab;c2v^7;p 21 m n;p -2ab 2ab"),new J.symmetry.SpaceGroup("31:-cba;c2v^7;p 21 n m;p -2 2ac"),new J.symmetry.SpaceGroup("31:bca;c2v^7;p n 21 m;p -2 -2bc"),new J.symmetry.SpaceGroup("31:a-cb;c2v^7;p m 21 n;p -2ab -2"),new J.symmetry.SpaceGroup("32;c2v^8;p b a 2;p 2 -2ab"),new J.symmetry.SpaceGroup("32:cab;c2v^8;p 2 c b;p -2bc 2"),
new J.symmetry.SpaceGroup("32:bca;c2v^8;p c 2 a;p -2ac -2ac"),new J.symmetry.SpaceGroup("33;c2v^9;p n a 21;p 2c -2n"),new J.symmetry.SpaceGroup("33*;c2v^9;p n a 21*;p 21 -2n"),new J.symmetry.SpaceGroup("33:ba-c;c2v^9;p b n 21;p 2c -2ab"),new J.symmetry.SpaceGroup("33:ba-c*;c2v^9;p b n 21*;p 21 -2ab"),new J.symmetry.SpaceGroup("33:cab;c2v^9;p 21 n b;p -2bc 2a"),new J.symmetry.SpaceGroup("33:cab*;c2v^9;p 21 n b*;p -2bc 21"),new J.symmetry.SpaceGroup("33:-cba;c2v^9;p 21 c n;p -2n 2a"),new J.symmetry.SpaceGroup("33:-cba*;c2v^9;p 21 c n*;p -2n 21"),
new J.symmetry.SpaceGroup("33:bca;c2v^9;p c 21 n;p -2n -2ac"),new J.symmetry.SpaceGroup("33:a-cb;c2v^9;p n 21 a;p -2ac -2n"),new J.symmetry.SpaceGroup("34;c2v^10;p n n 2;p 2 -2n"),new J.symmetry.SpaceGroup("34:cab;c2v^10;p 2 n n;p -2n 2"),new J.symmetry.SpaceGroup("34:bca;c2v^10;p n 2 n;p -2n -2n"),new J.symmetry.SpaceGroup("35;c2v^11;c m m 2;c 2 -2"),new J.symmetry.SpaceGroup("35:cab;c2v^11;a 2 m m;a -2 2"),new J.symmetry.SpaceGroup("35:bca;c2v^11;b m 2 m;b -2 -2"),new J.symmetry.SpaceGroup("36;c2v^12;c m c 21;c 2c -2"),
new J.symmetry.SpaceGroup("36*;c2v^12;c m c 21*;c 21 -2"),new J.symmetry.SpaceGroup("36:ba-c;c2v^12;c c m 21;c 2c -2c"),new J.symmetry.SpaceGroup("36:ba-c*;c2v^12;c c m 21*;c 21 -2c"),new J.symmetry.SpaceGroup("36:cab;c2v^12;a 21 m a;a -2a 2a"),new J.symmetry.SpaceGroup("36:cab*;c2v^12;a 21 m a*;a -2a 21"),new J.symmetry.SpaceGroup("36:-cba;c2v^12;a 21 a m;a -2 2a"),new J.symmetry.SpaceGroup("36:-cba*;c2v^12;a 21 a m*;a -2 21"),new J.symmetry.SpaceGroup("36:bca;c2v^12;b b 21 m;b -2 -2b"),new J.symmetry.SpaceGroup("36:a-cb;c2v^12;b m 21 b;b -2b -2"),
new J.symmetry.SpaceGroup("37;c2v^13;c c c 2;c 2 -2c"),new J.symmetry.SpaceGroup("37:cab;c2v^13;a 2 a a;a -2a 2"),new J.symmetry.SpaceGroup("37:bca;c2v^13;b b 2 b;b -2b -2b"),new J.symmetry.SpaceGroup("38;c2v^14;a m m 2;a 2 -2"),new J.symmetry.SpaceGroup("38:ba-c;c2v^14;b m m 2;b 2 -2"),new J.symmetry.SpaceGroup("38:cab;c2v^14;b 2 m m;b -2 2"),new J.symmetry.SpaceGroup("38:-cba;c2v^14;c 2 m m;c -2 2"),new J.symmetry.SpaceGroup("38:bca;c2v^14;c m 2 m;c -2 -2"),new J.symmetry.SpaceGroup("38:a-cb;c2v^14;a m 2 m;a -2 -2"),
new J.symmetry.SpaceGroup("39;c2v^15;a b m 2;a 2 -2b"),new J.symmetry.SpaceGroup("39:ba-c;c2v^15;b m a 2;b 2 -2a"),new J.symmetry.SpaceGroup("39:cab;c2v^15;b 2 c m;b -2a 2"),new J.symmetry.SpaceGroup("39:-cba;c2v^15;c 2 m b;c -2a 2"),new J.symmetry.SpaceGroup("39:bca;c2v^15;c m 2 a;c -2a -2a"),new J.symmetry.SpaceGroup("39:a-cb;c2v^15;a c 2 m;a -2b -2b"),new J.symmetry.SpaceGroup("40;c2v^16;a m a 2;a 2 -2a"),new J.symmetry.SpaceGroup("40:ba-c;c2v^16;b b m 2;b 2 -2b"),new J.symmetry.SpaceGroup("40:cab;c2v^16;b 2 m b;b -2b 2"),
new J.symmetry.SpaceGroup("40:-cba;c2v^16;c 2 c m;c -2c 2"),new J.symmetry.SpaceGroup("40:bca;c2v^16;c c 2 m;c -2c -2c"),new J.symmetry.SpaceGroup("40:a-cb;c2v^16;a m 2 a;a -2a -2a"),new J.symmetry.SpaceGroup("41;c2v^17;a b a 2;a 2 -2ab"),new J.symmetry.SpaceGroup("41:ba-c;c2v^17;b b a 2;b 2 -2ab"),new J.symmetry.SpaceGroup("41:cab;c2v^17;b 2 c b;b -2ab 2"),new J.symmetry.SpaceGroup("41:-cba;c2v^17;c 2 c b;c -2ac 2"),new J.symmetry.SpaceGroup("41:bca;c2v^17;c c 2 a;c -2ac -2ac"),new J.symmetry.SpaceGroup("41:a-cb;c2v^17;a c 2 a;a -2ab -2ab"),
new J.symmetry.SpaceGroup("42;c2v^18;f m m 2;f 2 -2"),new J.symmetry.SpaceGroup("42:cab;c2v^18;f 2 m m;f -2 2"),new J.symmetry.SpaceGroup("42:bca;c2v^18;f m 2 m;f -2 -2"),new J.symmetry.SpaceGroup("43;c2v^19;f d d 2;f 2 -2d"),new J.symmetry.SpaceGroup("43:cab;c2v^19;f 2 d d;f -2d 2"),new J.symmetry.SpaceGroup("43:bca;c2v^19;f d 2 d;f -2d -2d"),new J.symmetry.SpaceGroup("44;c2v^20;i m m 2;i 2 -2"),new J.symmetry.SpaceGroup("44:cab;c2v^20;i 2 m m;i -2 2"),new J.symmetry.SpaceGroup("44:bca;c2v^20;i m 2 m;i -2 -2"),
new J.symmetry.SpaceGroup("45;c2v^21;i b a 2;i 2 -2c"),new J.symmetry.SpaceGroup("45:cab;c2v^21;i 2 c b;i -2a 2"),new J.symmetry.SpaceGroup("45:bca;c2v^21;i c 2 a;i -2b -2b"),new J.symmetry.SpaceGroup("46;c2v^22;i m a 2;i 2 -2a"),new J.symmetry.SpaceGroup("46:ba-c;c2v^22;i b m 2;i 2 -2b"),new J.symmetry.SpaceGroup("46:cab;c2v^22;i 2 m b;i -2b 2"),new J.symmetry.SpaceGroup("46:-cba;c2v^22;i 2 c m;i -2c 2"),new J.symmetry.SpaceGroup("46:bca;c2v^22;i c 2 m;i -2c -2c"),new J.symmetry.SpaceGroup("46:a-cb;c2v^22;i m 2 a;i -2a -2a"),
new J.symmetry.SpaceGroup("47;d2h^1;p m m m;-p 2 2"),new J.symmetry.SpaceGroup("48:1;d2h^2;p n n n:1;p 2 2 -1n"),new J.symmetry.SpaceGroup("48:2;d2h^2;p n n n:2;-p 2ab 2bc"),new J.symmetry.SpaceGroup("49;d2h^3;p c c m;-p 2 2c"),new J.symmetry.SpaceGroup("49:cab;d2h^3;p m a a;-p 2a 2"),new J.symmetry.SpaceGroup("49:bca;d2h^3;p b m b;-p 2b 2b"),new J.symmetry.SpaceGroup("50:1;d2h^4;p b a n:1;p 2 2 -1ab"),new J.symmetry.SpaceGroup("50:2;d2h^4;p b a n:2;-p 2ab 2b"),new J.symmetry.SpaceGroup("50:1cab;d2h^4;p n c b:1;p 2 2 -1bc"),
new J.symmetry.SpaceGroup("50:2cab;d2h^4;p n c b:2;-p 2b 2bc"),new J.symmetry.SpaceGroup("50:1bca;d2h^4;p c n a:1;p 2 2 -1ac"),new J.symmetry.SpaceGroup("50:2bca;d2h^4;p c n a:2;-p 2a 2c"),new J.symmetry.SpaceGroup("51;d2h^5;p m m a;-p 2a 2a"),new J.symmetry.SpaceGroup("51:ba-c;d2h^5;p m m b;-p 2b 2"),new J.symmetry.SpaceGroup("51:cab;d2h^5;p b m m;-p 2 2b"),new J.symmetry.SpaceGroup("51:-cba;d2h^5;p c m m;-p 2c 2c"),new J.symmetry.SpaceGroup("51:bca;d2h^5;p m c m;-p 2c 2"),new J.symmetry.SpaceGroup("51:a-cb;d2h^5;p m a m;-p 2 2a"),
new J.symmetry.SpaceGroup("52;d2h^6;p n n a;-p 2a 2bc"),new J.symmetry.SpaceGroup("52:ba-c;d2h^6;p n n b;-p 2b 2n"),new J.symmetry.SpaceGroup("52:cab;d2h^6;p b n n;-p 2n 2b"),new J.symmetry.SpaceGroup("52:-cba;d2h^6;p c n n;-p 2ab 2c"),new J.symmetry.SpaceGroup("52:bca;d2h^6;p n c n;-p 2ab 2n"),new J.symmetry.SpaceGroup("52:a-cb;d2h^6;p n a n;-p 2n 2bc"),new J.symmetry.SpaceGroup("53;d2h^7;p m n a;-p 2ac 2"),new J.symmetry.SpaceGroup("53:ba-c;d2h^7;p n m b;-p 2bc 2bc"),new J.symmetry.SpaceGroup("53:cab;d2h^7;p b m n;-p 2ab 2ab"),
new J.symmetry.SpaceGroup("53:-cba;d2h^7;p c n m;-p 2 2ac"),new J.symmetry.SpaceGroup("53:bca;d2h^7;p n c m;-p 2 2bc"),new J.symmetry.SpaceGroup("53:a-cb;d2h^7;p m a n;-p 2ab 2"),new J.symmetry.SpaceGroup("54;d2h^8;p c c a;-p 2a 2ac"),new J.symmetry.SpaceGroup("54:ba-c;d2h^8;p c c b;-p 2b 2c"),new J.symmetry.SpaceGroup("54:cab;d2h^8;p b a a;-p 2a 2b"),new J.symmetry.SpaceGroup("54:-cba;d2h^8;p c a a;-p 2ac 2c"),new J.symmetry.SpaceGroup("54:bca;d2h^8;p b c b;-p 2bc 2b"),new J.symmetry.SpaceGroup("54:a-cb;d2h^8;p b a b;-p 2b 2ab"),
new J.symmetry.SpaceGroup("55;d2h^9;p b a m;-p 2 2ab"),new J.symmetry.SpaceGroup("55:cab;d2h^9;p m c b;-p 2bc 2"),new J.symmetry.SpaceGroup("55:bca;d2h^9;p c m a;-p 2ac 2ac"),new J.symmetry.SpaceGroup("56;d2h^10;p c c n;-p 2ab 2ac"),new J.symmetry.SpaceGroup("56:cab;d2h^10;p n a a;-p 2ac 2bc"),new J.symmetry.SpaceGroup("56:bca;d2h^10;p b n b;-p 2bc 2ab"),new J.symmetry.SpaceGroup("57;d2h^11;p b c m;-p 2c 2b"),new J.symmetry.SpaceGroup("57:ba-c;d2h^11;p c a m;-p 2c 2ac"),new J.symmetry.SpaceGroup("57:cab;d2h^11;p m c a;-p 2ac 2a"),
new J.symmetry.SpaceGroup("57:-cba;d2h^11;p m a b;-p 2b 2a"),new J.symmetry.SpaceGroup("57:bca;d2h^11;p b m a;-p 2a 2ab"),new J.symmetry.SpaceGroup("57:a-cb;d2h^11;p c m b;-p 2bc 2c"),new J.symmetry.SpaceGroup("58;d2h^12;p n n m;-p 2 2n"),new J.symmetry.SpaceGroup("58:cab;d2h^12;p m n n;-p 2n 2"),new J.symmetry.SpaceGroup("58:bca;d2h^12;p n m n;-p 2n 2n"),new J.symmetry.SpaceGroup("59:1;d2h^13;p m m n:1;p 2 2ab -1ab"),new J.symmetry.SpaceGroup("59:2;d2h^13;p m m n:2;-p 2ab 2a"),new J.symmetry.SpaceGroup("59:1cab;d2h^13;p n m m:1;p 2bc 2 -1bc"),
new J.symmetry.SpaceGroup("59:2cab;d2h^13;p n m m:2;-p 2c 2bc"),new J.symmetry.SpaceGroup("59:1bca;d2h^13;p m n m:1;p 2ac 2ac -1ac"),new J.symmetry.SpaceGroup("59:2bca;d2h^13;p m n m:2;-p 2c 2a"),new J.symmetry.SpaceGroup("60;d2h^14;p b c n;-p 2n 2ab"),new J.symmetry.SpaceGroup("60:ba-c;d2h^14;p c a n;-p 2n 2c"),new J.symmetry.SpaceGroup("60:cab;d2h^14;p n c a;-p 2a 2n"),new J.symmetry.SpaceGroup("60:-cba;d2h^14;p n a b;-p 2bc 2n"),new J.symmetry.SpaceGroup("60:bca;d2h^14;p b n a;-p 2ac 2b"),new J.symmetry.SpaceGroup("60:a-cb;d2h^14;p c n b;-p 2b 2ac"),
new J.symmetry.SpaceGroup("61;d2h^15;p b c a;-p 2ac 2ab"),new J.symmetry.SpaceGroup("61:ba-c;d2h^15;p c a b;-p 2bc 2ac"),new J.symmetry.SpaceGroup("62;d2h^16;p n m a;-p 2ac 2n"),new J.symmetry.SpaceGroup("62:ba-c;d2h^16;p m n b;-p 2bc 2a"),new J.symmetry.SpaceGroup("62:cab;d2h^16;p b n m;-p 2c 2ab"),new J.symmetry.SpaceGroup("62:-cba;d2h^16;p c m n;-p 2n 2ac"),new J.symmetry.SpaceGroup("62:bca;d2h^16;p m c n;-p 2n 2a"),new J.symmetry.SpaceGroup("62:a-cb;d2h^16;p n a m;-p 2c 2n"),new J.symmetry.SpaceGroup("63;d2h^17;c m c m;-c 2c 2"),
new J.symmetry.SpaceGroup("63:ba-c;d2h^17;c c m m;-c 2c 2c"),new J.symmetry.SpaceGroup("63:cab;d2h^17;a m m a;-a 2a 2a"),new J.symmetry.SpaceGroup("63:-cba;d2h^17;a m a m;-a 2 2a"),new J.symmetry.SpaceGroup("63:bca;d2h^17;b b m m;-b 2 2b"),new J.symmetry.SpaceGroup("63:a-cb;d2h^17;b m m b;-b 2b 2"),new J.symmetry.SpaceGroup("64;d2h^18;c m c a;-c 2ac 2"),new J.symmetry.SpaceGroup("64:ba-c;d2h^18;c c m b;-c 2ac 2ac"),new J.symmetry.SpaceGroup("64:cab;d2h^18;a b m a;-a 2ab 2ab"),new J.symmetry.SpaceGroup("64:-cba;d2h^18;a c a m;-a 2 2ab"),
new J.symmetry.SpaceGroup("64:bca;d2h^18;b b c m;-b 2 2ab"),new J.symmetry.SpaceGroup("64:a-cb;d2h^18;b m a b;-b 2ab 2"),new J.symmetry.SpaceGroup("65;d2h^19;c m m m;-c 2 2"),new J.symmetry.SpaceGroup("65:cab;d2h^19;a m m m;-a 2 2"),new J.symmetry.SpaceGroup("65:bca;d2h^19;b m m m;-b 2 2"),new J.symmetry.SpaceGroup("66;d2h^20;c c c m;-c 2 2c"),new J.symmetry.SpaceGroup("66:cab;d2h^20;a m a a;-a 2a 2"),new J.symmetry.SpaceGroup("66:bca;d2h^20;b b m b;-b 2b 2b"),new J.symmetry.SpaceGroup("67;d2h^21;c m m a;-c 2a 2"),
new J.symmetry.SpaceGroup("67:ba-c;d2h^21;c m m b;-c 2a 2a"),new J.symmetry.SpaceGroup("67:cab;d2h^21;a b m m;-a 2b 2b"),new J.symmetry.SpaceGroup("67:-cba;d2h^21;a c m m;-a 2 2b"),new J.symmetry.SpaceGroup("67:bca;d2h^21;b m c m;-b 2 2a"),new J.symmetry.SpaceGroup("67:a-cb;d2h^21;b m a m;-b 2a 2"),new J.symmetry.SpaceGroup("68:1;d2h^22;c c c a:1;c 2 2 -1ac"),new J.symmetry.SpaceGroup("68:2;d2h^22;c c c a:2;-c 2a 2ac"),new J.symmetry.SpaceGroup("68:1ba-c;d2h^22;c c c b:1;c 2 2 -1ac"),new J.symmetry.SpaceGroup("68:2ba-c;d2h^22;c c c b:2;-c 2a 2c"),
new J.symmetry.SpaceGroup("68:1cab;d2h^22;a b a a:1;a 2 2 -1ab"),new J.symmetry.SpaceGroup("68:2cab;d2h^22;a b a a:2;-a 2a 2b"),new J.symmetry.SpaceGroup("68:1-cba;d2h^22;a c a a:1;a 2 2 -1ab"),new J.symmetry.SpaceGroup("68:2-cba;d2h^22;a c a a:2;-a 2ab 2b"),new J.symmetry.SpaceGroup("68:1bca;d2h^22;b b c b:1;b 2 2 -1ab"),new J.symmetry.SpaceGroup("68:2bca;d2h^22;b b c b:2;-b 2ab 2b"),new J.symmetry.SpaceGroup("68:1a-cb;d2h^22;b b a b:1;b 2 2 -1ab"),new J.symmetry.SpaceGroup("68:2a-cb;d2h^22;b b a b:2;-b 2b 2ab"),
new J.symmetry.SpaceGroup("69;d2h^23;f m m m;-f 2 2"),new J.symmetry.SpaceGroup("70:1;d2h^24;f d d d:1;f 2 2 -1d"),new J.symmetry.SpaceGroup("70:2;d2h^24;f d d d:2;-f 2uv 2vw"),new J.symmetry.SpaceGroup("71;d2h^25;i m m m;-i 2 2"),new J.symmetry.SpaceGroup("72;d2h^26;i b a m;-i 2 2c"),new J.symmetry.SpaceGroup("72:cab;d2h^26;i m c b;-i 2a 2"),new J.symmetry.SpaceGroup("72:bca;d2h^26;i c m a;-i 2b 2b"),new J.symmetry.SpaceGroup("73;d2h^27;i b c a;-i 2b 2c"),new J.symmetry.SpaceGroup("73:ba-c;d2h^27;i c a b;-i 2a 2b"),
new J.symmetry.SpaceGroup("74;d2h^28;i m m a;-i 2b 2"),new J.symmetry.SpaceGroup("74:ba-c;d2h^28;i m m b;-i 2a 2a"),new J.symmetry.SpaceGroup("74:cab;d2h^28;i b m m;-i 2c 2c"),new J.symmetry.SpaceGroup("74:-cba;d2h^28;i c m m;-i 2 2b"),new J.symmetry.SpaceGroup("74:bca;d2h^28;i m c m;-i 2 2a"),new J.symmetry.SpaceGroup("74:a-cb;d2h^28;i m a m;-i 2c 2"),new J.symmetry.SpaceGroup("75;c4^1;p 4;p 4"),new J.symmetry.SpaceGroup("76;c4^2;p 41;p 4w"),new J.symmetry.SpaceGroup("76*;c4^2;p 41*;p 41"),new J.symmetry.SpaceGroup("77;c4^3;p 42;p 4c"),
new J.symmetry.SpaceGroup("77*;c4^3;p 42*;p 42"),new J.symmetry.SpaceGroup("78;c4^4;p 43;p 4cw"),new J.symmetry.SpaceGroup("78*;c4^4;p 43*;p 43"),new J.symmetry.SpaceGroup("79;c4^5;i 4;i 4"),new J.symmetry.SpaceGroup("80;c4^6;i 41;i 4bw"),new J.symmetry.SpaceGroup("81;s4^1;p -4;p -4"),new J.symmetry.SpaceGroup("82;s4^2;i -4;i -4"),new J.symmetry.SpaceGroup("83;c4h^1;p 4/m;-p 4"),new J.symmetry.SpaceGroup("84;c4h^2;p 42/m;-p 4c"),new J.symmetry.SpaceGroup("84*;c4h^2;p 42/m*;-p 42"),new J.symmetry.SpaceGroup("85:1;c4h^3;p 4/n:1;p 4ab -1ab"),
new J.symmetry.SpaceGroup("85:2;c4h^3;p 4/n:2;-p 4a"),new J.symmetry.SpaceGroup("86:1;c4h^4;p 42/n:1;p 4n -1n"),new J.symmetry.SpaceGroup("86:2;c4h^4;p 42/n:2;-p 4bc"),new J.symmetry.SpaceGroup("87;c4h^5;i 4/m;-i 4"),new J.symmetry.SpaceGroup("88:1;c4h^6;i 41/a:1;i 4bw -1bw"),new J.symmetry.SpaceGroup("88:2;c4h^6;i 41/a:2;-i 4ad"),new J.symmetry.SpaceGroup("89;d4^1;p 4 2 2;p 4 2"),new J.symmetry.SpaceGroup("90;d4^2;p 4 21 2;p 4ab 2ab"),new J.symmetry.SpaceGroup("91;d4^3;p 41 2 2;p 4w 2c"),new J.symmetry.SpaceGroup("91*;d4^3;p 41 2 2*;p 41 2c"),
new J.symmetry.SpaceGroup("92;d4^4;p 41 21 2;p 4abw 2nw"),new J.symmetry.SpaceGroup("93;d4^5;p 42 2 2;p 4c 2"),new J.symmetry.SpaceGroup("93*;d4^5;p 42 2 2*;p 42 2"),new J.symmetry.SpaceGroup("94;d4^6;p 42 21 2;p 4n 2n"),new J.symmetry.SpaceGroup("95;d4^7;p 43 2 2;p 4cw 2c"),new J.symmetry.SpaceGroup("95*;d4^7;p 43 2 2*;p 43 2c"),new J.symmetry.SpaceGroup("96;d4^8;p 43 21 2;p 4nw 2abw"),new J.symmetry.SpaceGroup("97;d4^9;i 4 2 2;i 4 2"),new J.symmetry.SpaceGroup("98;d4^10;i 41 2 2;i 4bw 2bw"),new J.symmetry.SpaceGroup("99;c4v^1;p 4 m m;p 4 -2"),
new J.symmetry.SpaceGroup("100;c4v^2;p 4 b m;p 4 -2ab"),new J.symmetry.SpaceGroup("101;c4v^3;p 42 c m;p 4c -2c"),new J.symmetry.SpaceGroup("101*;c4v^3;p 42 c m*;p 42 -2c"),new J.symmetry.SpaceGroup("102;c4v^4;p 42 n m;p 4n -2n"),new J.symmetry.SpaceGroup("103;c4v^5;p 4 c c;p 4 -2c"),new J.symmetry.SpaceGroup("104;c4v^6;p 4 n c;p 4 -2n"),new J.symmetry.SpaceGroup("105;c4v^7;p 42 m c;p 4c -2"),new J.symmetry.SpaceGroup("105*;c4v^7;p 42 m c*;p 42 -2"),new J.symmetry.SpaceGroup("106;c4v^8;p 42 b c;p 4c -2ab"),
new J.symmetry.SpaceGroup("106*;c4v^8;p 42 b c*;p 42 -2ab"),new J.symmetry.SpaceGroup("107;c4v^9;i 4 m m;i 4 -2"),new J.symmetry.SpaceGroup("108;c4v^10;i 4 c m;i 4 -2c"),new J.symmetry.SpaceGroup("109;c4v^11;i 41 m d;i 4bw -2"),new J.symmetry.SpaceGroup("110;c4v^12;i 41 c d;i 4bw -2c"),new J.symmetry.SpaceGroup("111;d2d^1;p -4 2 m;p -4 2"),new J.symmetry.SpaceGroup("112;d2d^2;p -4 2 c;p -4 2c"),new J.symmetry.SpaceGroup("113;d2d^3;p -4 21 m;p -4 2ab"),new J.symmetry.SpaceGroup("114;d2d^4;p -4 21 c;p -4 2n"),
new J.symmetry.SpaceGroup("115;d2d^5;p -4 m 2;p -4 -2"),new J.symmetry.SpaceGroup("116;d2d^6;p -4 c 2;p -4 -2c"),new J.symmetry.SpaceGroup("117;d2d^7;p -4 b 2;p -4 -2ab"),new J.symmetry.SpaceGroup("118;d2d^8;p -4 n 2;p -4 -2n"),new J.symmetry.SpaceGroup("119;d2d^9;i -4 m 2;i -4 -2"),new J.symmetry.SpaceGroup("120;d2d^10;i -4 c 2;i -4 -2c"),new J.symmetry.SpaceGroup("121;d2d^11;i -4 2 m;i -4 2"),new J.symmetry.SpaceGroup("122;d2d^12;i -4 2 d;i -4 2bw"),new J.symmetry.SpaceGroup("123;d4h^1;p 4/m m m;-p 4 2"),
new J.symmetry.SpaceGroup("124;d4h^2;p 4/m c c;-p 4 2c"),new J.symmetry.SpaceGroup("125:1;d4h^3;p 4/n b m:1;p 4 2 -1ab"),new J.symmetry.SpaceGroup("125:2;d4h^3;p 4/n b m:2;-p 4a 2b"),new J.symmetry.SpaceGroup("126:1;d4h^4;p 4/n n c:1;p 4 2 -1n"),new J.symmetry.SpaceGroup("126:2;d4h^4;p 4/n n c:2;-p 4a 2bc"),new J.symmetry.SpaceGroup("127;d4h^5;p 4/m b m;-p 4 2ab"),new J.symmetry.SpaceGroup("128;d4h^6;p 4/m n c;-p 4 2n"),new J.symmetry.SpaceGroup("129:1;d4h^7;p 4/n m m:1;p 4ab 2ab -1ab"),new J.symmetry.SpaceGroup("129:2;d4h^7;p 4/n m m:2;-p 4a 2a"),
new J.symmetry.SpaceGroup("130:1;d4h^8;p 4/n c c:1;p 4ab 2n -1ab"),new J.symmetry.SpaceGroup("130:2;d4h^8;p 4/n c c:2;-p 4a 2ac"),new J.symmetry.SpaceGroup("131;d4h^9;p 42/m m c;-p 4c 2"),new J.symmetry.SpaceGroup("132;d4h^10;p 42/m c m;-p 4c 2c"),new J.symmetry.SpaceGroup("133:1;d4h^11;p 42/n b c:1;p 4n 2c -1n"),new J.symmetry.SpaceGroup("133:2;d4h^11;p 42/n b c:2;-p 4ac 2b"),new J.symmetry.SpaceGroup("134:1;d4h^12;p 42/n n m:1;p 4n 2 -1n"),new J.symmetry.SpaceGroup("134:2;d4h^12;p 42/n n m:2;-p 4ac 2bc"),
new J.symmetry.SpaceGroup("135;d4h^13;p 42/m b c;-p 4c 2ab"),new J.symmetry.SpaceGroup("135*;d4h^13;p 42/m b c*;-p 42 2ab"),new J.symmetry.SpaceGroup("136;d4h^14;p 42/m n m;-p 4n 2n"),new J.symmetry.SpaceGroup("137:1;d4h^15;p 42/n m c:1;p 4n 2n -1n"),new J.symmetry.SpaceGroup("137:2;d4h^15;p 42/n m c:2;-p 4ac 2a"),new J.symmetry.SpaceGroup("138:1;d4h^16;p 42/n c m:1;p 4n 2ab -1n"),new J.symmetry.SpaceGroup("138:2;d4h^16;p 42/n c m:2;-p 4ac 2ac"),new J.symmetry.SpaceGroup("139;d4h^17;i 4/m m m;-i 4 2"),
new J.symmetry.SpaceGroup("140;d4h^18;i 4/m c m;-i 4 2c"),new J.symmetry.SpaceGroup("141:1;d4h^19;i 41/a m d:1;i 4bw 2bw -1bw"),new J.symmetry.SpaceGroup("141:2;d4h^19;i 41/a m d:2;-i 4bd 2"),new J.symmetry.SpaceGroup("142:1;d4h^20;i 41/a c d:1;i 4bw 2aw -1bw"),new J.symmetry.SpaceGroup("142:2;d4h^20;i 41/a c d:2;-i 4bd 2c"),new J.symmetry.SpaceGroup("143;c3^1;p 3;p 3"),new J.symmetry.SpaceGroup("144;c3^2;p 31;p 31"),new J.symmetry.SpaceGroup("145;c3^3;p 32;p 32"),new J.symmetry.SpaceGroup("146:h;c3^4;r 3:h;r 3"),
new J.symmetry.SpaceGroup("146:r;c3^4;r 3:r;p 3*"),new J.symmetry.SpaceGroup("147;c3i^1;p -3;-p 3"),new J.symmetry.SpaceGroup("148:h;c3i^2;r -3:h;-r 3"),new J.symmetry.SpaceGroup("148:r;c3i^2;r -3:r;-p 3*"),new J.symmetry.SpaceGroup("149;d3^1;p 3 1 2;p 3 2"),new J.symmetry.SpaceGroup('150;d3^2;p 3 2 1;p 3 2"'),new J.symmetry.SpaceGroup("151;d3^3;p 31 1 2;p 31 2 (0 0 4)"),new J.symmetry.SpaceGroup('152;d3^4;p 31 2 1;p 31 2"'),new J.symmetry.SpaceGroup("153;d3^5;p 32 1 2;p 32 2 (0 0 2)"),new J.symmetry.SpaceGroup('154;d3^6;p 32 2 1;p 32 2"'),
new J.symmetry.SpaceGroup('155:h;d3^7;r 3 2:h;r 3 2"'),new J.symmetry.SpaceGroup("155:r;d3^7;r 3 2:r;p 3* 2"),new J.symmetry.SpaceGroup('156;c3v^1;p 3 m 1;p 3 -2"'),new J.symmetry.SpaceGroup("157;c3v^2;p 3 1 m;p 3 -2"),new J.symmetry.SpaceGroup('158;c3v^3;p 3 c 1;p 3 -2"c'),new J.symmetry.SpaceGroup("159;c3v^4;p 3 1 c;p 3 -2c"),new J.symmetry.SpaceGroup('160:h;c3v^5;r 3 m:h;r 3 -2"'),new J.symmetry.SpaceGroup("160:r;c3v^5;r 3 m:r;p 3* -2"),new J.symmetry.SpaceGroup('161:h;c3v^6;r 3 c:h;r 3 -2"c'),
new J.symmetry.SpaceGroup("161:r;c3v^6;r 3 c:r;p 3* -2n"),new J.symmetry.SpaceGroup("162;d3d^1;p -3 1 m;-p 3 2"),new J.symmetry.SpaceGroup("163;d3d^2;p -3 1 c;-p 3 2c"),new J.symmetry.SpaceGroup('164;d3d^3;p -3 m 1;-p 3 2"'),new J.symmetry.SpaceGroup('165;d3d^4;p -3 c 1;-p 3 2"c'),new J.symmetry.SpaceGroup('166:h;d3d^5;r -3 m:h;-r 3 2"'),new J.symmetry.SpaceGroup("166:r;d3d^5;r -3 m:r;-p 3* 2"),new J.symmetry.SpaceGroup('167:h;d3d^6;r -3 c:h;-r 3 2"c'),new J.symmetry.SpaceGroup("167:r;d3d^6;r -3 c:r;-p 3* 2n"),
new J.symmetry.SpaceGroup("168;c6^1;p 6;p 6"),new J.symmetry.SpaceGroup("169;c6^2;p 61;p 61"),new J.symmetry.SpaceGroup("170;c6^3;p 65;p 65"),new J.symmetry.SpaceGroup("171;c6^4;p 62;p 62"),new J.symmetry.SpaceGroup("172;c6^5;p 64;p 64"),new J.symmetry.SpaceGroup("173;c6^6;p 63;p 6c"),new J.symmetry.SpaceGroup("173*;c6^6;p 63*;p 63 "),new J.symmetry.SpaceGroup("174;c3h^1;p -6;p -6"),new J.symmetry.SpaceGroup("175;c6h^1;p 6/m;-p 6"),new J.symmetry.SpaceGroup("176;c6h^2;p 63/m;-p 6c"),new J.symmetry.SpaceGroup("176*;c6h^2;p 63/m*;-p 63"),
new J.symmetry.SpaceGroup("177;d6^1;p 6 2 2;p 6 2"),new J.symmetry.SpaceGroup("178;d6^2;p 61 2 2;p 61 2 (0 0 5)"),new J.symmetry.SpaceGroup("179;d6^3;p 65 2 2;p 65 2 (0 0 1)"),new J.symmetry.SpaceGroup("180;d6^4;p 62 2 2;p 62 2 (0 0 4)"),new J.symmetry.SpaceGroup("181;d6^5;p 64 2 2;p 64 2 (0 0 2)"),new J.symmetry.SpaceGroup("182;d6^6;p 63 2 2;p 6c 2c"),new J.symmetry.SpaceGroup("182*;d6^6;p 63 2 2*;p 63 2c"),new J.symmetry.SpaceGroup("183;c6v^1;p 6 m m;p 6 -2"),new J.symmetry.SpaceGroup("184;c6v^2;p 6 c c;p 6 -2c"),
new J.symmetry.SpaceGroup("185;c6v^3;p 63 c m;p 6c -2"),new J.symmetry.SpaceGroup("185*;c6v^3;p 63 c m*;p 63 -2"),new J.symmetry.SpaceGroup("186;c6v^4;p 63 m c;p 6c -2c"),new J.symmetry.SpaceGroup("186*;c6v^4;p 63 m c*;p 63 -2c"),new J.symmetry.SpaceGroup("187;d3h^1;p -6 m 2;p -6 2"),new J.symmetry.SpaceGroup("188;d3h^2;p -6 c 2;p -6c 2"),new J.symmetry.SpaceGroup("189;d3h^3;p -6 2 m;p -6 -2"),new J.symmetry.SpaceGroup("190;d3h^4;p -6 2 c;p -6c -2c"),new J.symmetry.SpaceGroup("191;d6h^1;p 6/m m m;-p 6 2"),
new J.symmetry.SpaceGroup("192;d6h^2;p 6/m c c;-p 6 2c"),new J.symmetry.SpaceGroup("193;d6h^3;p 63/m c m;-p 6c 2"),new J.symmetry.SpaceGroup("193*;d6h^3;p 63/m c m*;-p 63 2"),new J.symmetry.SpaceGroup("194;d6h^4;p 63/m m c;-p 6c 2c"),new J.symmetry.SpaceGroup("194*;d6h^4;p 63/m m c*;-p 63 2c"),new J.symmetry.SpaceGroup("195;t^1;p 2 3;p 2 2 3"),new J.symmetry.SpaceGroup("196;t^2;f 2 3;f 2 2 3"),new J.symmetry.SpaceGroup("197;t^3;i 2 3;i 2 2 3"),new J.symmetry.SpaceGroup("198;t^4;p 21 3;p 2ac 2ab 3"),
new J.symmetry.SpaceGroup("199;t^5;i 21 3;i 2b 2c 3"),new J.symmetry.SpaceGroup("200;th^1;p m -3;-p 2 2 3"),new J.symmetry.SpaceGroup("201:1;th^2;p n -3:1;p 2 2 3 -1n"),new J.symmetry.SpaceGroup("201:2;th^2;p n -3:2;-p 2ab 2bc 3"),new J.symmetry.SpaceGroup("202;th^3;f m -3;-f 2 2 3"),new J.symmetry.SpaceGroup("203:1;th^4;f d -3:1;f 2 2 3 -1d"),new J.symmetry.SpaceGroup("203:2;th^4;f d -3:2;-f 2uv 2vw 3"),new J.symmetry.SpaceGroup("204;th^5;i m -3;-i 2 2 3"),new J.symmetry.SpaceGroup("205;th^6;p a -3;-p 2ac 2ab 3"),
new J.symmetry.SpaceGroup("206;th^7;i a -3;-i 2b 2c 3"),new J.symmetry.SpaceGroup("207;o^1;p 4 3 2;p 4 2 3"),new J.symmetry.SpaceGroup("208;o^2;p 42 3 2;p 4n 2 3"),new J.symmetry.SpaceGroup("209;o^3;f 4 3 2;f 4 2 3"),new J.symmetry.SpaceGroup("210;o^4;f 41 3 2;f 4d 2 3"),new J.symmetry.SpaceGroup("211;o^5;i 4 3 2;i 4 2 3"),new J.symmetry.SpaceGroup("212;o^6;p 43 3 2;p 4acd 2ab 3"),new J.symmetry.SpaceGroup("213;o^7;p 41 3 2;p 4bd 2ab 3"),new J.symmetry.SpaceGroup("214;o^8;i 41 3 2;i 4bd 2c 3"),new J.symmetry.SpaceGroup("215;td^1;p -4 3 m;p -4 2 3"),
new J.symmetry.SpaceGroup("216;td^2;f -4 3 m;f -4 2 3"),new J.symmetry.SpaceGroup("217;td^3;i -4 3 m;i -4 2 3"),new J.symmetry.SpaceGroup("218;td^4;p -4 3 n;p -4n 2 3"),new J.symmetry.SpaceGroup("219;td^5;f -4 3 c;f -4a 2 3"),new J.symmetry.SpaceGroup("220;td^6;i -4 3 d;i -4bd 2c 3"),new J.symmetry.SpaceGroup("221;oh^1;p m -3 m;-p 4 2 3"),new J.symmetry.SpaceGroup("222:1;oh^2;p n -3 n:1;p 4 2 3 -1n"),new J.symmetry.SpaceGroup("222:2;oh^2;p n -3 n:2;-p 4a 2bc 3"),new J.symmetry.SpaceGroup("223;oh^3;p m -3 n;-p 4n 2 3"),
new J.symmetry.SpaceGroup("224:1;oh^4;p n -3 m:1;p 4n 2 3 -1n"),new J.symmetry.SpaceGroup("224:2;oh^4;p n -3 m:2;-p 4bc 2bc 3"),new J.symmetry.SpaceGroup("225;oh^5;f m -3 m;-f 4 2 3"),new J.symmetry.SpaceGroup("226;oh^6;f m -3 c;-f 4a 2 3"),new J.symmetry.SpaceGroup("227:1;oh^7;f d -3 m:1;f 4d 2 3 -1d"),new J.symmetry.SpaceGroup("227:2;oh^7;f d -3 m:2;-f 4vw 2vw 3"),new J.symmetry.SpaceGroup("228:1;oh^8;f d -3 c:1;f 4d 2 3 -1ad"),new J.symmetry.SpaceGroup("228:2;oh^8;f d -3 c:2;-f 4ud 2vw 3"),new J.symmetry.SpaceGroup("229;oh^9;i m -3 m;-i 4 2 3"),
new J.symmetry.SpaceGroup("230;oh^10;i a -3 d;-i 4bd 2c 3")],J.symmetry.SpaceGroup.prototype.spaceGroupDefinitions=J.symmetry.SpaceGroup.spaceGroupDefinitions,$t$):J.symmetry.SpaceGroup.spaceGroupDefinitions},$fz.isPrivate=!0,$fz));$_M(c$,"addLatticeVectors",function(a){for(var b=this.latticeOp=this.operationCount,c=0;c<a.size();c++){var d=a.get(c);if(d.length>this.modulationDimension+3)break;for(var e=0;e<b;e++){var h=this.operations[e].rotTransMatrix,f=new J.symmetry.SymmetryOperation(null,null,
0,0,this.doNormalize);f.modDim=this.modulationDimension;f.rotTransMatrix=JU.ArrayUtil.arrayCopyF(h,-1);f.setFromMatrix(d,!1);f.xyzOriginal=f.xyz;this.addOp(f,f.xyz,!0)}}},"JU.List");$_M(c$,"getSiteMultiplicity",function(a,b){for(var c=this.finalOperations.length,d=new JU.List,e=c;0<=--e;){var h=JU.P3.newP(a);this.finalOperations[e].transform(h);b.unitize(h);for(var f=d.size();0<=--f;){var k=d.get(f);if(1E-6>h.distanceSquared(k)){h=null;break}}null!=h&&d.addLast(h)}return Clazz.doubleToInt(c/d.size())},
"JU.P3,J.symmetry.UnitCell");Clazz.defineStatics(c$,"canonicalSeitzList",null,"NAME_HALL",5,"NAME_HM",3,"sgIndex",-1,"ambiguousNames","","lastInfo","","spaceGroupDefinitions",null)});Clazz.declarePackage("J.symmetry");
Clazz.load(null,"J.symmetry.HallInfo",["JU.P3i","$.SB","J.symmetry.HallRotationTerm","$.HallTranslation","J.util.Logger"],function(){c$=Clazz.decorateAsClass(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;Clazz.instantialize(this,arguments)},J.symmetry,"HallInfo");Clazz.prepareFields(c$,function(){this.rotationTerms=Array(16)});Clazz.makeConstructor(c$,
function(a){try{var b=this.hallSymbol=a.trim(),b=this.extractLatticeInfo(b);if(0!=J.symmetry.HallTranslation.getLatticeIndex(this.latticeCode)){this.latticeExtension=J.symmetry.HallTranslation.getLatticeExtension(this.latticeCode,this.isCentrosymmetric);b=this.extractVectorInfo(b)+this.latticeExtension;J.util.Logger.debugging&&J.util.Logger.debug("Hallinfo: "+a+" "+b);a=0;var c="\x00";for(this.primitiveHallSymbol="P";0<b.length&&16>this.nRotations;){var b=this.extractRotationInfo(b,a,c),d=this.rotationTerms[this.nRotations-
1];a=d.order;c=d.axisType;this.primitiveHallSymbol+=" "+d.primitiveCode}this.primitiveHallSymbol+=this.vectorCode}}catch(e){if(Clazz.exceptionOf(e,Exception))J.util.Logger.error("Invalid Hall symbol "+e),this.nRotations=0;else throw e;}},"~S");$_M(c$,"dumpInfo",function(){var a=new JU.SB;a.append("\nHall symbol: ").append(this.hallSymbol).append("\nprimitive Hall symbol: ").append(this.primitiveHallSymbol).append("\nlattice type: ").append(this.getLatticeDesignation());for(var b=0;b<this.nRotations;b++)a.append("\n\nrotation term ").appendI(b+
1).append(this.rotationTerms[b].dumpInfo(this.vectorCode));return a.toString()});$_M(c$,"getLatticeDesignation",($fz=function(){return J.symmetry.HallTranslation.getLatticeDesignation2(this.latticeCode,this.isCentrosymmetric)},$fz.isPrivate=!0,$fz));$_M(c$,"extractLatticeInfo",($fz=function(a){var b=a.indexOf(" ");if(0>b)return"";var c=a.substring(0,b).toUpperCase();this.latticeCode=c.charAt(0);"-"==this.latticeCode&&(this.isCentrosymmetric=!0,this.latticeCode=c.charAt(1));return a.substring(b+1).trim()},
$fz.isPrivate=!0,$fz),"~S");$_M(c$,"extractVectorInfo",($fz=function(a){this.vector12ths=new JU.P3i;this.vectorCode="";var b=a.indexOf("("),c=a.indexOf(")",b);0<b&&c>b&&(c=a.substring(b+1,c),this.vectorCode=" ("+c+")",a=a.substring(0,b).trim(),b=c.indexOf(" "),0<=b&&(this.vector12ths.x=Integer.parseInt(c.substring(0,b)),c=c.substring(b+1).trim(),b=c.indexOf(" "),0<=b&&(this.vector12ths.y=Integer.parseInt(c.substring(0,b)),c=c.substring(b+1).trim())),this.vector12ths.z=Integer.parseInt(c));return a},
$fz.isPrivate=!0,$fz),"~S");$_M(c$,"extractRotationInfo",($fz=function(a,b,c){var d=a.indexOf(" "),e;0<=d?(e=a.substring(0,d),a=a.substring(d+1).trim()):(e=a,a="");this.rotationTerms[this.nRotations]=new J.symmetry.HallRotationTerm(this,e,b,c);this.nRotations++;return a},$fz.isPrivate=!0,$fz),"~S,~N,~S")});Clazz.declarePackage("J.symmetry");
Clazz.load(["JU.M4"],"J.symmetry.HallRotationTerm",["JU.SB","J.symmetry.HallRotation","$.HallTranslation","$.SymmetryOperation","J.util.Logger"],function(){c$=Clazz.decorateAsClass(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;Clazz.instantialize(this,arguments)},J.symmetry,"HallRotationTerm");Clazz.prepareFields(c$,
function(){this.seitzMatrix12ths=new JU.M4});Clazz.makeConstructor(c$,function(a,b,c,d){this.inputCode=b;b+="   ";"-"==b.charAt(0)&&(this.isImproper=!0,b=b.substring(1));this.primitiveCode="";this.order=b.charCodeAt(0)-48;this.axisType=this.diagonalReferenceAxis="\x00";var e=2,h;switch(h=b.charAt(1)){case "x":case "y":case "z":switch(b.charAt(2)){case "'":case '"':this.diagonalReferenceAxis=h,h=b.charAt(2),e++}case "*":this.axisType=h;break;case "'":case '"':this.axisType=h;switch(b.charAt(2)){case "x":case "y":case "z":this.diagonalReferenceAxis=
b.charAt(2);e++;break;default:this.diagonalReferenceAxis=d}break;default:this.axisType=1==this.order?"_":0==a.nRotations?"z":2==a.nRotations?"*":2==c||4==c?"x":"'",b=b.substring(0,1)+this.axisType+b.substring(1)}this.primitiveCode+="_"==this.axisType?"1":b.substring(0,2);"\x00"!=this.diagonalReferenceAxis&&(b=b.substring(0,1)+this.diagonalReferenceAxis+this.axisType+b.substring(e),this.primitiveCode+=this.diagonalReferenceAxis,e=3);this.lookupCode=b.substring(0,e);this.rotation=J.symmetry.HallRotation.lookup(this.lookupCode);
if(null==this.rotation)J.util.Logger.error("Rotation lookup could not find "+this.inputCode+" ? "+this.lookupCode);else{this.translation=new J.symmetry.HallTranslation("\x00",null);this.translationString="";for(c=b.length;e<c;e++)d=b.charAt(e),d=J.symmetry.HallTranslation.getHallTranslation(d,this.order),null!=d&&(this.translationString+=""+d.translationCode,this.translation.rotationShift12ths+=d.rotationShift12ths,this.translation.vectorShift12ths.add(d.vectorShift12ths));this.primitiveCode=(this.isImproper?
"-":"")+this.primitiveCode+this.translationString;this.isImproper?this.seitzMatrix12ths.setM(this.rotation.seitzMatrixInv):this.seitzMatrix12ths.setM(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){case "x":this.seitzMatrix12ths.m03+=this.translation.rotationShift12ths;break;case "y":this.seitzMatrix12ths.m13+=this.translation.rotationShift12ths;
break;case "z":this.seitzMatrix12ths.m23+=this.translation.rotationShift12ths}0<a.vectorCode.length&&(e=new JU.M4,c=new JU.M4,e.setIdentity(),c.setIdentity(),a=a.vector12ths,e.m03=a.x,e.m13=a.y,e.m23=a.z,c.m03=-a.x,c.m13=-a.y,c.m23=-a.z,this.seitzMatrix12ths.mul2(e,this.seitzMatrix12ths),this.seitzMatrix12ths.mulM4(c));J.util.Logger.debugging&&J.util.Logger.debug("code = "+b+"; primitive code ="+this.primitiveCode+"\n Seitz Matrix(12ths):"+this.seitzMatrix12ths)}},"J.symmetry.HallInfo,~S,~N,~S");
$_M(c$,"dumpInfo",function(a){var b=new JU.SB;b.append("\ninput code: ").append(this.inputCode).append("; primitive code: ").append(this.primitiveCode).append("\norder: ").appendI(this.order).append(this.isImproper?" (improper axis)":"");"_"!=this.axisType&&(b.append("; axisType: ").appendC(this.axisType),"\x00"!=this.diagonalReferenceAxis&&b.appendC(this.diagonalReferenceAxis));0<this.translationString.length&&b.append("; translation: ").append(this.translationString);0<a.length&&b.append("; vector offset: ").append(a);
null!=this.rotation&&b.append("\noperator: ").append(this.getXYZ(this.allPositive)).append("\nSeitz matrix:\n").append(J.symmetry.SymmetryOperation.dumpSeitz(this.seitzMatrix12ths));return b.toString()},"~S");$_M(c$,"getXYZ",function(a){return J.symmetry.SymmetryOperation.getXYZFromMatrix(this.seitzMatrix12ths,!0,a,!0)},"~B")});Clazz.declarePackage("J.symmetry");
Clazz.load(["JU.M4"],"J.symmetry.HallRotation",null,function(){c$=Clazz.decorateAsClass(function(){this.seitzMatrixInv=this.seitzMatrix=this.rotCode=null;Clazz.instantialize(this,arguments)},J.symmetry,"HallRotation");Clazz.prepareFields(c$,function(){this.seitzMatrix=new JU.M4;this.seitzMatrixInv=new JU.M4});Clazz.makeConstructor(c$,($fz=function(a,b){this.rotCode=a;var c=Clazz.newFloatArray(16,0),d=Clazz.newFloatArray(16,0);c[15]=d[15]=1;for(var e=0,h=0;11>h;e++){var f=0;switch(b.charAt(e)){case " ":h++;
continue;case "+":case "1":f=1;break;case "-":f=-1}c[h]=f;d[h]=-f;h++}this.seitzMatrix.setA(c,0);this.seitzMatrixInv.setA(d,0)},$fz.isPrivate=!0,$fz),"~S,~S");c$.lookup=$_M(c$,"lookup",function(a){for(var b=J.symmetry.HallRotation.getHallTerms().length;0<=--b;)if(J.symmetry.HallRotation.hallRotationTerms[b].rotCode.equals(a))return J.symmetry.HallRotation.hallRotationTerms[b];return null},"~S");c$.getHallTerms=$_M(c$,"getHallTerms",($fz=function(){return null==J.symmetry.HallRotation.hallRotationTerms?
($t$=J.symmetry.HallRotation.hallRotationTerms=[new J.symmetry.HallRotation("1_","+00 0+0 00+"),new J.symmetry.HallRotation("2x","+00 0-0 00-"),new J.symmetry.HallRotation("2y","-00 0+0 00-"),new J.symmetry.HallRotation("2z","-00 0-0 00+"),new J.symmetry.HallRotation("2'","0-0 -00 00-"),new J.symmetry.HallRotation('2"',"0+0 +00 00-"),new J.symmetry.HallRotation("2x'","-00 00- 0-0"),new J.symmetry.HallRotation('2x"',"-00 00+ 0+0"),new J.symmetry.HallRotation("2y'","00- 0-0 -00"),new J.symmetry.HallRotation('2y"',
"00+ 0-0 +00"),new J.symmetry.HallRotation("2z'","0-0 -00 00-"),new J.symmetry.HallRotation('2z"',"0+0 +00 00-"),new J.symmetry.HallRotation("3x","+00 00- 0+-"),new J.symmetry.HallRotation("3y","-0+ 0+0 -00"),new J.symmetry.HallRotation("3z","0-0 +-0 00+"),new J.symmetry.HallRotation("3*","00+ +00 0+0"),new J.symmetry.HallRotation("4x","+00 00- 0+0"),new J.symmetry.HallRotation("4y","00+ 0+0 -00"),new J.symmetry.HallRotation("4z","0-0 +00 00+"),new J.symmetry.HallRotation("6x","+00 0+- 0+0"),new J.symmetry.HallRotation("6y",
"00+ 0+0 -0+"),new J.symmetry.HallRotation("6z","+-0 +00 00+")],J.symmetry.HallRotation.prototype.hallRotationTerms=J.symmetry.HallRotation.hallRotationTerms,$t$):J.symmetry.HallRotation.hallRotationTerms},$fz.isPrivate=!0,$fz));Clazz.defineStatics(c$,"hallRotationTerms",null)});Clazz.declarePackage("J.symmetry");
Clazz.load(null,"J.symmetry.HallTranslation",["JU.P3i"],function(){c$=Clazz.decorateAsClass(function(){this.translationCode="\x00";this.rotationShift12ths=this.rotationOrder=0;this.vectorShift12ths=null;Clazz.instantialize(this,arguments)},J.symmetry,"HallTranslation");Clazz.makeConstructor(c$,function(a,b){this.translationCode=a;if(null!=b){if(0<=b.z){this.vectorShift12ths=b;return}this.rotationOrder=b.x;this.rotationShift12ths=b.y}this.vectorShift12ths=new JU.P3i},"~S,JU.P3i");c$.getHallLatticeEquivalent=
$_M(c$,"getHallLatticeEquivalent",function(a){var b=J.symmetry.HallTranslation.getLatticeCode(a);return(0<a?"-":"")+b+" 1"},"~N");c$.getLatticeIndex=$_M(c$,"getLatticeIndex",function(a){for(var b=1,c=3;b<=J.symmetry.HallTranslation.nLatticeTypes;b++,c+=3)if(J.symmetry.HallTranslation.latticeTranslationData[c].charAt(0)==a)return b;return 0},"~S");c$.getLatticeCode=$_M(c$,"getLatticeCode",function(a){0>a&&(a=-a);return 0==a?"\x00":a>J.symmetry.HallTranslation.nLatticeTypes?J.symmetry.HallTranslation.getLatticeCode(J.symmetry.HallTranslation.getLatticeIndex(String.fromCharCode(a))):
J.symmetry.HallTranslation.latticeTranslationData[3*a].charAt(0)},"~N");c$.getLatticeDesignation=$_M(c$,"getLatticeDesignation",function(a){var b=0<a;0>a&&(a=-a);return 0==a||a>J.symmetry.HallTranslation.nLatticeTypes?"":(b?"-":"")+J.symmetry.HallTranslation.getLatticeCode(a)+": "+(b?"centrosymmetric ":"")+J.symmetry.HallTranslation.latticeTranslationData[3*a+1]},"~N");c$.getLatticeDesignation2=$_M(c$,"getLatticeDesignation2",function(a,b){var c=J.symmetry.HallTranslation.getLatticeIndex(a);b||(c=
-c);return J.symmetry.HallTranslation.getLatticeDesignation(c)},"~S,~B");c$.getLatticeExtension=$_M(c$,"getLatticeExtension",function(a,b){for(var c=1,d=3;c<=J.symmetry.HallTranslation.nLatticeTypes;c++,d+=3)if(J.symmetry.HallTranslation.latticeTranslationData[d].charAt(0)==a)return J.symmetry.HallTranslation.latticeTranslationData[d+2]+(b?" -1":"");return""},"~S,~B");c$.getHallTerms=$_M(c$,"getHallTerms",($fz=function(){return null==J.symmetry.HallTranslation.hallTranslationTerms?($t$=J.symmetry.HallTranslation.hallTranslationTerms=
[new J.symmetry.HallTranslation("a",JU.P3i.new3(6,0,0)),new J.symmetry.HallTranslation("b",JU.P3i.new3(0,6,0)),new J.symmetry.HallTranslation("c",JU.P3i.new3(0,0,6)),new J.symmetry.HallTranslation("n",JU.P3i.new3(6,6,6)),new J.symmetry.HallTranslation("u",JU.P3i.new3(3,0,0)),new J.symmetry.HallTranslation("v",JU.P3i.new3(0,3,0)),new J.symmetry.HallTranslation("w",JU.P3i.new3(0,0,3)),new J.symmetry.HallTranslation("d",JU.P3i.new3(3,3,3)),new J.symmetry.HallTranslation("1",JU.P3i.new3(2,6,-1)),new J.symmetry.HallTranslation("1",
JU.P3i.new3(3,4,-1)),new J.symmetry.HallTranslation("2",JU.P3i.new3(3,8,-1)),new J.symmetry.HallTranslation("1",JU.P3i.new3(4,3,-1)),new J.symmetry.HallTranslation("3",JU.P3i.new3(4,9,-1)),new J.symmetry.HallTranslation("1",JU.P3i.new3(6,2,-1)),new J.symmetry.HallTranslation("2",JU.P3i.new3(6,4,-1)),new J.symmetry.HallTranslation("4",JU.P3i.new3(6,8,-1)),new J.symmetry.HallTranslation("5",JU.P3i.new3(6,10,-1)),new J.symmetry.HallTranslation("r",JU.P3i.new3(4,8,8)),new J.symmetry.HallTranslation("s",
JU.P3i.new3(8,8,4)),new J.symmetry.HallTranslation("t",JU.P3i.new3(8,4,8))],J.symmetry.HallTranslation.prototype.hallTranslationTerms=J.symmetry.HallTranslation.hallTranslationTerms,$t$):J.symmetry.HallTranslation.hallTranslationTerms},$fz.isPrivate=!0,$fz));c$.getHallTranslation=$_M(c$,"getHallTranslation",function(a,b){for(var c=null,d=J.symmetry.HallTranslation.getHallTerms().length;0<=--d;){var e=J.symmetry.HallTranslation.hallTranslationTerms[d];if(e.translationCode==a&&(0==e.rotationOrder||
e.rotationOrder==b)){c=new J.symmetry.HallTranslation(a,null);c.translationCode=a;c.rotationShift12ths=e.rotationShift12ths;c.vectorShift12ths=e.vectorShift12ths;break}}return c},"~S,~N");Clazz.defineStatics(c$,"latticeTranslationData","\x00;unknown;;P;primitive;;I;body-centered; 1n;R;rhombohedral; 1r 1r;F;face-centered; 1ab 1bc 1ac;A;A-centered; 1bc;B;B-centered; 1ac;C;C-centered; 1ab;S;rhombohedral(S); 1s 1s;T;rhombohedral(T); 1t 1t".split(";"));c$.nLatticeTypes=c$.prototype.nLatticeTypes=Clazz.doubleToInt(J.symmetry.HallTranslation.latticeTranslationData.length/
3)-1;Clazz.defineStatics(c$,"hallTranslationTerms",null)});Clazz.declarePackage("J.symmetry");
Clazz.load(["JU.M4"],"J.symmetry.SymmetryOperation","java.lang.Float JU.List $.P3 $.P4 $.SB $.V3 J.util.Escape $.Logger $.Measure $.Parser $.ParserBS $.Quaternion $.Txt".split(" "),function(){c$=Clazz.decorateAsClass(function(){this.xyz=this.xyzOriginal=null;this.doNormalize=!0;this.isFinalized=!1;this.opId=0;this.myLabels=this.temp3=this.atomTest=null;this.modDim=0;this.gammaIS=this.rotTransMatrix=null;Clazz.instantialize(this,arguments)},J.symmetry,"SymmetryOperation",JU.M4);Clazz.overrideConstructor(c$,
function(a,b,c,d,e){this.doNormalize=e;null==a?this.opId=d:(this.xyzOriginal=a.xyzOriginal,this.xyz=a.xyz,this.opId=a.opId,this.modDim=a.modDim,this.myLabels=a.myLabels,this.rotTransMatrix=a.rotTransMatrix,this.setM(a),32==a.rotTransMatrix.length&&this.setMod456(),this.doFinalize(),e&&this.setOffset(b,c,d))},"J.symmetry.SymmetryOperation,~A,~N,~N,~B");$_M(c$,"setMod456",($fz=function(){(this.gammaIS=new JU.M4).setA(this.rotTransMatrix,16)},$fz.isPrivate=!0,$fz));$_M(c$,"doFinalize",function(){this.m03/=
12;this.m13/=12;this.m23/=12;0<this.modDim&&(this.gammaIS.m03/=12,this.gammaIS.m13/=12,this.gammaIS.m23/=12);this.isFinalized=!0});$_M(c$,"getXyz",function(a){return a&&0==this.modDim||null==this.xyzOriginal?this.xyz:this.xyzOriginal},"~B");$_M(c$,"newPoint",function(a,b,c,d,e){null==this.temp3&&(this.temp3=new JU.P3);this.temp3.setT(a);this.transform2(this.temp3,this.temp3);b.set(this.temp3.x+c,this.temp3.y+d,this.temp3.z+e)},"JU.P3,JU.P3,~N,~N,~N");$_M(c$,"dumpInfo",function(){return"\n"+this.xyz+
"\ninternal matrix representation:\n"+this.toString()});c$.dumpSeitz=$_M(c$,"dumpSeitz",function(a){return(new JU.SB).append("{\t").appendI(Clazz.floatToInt(a.m00)).append("\t").appendI(Clazz.floatToInt(a.m01)).append("\t").appendI(Clazz.floatToInt(a.m02)).append("\t").append(J.symmetry.SymmetryOperation.twelfthsOf(a.m03)).append("\t}\n").append("{\t").appendI(Clazz.floatToInt(a.m10)).append("\t").appendI(Clazz.floatToInt(a.m11)).append("\t").appendI(Clazz.floatToInt(a.m12)).append("\t").append(J.symmetry.SymmetryOperation.twelfthsOf(a.m13)).append("\t}\n").append("{\t").appendI(Clazz.floatToInt(a.m20)).append("\t").appendI(Clazz.floatToInt(a.m21)).append("\t").appendI(Clazz.floatToInt(a.m22)).append("\t").append(J.symmetry.SymmetryOperation.twelfthsOf(a.m23)).append("\t}\n").append("{\t0\t0\t0\t1\t}\n").toString()},
"JU.M4");c$.dumpCanonicalSeitz=$_M(c$,"dumpCanonicalSeitz",function(a){return(new JU.SB).append("{\t").appendI(Clazz.floatToInt(a.m00)).append("\t").appendI(Clazz.floatToInt(a.m01)).append("\t").appendI(Clazz.floatToInt(a.m02)).append("\t").append(J.symmetry.SymmetryOperation.twelfthsOf((a.m03+12)%12)).append("\t}\n").append("{\t").appendI(Clazz.floatToInt(a.m10)).append("\t").appendI(Clazz.floatToInt(a.m11)).append("\t").appendI(Clazz.floatToInt(a.m12)).append("\t").append(J.symmetry.SymmetryOperation.twelfthsOf((a.m13+
12)%12)).append("\t}\n").append("{\t").appendI(Clazz.floatToInt(a.m20)).append("\t").appendI(Clazz.floatToInt(a.m21)).append("\t").appendI(Clazz.floatToInt(a.m22)).append("\t").append(J.symmetry.SymmetryOperation.twelfthsOf((a.m23+12)%12)).append("\t}\n").append("{\t0\t0\t0\t1\t}\n").toString()},"JU.M4");$_M(c$,"setMatrixFromXYZ",function(a,b){if(null==a)return!1;this.xyzOriginal=a;a=a.toLowerCase();var c=16;this.modDim=b;0<b&&(c=32,this.myLabels=J.symmetry.SymmetryOperation.labelsX1_6);this.rotTransMatrix=
Clazz.newFloatArray(c,0);var d=a.startsWith("!");d&&(a=a.substring(1));if(0==a.indexOf("xyz matrix:"))return this.xyz=a,J.util.ParserBS.parseStringInfestedFloatArray(a,null,this.rotTransMatrix),this.setFromMatrix(null,d);if(0==a.indexOf("[[")){a=a.$replace("["," ").$replace("]"," ").$replace(","," ");J.util.ParserBS.parseStringInfestedFloatArray(a,null,this.rotTransMatrix);for(var e=0;e<c;e++)if(Float.isNaN(this.rotTransMatrix[e]))return!1;this.setA(this.rotTransMatrix,0);32==c&&this.setMod456();
this.isFinalized=!0;d&&this.invertM(this);this.xyz=J.symmetry.SymmetryOperation.getXYZFromMatrix(this,!1,!1,!1);return!0}e=J.symmetry.SymmetryOperation.getMatrixFromString(this,a,this.rotTransMatrix,!1);if(null==e)return!1;this.setA(this.rotTransMatrix,0);32==c&&this.setMod456();d?(this.invertM(this),this.xyz=J.symmetry.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1)):this.xyz=e;J.util.Logger.debugging&&J.util.Logger.debug(""+this);return!0},"~S,~N");$_M(c$,"setFromMatrix",function(a,b){var c=0,
d=0;this.myLabels=0==this.modDim?J.symmetry.SymmetryOperation.labelsXYZ:J.symmetry.SymmetryOperation.labelsX1_6;for(var e=0;e<this.rotTransMatrix.length;e++){if(Float.isNaN(this.rotTransMatrix[e]))return!1;c=this.rotTransMatrix[e];1E-5>Math.abs(c)&&(c=0);3==e%4&&(null!=a&&(c/=12,d<a.length&&(c+=a[d++])),c=J.symmetry.SymmetryOperation.normalizeTwelfths((0>c?-1:1)*Math.round(Math.abs(12*c))/12,this.doNormalize));this.rotTransMatrix[e]=c;if(11==e||27==e)e+=4}this.rotTransMatrix[15]=1;this.setA(this.rotTransMatrix,
0);32==this.rotTransMatrix.length&&(this.rotTransMatrix[31]=1,(this.gammaIS=new JU.M4).setA(this.rotTransMatrix,16));this.isFinalized=!0;b&&this.invertM(this);this.xyz=J.symmetry.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1);return!0},"~A,~B");c$.getMatrixFromString=$_M(c$,"getMatrixFromString",function(a,b,c,d){var e=!1,h=!1,f=!1,k=null!=a&&0<a.modDim,g=k?4+a.modDim:4,l=null!=a&&a.doNormalize;c[15]=1;if(k){for(var j=g,p=5*g-4;7>j;j++,p+=5)c[p]=1;c[31]=1}a=null==a||!k?null:a.myLabels;null==a&&
(a=J.symmetry.SymmetryOperation.labelsXYZ);var n=0,s=0,q=0,t=0,r="",v=-1,A=1;b+=",";k&&(b=J.util.Txt.simpleReplace(b,"x1","x"),b=J.util.Txt.simpleReplace(b,"x2","y"),b=J.util.Txt.simpleReplace(b,"x3","z"),b=J.util.Txt.simpleReplace(b,"x4","x"),b=J.util.Txt.simpleReplace(b,"x5","y"),b=J.util.Txt.simpleReplace(b,"x6","z"));for(j=0;j<b.length;j++){p=b.charAt(j);switch(p){case "'":case " ":case "{":case "}":case "!":continue;case "-":f=!0;continue;case "+":f=!1;continue;case "/":e=!0;continue;case "X":case "x":n=
f?-1:1;d&&0!=t&&(n*=t,t=0);break;case "Y":case "y":s=f?-1:1;d&&0!=t&&(s*=t,t=0);break;case "Z":case "z":q=f?-1:1;d&&0!=t&&(q*=t,t=0);break;case ",":if(2<++v&&!k)return J.util.Logger.warn("Symmetry Operation? "+b),null;t=J.symmetry.SymmetryOperation.normalizeTwelfths(t,l);e=4*v+(2<v?4:0);c[e++]=n;c[e++]=s;c[e++]=q;c[e]=t;e="";p=3>v?0:3;e+=J.symmetry.SymmetryOperation.plusMinus(e,n,a[p++]);e+=J.symmetry.SymmetryOperation.plusMinus(e,s,a[p++]);e+=J.symmetry.SymmetryOperation.plusMinus(e,q,a[p++]);e+=
J.symmetry.SymmetryOperation.xyzFraction(t,!1,!0);r+=(""===r?"":",")+e;if(v==g-2)return r;t=n=s=q=0;break;case ".":h=!0;A=1;continue;case "0":if(!h&&(e||!d))continue;default:var y=p.charCodeAt(0)-48;if(h&&0<=y&&9>=y){A/=10;0>t&&(f=!0);t+=A*y*(f?-1:1);continue}0<=y&&9>=y?t=e?t/y:10*t+(f?-1:1)*y:J.util.Logger.warn("symmetry character?"+p)}h=e=f=!1}return null},"J.symmetry.SymmetryOperation,~S,~A,~B");c$.plusMinus=$_M(c$,"plusMinus",($fz=function(a,b,c){return 0==b?"":(0>b?"-":0==a.length?"":"+")+c},
$fz.isPrivate=!0,$fz),"~S,~N,~S");c$.normalizeTwelfths=$_M(c$,"normalizeTwelfths",($fz=function(a,b){a*=12;if(b){for(;6<a;)a-=12;for(;-6>=a;)a+=12}return a},$fz.isPrivate=!0,$fz),"~N,~B");c$.getXYZFromMatrix=$_M(c$,"getXYZFromMatrix",function(a,b,c,d){var e="",h=Clazz.instanceOf(a,J.symmetry.SymmetryOperation)?a:null,f=null==h?null:h.myLabels;null==f&&(f=J.symmetry.SymmetryOperation.labelsXYZ);for(var k=Clazz.newFloatArray(4,0),g=null==h?3:h.modDim+3,l=0;l<g;l++){var j=3>l?0:3;if(3>l)a.getRow(l,k);
else for(var p=0,n=4*l+4;4>p;p++,n++)k[p]=h.rotTransMatrix[n];n="";for(p=0;3>p;p++)0!=k[p]&&(n+=J.symmetry.SymmetryOperation.plusMinus(n,k[p],f[p+j]));n+=J.symmetry.SymmetryOperation.xyzFraction(b?k[3]:12*k[3],c,d);e+=","+n}return e.substring(1)},"JU.M4,~B,~B,~B");c$.twelfthsOf=$_M(c$,"twelfthsOf",($fz=function(a){var b="";a=Math.round(a);if(12==a)return"1";if(-12==a)return"-1";0>a&&(a=-a,0!=a%12&&(b="-"));var c=Clazz.doubleToInt(a/12);if(1>c)return b+J.symmetry.SymmetryOperation.twelfths[a%12];var d=
0;switch(a%12){case 0:return b+c;case 1:case 5:case 7:case 11:d=12;break;case 2:case 10:d=6;break;case 3:case 9:d=4;break;case 4:case 8:d=3;break;case 6:d=2}return b+Clazz.doubleToInt(a*d/12)+"/"+d},$fz.isPrivate=!0,$fz),"~N");c$.xyzFraction=$_M(c$,"xyzFraction",($fz=function(a,b,c){a=Math.round(a);if(b)for(;0>a;)a+=12;else c&&6<a&&(a-=12);b=J.symmetry.SymmetryOperation.twelfthsOf(a);return"0"==b.charAt(0)?"":0<a?"+"+b:b},$fz.isPrivate=!0,$fz),"~N,~B,~B");$_M(c$,"setOffset",($fz=function(a,b,c){var d=
b+c,e=0,h=0,f=0;null==this.atomTest&&(this.atomTest=new JU.P3);for(;b<d;b++)this.newPoint(a[b],this.atomTest,0,0,0),e+=this.atomTest.x,h+=this.atomTest.y,f+=this.atomTest.z;for(;-0.001>e||e>=c+0.001;)this.m03+=0>e?1:-1,e+=0>e?c:-c;for(;-0.001>h||h>=c+0.001;)this.m13+=0>h?1:-1,h+=0>h?c:-c;for(;-0.001>f||f>=c+0.001;)this.m23+=0>f?1:-1,f+=0>f?c:-c},$fz.isPrivate=!0,$fz),"~A,~N,~N");$_M(c$,"rotateAxes",function(a,b,c,d){var e=Array(3);this.getRotationScale(d);for(var h=a.length;0<=--h;)c.setT(a[h]),b.toFractional(c,
!0),d.transform(c),b.toCartesian(c,!0),e[h]=JU.V3.newV(c);return e},"~A,J.symmetry.UnitCell,JU.P3,JU.M3");$_M(c$,"getDescription",function(a,b,c,d,e){this.isFinalized||this.doFinalize();return J.symmetry.SymmetryOperation.getDescription(a,this,this.xyzOriginal,b,c,d,e)},"J.modelset.ModelSet,J.api.SymmetryInterface,JU.P3,JU.P3,~S");c$.getDescription=$_M(c$,"getDescription",($fz=function(a,b,c,d,e,h,f){var k=new JU.V3,g=new JU.P3,l=new JU.P3,j=new JU.P3,p=new JU.P3,n=new JU.V3,s=new JU.V3,q=J.symmetry.SymmetryOperation.getXYZFromMatrix(b,
!1,!1,!1),t=null==f;if(null==e||Float.isNaN(e.x))e=new JU.P3;if(null!=h){l.setT(e);j.setT(h);d.toUnitCell(l,g);d.toUnitCell(j,g);d.toFractional(l,!1);b.transform(l);d.toCartesian(l,!1);d.toUnitCell(l,g);if(0.1<l.distance(j))return null;l.setT(e);j.setT(h);d.toFractional(l,!1);d.toFractional(j,!1);b.transform(l);s.sub2(j,l);l.set(0,0,0);j.set(0,0,0)}l.x=j.y=p.z=1;l.add(e);j.add(e);p.add(e);var r=JU.P3.newP(e),v=JU.P3.newP(l),A=JU.P3.newP(j),y=JU.P3.newP(p);d.toFractional(r,!1);d.toFractional(v,!1);
d.toFractional(A,!1);d.toFractional(y,!1);b.transform2(r,r);b.transform2(v,v);b.transform2(A,A);b.transform2(y,y);r.add(s);v.add(s);A.add(s);y.add(s);J.symmetry.SymmetryOperation.approx(s);d.toCartesian(r,!1);d.toCartesian(v,!1);d.toCartesian(A,!1);d.toCartesian(y,!1);var K=new JU.V3;K.sub2(v,r);var L=new JU.V3;L.sub2(A,r);var M=new JU.V3;M.sub2(y,r);k.cross(K,L);var B=0>k.dot(M);B&&(v.scaleAdd2(-2,K,v),A.scaleAdd2(-2,L,A),y.scaleAdd2(-2,M,y));var w;w=J.util.Measure.computeHelicalAxis(null,135266306,
e,r,J.util.Quaternion.getQuaternionFrame(r,v,A).div(J.util.Quaternion.getQuaternionFrame(e,l,j)));h=w[0];var z=w[1],F=Clazz.floatToInt(Math.abs(J.util.Parser.approx(w[3].x,1))),H=J.symmetry.SymmetryOperation.approxF(w[3].y);B&&(v.scaleAdd2(2,K,v),A.scaleAdd2(2,L,A),y.scaleAdd2(2,M,y));w=JU.V3.newVsub(r,e);0.1>w.length()&&(w=null);var D=null,E=null,C=null,P=0==F,I=!P,N=!1,O=!1;if(I||B)w=null;if(B&&P)E=JU.P3.newP(e),E.add(r),E.scale(0.5),D=r,N=!0;else if(B){var u=0==H?new JU.V3:z,m=0;switch(F){case 60:m=
0.6666667;break;case 120:m=2;break;case 90:m=1;break;case 180:C=new JU.P3,C.setT(e),C.add(u),h.scaleAdd2(0.5,u,e),0.1<C.distance(r)?(w=JU.V3.newVsub(r,C),g.setT(w),d.toFractional(g,!1),n.setT(g)):w=null,B=I=!1,O=!0}0!=m&&(k.setT(e),k.sub(h),k.add(r),k.sub(h),k.sub(u),k.scale(m),h.add(k),E=new JU.P3,E.scaleAdd2(0.5,u,h),D=new JU.P3,D.scaleAdd2(-2,E,e),D.scale(-1))}else null!=w&&(g.setT(w),d.toFractional(g,!1),1==J.symmetry.SymmetryOperation.approxF(g.x)&&(g.x=0),1==J.symmetry.SymmetryOperation.approxF(g.y)&&
(g.y=0),1==J.symmetry.SymmetryOperation.approxF(g.z)&&(g.z=0),n.setT(g),d.toCartesian(g,!1),w.setT(g));var G=F;J.symmetry.SymmetryOperation.approx0(z);if(I){var x=new JU.P3;k.setT(z);u=F;B?(x.setT(h),x.add(k),u=Math.round(J.util.Measure.computeTorsion(D,h,x,r,!0))):(0==H?(x.setT(h),g.scaleAdd2(1,x,k)):(g.setT(h),g.add(k),x.scaleAdd2(0.5,k,h)),u=Math.round(J.util.Measure.computeTorsion(e,h,g,r,!0)));0!=u&&(F=u)}if(I&&(!B&&0==H)&&(0>z.z||0==z.z&&(0>z.y||0==z.y&&0>z.x)))z.scale(-1),F=-F;u="identity";
m=new JU.SB;N?(g.setT(E),d.toFractional(g,!1),u="inversion center|"+J.symmetry.SymmetryOperation.fcoord(g)):I?B?u=""+Clazz.doubleToInt(360/G)+"-bar axis":0!=H?(u=""+Clazz.doubleToInt(360/G)+"-fold screw axis",g.setT(z),d.toFractional(g,!1),u+="|translation: "+J.symmetry.SymmetryOperation.fcoord(g)):u="C"+Clazz.doubleToInt(360/G)+" axis":null!=w?(m=" "+J.symmetry.SymmetryOperation.fcoord(n),P?u="translation:"+m:O&&(u=J.symmetry.SymmetryOperation.approxF(n.x),G=J.symmetry.SymmetryOperation.approxF(n.y),
x=J.symmetry.SymmetryOperation.approxF(n.z),m=" "+J.symmetry.SymmetryOperation.fcoord(n),u=(0!=u&&0!=G&&0!=x?"d-":0!=u&&0!=G||0!=G&&0!=x||0!=x&&0!=u?"n-":0!=u?"a-":0!=G?"b-":"c-")+("glide plane |translation:"+m))):O&&(u="mirror plane");B&&!N&&(g.setT(E),d.toFractional(g,!1),u+="|inversion center at "+J.symmetry.SymmetryOperation.fcoord(g));m=null;if(!t){f="\ndraw ID "+f+"_";m=new JU.SB;m.append("// "+c+"|"+q+"|"+u+"\n");m.append(f).append("* delete");J.symmetry.SymmetryOperation.drawLine(m,f+"frame1X",
0.15,e,l,"red");J.symmetry.SymmetryOperation.drawLine(m,f+"frame1Y",0.15,e,j,"green");J.symmetry.SymmetryOperation.drawLine(m,f+"frame1Z",0.15,e,p,"blue");g.setT(v);g.sub(r);g.scaleAdd2(0.9,g,r);J.symmetry.SymmetryOperation.drawLine(m,f+"frame2X",0.2,r,g,"red");g.setT(A);g.sub(r);g.scaleAdd2(0.9,g,r);J.symmetry.SymmetryOperation.drawLine(m,f+"frame2Y",0.2,r,g,"green");g.setT(y);g.sub(r);g.scaleAdd2(0.9,g,r);J.symmetry.SymmetryOperation.drawLine(m,f+"frame2Z",0.2,r,g,"purple");I&&(x=new JU.P3,q="red",
G=F,t=1,k.setT(z),B?(x.setT(h),x.add(k),0==H&&(x.setT(E),k.scale(3),g.scaleAdd2(-1,k,h),m.append(f).append("rotVector2 diameter 0.1 ").append(J.util.Escape.eP(h)).append(J.util.Escape.eP(g)).append(" color red")),t=r.distance(x),m.append(f).append("rotLine1 ").append(J.util.Escape.eP(x)).append(J.util.Escape.eP(D)).append(" color red"),m.append(f).append("rotLine2 ").append(J.util.Escape.eP(x)).append(J.util.Escape.eP(r)).append(" color red")):0==H?(0.2>e.distance(r)||(m.append(f).append("rotLine1 ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(h)).append(" color red"),
m.append(f).append("rotLine2 ").append(J.util.Escape.eP(r)).append(J.util.Escape.eP(h)).append(" color red")),k.scale(3),g.scaleAdd2(-1,k,h),m.append(f).append("rotVector2 diameter 0.1 ").append(J.util.Escape.eP(h)).append(J.util.Escape.eP(g)).append(" color red"),x.setT(h),0==H&&0.2>e.distance(r)&&x.scaleAdd2(0.5,x,k)):(q="orange",m.append(f).append("rotLine1 ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(h)).append(" color red"),g.setT(h),g.add(k),m.append(f).append("rotLine2 ").append(J.util.Escape.eP(r)).append(J.util.Escape.eP(g)).append(" color red"),
x.scaleAdd2(0.5,k,h)),g.setT(x),g.add(k),B&&0!=H&&(m.append(f).append("rotRotLine1").append(J.util.Escape.eP(x)).append(J.util.Escape.eP(D)).append(" color red"),m.append(f).append("rotRotLine2").append(J.util.Escape.eP(x)).append(J.util.Escape.eP(r)).append(" color red")),m.append(f).append("rotRotArrow arrow width 0.10 scale "+t+" arc ").append(J.util.Escape.eP(x)).append(J.util.Escape.eP(g)),B?g.setT(D):g.setT(e),0.1>g.distance(r)&&g.set(Math.random(),Math.random(),Math.random()),m.append(J.util.Escape.eP(g)),
g.set(0,G,0),m.append(J.util.Escape.eP(g)).append(" color red"),m.append(f).append("rotVector1 vector diameter 0.1 ").append(J.util.Escape.eP(h)).append(J.util.Escape.eP(k)).append("color ").append(q));if(O){0.2<e.distance(C)&&m.append(f).append("planeVector arrow ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(C)).append(" color indigo");null!=w&&(g.scaleAdd2(-1,r,v),g.add(C),J.symmetry.SymmetryOperation.drawLine(m,f+"planeFrameX",0.15,C,g,"translucent red"),g.scaleAdd2(-1,r,A),g.add(C),J.symmetry.SymmetryOperation.drawLine(m,
f+"planeFrameY",0.15,C,g,"translucent green"),g.scaleAdd2(-1,r,y),g.add(C),J.symmetry.SymmetryOperation.drawLine(m,f+"planeFrameZ",0.15,C,g,"translucent blue"));q=null==w?"green":"blue";k.setT(z);k.normalize();v=JU.P4.new4(k.x,k.y,k.z,-k.x*h.x-k.y*h.y-k.z*h.z);k=new JU.List;k.addLast(d.getCanonicalCopy(1.05));a.intersectPlane(v,k,3);for(a=k.size();0<=--a;)v=k.get(a),m.append(f).append("planep").appendI(a).append(" ").append(J.util.Escape.eP(v[0])).append(J.util.Escape.eP(v[1])),3==v.length&&m.append(J.util.Escape.eP(v[2])),
m.append(" color translucent ").append(q);0==k.size()&&(g.setT(h),g.add(z),m.append(f).append("planeCircle scale 2.0 circle ").append(J.util.Escape.eP(h)).append(J.util.Escape.eP(g)).append(" color translucent ").append(q).append(" mesh fill"))}B&&(m.append(f).append("invPoint diameter 0.4 ").append(J.util.Escape.eP(E)),m.append(f).append("invArrow arrow ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(D)).append(" color indigo"),N||(g.setT(D),g.add(e),g.sub(l),J.symmetry.SymmetryOperation.drawLine(m,
f+"invFrameX",0.15,D,g,"translucent red"),g.setT(D),g.add(e),g.sub(j),J.symmetry.SymmetryOperation.drawLine(m,f+"invFrameY",0.15,D,g,"translucent green"),g.setT(D),g.add(e),g.sub(p),J.symmetry.SymmetryOperation.drawLine(m,f+"invFrameZ",0.15,D,g,"translucent blue")));null!=w&&(null==C&&(C=JU.P3.newP(e)),m.append(f).append("transVector vector ").append(J.util.Escape.eP(C)).append(J.util.Escape.eP(w)));m.append("\nvar pt00 = "+J.util.Escape.eP(e));m.append("\nvar p0 = "+J.util.Escape.eP(r));m.append("\nif (within(0.2,p0).length == 0) {");
m.append("\nvar set2 = within(0.2,p0.uxyz.xyz)");m.append("\nif (set2) {");m.append(f).append("cellOffsetVector arrow @p0 @set2 color grey");m.append(f).append("offsetFrameX diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(J.util.Escape.eP(K)).append("*0.9} color red");m.append(f).append("offsetFrameY diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(J.util.Escape.eP(L)).append("*0.9} color green");m.append(f).append("offsetFrameZ diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(J.util.Escape.eP(M)).append("*0.9} color purple");
m.append("\n}}\n");m=m.toString()}null==w&&(n=null);I&&!B&&0!=H&&(w=JU.V3.newV(z),g.setT(w),d.toFractional(g,!1),n=JU.V3.newV(g));O&&(F=0);B?N&&(n=w=z=h=null):P&&(z=h=null);null!=z&&z.normalize();d=null;d=JU.M4.newM(b);0!=s.length()&&(d.m03+=s.x,d.m13+=s.y,d.m23+=s.z);q=J.symmetry.SymmetryOperation.getXYZFromMatrix(d,!1,!1,!1);return[q,c,u,m,J.symmetry.SymmetryOperation.approx0(n),J.symmetry.SymmetryOperation.approx0(w),J.symmetry.SymmetryOperation.approx0(E),J.symmetry.SymmetryOperation.approx0(h),
J.symmetry.SymmetryOperation.approx0(z),Integer.$valueOf(F),d,s]},$fz.isPrivate=!0,$fz),"J.modelset.ModelSet,J.symmetry.SymmetryOperation,~S,J.api.SymmetryInterface,JU.P3,JU.P3,~S");c$.drawLine=$_M(c$,"drawLine",($fz=function(a,b,c,d,e,h){a.append(b).append(" diameter ").appendF(c).append(J.util.Escape.eP(d)).append(J.util.Escape.eP(e)).append(" color ").append(h)},$fz.isPrivate=!0,$fz),"JU.SB,~S,~N,JU.P3,JU.P3,~S");c$.fcoord=$_M(c$,"fcoord",function(a){return J.symmetry.SymmetryOperation.fc(a.x)+
" "+J.symmetry.SymmetryOperation.fc(a.y)+" "+J.symmetry.SymmetryOperation.fc(a.z)},"JU.T3");c$.fc=$_M(c$,"fc",($fz=function(a){var b=Math.abs(a),b=Clazz.floatToInt(J.symmetry.SymmetryOperation.approxF(24*b));a=0>a?"-":"";return 0!=b%8?a+J.symmetry.SymmetryOperation.twelfthsOf(b>>1):0==b?"0":24==b?a+"1":a+Clazz.doubleToInt(b/8)+"/3"},$fz.isPrivate=!0,$fz),"~N");c$.approx0=$_M(c$,"approx0",($fz=function(a){null!=a&&(1E-4>Math.abs(a.x)&&(a.x=0),1E-4>Math.abs(a.y)&&(a.y=0),1E-4>Math.abs(a.z)&&(a.z=0));
return a},$fz.isPrivate=!0,$fz),"JU.T3");c$.approx=$_M(c$,"approx",($fz=function(a){null!=a&&(a.x=J.symmetry.SymmetryOperation.approxF(a.x),a.y=J.symmetry.SymmetryOperation.approxF(a.y),a.z=J.symmetry.SymmetryOperation.approxF(a.z));return a},$fz.isPrivate=!0,$fz),"JU.T3");c$.approxF=$_M(c$,"approxF",($fz=function(a){return J.util.Parser.approx(a,100)},$fz.isPrivate=!0,$fz),"~N");c$.normalizeTranslation=$_M(c$,"normalizeTranslation",function(a){a.m03=(Clazz.floatToInt(a.m03)+12)%12;a.m13=(Clazz.floatToInt(a.m13)+
12)%12;a.m23=(Clazz.floatToInt(a.m23)+12)%12},"JU.M4");c$.labelsXYZ=c$.prototype.labelsXYZ=["x","y","z"];c$.labelsX1_6=c$.prototype.labelsX1_6="x1 x2 x3 x4 x5 x6".split(" ");Clazz.defineStatics(c$,"twelfths","0 1/12 1/6 1/4 1/3 5/12 1/2 7/12 2/3 3/4 5/6 11/12".split(" "))});Clazz.declarePackage("J.symmetry");
Clazz.load(null,"J.symmetry.SymmetryInfo",["J.util.SimpleUnitCell"],function(){c$=Clazz.decorateAsClass(function(){this.isMultiCell=this.coordinatesAreFractional=!1;this.periodicOriginXyz=this.cellRange=this.symmetryInfoString=this.symmetryOperations=this.spaceGroup=null;Clazz.instantialize(this,arguments)},J.symmetry,"SymmetryInfo");$_M(c$,"isPeriodic",function(){return null!=this.periodicOriginXyz});Clazz.makeConstructor(c$,function(){});$_M(c$,"setSymmetryInfo",function(a){this.cellRange=a.get("unitCellRange");
this.periodicOriginXyz=a.get("periodicOriginXyz");this.spaceGroup=a.get("spaceGroup");if(null==this.spaceGroup||""===this.spaceGroup)this.spaceGroup="spacegroup unspecified";var b=a.containsKey("symmetryCount")?a.get("symmetryCount").intValue():0;this.symmetryOperations=a.get("symmetryOperations");this.symmetryInfoString="Spacegroup: "+this.spaceGroup;if(null==this.symmetryOperations)this.symmetryInfoString+="\nNumber of symmetry operations: ?\nSymmetry Operations: unspecified\n";else{this.symmetryInfoString+=
"\nNumber of symmetry operations: "+(0==b?1:b)+"\nSymmetry Operations:";for(var c=0;c<b;c++)this.symmetryInfoString+="\n"+this.symmetryOperations[c]}this.symmetryInfoString+="\n";b=a.get("notionalUnitcell");if(!J.util.SimpleUnitCell.isValid(b))return null;this.isMultiCell=(this.coordinatesAreFractional=a.containsKey("coordinatesAreFractional")?a.get("coordinatesAreFractional").booleanValue():!1)&&null!=this.symmetryOperations;return b},"java.util.Map")});Clazz.declarePackage("J.symmetry");
Clazz.load(["J.util.SimpleUnitCell","JU.P3","J.viewer.JC"],"J.symmetry.UnitCell",["java.lang.Float","JU.M4","J.api.Interface","J.util.BoxInfo","$.Escape"],function(){c$=Clazz.decorateAsClass(function(){this.fractionalOffset=this.cartesianOffset=this.vertices=null;this.allFractionalRelative=!1;this.unitCellMultiplier=null;Clazz.instantialize(this,arguments)},J.symmetry,"UnitCell",J.util.SimpleUnitCell);Clazz.prepareFields(c$,function(){this.cartesianOffset=new JU.P3});Clazz.makeConstructor(c$,function(){Clazz.superConstructor(this,
J.symmetry.UnitCell,[])});c$.newP=$_M(c$,"newP",function(a){var b=new J.symmetry.UnitCell;b.set([-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]);b.allFractionalRelative=!0;b.calcUnitcellVertices();b.setCartesianOffset(a[0]);return b},"~A");c$.newA=Clazz.overrideMethod(c$,"newA",function(a){var b=new J.symmetry.UnitCell;b.set(a);b.calcUnitcellVertices();return b},"~A");$_M(c$,"setOrientation",function(a){if(null!=a){var b=new JU.M4;b.setM3(a);this.matrixFractionalToCartesian.mul2(b,
this.matrixFractionalToCartesian);this.matrixCartesianToFractional.invertM(this.matrixFractionalToCartesian);this.calcUnitcellVertices()}},"JU.M3");$_M(c$,"toUnitCell",function(a,b){null!=this.matrixCartesianToFractional&&(null==b?(this.matrixCartesianToFractional.transform(a),this.unitize(a),this.matrixFractionalToCartesian.transform(a)):(this.matrixCtoFAbsolute.transform(a),this.unitize(a),a.add(b),this.matrixFtoCAbsolute.transform(a)))},"JU.P3,JU.P3");$_M(c$,"unitize",function(a){switch(this.dimension){case 3:a.z=
J.symmetry.UnitCell.toFractionalX(a.z);case 2:a.y=J.symmetry.UnitCell.toFractionalX(a.y);case 1:a.x=J.symmetry.UnitCell.toFractionalX(a.x)}},"JU.P3");$_M(c$,"setAllFractionalRelative",function(a){this.allFractionalRelative=a},"~B");$_M(c$,"setOffset",function(a){null!=a&&(100<=a.x||100<=a.y?this.unitCellMultiplier=0==a.z?null:JU.P3.newP(a):(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.transform(this.cartesianOffset),this.matrixFractionalToCartesian.m03=this.cartesianOffset.x,this.matrixFractionalToCartesian.m13=this.cartesianOffset.y,this.matrixFractionalToCartesian.m23=this.cartesianOffset.z,this.allFractionalRelative&&(this.matrixCtoFAbsolute.setM(this.matrixCartesianToFractional),this.matrixFtoCAbsolute.setM(this.matrixFractionalToCartesian))))},
"JU.P3");$_M(c$,"setCartesianOffset",function(a){this.cartesianOffset.setT(a);this.matrixFractionalToCartesian.m03=this.cartesianOffset.x;this.matrixFractionalToCartesian.m13=this.cartesianOffset.y;this.matrixFractionalToCartesian.m23=this.cartesianOffset.z;this.fractionalOffset=new JU.P3;this.fractionalOffset.setT(this.cartesianOffset);this.matrixCartesianToFractional.m03=0;this.matrixCartesianToFractional.m13=0;this.matrixCartesianToFractional.m23=0;this.matrixCartesianToFractional.transform(this.fractionalOffset);
this.matrixCartesianToFractional.m03=-this.fractionalOffset.x;this.matrixCartesianToFractional.m13=-this.fractionalOffset.y;this.matrixCartesianToFractional.m23=-this.fractionalOffset.z;this.allFractionalRelative&&(this.matrixCtoFAbsolute.setM(this.matrixCartesianToFractional),this.matrixFtoCAbsolute.setM(this.matrixFractionalToCartesian))},"JU.T3");$_M(c$,"setMinMaxLatticeParameters",function(a,b){if(555>=b.x&&555<=b.y){var c=new JU.P3;J.util.SimpleUnitCell.ijkToPoint3f(b.x,c,0);a.x=Clazz.floatToInt(c.x);
a.y=Clazz.floatToInt(c.y);a.z=Clazz.floatToInt(c.z);J.util.SimpleUnitCell.ijkToPoint3f(b.y,c,1);b.x=Clazz.floatToInt(c.x);b.y=Clazz.floatToInt(c.y);b.z=Clazz.floatToInt(c.z)}switch(this.dimension){case 1:a.y=0,b.y=1;case 2:a.z=0,b.z=1}},"JU.P3i,JU.P3i");$_M(c$,"dumpInfo",function(a){return"a="+this.a+", b="+this.b+", c="+this.c+", alpha="+this.alpha+", beta="+this.beta+", gamma="+this.gamma+(a?"\nfractional to cartesian: "+this.matrixFractionalToCartesian+"\ncartesian to fractional: "+this.matrixCartesianToFractional:
"")},"~B");$_M(c$,"getVertices",function(){return this.vertices});$_M(c$,"getCartesianOffset",function(){return this.cartesianOffset});$_M(c$,"getFractionalOffset",function(){return this.fractionalOffset});$_M(c$,"getTensor",function(a){if(null==a)return null;var b=J.api.Interface.getOptionInterface("util.Tensor");if(0==a[0])return a=a[7],b.setFromEigenVectors(J.symmetry.UnitCell.unitVectors,[a,a,a],"iso","Uiso="+a);var c=Clazz.newDoubleArray(6,0),d=Clazz.floatToInt(a[6]);if(12==d)c[0]=19.739208802178716*
a[0],c[1]=19.739208802178716*a[1],c[2]=19.739208802178716*a[2],c[3]=39.47841760435743*a[3],c[4]=39.47841760435743*a[4],c[5]=39.47841760435743*a[5],a[7]=(a[0]+a[1]+a[3])/3;else{var e=4==d||5==d||8==d||9==d,h=2-d%2,f=8==d||9==d||10==d?19.739208802178716:4==d||5==d?0.25:2==d||3==d?Math.log(2):1,d=a[0]*f*(e?this.a_*this.a_:1),k=a[1]*f*(e?this.b_*this.b_:1),g=a[2]*f*(e?this.c_*this.c_:1),l=a[3]*f*(e?this.a_*this.b_:1)*h,j=a[4]*f*(e?this.a_*this.c_:1)*h,e=a[5]*f*(e?this.b_*this.c_:1)*h;a[7]=Math.pow(d/
19.739208802178716/this.a_/this.a_*k/19.739208802178716/this.b_/this.b_*g/19.739208802178716/this.c_/this.c_,0.3333);c[0]=this.a*this.a*d+this.b*this.b*this.cosGamma*this.cosGamma*k+this.c*this.c*this.cosBeta*this.cosBeta*g+this.a*this.b*this.cosGamma*l+this.b*this.c*this.cosGamma*this.cosBeta*e+this.a*this.c*this.cosBeta*j;c[1]=this.b*this.b*this.sinGamma*this.sinGamma*k+this.c*this.c*this.cA_*this.cA_*g+this.b*this.c*this.cA_*this.sinGamma*e;c[2]=this.c*this.c*this.cB_*this.cB_*g;c[3]=2*this.b*
this.b*this.cosGamma*this.sinGamma*k+2*this.c*this.c*this.cA_*this.cosBeta*g+this.a*this.b*this.sinGamma*l+this.b*this.c*(this.cA_*this.cosGamma+this.sinGamma*this.cosBeta)*e+this.a*this.c*this.cA_*j;c[4]=2*this.c*this.c*this.cB_*this.cosBeta*g+this.b*this.c*this.cosGamma*e+this.a*this.c*this.cB_*j;c[5]=2*this.c*this.c*this.cA_*this.cB_*g+this.b*this.c*this.cB_*this.sinGamma*e}return b.setFromThermalEquation(c,J.util.Escape.eAF(a))},"~A");$_M(c$,"getCanonicalCopy",function(a){for(var b=Array(8),c=
0;8>c;c++)b[c]=JU.P3.newP(J.util.BoxInfo.unitCubePoints[c]),this.matrixFractionalToCartesian.transform(b[c]);return J.util.BoxInfo.getCanonicalCopy(b,a)},"~N");c$.toFractionalX=$_M(c$,"toFractionalX",($fz=function(a){a-=Math.floor(a);if(0.9999<a||1E-4>a)a=0;return a},$fz.isPrivate=!0,$fz),"~N");$_M(c$,"calcUnitcellVertices",($fz=function(){if(null!=this.matrixFractionalToCartesian){this.matrixCtoFAbsolute=JU.M4.newM(this.matrixCartesianToFractional);this.matrixFtoCAbsolute=JU.M4.newM(this.matrixFractionalToCartesian);
this.vertices=Array(8);for(var a=8;0<=--a;)this.vertices[a]=new JU.P3,this.matrixFractionalToCartesian.transform2(J.util.BoxInfo.unitCubePoints[a],this.vertices[a])}},$fz.isPrivate=!0,$fz));$_M(c$,"checkDistance",function(a,b,c,d,e,h,f,k){a=JU.P3.newP(a);this.toCartesian(a,!0);for(var g=-e;g<=e;g++)for(var l=-h;l<=h;l++)for(var j=-f;j<=f;j++){k.set(b.x+g,b.y+l,b.z+j);this.toCartesian(k,!0);var p=a.distance(k);if(0<d?Math.abs(p-c)<=d:p<=c&&0.1<p)return k.set(g,l,j),!0}return!1},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");
$_M(c$,"getUnitCellMultiplier",function(){return this.unitCellMultiplier});$_M(c$,"getUnitCellVectors",function(){var a=this.matrixFractionalToCartesian;return[JU.P3.newP(this.cartesianOffset),JU.P3.new3(a.m00,a.m10,a.m20),JU.P3.new3(a.m01,a.m11,a.m21),JU.P3.new3(a.m02,a.m12,a.m22)]});$_M(c$,"isSameAs",function(a){if(a.notionalUnitcell.length!=this.notionalUnitcell.length)return!1;for(var b=this.notionalUnitcell.length;0<=--b;)if(this.notionalUnitcell[b]!=a.notionalUnitcell[b]&&(!Float.isNaN(this.notionalUnitcell[b])||
!Float.isNaN(a.notionalUnitcell[b])))return!1;return null==this.fractionalOffset?null==a.fractionalOffset:null==a.fractionalOffset||0!=this.fractionalOffset.distanceSquared(a.fractionalOffset)?!1:!0},"J.symmetry.UnitCell");Clazz.defineStatics(c$,"twoP2",19.739208802178716);c$.unitVectors=c$.prototype.unitVectors=[J.viewer.JC.axisX,J.viewer.JC.axisY,J.viewer.JC.axisZ]});
