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 J.symmetry.PointGroup $.SpaceGroup $.SymmetryInfo $.SymmetryOperation $.UnitCell J.util.BS $.Escape $.Logger $.P3 $.SB $.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,J.util.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=(new J.symmetry.SpaceGroup(null)).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)},"J.util.Matrix4f");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,J.util.P3,J.util.P3,~N,~N,~N");Clazz.overrideMethod(c$,"rotateEllipsoid",function(a,b,c,d,e){return this.spaceGroup.finalOperations[a].rotateEllipsoid(b,c,this.unitCell,d,e)},"~N,J.util.P3,~A,J.util.P3,J.util.P3");$_M(c$,"getSymmetryOperationDescription",function(a,b,c,d,e){return this.spaceGroup.operations[a].getDescription(b,
c,d,e)},"~N,J.api.SymmetryInterface,J.util.P3,J.util.P3,~S");Clazz.overrideMethod(c$,"fcoord",function(a){return J.symmetry.SymmetryOperation.fcoord(a)},"J.util.Tuple3f");Clazz.overrideMethod(c$,"getMatrixFromString",function(a,b,c){return J.symmetry.SymmetryOperation.getMatrixFromString(a,b,!1,c)},"~S,~A,~B");Clazz.overrideMethod(c$,"ijkToPoint3f",function(a){var b=new J.util.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)},"J.util.Matrix3f");Clazz.overrideMethod(c$,"toUnitCell",function(a,b){this.unitCell.toUnitCell(a,b)},"J.util.P3,J.util.P3");$_M(c$,"toCartesian",function(a,b){this.unitCell.toCartesian(a,b)},"J.util.P3,~B");Clazz.overrideMethod(c$,"toSupercell",function(a){return this.unitCell.toSupercell(a)},
"J.util.P3");$_M(c$,"toFractional",function(a,b){this.unitCell.toFractional(a,b)},"J.util.P3,~B");$_M(c$,"getNotionalUnitCell",function(){return this.unitCell.getNotionalUnitCell()});Clazz.overrideMethod(c$,"getUnitCellAsArray",function(a){return this.unitCell.getUnitCellAsArray(a)},"~B");Clazz.overrideMethod(c$,"getEllipsoid",function(a){null==this.unitCell&&(this.unitCell=J.symmetry.UnitCell.newA([1,1,1,90,90,90]));return this.unitCell.getEllipsoid(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)},"J.util.Tuple3f");Clazz.overrideMethod(c$,"getFractionalOffset",function(){return this.unitCell.getFractionalOffset()});Clazz.overrideMethod(c$,"setOffsetPt",function(a){this.unitCell.setOffset(a)},"J.util.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)},"J.util.P3i,J.util.P3i");Clazz.overrideMethod(c$,"setUnitCellAllFractionalRelative",function(a){this.unitCell.setAllFractionalRelative(a)},"~B");Clazz.overrideMethod(c$,"checkDistance",function(a,b,c,d,e,h,f,g){return this.unitCell.checkDistance(a,b,c,d,e,h,f,g)},"J.util.P3,J.util.P3,~N,~N,~N,~N,~N,J.util.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 J.util.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 g=null,k=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)g="no single current model";else if(null==(l=a.getUnitCell(b)))g="not applicable";null!=g?
(k=new java.util.Hashtable,k.put("spaceGroupInfo",g),k.put("symmetryInfo","")):null==e&&(null==f&&0!=d)&&(k=a.getModelAuxiliaryInfoValue(b,"spaceGroupInfo"));if(null!=k)return k;k=new java.util.Hashtable;null==e&&(null==f&&0==d)&&a.setModelAuxiliaryInfo(b,"spaceGroupInfo",k);c=l.getSpaceGroupName();a=l.getSymmetryOperations();if(null==a)g="\n no symmetry operations employed";else{this.setSpaceGroup(!1);g="\n"+a.length+" symmetry operations employed:";j=Array(a.length);for(b=0;b<a.length;b++){var n=
this.addSpaceGroupOperation("="+a[b],b+1);0>n||(j[b]=0<d&&d-1!=n?null:this.getSymmetryOperationDescription(n,l,e,h,f),null!=j[b]&&(g+="\n"+(b+1)+"\t"+j[b][0]+"\t"+j[b][2]))}}}else k=new java.util.Hashtable;k.put("spaceGroupName",c);d=this.getSpaceGroupInfo(c,l);null!=j&&(k.put("operations",j),k.put("symmetryInfo",g));null==d&&(d="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"');k.put("spaceGroupInfo",d);return k},"J.modelset.ModelSet,~N,~S,~N,J.util.P3,J.util.P3,~S");
Clazz.overrideMethod(c$,"getSymmetryInfo",function(a,b,c,d,e,h,f,g,k,l){if(null!=g)return a.getSymmetryOperation(b,null,h,f,g,null==k?"sym":k,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=J.util.P3.newP(null==f?a.atoms[c]:f);if(135266320==l){d.toFractional(f,!1);
if(Float.isNaN(f.x))return"";l=new J.util.P3;b.newSpaceGroupPoint(h,f,l,0,0,0);b.toCartesian(l,!1);return l}f=b.getSymmetryOperationDescription(h,d,f,g,null==k?"sym":k);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,J.util.P3,J.util.P3,~S,~N");Clazz.overrideMethod(c$,"setCentroid",function(a,b,c,d){try{var e=new J.util.BS,h=a.getMolecules(),f=h.length,g=a.atoms,k=h[f-1].firstAtomIndex==a.models[g[c].modelIndex].firstAtomIndex,l=new J.util.P3,j=1==d[6];a:for(;0<=--f&&h[f].firstAtomIndex>=
b&&h[f].firstAtomIndex<c;){var n=h[f].atomList;l.set(0,0,0);for(var r=0,s=n.nextSetBit(0);0<=s;s=n.nextSetBit(s+1))if(k||j)if(l.setT(g[s]),this.isNotCentroid(l,1,d,j))k&&e.set(s);else{if(!k)continue a}else l.add(g[s]),r++;(j||0<r&&this.isNotCentroid(l,r,d,!1))&&e.or(n)}0<=e.nextSetBit(0)&&a.viewer.deleteAtoms(e,!1)}catch(q){if(!Clazz.exceptionOf(q,Exception))throw q;}},"J.modelset.ModelSet,~N,~N,~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+1E-5>c[3]||a.y+5E-6<=c[1]||a.y+1E-5>c[4]||a.z+5E-6<=c[2]||a.z+1E-5>c[5]},$fz.isPrivate=!0,$fz),"J.util.P3,~N,~A,~B")});Clazz.declarePackage("J.symmetry");
Clazz.load(["J.util.P3","$.V3"],"J.symmetry.PointGroup","java.lang.Float java.util.Hashtable J.util.BSUtil $.Escape $.JmolList $.Logger $.Quaternion $.SB $.TextFormat".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 J.util.V3;
this.center=new J.util.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,J.util.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]=J.util.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,J.util.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]=J.util.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,J.util.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 J.util.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],g=this.elements[h];null!=a?(d.setT(f),d.sub(b),a.transformP2(d,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]!=g)&&d.distance(this.points[f])<this.distanceTolerance){e++;continue a}}return e==this.points.length},$fz.isPrivate=!0,$fz),"J.util.Quaternion,J.util.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 J.util.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),"J.util.V3,J.util.V3");$_M(c$,"isPerpendicular",($fz=function(a,b){return Math.abs(a.dot(b))<=1-this.cosTolerance},
$fz.isPrivate=!0,$fz),"J.util.V3,J.util.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 J.util.V3,b=new J.util.V3,c=new J.util.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 g=this.points[f];if(this.elements[f]==h)if(a.sub2(e,this.center),b.sub2(g,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(g),c.scale(0.5),c.sub(this.center),this.getAllAxes(c));var g=6.283185307179586/a.angle(b),k=Clazz.doubleToInt(Math.floor(g+0.01));if(0.02>=g-k&&!((k+=14)>=J.symmetry.PointGroup.maxAxis)&&this.nAxes[k]<J.symmetry.PointGroup.axesMaxN[k])c.cross(a,
b),this.checkAxisOrder(k,c,this.center)}}e=Array(2*this.nAxes[16]);for(d=0;d<e.length;d++)e[d]=new J.util.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 J.util.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),"J.util.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,J.util.V3,J.util.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,J.util.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,J.util.V3");$_M(c$,"findPlanes",($fz=function(){for(var a=new J.util.P3,
b=new J.util.V3,c=new J.util.V3,d=new J.util.V3,e=0,h=1<this.getHighestOrder(),f=this.points.length;0<=--f;)if(f!=this.centerAtomIndex)for(var g=this.points[f],k=this.elements[f],l=this.points.length;--l>f;)if(!(h&&this.elements[l]!=k)&&(e=this.points[l],a.add2(g,e),a.scale(0.5),b.sub2(g,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(g),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),"J.util.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 J.util.V3,g;0==h&&(h=1);this.scale=h;c=Clazz.newIntArray(4,2,0);for(var k=1;k<J.symmetry.PointGroup.maxAxis;k++)for(var l=this.nAxes[k];0<=--l;)c[this.axes[k][l].type][0]++;var j=(new J.util.SB).append("# ").appendI(this.nAtoms).append(" atoms\n");if(b){this.drawType=d=(b=null!=d&&0<d.length)?d:"";this.drawIndex=e;var n=d.equalsIgnoreCase("Cn"),r=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,k=2;k<J.symmetry.PointGroup.maxAxis;k++)if(14==k&&(q=0.1),0!=this.nAxes[k]){a=this.axes[k][0].getLabel();var q=q+0.25,p=h*this.radius+q;if(!b||d.equalsIgnoreCase(a)||n&&14<=k||r&&14>k)for(l=0;l<this.nAxes[k];l++)if(!(0<e&&l+1!=e)){g=this.axes[k][l];f.setT(g.normalOrAxis);f.add(this.center);2==
g.type&&(p=-p);j.append("draw pgva").append(s).append(a).append("_").appendI(l+1).append(" width 0.05 scale ").appendF(p).append(" ").append(J.util.Escape.eP(f));f.scaleAdd2(-2,g.normalOrAxis,f);var t=null!=this.principalAxis&&g.index==this.principalAxis.index;j.append(J.util.Escape.eP(f)).append('"').append(a).append(t?"*":"").append('" color ').append(t?"red":2==g.type?"blue":"yellow").append(";\n")}}if(!b||d.equalsIgnoreCase("Cs"))for(l=0;l<this.nAxes[0];l++)0<e&&l+1!=e||(g=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(g.normalOrAxis),f.add(this.center),j.append(J.util.Escape.eP(f)).append(" color translucent yellow;\n"),f.setT(g.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,g.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&&g.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(k=J.symmetry.PointGroup.maxAxis;2<=--k;)0<this.nAxes[k]&&(j.append(" n").append(14>k?"S":"C").appendI(k%14),j.append("=").appendI(this.nAxes[k]));
j.append(";\n");return this.drawInfo=j.toString()}l=0;d=1;k=this.haveInversionCenter?"Ci":"center";this.haveInversionCenter&&d++;null==this.info?j.append("\n\n").append(this.name).append("\t").append(k).append("\t").append(J.util.Escape.eP(this.center)):this.info.put(k,this.center);for(k=J.symmetry.PointGroup.maxAxis;0<=--k;)if(0<this.nAxes[k]){l=J.symmetry.PointGroup.nUnique[k];a=this.axes[k][0].getLabel();null==this.info?j.append("\n\n").append(this.name).append("\tn").append(a).append("\t").appendI(this.nAxes[k]).append("\t").appendI(l):
this.info.put("n"+a,Integer.$valueOf(this.nAxes[k]));l*=this.nAxes[k];d+=l;c[this.axes[k][0].type][1]+=l;e=null==this.info?null:new J.util.JmolList;for(l=0;l<this.nAxes[k];l++)null==e?j.append("\n").append(this.name).append("\t").append(a).append("_").appendI(l+1).append("\t").appendO(this.axes[k][l].normalOrAxis):e.addLast(this.axes[k][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.TextFormat.rFill(j,"    ",this.nAxes[0]+"\t"),J.util.TextFormat.rFill(j,"    ",this.nAxes[0]+"\n"),j.append(this.name).append("\tCn\t"),J.util.TextFormat.rFill(j,"    ",c[1][0]+"\t"),J.util.TextFormat.rFill(j,"    ",c[1][1]+"\n"),j.append(this.name).append("\tSn\t"),J.util.TextFormat.rFill(j,"    ",c[2][0]+"\t"),J.util.TextFormat.rFill(j,
"    ",c[2][1]+"\n"),j.append(this.name).append("\t\tTOTAL\t"),J.util.TextFormat.rFill(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.info("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.info("new operation -- "+(this.order==b?"S":"C")+this.order+" "+this.normalOrAxis)},"J.util.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.info("new operation -- plane "+this.normalOrAxis))},"J.util.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 J.symmetry.HallInfo $.HallTranslation $.SymmetryOperation J.util.ArrayUtil $.Logger $.Matrix4f $.P3 $.Parser $.SB $.TextFormat".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.operations=null;this.operationCount=0;this.doNormalize=!0;this.xyzList=this.finalOperations=null;Clazz.instantialize(this,arguments)},J.symmetry,"SpaceGroup");Clazz.prepareFields(c$,function(){this.xyzList=new java.util.Hashtable});Clazz.makeConstructor(c$,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)},"~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.spaceGroupDefinitions[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.index>=J.symmetry.SpaceGroup.spaceGroupDefinitions.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=J.util.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,J.util.P3,J.util.P3,~N,~N,~N");$_M(c$,"rotateEllipsoid",function(a,b,c,d,e,h){return this.finalOperations[a].rotateEllipsoid(b,c,d,e,h)},"~N,J.util.P3,~A,J.symmetry.UnitCell,J.util.P3,J.util.P3");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 J.util.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 J.util.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 J.util.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){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(){for(var a=new J.util.SB,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(){for(var a=new J.util.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){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();var d=new J.symmetry.SymmetryOperation(null,null,0,b,this.doNormalize);if(!d.setMatrixFromXYZ(a))return J.util.Logger.error("couldn't interpret symmetry operation: "+a),-1;var e=d.xyz;if(!c){if(this.xyzList.containsKey(e))return this.xyzList.get(e).intValue();this.xyzList.put(e,Integer.$valueOf(this.operationCount))}e.equals(a)||this.xyzList.put(a,Integer.$valueOf(this.operationCount));null==
this.operations&&(this.operations=Array(4),this.operationCount=0);this.operationCount==this.operations.length&&(this.operations=J.util.ArrayUtil.arrayCopyObject(this.operations,2*this.operationCount));this.operations[this.operationCount++]=d;J.util.Logger.debugging&&J.util.Logger.debug("\naddOperation "+this.operationCount+d.dumpInfo());return this.operationCount-1},$fz.isPrivate=!0,$fz),"~S,~N");$_M(c$,"generateOperatorsFromXyzInfo",($fz=function(a){this.addOperation(null,0);this.addSymmetry("x,y,z",
0);a=J.util.TextFormat.splitChars(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);this.operationCount=0;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 J.util.Matrix4f,c=new J.util.Matrix4f,d=Array(7),e=0;7>e;e++)d[e]=new J.util.Matrix4f;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,g=1;g<=h;g++){d[g].mul2(b,d[0]);d[0].setM(d[g]);for(var k=0;k<f;k++){c.mul2(d[g],this.operations[k]);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,J.util.Matrix4f");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,g){a=J.symmetry.SpaceGroup.determineSpaceGroupIndex(a,b,c,d,e,h,f,g);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,g){0>g&&(g=J.symmetry.SpaceGroup.spaceGroupDefinitions.length);a=a.trim().toLowerCase();var k=a.startsWith("hall:")?5:a.startsWith("hm:")?3:0;0<k?a=a.substring(k):a.contains("[")&&(k=5,a=a.substring(0,a.indexOf("[")).trim());var l=a,j,n=!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 r="";if(0<(j=a.indexOf(":")))r=a.substring(j+1),a=a.substring(0,j).trim(),n=!0;5!=k&&(!n&&J.util.Parser.isOneOf(a,J.symmetry.SpaceGroup.ambiguousNames))&&(r="?",n=!0);var s=J.util.TextFormat.replaceAllCharacters(a," ()",""),q;if(3!=k&&!n)for(j=g;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hallSymbol.equals(a))return j;if(5!=k){if(3!=k)for(j=g;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.intlTableNumberFull.equals(l))return j;
for(j=g;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hmSymbolFull.equals(l))return j;for(j=g;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],null!=q.hmSymbolAlternative&&q.hmSymbolAlternative.equals(l))return j;if(n)for(j=g;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hmSymbolAbbr.equals(s)&&q.intlTableNumberExt.equals(r))return j;if(n)for(j=g;0<=--j;)if(q=J.symmetry.SpaceGroup.spaceGroupDefinitions[j],q.hmSymbolAbbrShort.equals(s)&&q.intlTableNumberExt.equals(r))return j;
a=J.symmetry.SpaceGroup.determineUniqueAxis(b,c,d,e,h,f);if(!n||"?"==r.charAt(0))for(j=g;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==r.length){if(q.hmSymbolExt.equals("2"))return j}else if(q.hmSymbolExt.equals(r))return j;break;case "t":if(0==r.length){if("h"==q.axisChoice)return j}else if((q.axisChoice+"").equals(r))return j}}if(0==
r.length)for(j=g;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.TextFormat.splitChars(a.toLowerCase(),";");var b;this.intlTableNumberFull=
a[0].trim();b=J.util.TextFormat.splitChars(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.TextFormat.splitChars(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.TextFormat.simpleReplace(this.hmSymbol,
" ","");this.hmSymbolAbbrShort=J.util.TextFormat.simpleReplace(this.hmSymbol," 1","");this.hmSymbolAbbrShort=J.util.TextFormat.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");Clazz.defineStatics(c$,"canonicalSeitzList",null,"NAME_HALL",5,"NAME_HM",3,"sgIndex",-1,"ambiguousNames","","lastInfo","");c$.spaceGroupDefinitions=c$.prototype.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")]});Clazz.declarePackage("J.symmetry");
Clazz.load(["J.util.Matrix4f"],"J.symmetry.HallInfo","J.symmetry.HallRotation $.HallTranslation $.SymmetryOperation J.util.Logger $.P3i $.SB".split(" "),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.isClassDefined("J.symmetry.HallInfo.RotationTerm")||J.symmetry.HallInfo.$HallInfo$RotationTerm$();
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.info("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"),this.nRotations=0;else throw e;}},"~S");$_M(c$,"dumpInfo",function(){var a=new J.util.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());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 J.util.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]=Clazz.innerTypeInstance(J.symmetry.HallInfo.RotationTerm,this,null,e,b,c);this.nRotations++;return a},$fz.isPrivate=!0,$fz),"~S,~N,~S");c$.$HallInfo$RotationTerm$=function(){Clazz.pu$h();c$=Clazz.decorateAsClass(function(){Clazz.prepareCallback(this,
arguments);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.HallInfo,"RotationTerm");Clazz.prepareFields(c$,function(){this.seitzMatrix12ths=new J.util.Matrix4f});Clazz.makeConstructor(c$,function(a,b,c){this.inputCode=a;a+="   ";"-"==a.charAt(0)&&(this.isImproper=!0,a=a.substring(1));
this.primitiveCode="";this.order=a.charCodeAt(0)-48;this.axisType=this.diagonalReferenceAxis="\x00";var d=2,e;switch(e=a.charAt(1)){case "x":case "y":case "z":switch(a.charAt(2)){case "'":case '"':this.diagonalReferenceAxis=e,e=a.charAt(2),d++}case "*":this.axisType=e;break;case "'":case '"':this.axisType=e;switch(a.charAt(2)){case "x":case "y":case "z":this.diagonalReferenceAxis=a.charAt(2);d++;break;default:this.diagonalReferenceAxis=c}break;default:this.axisType=1==this.order?"_":0==this.b$["J.symmetry.HallInfo"].nRotations?
"z":2==this.b$["J.symmetry.HallInfo"].nRotations?"*":2==b||4==b?"x":"'",a=a.substring(0,1)+this.axisType+a.substring(1)}this.primitiveCode+="_"==this.axisType?"1":a.substring(0,2);"\x00"!=this.diagonalReferenceAxis&&(a=a.substring(0,1)+this.diagonalReferenceAxis+this.axisType+a.substring(d),this.primitiveCode+=this.diagonalReferenceAxis,d=3);this.lookupCode=a.substring(0,d);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(b=a.length;d<b;d++)c=a.charAt(d),e=new J.symmetry.HallTranslation(c,J.util.P3i.new3(this.order,-1,-1)),"\x00"!=e.translationCode&&(this.translationString+=""+e.translationCode,this.translation.rotationShift12ths+=e.rotationShift12ths,this.translation.vectorShift12ths.add(e.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<this.b$["J.symmetry.HallInfo"].vectorCode.length&&(c=new J.util.Matrix4f,e=new J.util.Matrix4f,c.setIdentity(),e.setIdentity(),c.m03=this.b$["J.symmetry.HallInfo"].vector12ths.x,c.m13=this.b$["J.symmetry.HallInfo"].vector12ths.y,c.m23=this.b$["J.symmetry.HallInfo"].vector12ths.z,e.m03=-this.b$["J.symmetry.HallInfo"].vector12ths.x,e.m13=-this.b$["J.symmetry.HallInfo"].vector12ths.y,e.m23=-this.b$["J.symmetry.HallInfo"].vector12ths.z,this.seitzMatrix12ths.mul2(c,
this.seitzMatrix12ths),this.seitzMatrix12ths.mulM4(e));J.util.Logger.debugging&&J.util.Logger.debug("code = "+a+"; primitive code ="+this.primitiveCode+"\n Seitz Matrix(12ths):"+this.seitzMatrix12ths)}},"~S,~N,~S");$_M(c$,"dumpInfo",function(){var a=new J.util.SB;a.append("\ninput code: ").append(this.inputCode).append("; primitive code: ").append(this.primitiveCode).append("\norder: ").appendI(this.order).append(this.isImproper?" (improper axis)":"");"_"!=this.axisType&&(a.append("; axisType: ").appendC(this.axisType),
"\x00"!=this.diagonalReferenceAxis&&a.appendC(this.diagonalReferenceAxis));0<this.translationString.length&&a.append("; translation: ").append(this.translationString);0<this.b$["J.symmetry.HallInfo"].vectorCode.length&&a.append("; vector offset:").append(this.b$["J.symmetry.HallInfo"].vectorCode);null!=this.rotation&&a.append("\noperator: ").append(this.getXYZ(this.allPositive)).append("\nSeitz matrix:\n").append(J.symmetry.SymmetryOperation.dumpSeitz(this.seitzMatrix12ths));return a.toString()});
$_M(c$,"getXYZ",function(a){return J.symmetry.SymmetryOperation.getXYZFromMatrix(this.seitzMatrix12ths,!0,a,!0)},"~B");c$=Clazz.p0p()}});Clazz.declarePackage("J.symmetry");
Clazz.load(["J.util.Matrix4f"],"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 J.util.Matrix4f;this.seitzMatrixInv=new J.util.Matrix4f});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);this.seitzMatrixInv.setA(d)},$fz.isPrivate=!0,$fz),"~S,~S");c$.lookup=$_M(c$,"lookup",function(a){for(var b=J.symmetry.HallRotation.hallRotationTerms.length;0<=--b;)if(J.symmetry.HallRotation.hallRotationTerms[b].rotCode.equals(a))return J.symmetry.HallRotation.hallRotationTerms[b];return null},"~S");c$.hallRotationTerms=c$.prototype.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+")]});Clazz.declarePackage("J.symmetry");
Clazz.load(["J.util.P3i"],"J.symmetry.HallTranslation",null,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.y){for(var c=b.x,d=0;d<J.symmetry.HallTranslation.hallTranslationTerms.length;d++){var e=J.symmetry.HallTranslation.hallTranslationTerms[d];if(e.translationCode==
a&&(0==e.rotationOrder||e.rotationOrder==c)){this.translationCode=a;this.rotationShift12ths=e.rotationShift12ths;this.vectorShift12ths=e.vectorShift12ths;break}}return}if(0<=b.z){this.vectorShift12ths=b;return}this.rotationOrder=b.x;this.rotationShift12ths=b.y}this.vectorShift12ths=new J.util.P3i},"~S,J.util.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");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;c$.hallTranslationTerms=c$.prototype.hallTranslationTerms=[new J.symmetry.HallTranslation("a",J.util.P3i.new3(6,0,0)),new J.symmetry.HallTranslation("b",J.util.P3i.new3(0,6,0)),new J.symmetry.HallTranslation("c",J.util.P3i.new3(0,0,6)),new J.symmetry.HallTranslation("n",J.util.P3i.new3(6,6,6)),new J.symmetry.HallTranslation("u",J.util.P3i.new3(3,0,0)),new J.symmetry.HallTranslation("v",
J.util.P3i.new3(0,3,0)),new J.symmetry.HallTranslation("w",J.util.P3i.new3(0,0,3)),new J.symmetry.HallTranslation("d",J.util.P3i.new3(3,3,3)),new J.symmetry.HallTranslation("1",J.util.P3i.new3(2,6,-1)),new J.symmetry.HallTranslation("1",J.util.P3i.new3(3,4,-1)),new J.symmetry.HallTranslation("2",J.util.P3i.new3(3,8,-1)),new J.symmetry.HallTranslation("1",J.util.P3i.new3(4,3,-1)),new J.symmetry.HallTranslation("3",J.util.P3i.new3(4,9,-1)),new J.symmetry.HallTranslation("1",J.util.P3i.new3(6,2,-1)),
new J.symmetry.HallTranslation("2",J.util.P3i.new3(6,4,-1)),new J.symmetry.HallTranslation("4",J.util.P3i.new3(6,8,-1)),new J.symmetry.HallTranslation("5",J.util.P3i.new3(6,10,-1)),new J.symmetry.HallTranslation("r",J.util.P3i.new3(4,8,8)),new J.symmetry.HallTranslation("s",J.util.P3i.new3(8,8,4)),new J.symmetry.HallTranslation("t",J.util.P3i.new3(8,4,8))]});Clazz.declarePackage("J.symmetry");
Clazz.load(["J.util.Matrix4f"],"J.symmetry.SymmetryOperation","java.lang.Float J.util.Escape $.JmolList $.Logger $.Measure $.P3 $.P4 $.Parser $.Quaternion $.SB $.TextFormat $.TriangleData $.V3".split(" "),function(){c$=Clazz.decorateAsClass(function(){this.xyz=this.xyzOriginal=null;this.doNormalize=!0;this.isFinalized=!1;this.opId=0;this.temp3=this.atomTest=null;Clazz.instantialize(this,arguments)},J.symmetry,"SymmetryOperation",J.util.Matrix4f);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.setM(a),this.doFinalize(),e&&this.setOffset(b,c,d))},"J.symmetry.SymmetryOperation,~A,~N,~N,~B");$_M(c$,"doFinalize",function(){this.m03/=12;this.m13/=12;this.m23/=12;this.isFinalized=!0});$_M(c$,"getXyz",function(a){return a||null==this.xyzOriginal?this.xyz:this.xyzOriginal},"~B");$_M(c$,"newPoint",function(a,b,c,d,e){null==this.temp3&&(this.temp3=new J.util.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)},"J.util.P3,J.util.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 J.util.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()},
"J.util.Matrix4f");c$.dumpCanonicalSeitz=$_M(c$,"dumpCanonicalSeitz",function(a){return(new J.util.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)).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)).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)).append("\t}\n").append("{\t0\t0\t0\t1\t}\n").toString()},"J.util.Matrix4f");$_M(c$,"setMatrixFromXYZ",function(a){if(null==a)return!1;this.xyzOriginal=a;a=a.toLowerCase();var b=Clazz.newFloatArray(16,0),c=a.startsWith("!");c&&(a=a.substring(1));if(0==a.indexOf("xyz matrix:")){this.xyz=
a;J.util.Parser.parseStringInfestedFloatArray(a,null,b);for(a=0;16>a;a++){if(Float.isNaN(b[a]))return!1;var d=b[a];1E-5>Math.abs(d)&&(d=0);3==a%4&&(d=J.symmetry.SymmetryOperation.normalizeTwelfths((0>d?-1:1)*Math.round(Math.abs(12*d)),this.doNormalize));b[a]=d}b[15]=1;this.setA(b);this.isFinalized=!0;c&&this.invertM(this);this.xyz=J.symmetry.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1);return!0}if(0==a.indexOf("[[")){a=a.$replace("["," ").$replace("]"," ").$replace(","," ");J.util.Parser.parseStringInfestedFloatArray(a,
null,b);for(a=0;16>a;a++)if(Float.isNaN(b[a]))return!1;this.setA(b);this.isFinalized=!0;c&&this.invertM(this);this.xyz=J.symmetry.SymmetryOperation.getXYZFromMatrix(this,!1,!1,!1);return!0}a=J.symmetry.SymmetryOperation.getMatrixFromString(a,b,this.doNormalize,!1);if(null==a)return!1;this.setA(b);c?(this.invertM(this),this.xyz=J.symmetry.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1)):this.xyz=a;J.util.Logger.debugging&&J.util.Logger.debug(""+this);return!0},"~S");c$.getMatrixFromString=$_M(c$,
"getMatrixFromString",function(a,b,c,d){for(var e=!1,h=!1,f=!1,g,k=0,l=0,j=0,n=0,r="",s=-1,q=1;0<=a.indexOf("x4");)J.util.Logger.info("ignoring last parameter in "+a),a=a.substring(0,a.lastIndexOf(",")),a=J.util.TextFormat.simpleReplace(a,"x1","x"),a=J.util.TextFormat.simpleReplace(a,"x2","y"),a=J.util.TextFormat.simpleReplace(a,"x3","z");a+=",";for(var p=0;p<a.length;p++){g=a.charAt(p);switch(g){case "'":case " ":case "{":case "}":case "!":continue;case "-":f=!0;continue;case "+":f=!1;continue;case "/":e=
!0;continue;case "X":case "x":k=f?-1:1;d&&0!=n&&(k*=n,n=0);break;case "Y":case "y":l=f?-1:1;d&&0!=n&&(l*=n,n=0);break;case "Z":case "z":j=f?-1:1;d&&0!=n&&(j*=n,n=0);break;case ",":if(2<++s)return J.util.Logger.warn("Symmetry Operation? "+a),null;e=4*s;n=J.symmetry.SymmetryOperation.normalizeTwelfths(n,c);b[e++]=k;b[e++]=l;b[e++]=j;b[e]=n;e="";e+=0==k?"":0>k?"-x":0==e.length?"x":"+x";e+=0==l?"":0>l?"-y":0==e.length?"y":"+y";e+=0==j?"":0>j?"-z":0==e.length?"z":"+z";e+=J.symmetry.SymmetryOperation.xyzFraction(n,
!1,!0);r+=(""===r?"":",")+e;if(2==s)return b[15]=1,r;n=k=l=j=0;break;case ".":h=!0;q=1;continue;case "0":if(!h&&(e||!d))continue;default:var t=g.charCodeAt(0)-48;if(h&&0<=t&&9>=t){q/=10;0>n&&(f=!0);n+=q*t*(f?-1:1);continue}0<=t&&9>=t?n=e?n/t:10*n+(f?-1:1)*t:J.util.Logger.warn("symmetry character?"+g)}h=e=f=!1}return null},"~S,~A,~B,~B");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){for(var e="",h=Clazz.newFloatArray(4,0),f=0;3>f;f++){a.getRow(f,h);var g="";0!=h[0]&&(g+=(0>h[0]?"-":"+")+"x");0!=h[1]&&(g+=(0>h[1]?"-":"+")+"y");0!=h[2]&&(g+=(0>h[2]?"-":"+")+"z");g+=J.symmetry.SymmetryOperation.xyzFraction(b?h[3]:12*h[3],c,d);0<g.length&&"+"==g.charAt(0)&&(g=g.substring(1));e+=","+g}return e.substring(1)},"J.util.Matrix4f,~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 J.util.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$,"transformCartesian",($fz=function(a,b){a.toFractional(b,!1);this.transform(b);a.toCartesian(b,!1)},$fz.isPrivate=!0,$fz),"J.symmetry.UnitCell,J.util.P3");$_M(c$,"rotateEllipsoid",function(a,b,c,d,e){var h=Array(3);e.setT(a);this.transformCartesian(c,e);for(var f=b.length;0<=--f;)d.setT(a),d.add(b[f]),this.transformCartesian(c,d),h[f]=J.util.V3.newV(d),h[f].sub(e);return h},"J.util.P3,~A,J.symmetry.UnitCell,J.util.P3,J.util.P3");$_M(c$,"getDescription",function(a,b,c,d){this.isFinalized||this.doFinalize();
return J.symmetry.SymmetryOperation.getDescription(this,this.xyzOriginal,a,b,c,d)},"J.api.SymmetryInterface,J.util.P3,J.util.P3,~S");c$.getDescription=$_M(c$,"getDescription",($fz=function(a,b,c,d,e,h){var f=new J.util.V3,g=new J.util.P3,k=new J.util.P3,l=new J.util.P3,j=new J.util.P3,n=new J.util.V3,r=new J.util.V3,s=J.symmetry.SymmetryOperation.getXYZFromMatrix(a,!1,!1,!1),q=null==h;if(null==d||Float.isNaN(d.x))d=new J.util.P3;if(null!=e){k.setT(d);l.setT(e);c.toUnitCell(k,g);c.toUnitCell(l,g);
c.toFractional(k,!1);a.transform(k);c.toCartesian(k,!1);c.toUnitCell(k,g);if(0.1<k.distance(l))return null;k.setT(d);l.setT(e);c.toFractional(k,!1);c.toFractional(l,!1);a.transform(k);r.sub2(l,k);k.set(0,0,0);l.set(0,0,0)}k.x=l.y=j.z=1;k.add(d);l.add(d);j.add(d);var p=J.util.P3.newP(d),t=J.util.P3.newP(k),y=J.util.P3.newP(l),C=J.util.P3.newP(j);c.toFractional(p,!1);c.toFractional(t,!1);c.toFractional(y,!1);c.toFractional(C,!1);a.transform2(p,p);a.transform2(t,t);a.transform2(y,y);a.transform2(C,C);
p.add(r);t.add(r);y.add(r);C.add(r);J.symmetry.SymmetryOperation.approx(r);c.toCartesian(p,!1);c.toCartesian(t,!1);c.toCartesian(y,!1);c.toCartesian(C,!1);var I=new J.util.V3;I.sub2(t,p);var K=new J.util.V3;K.sub2(y,p);var L=new J.util.V3;L.sub2(C,p);f.cross(I,K);var z=0>f.dot(L);z&&(t.scaleAdd2(-2,I,t),y.scaleAdd2(-2,K,y),C.scaleAdd2(-2,L,C));var v;v=J.util.Measure.computeHelicalAxis(null,135266306,d,p,J.util.Quaternion.getQuaternionFrame(p,t,y).div(J.util.Quaternion.getQuaternionFrame(d,k,l)));
e=v[0];var x=v[1],E=Clazz.floatToInt(Math.abs(J.util.Parser.approx(v[3].x,1))),G=J.symmetry.SymmetryOperation.approxF(v[3].y);z&&(t.scaleAdd2(2,I,t),y.scaleAdd2(2,K,y),C.scaleAdd2(2,L,C));v=J.util.V3.newV(p);v.sub(d);0.1>v.length()&&(v=null);var B=null,D=null,A=null,O=0==E,H=!O,M=!1,N=!1;if(H||z)v=null;if(z&&O)D=J.util.P3.newP(d),D.add(p),D.scale(0.5),B=p,M=!0;else if(z){var u=0==G?new J.util.V3:x,m=0;switch(E){case 60:m=0.6666667;break;case 120:m=2;break;case 90:m=1;break;case 180:A=new J.util.P3,
A.setT(d),A.add(u),e.scaleAdd2(0.5,u,d),0.1<A.distance(p)?(v=J.util.V3.newV(p),v.sub(A),g.setT(v),c.toFractional(g,!1),n.setT(g)):v=null,z=H=!1,N=!0}0!=m&&(f.setT(d),f.sub(e),f.add(p),f.sub(e),f.sub(u),f.scale(m),e.add(f),D=new J.util.P3,D.scaleAdd2(0.5,u,e),B=new J.util.P3,B.scaleAdd2(-2,D,d),B.scale(-1))}else null!=v&&(g.setT(v),c.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),c.toCartesian(g,!1),v.setT(g));var F=E;J.symmetry.SymmetryOperation.approx0(x);if(H){var w=new J.util.P3;f.setT(x);u=E;z?(w.setT(e),w.add(f),u=Math.round(J.util.Measure.computeTorsion(B,e,w,p,!0))):(0==G?(w.setT(e),g.scaleAdd2(1,w,f)):(g.setT(e),g.add(f),w.scaleAdd2(0.5,f,e)),u=Math.round(J.util.Measure.computeTorsion(d,e,g,p,!0)));0!=u&&(E=u)}if(H&&(!z&&0==G)&&(0>x.z||0==x.z&&(0>x.y||0==x.y&&0>x.x)))x.scale(-1),E=-E;u="identity";m=new J.util.SB;M?(g.setT(D),c.toFractional(g,!1),
u="inversion center|"+J.symmetry.SymmetryOperation.fcoord(g)):H?z?u=""+Clazz.doubleToInt(360/F)+"-bar axis":0!=G?(u=""+Clazz.doubleToInt(360/F)+"-fold screw axis",g.setT(x),c.toFractional(g,!1),u+="|translation: "+J.symmetry.SymmetryOperation.fcoord(g)):u="C"+Clazz.doubleToInt(360/F)+" axis":null!=v?(m=" "+J.symmetry.SymmetryOperation.fcoord(n),O?u="translation:"+m:N&&(u=J.symmetry.SymmetryOperation.approxF(n.x),F=J.symmetry.SymmetryOperation.approxF(n.y),w=J.symmetry.SymmetryOperation.approxF(n.z),
m=" "+J.symmetry.SymmetryOperation.fcoord(n),u=(0!=u&&0!=F&&0!=w?"d-":0!=u&&0!=F||0!=F&&0!=w||0!=w&&0!=u?"n-":0!=u?"a-":0!=F?"b-":"c-")+("glide plane |translation:"+m))):N&&(u="mirror plane");z&&!M&&(g.setT(D),c.toFractional(g,!1),u+="|inversion center at "+J.symmetry.SymmetryOperation.fcoord(g));m=null;if(!q){h="\ndraw ID "+h+"_";m=new J.util.SB;m.append("// "+b+"|"+s+"|"+u+"\n");m.append(h).append("* delete");J.symmetry.SymmetryOperation.drawLine(m,h+"frame1X",0.15,d,k,"red");J.symmetry.SymmetryOperation.drawLine(m,
h+"frame1Y",0.15,d,l,"green");J.symmetry.SymmetryOperation.drawLine(m,h+"frame1Z",0.15,d,j,"blue");g.setT(t);g.sub(p);g.scaleAdd2(0.9,g,p);J.symmetry.SymmetryOperation.drawLine(m,h+"frame2X",0.2,p,g,"red");g.setT(y);g.sub(p);g.scaleAdd2(0.9,g,p);J.symmetry.SymmetryOperation.drawLine(m,h+"frame2Y",0.2,p,g,"green");g.setT(C);g.sub(p);g.scaleAdd2(0.9,g,p);J.symmetry.SymmetryOperation.drawLine(m,h+"frame2Z",0.2,p,g,"purple");H&&(w=new J.util.P3,s="red",F=E,q=1,f.setT(x),z?(w.setT(e),w.add(f),0==G&&(w.setT(D),
f.scale(3),g.scaleAdd2(-1,f,e),m.append(h).append("rotVector2 diameter 0.1 ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(g)).append(" color red")),q=p.distance(w),m.append(h).append("rotLine1 ").append(J.util.Escape.eP(w)).append(J.util.Escape.eP(B)).append(" color red"),m.append(h).append("rotLine2 ").append(J.util.Escape.eP(w)).append(J.util.Escape.eP(p)).append(" color red")):0==G?(0.2>d.distance(p)||(m.append(h).append("rotLine1 ").append(J.util.Escape.eP(d)).append(J.util.Escape.eP(e)).append(" color red"),
m.append(h).append("rotLine2 ").append(J.util.Escape.eP(p)).append(J.util.Escape.eP(e)).append(" color red")),f.scale(3),g.scaleAdd2(-1,f,e),m.append(h).append("rotVector2 diameter 0.1 ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(g)).append(" color red"),w.setT(e),0==G&&0.2>d.distance(p)&&w.scaleAdd2(0.5,w,f)):(s="orange",m.append(h).append("rotLine1 ").append(J.util.Escape.eP(d)).append(J.util.Escape.eP(e)).append(" color red"),g.setT(e),g.add(f),m.append(h).append("rotLine2 ").append(J.util.Escape.eP(p)).append(J.util.Escape.eP(g)).append(" color red"),
w.scaleAdd2(0.5,f,e)),g.setT(w),g.add(f),z&&0!=G&&(m.append(h).append("rotRotLine1").append(J.util.Escape.eP(w)).append(J.util.Escape.eP(B)).append(" color red"),m.append(h).append("rotRotLine2").append(J.util.Escape.eP(w)).append(J.util.Escape.eP(p)).append(" color red")),m.append(h).append("rotRotArrow arrow width 0.10 scale "+q+" arc ").append(J.util.Escape.eP(w)).append(J.util.Escape.eP(g)),z?g.setT(B):g.setT(d),0.1>g.distance(p)&&g.set(Math.random(),Math.random(),Math.random()),m.append(J.util.Escape.eP(g)),
g.set(0,F,0),m.append(J.util.Escape.eP(g)).append(" color red"),m.append(h).append("rotVector1 vector diameter 0.1 ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(f)).append("color ").append(s));if(N){0.2<d.distance(A)&&m.append(h).append("planeVector arrow ").append(J.util.Escape.eP(d)).append(J.util.Escape.eP(A)).append(" color indigo");null!=v&&(g.scaleAdd2(-1,p,t),g.add(A),J.symmetry.SymmetryOperation.drawLine(m,h+"planeFrameX",0.15,A,g,"translucent red"),g.scaleAdd2(-1,p,y),g.add(A),J.symmetry.SymmetryOperation.drawLine(m,
h+"planeFrameY",0.15,A,g,"translucent green"),g.scaleAdd2(-1,p,C),g.add(A),J.symmetry.SymmetryOperation.drawLine(m,h+"planeFrameZ",0.15,A,g,"translucent blue"));s=null==v?"green":"blue";f.setT(x);f.normalize();t=J.util.P4.new4(f.x,f.y,f.z,-f.x*e.x-f.y*e.y-f.z*e.z);f=new J.util.JmolList;f.addLast(c.getCanonicalCopy(1.05));J.util.TriangleData.intersectPlane(t,f,3);for(t=f.size();0<=--t;)y=f.get(t),m.append(h).append("planep").appendI(t).append(J.util.Escape.eP(y[0])).append(J.util.Escape.eP(y[1])),
3==y.length&&m.append(J.util.Escape.eP(y[2])),m.append(" color translucent ").append(s);0==f.size()&&(g.setT(e),g.add(x),m.append(h).append("planeCircle scale 2.0 circle ").append(J.util.Escape.eP(e)).append(J.util.Escape.eP(g)).append(" color translucent ").append(s).append(" mesh fill"))}z&&(m.append(h).append("invPoint diameter 0.4 ").append(J.util.Escape.eP(D)),m.append(h).append("invArrow arrow ").append(J.util.Escape.eP(d)).append(J.util.Escape.eP(B)).append(" color indigo"),M||(g.setT(B),g.add(d),
g.sub(k),J.symmetry.SymmetryOperation.drawLine(m,h+"invFrameX",0.15,B,g,"translucent red"),g.setT(B),g.add(d),g.sub(l),J.symmetry.SymmetryOperation.drawLine(m,h+"invFrameY",0.15,B,g,"translucent green"),g.setT(B),g.add(d),g.sub(j),J.symmetry.SymmetryOperation.drawLine(m,h+"invFrameZ",0.15,B,g,"translucent blue")));null!=v&&(null==A&&(A=J.util.P3.newP(d)),m.append(h).append("transVector vector ").append(J.util.Escape.eP(A)).append(J.util.Escape.eP(v)));m.append("\nvar pt00 = "+J.util.Escape.eP(d));
m.append("\nvar p0 = "+J.util.Escape.eP(p));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(h).append("cellOffsetVector arrow @p0 @set2 color grey");m.append(h).append("offsetFrameX diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(J.util.Escape.eP(I)).append("*0.9} color red");m.append(h).append("offsetFrameY diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(J.util.Escape.eP(K)).append("*0.9} color green");m.append(h).append("offsetFrameZ diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(J.util.Escape.eP(L)).append("*0.9} color purple");
m.append("\n}}\n");m=m.toString()}null==v&&(n=null);H&&!z&&0!=G&&(v=J.util.V3.newV(x),g.setT(v),c.toFractional(g,!1),n=J.util.V3.newV(g));N&&(E=0);z?M&&(n=v=x=e=null):O&&(x=e=null);null!=x&&x.normalize();c=null;c=J.util.Matrix4f.newM(a);0!=r.length()&&(c.m03+=r.x,c.m13+=r.y,c.m23+=r.z);s=J.symmetry.SymmetryOperation.getXYZFromMatrix(c,!1,!1,!1);return[s,b,u,m,J.symmetry.SymmetryOperation.approx0(n),J.symmetry.SymmetryOperation.approx0(v),J.symmetry.SymmetryOperation.approx0(D),J.symmetry.SymmetryOperation.approx0(e),
J.symmetry.SymmetryOperation.approx0(x),Integer.$valueOf(E),c,r]},$fz.isPrivate=!0,$fz),"J.symmetry.SymmetryOperation,~S,J.api.SymmetryInterface,J.util.P3,J.util.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),"J.util.SB,~S,~N,J.util.P3,J.util.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)},"J.util.Tuple3f");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),"J.util.Tuple3f");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),"J.util.Tuple3f");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},"J.util.Matrix4f");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","$.P3"],"J.symmetry.UnitCell",["J.util.BoxInfo","$.Matrix4f","$.Quadric"],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 J.util.P3;this.fractionalOffset=new J.util.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 J.util.Matrix4f;b.setM3(a);this.matrixFractionalToCartesian.mul2(b,
this.matrixFractionalToCartesian);this.matrixCartesianToFractional.invertM(this.matrixFractionalToCartesian);this.calcUnitcellVertices()}},"J.util.Matrix3f");$_M(c$,"toUnitCell",function(a,b){if(null!=this.matrixCartesianToFractional)if(null==b){this.matrixCartesianToFractional.transform(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)}this.matrixFractionalToCartesian.transform(a)}else{this.matrixCtoFAbsolute.transform(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)}a.add(b);this.matrixFtoCAbsolute.transform(a)}},"J.util.P3,J.util.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=J.util.P3.newP(a):(0==a.x&&(0==a.y&&0==a.z)&&(this.unitCellMultiplier=null),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))))},"J.util.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.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))},"J.util.Tuple3f");
$_M(c$,"setMinMaxLatticeParameters",function(a,b){if(555>=b.x&&555<=b.y){var c=new J.util.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}},"J.util.P3i,J.util.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$,"getEllipsoid",function(a){if(null==a)return null;if(0==a[0]){var b=Clazz.newFloatArray(3,0);b[0]=
b[1]=b[2]=Math.sqrt(a[7]);return(new J.util.Quadric).fromVectors(null,b,!0)}var b=Clazz.newDoubleArray(6,0),c=Clazz.floatToInt(a[6]);if(12==c)b[0]=19.739208802178716*a[0],b[1]=19.739208802178716*a[1],b[2]=19.739208802178716*a[2],b[3]=39.47841760435743*a[3],b[4]=39.47841760435743*a[4],b[5]=39.47841760435743*a[5],a[7]=(a[0]+a[1]+a[3])/3;else{var d=4==c||5==c||8==c||9==c,e=2-c%2,h=8==c||9==c||10==c?19.739208802178716:4==c||5==c?0.25:2==c||3==c?Math.log(2):1,c=a[0]*h*(d?this.a_*this.a_:1),f=a[1]*h*(d?
this.b_*this.b_:1),g=a[2]*h*(d?this.c_*this.c_:1),k=a[3]*h*(d?this.a_*this.b_:1)*e,l=a[4]*h*(d?this.a_*this.c_:1)*e,d=a[5]*h*(d?this.b_*this.c_:1)*e;a[7]=Math.pow(c/19.739208802178716/this.a_/this.a_*f/19.739208802178716/this.b_/this.b_*g/19.739208802178716/this.c_/this.c_,0.3333);b[0]=this.a*this.a*c+this.b*this.b*this.cosGamma*this.cosGamma*f+this.c*this.c*this.cosBeta*this.cosBeta*g+this.a*this.b*this.cosGamma*k+this.b*this.c*this.cosGamma*this.cosBeta*d+this.a*this.c*this.cosBeta*l;b[1]=this.b*
this.b*this.sinGamma*this.sinGamma*f+this.c*this.c*this.cA_*this.cA_*g+this.b*this.c*this.cA_*this.sinGamma*d;b[2]=this.c*this.c*this.cB_*this.cB_*g;b[3]=2*this.b*this.b*this.cosGamma*this.sinGamma*f+2*this.c*this.c*this.cA_*this.cosBeta*g+this.a*this.b*this.sinGamma*k+this.b*this.c*(this.cA_*this.cosGamma+this.sinGamma*this.cosBeta)*d+this.a*this.c*this.cA_*l;b[4]=2*this.c*this.c*this.cB_*this.cosBeta*g+this.b*this.c*this.cosGamma*d+this.a*this.c*this.cB_*l;b[5]=2*this.c*this.c*this.cA_*this.cB_*
g+this.b*this.c*this.cB_*this.sinGamma*d}return(new J.util.Quadric).fromBCart(b)},"~A");$_M(c$,"getCanonicalCopy",function(a){for(var b=Array(8),c=0;8>c;c++)b[c]=J.util.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=J.util.Matrix4f.newM(this.matrixCartesianToFractional);this.matrixFtoCAbsolute=J.util.Matrix4f.newM(this.matrixFractionalToCartesian);this.vertices=Array(8);for(var a=8;0<=--a;)this.vertices[a]=new J.util.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,g){a=J.util.P3.newP(a);this.toCartesian(a,!0);for(var k=-e;k<=e;k++)for(var l=
-h;l<=h;l++)for(var j=-f;j<=f;j++){g.set(b.x+k,b.y+l,b.z+j);this.toCartesian(g,!0);var n=a.distance(g);if(0<d?Math.abs(n-c)<=d:n<=c&&0.1<n)return g.set(k,l,j),!0}return!1},"J.util.P3,J.util.P3,~N,~N,~N,~N,~N,J.util.P3");$_M(c$,"getUnitCellMultiplier",function(){return this.unitCellMultiplier});$_M(c$,"getUnitCellVectors",function(){var a=this.matrixFractionalToCartesian;return[J.util.P3.newP(this.cartesianOffset),J.util.P3.new3(a.m00,a.m10,a.m20),J.util.P3.new3(a.m01,a.m11,a.m21),J.util.P3.new3(a.m02,
a.m12,a.m22)]});Clazz.defineStatics(c$,"twoP2",19.739208802178716)});
