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