diff --git a/applications/utilities/mesh/generation/cvMesh/cvMeshDict b/applications/utilities/mesh/generation/cvMesh/cvMeshDict index 6b8703c799..b8f7d58970 100644 --- a/applications/utilities/mesh/generation/cvMesh/cvMeshDict +++ b/applications/utilities/mesh/generation/cvMesh/cvMeshDict @@ -401,7 +401,7 @@ polyMeshFiltering // Upper limit on how close two dual vertices can be before // being merged, fraction of the local target cell size - mergeClosenessCoeff 1e-4; + mergeClosenessCoeff 1e-9; // To not filter: set maxNonOrtho to 1 (so check fails) and then // set continueFilteringOnBadInitialPolyMesh to false. @@ -451,6 +451,11 @@ meshQualityControls // Set to 180 to disable. maxConcave 80; + //- Minimum pyramid volume. Is absolute volume of cell pyramid. + // Set to a sensible fraction of the smallest cell volume expected. + // Set to very negative number (e.g. -1E30) to disable. + minVol -1E30; + //- Minimum quality of the tet formed by the // variable base point minimum decomposition triangles and // the cell centre (so not face-centre decomposition). diff --git a/applications/utilities/surface/surfaceOrient/surfaceOrient.C b/applications/utilities/surface/surfaceOrient/surfaceOrient.C index 084d658155..76ee9c7ab9 100644 --- a/applications/utilities/surface/surfaceOrient/surfaceOrient.C +++ b/applications/utilities/surface/surfaceOrient/surfaceOrient.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -28,13 +28,13 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "triSurfaceSearch.H" #include "orientedSurface.H" using namespace Foam; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - // Main program: int main(int argc, char *argv[]) @@ -53,6 +53,11 @@ int main(int argc, char *argv[]) "inside", "treat provided point as being inside" ); + argList::addBoolOption + ( + "usePierceTest", + "determine orientation by counting number of intersections" + ); argList args(argc, argv); @@ -61,9 +66,9 @@ int main(int argc, char *argv[]) const fileName outFileName = args[3]; const bool orientInside = args.optionFound("inside"); + const bool usePierceTest = args.optionFound("usePierceTest"); Info<< "Reading surface from " << surfFileName << nl - << "Visible point " << visiblePoint << nl << "Orienting surface such that visiblePoint " << visiblePoint << " is "; @@ -76,19 +81,35 @@ int main(int argc, char *argv[]) Info<< "outside" << endl; } - Info<< "Writing surface to " << outFileName << endl; // Load surface triSurface surf(surfFileName); - //orientedSurface normalSurf(surf, visiblePoint, !orientInside); - bool anyFlipped = orientedSurface::orient - ( - surf, - visiblePoint, - !orientInside - ); + + bool anyFlipped = false; + + if (usePierceTest) + { + triSurfaceSearch surfSearches(surf); + + anyFlipped = orientedSurface::orient + ( + surf, + surfSearches, + visiblePoint, + !orientInside + ); + } + else + { + anyFlipped = orientedSurface::orient + ( + surf, + visiblePoint, + !orientInside + ); + } if (anyFlipped) { diff --git a/src/meshTools/triSurface/orientedSurface/orientedSurface.C b/src/meshTools/triSurface/orientedSurface/orientedSurface.C index 25035a24f6..2b32604972 100644 --- a/src/meshTools/triSurface/orientedSurface/orientedSurface.C +++ b/src/meshTools/triSurface/orientedSurface/orientedSurface.C @@ -25,6 +25,7 @@ License #include "orientedSurface.H" #include "triSurfaceTools.H" +#include "triSurfaceSearch.H" #include "treeBoundBox.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -165,13 +166,6 @@ void Foam::orientedSurface::walkSurface { changedEdges = faceToEdge(s, changedFaces); - if (debug) - { - Pout<< "From changedFaces:" << changedFaces.size() - << " to changedEdges:" << changedEdges.size() - << endl; - } - if (changedEdges.empty()) { break; @@ -179,13 +173,6 @@ void Foam::orientedSurface::walkSurface changedFaces = edgeToFace(s, changedEdges, flipState); - if (debug) - { - Pout<< "From changedEdges:" << changedEdges.size() - << " to changedFaces:" << changedFaces.size() - << endl; - } - if (changedFaces.empty()) { break; @@ -251,6 +238,82 @@ void Foam::orientedSurface::propagateOrientation } +// Find side for zoneI only by counting the number of intersections. Determines +// if face is oriented consistent with outwards pointing normals. +void Foam::orientedSurface::findZoneSide +( + const triSurfaceSearch& surfSearches, + const labelList& faceZone, + const label zoneI, + const point& outsidePoint, + label& zoneFaceI, + bool& isOutside +) +{ + const triSurface& s = surfSearches.surface(); + + zoneFaceI = -1; + isOutside = false; + + + List hits; + + forAll(faceZone, faceI) + { + if (faceZone[faceI] == zoneI) + { + const point& fc = s.faceCentres()[faceI]; + const vector& n = s.faceNormals()[faceI]; + + const vector d = fc - outsidePoint; + const scalar magD = mag(d); + + // Check if normal different enough to decide upon + if (magD > SMALL && (mag(n & d/magD) > 1e-6)) + { + point end = fc + d; + + //Info<< "Zone " << zoneI << " : Shooting ray" + // << " from " << outsidePoint + // << " to " << end + // << " to pierce triangle " << faceI + // << " with centre " << fc << endl; + + surfSearches.findLineAll(outsidePoint, end, hits); + + label zoneIndex = -1; + forAll(hits, i) + { + if (hits[i].index() == faceI) + { + zoneIndex = i; + break; + } + } + + if (zoneIndex != -1) + { + zoneFaceI = faceI; + + if ((zoneIndex%2) == 0) + { + // Odd number of intersections. Check if normal points + // in direction of ray + isOutside = ((n & d) < 0); + } + else + { + isOutside = ((n & d) > 0); + } + + break; + } + } + } + } +} + + bool Foam::orientedSurface::flipSurface ( triSurface& s, @@ -438,4 +501,56 @@ bool Foam::orientedSurface::orient } +bool Foam::orientedSurface::orient +( + triSurface& s, + const triSurfaceSearch& querySurf, + const point& samplePoint, + const bool orientOutside +) +{ + // Determine disconnected parts of surface + boolList borderEdge(s.nEdges(), false); + forAll(s.edgeFaces(), edgeI) + { + if (s.edgeFaces()[edgeI].size() != 2) + { + borderEdge[edgeI] = true; + } + } + labelList faceZone; + label nZones = s.markZones(borderEdge, faceZone); + + // Check intersection with one face per zone. + + labelList flipState(s.size(), UNVISITED); + for (label zoneI = 0; zoneI < nZones; zoneI++) + { + label zoneFaceI = -1; + bool isOutside; + findZoneSide + ( + querySurf, + faceZone, + zoneI, + samplePoint, + + zoneFaceI, + isOutside + ); + + if (isOutside == orientOutside) + { + flipState[zoneFaceI] = NOFLIP; + } + else + { + flipState[zoneFaceI] = FLIP; + } + walkSurface(s, zoneFaceI, flipState); + } + return flipSurface(s, flipState); +} + + // ************************************************************************* // diff --git a/src/meshTools/triSurface/orientedSurface/orientedSurface.H b/src/meshTools/triSurface/orientedSurface/orientedSurface.H index 327b44197b..209673a187 100644 --- a/src/meshTools/triSurface/orientedSurface/orientedSurface.H +++ b/src/meshTools/triSurface/orientedSurface/orientedSurface.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -44,6 +44,7 @@ namespace Foam { // Forward declaration of classes +class triSurfaceSearch; /*---------------------------------------------------------------------------*\ Class orientedSurface Declaration @@ -111,6 +112,18 @@ class orientedSurface labelList& flipState ); + //- Find a face on zoneI and count number of intersections to determine + // orientation + static void findZoneSide + ( + const triSurfaceSearch& surfSearches, + const labelList& faceZone, + const label zoneI, + const point& visiblePoint, + label& zoneFaceI, + bool& isOutside + ); + //- Given flipState reverse triangles of *this. Return true if // anything flipped. static bool flipSurface(triSurface& s, const labelList& flipState); @@ -127,7 +140,7 @@ public: //- Construct from triSurface and sample point which is either // outside (orientOutside = true) or inside (orientOutside = false). - // Uses linear search to find nearest. + // Uses orient. orientedSurface ( const triSurface&, @@ -145,8 +158,21 @@ public: //- Flip faces such that normals are consistent with point: // orientOutside=true : point outside surface // orientOutside=false : point inside surface + // Bases orientation on normal on nearest point (linear search) and + // walks to rest. Surface needs to be manifold. static bool orient(triSurface&, const point&, const bool orientOutside); + //- Flip faces such that normals are consistent with point: + // orientOutside=true : point outside surface + // orientOutside=false : point inside surface + // Uses intersection count to orient. Handles open surfaces. + static bool orient + ( + triSurface& s, + const triSurfaceSearch& querySurf, + const point& samplePoint, + const bool orientOutside + ); }; diff --git a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C index 92d8f8ad6d..b24c482b25 100644 --- a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C +++ b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C @@ -188,4 +188,86 @@ const } +void Foam::triSurfaceSearch::findLineAll +( + const point& start, + const point& end, + List& hits +) +const +{ + // See if any intersection between pt and end + pointIndexHit inter = tree().findLine(start, end); + + if (inter.hit()) + { + label sz = hits.size(); + hits.setSize(sz+1); + hits[sz] = inter; + + const vector dirVec(end-start); + const scalar magSqrDirVec(magSqr(dirVec)); + const vector smallVec + ( + indexedOctree::perturbTol()*dirVec + + vector(ROOTVSMALL,ROOTVSMALL,ROOTVSMALL) + ); + + + // Initial perturbation amount + vector perturbVec(smallVec); + + while (true) + { + // Start tracking from last hit. + point pt = hits.last().hitPoint() + perturbVec; + + if (((pt-start)&dirVec) > magSqrDirVec) + { + return; + } + + // See if any intersection between pt and end + pointIndexHit inter = tree().findLine(pt, end); + + if (!inter.hit()) + { + return; + } + + // Check if already found this intersection + bool duplicateHit = false; + forAllReverse(hits, i) + { + if (hits[i].index() == inter.index()) + { + duplicateHit = true; + break; + } + } + + + if (duplicateHit) + { + // Hit same triangle again. Increase perturbVec and try again. + perturbVec *= 2; + } + else + { + // Proper hit + label sz = hits.size(); + hits.setSize(sz+1); + hits[sz] = inter; + // Restore perturbVec + perturbVec = smallVec; + } + } + } + else + { + hits.clear(); + } +} + + // ************************************************************************* // diff --git a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.H b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.H index dfea9a5f30..3d2537d245 100644 --- a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.H +++ b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -128,6 +128,15 @@ public: // - hitPoint() : coordinate of nearest point // - index() : surface triangle label pointIndexHit nearest(const point&, const vector& span) const; + + //- Calculate all intersections from start to end + void findLineAll + ( + const point& start, + const point& end, + List& + ) const; + }; diff --git a/tutorials/mesh/cvMesh/car/Allrun b/tutorials/mesh/cvMesh/car/Allrun new file mode 100755 index 0000000000..85a2fbc0e7 --- /dev/null +++ b/tutorials/mesh/cvMesh/car/Allrun @@ -0,0 +1,40 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +# Orient so point to be meshed is inside surface +surfaceOrient \ + constant/triSurface/m_car01.obj \ + -inside -usePierceTest '(13 -200 149)' \ + constant/triSurface/m_car01_orient.obj \ + > log.surfaceOrient.m_car01 2>&1 + +# Same for outside +surfaceOrient \ + constant/triSurface/domain.stl \ + -inside -usePierceTest '(13 -200 149)' \ + constant/triSurface/domain_orient.stl \ + > log.surfaceOrient.domain 2>&1 + +# Surface has open edges. Create dummy features for now. +runApplication surfaceFeatureExtract \ + constant/triSurface/m_car01_orient.obj \ + m_car01 -minElem 10000000 +mv log.surfaceFeatureExtract log.surfaceFeatureExtract.m_car01 + +unset FOAM_SIGFPE +runApplication surfaceFeatureExtract \ + constant/triSurface/domain_orient.stl \ + domain -includedAngle 125 +mv log.surfaceFeatureExtract log.surfaceFeatureExtract.domain + +# Generate aligned points (in constant/internalDelaunayVertices) and a +# mesh from that. +runApplication cvMesh + +# Generate some sets for a bit of mesh inspection +runApplication topoSet -constant -time 0:100 + +# ----------------------------------------------------------------- end-of-file diff --git a/tutorials/mesh/cvMesh/car/constant/triSurface/domain.stl b/tutorials/mesh/cvMesh/car/constant/triSurface/domain.stl new file mode 100644 index 0000000000..72596e4b6b Binary files /dev/null and b/tutorials/mesh/cvMesh/car/constant/triSurface/domain.stl differ diff --git a/tutorials/mesh/cvMesh/car/constant/triSurface/m_car01.obj b/tutorials/mesh/cvMesh/car/constant/triSurface/m_car01.obj new file mode 100644 index 0000000000..66e083e3a7 --- /dev/null +++ b/tutorials/mesh/cvMesh/car/constant/triSurface/m_car01.obj @@ -0,0 +1,4668 @@ +v 80.433884 -162.746384 34.264919 +v 80.433876 -156.775986 34.264919 +v 80.433884 -156.979416 35.810173 +v 80.433884 -157.575867 37.250122 +v 80.433884 -158.524673 38.486633 +v 80.433884 -159.761169 39.435444 +v 80.433884 -161.201126 40.031887 +v 80.433884 -162.746384 40.235325 +v 80.433884 -164.291641 40.031887 +v 80.433884 -165.731583 39.435444 +v 80.433884 -166.968094 38.486633 +v 80.433884 -167.916901 37.250122 +v 80.433884 -168.513351 35.810173 +v 80.433884 -168.716797 34.264919 +v 80.433884 -168.513351 32.719666 +v 80.433884 -167.916901 31.279716 +v 80.433884 -166.968094 30.043205 +v 80.433884 -165.731583 29.094397 +v 80.433884 -164.291641 28.497952 +v 80.433884 -162.746384 28.294514 +v 80.433884 -161.201126 28.497952 +v 80.433884 -159.761185 29.094397 +v 80.433884 -158.524673 30.043205 +v 80.433884 -157.575867 31.279716 +v 80.433884 -156.979416 32.719666 +v 81.305397 -156.775986 34.264919 +v 81.305397 -156.979416 35.810173 +v 81.305397 -157.575867 37.250122 +v 81.305397 -158.524673 38.486633 +v 81.305405 -159.761169 39.435444 +v 81.305397 -161.201126 40.031887 +v 81.305397 -162.746384 40.235325 +v 81.305405 -164.291641 40.031887 +v 81.305405 -165.731583 39.435444 +v 81.305405 -166.968094 38.486633 +v 81.305405 -167.916901 37.250122 +v 81.305405 -168.513351 35.810173 +v 81.305405 -168.716797 34.264919 +v 81.305405 -168.513351 32.719666 +v 81.305405 -167.916901 31.279716 +v 81.305405 -166.968094 30.043205 +v 81.305397 -165.731583 29.094397 +v 81.305405 -164.291641 28.497952 +v 81.305405 -162.746384 28.294514 +v 81.305397 -161.201126 28.497952 +v 81.305397 -159.761185 29.094397 +v 81.305397 -158.524673 30.043205 +v 81.305397 -157.575867 31.279716 +v 81.305397 -156.979416 32.719666 +v 80.433846 -143.500854 34.264915 +v 80.433846 -144.156631 39.246021 +v 80.433846 -146.079269 43.887676 +v 80.433846 -149.137741 47.873550 +v 80.433846 -153.123611 50.932030 +v 80.433846 -157.765274 52.854664 +v 80.433838 -162.746384 53.510445 +v 80.433838 -167.727493 52.854671 +v 80.433838 -172.369141 50.932030 +v 80.433838 -176.355026 47.873562 +v 80.433838 -179.413513 43.887680 +v 80.433838 -181.336136 39.246029 +v 80.433838 -181.991913 34.264923 +v 80.433838 -181.336136 29.283813 +v 80.433838 -179.413498 24.642162 +v 80.433838 -176.355026 20.656279 +v 80.433838 -172.369141 17.597807 +v 80.433838 -167.727493 15.675174 +v 80.433838 -162.746384 15.019397 +v 80.433838 -157.765274 15.675171 +v 80.433838 -153.123627 17.597805 +v 80.433838 -149.137741 20.656277 +v 80.433846 -146.079269 24.642157 +v 80.433838 -144.156631 29.283812 +v 80.433846 -156.979416 35.810173 +v 80.433846 -156.775986 34.264915 +v 80.433846 -157.575867 37.250122 +v 80.433846 -158.524673 38.486629 +v 80.433846 -159.761169 39.435440 +v 80.433846 -161.201126 40.031887 +v 80.433846 -162.746384 40.235325 +v 80.433846 -164.291641 40.031887 +v 80.433846 -165.731583 39.435444 +v 80.433846 -166.968094 38.486633 +v 80.433846 -167.916901 37.250122 +v 80.433846 -168.513351 35.810173 +v 80.433846 -168.716797 34.264919 +v 80.433846 -168.513351 32.719666 +v 80.433846 -167.916901 31.279716 +v 80.433846 -166.968094 30.043203 +v 80.433846 -165.731583 29.094397 +v 80.433846 -164.291641 28.497952 +v 80.433846 -162.746384 28.294514 +v 80.433846 -161.201126 28.497952 +v 80.433846 -159.761169 29.094397 +v 80.433846 -158.524673 30.043205 +v 80.433846 -157.575867 31.279716 +v 80.433846 -156.979416 32.719666 +v 82.821526 -162.746384 34.264919 +v 82.821526 -166.723709 36.561230 +v 82.821526 -167.182510 35.453579 +v 82.821526 -159.498901 31.017447 +v 82.821526 -158.769058 31.968609 +v 82.821526 -158.310242 33.076263 +v 82.821526 -158.153763 34.264919 +v 82.821526 -158.310242 35.453575 +v 82.821526 -158.769058 36.561230 +v 82.821526 -159.498901 37.512390 +v 82.821526 -160.450073 38.242245 +v 82.821526 -161.557724 38.701050 +v 82.821526 -162.746384 38.857540 +v 82.821526 -163.935028 38.701050 +v 82.821526 -165.042694 38.242245 +v 82.821526 -165.993851 37.512394 +v 82.821526 -167.339005 34.264919 +v 82.821526 -167.182510 33.076263 +v 82.821526 -166.723709 31.968611 +v 82.821526 -165.993851 31.017448 +v 82.821526 -165.042694 30.287594 +v 82.821526 -163.935043 29.828791 +v 82.821526 -162.746384 29.672300 +v 82.821526 -161.557724 29.828791 +v 82.821526 -160.450073 30.287594 +v 75.353844 -147.382950 38.381535 +v 75.353844 -156.979416 35.810173 +v 75.353844 -146.840988 34.264915 +v 75.353844 -159.761169 39.435440 +v 75.353844 -154.793686 48.039394 +v 75.353844 -158.629761 49.628349 +v 75.353844 -161.201126 40.031887 +v 75.353844 -162.746384 50.170315 +v 75.353844 -162.746384 40.235325 +v 75.353844 -166.862991 49.628349 +v 75.353844 -164.291641 40.031887 +v 75.353844 -167.916901 37.250122 +v 75.353844 -176.520844 42.217617 +v 75.353844 -178.109802 38.381538 +v 75.353844 -168.513351 35.810173 +v 75.353844 -178.651779 34.264923 +v 75.353844 -168.716797 34.264919 +v 75.353844 -178.109818 30.148304 +v 75.353844 -168.513351 32.719666 +v 75.353844 -165.731583 29.094397 +v 75.353844 -170.699081 20.490446 +v 75.353844 -166.863007 18.901493 +v 75.353844 -164.291641 28.497952 +v 75.353844 -162.746384 18.359529 +v 75.353844 -162.746384 28.294514 +v 75.353844 -158.629761 18.901489 +v 75.353844 -161.201126 28.497952 +v 75.353844 -157.575867 31.279716 +v 75.353844 -148.971909 26.312225 +v 75.353844 -147.382950 30.148300 +v 75.353844 -156.979416 32.719666 +v 75.353844 -156.775986 34.264915 +v 59.992188 -141.242996 34.264908 +v 59.992188 -141.975693 39.830391 +v 59.992188 -144.123886 45.016594 +v 59.992184 -147.541183 49.470093 +v 59.992184 -151.994675 52.887375 +v 59.992184 -157.180878 55.035572 +v 59.992184 -162.746368 55.768284 +v 59.992180 -168.311844 55.035572 +v 59.992180 -173.498062 52.887375 +v 59.992180 -177.951538 49.470089 +v 59.992184 -181.368835 45.016594 +v 59.992184 -183.517029 39.830387 +v 59.992184 -184.249741 34.264904 +v 59.992184 -183.517029 28.699423 +v 59.992184 -181.368835 23.513218 +v 59.992184 -177.951538 19.059723 +v 59.992184 -173.498062 15.642439 +v 59.992184 -168.311859 13.494245 +v 59.992188 -162.746368 12.761535 +v 59.992188 -157.180878 13.494243 +v 59.992188 -151.994675 15.642441 +v 59.992188 -147.541183 19.059729 +v 59.992188 -144.123901 23.513226 +v 59.992188 -141.975693 28.699427 +v 59.992188 -130.491318 34.264908 +v 59.992188 -131.590363 42.613132 +v 59.992184 -134.812653 50.392441 +v 59.992184 -139.938599 57.072681 +v 59.992184 -146.618835 62.198612 +v 59.992184 -154.398132 65.420898 +v 59.992184 -162.746368 66.519974 +v 59.992180 -171.094604 65.420914 +v 59.992180 -178.873886 62.198608 +v 59.992180 -185.554138 57.072678 +v 59.992180 -190.680069 50.392437 +v 59.992184 -193.902374 42.613129 +v 59.992184 -195.001434 34.264904 +v 59.992184 -193.902374 25.916681 +v 59.992184 -190.680069 18.137377 +v 59.992184 -185.554138 11.457133 +v 59.992184 -178.873901 6.331204 +v 59.992188 -171.094604 3.108909 +v 59.992191 -162.746368 2.009849 +v 59.992191 -154.398148 3.108911 +v 59.992195 -146.618835 6.331206 +v 59.992188 -139.938599 11.457139 +v 59.992188 -134.812653 18.137383 +v 59.992195 -131.590363 25.916689 +v 61.494209 -128.556015 34.264912 +v 61.494209 -129.720993 43.114025 +v 61.494205 -133.136627 51.360092 +v 61.494205 -138.570114 58.441147 +v 61.494198 -145.651184 63.874638 +v 61.494198 -153.897247 67.290268 +v 61.494198 -162.746368 68.455276 +v 61.494186 -171.595474 67.290268 +v 61.494186 -179.841537 63.874630 +v 61.494186 -186.922607 58.441147 +v 61.494194 -192.356094 51.360088 +v 61.494198 -195.771729 43.114021 +v 61.494198 -196.936737 34.264908 +v 61.494205 -195.771729 25.415787 +v 61.494205 -192.356094 17.169725 +v 61.494205 -186.922607 10.088666 +v 61.494205 -179.841537 4.655181 +v 61.494209 -171.595474 1.239548 +v 61.494213 -162.746368 0.074543 +v 61.494221 -153.897247 1.239552 +v 61.494217 -145.651184 4.655185 +v 61.494217 -138.570114 10.088674 +v 61.494217 -133.136627 17.169731 +v 61.494209 -129.720993 25.415796 +v 81.598160 -128.556000 34.264912 +v 81.598160 -129.721008 43.114025 +v 81.598160 -133.136627 51.360096 +v 81.598160 -138.570114 58.441147 +v 81.598160 -145.651184 63.874634 +v 81.598145 -153.897247 67.290268 +v 81.598145 -162.746368 68.455276 +v 81.598145 -171.595474 67.290268 +v 81.598145 -179.841537 63.874634 +v 81.598145 -186.922607 58.441147 +v 81.598145 -192.356094 51.360088 +v 81.598145 -195.771729 43.114021 +v 81.598145 -196.936737 34.264908 +v 81.598160 -195.771729 25.415789 +v 81.598160 -192.356094 17.169724 +v 81.598160 -186.922607 10.088667 +v 81.598160 -179.841537 4.655184 +v 81.598175 -171.595474 1.239550 +v 81.598175 -162.746368 0.074546 +v 81.598175 -153.897247 1.239554 +v 81.598175 -145.651184 4.655188 +v 81.598160 -138.570114 10.088673 +v 81.598160 -133.136627 17.169731 +v 81.598160 -129.720993 25.415798 +v 83.100174 -130.491302 34.264912 +v 83.100174 -131.590363 42.613136 +v 83.100174 -134.812653 50.392445 +v 83.100174 -139.938599 57.072685 +v 83.100174 -146.618835 62.198612 +v 83.100174 -154.398132 65.420914 +v 83.100174 -162.746368 66.519974 +v 83.100174 -171.094604 65.420914 +v 83.100174 -178.873886 62.198612 +v 83.100174 -185.554138 57.072681 +v 83.100174 -190.680069 50.392441 +v 83.100174 -193.902374 42.613132 +v 83.100174 -195.001434 34.264908 +v 83.100174 -193.902374 25.916683 +v 83.100174 -190.680069 18.137377 +v 83.100174 -185.554138 11.457134 +v 83.100189 -178.873901 6.331205 +v 83.100174 -171.094604 3.108912 +v 83.100189 -162.746368 2.009848 +v 83.100189 -154.398148 3.108914 +v 83.100189 -146.618835 6.331209 +v 83.100189 -139.938599 11.457142 +v 83.100174 -134.812668 18.137384 +v 83.100174 -131.590363 25.916691 +v 83.100174 -141.242996 34.264912 +v 83.100174 -141.975693 39.830395 +v 83.100174 -144.123886 45.016594 +v 83.100174 -147.541183 49.470093 +v 83.100174 -151.994675 52.887379 +v 83.100174 -157.180878 55.035576 +v 83.100174 -162.746368 55.768288 +v 83.100174 -168.311844 55.035576 +v 83.100174 -173.498062 52.887379 +v 83.100174 -177.951538 49.470089 +v 83.100174 -181.368835 45.016594 +v 83.100174 -183.517029 39.830391 +v 83.100174 -184.249741 34.264908 +v 83.100174 -183.517029 28.699425 +v 83.100174 -181.368835 23.513220 +v 83.100174 -177.951569 19.059727 +v 83.100189 -173.498062 15.642442 +v 83.100174 -168.311859 13.494246 +v 83.100174 -162.746368 12.761536 +v 83.100174 -157.180878 13.494246 +v 83.100174 -151.994675 15.642444 +v 83.100174 -147.541183 19.059731 +v 83.100174 -144.123901 23.513226 +v 83.100174 -141.975693 28.699430 +v 80.433868 -143.500839 34.264912 +v 80.433868 -144.156616 39.246017 +v 80.433868 -146.079254 43.887672 +v 80.433868 -149.137726 47.873547 +v 80.433868 -153.123596 50.932018 +v 80.433868 -157.765259 52.854656 +v 80.433868 -162.746368 53.510433 +v 80.433868 -167.727478 52.854656 +v 80.433868 -172.369125 50.932014 +v 80.433868 -176.355011 47.873547 +v 80.433868 -179.413483 43.887669 +v 80.433868 -181.336121 39.246014 +v 80.433868 -181.991898 34.264912 +v 80.433868 -181.336121 29.283804 +v 80.433868 -179.413483 24.642151 +v 80.433868 -176.355011 20.656273 +v 80.433868 -172.369125 17.597801 +v 80.433868 -167.727478 15.675170 +v 80.433868 -162.746368 15.019395 +v 80.433868 -157.765259 15.675172 +v 80.433868 -153.123596 17.597805 +v 80.433868 -149.137726 20.656277 +v 80.433868 -146.079254 24.642155 +v 80.433868 -144.156616 29.283810 +v -80.364799 -162.746368 34.264919 +v -80.364792 -168.716766 34.264919 +v -80.364799 -168.513336 35.810173 +v -80.364799 -167.916885 37.250122 +v -80.364799 -166.968079 38.486633 +v -80.364799 -165.731583 39.435444 +v -80.364799 -164.291626 40.031887 +v -80.364799 -162.746368 40.235325 +v -80.364799 -161.201111 40.031887 +v -80.364799 -159.761169 39.435444 +v -80.364799 -158.524658 38.486633 +v -80.364799 -157.575851 37.250122 +v -80.364799 -156.979401 35.810173 +v -80.364799 -156.775955 34.264919 +v -80.364799 -156.979401 32.719666 +v -80.364799 -157.575851 31.279716 +v -80.364799 -158.524658 30.043205 +v -80.364799 -159.761169 29.094397 +v -80.364799 -161.201111 28.497952 +v -80.364799 -162.746368 28.294514 +v -80.364799 -164.291626 28.497952 +v -80.364799 -165.731567 29.094397 +v -80.364799 -166.968079 30.043205 +v -80.364799 -167.916885 31.279716 +v -80.364799 -168.513336 32.719666 +v -81.236313 -168.716766 34.264919 +v -81.236313 -168.513336 35.810173 +v -81.236313 -167.916885 37.250122 +v -81.236313 -166.968079 38.486633 +v -81.236320 -165.731583 39.435444 +v -81.236313 -164.291626 40.031887 +v -81.236313 -162.746368 40.235325 +v -81.236320 -161.201111 40.031887 +v -81.236320 -159.761169 39.435444 +v -81.236320 -158.524658 38.486633 +v -81.236320 -157.575851 37.250122 +v -81.236320 -156.979401 35.810173 +v -81.236320 -156.775955 34.264919 +v -81.236320 -156.979401 32.719666 +v -81.236320 -157.575851 31.279716 +v -81.236320 -158.524658 30.043205 +v -81.236313 -159.761169 29.094397 +v -81.236320 -161.201111 28.497952 +v -81.236320 -162.746368 28.294514 +v -81.236313 -164.291626 28.497952 +v -81.236313 -165.731567 29.094397 +v -81.236313 -166.968079 30.043205 +v -81.236313 -167.916885 31.279716 +v -81.236313 -168.513336 32.719666 +v -80.364761 -181.991898 34.264912 +v -80.364761 -181.336121 39.246017 +v -80.364761 -179.413483 43.887672 +v -80.364761 -176.355011 47.873547 +v -80.364761 -172.369141 50.932022 +v -80.364761 -167.727478 52.854660 +v -80.364754 -162.746368 53.510441 +v -80.364754 -157.765259 52.854668 +v -80.364754 -153.123611 50.932026 +v -80.364754 -149.137726 47.873562 +v -80.364754 -146.079239 43.887680 +v -80.364754 -144.156616 39.246029 +v -80.364754 -143.500839 34.264923 +v -80.364754 -144.156616 29.283813 +v -80.364754 -146.079254 24.642162 +v -80.364754 -149.137726 20.656281 +v -80.364754 -153.123611 17.597809 +v -80.364754 -157.765259 15.675177 +v -80.364754 -162.746368 15.019400 +v -80.364754 -167.727478 15.675174 +v -80.364754 -172.369125 17.597807 +v -80.364754 -176.355011 20.656279 +v -80.364761 -179.413483 24.642157 +v -80.364754 -181.336121 29.283812 +v -80.364761 -168.513336 35.810173 +v -80.364761 -168.716766 34.264915 +v -80.364761 -167.916885 37.250122 +v -80.364761 -166.968079 38.486629 +v -80.364761 -165.731583 39.435440 +v -80.364761 -164.291626 40.031887 +v -80.364761 -162.746368 40.235325 +v -80.364761 -161.201111 40.031887 +v -80.364761 -159.761169 39.435444 +v -80.364761 -158.524658 38.486633 +v -80.364761 -157.575851 37.250122 +v -80.364761 -156.979401 35.810173 +v -80.364761 -156.775955 34.264919 +v -80.364761 -156.979401 32.719666 +v -80.364761 -157.575851 31.279716 +v -80.364761 -158.524658 30.043203 +v -80.364761 -159.761169 29.094397 +v -80.364761 -161.201111 28.497952 +v -80.364761 -162.746368 28.294514 +v -80.364761 -164.291626 28.497952 +v -80.364761 -165.731583 29.094397 +v -80.364761 -166.968079 30.043205 +v -80.364761 -167.916885 31.279716 +v -80.364761 -168.513336 32.719666 +v -82.752441 -162.746368 34.264919 +v -82.752441 -158.769043 36.561230 +v -82.752441 -158.310242 35.453579 +v -82.752441 -165.993851 31.017447 +v -82.752441 -166.723694 31.968609 +v -82.752441 -167.182510 33.076263 +v -82.752441 -167.338989 34.264919 +v -82.752441 -167.182510 35.453575 +v -82.752441 -166.723694 36.561230 +v -82.752441 -165.993851 37.512390 +v -82.752441 -165.042679 38.242245 +v -82.752441 -163.935028 38.701050 +v -82.752441 -162.746368 38.857540 +v -82.752441 -161.557724 38.701050 +v -82.752441 -160.450058 38.242245 +v -82.752441 -159.498901 37.512394 +v -82.752441 -158.153748 34.264919 +v -82.752441 -158.310242 33.076263 +v -82.752441 -158.769043 31.968611 +v -82.752441 -159.498901 31.017448 +v -82.752441 -160.450058 30.287594 +v -82.752441 -161.557709 29.828791 +v -82.752441 -162.746368 29.672300 +v -82.752441 -163.935028 29.828791 +v -82.752441 -165.042679 30.287594 +v -75.284760 -178.109787 38.381531 +v -75.284760 -168.513336 35.810173 +v -75.284760 -178.651764 34.264912 +v -75.284760 -165.731583 39.435440 +v -75.284760 -170.699066 48.039391 +v -75.284760 -166.862976 49.628345 +v -75.284760 -164.291611 40.031887 +v -75.284760 -162.746353 50.170311 +v -75.284760 -162.746353 40.235325 +v -75.284760 -158.629745 49.628345 +v -75.284760 -161.201096 40.031887 +v -75.284760 -157.575836 37.250122 +v -75.284760 -148.971893 42.217617 +v -75.284760 -147.382950 38.381538 +v -75.284760 -156.979385 35.810173 +v -75.284760 -146.840973 34.264923 +v -75.284760 -156.775940 34.264919 +v -75.284760 -147.382919 30.148304 +v -75.284760 -156.979385 32.719666 +v -75.284760 -159.761154 29.094397 +v -75.284760 -154.793655 20.490448 +v -75.284760 -158.629730 18.901495 +v -75.284760 -161.201096 28.497952 +v -75.284760 -162.746353 18.359531 +v -75.284760 -162.746353 28.294514 +v -75.284760 -166.862976 18.901491 +v -75.284760 -164.291611 28.497952 +v -75.284760 -167.916885 31.279716 +v -75.284760 -176.520844 26.312225 +v -75.284760 -178.109802 30.148300 +v -75.284760 -168.513321 32.719666 +v -75.284760 -168.716751 34.264915 +v -59.923088 -184.249756 34.264908 +v -59.923088 -183.517059 39.830391 +v -59.923088 -181.368866 45.016594 +v -59.923088 -177.951569 49.470093 +v -59.923088 -173.498077 52.887375 +v -59.923088 -168.311874 55.035572 +v -59.923088 -162.746384 55.768284 +v -59.923096 -157.180908 55.035572 +v -59.923096 -151.994690 52.887375 +v -59.923096 -147.541214 49.470089 +v -59.923096 -144.123917 45.016594 +v -59.923100 -141.975723 39.830387 +v -59.923100 -141.243011 34.264904 +v -59.923100 -141.975723 28.699423 +v -59.923100 -144.123917 23.513218 +v -59.923100 -147.541214 19.059723 +v -59.923100 -151.994690 15.642439 +v -59.923100 -157.180893 13.494245 +v -59.923092 -162.746384 12.761535 +v -59.923092 -168.311874 13.494243 +v -59.923092 -173.498077 15.642441 +v -59.923092 -177.951569 19.059729 +v -59.923088 -181.368851 23.513226 +v -59.923088 -183.517059 28.699427 +v -59.923088 -195.001434 34.264908 +v -59.923084 -193.902390 42.613132 +v -59.923084 -190.680099 50.392441 +v -59.923084 -185.554153 57.072681 +v -59.923088 -178.873917 62.198612 +v -59.923088 -171.094620 65.420898 +v -59.923088 -162.746384 66.519974 +v -59.923092 -154.398148 65.420914 +v -59.923096 -146.618866 62.198608 +v -59.923096 -139.938614 57.072678 +v -59.923100 -134.812683 50.392437 +v -59.923100 -131.590378 42.613129 +v -59.923100 -130.491318 34.264904 +v -59.923100 -131.590378 25.916681 +v -59.923100 -134.812683 18.137377 +v -59.923100 -139.938614 11.457133 +v -59.923100 -146.618851 6.331205 +v -59.923100 -154.398148 3.108910 +v -59.923096 -162.746384 2.009850 +v -59.923092 -171.094604 3.108912 +v -59.923100 -178.873917 6.331207 +v -59.923088 -185.554153 11.457139 +v -59.923088 -190.680099 18.137383 +v -59.923096 -193.902390 25.916689 +v -61.425106 -196.936737 34.264912 +v -61.425106 -195.771759 43.114025 +v -61.425106 -192.356125 51.360092 +v -61.425106 -186.922638 58.441147 +v -61.425098 -179.841568 63.874638 +v -61.425102 -171.595505 67.290268 +v -61.425102 -162.746384 68.455276 +v -61.425098 -153.897278 67.290268 +v -61.425102 -145.651215 63.874630 +v -61.425102 -138.570145 58.441147 +v -61.425114 -133.136658 51.360088 +v -61.425114 -129.721024 43.114021 +v -61.425114 -128.556015 34.264908 +v -61.425121 -129.721024 25.415787 +v -61.425121 -133.136658 17.169725 +v -61.425121 -138.570145 10.088666 +v -61.425121 -145.651215 4.655182 +v -61.425121 -153.897278 1.239548 +v -61.425117 -162.746384 0.074543 +v -61.425121 -171.595505 1.239552 +v -61.425121 -179.841568 4.655186 +v -61.425117 -186.922638 10.088674 +v -61.425117 -192.356125 17.169731 +v -61.425110 -195.771759 25.415796 +v -81.529053 -196.936752 34.264912 +v -81.529053 -195.771759 43.114025 +v -81.529053 -192.356125 51.360096 +v -81.529053 -186.922638 58.441147 +v -81.529068 -179.841568 63.874634 +v -81.529053 -171.595505 67.290268 +v -81.529053 -162.746384 68.455276 +v -81.529053 -153.897278 67.290268 +v -81.529053 -145.651215 63.874634 +v -81.529053 -138.570145 58.441147 +v -81.529068 -133.136658 51.360088 +v -81.529068 -129.721024 43.114021 +v -81.529068 -128.556015 34.264908 +v -81.529068 -129.721024 25.415789 +v -81.529068 -133.136658 17.169724 +v -81.529068 -138.570145 10.088667 +v -81.529068 -145.651215 4.655184 +v -81.529083 -153.897278 1.239550 +v -81.529083 -162.746384 0.074546 +v -81.529068 -171.595505 1.239554 +v -81.529068 -179.841568 4.655188 +v -81.529068 -186.922638 10.088673 +v -81.529053 -192.356125 17.169731 +v -81.529053 -195.771759 25.415798 +v -83.031082 -195.001450 34.264912 +v -83.031082 -193.902390 42.613136 +v -83.031082 -190.680099 50.392445 +v -83.031082 -185.554153 57.072685 +v -83.031082 -178.873917 62.198612 +v -83.031082 -171.094620 65.420914 +v -83.031082 -162.746384 66.519974 +v -83.031082 -154.398148 65.420914 +v -83.031082 -146.618866 62.198612 +v -83.031082 -139.938614 57.072681 +v -83.031097 -134.812683 50.392441 +v -83.031097 -131.590378 42.613132 +v -83.031097 -130.491318 34.264908 +v -83.031097 -131.590378 25.916683 +v -83.031097 -134.812683 18.137377 +v -83.031097 -139.938614 11.457134 +v -83.031097 -146.618851 6.331206 +v -83.031097 -154.398148 3.108912 +v -83.031097 -162.746384 2.009849 +v -83.031082 -171.094604 3.108914 +v -83.031082 -178.873917 6.331210 +v -83.031082 -185.554153 11.457142 +v -83.031082 -190.680084 18.137384 +v -83.031082 -193.902390 25.916691 +v -83.031082 -184.249756 34.264912 +v -83.031082 -183.517059 39.830395 +v -83.031082 -181.368866 45.016594 +v -83.031082 -177.951569 49.470093 +v -83.031082 -173.498077 52.887379 +v -83.031082 -168.311874 55.035576 +v -83.031082 -162.746384 55.768288 +v -83.031082 -157.180908 55.035576 +v -83.031082 -151.994690 52.887379 +v -83.031082 -147.541214 49.470089 +v -83.031082 -144.123917 45.016594 +v -83.031082 -141.975723 39.830391 +v -83.031097 -141.243011 34.264908 +v -83.031097 -141.975723 28.699425 +v -83.031097 -144.123917 23.513220 +v -83.031097 -147.541183 19.059727 +v -83.031097 -151.994690 15.642442 +v -83.031082 -157.180893 13.494246 +v -83.031082 -162.746384 12.761536 +v -83.031082 -168.311874 13.494246 +v -83.031082 -173.498077 15.642444 +v -83.031082 -177.951569 19.059731 +v -83.031082 -181.368851 23.513226 +v -83.031082 -183.517059 28.699430 +v -80.364777 -181.991913 34.264912 +v -80.364777 -181.336136 39.246017 +v -80.364777 -179.413498 43.887672 +v -80.364777 -176.355026 47.873547 +v -80.364777 -172.369156 50.932018 +v -80.364777 -167.727493 52.854656 +v -80.364777 -162.746384 53.510433 +v -80.364777 -157.765274 52.854656 +v -80.364777 -153.123627 50.932014 +v -80.364777 -149.137741 47.873547 +v -80.364777 -146.079269 43.887669 +v -80.364777 -144.156631 39.246014 +v -80.364777 -143.500854 34.264912 +v -80.364777 -144.156631 29.283804 +v -80.364777 -146.079269 24.642151 +v -80.364777 -149.137741 20.656273 +v -80.364777 -153.123627 17.597801 +v -80.364777 -157.765274 15.675170 +v -80.364777 -162.746384 15.019395 +v -80.364777 -167.727493 15.675172 +v -80.364777 -172.369156 17.597805 +v -80.364777 -176.355026 20.656277 +v -80.364777 -179.413498 24.642155 +v -80.364777 -181.336136 29.283810 +v -83.162041 93.518852 34.264919 +v -83.162033 87.548454 34.264919 +v -83.162041 87.751884 35.810173 +v -83.162041 88.348335 37.250122 +v -83.162041 89.297142 38.486633 +v -83.162041 90.533638 39.435444 +v -83.162041 91.973595 40.031887 +v -83.162041 93.518852 40.235325 +v -83.162041 95.064110 40.031887 +v -83.162041 96.504051 39.435444 +v -83.162041 97.740562 38.486633 +v -83.162041 98.689369 37.250122 +v -83.162041 99.285820 35.810173 +v -83.162041 99.489265 34.264919 +v -83.162041 99.285820 32.719666 +v -83.162041 98.689369 31.279718 +v -83.162041 97.740562 30.043205 +v -83.162041 96.504051 29.094397 +v -83.162041 95.064110 28.497952 +v -83.162041 93.518852 28.294514 +v -83.162041 91.973595 28.497952 +v -83.162041 90.533653 29.094397 +v -83.162041 89.297142 30.043205 +v -83.162041 88.348335 31.279716 +v -83.162041 87.751884 32.719666 +v -84.033554 87.548454 34.264919 +v -84.033554 87.751884 35.810173 +v -84.033554 88.348335 37.250122 +v -84.033554 89.297142 38.486633 +v -84.033562 90.533638 39.435444 +v -84.033554 91.973595 40.031887 +v -84.033554 93.518852 40.235325 +v -84.033562 95.064110 40.031887 +v -84.033562 96.504051 39.435444 +v -84.033562 97.740562 38.486633 +v -84.033562 98.689369 37.250122 +v -84.033562 99.285820 35.810173 +v -84.033562 99.489265 34.264919 +v -84.033562 99.285820 32.719666 +v -84.033562 98.689369 31.279718 +v -84.033562 97.740562 30.043205 +v -84.033554 96.504051 29.094397 +v -84.033562 95.064110 28.497952 +v -84.033562 93.518852 28.294514 +v -84.033554 91.973595 28.497952 +v -84.033554 90.533653 29.094397 +v -84.033554 89.297142 30.043205 +v -84.033554 88.348335 31.279716 +v -84.033554 87.751884 32.719666 +v -83.162003 74.273323 34.264915 +v -83.162003 74.929100 39.246021 +v -83.162003 76.851738 43.887676 +v -83.162003 79.910210 47.873550 +v -83.162003 83.896080 50.932026 +v -83.162003 88.537743 52.854660 +v -83.161995 93.518852 53.510441 +v -83.161995 98.499962 52.854668 +v -83.161995 103.141609 50.932026 +v -83.161995 107.127495 47.873562 +v -83.161995 110.185966 43.887680 +v -83.161995 112.108604 39.246029 +v -83.161995 112.764381 34.264923 +v -83.161995 112.108604 29.283815 +v -83.161995 110.185966 24.642164 +v -83.161995 107.127495 20.656282 +v -83.161995 103.141609 17.597811 +v -83.161995 98.499962 15.675178 +v -83.161995 93.518852 15.019401 +v -83.161995 88.537743 15.675175 +v -83.161995 83.896095 17.597807 +v -83.161995 79.910210 20.656279 +v -83.162003 76.851738 24.642157 +v -83.161995 74.929100 29.283812 +v -83.162003 87.751884 35.810173 +v -83.162003 87.548454 34.264915 +v -83.162003 88.348335 37.250122 +v -83.162003 89.297142 38.486629 +v -83.162003 90.533638 39.435440 +v -83.162003 91.973595 40.031887 +v -83.162003 93.518852 40.235325 +v -83.162003 95.064110 40.031887 +v -83.162003 96.504051 39.435444 +v -83.162003 97.740562 38.486633 +v -83.162003 98.689369 37.250122 +v -83.162003 99.285820 35.810173 +v -83.162003 99.489265 34.264919 +v -83.162003 99.285820 32.719666 +v -83.162003 98.689369 31.279718 +v -83.162003 97.740562 30.043203 +v -83.162003 96.504051 29.094397 +v -83.162003 95.064110 28.497952 +v -83.162003 93.518852 28.294514 +v -83.162003 91.973595 28.497952 +v -83.162003 90.533638 29.094397 +v -83.162003 89.297142 30.043205 +v -83.162003 88.348335 31.279716 +v -83.162003 87.751884 32.719666 +v -85.549683 93.518852 34.264919 +v -85.549683 97.496178 36.561230 +v -85.549683 97.954979 35.453579 +v -85.549683 90.271370 31.017447 +v -85.549683 89.541527 31.968609 +v -85.549683 89.082710 33.076263 +v -85.549683 88.926231 34.264919 +v -85.549683 89.082710 35.453575 +v -85.549683 89.541527 36.561230 +v -85.549683 90.271370 37.512390 +v -85.549683 91.222542 38.242245 +v -85.549683 92.330193 38.701050 +v -85.549683 93.518852 38.857540 +v -85.549683 94.707497 38.701050 +v -85.549683 95.815163 38.242245 +v -85.549683 96.766319 37.512394 +v -85.549683 98.111473 34.264919 +v -85.549683 97.954979 33.076263 +v -85.549683 97.496178 31.968611 +v -85.549683 96.766319 31.017448 +v -85.549683 95.815163 30.287594 +v -85.549683 94.707512 29.828791 +v -85.549683 93.518852 29.672300 +v -85.549683 92.330193 29.828791 +v -85.549683 91.222542 30.287594 +v -78.082001 78.155418 38.381535 +v -78.082001 87.751884 35.810173 +v -78.082001 77.613457 34.264915 +v -78.082001 90.533638 39.435440 +v -78.082001 85.566154 48.039391 +v -78.082001 89.402229 49.628345 +v -78.082001 91.973595 40.031887 +v -78.082001 93.518852 50.170311 +v -78.082001 93.518852 40.235325 +v -78.082001 97.635460 49.628345 +v -78.082001 95.064110 40.031887 +v -78.082001 98.689369 37.250122 +v -78.082001 107.293312 42.217617 +v -78.082001 108.882271 38.381538 +v -78.082001 99.285820 35.810173 +v -78.082001 109.424232 34.264923 +v -78.082001 99.489265 34.264919 +v -78.082001 108.882286 30.148306 +v -78.082001 99.285820 32.719666 +v -78.082001 96.504051 29.094397 +v -78.082001 101.471550 20.490450 +v -78.082001 97.635475 18.901495 +v -78.082001 95.064110 28.497952 +v -78.082001 93.518852 18.359531 +v -78.082001 93.518852 28.294514 +v -78.082001 89.402229 18.901491 +v -78.082001 91.973595 28.497952 +v -78.082001 88.348335 31.279716 +v -78.082001 79.744377 26.312225 +v -78.082001 78.155418 30.148300 +v -78.082001 87.751884 32.719666 +v -78.082001 87.548454 34.264915 +v -62.720341 72.015480 34.264912 +v -62.720341 72.748177 39.830395 +v -62.720341 74.896370 45.016598 +v -62.720341 78.313667 49.470097 +v -62.720341 82.767151 52.887379 +v -62.720341 87.953354 55.035576 +v -62.720341 93.518845 55.768288 +v -62.720345 99.084328 55.035576 +v -62.720345 104.270546 52.887379 +v -62.720345 108.724022 49.470093 +v -62.720345 112.141319 45.016598 +v -62.720348 114.289513 39.830391 +v -62.720348 115.022224 34.264908 +v -62.720348 114.289513 28.699427 +v -62.720348 112.141319 23.513222 +v -62.720348 108.724022 19.059727 +v -62.720348 104.270546 15.642443 +v -62.720348 99.084343 13.494248 +v -62.720345 93.518845 12.761539 +v -62.720345 87.953354 13.494246 +v -62.720345 82.767151 15.642445 +v -62.720345 78.313660 19.059732 +v -62.720341 74.896378 23.513229 +v -62.720341 72.748177 28.699430 +v -62.720345 61.263786 34.264912 +v -62.720341 62.362846 42.613136 +v -62.720341 65.585136 50.392445 +v -62.720337 70.711082 57.072685 +v -62.720341 77.391319 62.198616 +v -62.720341 85.170616 65.420906 +v -62.720341 93.518845 66.519974 +v -62.720341 101.867088 65.420914 +v -62.720345 109.646370 62.198612 +v -62.720345 116.326622 57.072681 +v -62.720348 121.452553 50.392441 +v -62.720348 124.674858 42.613132 +v -62.720348 125.773918 34.264908 +v -62.720348 124.674858 25.916685 +v -62.720348 121.452553 18.137381 +v -62.720348 116.326622 11.457137 +v -62.720348 109.646385 6.331209 +v -62.720348 101.867088 3.108914 +v -62.720348 93.518845 2.009853 +v -62.720345 85.170624 3.108915 +v -62.720352 77.391312 6.331211 +v -62.720341 70.711082 11.457143 +v -62.720345 65.585136 18.137386 +v -62.720352 62.362846 25.916693 +v -64.222366 59.328484 34.264915 +v -64.222366 60.493477 43.114029 +v -64.222366 63.909111 51.360096 +v -64.222366 69.342598 58.441151 +v -64.222359 76.423668 63.874641 +v -64.222359 84.669731 67.290268 +v -64.222359 93.518845 68.455276 +v -64.222351 102.367958 67.290276 +v -64.222351 110.614021 63.874634 +v -64.222359 117.695091 58.441151 +v -64.222366 123.128578 51.360092 +v -64.222366 126.544212 43.114025 +v -64.222366 127.709221 34.264912 +v -64.222374 126.544212 25.415791 +v -64.222374 123.128578 17.169729 +v -64.222374 117.695091 10.088670 +v -64.222374 110.614021 4.655186 +v -64.222374 102.367958 1.239552 +v -64.222374 93.518845 0.074547 +v -64.222382 84.669724 1.239556 +v -64.222374 76.423660 4.655190 +v -64.222374 69.342590 10.088677 +v -64.222374 63.909107 17.169735 +v -64.222366 60.493473 25.415800 +v -84.326317 59.328476 34.264915 +v -84.326317 60.493473 43.114029 +v -84.326309 63.909107 51.360100 +v -84.326309 69.342590 58.441151 +v -84.326317 76.423660 63.874638 +v -84.326309 84.669724 67.290268 +v -84.326309 93.518845 68.455276 +v -84.326309 102.367958 67.290268 +v -84.326309 110.614021 63.874638 +v -84.326309 117.695091 58.441151 +v -84.326317 123.128578 51.360092 +v -84.326317 126.544212 43.114025 +v -84.326317 127.709213 34.264912 +v -84.326324 126.544205 25.415792 +v -84.326324 123.128571 17.169727 +v -84.326324 117.695084 10.088671 +v -84.326324 110.614014 4.655188 +v -84.326332 102.367950 1.239554 +v -84.326332 93.518845 0.074550 +v -84.326324 84.669724 1.239558 +v -84.326324 76.423660 4.655192 +v -84.326324 69.342590 10.088676 +v -84.326317 63.909107 17.169735 +v -84.326317 60.493473 25.415802 +v -85.828339 61.263779 34.264915 +v -85.828339 62.362843 42.613140 +v -85.828331 65.585129 50.392448 +v -85.828331 70.711075 57.072689 +v -85.828339 77.391312 62.198616 +v -85.828339 85.170609 65.420914 +v -85.828339 93.518845 66.519974 +v -85.828339 101.867088 65.420914 +v -85.828339 109.646370 62.198616 +v -85.828339 116.326622 57.072685 +v -85.828346 121.452553 50.392445 +v -85.828346 124.674850 42.613136 +v -85.828346 125.773911 34.264912 +v -85.828346 124.674850 25.916687 +v -85.828346 121.452545 18.137381 +v -85.828346 116.326614 11.457138 +v -85.828346 109.646378 6.331210 +v -85.828346 101.867081 3.108916 +v -85.828346 93.518845 2.009852 +v -85.828339 85.170624 3.108918 +v -85.828339 77.391312 6.331213 +v -85.828339 70.711075 11.457146 +v -85.828339 65.585144 18.137388 +v -85.828339 62.362839 25.916695 +v -85.828339 72.015472 34.264915 +v -85.828339 72.748169 39.830399 +v -85.828339 74.896362 45.016598 +v -85.828339 78.313660 49.470097 +v -85.828339 82.767151 52.887383 +v -85.828339 87.953354 55.035580 +v -85.828339 93.518845 55.768291 +v -85.828339 99.084328 55.035580 +v -85.828339 104.270546 52.887383 +v -85.828339 108.724022 49.470093 +v -85.828339 112.141312 45.016598 +v -85.828339 114.289513 39.830395 +v -85.828346 115.022224 34.264912 +v -85.828346 114.289505 28.699429 +v -85.828346 112.141312 23.513224 +v -85.828346 108.724045 19.059731 +v -85.828346 104.270546 15.642446 +v -85.828339 99.084343 13.494250 +v -85.828339 93.518845 12.761539 +v -85.828339 87.953354 13.494250 +v -85.828339 82.767151 15.642447 +v -85.828339 78.313660 19.059734 +v -85.828339 74.896378 23.513229 +v -85.828339 72.748169 28.699434 +v -83.162033 74.273315 34.264915 +v -83.162033 74.929092 39.246021 +v -83.162033 76.851730 43.887676 +v -83.162033 79.910202 47.873550 +v -83.162033 83.896072 50.932022 +v -83.162025 88.537735 52.854660 +v -83.162025 93.518845 53.510437 +v -83.162025 98.499962 52.854660 +v -83.162025 103.141609 50.932018 +v -83.162025 107.127495 47.873550 +v -83.162025 110.185966 43.887672 +v -83.162033 112.108604 39.246017 +v -83.162033 112.764381 34.264915 +v -83.162033 112.108597 29.283808 +v -83.162033 110.185966 24.642155 +v -83.162033 107.127495 20.656277 +v -83.162033 103.141609 17.597805 +v -83.162025 98.499962 15.675174 +v -83.162025 93.518845 15.019399 +v -83.162025 88.537735 15.675176 +v -83.162025 83.896072 17.597809 +v -83.162025 79.910202 20.656281 +v -83.162025 76.851730 24.642159 +v -83.162025 74.929092 29.283813 +v 82.499443 93.518829 34.264915 +v 82.499435 99.489227 34.264915 +v 82.499443 99.285797 35.810169 +v 82.499443 98.689346 37.250118 +v 82.499443 97.740540 38.486629 +v 82.499443 96.504044 39.435440 +v 82.499443 95.064087 40.031883 +v 82.499443 93.518829 40.235321 +v 82.499443 91.973572 40.031883 +v 82.499443 90.533630 39.435440 +v 82.499443 89.297119 38.486629 +v 82.499443 88.348312 37.250118 +v 82.499443 87.751862 35.810169 +v 82.499443 87.548416 34.264915 +v 82.499443 87.751862 32.719662 +v 82.499443 88.348312 31.279715 +v 82.499443 89.297119 30.043203 +v 82.499443 90.533630 29.094395 +v 82.499443 91.973572 28.497950 +v 82.499443 93.518829 28.294512 +v 82.499443 95.064087 28.497950 +v 82.499443 96.504028 29.094395 +v 82.499443 97.740540 30.043203 +v 82.499443 98.689346 31.279713 +v 82.499443 99.285797 32.719662 +v 83.370956 99.489227 34.264915 +v 83.370956 99.285797 35.810169 +v 83.370956 98.689346 37.250118 +v 83.370956 97.740540 38.486629 +v 83.370964 96.504044 39.435440 +v 83.370956 95.064087 40.031883 +v 83.370956 93.518829 40.235321 +v 83.370964 91.973572 40.031883 +v 83.370964 90.533630 39.435440 +v 83.370964 89.297119 38.486629 +v 83.370964 88.348312 37.250118 +v 83.370964 87.751862 35.810169 +v 83.370964 87.548416 34.264915 +v 83.370964 87.751862 32.719662 +v 83.370964 88.348312 31.279715 +v 83.370964 89.297119 30.043203 +v 83.370956 90.533630 29.094395 +v 83.370964 91.973572 28.497950 +v 83.370964 93.518829 28.294512 +v 83.370956 95.064087 28.497950 +v 83.370956 96.504028 29.094395 +v 83.370956 97.740540 30.043203 +v 83.370956 98.689346 31.279713 +v 83.370956 99.285797 32.719662 +v 82.499405 112.764359 34.264912 +v 82.499405 112.108582 39.246017 +v 82.499405 110.185944 43.887672 +v 82.499405 107.127472 47.873547 +v 82.499405 103.141602 50.932022 +v 82.499405 98.499939 52.854656 +v 82.499397 93.518829 53.510437 +v 82.499397 88.537720 52.854664 +v 82.499405 83.896072 50.932022 +v 82.499405 79.910187 47.873558 +v 82.499405 76.851715 43.887676 +v 82.499405 74.929077 39.246025 +v 82.499405 74.273300 34.264919 +v 82.499405 74.929077 29.283812 +v 82.499405 76.851715 24.642160 +v 82.499405 79.910187 20.656279 +v 82.499405 83.896072 17.597807 +v 82.499397 88.537720 15.675173 +v 82.499397 93.518829 15.019396 +v 82.499397 98.499939 15.675170 +v 82.499397 103.141586 17.597803 +v 82.499397 107.127472 20.656275 +v 82.499405 110.185944 24.642153 +v 82.499397 112.108582 29.283808 +v 82.499405 99.285797 35.810169 +v 82.499405 99.489227 34.264912 +v 82.499405 98.689346 37.250118 +v 82.499405 97.740540 38.486626 +v 82.499405 96.504044 39.435436 +v 82.499405 95.064087 40.031883 +v 82.499405 93.518829 40.235321 +v 82.499405 91.973572 40.031883 +v 82.499405 90.533630 39.435440 +v 82.499405 89.297119 38.486629 +v 82.499405 88.348312 37.250118 +v 82.499405 87.751862 35.810169 +v 82.499405 87.548416 34.264915 +v 82.499405 87.751862 32.719662 +v 82.499405 88.348312 31.279715 +v 82.499405 89.297119 30.043201 +v 82.499405 90.533630 29.094395 +v 82.499405 91.973572 28.497950 +v 82.499405 93.518829 28.294512 +v 82.499405 95.064087 28.497950 +v 82.499405 96.504044 29.094395 +v 82.499405 97.740540 30.043203 +v 82.499405 98.689346 31.279713 +v 82.499405 99.285797 32.719662 +v 84.887085 93.518829 34.264915 +v 84.887085 89.541504 36.561226 +v 84.887085 89.082703 35.453575 +v 84.887085 96.766312 31.017445 +v 84.887085 97.496155 31.968607 +v 84.887085 97.954971 33.076260 +v 84.887085 98.111450 34.264915 +v 84.887085 97.954971 35.453571 +v 84.887085 97.496155 36.561226 +v 84.887085 96.766312 37.512386 +v 84.887085 95.815140 38.242241 +v 84.887085 94.707489 38.701046 +v 84.887085 93.518829 38.857536 +v 84.887085 92.330185 38.701046 +v 84.887085 91.222519 38.242241 +v 84.887085 90.271362 37.512390 +v 84.887085 88.926208 34.264915 +v 84.887085 89.082703 33.076260 +v 84.887085 89.541504 31.968609 +v 84.887085 90.271362 31.017447 +v 84.887085 91.222519 30.287592 +v 84.887085 92.330170 29.828789 +v 84.887085 93.518829 29.672298 +v 84.887085 94.707489 29.828789 +v 84.887085 95.815140 30.287592 +v 77.419403 108.882263 38.381531 +v 77.419403 99.285797 35.810169 +v 77.419403 109.424225 34.264912 +v 77.419403 96.504044 39.435436 +v 77.419403 101.471527 48.039387 +v 77.419403 97.635452 49.628342 +v 77.419403 95.064087 40.031883 +v 77.419403 93.518829 50.170307 +v 77.419403 93.518829 40.235321 +v 77.419403 89.402222 49.628342 +v 77.419403 91.973572 40.031883 +v 77.419403 88.348312 37.250118 +v 77.419411 79.744370 42.217613 +v 77.419411 78.155411 38.381535 +v 77.419403 87.751862 35.810169 +v 77.419411 77.613449 34.264919 +v 77.419403 87.548416 34.264915 +v 77.419411 78.155396 30.148302 +v 77.419403 87.751862 32.719662 +v 77.419403 90.533630 29.094395 +v 77.419403 85.566132 20.490446 +v 77.419403 89.402206 18.901493 +v 77.419403 91.973572 28.497950 +v 77.419403 93.518829 18.359529 +v 77.419403 93.518829 28.294512 +v 77.419403 97.635452 18.901489 +v 77.419403 95.064087 28.497950 +v 77.419403 98.689346 31.279713 +v 77.419403 107.293304 26.312222 +v 77.419403 108.882263 30.148296 +v 77.419403 99.285797 32.719662 +v 77.419403 99.489227 34.264912 +v 62.057747 115.022217 34.264912 +v 62.057747 114.289520 39.830395 +v 62.057747 112.141327 45.016598 +v 62.057743 108.724030 49.470097 +v 62.057743 104.270546 52.887379 +v 62.057743 99.084343 55.035576 +v 62.057739 93.518845 55.768288 +v 62.057739 87.953369 55.035576 +v 62.057739 82.767151 52.887379 +v 62.057739 78.313675 49.470093 +v 62.057743 74.896378 45.016598 +v 62.057743 72.748184 39.830391 +v 62.057743 72.015472 34.264908 +v 62.057743 72.748184 28.699427 +v 62.057743 74.896378 23.513222 +v 62.057743 78.313675 19.059727 +v 62.057743 82.767151 15.642443 +v 62.057743 87.953354 13.494248 +v 62.057743 93.518845 12.761539 +v 62.057747 99.084343 13.494246 +v 62.057747 104.270546 15.642445 +v 62.057747 108.724037 19.059732 +v 62.057747 112.141319 23.513229 +v 62.057747 114.289520 28.699430 +v 62.057747 125.773911 34.264912 +v 62.057747 124.674850 42.613136 +v 62.057743 121.452560 50.392445 +v 62.057743 116.326614 57.072685 +v 62.057743 109.646378 62.198616 +v 62.057743 101.867081 65.420906 +v 62.057739 93.518845 66.519974 +v 62.057739 85.170609 65.420914 +v 62.057739 77.391327 62.198612 +v 62.057739 70.711075 57.072681 +v 62.057739 65.585144 50.392441 +v 62.057743 62.362839 42.613132 +v 62.057743 61.263779 34.264908 +v 62.057743 62.362839 25.916685 +v 62.057743 65.585144 18.137381 +v 62.057743 70.711075 11.457137 +v 62.057743 77.391312 6.331209 +v 62.057747 85.170609 3.108914 +v 62.057747 93.518845 2.009854 +v 62.057751 101.867073 3.108916 +v 62.057755 109.646385 6.331211 +v 62.057747 116.326614 11.457143 +v 62.057747 121.452560 18.137386 +v 62.057755 124.674850 25.916693 +v 63.559769 127.709213 34.264915 +v 63.559769 126.544220 43.114029 +v 63.559765 123.128586 51.360096 +v 63.559765 117.695099 58.441151 +v 63.559757 110.614029 63.874641 +v 63.559757 102.367966 67.290268 +v 63.559753 93.518845 68.455276 +v 63.559746 84.669739 67.290276 +v 63.559746 76.423676 63.874634 +v 63.559746 69.342606 58.441151 +v 63.559753 63.909119 51.360092 +v 63.559757 60.493484 43.114025 +v 63.559757 59.328476 34.264912 +v 63.559765 60.493488 25.415791 +v 63.559765 63.909122 17.169729 +v 63.559765 69.342606 10.088670 +v 63.559765 76.423676 4.655186 +v 63.559769 84.669739 1.239552 +v 63.559769 93.518845 0.074548 +v 63.559780 102.367973 1.239556 +v 63.559776 110.614037 4.655190 +v 63.559776 117.695107 10.088677 +v 63.559776 123.128586 17.169735 +v 63.559769 126.544220 25.415800 +v 83.663712 127.709213 34.264915 +v 83.663712 126.544220 43.114029 +v 83.663712 123.128586 51.360100 +v 83.663712 117.695099 58.441151 +v 83.663712 110.614029 63.874638 +v 83.663712 102.367966 67.290268 +v 83.663712 93.518845 68.455276 +v 83.663712 84.669739 67.290268 +v 83.663712 76.423676 63.874638 +v 83.663712 69.342606 58.441151 +v 83.663696 63.909119 51.360092 +v 83.663696 60.493484 43.114025 +v 83.663696 59.328480 34.264912 +v 83.663712 60.493488 25.415792 +v 83.663712 63.909119 17.169727 +v 83.663727 69.342606 10.088671 +v 83.663727 76.423676 4.655188 +v 83.663727 84.669739 1.239555 +v 83.663727 93.518845 0.074550 +v 83.663727 102.367973 1.239558 +v 83.663727 110.614037 4.655192 +v 83.663727 117.695107 10.088676 +v 83.663712 123.128586 17.169735 +v 83.663712 126.544220 25.415802 +v 85.165741 125.773911 34.264915 +v 85.165741 124.674850 42.613140 +v 85.165741 121.452560 50.392448 +v 85.165741 116.326614 57.072689 +v 85.165741 109.646378 62.198616 +v 85.165741 101.867081 65.420914 +v 85.165741 93.518845 66.519974 +v 85.165741 85.170609 65.420914 +v 85.165741 77.391327 62.198616 +v 85.165741 70.711075 57.072685 +v 85.165726 65.585144 50.392445 +v 85.165726 62.362839 42.613136 +v 85.165726 61.263783 34.264912 +v 85.165726 62.362843 25.916687 +v 85.165726 65.585144 18.137381 +v 85.165741 70.711075 11.457138 +v 85.165741 77.391312 6.331210 +v 85.165741 85.170609 3.108916 +v 85.165741 93.518845 2.009853 +v 85.165741 101.867073 3.108918 +v 85.165741 109.646385 6.331214 +v 85.165741 116.326622 11.457146 +v 85.165741 121.452545 18.137388 +v 85.165741 124.674850 25.916695 +v 85.165741 115.022217 34.264915 +v 85.165741 114.289520 39.830399 +v 85.165741 112.141327 45.016598 +v 85.165741 108.724030 49.470097 +v 85.165741 104.270538 52.887383 +v 85.165741 99.084343 55.035580 +v 85.165741 93.518845 55.768291 +v 85.165741 87.953369 55.035580 +v 85.165741 82.767151 52.887383 +v 85.165741 78.313675 49.470093 +v 85.165741 74.896378 45.016598 +v 85.165741 72.748184 39.830395 +v 85.165741 72.015472 34.264912 +v 85.165741 72.748184 28.699429 +v 85.165741 74.896378 23.513224 +v 85.165741 78.313644 19.059731 +v 85.165741 82.767151 15.642446 +v 85.165741 87.953354 13.494250 +v 85.165741 93.518845 12.761539 +v 85.165741 99.084343 13.494250 +v 85.165741 104.270546 15.642447 +v 85.165741 108.724037 19.059734 +v 85.165741 112.141319 23.513229 +v 85.165741 114.289528 28.699434 +v 82.499435 112.764374 34.264915 +v 82.499435 112.108597 39.246021 +v 82.499435 110.185966 43.887676 +v 82.499435 107.127487 47.873550 +v 82.499435 103.141624 50.932022 +v 82.499420 98.499962 52.854660 +v 82.499420 93.518845 53.510437 +v 82.499420 88.537735 52.854660 +v 82.499420 83.896088 50.932018 +v 82.499420 79.910202 47.873550 +v 82.499420 76.851730 43.887672 +v 82.499435 74.929092 39.246017 +v 82.499420 74.273315 34.264915 +v 82.499420 74.929092 29.283808 +v 82.499420 76.851730 24.642155 +v 82.499420 79.910202 20.656277 +v 82.499435 83.896088 17.597805 +v 82.499420 88.537735 15.675174 +v 82.499420 93.518845 15.019399 +v 82.499420 98.499962 15.675176 +v 82.499420 103.141624 17.597809 +v 82.499420 107.127495 20.656281 +v 82.499420 110.185966 24.642159 +v 82.499420 112.108604 29.283813 +v 83.812347 -107.440369 24.304226 +v 83.812317 -12.283545 24.556950 +v 55.495598 -54.494812 147.388367 +v 56.374645 -50.378296 148.723785 +v 56.374626 0.000034 150.699921 +v 56.374599 43.253510 150.691559 +v 58.501915 65.677483 146.987747 +v 52.848194 -56.496639 147.388367 +v 52.488110 -50.378307 148.723785 +v 52.488083 0.000023 151.466583 +v 52.488060 43.253494 151.458206 +v 53.237038 65.677475 148.712997 +v 45.151215 -56.496651 147.388367 +v 45.888832 -50.378315 148.723785 +v 46.549015 0.000013 151.466583 +v 47.306202 43.253487 151.458206 +v 48.689880 64.159462 148.964996 +v 0.000011 -58.603790 147.388367 +v 0.000008 -52.485455 148.723785 +v 0.000000 -0.000001 151.466583 +v -0.000008 43.253468 151.458191 +v -0.000008 65.577698 148.964996 +v 86.484886 -109.347855 62.629528 +v 86.484856 -13.382054 62.653709 +v 86.484833 65.509659 62.653709 +v 86.484802 129.009659 62.653709 +v 86.484909 -143.115189 85.750587 +v 86.484894 -112.822868 85.838341 +v 86.484856 -13.382054 89.494614 +v 86.484833 81.033379 89.494614 +v 86.484795 133.623917 90.162315 +v 83.379822 -125.266472 97.180908 +v 85.739426 -109.347855 97.664009 +v 85.352142 -10.816951 101.282379 +v 84.817024 82.606331 105.796509 +v 82.386948 142.056015 104.972786 +v 71.450150 136.754181 109.506874 +v 63.710960 138.113220 110.672775 +v -0.000023 142.055984 110.672768 +v 0.000027 -140.528809 104.177841 +v 51.750435 -137.601944 104.177856 +v 76.276886 -132.075195 103.205841 +v 61.717110 -62.079254 142.001480 +v 64.560303 -48.829224 140.578583 +v 64.560287 -1.549039 143.989090 +v 64.560257 46.342808 141.332230 +v 64.560234 84.187370 135.357254 +v 57.741196 84.187363 140.670975 +v 52.388767 85.195061 140.670975 +v -0.000008 86.464348 140.670975 +v 0.000019 -70.221825 143.917099 +v 43.507240 -68.114685 143.917099 +v 55.509747 -68.114670 143.917099 +v 62.964069 -236.861755 29.135759 +v 73.370987 -221.171097 29.135759 +v 38.464550 -241.558319 29.135759 +v 0.000042 -244.012527 29.135763 +v 80.429489 -232.672043 61.783840 +v 80.220314 -231.900696 79.479065 +v 78.545807 -215.312408 87.750420 +v 0.000038 -254.981369 61.783840 +v 0.000038 -244.787094 79.479065 +v 0.000038 -227.817734 92.282356 +v 42.318428 -252.000595 61.783840 +v 63.929070 -249.301254 61.783840 +v 50.240273 -242.332886 79.479065 +v 67.691040 -238.690750 79.479065 +v 53.066231 -223.921555 92.282356 +v 71.741013 -219.524979 91.122749 +v 76.785248 182.878601 37.710579 +v 60.668243 185.786865 35.145100 +v 54.729172 185.786865 39.513287 +v -0.000027 187.188232 39.513287 +v 80.054008 184.427673 62.632881 +v 82.154007 177.503189 90.162315 +v 76.668755 166.058105 103.045181 +v 60.668243 187.335938 62.653709 +v 54.729172 187.335938 62.653709 +v -0.000027 188.737305 62.653709 +v 60.799191 180.390060 90.162315 +v 54.729172 181.139648 90.162315 +v -0.000031 182.541016 90.162315 +v 70.358582 172.276566 106.020958 +v 54.729172 176.258072 106.462387 +v -0.000027 177.659454 106.462379 +v 65.801941 -219.524994 91.122749 +v -83.812332 -107.440384 24.304226 +v -83.812302 -12.283560 24.556953 +v -55.495579 -54.494823 147.388351 +v -56.374638 -50.378307 148.723770 +v -56.374630 0.000025 150.699921 +v -56.374630 43.253498 150.691544 +v -58.501949 65.677475 146.987747 +v -52.848179 -56.496647 147.388351 +v -52.488102 -50.378315 148.723770 +v -52.488094 0.000015 151.466568 +v -52.488071 43.253487 151.458191 +v -53.237057 65.677467 148.712982 +v -45.151211 -56.496662 147.388351 +v -45.888828 -50.378330 148.723770 +v -46.549030 0.000005 151.466568 +v -47.306225 43.253479 151.458191 +v -48.689915 64.159454 148.964996 +v -86.484863 -109.347870 62.629524 +v -86.484848 -13.382067 62.653709 +v -86.484833 65.509644 62.653709 +v -86.484848 129.009644 62.653709 +v -86.484879 -143.115204 85.750587 +v -86.484863 -112.822884 85.838341 +v -86.484848 -13.382067 89.494614 +v -86.484863 81.033363 89.494614 +v -86.484833 133.623901 90.162315 +v -83.379776 -125.266487 97.180901 +v -85.739395 -109.347870 97.664001 +v -85.352142 -10.816964 101.282372 +v -84.817047 82.606316 105.796509 +v -82.386993 142.056000 104.972771 +v -71.450211 136.754166 109.506859 +v -63.711010 138.113220 110.672768 +v -51.750401 -137.601959 104.177841 +v -76.276871 -132.075195 103.205833 +v -61.717083 -62.079269 142.001465 +v -64.560303 -48.829239 140.578583 +v -64.560287 -1.549049 143.989090 +v -64.560287 46.342793 141.332214 +v -64.560272 84.187370 135.357254 +v -57.741230 84.187355 140.670959 +v -52.388805 85.195053 140.670959 +v -43.507221 -68.114693 143.917099 +v -55.509724 -68.114677 143.917099 +v -62.964016 -236.861755 29.135763 +v -73.370926 -221.171097 29.135763 +v -38.464481 -241.558334 29.135763 +v -80.429428 -232.672043 61.783840 +v -80.220261 -231.900696 79.479065 +v -78.545761 -215.312393 87.750420 +v -42.318356 -252.000626 61.783840 +v -63.928997 -249.301254 61.783833 +v -50.240200 -242.332901 79.479065 +v -67.690994 -238.690750 79.479065 +v -53.066181 -223.921570 92.282349 +v -71.740952 -219.524979 91.122749 +v -76.785324 182.878601 37.710579 +v -60.668308 185.786850 35.145100 +v -54.729229 185.786850 39.513287 +v -80.054077 184.427673 62.632877 +v -82.154053 177.503174 90.162315 +v -76.668823 166.058121 103.045174 +v -60.668308 187.335922 62.653709 +v -54.729229 187.335922 62.653709 +v -60.799252 180.390045 90.162315 +v -54.729229 181.139633 90.162315 +v -70.358643 172.276550 106.020950 +v -54.729229 176.258057 106.462379 +v -65.801895 -219.524994 91.122749 +v 51.126190 -122.603920 24.586712 +v 51.126194 -150.291595 25.472918 +v 51.126194 -162.817825 26.002909 +v 51.126202 -202.540817 27.633638 +v 51.126190 -134.650436 24.811127 +v 85.055611 -122.879837 42.403992 +v 84.362358 -121.569031 32.447433 +v 85.098053 -122.959343 43.007961 +v 85.788345 -127.035568 52.848808 +v 86.379684 -133.519882 61.299339 +v 86.484917 -141.970413 67.783661 +v 86.484909 -135.486801 62.808613 +v 85.839882 -151.811279 71.859863 +v 86.484909 -142.518173 68.010544 +v 85.099808 -162.371780 73.250183 +v 84.353134 -172.932343 71.859863 +v 84.211487 -174.917007 71.037788 +v 83.694878 -182.773193 67.783653 +v 83.957321 -178.478119 69.562721 +v 83.126518 -191.223724 61.299335 +v 83.294769 -189.931396 62.290970 +v 81.991730 -197.708038 52.848804 +v 79.619019 -201.784241 43.007961 +v 81.583588 -199.231628 49.170475 +v 76.651833 -203.174576 32.447430 +v 68.908417 -202.616455 28.208328 +v 75.610168 -202.616470 28.208328 +v 59.471886 -202.547409 27.683895 +v 57.478024 -202.547424 27.683895 +v 83.812355 -122.603912 24.586712 +v 52.529270 -122.603920 24.586712 +v 51.126194 -162.371796 32.447430 +v 51.126186 -121.569038 32.447430 +v 51.126186 -122.959351 43.007961 +v 51.126186 -127.035568 52.848804 +v 51.126186 -133.519882 61.299335 +v 51.126186 -141.970413 67.783653 +v 51.126186 -151.811279 71.859863 +v 51.126190 -162.371796 73.250183 +v 51.126190 -172.932343 71.859863 +v 51.126194 -182.773193 67.783646 +v 51.126198 -191.223724 61.299328 +v 51.126198 -197.708038 52.848804 +v 51.126198 -201.784241 43.007957 +v 51.126202 -203.174561 32.447426 +v 51.126160 129.751236 29.135763 +v 51.126163 110.580215 27.815254 +v 51.126160 133.690460 29.371140 +v 51.126171 64.914124 24.718292 +v 51.126175 53.510601 24.694599 +v 51.126167 85.860176 26.112528 +v 51.126167 102.303322 27.245138 +v 83.004982 132.705139 43.007961 +v 81.198441 134.095444 32.447433 +v 83.394844 131.903351 44.943645 +v 84.954224 128.628922 52.848808 +v 84.680023 129.260315 51.324467 +v 86.389381 122.144600 61.299339 +v 86.256432 123.592773 59.412045 +v 86.484802 113.694069 67.783661 +v 86.484802 120.379555 62.653709 +v 86.484810 103.853218 71.859863 +v 86.484818 93.292679 73.250191 +v 86.484818 82.732147 71.859863 +v 86.484818 80.611115 70.981300 +v 86.484818 72.891296 67.783653 +v 86.386841 64.440781 61.299339 +v 86.445892 65.511253 62.120739 +v 86.484833 66.205833 62.653709 +v 85.793251 57.956459 52.848808 +v 85.101746 53.880241 43.007961 +v 84.359451 52.489922 32.447430 +v 53.120644 53.510784 24.693216 +v 83.812286 53.510788 24.693216 +v 79.696655 133.715439 29.560886 +v 53.066734 133.715439 29.560886 +v 80.817581 133.744324 29.780249 +v 52.645580 133.690460 29.371140 +v 51.126167 93.292686 32.447430 +v 51.126160 134.095444 32.447430 +v 51.126160 132.705139 43.007961 +v 51.126160 128.628922 52.848804 +v 51.126160 122.144600 61.299335 +v 51.126160 113.694069 67.783653 +v 51.126160 103.853218 71.859863 +v 51.126163 93.292686 73.250183 +v 51.126163 82.732155 71.859863 +v 51.126167 72.891304 67.783646 +v 51.126167 64.440781 61.299328 +v 51.126171 57.956455 52.848804 +v 51.126171 53.880245 43.007957 +v 51.126175 52.489922 32.447426 +v -84.362335 -121.569054 32.447460 +v -85.055573 -122.879860 42.403984 +v -85.098038 -122.959381 43.007996 +v -85.788315 -127.035583 52.848839 +v -86.379639 -133.519928 61.299366 +v -86.484894 -135.486801 62.808613 +v -86.484879 -141.970459 67.783691 +v -86.484879 -142.518188 68.010567 +v -85.839828 -151.811295 71.859894 +v -85.099747 -162.371841 73.250221 +v -84.353088 -172.932373 71.859894 +v -83.957260 -178.478210 69.562729 +v -83.817474 -180.765869 68.615150 +v -83.694824 -182.773209 67.783684 +v -83.294708 -189.931458 62.290966 +v -83.126465 -191.223740 61.299362 +v -81.991669 -197.708069 52.848843 +v -81.583511 -199.231689 49.170486 +v -79.618988 -201.784256 43.007996 +v -76.651794 -203.174591 32.447460 +v -75.610107 -202.616501 28.208334 +v -68.908371 -202.616470 28.208334 +v -59.471828 -202.547470 27.683901 +v -57.477970 -202.547470 27.683899 +v -50.354053 -202.540039 27.627533 +v -52.529240 -122.603943 24.586714 +v -83.812317 -122.603943 24.586714 +v -50.354046 -122.603943 24.586714 +v -50.354038 -133.814468 24.795557 +v -50.354046 -157.988480 25.798578 +v -50.354053 -150.291550 25.472918 +v -50.354053 -134.650467 24.811131 +v -50.354061 -121.569069 32.447472 +v -50.354061 -122.959381 43.007999 +v -50.354053 -127.035599 52.848846 +v -50.354061 -133.519928 61.299374 +v -50.354061 -141.970459 67.783691 +v -50.354053 -151.811295 71.859909 +v -50.354061 -162.371841 73.250221 +v -50.354053 -172.932373 71.859901 +v -50.354046 -182.773224 67.783684 +v -50.354046 -191.223740 61.299374 +v -50.354046 -197.708069 52.848843 +v -50.354046 -201.784271 43.007999 +v -50.354038 -203.174591 32.447468 +v -50.354046 -162.371841 32.447472 +v -81.198486 134.095428 32.447464 +v -83.005020 132.705109 43.007996 +v -84.573639 129.479172 50.796135 +v -84.680054 129.260315 51.324497 +v -84.954239 128.628906 52.848843 +v -86.256485 123.592773 59.412052 +v -86.389435 122.144562 61.299366 +v -86.484848 120.379555 62.653709 +v -86.484848 113.694031 67.783684 +v -86.484848 103.853188 71.859894 +v -86.484833 93.292664 73.250221 +v -86.484848 82.732117 71.859894 +v -86.484848 75.058632 68.681427 +v -86.484848 72.891273 67.783684 +v -86.445908 65.511238 62.120777 +v -86.386856 64.440750 61.299366 +v -86.484833 66.205757 62.653706 +v -85.793259 57.956432 52.848839 +v -85.101761 53.880219 43.007996 +v -84.359467 52.489902 32.447460 +v -83.812302 53.510769 24.693218 +v -53.120678 53.510773 24.693218 +v -50.354069 53.510521 24.695139 +v -53.066776 133.715378 29.560884 +v -79.696716 133.715393 29.560884 +v -50.354084 133.690399 29.371141 +v -52.645618 133.690414 29.371140 +v -80.817642 133.744263 29.780243 +v -50.354076 110.580307 27.815264 +v -50.354084 129.751221 29.135763 +v -50.354053 64.656342 24.718298 +v -50.354069 93.264252 26.622530 +v -50.354069 102.303360 27.245144 +v -50.354084 134.095413 32.447472 +v -50.354084 132.705109 43.007999 +v -50.354076 128.628891 52.848846 +v -50.354076 122.144569 61.299374 +v -50.354084 113.694038 67.783691 +v -50.354076 103.853195 71.859909 +v -50.354076 93.292664 73.250221 +v -50.354076 82.732132 71.859901 +v -50.354069 72.891289 67.783684 +v -50.354069 64.440758 61.299374 +v -50.354061 57.956436 52.848843 +v -50.354069 53.880222 43.007999 +v -50.354069 52.489906 32.447468 +v -50.354069 93.292664 32.447472 +v 46.548962 129.751221 29.135759 +v 54.729172 185.786865 39.513287 +v -46.549007 129.751221 29.135763 +v -54.729229 185.786850 39.513287 +v 51.126160 133.690460 29.371140 +v 53.066734 133.715439 29.560886 +v 52.645580 133.690460 29.371140 +v -53.066776 133.715378 29.560884 +v -50.354084 133.690399 29.371141 +v -52.645618 133.690414 29.371140 +v 83.812347 -107.440369 24.304226 +v 83.812317 -12.283545 24.556953 +v 52.488117 -107.440384 24.304226 +v 52.488087 -12.283559 24.556953 +v 46.622890 -134.650452 24.811131 +v 46.549049 -107.440407 24.304226 +v 46.549019 -12.283570 24.556953 +v 48.689892 64.100792 24.718298 +v 46.548962 129.751221 29.135763 +v 0.000027 -134.650467 24.811132 +v 0.000019 -107.440414 24.304232 +v 0.000000 -12.283584 24.556955 +v -0.000008 65.519035 24.718300 +v -0.000015 129.751205 29.135763 +v 62.964066 -236.861755 29.135763 +v 73.370979 -221.171097 29.135763 +v 38.464546 -241.558319 29.135763 +v 0.000042 -244.012527 29.135763 +v 60.668240 185.786865 35.145103 +v 54.729172 185.786865 39.513287 +v -0.000027 187.188232 39.513287 +v -83.812332 -107.440384 24.304232 +v -83.812302 -12.283560 24.556955 +v -52.488094 -107.440392 24.304232 +v -52.488094 -12.283567 24.556955 +v -46.622860 -134.650467 24.811132 +v -46.549030 -107.440414 24.304232 +v -46.549030 -12.283578 24.556955 +v -48.689922 64.100784 24.718300 +v -46.549007 129.751221 29.135763 +v -62.964016 -236.861755 29.135763 +v -73.370926 -221.171097 29.135763 +v -38.464481 -241.558334 29.135763 +v -60.668308 185.786850 35.145103 +v -54.729229 185.786850 39.513287 +v 51.126186 -122.603920 24.586714 +v 51.126190 -150.291595 25.472919 +v 51.126194 -162.817825 26.002909 +v 51.126198 -202.540817 27.633640 +v 51.126190 -134.650436 24.811131 +v 68.908417 -202.616455 28.208330 +v 75.610168 -202.616470 28.208330 +v 59.471882 -202.547409 27.683899 +v 57.478020 -202.547424 27.683899 +v 83.812355 -122.603912 24.586712 +v 52.529266 -122.603920 24.586714 +v 51.126160 129.751236 29.135763 +v 51.126163 110.580215 27.815256 +v 51.126160 133.690460 29.371141 +v 51.126171 64.914124 24.718294 +v 51.126171 53.510601 24.694601 +v 51.126167 85.860176 26.112532 +v 51.126163 102.303322 27.245140 +v 53.120644 53.510784 24.693218 +v 83.812286 53.510788 24.693218 +v 53.066734 133.715439 29.560892 +v 52.645580 133.690460 29.371141 +v -75.610107 -202.616501 28.208336 +v -68.908371 -202.616470 28.208336 +v -59.471828 -202.547470 27.683903 +v -57.477970 -202.547470 27.683901 +v -50.354053 -202.540039 27.627535 +v -52.529240 -122.603943 24.586716 +v -83.812317 -122.603943 24.586716 +v -50.354046 -122.603943 24.586716 +v -50.354038 -133.814468 24.795559 +v -50.354046 -157.988480 25.798580 +v -50.354053 -150.291550 25.472919 +v -50.354053 -134.650467 24.811132 +v -83.812302 53.510769 24.693220 +v -53.120678 53.510773 24.693220 +v -50.354069 53.510521 24.695139 +v -53.066776 133.715378 29.560886 +v -50.354084 133.690399 29.371145 +v -52.645618 133.690414 29.371141 +v -50.354076 110.580307 27.815266 +v -50.354084 129.751221 29.135763 +v -50.354053 64.656342 24.718300 +v -50.354069 93.264252 26.622530 +v -50.354069 102.303360 27.245146 +v 0.000038 -254.981369 61.783840 +v 0.000038 -244.787094 79.479065 +v 42.318428 -252.000595 61.783840 +v 50.240273 -242.332886 79.479065 +v -42.318356 -252.000626 61.783840 +v -50.240200 -242.332901 79.479065 +v -82.154053 177.503174 90.162315 +v -76.668823 166.058121 103.045174 +v -60.799252 180.390045 90.162315 +v -54.729229 181.139633 90.162315 +v -70.358643 172.276550 106.020950 +v -54.729229 176.258057 106.462379 +v 82.154007 177.503189 90.162315 +v 76.668755 166.058105 103.045181 +v 60.799191 180.390060 90.162315 +v 54.729172 181.139648 90.162315 +v 70.358582 172.276566 106.020958 +v 54.729172 176.258072 106.462387 +v 80.220314 -231.900696 79.479065 +v 78.545807 -215.312408 87.750420 +v 50.240273 -242.332886 79.479065 +v 67.691040 -238.690750 79.479065 +v 53.066231 -223.921555 92.282356 +v 71.741013 -219.524979 91.122749 +v -80.220261 -231.900696 79.479065 +v -78.545761 -215.312393 87.750420 +v -50.240200 -242.332901 79.479065 +v -67.690994 -238.690750 79.479065 +v -53.066181 -223.921570 92.282349 +v -71.740952 -219.524979 91.122749 +v 63.710960 138.113220 110.672775 +v -0.000023 142.055984 110.672768 +v 52.388767 85.195061 140.670975 +v -0.000008 86.464348 140.670975 +v -63.711010 138.113220 110.672768 +v -52.388805 85.195053 140.670959 +v 0.000027 -140.528809 104.177841 +v 51.750435 -137.601944 104.177856 +v 76.276886 -132.075195 103.205841 +v 0.000019 -70.221825 143.917099 +v 43.507240 -68.114685 143.917099 +v 55.509747 -68.114670 143.917099 +v -51.750401 -137.601959 104.177841 +v -76.276871 -132.075195 103.205833 +v -43.507221 -68.114693 143.917099 +v -55.509724 -68.114677 143.917099 +v 85.739426 -109.347855 97.664009 +v 85.352142 -10.816951 101.282379 +v 84.817024 82.606331 105.796509 +v 64.560303 -48.829224 140.578583 +v 64.560287 -1.549039 143.989090 +v 64.560257 46.342808 141.332230 +v -85.739395 -109.347870 97.664001 +v -85.352142 -10.816964 101.282372 +v -84.817047 82.606316 105.796509 +v -64.560303 -48.829239 140.578583 +v -64.560287 -1.549049 143.989090 +v -64.560287 46.342793 141.332214 +v 45.888832 -50.378315 148.723785 +v 46.549015 0.000013 151.466583 +v 0.000008 -52.485455 148.723785 +v 0.000000 -0.000001 151.466583 +v -45.888828 -50.378330 148.723770 +v -46.549030 0.000005 151.466568 +f 1 13 12 +f 1 24 23 +f 1 25 24 +f 2 3 27 +f 3 4 28 +f 4 5 29 +f 5 6 30 +f 6 7 31 +f 7 8 32 +f 8 9 33 +f 9 10 34 +f 10 11 35 +f 11 12 36 +f 12 13 37 +f 13 14 38 +f 14 15 39 +f 15 16 40 +f 16 17 41 +f 17 18 42 +f 18 19 43 +f 19 20 44 +f 20 21 45 +f 21 22 46 +f 22 23 47 +f 23 24 48 +f 24 25 49 +f 25 2 26 +f 98 99 100 +f 98 101 102 +f 98 102 103 +f 123 124 125 +f 74 52 76 +f 76 53 77 +f 77 54 78 +f 126 128 129 +f 129 130 131 +f 131 132 133 +f 81 58 82 +f 82 59 83 +f 83 60 84 +f 134 136 137 +f 137 138 139 +f 139 140 141 +f 87 64 88 +f 88 65 89 +f 89 66 90 +f 142 144 145 +f 145 146 147 +f 147 148 149 +f 93 70 94 +f 94 71 95 +f 95 72 96 +f 150 152 153 +f 152 125 154 +f 74 51 52 +f 76 52 53 +f 77 53 54 +f 126 127 128 +f 129 128 130 +f 131 130 132 +f 81 57 58 +f 82 58 59 +f 83 59 60 +f 134 135 136 +f 137 136 138 +f 139 138 140 +f 87 63 64 +f 88 64 65 +f 89 65 66 +f 142 143 144 +f 145 144 146 +f 147 146 148 +f 93 69 70 +f 94 70 71 +f 95 71 72 +f 150 151 152 +f 153 152 154 +f 1 3 2 +f 1 4 3 +f 1 2 25 +f 1 5 4 +f 1 6 5 +f 1 7 6 +f 1 8 7 +f 1 9 8 +f 1 10 9 +f 1 11 10 +f 1 12 11 +f 1 14 13 +f 1 15 14 +f 1 16 15 +f 1 17 16 +f 1 18 17 +f 1 19 18 +f 1 20 19 +f 1 21 20 +f 1 22 21 +f 1 23 22 +f 2 27 26 +f 3 28 27 +f 4 29 28 +f 5 30 29 +f 6 31 30 +f 7 32 31 +f 8 33 32 +f 9 34 33 +f 10 35 34 +f 11 36 35 +f 12 37 36 +f 13 38 37 +f 14 39 38 +f 15 40 39 +f 16 41 40 +f 17 42 41 +f 18 43 42 +f 19 44 43 +f 20 45 44 +f 21 46 45 +f 22 47 46 +f 23 48 47 +f 24 49 48 +f 25 26 49 +f 98 104 105 +f 98 103 104 +f 98 105 106 +f 98 106 107 +f 98 107 108 +f 98 108 109 +f 98 109 110 +f 98 110 111 +f 98 111 112 +f 98 112 113 +f 98 113 99 +f 98 100 114 +f 98 114 115 +f 98 115 116 +f 98 116 117 +f 98 117 118 +f 98 118 119 +f 98 119 120 +f 98 120 121 +f 98 121 122 +f 98 122 101 +f 154 125 124 +f 36 37 100 +f 100 99 36 +f 47 48 102 +f 102 101 47 +f 48 49 103 +f 103 102 48 +f 26 27 105 +f 105 104 26 +f 27 28 106 +f 106 105 27 +f 28 29 107 +f 107 106 28 +f 29 30 108 +f 108 107 29 +f 30 31 109 +f 109 108 30 +f 31 32 110 +f 110 109 31 +f 32 33 111 +f 111 110 32 +f 33 34 112 +f 112 111 33 +f 34 35 113 +f 113 112 34 +f 35 36 99 +f 99 113 35 +f 37 38 114 +f 114 100 37 +f 38 39 115 +f 115 114 38 +f 39 40 116 +f 116 115 39 +f 40 41 117 +f 117 116 40 +f 41 42 118 +f 118 117 41 +f 42 43 119 +f 119 118 42 +f 43 44 120 +f 120 119 43 +f 44 45 121 +f 121 120 44 +f 45 46 122 +f 122 121 45 +f 46 47 101 +f 101 122 46 +f 49 26 104 +f 104 103 49 +f 51 74 124 +f 124 123 51 +f 50 51 123 +f 123 125 50 +f 78 54 127 +f 127 126 78 +f 79 78 126 +f 126 129 79 +f 80 79 129 +f 129 131 80 +f 57 81 133 +f 133 132 57 +f 81 80 131 +f 131 133 81 +f 84 60 135 +f 135 134 84 +f 85 84 134 +f 134 137 85 +f 86 85 137 +f 137 139 86 +f 63 87 141 +f 141 140 63 +f 87 86 139 +f 139 141 87 +f 90 66 143 +f 143 142 90 +f 91 90 142 +f 142 145 91 +f 92 91 145 +f 145 147 92 +f 69 93 149 +f 149 148 69 +f 93 92 147 +f 147 149 93 +f 96 72 151 +f 151 150 96 +f 97 96 150 +f 150 153 97 +f 73 50 125 +f 125 152 73 +f 54 55 128 +f 128 127 54 +f 55 56 130 +f 130 128 55 +f 56 57 132 +f 132 130 56 +f 60 61 136 +f 136 135 60 +f 61 62 138 +f 138 136 61 +f 62 63 140 +f 140 138 62 +f 66 67 144 +f 144 143 66 +f 67 68 146 +f 146 144 67 +f 68 69 148 +f 148 146 68 +f 72 73 152 +f 152 151 72 +f 75 97 153 +f 153 154 75 +f 74 75 154 +f 154 124 74 +f 155 180 179 +f 155 156 180 +f 156 181 180 +f 156 157 181 +f 157 182 181 +f 157 158 182 +f 158 183 182 +f 158 159 183 +f 159 184 183 +f 159 160 184 +f 160 185 184 +f 160 161 185 +f 161 186 185 +f 161 162 186 +f 162 187 186 +f 162 163 187 +f 163 188 187 +f 163 164 188 +f 164 189 188 +f 164 165 189 +f 165 190 189 +f 165 166 190 +f 166 191 190 +f 166 167 191 +f 167 192 191 +f 167 168 192 +f 168 193 192 +f 168 169 193 +f 169 194 193 +f 169 170 194 +f 170 195 194 +f 170 171 195 +f 171 196 195 +f 171 172 196 +f 172 197 196 +f 172 173 197 +f 173 198 197 +f 173 174 198 +f 174 199 198 +f 174 175 199 +f 175 200 199 +f 175 176 200 +f 176 201 200 +f 176 177 201 +f 177 202 201 +f 177 178 202 +f 178 179 202 +f 178 155 179 +f 179 204 203 +f 179 180 204 +f 180 205 204 +f 180 181 205 +f 181 206 205 +f 181 182 206 +f 182 207 206 +f 182 183 207 +f 183 208 207 +f 183 184 208 +f 184 209 208 +f 184 185 209 +f 185 210 209 +f 185 186 210 +f 186 211 210 +f 186 187 211 +f 187 212 211 +f 187 188 212 +f 188 213 212 +f 188 189 213 +f 189 214 213 +f 189 190 214 +f 190 215 214 +f 190 191 215 +f 191 216 215 +f 191 192 216 +f 192 217 216 +f 192 193 217 +f 193 218 217 +f 193 194 218 +f 194 219 218 +f 194 195 219 +f 195 220 219 +f 195 196 220 +f 196 221 220 +f 196 197 221 +f 197 222 221 +f 197 198 222 +f 198 223 222 +f 198 199 223 +f 199 224 223 +f 199 200 224 +f 200 225 224 +f 200 201 225 +f 201 226 225 +f 201 202 226 +f 202 203 226 +f 202 179 203 +f 203 228 227 +f 203 204 228 +f 204 229 228 +f 204 205 229 +f 205 230 229 +f 205 206 230 +f 206 231 230 +f 206 207 231 +f 207 232 231 +f 207 208 232 +f 208 233 232 +f 208 209 233 +f 209 234 233 +f 209 210 234 +f 210 235 234 +f 210 211 235 +f 211 236 235 +f 211 212 236 +f 212 237 236 +f 212 213 237 +f 213 238 237 +f 213 214 238 +f 214 239 238 +f 214 215 239 +f 215 240 239 +f 215 216 240 +f 216 241 240 +f 216 217 241 +f 217 242 241 +f 217 218 242 +f 218 243 242 +f 218 219 243 +f 219 244 243 +f 219 220 244 +f 220 245 244 +f 220 221 245 +f 221 246 245 +f 221 222 246 +f 222 247 246 +f 222 223 247 +f 223 248 247 +f 223 224 248 +f 224 249 248 +f 224 225 249 +f 225 250 249 +f 225 226 250 +f 226 227 250 +f 226 203 227 +f 227 252 251 +f 227 228 252 +f 228 253 252 +f 228 229 253 +f 229 254 253 +f 229 230 254 +f 230 255 254 +f 230 231 255 +f 231 256 255 +f 231 232 256 +f 232 257 256 +f 232 233 257 +f 233 258 257 +f 233 234 258 +f 234 259 258 +f 234 235 259 +f 235 260 259 +f 235 236 260 +f 236 261 260 +f 236 237 261 +f 237 262 261 +f 237 238 262 +f 238 263 262 +f 238 239 263 +f 239 264 263 +f 239 240 264 +f 240 265 264 +f 240 241 265 +f 241 266 265 +f 241 242 266 +f 242 267 266 +f 242 243 267 +f 243 268 267 +f 243 244 268 +f 244 269 268 +f 244 245 269 +f 245 270 269 +f 245 246 270 +f 246 271 270 +f 246 247 271 +f 247 272 271 +f 247 248 272 +f 248 273 272 +f 248 249 273 +f 249 274 273 +f 249 250 274 +f 250 251 274 +f 250 227 251 +f 251 276 275 +f 251 252 276 +f 252 277 276 +f 252 253 277 +f 253 278 277 +f 253 254 278 +f 254 279 278 +f 254 255 279 +f 255 280 279 +f 255 256 280 +f 256 281 280 +f 256 257 281 +f 257 282 281 +f 257 258 282 +f 258 283 282 +f 258 259 283 +f 259 284 283 +f 259 260 284 +f 260 285 284 +f 260 261 285 +f 261 286 285 +f 261 262 286 +f 262 287 286 +f 262 263 287 +f 263 288 287 +f 263 264 288 +f 264 289 288 +f 264 265 289 +f 265 290 289 +f 265 266 290 +f 266 291 290 +f 266 267 291 +f 267 292 291 +f 267 268 292 +f 268 293 292 +f 268 269 293 +f 269 294 293 +f 269 270 294 +f 270 295 294 +f 270 271 295 +f 271 296 295 +f 271 272 296 +f 272 297 296 +f 272 273 297 +f 273 298 297 +f 273 274 298 +f 274 275 298 +f 274 251 275 +f 275 300 299 +f 275 276 300 +f 276 301 300 +f 276 277 301 +f 277 302 301 +f 277 278 302 +f 278 303 302 +f 278 279 303 +f 279 304 303 +f 279 280 304 +f 280 305 304 +f 280 281 305 +f 281 306 305 +f 281 282 306 +f 282 307 306 +f 282 283 307 +f 283 308 307 +f 283 284 308 +f 284 309 308 +f 284 285 309 +f 285 310 309 +f 285 286 310 +f 286 311 310 +f 286 287 311 +f 287 312 311 +f 287 288 312 +f 288 313 312 +f 288 289 313 +f 289 314 313 +f 289 290 314 +f 290 315 314 +f 290 291 315 +f 291 316 315 +f 291 292 316 +f 292 317 316 +f 292 293 317 +f 293 318 317 +f 293 294 318 +f 294 319 318 +f 294 295 319 +f 295 320 319 +f 295 296 320 +f 296 321 320 +f 296 297 321 +f 297 322 321 +f 297 298 322 +f 298 299 322 +f 298 275 299 +f 323 335 334 +f 323 346 345 +f 323 347 346 +f 324 325 349 +f 325 326 350 +f 326 327 351 +f 327 328 352 +f 328 329 353 +f 329 330 354 +f 330 331 355 +f 331 332 356 +f 332 333 357 +f 333 334 358 +f 334 335 359 +f 335 336 360 +f 336 337 361 +f 337 338 362 +f 338 339 363 +f 339 340 364 +f 340 341 365 +f 341 342 366 +f 342 343 367 +f 343 344 368 +f 344 345 369 +f 345 346 370 +f 346 347 371 +f 347 324 348 +f 420 421 422 +f 420 423 424 +f 420 424 425 +f 445 446 447 +f 396 374 398 +f 398 375 399 +f 399 376 400 +f 448 450 451 +f 451 452 453 +f 453 454 455 +f 403 380 404 +f 404 381 405 +f 405 382 406 +f 456 458 459 +f 459 460 461 +f 461 462 463 +f 409 386 410 +f 410 387 411 +f 411 388 412 +f 464 466 467 +f 467 468 469 +f 469 470 471 +f 415 392 416 +f 416 393 417 +f 417 394 418 +f 472 474 475 +f 474 447 476 +f 396 373 374 +f 398 374 375 +f 399 375 376 +f 448 449 450 +f 451 450 452 +f 453 452 454 +f 403 379 380 +f 404 380 381 +f 405 381 382 +f 456 457 458 +f 459 458 460 +f 461 460 462 +f 409 385 386 +f 410 386 387 +f 411 387 388 +f 464 465 466 +f 467 466 468 +f 469 468 470 +f 415 391 392 +f 416 392 393 +f 417 393 394 +f 472 473 474 +f 475 474 476 +f 323 325 324 +f 323 326 325 +f 323 324 347 +f 323 327 326 +f 323 328 327 +f 323 329 328 +f 323 330 329 +f 323 331 330 +f 323 332 331 +f 323 333 332 +f 323 334 333 +f 323 336 335 +f 323 337 336 +f 323 338 337 +f 323 339 338 +f 323 340 339 +f 323 341 340 +f 323 342 341 +f 323 343 342 +f 323 344 343 +f 323 345 344 +f 324 349 348 +f 325 350 349 +f 326 351 350 +f 327 352 351 +f 328 353 352 +f 329 354 353 +f 330 355 354 +f 331 356 355 +f 332 357 356 +f 333 358 357 +f 334 359 358 +f 335 360 359 +f 336 361 360 +f 337 362 361 +f 338 363 362 +f 339 364 363 +f 340 365 364 +f 341 366 365 +f 342 367 366 +f 343 368 367 +f 344 369 368 +f 345 370 369 +f 346 371 370 +f 347 348 371 +f 420 426 427 +f 420 425 426 +f 420 427 428 +f 420 428 429 +f 420 429 430 +f 420 430 431 +f 420 431 432 +f 420 432 433 +f 420 433 434 +f 420 434 435 +f 420 435 421 +f 420 422 436 +f 420 436 437 +f 420 437 438 +f 420 438 439 +f 420 439 440 +f 420 440 441 +f 420 441 442 +f 420 442 443 +f 420 443 444 +f 420 444 423 +f 476 447 446 +f 358 359 422 +f 422 421 358 +f 369 370 424 +f 424 423 369 +f 370 371 425 +f 425 424 370 +f 348 349 427 +f 427 426 348 +f 349 350 428 +f 428 427 349 +f 350 351 429 +f 429 428 350 +f 351 352 430 +f 430 429 351 +f 352 353 431 +f 431 430 352 +f 353 354 432 +f 432 431 353 +f 354 355 433 +f 433 432 354 +f 355 356 434 +f 434 433 355 +f 356 357 435 +f 435 434 356 +f 357 358 421 +f 421 435 357 +f 359 360 436 +f 436 422 359 +f 360 361 437 +f 437 436 360 +f 361 362 438 +f 438 437 361 +f 362 363 439 +f 439 438 362 +f 363 364 440 +f 440 439 363 +f 364 365 441 +f 441 440 364 +f 365 366 442 +f 442 441 365 +f 366 367 443 +f 443 442 366 +f 367 368 444 +f 444 443 367 +f 368 369 423 +f 423 444 368 +f 371 348 426 +f 426 425 371 +f 373 396 446 +f 446 445 373 +f 372 373 445 +f 445 447 372 +f 400 376 449 +f 449 448 400 +f 401 400 448 +f 448 451 401 +f 402 401 451 +f 451 453 402 +f 379 403 455 +f 455 454 379 +f 403 402 453 +f 453 455 403 +f 406 382 457 +f 457 456 406 +f 407 406 456 +f 456 459 407 +f 408 407 459 +f 459 461 408 +f 385 409 463 +f 463 462 385 +f 409 408 461 +f 461 463 409 +f 412 388 465 +f 465 464 412 +f 413 412 464 +f 464 467 413 +f 414 413 467 +f 467 469 414 +f 391 415 471 +f 471 470 391 +f 415 414 469 +f 469 471 415 +f 418 394 473 +f 473 472 418 +f 419 418 472 +f 472 475 419 +f 395 372 447 +f 447 474 395 +f 376 377 450 +f 450 449 376 +f 377 378 452 +f 452 450 377 +f 378 379 454 +f 454 452 378 +f 382 383 458 +f 458 457 382 +f 383 384 460 +f 460 458 383 +f 384 385 462 +f 462 460 384 +f 388 389 466 +f 466 465 388 +f 389 390 468 +f 468 466 389 +f 390 391 470 +f 470 468 390 +f 394 395 474 +f 474 473 394 +f 397 419 475 +f 475 476 397 +f 396 397 476 +f 476 446 396 +f 477 502 501 +f 477 478 502 +f 478 503 502 +f 478 479 503 +f 479 504 503 +f 479 480 504 +f 480 505 504 +f 480 481 505 +f 481 506 505 +f 481 482 506 +f 482 507 506 +f 482 483 507 +f 483 508 507 +f 483 484 508 +f 484 509 508 +f 484 485 509 +f 485 510 509 +f 485 486 510 +f 486 511 510 +f 486 487 511 +f 487 512 511 +f 487 488 512 +f 488 513 512 +f 488 489 513 +f 489 514 513 +f 489 490 514 +f 490 515 514 +f 490 491 515 +f 491 516 515 +f 491 492 516 +f 492 517 516 +f 492 493 517 +f 493 518 517 +f 493 494 518 +f 494 519 518 +f 494 495 519 +f 495 520 519 +f 495 496 520 +f 496 521 520 +f 496 497 521 +f 497 522 521 +f 497 498 522 +f 498 523 522 +f 498 499 523 +f 499 524 523 +f 499 500 524 +f 500 501 524 +f 500 477 501 +f 501 526 525 +f 501 502 526 +f 502 527 526 +f 502 503 527 +f 503 528 527 +f 503 504 528 +f 504 529 528 +f 504 505 529 +f 505 530 529 +f 505 506 530 +f 506 531 530 +f 506 507 531 +f 507 532 531 +f 507 508 532 +f 508 533 532 +f 508 509 533 +f 509 534 533 +f 509 510 534 +f 510 535 534 +f 510 511 535 +f 511 536 535 +f 511 512 536 +f 512 537 536 +f 512 513 537 +f 513 538 537 +f 513 514 538 +f 514 539 538 +f 514 515 539 +f 515 540 539 +f 515 516 540 +f 516 541 540 +f 516 517 541 +f 517 542 541 +f 517 518 542 +f 518 543 542 +f 518 519 543 +f 519 544 543 +f 519 520 544 +f 520 545 544 +f 520 521 545 +f 521 546 545 +f 521 522 546 +f 522 547 546 +f 522 523 547 +f 523 548 547 +f 523 524 548 +f 524 525 548 +f 524 501 525 +f 525 550 549 +f 525 526 550 +f 526 551 550 +f 526 527 551 +f 527 552 551 +f 527 528 552 +f 528 553 552 +f 528 529 553 +f 529 554 553 +f 529 530 554 +f 530 555 554 +f 530 531 555 +f 531 556 555 +f 531 532 556 +f 532 557 556 +f 532 533 557 +f 533 558 557 +f 533 534 558 +f 534 559 558 +f 534 535 559 +f 535 560 559 +f 535 536 560 +f 536 561 560 +f 536 537 561 +f 537 562 561 +f 537 538 562 +f 538 563 562 +f 538 539 563 +f 539 564 563 +f 539 540 564 +f 540 565 564 +f 540 541 565 +f 541 566 565 +f 541 542 566 +f 542 567 566 +f 542 543 567 +f 543 568 567 +f 543 544 568 +f 544 569 568 +f 544 545 569 +f 545 570 569 +f 545 546 570 +f 546 571 570 +f 546 547 571 +f 547 572 571 +f 547 548 572 +f 548 549 572 +f 548 525 549 +f 549 574 573 +f 549 550 574 +f 550 575 574 +f 550 551 575 +f 551 576 575 +f 551 552 576 +f 552 577 576 +f 552 553 577 +f 553 578 577 +f 553 554 578 +f 554 579 578 +f 554 555 579 +f 555 580 579 +f 555 556 580 +f 556 581 580 +f 556 557 581 +f 557 582 581 +f 557 558 582 +f 558 583 582 +f 558 559 583 +f 559 584 583 +f 559 560 584 +f 560 585 584 +f 560 561 585 +f 561 586 585 +f 561 562 586 +f 562 587 586 +f 562 563 587 +f 563 588 587 +f 563 564 588 +f 564 589 588 +f 564 565 589 +f 565 590 589 +f 565 566 590 +f 566 591 590 +f 566 567 591 +f 567 592 591 +f 567 568 592 +f 568 593 592 +f 568 569 593 +f 569 594 593 +f 569 570 594 +f 570 595 594 +f 570 571 595 +f 571 596 595 +f 571 572 596 +f 572 573 596 +f 572 549 573 +f 573 598 597 +f 573 574 598 +f 574 599 598 +f 574 575 599 +f 575 600 599 +f 575 576 600 +f 576 601 600 +f 576 577 601 +f 577 602 601 +f 577 578 602 +f 578 603 602 +f 578 579 603 +f 579 604 603 +f 579 580 604 +f 580 605 604 +f 580 581 605 +f 581 606 605 +f 581 582 606 +f 582 607 606 +f 582 583 607 +f 583 608 607 +f 583 584 608 +f 584 609 608 +f 584 585 609 +f 585 610 609 +f 585 586 610 +f 586 611 610 +f 586 587 611 +f 587 612 611 +f 587 588 612 +f 588 613 612 +f 588 589 613 +f 589 614 613 +f 589 590 614 +f 590 615 614 +f 590 591 615 +f 591 616 615 +f 591 592 616 +f 592 617 616 +f 592 593 617 +f 593 618 617 +f 593 594 618 +f 594 619 618 +f 594 595 619 +f 595 620 619 +f 595 596 620 +f 596 597 620 +f 596 573 597 +f 597 622 621 +f 597 598 622 +f 598 623 622 +f 598 599 623 +f 599 624 623 +f 599 600 624 +f 600 625 624 +f 600 601 625 +f 601 626 625 +f 601 602 626 +f 602 627 626 +f 602 603 627 +f 603 628 627 +f 603 604 628 +f 604 629 628 +f 604 605 629 +f 605 630 629 +f 605 606 630 +f 606 631 630 +f 606 607 631 +f 607 632 631 +f 607 608 632 +f 608 633 632 +f 608 609 633 +f 609 634 633 +f 609 610 634 +f 610 635 634 +f 610 611 635 +f 611 636 635 +f 611 612 636 +f 612 637 636 +f 612 613 637 +f 613 638 637 +f 613 614 638 +f 614 639 638 +f 614 615 639 +f 615 640 639 +f 615 616 640 +f 616 641 640 +f 616 617 641 +f 617 642 641 +f 617 618 642 +f 618 643 642 +f 618 619 643 +f 619 644 643 +f 619 620 644 +f 620 621 644 +f 620 597 621 +f 645 657 656 +f 645 668 667 +f 645 669 668 +f 646 647 671 +f 647 648 672 +f 648 649 673 +f 649 650 674 +f 650 651 675 +f 651 652 676 +f 652 653 677 +f 653 654 678 +f 654 655 679 +f 655 656 680 +f 656 657 681 +f 657 658 682 +f 658 659 683 +f 659 660 684 +f 660 661 685 +f 661 662 686 +f 662 663 687 +f 663 664 688 +f 664 665 689 +f 665 666 690 +f 666 667 691 +f 667 668 692 +f 668 669 693 +f 669 646 670 +f 742 743 744 +f 742 745 746 +f 742 746 747 +f 767 768 769 +f 718 696 720 +f 720 697 721 +f 721 698 722 +f 770 772 773 +f 773 774 775 +f 775 776 777 +f 725 702 726 +f 726 703 727 +f 727 704 728 +f 778 780 781 +f 781 782 783 +f 783 784 785 +f 731 708 732 +f 732 709 733 +f 733 710 734 +f 786 788 789 +f 789 790 791 +f 791 792 793 +f 737 714 738 +f 738 715 739 +f 739 716 740 +f 794 796 797 +f 796 769 798 +f 718 695 696 +f 720 696 697 +f 721 697 698 +f 770 771 772 +f 773 772 774 +f 775 774 776 +f 725 701 702 +f 726 702 703 +f 727 703 704 +f 778 779 780 +f 781 780 782 +f 783 782 784 +f 731 707 708 +f 732 708 709 +f 733 709 710 +f 786 787 788 +f 789 788 790 +f 791 790 792 +f 737 713 714 +f 738 714 715 +f 739 715 716 +f 794 795 796 +f 797 796 798 +f 645 647 646 +f 645 648 647 +f 645 646 669 +f 645 649 648 +f 645 650 649 +f 645 651 650 +f 645 652 651 +f 645 653 652 +f 645 654 653 +f 645 655 654 +f 645 656 655 +f 645 658 657 +f 645 659 658 +f 645 660 659 +f 645 661 660 +f 645 662 661 +f 645 663 662 +f 645 664 663 +f 645 665 664 +f 645 666 665 +f 645 667 666 +f 646 671 670 +f 647 672 671 +f 648 673 672 +f 649 674 673 +f 650 675 674 +f 651 676 675 +f 652 677 676 +f 653 678 677 +f 654 679 678 +f 655 680 679 +f 656 681 680 +f 657 682 681 +f 658 683 682 +f 659 684 683 +f 660 685 684 +f 661 686 685 +f 662 687 686 +f 663 688 687 +f 664 689 688 +f 665 690 689 +f 666 691 690 +f 667 692 691 +f 668 693 692 +f 669 670 693 +f 742 748 749 +f 742 747 748 +f 742 749 750 +f 742 750 751 +f 742 751 752 +f 742 752 753 +f 742 753 754 +f 742 754 755 +f 742 755 756 +f 742 756 757 +f 742 757 743 +f 742 744 758 +f 742 758 759 +f 742 759 760 +f 742 760 761 +f 742 761 762 +f 742 762 763 +f 742 763 764 +f 742 764 765 +f 742 765 766 +f 742 766 745 +f 798 769 768 +f 680 681 744 +f 744 743 680 +f 691 692 746 +f 746 745 691 +f 692 693 747 +f 747 746 692 +f 670 671 749 +f 749 748 670 +f 671 672 750 +f 750 749 671 +f 672 673 751 +f 751 750 672 +f 673 674 752 +f 752 751 673 +f 674 675 753 +f 753 752 674 +f 675 676 754 +f 754 753 675 +f 676 677 755 +f 755 754 676 +f 677 678 756 +f 756 755 677 +f 678 679 757 +f 757 756 678 +f 679 680 743 +f 743 757 679 +f 681 682 758 +f 758 744 681 +f 682 683 759 +f 759 758 682 +f 683 684 760 +f 760 759 683 +f 684 685 761 +f 761 760 684 +f 685 686 762 +f 762 761 685 +f 686 687 763 +f 763 762 686 +f 687 688 764 +f 764 763 687 +f 688 689 765 +f 765 764 688 +f 689 690 766 +f 766 765 689 +f 690 691 745 +f 745 766 690 +f 693 670 748 +f 748 747 693 +f 695 718 768 +f 768 767 695 +f 694 695 767 +f 767 769 694 +f 722 698 771 +f 771 770 722 +f 723 722 770 +f 770 773 723 +f 724 723 773 +f 773 775 724 +f 701 725 777 +f 777 776 701 +f 725 724 775 +f 775 777 725 +f 728 704 779 +f 779 778 728 +f 729 728 778 +f 778 781 729 +f 730 729 781 +f 781 783 730 +f 707 731 785 +f 785 784 707 +f 731 730 783 +f 783 785 731 +f 734 710 787 +f 787 786 734 +f 735 734 786 +f 786 789 735 +f 736 735 789 +f 789 791 736 +f 713 737 793 +f 793 792 713 +f 737 736 791 +f 791 793 737 +f 740 716 795 +f 795 794 740 +f 741 740 794 +f 794 797 741 +f 717 694 769 +f 769 796 717 +f 698 699 772 +f 772 771 698 +f 699 700 774 +f 774 772 699 +f 700 701 776 +f 776 774 700 +f 704 705 780 +f 780 779 704 +f 705 706 782 +f 782 780 705 +f 706 707 784 +f 784 782 706 +f 710 711 788 +f 788 787 710 +f 711 712 790 +f 790 788 711 +f 712 713 792 +f 792 790 712 +f 716 717 796 +f 796 795 716 +f 719 741 797 +f 797 798 719 +f 718 719 798 +f 798 768 718 +f 799 824 823 +f 799 800 824 +f 800 825 824 +f 800 801 825 +f 801 826 825 +f 801 802 826 +f 802 827 826 +f 802 803 827 +f 803 828 827 +f 803 804 828 +f 804 829 828 +f 804 805 829 +f 805 830 829 +f 805 806 830 +f 806 831 830 +f 806 807 831 +f 807 832 831 +f 807 808 832 +f 808 833 832 +f 808 809 833 +f 809 834 833 +f 809 810 834 +f 810 835 834 +f 810 811 835 +f 811 836 835 +f 811 812 836 +f 812 837 836 +f 812 813 837 +f 813 838 837 +f 813 814 838 +f 814 839 838 +f 814 815 839 +f 815 840 839 +f 815 816 840 +f 816 841 840 +f 816 817 841 +f 817 842 841 +f 817 818 842 +f 818 843 842 +f 818 819 843 +f 819 844 843 +f 819 820 844 +f 820 845 844 +f 820 821 845 +f 821 846 845 +f 821 822 846 +f 822 823 846 +f 822 799 823 +f 823 848 847 +f 823 824 848 +f 824 849 848 +f 824 825 849 +f 825 850 849 +f 825 826 850 +f 826 851 850 +f 826 827 851 +f 827 852 851 +f 827 828 852 +f 828 853 852 +f 828 829 853 +f 829 854 853 +f 829 830 854 +f 830 855 854 +f 830 831 855 +f 831 856 855 +f 831 832 856 +f 832 857 856 +f 832 833 857 +f 833 858 857 +f 833 834 858 +f 834 859 858 +f 834 835 859 +f 835 860 859 +f 835 836 860 +f 836 861 860 +f 836 837 861 +f 837 862 861 +f 837 838 862 +f 838 863 862 +f 838 839 863 +f 839 864 863 +f 839 840 864 +f 840 865 864 +f 840 841 865 +f 841 866 865 +f 841 842 866 +f 842 867 866 +f 842 843 867 +f 843 868 867 +f 843 844 868 +f 844 869 868 +f 844 845 869 +f 845 870 869 +f 845 846 870 +f 846 847 870 +f 846 823 847 +f 847 872 871 +f 847 848 872 +f 848 873 872 +f 848 849 873 +f 849 874 873 +f 849 850 874 +f 850 875 874 +f 850 851 875 +f 851 876 875 +f 851 852 876 +f 852 877 876 +f 852 853 877 +f 853 878 877 +f 853 854 878 +f 854 879 878 +f 854 855 879 +f 855 880 879 +f 855 856 880 +f 856 881 880 +f 856 857 881 +f 857 882 881 +f 857 858 882 +f 858 883 882 +f 858 859 883 +f 859 884 883 +f 859 860 884 +f 860 885 884 +f 860 861 885 +f 861 886 885 +f 861 862 886 +f 862 887 886 +f 862 863 887 +f 863 888 887 +f 863 864 888 +f 864 889 888 +f 864 865 889 +f 865 890 889 +f 865 866 890 +f 866 891 890 +f 866 867 891 +f 867 892 891 +f 867 868 892 +f 868 893 892 +f 868 869 893 +f 869 894 893 +f 869 870 894 +f 870 871 894 +f 870 847 871 +f 871 896 895 +f 871 872 896 +f 872 897 896 +f 872 873 897 +f 873 898 897 +f 873 874 898 +f 874 899 898 +f 874 875 899 +f 875 900 899 +f 875 876 900 +f 876 901 900 +f 876 877 901 +f 877 902 901 +f 877 878 902 +f 878 903 902 +f 878 879 903 +f 879 904 903 +f 879 880 904 +f 880 905 904 +f 880 881 905 +f 881 906 905 +f 881 882 906 +f 882 907 906 +f 882 883 907 +f 883 908 907 +f 883 884 908 +f 884 909 908 +f 884 885 909 +f 885 910 909 +f 885 886 910 +f 886 911 910 +f 886 887 911 +f 887 912 911 +f 887 888 912 +f 888 913 912 +f 888 889 913 +f 889 914 913 +f 889 890 914 +f 890 915 914 +f 890 891 915 +f 891 916 915 +f 891 892 916 +f 892 917 916 +f 892 893 917 +f 893 918 917 +f 893 894 918 +f 894 895 918 +f 894 871 895 +f 895 920 919 +f 895 896 920 +f 896 921 920 +f 896 897 921 +f 897 922 921 +f 897 898 922 +f 898 923 922 +f 898 899 923 +f 899 924 923 +f 899 900 924 +f 900 925 924 +f 900 901 925 +f 901 926 925 +f 901 902 926 +f 902 927 926 +f 902 903 927 +f 903 928 927 +f 903 904 928 +f 904 929 928 +f 904 905 929 +f 905 930 929 +f 905 906 930 +f 906 931 930 +f 906 907 931 +f 907 932 931 +f 907 908 932 +f 908 933 932 +f 908 909 933 +f 909 934 933 +f 909 910 934 +f 910 935 934 +f 910 911 935 +f 911 936 935 +f 911 912 936 +f 912 937 936 +f 912 913 937 +f 913 938 937 +f 913 914 938 +f 914 939 938 +f 914 915 939 +f 915 940 939 +f 915 916 940 +f 916 941 940 +f 916 917 941 +f 917 942 941 +f 917 918 942 +f 918 919 942 +f 918 895 919 +f 919 944 943 +f 919 920 944 +f 920 945 944 +f 920 921 945 +f 921 946 945 +f 921 922 946 +f 922 947 946 +f 922 923 947 +f 923 948 947 +f 923 924 948 +f 924 949 948 +f 924 925 949 +f 925 950 949 +f 925 926 950 +f 926 951 950 +f 926 927 951 +f 927 952 951 +f 927 928 952 +f 928 953 952 +f 928 929 953 +f 929 954 953 +f 929 930 954 +f 930 955 954 +f 930 931 955 +f 931 956 955 +f 931 932 956 +f 932 957 956 +f 932 933 957 +f 933 958 957 +f 933 934 958 +f 934 959 958 +f 934 935 959 +f 935 960 959 +f 935 936 960 +f 936 961 960 +f 936 937 961 +f 937 962 961 +f 937 938 962 +f 938 963 962 +f 938 939 963 +f 939 964 963 +f 939 940 964 +f 940 965 964 +f 940 941 965 +f 941 966 965 +f 941 942 966 +f 942 943 966 +f 942 919 943 +f 967 979 978 +f 967 990 989 +f 967 991 990 +f 968 969 993 +f 969 970 994 +f 970 971 995 +f 971 972 996 +f 972 973 997 +f 973 974 998 +f 974 975 999 +f 975 976 1000 +f 976 977 1001 +f 977 978 1002 +f 978 979 1003 +f 979 980 1004 +f 980 981 1005 +f 981 982 1006 +f 982 983 1007 +f 983 984 1008 +f 984 985 1009 +f 985 986 1010 +f 986 987 1011 +f 987 988 1012 +f 988 989 1013 +f 989 990 1014 +f 990 991 1015 +f 991 968 992 +f 1064 1065 1066 +f 1064 1067 1068 +f 1064 1068 1069 +f 1089 1090 1091 +f 1040 1018 1042 +f 1042 1019 1043 +f 1043 1020 1044 +f 1092 1094 1095 +f 1095 1096 1097 +f 1097 1098 1099 +f 1047 1024 1048 +f 1048 1025 1049 +f 1049 1026 1050 +f 1100 1102 1103 +f 1103 1104 1105 +f 1105 1106 1107 +f 1053 1030 1054 +f 1054 1031 1055 +f 1055 1032 1056 +f 1108 1110 1111 +f 1111 1112 1113 +f 1113 1114 1115 +f 1059 1036 1060 +f 1060 1037 1061 +f 1061 1038 1062 +f 1116 1118 1119 +f 1118 1091 1120 +f 1040 1017 1018 +f 1042 1018 1019 +f 1043 1019 1020 +f 1092 1093 1094 +f 1095 1094 1096 +f 1097 1096 1098 +f 1047 1023 1024 +f 1048 1024 1025 +f 1049 1025 1026 +f 1100 1101 1102 +f 1103 1102 1104 +f 1105 1104 1106 +f 1053 1029 1030 +f 1054 1030 1031 +f 1055 1031 1032 +f 1108 1109 1110 +f 1111 1110 1112 +f 1113 1112 1114 +f 1059 1035 1036 +f 1060 1036 1037 +f 1061 1037 1038 +f 1116 1117 1118 +f 1119 1118 1120 +f 967 969 968 +f 967 970 969 +f 967 968 991 +f 967 971 970 +f 967 972 971 +f 967 973 972 +f 967 974 973 +f 967 975 974 +f 967 976 975 +f 967 977 976 +f 967 978 977 +f 967 980 979 +f 967 981 980 +f 967 982 981 +f 967 983 982 +f 967 984 983 +f 967 985 984 +f 967 986 985 +f 967 987 986 +f 967 988 987 +f 967 989 988 +f 968 993 992 +f 969 994 993 +f 970 995 994 +f 971 996 995 +f 972 997 996 +f 973 998 997 +f 974 999 998 +f 975 1000 999 +f 976 1001 1000 +f 977 1002 1001 +f 978 1003 1002 +f 979 1004 1003 +f 980 1005 1004 +f 981 1006 1005 +f 982 1007 1006 +f 983 1008 1007 +f 984 1009 1008 +f 985 1010 1009 +f 986 1011 1010 +f 987 1012 1011 +f 988 1013 1012 +f 989 1014 1013 +f 990 1015 1014 +f 991 992 1015 +f 1064 1070 1071 +f 1064 1069 1070 +f 1064 1071 1072 +f 1064 1072 1073 +f 1064 1073 1074 +f 1064 1074 1075 +f 1064 1075 1076 +f 1064 1076 1077 +f 1064 1077 1078 +f 1064 1078 1079 +f 1064 1079 1065 +f 1064 1066 1080 +f 1064 1080 1081 +f 1064 1081 1082 +f 1064 1082 1083 +f 1064 1083 1084 +f 1064 1084 1085 +f 1064 1085 1086 +f 1064 1086 1087 +f 1064 1087 1088 +f 1064 1088 1067 +f 1120 1091 1090 +f 1002 1003 1066 +f 1066 1065 1002 +f 1013 1014 1068 +f 1068 1067 1013 +f 1014 1015 1069 +f 1069 1068 1014 +f 992 993 1071 +f 1071 1070 992 +f 993 994 1072 +f 1072 1071 993 +f 994 995 1073 +f 1073 1072 994 +f 995 996 1074 +f 1074 1073 995 +f 996 997 1075 +f 1075 1074 996 +f 997 998 1076 +f 1076 1075 997 +f 998 999 1077 +f 1077 1076 998 +f 999 1000 1078 +f 1078 1077 999 +f 1000 1001 1079 +f 1079 1078 1000 +f 1001 1002 1065 +f 1065 1079 1001 +f 1003 1004 1080 +f 1080 1066 1003 +f 1004 1005 1081 +f 1081 1080 1004 +f 1005 1006 1082 +f 1082 1081 1005 +f 1006 1007 1083 +f 1083 1082 1006 +f 1007 1008 1084 +f 1084 1083 1007 +f 1008 1009 1085 +f 1085 1084 1008 +f 1009 1010 1086 +f 1086 1085 1009 +f 1010 1011 1087 +f 1087 1086 1010 +f 1011 1012 1088 +f 1088 1087 1011 +f 1012 1013 1067 +f 1067 1088 1012 +f 1015 992 1070 +f 1070 1069 1015 +f 1017 1040 1090 +f 1090 1089 1017 +f 1016 1017 1089 +f 1089 1091 1016 +f 1044 1020 1093 +f 1093 1092 1044 +f 1045 1044 1092 +f 1092 1095 1045 +f 1046 1045 1095 +f 1095 1097 1046 +f 1023 1047 1099 +f 1099 1098 1023 +f 1047 1046 1097 +f 1097 1099 1047 +f 1050 1026 1101 +f 1101 1100 1050 +f 1051 1050 1100 +f 1100 1103 1051 +f 1052 1051 1103 +f 1103 1105 1052 +f 1029 1053 1107 +f 1107 1106 1029 +f 1053 1052 1105 +f 1105 1107 1053 +f 1056 1032 1109 +f 1109 1108 1056 +f 1057 1056 1108 +f 1108 1111 1057 +f 1058 1057 1111 +f 1111 1113 1058 +f 1035 1059 1115 +f 1115 1114 1035 +f 1059 1058 1113 +f 1113 1115 1059 +f 1062 1038 1117 +f 1117 1116 1062 +f 1063 1062 1116 +f 1116 1119 1063 +f 1039 1016 1091 +f 1091 1118 1039 +f 1020 1021 1094 +f 1094 1093 1020 +f 1021 1022 1096 +f 1096 1094 1021 +f 1022 1023 1098 +f 1098 1096 1022 +f 1026 1027 1102 +f 1102 1101 1026 +f 1027 1028 1104 +f 1104 1102 1027 +f 1028 1029 1106 +f 1106 1104 1028 +f 1032 1033 1110 +f 1110 1109 1032 +f 1033 1034 1112 +f 1112 1110 1033 +f 1034 1035 1114 +f 1114 1112 1034 +f 1038 1039 1118 +f 1118 1117 1038 +f 1041 1063 1119 +f 1119 1120 1041 +f 1040 1041 1120 +f 1120 1090 1040 +f 1121 1146 1145 +f 1121 1122 1146 +f 1122 1147 1146 +f 1122 1123 1147 +f 1123 1148 1147 +f 1123 1124 1148 +f 1124 1149 1148 +f 1124 1125 1149 +f 1125 1150 1149 +f 1125 1126 1150 +f 1126 1151 1150 +f 1126 1127 1151 +f 1127 1152 1151 +f 1127 1128 1152 +f 1128 1153 1152 +f 1128 1129 1153 +f 1129 1154 1153 +f 1129 1130 1154 +f 1130 1155 1154 +f 1130 1131 1155 +f 1131 1156 1155 +f 1131 1132 1156 +f 1132 1157 1156 +f 1132 1133 1157 +f 1133 1158 1157 +f 1133 1134 1158 +f 1134 1159 1158 +f 1134 1135 1159 +f 1135 1160 1159 +f 1135 1136 1160 +f 1136 1161 1160 +f 1136 1137 1161 +f 1137 1162 1161 +f 1137 1138 1162 +f 1138 1163 1162 +f 1138 1139 1163 +f 1139 1164 1163 +f 1139 1140 1164 +f 1140 1165 1164 +f 1140 1141 1165 +f 1141 1166 1165 +f 1141 1142 1166 +f 1142 1167 1166 +f 1142 1143 1167 +f 1143 1168 1167 +f 1143 1144 1168 +f 1144 1145 1168 +f 1144 1121 1145 +f 1145 1170 1169 +f 1145 1146 1170 +f 1146 1171 1170 +f 1146 1147 1171 +f 1147 1172 1171 +f 1147 1148 1172 +f 1148 1173 1172 +f 1148 1149 1173 +f 1149 1174 1173 +f 1149 1150 1174 +f 1150 1175 1174 +f 1150 1151 1175 +f 1151 1176 1175 +f 1151 1152 1176 +f 1152 1177 1176 +f 1152 1153 1177 +f 1153 1178 1177 +f 1153 1154 1178 +f 1154 1179 1178 +f 1154 1155 1179 +f 1155 1180 1179 +f 1155 1156 1180 +f 1156 1181 1180 +f 1156 1157 1181 +f 1157 1182 1181 +f 1157 1158 1182 +f 1158 1183 1182 +f 1158 1159 1183 +f 1159 1184 1183 +f 1159 1160 1184 +f 1160 1185 1184 +f 1160 1161 1185 +f 1161 1186 1185 +f 1161 1162 1186 +f 1162 1187 1186 +f 1162 1163 1187 +f 1163 1188 1187 +f 1163 1164 1188 +f 1164 1189 1188 +f 1164 1165 1189 +f 1165 1190 1189 +f 1165 1166 1190 +f 1166 1191 1190 +f 1166 1167 1191 +f 1167 1192 1191 +f 1167 1168 1192 +f 1168 1169 1192 +f 1168 1145 1169 +f 1169 1194 1193 +f 1169 1170 1194 +f 1170 1195 1194 +f 1170 1171 1195 +f 1171 1196 1195 +f 1171 1172 1196 +f 1172 1197 1196 +f 1172 1173 1197 +f 1173 1198 1197 +f 1173 1174 1198 +f 1174 1199 1198 +f 1174 1175 1199 +f 1175 1200 1199 +f 1175 1176 1200 +f 1176 1201 1200 +f 1176 1177 1201 +f 1177 1202 1201 +f 1177 1178 1202 +f 1178 1203 1202 +f 1178 1179 1203 +f 1179 1204 1203 +f 1179 1180 1204 +f 1180 1205 1204 +f 1180 1181 1205 +f 1181 1206 1205 +f 1181 1182 1206 +f 1182 1207 1206 +f 1182 1183 1207 +f 1183 1208 1207 +f 1183 1184 1208 +f 1184 1209 1208 +f 1184 1185 1209 +f 1185 1210 1209 +f 1185 1186 1210 +f 1186 1211 1210 +f 1186 1187 1211 +f 1187 1212 1211 +f 1187 1188 1212 +f 1188 1213 1212 +f 1188 1189 1213 +f 1189 1214 1213 +f 1189 1190 1214 +f 1190 1215 1214 +f 1190 1191 1215 +f 1191 1216 1215 +f 1191 1192 1216 +f 1192 1193 1216 +f 1192 1169 1193 +f 1193 1218 1217 +f 1193 1194 1218 +f 1194 1219 1218 +f 1194 1195 1219 +f 1195 1220 1219 +f 1195 1196 1220 +f 1196 1221 1220 +f 1196 1197 1221 +f 1197 1222 1221 +f 1197 1198 1222 +f 1198 1223 1222 +f 1198 1199 1223 +f 1199 1224 1223 +f 1199 1200 1224 +f 1200 1225 1224 +f 1200 1201 1225 +f 1201 1226 1225 +f 1201 1202 1226 +f 1202 1227 1226 +f 1202 1203 1227 +f 1203 1228 1227 +f 1203 1204 1228 +f 1204 1229 1228 +f 1204 1205 1229 +f 1205 1230 1229 +f 1205 1206 1230 +f 1206 1231 1230 +f 1206 1207 1231 +f 1207 1232 1231 +f 1207 1208 1232 +f 1208 1233 1232 +f 1208 1209 1233 +f 1209 1234 1233 +f 1209 1210 1234 +f 1210 1235 1234 +f 1210 1211 1235 +f 1211 1236 1235 +f 1211 1212 1236 +f 1212 1237 1236 +f 1212 1213 1237 +f 1213 1238 1237 +f 1213 1214 1238 +f 1214 1239 1238 +f 1214 1215 1239 +f 1215 1240 1239 +f 1215 1216 1240 +f 1216 1217 1240 +f 1216 1193 1217 +f 1217 1242 1241 +f 1217 1218 1242 +f 1218 1243 1242 +f 1218 1219 1243 +f 1219 1244 1243 +f 1219 1220 1244 +f 1220 1245 1244 +f 1220 1221 1245 +f 1221 1246 1245 +f 1221 1222 1246 +f 1222 1247 1246 +f 1222 1223 1247 +f 1223 1248 1247 +f 1223 1224 1248 +f 1224 1249 1248 +f 1224 1225 1249 +f 1225 1250 1249 +f 1225 1226 1250 +f 1226 1251 1250 +f 1226 1227 1251 +f 1227 1252 1251 +f 1227 1228 1252 +f 1228 1253 1252 +f 1228 1229 1253 +f 1229 1254 1253 +f 1229 1230 1254 +f 1230 1255 1254 +f 1230 1231 1255 +f 1231 1256 1255 +f 1231 1232 1256 +f 1232 1257 1256 +f 1232 1233 1257 +f 1233 1258 1257 +f 1233 1234 1258 +f 1234 1259 1258 +f 1234 1235 1259 +f 1235 1260 1259 +f 1235 1236 1260 +f 1236 1261 1260 +f 1236 1237 1261 +f 1237 1262 1261 +f 1237 1238 1262 +f 1238 1263 1262 +f 1238 1239 1263 +f 1239 1264 1263 +f 1239 1240 1264 +f 1240 1241 1264 +f 1240 1217 1241 +f 1241 1266 1265 +f 1241 1242 1266 +f 1242 1267 1266 +f 1242 1243 1267 +f 1243 1268 1267 +f 1243 1244 1268 +f 1244 1269 1268 +f 1244 1245 1269 +f 1245 1270 1269 +f 1245 1246 1270 +f 1246 1271 1270 +f 1246 1247 1271 +f 1247 1272 1271 +f 1247 1248 1272 +f 1248 1273 1272 +f 1248 1249 1273 +f 1249 1274 1273 +f 1249 1250 1274 +f 1250 1275 1274 +f 1250 1251 1275 +f 1251 1276 1275 +f 1251 1252 1276 +f 1252 1277 1276 +f 1252 1253 1277 +f 1253 1278 1277 +f 1253 1254 1278 +f 1254 1279 1278 +f 1254 1255 1279 +f 1255 1280 1279 +f 1255 1256 1280 +f 1256 1281 1280 +f 1256 1257 1281 +f 1257 1282 1281 +f 1257 1258 1282 +f 1258 1283 1282 +f 1258 1259 1283 +f 1259 1284 1283 +f 1259 1260 1284 +f 1260 1285 1284 +f 1260 1261 1285 +f 1261 1286 1285 +f 1261 1262 1286 +f 1262 1287 1286 +f 1262 1263 1287 +f 1263 1288 1287 +f 1263 1264 1288 +f 1264 1265 1288 +f 1264 1241 1265 +f 1291 1292 1297 +f 1297 1296 1291 +f 1292 1293 1298 +f 1298 1297 1292 +f 1299 1298 1293 +f 1294 1295 1300 +f 1300 1299 1294 +f 1302 1301 1296 +f 1303 1302 1297 +f 1304 1303 1298 +f 1299 1300 1305 +f 1305 1304 1299 +f 1301 1302 1307 +f 1307 1306 1301 +f 1308 1309 1389 +f 1304 1305 1310 +f 1309 1310 1390 +f 1311 1449 1289 +f 1289 1290 1312 +f 1312 1311 1289 +f 1313 1312 1510 +f 1499 1500 1314 +f 1314 1501 1502 +f 1317 1316 1311 +f 1318 1317 1312 +f 1503 1318 1505 +f 1315 1316 1321 +f 1321 1320 1315 +f 1316 1317 1322 +f 1322 1321 1316 +f 1317 1318 1323 +f 1323 1322 1317 +f 1318 1319 1324 +f 1324 1323 1318 +f 1320 1321 1332 +f 1332 1331 1320 +f 1323 1324 1335 +f 1335 1334 1323 +f 1331 1332 1292 +f 1292 1291 1331 +f 1332 1333 1293 +f 1293 1292 1332 +f 1333 1334 1294 +f 1294 1293 1333 +f 1334 1335 1295 +f 1295 1294 1334 +f 1358 1359 1365 +f 1365 1362 1358 +f 1359 1360 1366 +f 1366 1365 1359 +f 1367 1366 1360 +f 1362 1365 1368 +f 1368 1363 1362 +f 1365 1366 1369 +f 1369 1368 1365 +f 1370 1369 1366 +f 1373 1372 1369 +f 1324 1325 1336 +f 1336 1335 1324 +f 1325 1326 1337 +f 1337 1336 1325 +f 1335 1336 1300 +f 1300 1295 1335 +f 1336 1337 1305 +f 1305 1300 1336 +f 1337 1338 1310 +f 1310 1305 1337 +f 1345 1344 1352 +f 1352 1349 1345 +f 1344 1342 1353 +f 1353 1352 1344 +f 1342 1343 1346 +f 1346 1353 1342 +f 1352 1353 1355 +f 1355 1354 1352 +f 1353 1346 1347 +f 1347 1355 1353 +f 1350 1354 1356 +f 1356 1351 1350 +f 1330 1320 1331 +f 1331 1341 1330 +f 1339 1340 1301 +f 1301 1306 1339 +f 1296 1301 1340 +f 1341 1331 1291 +f 1291 1296 1341 +f 1463 1464 1346 +f 1466 1467 1343 +f 1457 1315 1456 +f 1346 1464 1461 +f 1315 1320 1348 +f 1348 1347 1315 +f 1329 1328 1351 +f 1351 1356 1329 +f 1330 1329 1356 +f 1356 1357 1330 +f 1320 1330 1357 +f 1357 1348 1320 +f 1519 1359 1518 +f 1358 1520 1518 +f 1496 1497 1358 +f 1358 1362 1314 +f 1319 1314 1362 +f 1362 1363 1319 +f 1324 1319 1363 +f 1363 1364 1324 +f 1325 1324 1364 +f 1364 1371 1325 +f 1326 1325 1371 +f 1371 1372 1326 +f 1327 1326 1372 +f 1372 1373 1327 +f 1378 1377 1383 +f 1382 1383 1377 +f 1379 1378 1384 +f 1383 1384 1378 +f 1384 1385 1379 +f 1381 1380 1386 +f 1385 1386 1380 +f 1387 1388 1382 +f 1388 1389 1383 +f 1389 1390 1384 +f 1386 1385 1391 +f 1390 1391 1385 +f 1388 1387 1307 +f 1306 1307 1387 +f 1391 1390 1310 +f 1375 1536 1537 +f 1538 1392 1537 +f 1376 1375 1393 +f 1392 1393 1375 +f 1394 1596 1393 +f 1586 1395 1585 +f 1588 1395 1587 +f 1397 1398 1392 +f 1398 1399 1393 +f 1590 1400 1395 +f 1397 1396 1402 +f 1401 1402 1396 +f 1398 1397 1403 +f 1402 1403 1397 +f 1399 1398 1404 +f 1403 1404 1398 +f 1400 1399 1405 +f 1404 1405 1399 +f 1402 1401 1411 +f 1410 1411 1401 +f 1405 1404 1414 +f 1413 1414 1404 +f 1411 1410 1378 +f 1377 1378 1410 +f 1412 1411 1379 +f 1378 1379 1411 +f 1413 1412 1380 +f 1379 1380 1412 +f 1414 1413 1381 +f 1380 1381 1413 +f 1432 1431 1437 +f 1434 1437 1431 +f 1433 1432 1438 +f 1437 1438 1432 +f 1438 1367 1433 +f 1437 1434 1439 +f 1435 1439 1434 +f 1438 1437 1440 +f 1439 1440 1437 +f 1440 1370 1438 +f 1442 1373 1440 +f 1406 1405 1415 +f 1414 1415 1405 +f 1407 1406 1416 +f 1415 1416 1406 +f 1415 1414 1386 +f 1381 1386 1414 +f 1416 1415 1391 +f 1386 1391 1415 +f 1338 1416 1310 +f 1391 1310 1416 +f 1421 1345 1425 +f 1349 1425 1345 +f 1419 1421 1426 +f 1425 1426 1421 +f 1420 1419 1422 +f 1426 1422 1419 +f 1426 1425 1428 +f 1427 1428 1425 +f 1422 1426 1423 +f 1428 1423 1426 +f 1427 1350 1429 +f 1351 1429 1350 +f 1401 1409 1410 +f 1418 1410 1409 +f 1417 1339 1387 +f 1306 1387 1339 +f 1387 1382 1417 +f 1410 1418 1377 +f 1382 1377 1418 +f 1551 1422 1550 +f 1554 1420 1553 +f 1544 1396 1543 +f 1548 1422 1423 +f 1401 1396 1424 +f 1423 1424 1396 +f 1328 1408 1351 +f 1429 1351 1408 +f 1408 1409 1429 +f 1430 1429 1409 +f 1409 1401 1430 +f 1424 1430 1401 +f 1606 1432 1605 +f 1431 1432 1606 +f 1582 1583 1431 +f 1434 1431 1395 +f 1395 1400 1434 +f 1435 1434 1400 +f 1400 1405 1435 +f 1436 1435 1405 +f 1405 1406 1436 +f 1441 1436 1406 +f 1406 1407 1441 +f 1442 1441 1407 +f 1407 1327 1442 +f 1373 1442 1327 +f 1449 1311 1451 +f 1311 1452 1451 +f 1311 1453 1452 +f 1311 1455 1453 +f 1315 1457 1454 +f 1315 1458 1456 +f 1458 1347 1459 +f 1347 1460 1459 +f 1347 1462 1460 +f 1346 1465 1463 +f 1346 1467 1465 +f 1343 1468 1466 +f 1343 1470 1468 +f 1473 1289 1450 +f 1474 1450 1476 +f 1444 1474 1476 +f 1477 1449 1451 +f 1477 1450 1449 +f 1452 1478 1477 +f 1452 1479 1478 +f 1468 1470 1469 +f 1488 1472 1447 +f 1447 1446 1488 +f 1463 1486 1485 +f 1488 1487 1468 +f 1458 1483 1482 +f 1482 1481 1458 +f 1459 1460 1483 +f 1461 1462 1347 +f 1471 1472 1488 +f 1358 1314 1496 +f 1314 1500 1498 +f 1314 1502 1499 +f 1314 1504 1501 +f 1512 1313 1511 +f 1318 1506 1505 +f 1509 1313 1512 +f 1318 1507 1506 +f 1318 1508 1507 +f 1290 1513 1510 +f 1290 1514 1513 +f 1290 1515 1514 +f 1290 1517 1515 +f 1520 1358 1497 +f 1495 1490 1522 +f 1510 1533 1532 +f 1532 1511 1510 +f 1513 1534 1533 +f 1514 1535 1534 +f 1512 1511 1531 +f 1505 1529 1528 +f 1528 1527 1505 +f 1506 1530 1529 +f 1531 1508 1509 +f 1491 1519 1523 +f 1496 1498 1524 +f 1524 1497 1496 +f 1510 1511 1313 +f 1480 1455 1454 +f 1487 1467 1466 +f 1485 1464 1463 +f 1515 1517 1516 +f 1501 1504 1526 +f 1507 1508 1530 +f 1518 1520 1519 +f 1481 1457 1456 +f 1504 1314 1503 +f 1309 1308 1303 +f 1524 1525 1523 +f 1486 1475 1484 +f 1375 1562 1536 +f 1539 1392 1538 +f 1540 1392 1539 +f 1541 1392 1540 +f 1543 1396 1542 +f 1545 1396 1544 +f 1423 1396 1545 +f 1547 1423 1546 +f 1549 1422 1548 +f 1550 1422 1549 +f 1552 1422 1551 +f 1553 1422 1552 +f 1555 1420 1554 +f 1556 1420 1555 +f 1540 1539 1571 +f 1546 1545 1575 +f 1552 1551 1578 +f 1536 1562 1561 +f 1537 1536 1569 +f 1538 1537 1569 +f 1539 1538 1570 +f 1541 1571 1572 +f 1556 1555 1557 +f 1559 1558 1580 +f 1566 1565 1581 +f 1560 1559 1580 +f 1565 1560 1580 +f 1551 1550 1577 +f 1553 1578 1579 +f 1555 1579 1580 +f 1543 1572 1573 +f 1545 1573 1574 +f 1547 1575 1576 +f 1548 1547 1576 +f 1549 1548 1576 +f 1396 1397 1541 +f 1499 1502 1526 +f 1500 1525 1524 +f 1316 1315 1455 +f 1484 1462 1461 +f 1522 1494 1495 +f 1533 1522 1531 +f 1489 1491 1523 +f 1479 1480 1478 +f 1488 1475 1487 +f 1564 1581 1568 +f 1578 1576 1581 +f 1431 1609 1582 +f 1395 1431 1583 +f 1584 1395 1583 +f 1585 1395 1584 +f 1587 1395 1586 +f 1589 1395 1588 +f 1399 1400 1590 +f 1591 1399 1590 +f 1592 1399 1591 +f 1593 1399 1592 +f 1594 1399 1593 +f 1595 1399 1594 +f 1394 1399 1595 +f 1596 1394 1598 +f 1599 1376 1597 +f 1598 1394 1595 +f 1600 1376 1599 +f 1601 1376 1600 +f 1602 1376 1601 +f 1609 1431 1606 +f 1617 1583 1616 +f 1618 1586 1617 +f 1621 1591 1620 +f 1623 1593 1622 +f 1625 1597 1624 +f 1627 1600 1626 +f 1604 1603 1627 +f 1627 1626 1604 +f 1613 1612 1628 +f 1610 1614 1628 +f 1623 1619 1628 +f 1614 1613 1628 +f 1623 1624 1596 +f 1599 1597 1625 +f 1625 1600 1599 +f 1601 1600 1627 +f 1627 1603 1601 +f 1586 1585 1617 +f 1587 1586 1618 +f 1588 1587 1618 +f 1618 1589 1588 +f 1623 1598 1595 +f 1596 1598 1623 +f 1590 1589 1619 +f 1619 1620 1590 +f 1592 1591 1621 +f 1621 1622 1592 +f 1594 1593 1623 +f 1595 1594 1623 +f 1615 1605 1607 +f 1605 1609 1606 +f 1607 1611 1615 +f 1608 1607 1605 +f 1582 1609 1615 +f 1615 1616 1582 +f 1584 1583 1617 +f 1585 1584 1617 +f 1293 1294 1299 +f 1296 1297 1302 +f 1297 1298 1303 +f 1298 1299 1304 +f 1390 1389 1309 +f 1310 1309 1304 +f 1450 1289 1449 +f 1311 1312 1317 +f 1312 1313 1318 +f 1319 1503 1314 +f 1319 1318 1503 +f 1360 1361 1367 +f 1366 1367 1370 +f 1369 1370 1373 +f 1340 1341 1296 +f 1346 1343 1467 +f 1347 1346 1461 +f 1518 1359 1358 +f 1380 1379 1385 +f 1383 1382 1388 +f 1384 1383 1389 +f 1385 1384 1390 +f 1537 1392 1375 +f 1597 1376 1596 +f 1376 1393 1596 +f 1393 1392 1398 +f 1394 1393 1399 +f 1395 1589 1590 +f 1361 1433 1367 +f 1367 1438 1370 +f 1370 1440 1373 +f 1418 1417 1382 +f 1422 1553 1420 +f 1423 1547 1548 +f 1315 1347 1458 +f 1473 1450 1474 +f 1450 1477 1476 +f 1451 1452 1477 +f 1452 1453 1479 +f 1468 1469 1488 +f 1463 1465 1486 +f 1466 1468 1487 +f 1458 1459 1483 +f 1456 1458 1481 +f 1460 1462 1483 +f 1484 1483 1462 +f 1469 1471 1488 +f 1496 1314 1498 +f 1318 1313 1509 +f 1318 1509 1508 +f 1290 1510 1312 +f 1510 1513 1533 +f 1511 1532 1531 +f 1513 1514 1534 +f 1514 1515 1535 +f 1509 1512 1531 +f 1505 1506 1529 +f 1503 1505 1527 +f 1506 1507 1530 +f 1508 1531 1530 +f 1491 1521 1519 +f 1497 1524 1523 +f 1453 1480 1479 +f 1453 1455 1480 +f 1465 1487 1486 +f 1465 1467 1487 +f 1461 1464 1484 +f 1464 1485 1484 +f 1535 1516 1493 +f 1515 1516 1535 +f 1527 1504 1503 +f 1527 1526 1504 +f 1523 1520 1497 +f 1523 1519 1520 +f 1481 1480 1457 +f 1454 1457 1480 +f 1303 1304 1309 +f 1490 1489 1522 +f 1489 1523 1522 +f 1525 1527 1523 +f 1526 1527 1525 +f 1530 1531 1529 +f 1528 1529 1527 +f 1522 1527 1531 +f 1527 1522 1523 +f 1529 1531 1527 +f 1485 1486 1484 +f 1546 1423 1545 +f 1571 1539 1570 +f 1575 1545 1574 +f 1578 1551 1577 +f 1568 1561 1563 +f 1536 1561 1568 +f 1568 1569 1536 +f 1569 1570 1538 +f 1542 1541 1572 +f 1571 1541 1540 +f 1557 1555 1580 +f 1558 1557 1580 +f 1580 1581 1565 +f 1581 1580 1579 +f 1576 1550 1549 +f 1576 1577 1550 +f 1554 1553 1579 +f 1578 1553 1552 +f 1579 1555 1554 +f 1544 1543 1573 +f 1572 1543 1542 +f 1573 1545 1544 +f 1575 1547 1546 +f 1542 1396 1541 +f 1392 1541 1397 +f 1499 1526 1525 +f 1526 1502 1501 +f 1498 1500 1524 +f 1525 1500 1499 +f 1455 1311 1316 +f 1454 1455 1315 +f 1492 1494 1522 +f 1532 1533 1531 +f 1535 1492 1534 +f 1493 1492 1535 +f 1534 1522 1533 +f 1522 1534 1492 +f 1483 1484 1482 +f 1481 1482 1480 +f 1482 1484 1480 +f 1477 1478 1476 +f 1445 1448 1475 +f 1444 1476 1475 +f 1480 1475 1476 +f 1448 1444 1475 +f 1475 1480 1484 +f 1478 1480 1476 +f 1487 1475 1486 +f 1446 1445 1488 +f 1475 1488 1445 +f 1563 1564 1568 +f 1581 1567 1566 +f 1564 1567 1581 +f 1571 1570 1572 +f 1569 1568 1570 +f 1570 1568 1572 +f 1579 1578 1581 +f 1577 1576 1578 +f 1575 1574 1576 +f 1573 1572 1574 +f 1576 1572 1581 +f 1574 1572 1576 +f 1568 1581 1572 +f 1612 1604 1628 +f 1628 1604 1626 +f 1611 1610 1615 +f 1616 1615 1617 +f 1618 1617 1619 +f 1620 1619 1621 +f 1622 1621 1623 +f 1624 1623 1625 +f 1626 1625 1628 +f 1610 1628 1615 +f 1617 1615 1619 +f 1621 1619 1623 +f 1625 1623 1628 +f 1615 1628 1619 +f 1597 1596 1624 +f 1600 1625 1626 +f 1602 1601 1603 +f 1589 1618 1619 +f 1591 1590 1620 +f 1593 1592 1622 +f 1609 1605 1615 +f 1583 1582 1616 +f 1632 1638 1636 +f 1629 1630 1633 +f 1632 1631 1637 +f 1635 1630 1634 +f 1639 1683 1641 +f 1642 1640 1639 +f 1692 1693 1642 +f 1674 1641 1684 +f 1645 1642 1641 +f 1642 1645 1646 +f 1689 1646 1688 +f 1688 1647 1690 +f 1686 1647 1685 +f 1649 1644 1643 +f 1650 1645 1644 +f 1651 1646 1645 +f 1646 1651 1652 +f 1652 1647 1646 +f 1680 1654 1679 +f 1653 1681 1679 +f 1643 1675 1676 +f 1655 1643 1676 +f 1648 1643 1655 +f 1655 1656 1648 +f 1687 1658 1695 +f 1658 1657 1694 +f 1647 1652 1659 +f 1659 1658 1647 +f 1660 1662 1702 +f 1661 1663 1660 +f 1708 1709 1661 +f 1665 1664 1703 +f 1663 1666 1662 +f 1666 1663 1667 +f 1710 1663 1709 +f 1717 1668 1667 +f 1715 1668 1714 +f 1665 1649 1664 +f 1666 1650 1665 +f 1667 1651 1666 +f 1651 1667 1652 +f 1668 1652 1667 +f 1697 1670 1696 +f 1698 1669 1697 +f 1699 1669 1698 +f 1699 1700 1671 +f 1664 1648 1671 +f 1656 1671 1648 +f 1712 1713 1673 +f 1652 1668 1659 +f 1673 1659 1668 +f 1644 1674 1643 +f 1643 1678 1675 +f 1653 1655 1677 +f 1681 1653 1682 +f 1685 1647 1687 +f 1642 1646 1689 +f 1690 1647 1691 +f 1692 1642 1689 +f 1707 1664 1706 +f 1705 1664 1700 +f 1701 1662 1703 +f 1664 1707 1704 +f 1667 1663 1710 +f 1716 1667 1710 +f 1711 1672 1673 +f 1712 1668 1715 +f 1668 1717 1718 +f 1714 1668 1718 +f 1684 1641 1683 +f 1639 1641 1642 +f 1640 1642 1693 +f 1644 1641 1674 +f 1641 1644 1645 +f 1688 1646 1647 +f 1643 1648 1649 +f 1644 1649 1650 +f 1645 1650 1651 +f 1679 1654 1653 +f 1676 1677 1655 +f 1701 1702 1662 +f 1662 1660 1663 +f 1663 1661 1709 +f 1664 1704 1703 +f 1665 1662 1666 +f 1667 1716 1717 +f 1648 1664 1649 +f 1649 1665 1650 +f 1650 1666 1651 +f 1669 1670 1697 +f 1671 1669 1699 +f 1678 1643 1674 +f 1682 1653 1677 +f 1686 1691 1647 +f 1706 1664 1705 +f 1664 1671 1700 +f 1665 1703 1662 +f 1719 1721 1722 +f 1722 1720 1719 +f 1723 1719 1724 +f 1720 1724 1719 +f 1727 1725 1729 +f 1726 1729 1725 +f 1728 1727 1730 +f 1729 1730 1727 +f 1731 1733 1735 +f 1735 1732 1731 +f 1733 1734 1736 +f 1736 1735 1733 +f 1739 1740 1742 +f 1742 1741 1739 +f 1740 1737 1738 +f 1738 1742 1740 +f 1746 1745 1748 +f 1747 1748 1745 +f 1743 1746 1744 +f 1748 1744 1746 +f 1749 1750 1752 +f 1752 1751 1749 +f 1750 1753 1752 +f 1754 1752 1753 +f 1755 1756 1759 +f 1759 1758 1755 +f 1756 1757 1760 +f 1760 1759 1756 +f 1761 1755 1763 +f 1758 1763 1755 +f 1762 1761 1764 +f 1763 1764 1761 +f 1765 1766 1769 +f 1769 1768 1765 +f 1766 1767 1770 +f 1770 1769 1766 +f 1772 1771 1775 +f 1774 1775 1771 +f 1773 1772 1776 +f 1775 1776 1772 +f 1777 1778 1780 +f 1780 1779 1777 +f 1782 1781 1780 +f 1779 1780 1781 diff --git a/tutorials/mesh/cvMesh/car/system/controlDict b/tutorials/mesh/cvMesh/car/system/controlDict new file mode 100644 index 0000000000..80a07099d6 --- /dev/null +++ b/tutorials/mesh/cvMesh/car/system/controlDict @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object controlDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 1; //80; + +deltaT 1; + +writeControl timeStep; + +writeInterval 1000; //10 to see the meshing steps + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 10; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + + +// ************************************************************************* // diff --git a/tutorials/mesh/cvMesh/car/system/cvMeshDict b/tutorials/mesh/cvMesh/car/system/cvMeshDict new file mode 100644 index 0000000000..97f14403bc --- /dev/null +++ b/tutorials/mesh/cvMesh/car/system/cvMeshDict @@ -0,0 +1,477 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object cvMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +/* + +Control dictionary for cvMesh - polyhedral mesh generator. + +cvMesh phases: +1. fill volume with initial points (initialPoints subdictionary). An option + is to reread from previous set of points. + +2. internal point motion (motionControl subdictionary) + +3. every once in a while add point duplets/triplets to conform to + surfaces and features (surfaceConformation subdictionary) + +4. back to 2 + +5. construct polyMesh. + - filter (polyMeshFiltering subdictionary) + - check (meshQualityControls subdictionary) and undo filtering + + +See also cvControls.H in the conformalVoronoiMesh library + +*/ + + +// Important: +// ---------- +// Any scalar with a name Coeff specifies a value that will be implemented +// as a faction of the local target cell size +// Any scalar with a name Size specifies an absolute size. + + +// Geometry. Definition of all surfaces. All surfaces are of class +// searchableSurface. +// Surfaces need to be (almost) closed - use closedTriSurfaceMesh +// if they are not topologically closed. Surfaces need to be oriented so +// the space to be meshed is always on the inside of all surfaces. Use e.g. +// surfaceOrient. +geometry +{ + // Internal shape + m_car01_orient.obj + { + //name m_car01; + type triSurfaceMesh; + } + + m_car01 + { + type searchableSurfaceWithGaps; + surface m_car01_orient.obj; + gap 1e-2; + } + + // Outside of domain + domain_orient.stl + { + name domain; + type triSurfaceMesh; + } + +} + + +// Controls for conforming to the surfaces. +surfaceConformation +{ + // A point inside surfaces that is inside mesh. + locationInMesh (13 -200 149); + + // How far apart are point-duplets generated. Balance this between + // - very low distance: little chance of interference from other + // surfaces + // - largish distance: less non-orthogonality in final cell + // (circumcentre far away from centroid) + pointPairDistanceCoeff 0.1; + + // Mixed feature edges - both inside and outside edges. Recreated + // by inserting triplets of points to recreate a single edge. Done for + // all edges emanating from point. triplets of points get inserted + // mixedFeaturePointPPDistanceCoeff distance away from feature point. + mixedFeaturePointPPDistanceCoeff 5.0; + + // Distance to a feature point within which surface and edge + // conformation points are excluded - fraction of the local target + // cell size + featurePointExclusionDistanceCoeff 0.4; + + // Distance to an existing feature edge conformation location + // within which other edge conformation location are excluded - + // fraction of the local target cell size + featureEdgeExclusionDistanceCoeff 0.2; + + // Optimisation: do not check for surface intersection (of dual edges) + // for points near to surface. + surfaceSearchDistanceCoeff 2.5; + + // Maximum allowable protrusion through the surface before + // conformation points are added - fraction of the local target + // cell size. These small protusions are (hopefully) done by mesh filtering + // instead. + maxSurfaceProtrusionCoeff 0.1; + + // If feature edge with large angle (so more than 125 degrees) introduce + // additional points to create two half angled cells (= mitering). + maxQuadAngle 125; + + // Frequency to redo surface conformation (expensive). + surfaceConformationRebuildFrequency 10; + + // Initial and intermediate controls + coarseConformationControls + { + // Initial conformation + initial + { + // We've got a point poking through the surface. Don't do any + // surface conformation if near feature edge (since feature edge + // conformation should have priority) + + // distance to search for near feature edges + edgeSearchDistCoeff 1.1; + + // Proximity to a feature edge where a surface hit is + // not created, only the edge conformation is created + // - fraction of the local target cell size. Coarse + // conformation, initial protrusion tests. + surfacePtReplaceDistCoeff 0.5; + } + + // Same for iterations + iteration + { + edgeSearchDistCoeff 1.25; + surfacePtReplaceDistCoeff 0.7; + } + + // Stop either at maxIterations or if the number of surface pokes + // is very small (iterationToInitialHitRatioLimit * initial number) + // Note: perhaps iterationToInitialHitRatioLimit should be absolute + // count? + maxIterations 15; + + iterationToInitialHitRatioLimit 0.001; + } + + // Final (at endTime) controls + fineConformationControls + { + initial + { + edgeSearchDistCoeff 1.1; + surfacePtReplaceDistCoeff 0.5; + } + + iteration + { + edgeSearchDistCoeff 1.25; + surfacePtReplaceDistCoeff 0.7; + } + + maxIterations 15; + + iterationToInitialHitRatioLimit 0.001; + } + + // Geometry to mesh to + geometryToConformTo + { + m_car01 + { + featureMethod extendedFeatureEdgeMesh; + extendedFeatureEdgeMesh "m_car01_orient.extendedFeatureEdgeMesh"; + } + + domain + { + featureMethod extendedFeatureEdgeMesh; + extendedFeatureEdgeMesh "domain_orient.extendedFeatureEdgeMesh"; + } + } + + additionalFeatures {} +} + + +// Controls for seeding initial points and general control of the target +// cell size (used everywhere) +initialPoints +{ + // Do not place point closer than minimumSurfaceDistanceCoeff + // to the surface. Is fraction of local target cell size (see below) + minimumSurfaceDistanceCoeff 0.55; + + initialPointsMethod autoDensity; + // initialPointsMethod uniformGrid; + // initialPointsMethod bodyCentredCubic; + // initialPointsMethod pointFile; + + // Take boundbox of all geometry. Samples with this box. If too much + // samples (due to target cell size) in box split box. + autoDensityCoeffs + { + // Initial number of refinement levels. Needs to be enough to pick + // up features due to size ratio. If not enough it will take longer + // to determine point seeding. + minLevels 4; + // Split box if ratio of min to max cell size larger than maxSizeRatio + maxSizeRatio 5.0; + // Per box sample 3x3x3 internally + sampleResolution 3; + // Additionally per face of the box sample 3 + surfaceSampleResolution 3; + } + + uniformGridCoeffs + { + // Absolute cell size. + initialCellSize 0.0015; + randomiseInitialGrid yes; + randomPerturbationCoeff 0.02; + } + + bodyCentredCubicCoeffs + { + initialCellSize 0.0015; + randomiseInitialGrid no; + randomPerturbationCoeff 0.1; + } + + pointFileCoeffs + { + // Reads points from file. Still rejects points that are too + // close to the surface (minimumSurfaceDistanceCoeff) or on the + // wrong side of the surfaces. + pointFile "constant/internalDelaunayVertices"; + } +} + + +// Control size of voronoi cells i.e. distance between points. This +// determines the target cell size which is used everywhere. +// It determines the cell size given a location. It then uses all +// the rules +// - defaultCellSize +// - cellSizeControlGeometry +// to determine target cell size. Rule with highest priority wins. If same +// priority smallest cell size wins. +motionControl +{ + // Absolute cell size of back ground mesh. This is the maximum cell size. + defaultCellSize 10; + + // Assign a priority to all requests for cell sizes, the highest overrules. + defaultPriority 0; + + cellSizeControlGeometry + { + nearCar + { + // optional name of geometry + surface m_car01; + priority 1; + mode bothSides; + cellSizeFunction linearDistance; + + // cellSizeFunctions: + // uniform : uniform size + // uniformDistance : fixed size for all within distance + // linearSpatial : grading in specified direction only + // linearDistance : vary linearly as distance to surface + // surfaceOffsetLinearDistance : constant close to surface then + // fade like linearDistance + + // Vary from surfaceCellSize (close to the surface) to + // distanceCellSize (further than 'distance') + linearDistanceCoeffs + { + surfaceCellSize 1; // absolute size + distanceCellSize $defaultCellSize; + distance 10.0; + } + } + + } + + // Underrelaxation for point motion. Simulated annealing: starts off at 1 + // and lowers to 0 (at simulation endTime) to converge points. + // adaptiveLinear is preferred choice. + // Points move by e.g. 10% of tet size. + relaxationModel adaptiveLinear; //rampHoldFall + + adaptiveLinearCoeffs + { + relaxationStart 1.0; + relaxationEnd 0.0; + } + + // Output lots and lots of .obj files + objOutput no; + + // Timing and memory usage. + timeChecks yes; + + // Number of rays in plane parallel to nearest surface. Used to detect + // next closest surfaces. Used to work out alignment (three vectors) + // to surface. + // Note that only the initial points (from the seeding) calculate this + // information so if these are not fine enough the alignment will + // not be correct. (any points added during the running will lookup + // this information from the nearest initial point since it is + // expensive) + alignmentSearchSpokes 36; + + // For each delaunay edge (between two vertices, becomes + // the Voronoi face normal) snap to the alignment direction if within + // alignmentAcceptanceAngle. Slightly > 45 is a good choice - prevents + // flipping. + alignmentAcceptanceAngle 48; + + // How often to rebuild the alignment info (expensive) + sizeAndAlignmentRebuildFrequency 20; + + // When to insert points. Not advisable change to + // these settings. + pointInsertionCriteria + { + // If edge larger than 1.75 target cell size + // (so tets too large/stretched) insert point + cellCentreDistCoeff 1.75; + // Do not insert point if voronoi face (on edge) very small. + faceAreaRatioCoeff 0.0025; + // Insert point only if edge closely aligned to local alignment + // direction. + acceptanceAngle 21.5; + } + + // Opposite: remove point if mesh too compressed. Do not change these + // settings. + pointRemovalCriteria + { + cellCentreDistCoeff 0.65; + } + + // How to determine the point motion. All edges got some direction. + // Sum all edge contributions to determine point motion. Weigh by + // face area so motion is preferentially determined by large faces + // (or more importantly ignore contribution from small faces). + // Do not change these settings. + faceAreaWeightModel piecewiseLinearRamp; + + piecewiseLinearRampCoeffs + { + lowerAreaFraction 0.5; + upperAreaFraction 1.0; + } +} + + +// After simulation, when converting to polyMesh, filter out small faces/edges. +// Do not change. See cvControls.H +polyMeshFiltering +{ + // Upper limit on the size of faces to be filtered. + // fraction of the local target cell size + filterSizeCoeff 0.2; + + // Upper limit on how close two dual vertices can be before + // being merged, fraction of the local target cell size + mergeClosenessCoeff 1e-9; + + // To not filter: set maxNonOrtho to 1 (so check fails) and then + // set continueFilteringOnBadInitialPolyMesh to false. + continueFilteringOnBadInitialPolyMesh false; //true; + + // When a face is "bad", what fraction should the filterSizeCoeff be + // reduced by. Recursive, so for a filterCount value of fC, the + // filterSizeCoeff is reduced by pow(filterErrorReductionCoeff, fC) + filterErrorReductionCoeff 0.5; + + // Maximum number of filterCount applications before a face + // is not attempted to be filtered + filterCountSkipThreshold 4; + + // Maximum number of permissible iterations of the face collapse + // algorithm. The value to choose will be related the maximum number + // of points on a face that is to be collapsed and how many faces + // around it need to be collapsed. + maxCollapseIterations 25; + + // Maximum number of times an to allow an equal faceSet to be + // returned from the face quality assessment before stopping iterations + // to break an infinitie loop. + maxConsecutiveEqualFaceSets 5; + // Remove little steps (almost perp to surface) by collapsing face. + surfaceStepFaceAngle 80; + // Do not collapse face to edge if should become edges + edgeCollapseGuardFraction 0.3; + // Only collapse face to point if high aspect ratio + maxCollapseFaceToPointSideLengthCoeff 0.35; +} + + +// Generic mesh quality settings. At any undoable phase these determine +// where to undo. Same as in snappyHexMeshDict +meshQualityControls +{ + //- Maximum non-orthogonality allowed. Set to 180 to disable. + maxNonOrtho 1; //65; + + //- Max skewness allowed. Set to <0 to disable. + maxBoundarySkewness 50; + maxInternalSkewness 10; + + //- Max concaveness allowed. Is angle (in degrees) below which concavity + // is allowed. 0 is straight face, <0 would be convex face. + // Set to 180 to disable. + maxConcave 80; + + //- Minimum pyramid volume. Is absolute volume of cell pyramid. + // Set to a sensible fraction of the smallest cell volume expected. + // Set to very negative number (e.g. -1E30) to disable. + minVol -1E30; + + //- Minimum quality of the tet formed by the + // variable base point minimum decomposition triangles and + // the cell centre (so not face-centre decomposition). + // This has to be a positive number for tracking + // to work. Set to very negative number (e.g. -1E30) to + // disable. + // <0 = inside out tet, + // 0 = flat tet + // 1 = regular tet + minTetQuality 1e-30; + + //- Minimum absolute face area. Set to <0 to disable. + minArea -1; + + //- Minimum face twist. Set to <-1 to disable. dot product of face normal + //- and face centre triangles normal + minTwist 0.001; + + //- minimum normalised cell determinant + //- 1 = hex, <= 0 = folded or flattened illegal cell + minDeterminant 0.001; + + //- minFaceWeight (0 -> 0.5) + minFaceWeight 0.02; + + //- minVolRatio (0 -> 1) + minVolRatio 0.01; + + //must be >0 for Fluent compatibility + minTriangleTwist -1; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/cvMesh/car/system/fvSchemes b/tutorials/mesh/cvMesh/car/system/fvSchemes new file mode 100644 index 0000000000..c9c1ceda9c --- /dev/null +++ b/tutorials/mesh/cvMesh/car/system/fvSchemes @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +d2dt2Schemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss cubic; +} + +divSchemes +{ + default Gauss cubic; +} + +laplacianSchemes +{ + default Gauss linear uncorrected; +} + +interpolationSchemes +{ + default cubic; +} + +snGradSchemes +{ + default uncorrected; +} + +fluxRequired +{ + default no; + D ; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/cvMesh/car/system/fvSolution b/tutorials/mesh/cvMesh/car/system/fvSolution new file mode 100644 index 0000000000..94abb90461 --- /dev/null +++ b/tutorials/mesh/cvMesh/car/system/fvSolution @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "(D|Dcorr)" + { + solver GAMG; + tolerance 1e-06; + relTol 0.99; + smoother GaussSeidel; + cacheAgglomeration true; + nCellsInCoarsestLevel 6; + agglomerator faceAreaPair; + mergeLevels 1; + } +} + +stressAnalysis +{ + nCorrectors 1; + D 1e-10; + accelerationFactor 2; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/cvMesh/car/system/topoSetDict b/tutorials/mesh/cvMesh/car/system/topoSetDict new file mode 100644 index 0000000000..d896ebdc0c --- /dev/null +++ b/tutorials/mesh/cvMesh/car/system/topoSetDict @@ -0,0 +1,148 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name z; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-100 -100 0)(100 100 100); + } + } + + { + name zf; + type faceSet; + action new; + source cellToFace; + sourceInfo + { + set z; + option all; + } + } + + { + name z; + type cellSet; + action invert; + } + + { + name zf; + type faceSet; + action subset; + source cellToFace; + sourceInfo + { + set z; + option all; + } + } + + // ~~~~~~~~~~~~~~~~ // + + { + name y; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-100 0.1 -100)(100 100 100); + } + } + + { + name yf; + type faceSet; + action new; + source cellToFace; + sourceInfo + { + set y; + option all; + } + } + + { + name y; + type cellSet; + action invert; + } + + { + name yf; + type faceSet; + action subset; + source cellToFace; + sourceInfo + { + set y; + option all; + } + } + + // ~~~~~~~~~~~~~~~~ // + + { + name x; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.3 -100 -100)(100 100 100); + } + } + + { + name xf; + type faceSet; + action new; + source cellToFace; + sourceInfo + { + set x; + option all; + } + } + + { + name x; + type cellSet; + action invert; + } + + { + name xf; + type faceSet; + action subset; + source cellToFace; + sourceInfo + { + set x; + option all; + } + } +); + +// ************************************************************************* //