diff --git a/CMakeLists.txt b/CMakeLists.txt
index ca2d702f8c62ff1595a34db6b71c7663379aff39..26566342a638606d268a975002dcc6af97205367 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -445,12 +445,13 @@ if(ENABLE_OCC)
   list(LENGTH OCC_LIBS_REQUIRED NUM_OCC_LIBS_REQUIRED)
   set(OCC_LIBS)
   foreach(OCC ${OCC_LIBS_REQUIRED})
+    set(OCC_LIB OCC_LIB-NOTFOUND CACHE INTERNAL "")
+    # unset(OCC_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4
     find_library(OCC_LIB ${OCC} PATHS ENV CASROOT PATH_SUFFIXES lib 
                  ${OCC_SYS_NAME}/lib)
     if(OCC_LIB)
       list(APPEND OCC_LIBS ${OCC_LIB})
     endif(OCC_LIB)
-    unset(OCC_LIB CACHE)
   endforeach(OCC)
   list(LENGTH OCC_LIBS NUM_OCC_LIBS)
   if(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED)
@@ -576,6 +577,7 @@ include_directories(Common Fltk Geo Graphics Mesh Numeric Parser Plugin
 # target)
 add_library(lib STATIC EXCLUDE_FROM_ALL ${GMSH_SRC})
 set_target_properties(lib PROPERTIES OUTPUT_NAME Gmsh)
+
 if(HAVE_FLTK)
   add_executable(gmsh WIN32 Fltk/Main.cpp ${GMSH_SRC})
   target_link_libraries(gmsh ${FLTK_LIBRARIES} ${EXTERNAL_LIBRARIES} 
@@ -634,7 +636,7 @@ macro(unix2dos VARNAME)
     if(CYGWIN)
       string(REGEX REPLACE "\n" "\r\n" F1 "${F0}")
       file(WRITE ${CMAKE_BINARY_DIR}/unix2dos/${N} "${F1}")
-    else(CYGWIN) # if not in cygwin, assume cmake does it for us
+    else(CYGWIN) # if not in cygwin, cmake adds '\r's automatically
       file(WRITE ${CMAKE_BINARY_DIR}/unix2dos/${N} "${F0}")
     endif(CYGWIN)
     list(APPEND UNIX2DOS_FILES ${CMAKE_BINARY_DIR}/unix2dos/${N})
@@ -727,12 +729,13 @@ set(CPACK_STRIP_FILES TRUE)
 
 set(CPACK_SOURCE_PACKAGE_FILE_NAME gmsh-${GMSH_VERSION}-source)
 set(CPACK_SOURCE_GENERATOR TGZ)
-set(CPACK_SOURCE_IGNORE_FILES "/CVS/" "/.svn" "~$" "DS_Store$" "GmshConfig.h$" 
-    "GmshVersion.h$" "/benchmarks/" "/tmp/" "/bin/" "/lib/" "/nightly/" 
-    "GPATH" "GRTAGS" "GSYMS" "GTAGS" "/HTML/" "/TetgenNew/") #"/Tetgen.*/.*(cxx|h)")
+set(CPACK_SOURCE_IGNORE_FILES "${CMAKE_BINARY_DIR}" "/CVS/" "/.svn" "~$" 
+    "DS_Store$" "GmshConfig.h$" "GmshVersion.h$" "/benchmarks/" "/tmp/" 
+    "/bin/" "/lib/" "/nightly/" "GPATH" "GRTAGS" "GSYMS" "GTAGS" "/HTML/" 
+    "/TetgenNew/") #"/Tetgen.*/.*(cxx|h)")
 
 # make sure we remove previous installs before doing the next one
-# (make package; make package_source can lead to huge file lists
+# ("make package; make package_source" would lead to huge file lists
 # getting generated due to the Applications symlink in the bundle)
 set(CPACK_INSTALL_COMMANDS 
     "${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/_CPack_Packages")
@@ -740,9 +743,12 @@ set(CPACK_INSTALL_COMMANDS
 if(APPLE)
   set(CPACK_GENERATOR Bundle)
   set(CPACK_BUNDLE_NAME Gmsh)
-  set(CPACK_BUNDLE_PLIST ${CMAKE_SOURCE_DIR}/utils/misc/Info.plist)
+  file(READ ${CMAKE_SOURCE_DIR}/utils/misc/gmsh_app.plist F0)
+  string(REPLACE GMSH_VERSION "${GMSH_VERSION}" F1 "${F0}")
+  file(WRITE ${CMAKE_BINARY_DIR}/Info.plist "${F1}")
+  set(CPACK_BUNDLE_PLIST ${CMAKE_BINARY_DIR}/Info.plist)
   set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/Fltk/MacIcons.icns)
-  set(CPACK_BUNDLE_STARTUP_COMMAND ${CMAKE_SOURCE_DIR}/utils/misc/gmsh_bundle.sh)
+  set(CPACK_BUNDLE_STARTUP_COMMAND ${CMAKE_SOURCE_DIR}/utils/misc/gmsh_app.sh)
   install(FILES ${CMAKE_SOURCE_DIR}/Fltk/MacIconsGeo.icns DESTINATION .
           RENAME GmshGeo.icns)
   install(FILES ${CMAKE_SOURCE_DIR}/Fltk/MacIconsMsh.icns DESTINATION .
diff --git a/benchmarks/2d/slot.geo b/benchmarks/2d/slot.geo
new file mode 100644
index 0000000000000000000000000000000000000000..c090a2fd5d34cef3243e8783854e5ab94a954362
--- /dev/null
+++ b/benchmarks/2d/slot.geo
@@ -0,0 +1,1267 @@
+Point(1) = {0, 0, 0, 9.999999999999999e-05};
+Point(2) = {0.00125, 0.045983013167908, 0, 0.0002};
+Point(3) = {-0.00125, 0.045983013167908, 0, 0.0002};
+Point(4) = {0.00125, 0.046983013167908, 0, 0.0002};
+Point(5) = {-0.00125, 0.046983013167908, 0, 0.0002};
+Point(6) = {0, 0.04894510328018296, 0, 9.999999999999999e-05};
+Point(7) = {0.00231758174131267, 0.04874234115102342, 0, 9.999999999999999e-05};
+Point(8) = {-0.00231758174131267, 0.04874234115102342, 0, 9.999999999999999e-05};
+Point(9) = {0, 0.05873866875312504, 0, 9.999999999999999e-05};
+Point(10) = {0.003167899139931751, 0.05846151349118749, 0, 9.999999999999999e-05};
+Point(11) = {-0.003167899139931751, 0.05846151349118749, 0, 9.999999999999999e-05};
+Point(12) = {0, 0.06191866875312504, 0, 9.999999999999999e-05};
+Point(13) = {0, 0.04576510328018295, 0, 9.999999999999999e-05};
+Point(14) = {0.002521657916981249, 0.0510749425126628, 0, 9.999999999999999e-05};
+Point(15) = {-0.002521657916981249, 0.0510749425126628, 0, 9.999999999999999e-05};
+Point(16) = {0, 0.05081234115102343, 0, 5e-05};
+Point(21) = {0.0006497407651091882, 0.05216457763868269, 0, 5e-05};
+Point(22) = {0.0003497407651091883, 0.05216457763868269, 0, 5e-05};
+Point(23) = {0.0003497407651091883, 0.0524645776386827, 0, 5e-05};
+Point(28) = {4.974076510918829e-05, 0.05216457763868269, 0, 5e-05};
+Point(33) = {0.0003497407651091883, 0.05186457763868269, 0, 5e-05};
+Point(34) = {-2.966847148301008e-05, 0.05219577891971159, 0, 5e-05};
+Point(35) = {-0.0003296684714830101, 0.05219577891971159, 0, 5e-05};
+Point(36) = {-0.0003296684714830101, 0.05249577891971159, 0, 5e-05};
+Point(41) = {-0.0006296684714830101, 0.05219577891971159, 0, 5e-05};
+Point(46) = {-0.0003296684714830101, 0.05189577891971159, 0, 5e-05};
+Point(47) = {0.0006296126735726663, 0.05297353457077709, 0, 5e-05};
+Point(48) = {0.0003296126735726663, 0.05297353457077709, 0, 5e-05};
+Point(49) = {0.0003296126735726663, 0.05327353457077709, 0, 5e-05};
+Point(54) = {2.961267357266633e-05, 0.05297353457077709, 0, 5e-05};
+Point(59) = {0.0003296126735726663, 0.05267353457077709, 0, 5e-05};
+Point(60) = {-2.099463986337402e-05, 0.05296941888068215, 0, 5e-05};
+Point(61) = {-0.000320994639863374, 0.05296941888068215, 0, 5e-05};
+Point(62) = {-0.000320994639863374, 0.05326941888068215, 0, 5e-05};
+Point(67) = {-0.000620994639863374, 0.05296941888068215, 0, 5e-05};
+Point(72) = {-0.000320994639863374, 0.05266941888068215, 0, 5e-05};
+Point(73) = {0.0006630718993601956, 0.05368504433453456, 0, 5e-05};
+Point(74) = {0.0003630718993601957, 0.05368504433453456, 0, 5e-05};
+Point(75) = {0.0003630718993601957, 0.05398504433453456, 0, 5e-05};
+Point(80) = {6.307189936019568e-05, 0.05368504433453456, 0, 5e-05};
+Point(85) = {0.0003630718993601957, 0.05338504433453456, 0, 5e-05};
+Point(86) = {-5.667421730138554e-05, 0.05367774138150769, 0, 5e-05};
+Point(87) = {-0.0003566742173013855, 0.05367774138150769, 0, 5e-05};
+Point(88) = {-0.0003566742173013855, 0.0539777413815077, 0, 5e-05};
+Point(93) = {-0.0006566742173013855, 0.05367774138150769, 0, 5e-05};
+Point(98) = {-0.0003566742173013855, 0.05337774138150769, 0, 5e-05};
+Point(99) = {0.0006240889992962307, 0.05445304261571076, 0, 5e-05};
+Point(100) = {0.0003240889992962307, 0.05445304261571076, 0, 5e-05};
+Point(101) = {0.0003240889992962307, 0.05475304261571076, 0, 5e-05};
+Point(106) = {2.408899929623074e-05, 0.05445304261571076, 0, 5e-05};
+Point(111) = {0.0003240889992962307, 0.05415304261571076, 0, 5e-05};
+Point(112) = {-7.436360003222414e-05, 0.05443456082801219, 0, 5e-05};
+Point(113) = {-0.0003743636000322241, 0.05443456082801219, 0, 5e-05};
+Point(114) = {-0.0003743636000322241, 0.0547345608280122, 0, 5e-05};
+Point(119) = {-0.0006743636000322241, 0.05443456082801219, 0, 5e-05};
+Point(124) = {-0.0003743636000322241, 0.05413456082801219, 0, 5e-05};
+Point(125) = {0.0006356389201697375, 0.05522744276699862, 0, 5e-05};
+Point(126) = {0.0003356389201697376, 0.05522744276699862, 0, 5e-05};
+Point(127) = {0.0003356389201697376, 0.05552744276699862, 0, 5e-05};
+Point(132) = {3.563892016973761e-05, 0.05522744276699862, 0, 5e-05};
+Point(137) = {0.0003356389201697376, 0.05492744276699862, 0, 5e-05};
+Point(138) = {-6.903775604920819e-05, 0.05519523604982682, 0, 5e-05};
+Point(139) = {-0.0003690377560492082, 0.05519523604982682, 0, 5e-05};
+Point(140) = {-0.0003690377560492082, 0.05549523604982682, 0, 5e-05};
+Point(145) = {-0.0006690377560492082, 0.05519523604982682, 0, 5e-05};
+Point(150) = {-0.0003690377560492082, 0.05489523604982682, 0, 5e-05};
+Point(151) = {0.0006504013508612529, 0.0559176585573706, 0, 5e-05};
+Point(152) = {0.0003504013508612529, 0.0559176585573706, 0, 5e-05};
+Point(153) = {0.0003504013508612529, 0.0562176585573706, 0, 5e-05};
+Point(158) = {5.040135086125291e-05, 0.0559176585573706, 0, 5e-05};
+Point(163) = {0.0003504013508612529, 0.05561765855737059, 0, 5e-05};
+Point(164) = {-5.446878149906116e-05, 0.0559442919694247, 0, 5e-05};
+Point(165) = {-0.0003544687814990611, 0.0559442919694247, 0, 5e-05};
+Point(166) = {-0.0003544687814990611, 0.0562442919694247, 0, 5e-05};
+Point(171) = {-0.0006544687814990611, 0.0559442919694247, 0, 5e-05};
+Point(176) = {-0.0003544687814990611, 0.0556442919694247, 0, 5e-05};
+Point(177) = {0.0006766738961534219, 0.05669599446422838, 0, 5e-05};
+Point(178) = {0.000376673896153422, 0.05669599446422838, 0, 5e-05};
+Point(179) = {0.000376673896153422, 0.05699599446422838, 0, 5e-05};
+Point(184) = {7.667389615342201e-05, 0.05669599446422838, 0, 5e-05};
+Point(189) = {0.000376673896153422, 0.05639599446422838, 0, 5e-05};
+Point(190) = {-4.77380284802001e-05, 0.05666458448442749, 0, 5e-05};
+Point(191) = {-0.0003477380284802001, 0.05666458448442749, 0, 5e-05};
+Point(192) = {-0.0003477380284802001, 0.0569645844844275, 0, 5e-05};
+Point(197) = {-0.0006477380284802001, 0.05666458448442749, 0, 5e-05};
+Point(202) = {-0.0003477380284802001, 0.05636458448442749, 0, 5e-05};
+Point(203) = {0.0006617136177061887, 0.05747424463591641, 0, 5e-05};
+Point(204) = {0.0003617136177061887, 0.05747424463591641, 0, 5e-05};
+Point(205) = {0.0003617136177061887, 0.05777424463591641, 0, 5e-05};
+Point(210) = {6.171361770618874e-05, 0.05747424463591641, 0, 5e-05};
+Point(215) = {0.0003617136177061887, 0.05717424463591641, 0, 5e-05};
+Point(216) = {-2.824647713894793e-05, 0.05742145524389549, 0, 5e-05};
+Point(217) = {-0.0003282464771389479, 0.05742145524389549, 0, 5e-05};
+Point(218) = {-0.0003282464771389479, 0.05772145524389549, 0, 5e-05};
+Point(223) = {-0.0006282464771389479, 0.05742145524389549, 0, 5e-05};
+Point(228) = {-0.0003282464771389479, 0.05712145524389549, 0, 5e-05};
+Point(229) = {0.0006431971206443603, 0.05816578698822938, 0, 5e-05};
+Point(230) = {0.0003431971206443603, 0.05816578698822938, 0, 5e-05};
+Point(231) = {0.0003431971206443603, 0.05846578698822938, 0, 5e-05};
+Point(236) = {4.319712064436036e-05, 0.05816578698822938, 0, 5e-05};
+Point(241) = {0.0003431971206443603, 0.05786578698822938, 0, 5e-05};
+Point(242) = {-3.009873631007443e-05, 0.0582351051053, 0, 5e-05};
+Point(243) = {-0.0003300987363100744, 0.0582351051053, 0, 5e-05};
+Point(244) = {-0.0003300987363100744, 0.0585351051053, 0, 5e-05};
+Point(249) = {-0.0006300987363100744, 0.0582351051053, 0, 5e-05};
+Point(254) = {-0.0003300987363100744, 0.0579351051053, 0, 5e-05};
+Point(255) = {0.0006737736211135162, 0.05891484121960718, 0, 5e-05};
+Point(256) = {0.0003737736211135162, 0.05891484121960718, 0, 5e-05};
+Point(257) = {0.0003737736211135162, 0.05921484121960718, 0, 5e-05};
+Point(262) = {7.377362111351621e-05, 0.05891484121960718, 0, 5e-05};
+Point(267) = {0.0003737736211135162, 0.05861484121960718, 0, 5e-05};
+Point(268) = {-3.367214978436107e-05, 0.05898305543321931, 0, 5e-05};
+Point(269) = {-0.000333672149784361, 0.05898305543321931, 0, 5e-05};
+Point(270) = {-0.000333672149784361, 0.05928305543321931, 0, 5e-05};
+Point(275) = {-0.000633672149784361, 0.05898305543321931, 0, 5e-05};
+Point(280) = {-0.000333672149784361, 0.05868305543321931, 0, 5e-05};
+Point(281) = {0.0006547026929519849, 0.05973347920603884, 0, 5e-05};
+Point(282) = {0.000354702692951985, 0.05973347920603884, 0, 5e-05};
+Point(283) = {0.000354702692951985, 0.06003347920603885, 0, 5e-05};
+Point(288) = {5.470269295198502e-05, 0.05973347920603884, 0, 5e-05};
+Point(293) = {0.000354702692951985, 0.05943347920603884, 0, 5e-05};
+Point(294) = {-5.25825153262506e-05, 0.05966619751139039, 0, 5e-05};
+Point(295) = {-0.0003525825153262506, 0.05966619751139039, 0, 5e-05};
+Point(296) = {-0.0003525825153262506, 0.05996619751139039, 0, 5e-05};
+Point(301) = {-0.0006525825153262505, 0.05966619751139039, 0, 5e-05};
+Point(306) = {-0.0003525825153262506, 0.05936619751139039, 0, 5e-05};
+Point(307) = {0.0006298289500880422, 0.06044223381318161, 0, 5e-05};
+Point(308) = {0.0003298289500880423, 0.06044223381318161, 0, 5e-05};
+Point(309) = {0.0003298289500880423, 0.06074223381318161, 0, 5e-05};
+Point(314) = {2.982895008804228e-05, 0.06044223381318161, 0, 5e-05};
+Point(319) = {0.0003298289500880423, 0.06014223381318161, 0, 5e-05};
+Point(320) = {-6.352831410466614e-05, 0.06042374759742837, 0, 5e-05};
+Point(321) = {-0.0003635283141046661, 0.06042374759742837, 0, 5e-05};
+Point(322) = {-0.0003635283141046661, 0.06072374759742837, 0, 5e-05};
+Point(327) = {-0.0006635283141046661, 0.06042374759742837, 0, 5e-05};
+Point(332) = {-0.0003635283141046661, 0.06012374759742837, 0, 5e-05};
+Point(333) = {0.0006252657823201807, 0.06117578297012194, 0, 5e-05};
+Point(334) = {0.0003252657823201808, 0.06117578297012194, 0, 5e-05};
+Point(335) = {0.0003252657823201808, 0.06147578297012195, 0, 5e-05};
+Point(340) = {2.526578232018081e-05, 0.06117578297012194, 0, 5e-05};
+Point(345) = {0.0003252657823201808, 0.06087578297012194, 0, 5e-05};
+Point(346) = {-3.207287103558092e-05, 0.06123420801978427, 0, 5e-05};
+Point(347) = {-0.0003320728710355809, 0.06123420801978427, 0, 5e-05};
+Point(348) = {-0.0003320728710355809, 0.06153420801978426, 0, 5e-05};
+Point(353) = {-0.0006320728710355809, 0.06123420801978427, 0, 5e-05};
+Point(358) = {-0.0003320728710355809, 0.06093420801978426, 0, 5e-05};
+Point(359) = {0.001343841221512454, 0.05201040987590951, 0, 5e-05};
+Point(360) = {0.001043841221512454, 0.05201040987590951, 0, 5e-05};
+Point(361) = {0.001043841221512454, 0.05231040987590951, 0, 5e-05};
+Point(366) = {0.0007438412215124541, 0.05201040987590951, 0, 5e-05};
+Point(371) = {0.001043841221512454, 0.0517104098759095, 0, 5e-05};
+Point(372) = {-0.0006631946565702998, 0.05199364926166675, 0, 5e-05};
+Point(373) = {-0.0009631946565702998, 0.05199364926166675, 0, 5e-05};
+Point(374) = {-0.0009631946565702998, 0.05229364926166675, 0, 5e-05};
+Point(379) = {-0.0012631946565703, 0.05199364926166675, 0, 5e-05};
+Point(384) = {-0.0009631946565702998, 0.05169364926166675, 0, 5e-05};
+Point(385) = {0.001270164931692493, 0.05276203299835092, 0, 5e-05};
+Point(386) = {0.0009701649316924926, 0.05276203299835092, 0, 5e-05};
+Point(387) = {0.0009701649316924926, 0.05306203299835092, 0, 5e-05};
+Point(392) = {0.0006701649316924927, 0.05276203299835092, 0, 5e-05};
+Point(397) = {0.0009701649316924926, 0.05246203299835091, 0, 5e-05};
+Point(398) = {-0.0007509048529311107, 0.05270944315925818, 0, 5e-05};
+Point(399) = {-0.001050904852931111, 0.05270944315925818, 0, 5e-05};
+Point(400) = {-0.001050904852931111, 0.05300944315925819, 0, 5e-05};
+Point(405) = {-0.00135090485293111, 0.05270944315925818, 0, 5e-05};
+Point(410) = {-0.001050904852931111, 0.05240944315925818, 0, 5e-05};
+Point(411) = {0.001347023842497507, 0.05349185418577391, 0, 5e-05};
+Point(412) = {0.001047023842497507, 0.05349185418577391, 0, 5e-05};
+Point(413) = {0.001047023842497507, 0.05379185418577391, 0, 5e-05};
+Point(418) = {0.000747023842497507, 0.05349185418577391, 0, 5e-05};
+Point(423) = {0.001047023842497507, 0.05319185418577391, 0, 5e-05};
+Point(424) = {-0.0006384200821262411, 0.05350222883585849, 0, 5e-05};
+Point(425) = {-0.0009384200821262412, 0.05350222883585849, 0, 5e-05};
+Point(426) = {-0.0009384200821262412, 0.05380222883585849, 0, 5e-05};
+Point(431) = {-0.001238420082126241, 0.05350222883585849, 0, 5e-05};
+Point(436) = {-0.0009384200821262412, 0.05320222883585849, 0, 5e-05};
+Point(437) = {0.00134521043680036, 0.0542431607158045, 0, 5e-05};
+Point(438) = {0.00104521043680036, 0.0542431607158045, 0, 5e-05};
+Point(439) = {0.00104521043680036, 0.05454316071580449, 0, 5e-05};
+Point(444) = {0.0007452104368003598, 0.0542431607158045, 0, 5e-05};
+Point(449) = {0.00104521043680036, 0.05394316071580449, 0, 5e-05};
+Point(450) = {-0.0007325804406474719, 0.05424794487731108, 0, 5e-05};
+Point(451) = {-0.001032580440647472, 0.05424794487731108, 0, 5e-05};
+Point(452) = {-0.001032580440647472, 0.05454794487731108, 0, 5e-05};
+Point(457) = {-0.001332580440647472, 0.05424794487731108, 0, 5e-05};
+Point(462) = {-0.001032580440647472, 0.05394794487731108, 0, 5e-05};
+Point(463) = {0.001344424346548935, 0.0549857739309984, 0, 5e-05};
+Point(464) = {0.001044424346548936, 0.0549857739309984, 0, 5e-05};
+Point(465) = {0.001044424346548936, 0.0552857739309984, 0, 5e-05};
+Point(470) = {0.0007444243465489356, 0.0549857739309984, 0, 5e-05};
+Point(475) = {0.001044424346548936, 0.0546857739309984, 0, 5e-05};
+Point(476) = {-0.0006930728629490233, 0.05497053339117137, 0, 5e-05};
+Point(477) = {-0.0009930728629490232, 0.05497053339117137, 0, 5e-05};
+Point(478) = {-0.0009930728629490232, 0.05527053339117137, 0, 5e-05};
+Point(483) = {-0.001293072862949023, 0.05497053339117137, 0, 5e-05};
+Point(488) = {-0.0009930728629490232, 0.05467053339117137, 0, 5e-05};
+Point(489) = {0.001256668266309038, 0.05573799856102372, 0, 5e-05};
+Point(490) = {0.0009566682663090379, 0.05573799856102372, 0, 5e-05};
+Point(491) = {0.0009566682663090379, 0.05603799856102372, 0, 5e-05};
+Point(496) = {0.000656668266309038, 0.05573799856102372, 0, 5e-05};
+Point(501) = {0.0009566682663090379, 0.05543799856102372, 0, 5e-05};
+Point(502) = {-0.0007560437998355104, 0.0556908685481636, 0, 5e-05};
+Point(503) = {-0.00105604379983551, 0.0556908685481636, 0, 5e-05};
+Point(504) = {-0.00105604379983551, 0.0559908685481636, 0, 5e-05};
+Point(509) = {-0.00135604379983551, 0.0556908685481636, 0, 5e-05};
+Point(514) = {-0.00105604379983551, 0.0553908685481636, 0, 5e-05};
+Point(515) = {0.001293441975869211, 0.05644783392217047, 0, 5e-05};
+Point(516) = {0.0009934419758692112, 0.05644783392217047, 0, 5e-05};
+Point(517) = {0.0009934419758692112, 0.05674783392217048, 0, 5e-05};
+Point(522) = {0.0006934419758692113, 0.05644783392217047, 0, 5e-05};
+Point(527) = {0.0009934419758692112, 0.05614783392217047, 0, 5e-05};
+Point(528) = {-0.0006807074695095454, 0.05647980368035509, 0, 5e-05};
+Point(529) = {-0.0009807074695095453, 0.05647980368035509, 0, 5e-05};
+Point(530) = {-0.0009807074695095453, 0.05677980368035509, 0, 5e-05};
+Point(535) = {-0.001280707469509545, 0.05647980368035509, 0, 5e-05};
+Point(540) = {-0.0009807074695095453, 0.05617980368035509, 0, 5e-05};
+Point(541) = {0.001305868763564326, 0.05723347191704271, 0, 5e-05};
+Point(542) = {0.001005868763564326, 0.05723347191704271, 0, 5e-05};
+Point(543) = {0.001005868763564326, 0.05753347191704272, 0, 5e-05};
+Point(548) = {0.0007058687635643263, 0.05723347191704271, 0, 5e-05};
+Point(553) = {0.001005868763564326, 0.05693347191704271, 0, 5e-05};
+Point(554) = {-0.0007091551778240386, 0.0572551997064092, 0, 5e-05};
+Point(555) = {-0.001009155177824039, 0.0572551997064092, 0, 5e-05};
+Point(556) = {-0.001009155177824039, 0.0575551997064092, 0, 5e-05};
+Point(561) = {-0.001309155177824038, 0.0572551997064092, 0, 5e-05};
+Point(566) = {-0.001009155177824039, 0.0569551997064092, 0, 5e-05};
+Point(567) = {0.001315484590007916, 0.05796671881542992, 0, 5e-05};
+Point(568) = {0.001015484590007916, 0.05796671881542992, 0, 5e-05};
+Point(569) = {0.001015484590007916, 0.05826671881542992, 0, 5e-05};
+Point(574) = {0.0007154845900079164, 0.05796671881542992, 0, 5e-05};
+Point(579) = {0.001015484590007916, 0.05766671881542992, 0, 5e-05};
+Point(580) = {-0.0006781490879136367, 0.05795560400383015, 0, 5e-05};
+Point(581) = {-0.0009781490879136366, 0.05795560400383015, 0, 5e-05};
+Point(582) = {-0.0009781490879136366, 0.05825560400383015, 0, 5e-05};
+Point(587) = {-0.001278149087913637, 0.05795560400383015, 0, 5e-05};
+Point(592) = {-0.0009781490879136366, 0.05765560400383014, 0, 5e-05};
+Point(593) = {0.001307527396078234, 0.0587563698303254, 0, 5e-05};
+Point(594) = {0.001007527396078234, 0.0587563698303254, 0, 5e-05};
+Point(595) = {0.001007527396078234, 0.0590563698303254, 0, 5e-05};
+Point(600) = {0.0007075273960782343, 0.0587563698303254, 0, 5e-05};
+Point(605) = {0.001007527396078234, 0.0584563698303254, 0, 5e-05};
+Point(606) = {-0.0007415208452865578, 0.05876130785800948, 0, 5e-05};
+Point(607) = {-0.001041520845286558, 0.05876130785800948, 0, 5e-05};
+Point(608) = {-0.001041520845286558, 0.05906130785800948, 0, 5e-05};
+Point(613) = {-0.001341520845286558, 0.05876130785800948, 0, 5e-05};
+Point(618) = {-0.001041520845286558, 0.05846130785800948, 0, 5e-05};
+Point(619) = {0.001291010903480235, 0.05948593789621671, 0, 5e-05};
+Point(620) = {0.0009910109034802349, 0.05948593789621671, 0, 5e-05};
+Point(621) = {0.0009910109034802349, 0.05978593789621671, 0, 5e-05};
+Point(626) = {0.000691010903480235, 0.05948593789621671, 0, 5e-05};
+Point(631) = {0.0009910109034802349, 0.05918593789621671, 0, 5e-05};
+Point(632) = {-0.0006622943415980759, 0.05948640317531273, 0, 5e-05};
+Point(633) = {-0.0009622943415980759, 0.05948640317531273, 0, 5e-05};
+Point(634) = {-0.0009622943415980759, 0.05978640317531273, 0, 5e-05};
+Point(639) = {-0.001262294341598076, 0.05948640317531273, 0, 5e-05};
+Point(644) = {-0.0009622943415980759, 0.05918640317531273, 0, 5e-05};
+Point(645) = {0.001294207568567576, 0.06021490672305127, 0, 5e-05};
+Point(646) = {0.0009942075685675756, 0.06021490672305127, 0, 5e-05};
+Point(647) = {0.0009942075685675756, 0.06051490672305127, 0, 5e-05};
+Point(652) = {0.0006942075685675757, 0.06021490672305127, 0, 5e-05};
+Point(657) = {0.0009942075685675756, 0.05991490672305127, 0, 5e-05};
+Point(658) = {-0.0006688105152134367, 0.06020973439616743, 0, 5e-05};
+Point(659) = {-0.0009688105152134367, 0.06020973439616743, 0, 5e-05};
+Point(660) = {-0.0009688105152134367, 0.06050973439616743, 0, 5e-05};
+Point(665) = {-0.001268810515213437, 0.06020973439616743, 0, 5e-05};
+Point(670) = {-0.0009688105152134367, 0.05990973439616742, 0, 5e-05};
+Point(671) = {0.00125873381630575, 0.0610103103077357, 0, 5e-05};
+Point(672) = {0.0009587338163057499, 0.0610103103077357, 0, 5e-05};
+Point(673) = {0.0009587338163057499, 0.0613103103077357, 0, 5e-05};
+Point(678) = {0.0006587338163057499, 0.0610103103077357, 0, 5e-05};
+Point(683) = {0.0009587338163057499, 0.0607103103077357, 0, 5e-05};
+Point(684) = {-0.0007456869812440998, 0.06097396225701408, 0, 5e-05};
+Point(685) = {-0.0010456869812441, 0.06097396225701408, 0, 5e-05};
+Point(686) = {-0.0010456869812441, 0.06127396225701409, 0, 5e-05};
+Point(691) = {-0.0013456869812441, 0.06097396225701408, 0, 5e-05};
+Point(696) = {-0.0010456869812441, 0.06067396225701409, 0, 5e-05};
+Point(697) = {0.001954478124127829, 0.0523707087412028, 0, 5e-05};
+Point(698) = {0.00165447812412783, 0.0523707087412028, 0, 5e-05};
+Point(699) = {0.00165447812412783, 0.0526707087412028, 0, 5e-05};
+Point(704) = {0.00135447812412783, 0.0523707087412028, 0, 5e-05};
+Point(709) = {0.00165447812412783, 0.0520707087412028, 0, 5e-05};
+Point(710) = {-0.001398061547308141, 0.05233178932099359, 0, 5e-05};
+Point(711) = {-0.001698061547308141, 0.05233178932099359, 0, 5e-05};
+Point(712) = {-0.001698061547308141, 0.05263178932099359, 0, 5e-05};
+Point(717) = {-0.001998061547308141, 0.05233178932099359, 0, 5e-05};
+Point(722) = {-0.001698061547308141, 0.05203178932099359, 0, 5e-05};
+Point(723) = {0.00189319245244234, 0.05309225706702574, 0, 5e-05};
+Point(724) = {0.00159319245244234, 0.05309225706702574, 0, 5e-05};
+Point(725) = {0.00159319245244234, 0.05339225706702574, 0, 5e-05};
+Point(730) = {0.00129319245244234, 0.05309225706702574, 0, 5e-05};
+Point(735) = {0.00159319245244234, 0.05279225706702574, 0, 5e-05};
+Point(736) = {-0.001428570602234602, 0.0531341585497568, 0, 5e-05};
+Point(737) = {-0.001728570602234602, 0.0531341585497568, 0, 5e-05};
+Point(738) = {-0.001728570602234602, 0.05343415854975681, 0, 5e-05};
+Point(743) = {-0.002028570602234602, 0.0531341585497568, 0, 5e-05};
+Point(748) = {-0.001728570602234602, 0.0528341585497568, 0, 5e-05};
+Point(749) = {0.002000299228375801, 0.05382708336438986, 0, 5e-05};
+Point(750) = {0.0017002992283758, 0.05382708336438986, 0, 5e-05};
+Point(751) = {0.0017002992283758, 0.05412708336438986, 0, 5e-05};
+Point(756) = {0.001400299228375801, 0.05382708336438986, 0, 5e-05};
+Point(761) = {0.0017002992283758, 0.05352708336438985, 0, 5e-05};
+Point(762) = {-0.001369962119140528, 0.05385383548221402, 0, 5e-05};
+Point(763) = {-0.001669962119140528, 0.05385383548221402, 0, 5e-05};
+Point(764) = {-0.001669962119140528, 0.05415383548221402, 0, 5e-05};
+Point(769) = {-0.001969962119140528, 0.05385383548221402, 0, 5e-05};
+Point(774) = {-0.001669962119140528, 0.05355383548221402, 0, 5e-05};
+Point(775) = {0.001964788368702185, 0.05459749230837005, 0, 5e-05};
+Point(776) = {0.001664788368702185, 0.05459749230837005, 0, 5e-05};
+Point(777) = {0.001664788368702185, 0.05489749230837005, 0, 5e-05};
+Point(782) = {0.001364788368702185, 0.05459749230837005, 0, 5e-05};
+Point(787) = {0.001664788368702185, 0.05429749230837005, 0, 5e-05};
+Point(788) = {-0.001281453659322673, 0.05458646708276096, 0, 5e-05};
+Point(789) = {-0.001581453659322673, 0.05458646708276096, 0, 5e-05};
+Point(790) = {-0.001581453659322673, 0.05488646708276097, 0, 5e-05};
+Point(795) = {-0.001881453659322673, 0.05458646708276096, 0, 5e-05};
+Point(800) = {-0.001581453659322673, 0.05428646708276096, 0, 5e-05};
+Point(801) = {0.001939133310701178, 0.05538725904881499, 0, 5e-05};
+Point(802) = {0.001639133310701178, 0.05538725904881499, 0, 5e-05};
+Point(803) = {0.001639133310701178, 0.05568725904881499, 0, 5e-05};
+Point(808) = {0.001339133310701178, 0.05538725904881499, 0, 5e-05};
+Point(813) = {0.001639133310701178, 0.05508725904881499, 0, 5e-05};
+Point(814) = {-0.001364509638738008, 0.05534556959673229, 0, 5e-05};
+Point(815) = {-0.001664509638738008, 0.05534556959673229, 0, 5e-05};
+Point(816) = {-0.001664509638738008, 0.05564556959673229, 0, 5e-05};
+Point(821) = {-0.001964509638738008, 0.05534556959673229, 0, 5e-05};
+Point(826) = {-0.001664509638738008, 0.05504556959673228, 0, 5e-05};
+Point(827) = {0.001905418869065665, 0.05606283381212075, 0, 5e-05};
+Point(828) = {0.001605418869065665, 0.05606283381212075, 0, 5e-05};
+Point(829) = {0.001605418869065665, 0.05636283381212075, 0, 5e-05};
+Point(834) = {0.001305418869065665, 0.05606283381212075, 0, 5e-05};
+Point(839) = {0.001605418869065665, 0.05576283381212074, 0, 5e-05};
+Point(840) = {-0.001328622150231326, 0.05610347820848061, 0, 5e-05};
+Point(841) = {-0.001628622150231326, 0.05610347820848061, 0, 5e-05};
+Point(842) = {-0.001628622150231326, 0.05640347820848061, 0, 5e-05};
+Point(847) = {-0.001928622150231326, 0.05610347820848061, 0, 5e-05};
+Point(852) = {-0.001628622150231326, 0.05580347820848061, 0, 5e-05};
+Point(853) = {0.001953509238901203, 0.05683568623957394, 0, 5e-05};
+Point(854) = {0.001653509238901203, 0.05683568623957394, 0, 5e-05};
+Point(855) = {0.001653509238901203, 0.05713568623957394, 0, 5e-05};
+Point(860) = {0.001353509238901203, 0.05683568623957394, 0, 5e-05};
+Point(865) = {0.001653509238901203, 0.05653568623957394, 0, 5e-05};
+Point(866) = {-0.001342417844452974, 0.05686357520149161, 0, 5e-05};
+Point(867) = {-0.001642417844452973, 0.05686357520149161, 0, 5e-05};
+Point(868) = {-0.001642417844452973, 0.05716357520149161, 0, 5e-05};
+Point(873) = {-0.001942417844452973, 0.05686357520149161, 0, 5e-05};
+Point(878) = {-0.001642417844452973, 0.05656357520149161, 0, 5e-05};
+Point(879) = {0.00189389692508506, 0.0575756202779401, 0, 5e-05};
+Point(880) = {0.00159389692508506, 0.0575756202779401, 0, 5e-05};
+Point(881) = {0.00159389692508506, 0.0578756202779401, 0, 5e-05};
+Point(886) = {0.00129389692508506, 0.0575756202779401, 0, 5e-05};
+Point(891) = {0.00159389692508506, 0.0572756202779401, 0, 5e-05};
+Point(892) = {-0.001393736612590722, 0.05759463190613436, 0, 5e-05};
+Point(893) = {-0.001693736612590722, 0.05759463190613436, 0, 5e-05};
+Point(894) = {-0.001693736612590722, 0.05789463190613436, 0, 5e-05};
+Point(899) = {-0.001993736612590722, 0.05759463190613436, 0, 5e-05};
+Point(904) = {-0.001693736612590722, 0.05729463190613435, 0, 5e-05};
+Point(905) = {0.001881980758488984, 0.0583526986195057, 0, 5e-05};
+Point(906) = {0.001581980758488984, 0.0583526986195057, 0, 5e-05};
+Point(907) = {0.001581980758488984, 0.0586526986195057, 0, 5e-05};
+Point(912) = {0.001281980758488984, 0.0583526986195057, 0, 5e-05};
+Point(917) = {0.001581980758488984, 0.0580526986195057, 0, 5e-05};
+Point(918) = {-0.001407384675765007, 0.05837088097705452, 0, 5e-05};
+Point(919) = {-0.001707384675765007, 0.05837088097705452, 0, 5e-05};
+Point(920) = {-0.001707384675765007, 0.05867088097705452, 0, 5e-05};
+Point(925) = {-0.002007384675765007, 0.05837088097705452, 0, 5e-05};
+Point(930) = {-0.001707384675765007, 0.05807088097705452, 0, 5e-05};
+Point(931) = {0.001925504651046011, 0.05909689120531774, 0, 5e-05};
+Point(932) = {0.001625504651046011, 0.05909689120531774, 0, 5e-05};
+Point(933) = {0.001625504651046011, 0.05939689120531774, 0, 5e-05};
+Point(938) = {0.001325504651046011, 0.05909689120531774, 0, 5e-05};
+Point(943) = {0.001625504651046011, 0.05879689120531774, 0, 5e-05};
+Point(944) = {-0.001334880058857906, 0.05912709082803226, 0, 5e-05};
+Point(945) = {-0.001634880058857906, 0.05912709082803226, 0, 5e-05};
+Point(946) = {-0.001634880058857906, 0.05942709082803226, 0, 5e-05};
+Point(951) = {-0.001934880058857905, 0.05912709082803226, 0, 5e-05};
+Point(956) = {-0.001634880058857906, 0.05882709082803225, 0, 5e-05};
+Point(957) = {0.002031021569881016, 0.05987308073028971, 0, 5e-05};
+Point(958) = {0.001731021569881016, 0.05987308073028971, 0, 5e-05};
+Point(959) = {0.001731021569881016, 0.06017308073028971, 0, 5e-05};
+Point(964) = {0.001431021569881016, 0.05987308073028971, 0, 5e-05};
+Point(969) = {0.001731021569881016, 0.0595730807302897, 0, 5e-05};
+Point(970) = {-0.001316510948147746, 0.0598647392840114, 0, 5e-05};
+Point(971) = {-0.001616510948147746, 0.0598647392840114, 0, 5e-05};
+Point(972) = {-0.001616510948147746, 0.0601647392840114, 0, 5e-05};
+Point(977) = {-0.001916510948147746, 0.0598647392840114, 0, 5e-05};
+Point(982) = {-0.001616510948147746, 0.0595647392840114, 0, 5e-05};
+Point(983) = {0.001869260709207976, 0.06062525350870947, 0, 5e-05};
+Point(984) = {0.001569260709207976, 0.06062525350870947, 0, 5e-05};
+Point(985) = {0.001569260709207976, 0.06092525350870948, 0, 5e-05};
+Point(990) = {0.001269260709207976, 0.06062525350870947, 0, 5e-05};
+Point(995) = {0.001569260709207976, 0.06032525350870947, 0, 5e-05};
+Point(996) = {-0.001299439510527621, 0.06061488425007455, 0, 5e-05};
+Point(997) = {-0.001599439510527621, 0.06061488425007455, 0, 5e-05};
+Point(998) = {-0.001599439510527621, 0.06091488425007455, 0, 5e-05};
+Point(1003) = {-0.001899439510527621, 0.06061488425007455, 0, 5e-05};
+Point(1008) = {-0.001599439510527621, 0.06031488425007455, 0, 5e-05};
+Point(1009) = {0.002608970407421687, 0.05267504038111447, 0, 5e-05};
+Point(1010) = {0.002308970407421687, 0.05267504038111447, 0, 5e-05};
+Point(1011) = {0.002308970407421687, 0.05297504038111447, 0, 5e-05};
+Point(1016) = {0.002008970407421687, 0.05267504038111447, 0, 5e-05};
+Point(1021) = {0.002308970407421687, 0.05237504038111446, 0, 5e-05};
+Point(1022) = {-0.001990072448381722, 0.0526444161358999, 0, 5e-05};
+Point(1023) = {-0.002290072448381722, 0.0526444161358999, 0, 5e-05};
+Point(1024) = {-0.002290072448381722, 0.0529444161358999, 0, 5e-05};
+Point(1029) = {-0.002590072448381722, 0.0526444161358999, 0, 5e-05};
+Point(1034) = {-0.002290072448381722, 0.0523444161358999, 0, 5e-05};
+Point(1035) = {0.002664666620469497, 0.05337699434815904, 0, 5e-05};
+Point(1036) = {0.002364666620469497, 0.05337699434815904, 0, 5e-05};
+Point(1037) = {0.002364666620469497, 0.05367699434815904, 0, 5e-05};
+Point(1042) = {0.002064666620469497, 0.05337699434815904, 0, 5e-05};
+Point(1047) = {0.002364666620469497, 0.05307699434815904, 0, 5e-05};
+Point(1048) = {-0.002039109626488811, 0.05339687002522631, 0, 5e-05};
+Point(1049) = {-0.002339109626488811, 0.05339687002522631, 0, 5e-05};
+Point(1050) = {-0.002339109626488811, 0.05369687002522631, 0, 5e-05};
+Point(1055) = {-0.002639109626488811, 0.05339687002522631, 0, 5e-05};
+Point(1060) = {-0.002339109626488811, 0.0530968700252263, 0, 5e-05};
+Point(1061) = {0.002640723928849084, 0.05415048870307321, 0, 5e-05};
+Point(1062) = {0.002340723928849084, 0.05415048870307321, 0, 5e-05};
+Point(1063) = {0.002340723928849084, 0.05445048870307322, 0, 5e-05};
+Point(1068) = {0.002040723928849084, 0.05415048870307321, 0, 5e-05};
+Point(1073) = {0.002340723928849084, 0.05385048870307321, 0, 5e-05};
+Point(1074) = {-0.002021903362491589, 0.05415134533731468, 0, 5e-05};
+Point(1075) = {-0.002321903362491589, 0.05415134533731468, 0, 5e-05};
+Point(1076) = {-0.002321903362491589, 0.05445134533731467, 0, 5e-05};
+Point(1081) = {-0.002621903362491588, 0.05415134533731468, 0, 5e-05};
+Point(1086) = {-0.002321903362491589, 0.05385134533731467, 0, 5e-05};
+Point(1087) = {0.002613748790500103, 0.0548970042557828, 0, 5e-05};
+Point(1088) = {0.002313748790500103, 0.0548970042557828, 0, 5e-05};
+Point(1089) = {0.002313748790500103, 0.0551970042557828, 0, 5e-05};
+Point(1094) = {0.002013748790500103, 0.0548970042557828, 0, 5e-05};
+Point(1099) = {0.002313748790500103, 0.0545970042557828, 0, 5e-05};
+Point(1100) = {-0.002059965410467687, 0.05493535794177713, 0, 5e-05};
+Point(1101) = {-0.002359965410467687, 0.05493535794177713, 0, 5e-05};
+Point(1102) = {-0.002359965410467687, 0.05523535794177713, 0, 5e-05};
+Point(1107) = {-0.002659965410467687, 0.05493535794177713, 0, 5e-05};
+Point(1112) = {-0.002359965410467687, 0.05463535794177713, 0, 5e-05};
+Point(1113) = {0.002613247032006386, 0.05563667456706503, 0, 5e-05};
+Point(1114) = {0.002313247032006386, 0.05563667456706503, 0, 5e-05};
+Point(1115) = {0.002313247032006386, 0.05593667456706504, 0, 5e-05};
+Point(1120) = {0.002013247032006386, 0.05563667456706503, 0, 5e-05};
+Point(1125) = {0.002313247032006386, 0.05533667456706504, 0, 5e-05};
+Point(1126) = {-0.002104514916161781, 0.05566771487947585, 0, 5e-05};
+Point(1127) = {-0.002404514916161781, 0.05566771487947585, 0, 5e-05};
+Point(1128) = {-0.002404514916161781, 0.05596771487947585, 0, 5e-05};
+Point(1133) = {-0.00270451491616178, 0.05566771487947585, 0, 5e-05};
+Point(1138) = {-0.002404514916161781, 0.05536771487947585, 0, 5e-05};
+Point(1139) = {0.002687013119669637, 0.05636999811589623, 0, 5e-05};
+Point(1140) = {0.002387013119669637, 0.05636999811589623, 0, 5e-05};
+Point(1141) = {0.002387013119669637, 0.05666999811589623, 0, 5e-05};
+Point(1146) = {0.002087013119669637, 0.05636999811589623, 0, 5e-05};
+Point(1151) = {0.002387013119669637, 0.05606999811589623, 0, 5e-05};
+Point(1152) = {-0.002084947575093222, 0.05639637071095842, 0, 5e-05};
+Point(1153) = {-0.002384947575093222, 0.05639637071095842, 0, 5e-05};
+Point(1154) = {-0.002384947575093222, 0.05669637071095842, 0, 5e-05};
+Point(1159) = {-0.002684947575093222, 0.05639637071095842, 0, 5e-05};
+Point(1164) = {-0.002384947575093222, 0.05609637071095842, 0, 5e-05};
+Point(1165) = {0.002666404247671088, 0.05717833821601761, 0, 5e-05};
+Point(1166) = {0.002366404247671088, 0.05717833821601761, 0, 5e-05};
+Point(1167) = {0.002366404247671088, 0.05747833821601761, 0, 5e-05};
+Point(1172) = {0.002066404247671088, 0.05717833821601761, 0, 5e-05};
+Point(1177) = {0.002366404247671088, 0.05687833821601761, 0, 5e-05};
+Point(1178) = {-0.00199554834304403, 0.05717984163258821, 0, 5e-05};
+Point(1179) = {-0.00229554834304403, 0.05717984163258821, 0, 5e-05};
+Point(1180) = {-0.00229554834304403, 0.05747984163258821, 0, 5e-05};
+Point(1185) = {-0.002595548343044029, 0.05717984163258821, 0, 5e-05};
+Point(1190) = {-0.00229554834304403, 0.05687984163258821, 0, 5e-05};
+Point(1191) = {0.002572899709873786, 0.05792497360374915, 0, 5e-05};
+Point(1192) = {0.002272899709873786, 0.05792497360374915, 0, 5e-05};
+Point(1193) = {0.002272899709873786, 0.05822497360374915, 0, 5e-05};
+Point(1198) = {0.001972899709873786, 0.05792497360374915, 0, 5e-05};
+Point(1203) = {0.002272899709873786, 0.05762497360374915, 0, 5e-05};
+Point(1204) = {-0.001998625476157118, 0.05789152170498831, 0, 5e-05};
+Point(1205) = {-0.002298625476157118, 0.05789152170498831, 0, 5e-05};
+Point(1206) = {-0.002298625476157118, 0.05819152170498831, 0, 5e-05};
+Point(1211) = {-0.002598625476157118, 0.05789152170498831, 0, 5e-05};
+Point(1216) = {-0.002298625476157118, 0.05759152170498831, 0, 5e-05};
+Point(1217) = {0.002515225561242655, 0.05868453109018388, 0, 5e-05};
+Point(1218) = {0.002215225561242656, 0.05868453109018388, 0, 5e-05};
+Point(1219) = {0.002215225561242656, 0.05898453109018388, 0, 5e-05};
+Point(1224) = {0.001915225561242656, 0.05868453109018388, 0, 5e-05};
+Point(1229) = {0.002215225561242656, 0.05838453109018388, 0, 5e-05};
+Point(1230) = {-0.001943183903204363, 0.05867698526218764, 0, 5e-05};
+Point(1231) = {-0.002243183903204363, 0.05867698526218764, 0, 5e-05};
+Point(1232) = {-0.002243183903204363, 0.05897698526218764, 0, 5e-05};
+Point(1237) = {-0.002543183903204363, 0.05867698526218764, 0, 5e-05};
+Point(1242) = {-0.002243183903204363, 0.05837698526218764, 0, 5e-05};
+Point(1243) = {0.002550444278230631, 0.05938483622047017, 0, 5e-05};
+Point(1244) = {0.002250444278230632, 0.05938483622047017, 0, 5e-05};
+Point(1245) = {0.002250444278230632, 0.05968483622047017, 0, 5e-05};
+Point(1250) = {0.001950444278230632, 0.05938483622047017, 0, 5e-05};
+Point(1255) = {0.002250444278230632, 0.05908483622047016, 0, 5e-05};
+Point(1256) = {-0.002113823012262035, 0.05940558086602881, 0, 5e-05};
+Point(1257) = {-0.002413823012262035, 0.05940558086602881, 0, 5e-05};
+Point(1258) = {-0.002413823012262035, 0.05970558086602881, 0, 5e-05};
+Point(1263) = {-0.002713823012262034, 0.05940558086602881, 0, 5e-05};
+Point(1268) = {-0.002413823012262035, 0.05910558086602881, 0, 5e-05};
+Point(1269) = {0.0026506483054979, 0.060150175683274, 0, 5e-05};
+Point(1270) = {0.0023506483054979, 0.060150175683274, 0, 5e-05};
+Point(1271) = {0.0023506483054979, 0.060450175683274, 0, 5e-05};
+Point(1276) = {0.0020506483054979, 0.060150175683274, 0, 5e-05};
+Point(1281) = {0.0023506483054979, 0.059850175683274, 0, 5e-05};
+Point(1282) = {-0.001986947313226735, 0.06015562033906513, 0, 5e-05};
+Point(1283) = {-0.002286947313226735, 0.06015562033906513, 0, 5e-05};
+Point(1284) = {-0.002286947313226735, 0.06045562033906513, 0, 5e-05};
+Point(1289) = {-0.002586947313226735, 0.06015562033906513, 0, 5e-05};
+Point(1294) = {-0.002286947313226735, 0.05985562033906513, 0, 5e-05};
+Point(1295) = {0.001796852017268673, 0.05158093966674707, 0, 5e-05};
+Point(1296) = {0.001496852017268673, 0.05158093966674707, 0, 5e-05};
+Point(1297) = {0.001496852017268673, 0.05188093966674708, 0, 5e-05};
+Point(1302) = {0.001196852017268673, 0.05158093966674707, 0, 5e-05};
+Point(1307) = {0.001496852017268673, 0.05128093966674707, 0, 5e-05};
+Point(1308) = {-0.001234120788063183, 0.05159740818643727, 0, 5e-05};
+Point(1309) = {-0.001534120788063183, 0.05159740818643727, 0, 5e-05};
+Point(1310) = {-0.001534120788063183, 0.05189740818643727, 0, 5e-05};
+Point(1315) = {-0.001834120788063182, 0.05159740818643727, 0, 5e-05};
+Point(1320) = {-0.001534120788063183, 0.05129740818643727, 0, 5e-05};
+Point(1321) = {0.0006996894964198882, 0.0514725585704113, 0, 5e-05};
+Point(1322) = {0.0003996894964198883, 0.0514725585704113, 0, 5e-05};
+Point(1323) = {0.0003996894964198883, 0.0517725585704113, 0, 5e-05};
+Point(1328) = {9.96894964198883e-05, 0.0514725585704113, 0, 5e-05};
+Point(1333) = {0.0003996894964198883, 0.0511725585704113, 0, 5e-05};
+Point(1334) = {-0.0001018925337573829, 0.05147306826503763, 0, 5e-05};
+Point(1335) = {-0.0004018925337573828, 0.05147306826503763, 0, 5e-05};
+Point(1336) = {-0.0004018925337573828, 0.05177306826503763, 0, 5e-05};
+Point(1341) = {-0.0007018925337573829, 0.05147306826503763, 0, 5e-05};
+Point(1346) = {-0.0004018925337573828, 0.05117306826503763, 0, 5e-05};
+Line(1) = {7, 14};
+Line(2) = {14, 10};
+Line(3) = {8, 15};
+Line(4) = {15, 11};
+Line(5) = {14, 15};
+Line(6) = {2, 4};
+Line(7) = {3, 5};
+Circle(8) = {2, 1, 3};
+Circle(9) = {7, 6, 4};
+Circle(10) = {5, 6, 8};
+Circle(11) = {11, 9, 12};
+Circle(12) = {12, 9, 10};
+Circle(20) = {21, 22, 23};
+Circle(21) = {23, 22, 28};
+Circle(22) = {28, 22, 33};
+Circle(23) = {33, 22, 21};
+Circle(26) = {34, 35, 36};
+Circle(27) = {36, 35, 41};
+Circle(28) = {41, 35, 46};
+Circle(29) = {46, 35, 34};
+Circle(32) = {47, 48, 49};
+Circle(33) = {49, 48, 54};
+Circle(34) = {54, 48, 59};
+Circle(35) = {59, 48, 47};
+Circle(38) = {60, 61, 62};
+Circle(39) = {62, 61, 67};
+Circle(40) = {67, 61, 72};
+Circle(41) = {72, 61, 60};
+Circle(44) = {73, 74, 75};
+Circle(45) = {75, 74, 80};
+Circle(46) = {80, 74, 85};
+Circle(47) = {85, 74, 73};
+Circle(50) = {86, 87, 88};
+Circle(51) = {88, 87, 93};
+Circle(52) = {93, 87, 98};
+Circle(53) = {98, 87, 86};
+Circle(56) = {99, 100, 101};
+Circle(57) = {101, 100, 106};
+Circle(58) = {106, 100, 111};
+Circle(59) = {111, 100, 99};
+Circle(62) = {112, 113, 114};
+Circle(63) = {114, 113, 119};
+Circle(64) = {119, 113, 124};
+Circle(65) = {124, 113, 112};
+Circle(68) = {125, 126, 127};
+Circle(69) = {127, 126, 132};
+Circle(70) = {132, 126, 137};
+Circle(71) = {137, 126, 125};
+Circle(74) = {138, 139, 140};
+Circle(75) = {140, 139, 145};
+Circle(76) = {145, 139, 150};
+Circle(77) = {150, 139, 138};
+Circle(80) = {151, 152, 153};
+Circle(81) = {153, 152, 158};
+Circle(82) = {158, 152, 163};
+Circle(83) = {163, 152, 151};
+Circle(86) = {164, 165, 166};
+Circle(87) = {166, 165, 171};
+Circle(88) = {171, 165, 176};
+Circle(89) = {176, 165, 164};
+Circle(92) = {177, 178, 179};
+Circle(93) = {179, 178, 184};
+Circle(94) = {184, 178, 189};
+Circle(95) = {189, 178, 177};
+Circle(98) = {190, 191, 192};
+Circle(99) = {192, 191, 197};
+Circle(100) = {197, 191, 202};
+Circle(101) = {202, 191, 190};
+Circle(104) = {203, 204, 205};
+Circle(105) = {205, 204, 210};
+Circle(106) = {210, 204, 215};
+Circle(107) = {215, 204, 203};
+Circle(110) = {216, 217, 218};
+Circle(111) = {218, 217, 223};
+Circle(112) = {223, 217, 228};
+Circle(113) = {228, 217, 216};
+Circle(116) = {229, 230, 231};
+Circle(117) = {231, 230, 236};
+Circle(118) = {236, 230, 241};
+Circle(119) = {241, 230, 229};
+Circle(122) = {242, 243, 244};
+Circle(123) = {244, 243, 249};
+Circle(124) = {249, 243, 254};
+Circle(125) = {254, 243, 242};
+Circle(128) = {255, 256, 257};
+Circle(129) = {257, 256, 262};
+Circle(130) = {262, 256, 267};
+Circle(131) = {267, 256, 255};
+Circle(134) = {268, 269, 270};
+Circle(135) = {270, 269, 275};
+Circle(136) = {275, 269, 280};
+Circle(137) = {280, 269, 268};
+Circle(140) = {281, 282, 283};
+Circle(141) = {283, 282, 288};
+Circle(142) = {288, 282, 293};
+Circle(143) = {293, 282, 281};
+Circle(146) = {294, 295, 296};
+Circle(147) = {296, 295, 301};
+Circle(148) = {301, 295, 306};
+Circle(149) = {306, 295, 294};
+Circle(152) = {307, 308, 309};
+Circle(153) = {309, 308, 314};
+Circle(154) = {314, 308, 319};
+Circle(155) = {319, 308, 307};
+Circle(158) = {320, 321, 322};
+Circle(159) = {322, 321, 327};
+Circle(160) = {327, 321, 332};
+Circle(161) = {332, 321, 320};
+Circle(164) = {333, 334, 335};
+Circle(165) = {335, 334, 340};
+Circle(166) = {340, 334, 345};
+Circle(167) = {345, 334, 333};
+Circle(170) = {346, 347, 348};
+Circle(171) = {348, 347, 353};
+Circle(172) = {353, 347, 358};
+Circle(173) = {358, 347, 346};
+Circle(176) = {359, 360, 361};
+Circle(177) = {361, 360, 366};
+Circle(178) = {366, 360, 371};
+Circle(179) = {371, 360, 359};
+Circle(182) = {372, 373, 374};
+Circle(183) = {374, 373, 379};
+Circle(184) = {379, 373, 384};
+Circle(185) = {384, 373, 372};
+Circle(188) = {385, 386, 387};
+Circle(189) = {387, 386, 392};
+Circle(190) = {392, 386, 397};
+Circle(191) = {397, 386, 385};
+Circle(194) = {398, 399, 400};
+Circle(195) = {400, 399, 405};
+Circle(196) = {405, 399, 410};
+Circle(197) = {410, 399, 398};
+Circle(200) = {411, 412, 413};
+Circle(201) = {413, 412, 418};
+Circle(202) = {418, 412, 423};
+Circle(203) = {423, 412, 411};
+Circle(206) = {424, 425, 426};
+Circle(207) = {426, 425, 431};
+Circle(208) = {431, 425, 436};
+Circle(209) = {436, 425, 424};
+Circle(212) = {437, 438, 439};
+Circle(213) = {439, 438, 444};
+Circle(214) = {444, 438, 449};
+Circle(215) = {449, 438, 437};
+Circle(218) = {450, 451, 452};
+Circle(219) = {452, 451, 457};
+Circle(220) = {457, 451, 462};
+Circle(221) = {462, 451, 450};
+Circle(224) = {463, 464, 465};
+Circle(225) = {465, 464, 470};
+Circle(226) = {470, 464, 475};
+Circle(227) = {475, 464, 463};
+Circle(230) = {476, 477, 478};
+Circle(231) = {478, 477, 483};
+Circle(232) = {483, 477, 488};
+Circle(233) = {488, 477, 476};
+Circle(236) = {489, 490, 491};
+Circle(237) = {491, 490, 496};
+Circle(238) = {496, 490, 501};
+Circle(239) = {501, 490, 489};
+Circle(242) = {502, 503, 504};
+Circle(243) = {504, 503, 509};
+Circle(244) = {509, 503, 514};
+Circle(245) = {514, 503, 502};
+Circle(248) = {515, 516, 517};
+Circle(249) = {517, 516, 522};
+Circle(250) = {522, 516, 527};
+Circle(251) = {527, 516, 515};
+Circle(254) = {528, 529, 530};
+Circle(255) = {530, 529, 535};
+Circle(256) = {535, 529, 540};
+Circle(257) = {540, 529, 528};
+Circle(260) = {541, 542, 543};
+Circle(261) = {543, 542, 548};
+Circle(262) = {548, 542, 553};
+Circle(263) = {553, 542, 541};
+Circle(266) = {554, 555, 556};
+Circle(267) = {556, 555, 561};
+Circle(268) = {561, 555, 566};
+Circle(269) = {566, 555, 554};
+Circle(272) = {567, 568, 569};
+Circle(273) = {569, 568, 574};
+Circle(274) = {574, 568, 579};
+Circle(275) = {579, 568, 567};
+Circle(278) = {580, 581, 582};
+Circle(279) = {582, 581, 587};
+Circle(280) = {587, 581, 592};
+Circle(281) = {592, 581, 580};
+Circle(284) = {593, 594, 595};
+Circle(285) = {595, 594, 600};
+Circle(286) = {600, 594, 605};
+Circle(287) = {605, 594, 593};
+Circle(290) = {606, 607, 608};
+Circle(291) = {608, 607, 613};
+Circle(292) = {613, 607, 618};
+Circle(293) = {618, 607, 606};
+Circle(296) = {619, 620, 621};
+Circle(297) = {621, 620, 626};
+Circle(298) = {626, 620, 631};
+Circle(299) = {631, 620, 619};
+Circle(302) = {632, 633, 634};
+Circle(303) = {634, 633, 639};
+Circle(304) = {639, 633, 644};
+Circle(305) = {644, 633, 632};
+Circle(308) = {645, 646, 647};
+Circle(309) = {647, 646, 652};
+Circle(310) = {652, 646, 657};
+Circle(311) = {657, 646, 645};
+Circle(314) = {658, 659, 660};
+Circle(315) = {660, 659, 665};
+Circle(316) = {665, 659, 670};
+Circle(317) = {670, 659, 658};
+Circle(320) = {671, 672, 673};
+Circle(321) = {673, 672, 678};
+Circle(322) = {678, 672, 683};
+Circle(323) = {683, 672, 671};
+Circle(326) = {684, 685, 686};
+Circle(327) = {686, 685, 691};
+Circle(328) = {691, 685, 696};
+Circle(329) = {696, 685, 684};
+Circle(332) = {697, 698, 699};
+Circle(333) = {699, 698, 704};
+Circle(334) = {704, 698, 709};
+Circle(335) = {709, 698, 697};
+Circle(338) = {710, 711, 712};
+Circle(339) = {712, 711, 717};
+Circle(340) = {717, 711, 722};
+Circle(341) = {722, 711, 710};
+Circle(344) = {723, 724, 725};
+Circle(345) = {725, 724, 730};
+Circle(346) = {730, 724, 735};
+Circle(347) = {735, 724, 723};
+Circle(350) = {736, 737, 738};
+Circle(351) = {738, 737, 743};
+Circle(352) = {743, 737, 748};
+Circle(353) = {748, 737, 736};
+Circle(356) = {749, 750, 751};
+Circle(357) = {751, 750, 756};
+Circle(358) = {756, 750, 761};
+Circle(359) = {761, 750, 749};
+Circle(362) = {762, 763, 764};
+Circle(363) = {764, 763, 769};
+Circle(364) = {769, 763, 774};
+Circle(365) = {774, 763, 762};
+Circle(368) = {775, 776, 777};
+Circle(369) = {777, 776, 782};
+Circle(370) = {782, 776, 787};
+Circle(371) = {787, 776, 775};
+Circle(374) = {788, 789, 790};
+Circle(375) = {790, 789, 795};
+Circle(376) = {795, 789, 800};
+Circle(377) = {800, 789, 788};
+Circle(380) = {801, 802, 803};
+Circle(381) = {803, 802, 808};
+Circle(382) = {808, 802, 813};
+Circle(383) = {813, 802, 801};
+Circle(386) = {814, 815, 816};
+Circle(387) = {816, 815, 821};
+Circle(388) = {821, 815, 826};
+Circle(389) = {826, 815, 814};
+Circle(392) = {827, 828, 829};
+Circle(393) = {829, 828, 834};
+Circle(394) = {834, 828, 839};
+Circle(395) = {839, 828, 827};
+Circle(398) = {840, 841, 842};
+Circle(399) = {842, 841, 847};
+Circle(400) = {847, 841, 852};
+Circle(401) = {852, 841, 840};
+Circle(404) = {853, 854, 855};
+Circle(405) = {855, 854, 860};
+Circle(406) = {860, 854, 865};
+Circle(407) = {865, 854, 853};
+Circle(410) = {866, 867, 868};
+Circle(411) = {868, 867, 873};
+Circle(412) = {873, 867, 878};
+Circle(413) = {878, 867, 866};
+Circle(416) = {879, 880, 881};
+Circle(417) = {881, 880, 886};
+Circle(418) = {886, 880, 891};
+Circle(419) = {891, 880, 879};
+Circle(422) = {892, 893, 894};
+Circle(423) = {894, 893, 899};
+Circle(424) = {899, 893, 904};
+Circle(425) = {904, 893, 892};
+Circle(428) = {905, 906, 907};
+Circle(429) = {907, 906, 912};
+Circle(430) = {912, 906, 917};
+Circle(431) = {917, 906, 905};
+Circle(434) = {918, 919, 920};
+Circle(435) = {920, 919, 925};
+Circle(436) = {925, 919, 930};
+Circle(437) = {930, 919, 918};
+Circle(440) = {931, 932, 933};
+Circle(441) = {933, 932, 938};
+Circle(442) = {938, 932, 943};
+Circle(443) = {943, 932, 931};
+Circle(446) = {944, 945, 946};
+Circle(447) = {946, 945, 951};
+Circle(448) = {951, 945, 956};
+Circle(449) = {956, 945, 944};
+Circle(452) = {957, 958, 959};
+Circle(453) = {959, 958, 964};
+Circle(454) = {964, 958, 969};
+Circle(455) = {969, 958, 957};
+Circle(458) = {970, 971, 972};
+Circle(459) = {972, 971, 977};
+Circle(460) = {977, 971, 982};
+Circle(461) = {982, 971, 970};
+Circle(464) = {983, 984, 985};
+Circle(465) = {985, 984, 990};
+Circle(466) = {990, 984, 995};
+Circle(467) = {995, 984, 983};
+Circle(470) = {996, 997, 998};
+Circle(471) = {998, 997, 1003};
+Circle(472) = {1003, 997, 1008};
+Circle(473) = {1008, 997, 996};
+Circle(476) = {1009, 1010, 1011};
+Circle(477) = {1011, 1010, 1016};
+Circle(478) = {1016, 1010, 1021};
+Circle(479) = {1021, 1010, 1009};
+Circle(482) = {1022, 1023, 1024};
+Circle(483) = {1024, 1023, 1029};
+Circle(484) = {1029, 1023, 1034};
+Circle(485) = {1034, 1023, 1022};
+Circle(488) = {1035, 1036, 1037};
+Circle(489) = {1037, 1036, 1042};
+Circle(490) = {1042, 1036, 1047};
+Circle(491) = {1047, 1036, 1035};
+Circle(494) = {1048, 1049, 1050};
+Circle(495) = {1050, 1049, 1055};
+Circle(496) = {1055, 1049, 1060};
+Circle(497) = {1060, 1049, 1048};
+Circle(500) = {1061, 1062, 1063};
+Circle(501) = {1063, 1062, 1068};
+Circle(502) = {1068, 1062, 1073};
+Circle(503) = {1073, 1062, 1061};
+Circle(506) = {1074, 1075, 1076};
+Circle(507) = {1076, 1075, 1081};
+Circle(508) = {1081, 1075, 1086};
+Circle(509) = {1086, 1075, 1074};
+Circle(512) = {1087, 1088, 1089};
+Circle(513) = {1089, 1088, 1094};
+Circle(514) = {1094, 1088, 1099};
+Circle(515) = {1099, 1088, 1087};
+Circle(518) = {1100, 1101, 1102};
+Circle(519) = {1102, 1101, 1107};
+Circle(520) = {1107, 1101, 1112};
+Circle(521) = {1112, 1101, 1100};
+Circle(524) = {1113, 1114, 1115};
+Circle(525) = {1115, 1114, 1120};
+Circle(526) = {1120, 1114, 1125};
+Circle(527) = {1125, 1114, 1113};
+Circle(530) = {1126, 1127, 1128};
+Circle(531) = {1128, 1127, 1133};
+Circle(532) = {1133, 1127, 1138};
+Circle(533) = {1138, 1127, 1126};
+Circle(536) = {1139, 1140, 1141};
+Circle(537) = {1141, 1140, 1146};
+Circle(538) = {1146, 1140, 1151};
+Circle(539) = {1151, 1140, 1139};
+Circle(542) = {1152, 1153, 1154};
+Circle(543) = {1154, 1153, 1159};
+Circle(544) = {1159, 1153, 1164};
+Circle(545) = {1164, 1153, 1152};
+Circle(548) = {1165, 1166, 1167};
+Circle(549) = {1167, 1166, 1172};
+Circle(550) = {1172, 1166, 1177};
+Circle(551) = {1177, 1166, 1165};
+Circle(554) = {1178, 1179, 1180};
+Circle(555) = {1180, 1179, 1185};
+Circle(556) = {1185, 1179, 1190};
+Circle(557) = {1190, 1179, 1178};
+Circle(560) = {1191, 1192, 1193};
+Circle(561) = {1193, 1192, 1198};
+Circle(562) = {1198, 1192, 1203};
+Circle(563) = {1203, 1192, 1191};
+Circle(566) = {1204, 1205, 1206};
+Circle(567) = {1206, 1205, 1211};
+Circle(568) = {1211, 1205, 1216};
+Circle(569) = {1216, 1205, 1204};
+Circle(572) = {1217, 1218, 1219};
+Circle(573) = {1219, 1218, 1224};
+Circle(574) = {1224, 1218, 1229};
+Circle(575) = {1229, 1218, 1217};
+Circle(578) = {1230, 1231, 1232};
+Circle(579) = {1232, 1231, 1237};
+Circle(580) = {1237, 1231, 1242};
+Circle(581) = {1242, 1231, 1230};
+Circle(584) = {1243, 1244, 1245};
+Circle(585) = {1245, 1244, 1250};
+Circle(586) = {1250, 1244, 1255};
+Circle(587) = {1255, 1244, 1243};
+Circle(590) = {1256, 1257, 1258};
+Circle(591) = {1258, 1257, 1263};
+Circle(592) = {1263, 1257, 1268};
+Circle(593) = {1268, 1257, 1256};
+Circle(596) = {1269, 1270, 1271};
+Circle(597) = {1271, 1270, 1276};
+Circle(598) = {1276, 1270, 1281};
+Circle(599) = {1281, 1270, 1269};
+Circle(602) = {1282, 1283, 1284};
+Circle(603) = {1284, 1283, 1289};
+Circle(604) = {1289, 1283, 1294};
+Circle(605) = {1294, 1283, 1282};
+Circle(608) = {1295, 1296, 1297};
+Circle(609) = {1297, 1296, 1302};
+Circle(610) = {1302, 1296, 1307};
+Circle(611) = {1307, 1296, 1295};
+Circle(614) = {1308, 1309, 1310};
+Circle(615) = {1310, 1309, 1315};
+Circle(616) = {1315, 1309, 1320};
+Circle(617) = {1320, 1309, 1308};
+Circle(620) = {1321, 1322, 1323};
+Circle(621) = {1323, 1322, 1328};
+Circle(622) = {1328, 1322, 1333};
+Circle(623) = {1333, 1322, 1321};
+Circle(626) = {1334, 1335, 1336};
+Circle(627) = {1336, 1335, 1341};
+Circle(628) = {1341, 1335, 1346};
+Circle(629) = {1346, 1335, 1334};
+Line Loop(19) = {20, 21, 22, 23};
+Plane Surface(19) = {19};
+Line Loop(25) = {26, 27, 28, 29};
+Plane Surface(25) = {25};
+Line Loop(31) = {32, 33, 34, 35};
+Plane Surface(31) = {31};
+Line Loop(37) = {38, 39, 40, 41};
+Plane Surface(37) = {37};
+Line Loop(43) = {44, 45, 46, 47};
+Plane Surface(43) = {43};
+Line Loop(49) = {50, 51, 52, 53};
+Plane Surface(49) = {49};
+Line Loop(55) = {56, 57, 58, 59};
+Plane Surface(55) = {55};
+Line Loop(61) = {62, 63, 64, 65};
+Plane Surface(61) = {61};
+Line Loop(67) = {68, 69, 70, 71};
+Plane Surface(67) = {67};
+Line Loop(73) = {74, 75, 76, 77};
+Plane Surface(73) = {73};
+Line Loop(79) = {80, 81, 82, 83};
+Plane Surface(79) = {79};
+Line Loop(85) = {86, 87, 88, 89};
+Plane Surface(85) = {85};
+Line Loop(91) = {92, 93, 94, 95};
+Plane Surface(91) = {91};
+Line Loop(97) = {98, 99, 100, 101};
+Plane Surface(97) = {97};
+Line Loop(103) = {104, 105, 106, 107};
+Plane Surface(103) = {103};
+Line Loop(109) = {110, 111, 112, 113};
+Plane Surface(109) = {109};
+Line Loop(115) = {116, 117, 118, 119};
+Plane Surface(115) = {115};
+Line Loop(121) = {122, 123, 124, 125};
+Plane Surface(121) = {121};
+Line Loop(127) = {128, 129, 130, 131};
+Plane Surface(127) = {127};
+Line Loop(133) = {134, 135, 136, 137};
+Plane Surface(133) = {133};
+Line Loop(139) = {140, 141, 142, 143};
+Plane Surface(139) = {139};
+Line Loop(145) = {146, 147, 148, 149};
+Plane Surface(145) = {145};
+Line Loop(151) = {152, 153, 154, 155};
+Plane Surface(151) = {151};
+Line Loop(157) = {158, 159, 160, 161};
+Plane Surface(157) = {157};
+Line Loop(163) = {164, 165, 166, 167};
+Plane Surface(163) = {163};
+Line Loop(169) = {170, 171, 172, 173};
+Plane Surface(169) = {169};
+Line Loop(175) = {176, 177, 178, 179};
+Plane Surface(175) = {175};
+Line Loop(181) = {182, 183, 184, 185};
+Plane Surface(181) = {181};
+Line Loop(187) = {188, 189, 190, 191};
+Plane Surface(187) = {187};
+Line Loop(193) = {194, 195, 196, 197};
+Plane Surface(193) = {193};
+Line Loop(199) = {200, 201, 202, 203};
+Plane Surface(199) = {199};
+Line Loop(205) = {206, 207, 208, 209};
+Plane Surface(205) = {205};
+Line Loop(211) = {212, 213, 214, 215};
+Plane Surface(211) = {211};
+Line Loop(217) = {218, 219, 220, 221};
+Plane Surface(217) = {217};
+Line Loop(223) = {224, 225, 226, 227};
+Plane Surface(223) = {223};
+Line Loop(229) = {230, 231, 232, 233};
+Plane Surface(229) = {229};
+Line Loop(235) = {236, 237, 238, 239};
+Plane Surface(235) = {235};
+Line Loop(241) = {242, 243, 244, 245};
+Plane Surface(241) = {241};
+Line Loop(247) = {248, 249, 250, 251};
+Plane Surface(247) = {247};
+Line Loop(253) = {254, 255, 256, 257};
+Plane Surface(253) = {253};
+Line Loop(259) = {260, 261, 262, 263};
+Plane Surface(259) = {259};
+Line Loop(265) = {266, 267, 268, 269};
+Plane Surface(265) = {265};
+Line Loop(271) = {272, 273, 274, 275};
+Plane Surface(271) = {271};
+Line Loop(277) = {278, 279, 280, 281};
+Plane Surface(277) = {277};
+Line Loop(283) = {284, 285, 286, 287};
+Plane Surface(283) = {283};
+Line Loop(289) = {290, 291, 292, 293};
+Plane Surface(289) = {289};
+Line Loop(295) = {296, 297, 298, 299};
+Plane Surface(295) = {295};
+Line Loop(301) = {302, 303, 304, 305};
+Plane Surface(301) = {301};
+Line Loop(307) = {308, 309, 310, 311};
+Plane Surface(307) = {307};
+Line Loop(313) = {314, 315, 316, 317};
+Plane Surface(313) = {313};
+Line Loop(319) = {320, 321, 322, 323};
+Plane Surface(319) = {319};
+Line Loop(325) = {326, 327, 328, 329};
+Plane Surface(325) = {325};
+Line Loop(331) = {332, 333, 334, 335};
+Plane Surface(331) = {331};
+Line Loop(337) = {338, 339, 340, 341};
+Plane Surface(337) = {337};
+Line Loop(343) = {344, 345, 346, 347};
+Plane Surface(343) = {343};
+Line Loop(349) = {350, 351, 352, 353};
+Plane Surface(349) = {349};
+Line Loop(355) = {356, 357, 358, 359};
+Plane Surface(355) = {355};
+Line Loop(361) = {362, 363, 364, 365};
+Plane Surface(361) = {361};
+Line Loop(367) = {368, 369, 370, 371};
+Plane Surface(367) = {367};
+Line Loop(373) = {374, 375, 376, 377};
+Plane Surface(373) = {373};
+Line Loop(379) = {380, 381, 382, 383};
+Plane Surface(379) = {379};
+Line Loop(385) = {386, 387, 388, 389};
+Plane Surface(385) = {385};
+Line Loop(391) = {392, 393, 394, 395};
+Plane Surface(391) = {391};
+Line Loop(397) = {398, 399, 400, 401};
+Plane Surface(397) = {397};
+Line Loop(403) = {404, 405, 406, 407};
+Plane Surface(403) = {403};
+Line Loop(409) = {410, 411, 412, 413};
+Plane Surface(409) = {409};
+Line Loop(415) = {416, 417, 418, 419};
+Plane Surface(415) = {415};
+Line Loop(421) = {422, 423, 424, 425};
+Plane Surface(421) = {421};
+Line Loop(427) = {428, 429, 430, 431};
+Plane Surface(427) = {427};
+Line Loop(433) = {434, 435, 436, 437};
+Plane Surface(433) = {433};
+Line Loop(439) = {440, 441, 442, 443};
+Plane Surface(439) = {439};
+Line Loop(445) = {446, 447, 448, 449};
+Plane Surface(445) = {445};
+Line Loop(451) = {452, 453, 454, 455};
+Plane Surface(451) = {451};
+Line Loop(457) = {458, 459, 460, 461};
+Plane Surface(457) = {457};
+Line Loop(463) = {464, 465, 466, 467};
+Plane Surface(463) = {463};
+Line Loop(469) = {470, 471, 472, 473};
+Plane Surface(469) = {469};
+Line Loop(475) = {476, 477, 478, 479};
+Plane Surface(475) = {475};
+Line Loop(481) = {482, 483, 484, 485};
+Plane Surface(481) = {481};
+Line Loop(487) = {488, 489, 490, 491};
+Plane Surface(487) = {487};
+Line Loop(493) = {494, 495, 496, 497};
+Plane Surface(493) = {493};
+Line Loop(499) = {500, 501, 502, 503};
+Plane Surface(499) = {499};
+Line Loop(505) = {506, 507, 508, 509};
+Plane Surface(505) = {505};
+Line Loop(511) = {512, 513, 514, 515};
+Plane Surface(511) = {511};
+Line Loop(517) = {518, 519, 520, 521};
+Plane Surface(517) = {517};
+Line Loop(523) = {524, 525, 526, 527};
+Plane Surface(523) = {523};
+Line Loop(529) = {530, 531, 532, 533};
+Plane Surface(529) = {529};
+Line Loop(535) = {536, 537, 538, 539};
+Plane Surface(535) = {535};
+Line Loop(541) = {542, 543, 544, 545};
+Plane Surface(541) = {541};
+Line Loop(547) = {548, 549, 550, 551};
+Plane Surface(547) = {547};
+Line Loop(553) = {554, 555, 556, 557};
+Plane Surface(553) = {553};
+Line Loop(559) = {560, 561, 562, 563};
+Plane Surface(559) = {559};
+Line Loop(565) = {566, 567, 568, 569};
+Plane Surface(565) = {565};
+Line Loop(571) = {572, 573, 574, 575};
+Plane Surface(571) = {571};
+Line Loop(577) = {578, 579, 580, 581};
+Plane Surface(577) = {577};
+Line Loop(583) = {584, 585, 586, 587};
+Plane Surface(583) = {583};
+Line Loop(589) = {590, 591, 592, 593};
+Plane Surface(589) = {589};
+Line Loop(595) = {596, 597, 598, 599};
+Plane Surface(595) = {595};
+Line Loop(601) = {602, 603, 604, 605};
+Plane Surface(601) = {601};
+Line Loop(607) = {608, 609, 610, 611};
+Plane Surface(607) = {607};
+Line Loop(613) = {614, 615, 616, 617};
+Plane Surface(613) = {613};
+Line Loop(619) = {620, 621, 622, 623};
+Plane Surface(619) = {619};
+Line Loop(625) = {626, 627, 628, 629};
+Plane Surface(625) = {625};
+Line Loop(632) = {5, 4, 11, 12, -2, -23, -22, -21, -20, -29, -28, -27, -26, -35, -34, -33, -32, -41, -40, -39, -38, -47, -46, -45, -44, -53, -52, -51, -50, -59, -58, -57, -56, -65, -64, -63, -62, -71, -70, -69, -68, -77, -76, -75, -74, -83, -82, -81, -80, -89, -88, -87, -86, -95, -94, -93, -92, -101, -100, -99, -98, -107, -106, -105, -104, -113, -112, -111, -110, -119, -118, -117, -116, -125, -124, -123, -122, -131, -130, -129, -128, -137, -136, -135, -134, -143, -142, -141, -140, -149, -148, -147, -146, -155, -154, -153, -152, -161, -160, -159, -158, -167, -166, -165, -164, -173, -172, -171, -170, -179, -178, -177, -176, -185, -184, -183, -182, -191, -190, -189, -188, -197, -196, -195, -194, -203, -202, -201, -200, -209, -208, -207, -206, -215, -214, -213, -212, -221, -220, -219, -218, -227, -226, -225, -224, -233, -232, -231, -230, -239, -238, -237, -236, -245, -244, -243, -242, -251, -250, -249, -248, -257, -256, -255, -254, -263, -262, -261, -260, -269, -268, -267, -266, -275, -274, -273, -272, -281, -280, -279, -278, -287, -286, -285, -284, -293, -292, -291, -290, -299, -298, -297, -296, -305, -304, -303, -302, -311, -310, -309, -308, -317, -316, -315, -314, -323, -322, -321, -320, -329, -328, -327, -326, -335, -334, -333, -332, -341, -340, -339, -338, -347, -346, -345, -344, -353, -352, -351, -350, -359, -358, -357, -356, -365, -364, -363, -362, -371, -370, -369, -368, -377, -376, -375, -374, -383, -382, -381, -380, -389, -388, -387, -386, -395, -394, -393, -392, -401, -400, -399, -398, -407, -406, -405, -404, -413, -412, -411, -410, -419, -418, -417, -416, -425, -424, -423, -422, -431, -430, -429, -428, -437, -436, -435, -434, -443, -442, -441, -440, -449, -448, -447, -446, -455, -454, -453, -452, -461, -460, -459, -458, -467, -466, -465, -464, -473, -472, -471, -470, -479, -478, -477, -476, -485, -484, -483, -482, -491, -490, -489, -488, -497, -496, -495, -494, -503, -502, -501, -500, -509, -508, -507, -506, -515, -514, -513, -512, -521, -520, -519, -518, -527, -526, -525, -524, -533, -532, -531, -530, -539, -538, -537, -536, -545, -544, -543, -542, -551, -550, -549, -548, -557, -556, -555, -554, -563, -562, -561, -560, -569, -568, -567, -566, -575, -574, -573, -572, -581, -580, -579, -578, -587, -586, -585, -584, -593, -592, -591, -590, -599, -598, -597, -596, -605, -604, -603, -602, -611, -610, -609, -608, -617, -616, -615, -614, -623, -622, -621, -620, -629, -628, -627, -626};
+Plane Surface(632) = {632};
+Line Loop(634) = {8, 7, 10, 3, -5, -1, 9, -6};
+Plane Surface(634) = {634};
+OUTSLOT = 2000;
+Physical Line(OUTSLOT) = {8};
+BNDSLOT = 2001;
+Physical Line(BNDSLOT) = {1, 2, 3, 4, 6, 7, 9, 10, 11, 12};
+AIRSLOT = 1000;
+Physical Surface(AIRSLOT) = {632};
+AIR = 1001;
+Physical Surface(AIR) = {634};
+ALLCOND = 3000;
+Physical Surface(ALLCOND) = {19, 25, 31, 37, 43, 49, 55, 61, 67, 73, 79, 85, 91, 97, 103, 109, 115, 121, 127, 133, 139, 145, 151, 157, 163, 169, 175, 181, 187, 193, 199, 205, 211, 217, 223, 229, 235, 241, 247, 253, 259, 265, 271, 277, 283, 289, 295, 301, 307, 313, 319, 325, 331, 337, 343, 349, 355, 361, 367, 373, 379, 385, 391, 397, 403, 409, 415, 421, 427, 433, 439, 445, 451, 457, 463, 469, 475, 481, 487, 493, 499, 505, 511, 517, 523, 529, 535, 541, 547, 553, 559, 565, 571, 577, 583, 589, 595, 601, 607, 613, 619, 625};
+iCOND = 4000;
+Physical Surface(iCOND) = {19};
+Physical Surface(4001) = {25};
+Physical Surface(4002) = {31};
+Physical Surface(4003) = {37};
+Physical Surface(4004) = {43};
+Physical Surface(4005) = {49};
+Physical Surface(4006) = {55};
+Physical Surface(4007) = {61};
+Physical Surface(4008) = {67};
+Physical Surface(4009) = {73};
+Physical Surface(4010) = {79};
+Physical Surface(4011) = {85};
+Physical Surface(4012) = {91};
+Physical Surface(4013) = {97};
+Physical Surface(4014) = {103};
+Physical Surface(4015) = {109};
+Physical Surface(4016) = {115};
+Physical Surface(4017) = {121};
+Physical Surface(4018) = {127};
+Physical Surface(4019) = {133};
+Physical Surface(4020) = {139};
+Physical Surface(4021) = {145};
+Physical Surface(4022) = {151};
+Physical Surface(4023) = {157};
+Physical Surface(4024) = {163};
+Physical Surface(4025) = {169};
+Physical Surface(4026) = {175};
+Physical Surface(4027) = {181};
+Physical Surface(4028) = {187};
+Physical Surface(4029) = {193};
+Physical Surface(4030) = {199};
+Physical Surface(4031) = {205};
+Physical Surface(4032) = {211};
+Physical Surface(4033) = {217};
+Physical Surface(4034) = {223};
+Physical Surface(4035) = {229};
+Physical Surface(4036) = {235};
+Physical Surface(4037) = {241};
+Physical Surface(4038) = {247};
+Physical Surface(4039) = {253};
+Physical Surface(4040) = {259};
+Physical Surface(4041) = {265};
+Physical Surface(4042) = {271};
+Physical Surface(4043) = {277};
+Physical Surface(4044) = {283};
+Physical Surface(4045) = {289};
+Physical Surface(4046) = {295};
+Physical Surface(4047) = {301};
+Physical Surface(4048) = {307};
+Physical Surface(4049) = {313};
+Physical Surface(4050) = {319};
+Physical Surface(4051) = {325};
+Physical Surface(4052) = {331};
+Physical Surface(4053) = {337};
+Physical Surface(4054) = {343};
+Physical Surface(4055) = {349};
+Physical Surface(4056) = {355};
+Physical Surface(4057) = {361};
+Physical Surface(4058) = {367};
+Physical Surface(4059) = {373};
+Physical Surface(4060) = {379};
+Physical Surface(4061) = {385};
+Physical Surface(4062) = {391};
+Physical Surface(4063) = {397};
+Physical Surface(4064) = {403};
+Physical Surface(4065) = {409};
+Physical Surface(4066) = {415};
+Physical Surface(4067) = {421};
+Physical Surface(4068) = {427};
+Physical Surface(4069) = {433};
+Physical Surface(4070) = {439};
+Physical Surface(4071) = {445};
+Physical Surface(4072) = {451};
+Physical Surface(4073) = {457};
+Physical Surface(4074) = {463};
+Physical Surface(4075) = {469};
+Physical Surface(4076) = {475};
+Physical Surface(4077) = {481};
+Physical Surface(4078) = {487};
+Physical Surface(4079) = {493};
+Physical Surface(4080) = {499};
+Physical Surface(4081) = {505};
+Physical Surface(4082) = {511};
+Physical Surface(4083) = {517};
+Physical Surface(4084) = {523};
+Physical Surface(4085) = {529};
+Physical Surface(4086) = {535};
+Physical Surface(4087) = {541};
+Physical Surface(4088) = {547};
+Physical Surface(4089) = {553};
+Physical Surface(4090) = {559};
+Physical Surface(4091) = {565};
+Physical Surface(4092) = {571};
+Physical Surface(4093) = {577};
+Physical Surface(4094) = {583};
+Physical Surface(4095) = {589};
+Physical Surface(4096) = {595};
+Physical Surface(4097) = {601};
+Physical Surface(4098) = {607};
+Physical Surface(4099) = {613};
+Physical Surface(4100) = {619};
+Physical Surface(4101) = {625};
diff --git a/benchmarks/misc/colormaps/README b/benchmarks/misc/colormaps/README.txt
similarity index 100%
rename from benchmarks/misc/colormaps/README
rename to benchmarks/misc/colormaps/README.txt
diff --git a/contrib/ANN/README b/contrib/ANN/README.txt
similarity index 100%
rename from contrib/ANN/README
rename to contrib/ANN/README.txt
diff --git a/contrib/Chaco/README b/contrib/Chaco/README.txt
similarity index 100%
rename from contrib/Chaco/README
rename to contrib/Chaco/README.txt
diff --git a/contrib/MathEval/README b/contrib/MathEval/README.txt
similarity index 100%
rename from contrib/MathEval/README
rename to contrib/MathEval/README.txt
diff --git a/contrib/Metis/README b/contrib/Metis/README.txt
similarity index 95%
rename from contrib/Metis/README
rename to contrib/Metis/README.txt
index c257a6742ec0081949f01e78256a4c903b4aa8a5..5dde63ca7e05eb82d8a0973855df62b4d0096e12 100644
--- a/contrib/Metis/README
+++ b/contrib/Metis/README.txt
@@ -14,7 +14,7 @@ library compile on all the architectures supported by Gmsh)
  * Started 8/27/94
  * George
  *
- * $Id: README,v 1.4 2006-02-24 22:07:08 geuzaine Exp $
+ * $Id: README.txt,v 1.1 2009-08-15 09:31:23 geuzaine Exp $
  */
 
 
diff --git a/contrib/Netgen/README b/contrib/Netgen/README.txt
similarity index 100%
rename from contrib/Netgen/README
rename to contrib/Netgen/README.txt
diff --git a/contrib/Tetgen/README b/contrib/Tetgen/README.txt
similarity index 100%
rename from contrib/Tetgen/README
rename to contrib/Tetgen/README.txt
diff --git a/contrib/TetgenNew/README b/contrib/TetgenNew/README.txt
similarity index 100%
rename from contrib/TetgenNew/README
rename to contrib/TetgenNew/README.txt
diff --git a/utils/converters/xyz2pos.sh b/utils/converters/ascii/xyz2pos.sh
old mode 100644
new mode 100755
similarity index 100%
rename from utils/converters/xyz2pos.sh
rename to utils/converters/ascii/xyz2pos.sh
diff --git a/utils/converters/brl-cad/BRLFile.cpp b/utils/converters/brl-cad/BRLFile.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..63456272c826806bab3d2a3239f233597da063a1
--- /dev/null
+++ b/utils/converters/brl-cad/BRLFile.cpp
@@ -0,0 +1,478 @@
+/*
+    (C) 2009 Mark van Doesburg, Technolution B.V.
+
+    Distributed under GPL version 2
+*/
+
+#include <iterator>
+
+/* OpenCASCADE ************************************************************/
+#include <config.h>
+#include <TopoDS.hxx>
+#include <TopoDS_Shape.hxx>
+#include <TopoDS_Vertex.hxx>
+#include <TopoDS_Edge.hxx>
+#include <TopoDS_Shell.hxx>
+#include <TopoDS_Solid.hxx>
+#include <TopoDS_Compound.hxx>
+
+#include <BRepTools.hxx>
+#include <BRepBuilderAPI_MakeEdge.hxx>
+#include <BRepBuilderAPI_MakeFace.hxx>
+#include <BRepBuilderAPI_MakeVertex.hxx>
+#include <BRepBuilderAPI_MakeWire.hxx>
+#include <BRepBuilderAPI_MakeSolid.hxx>
+#include <BRepBuilderAPI_NurbsConvert.hxx>
+#include <BRepOffsetAPI_ThruSections.hxx>
+#include <BRep_Builder.hxx>
+#include <GC_MakeEllipse.hxx>
+#include <TopOpeBRep_DSFiller.hxx>
+#include <BRepPrimAPI_MakeSphere.hxx>
+#include <BRepPrimAPI_MakeBox.hxx>
+
+/* Boolean operations */
+#include <BRepAlgoAPI_Common.hxx>
+#include <BRepAlgoAPI_Fuse.hxx>
+#include <BRepAlgoAPI_Cut.hxx>
+#include <BRepAlgoAPI_Section.hxx>
+
+// NEW
+#include <BRepFill_Filling.hxx>
+#include <GeomFill_BSplineCurves.hxx>
+#include <TopTools.hxx>
+#include <ShapeFix_Solid.hxx>
+
+#include "BRLFile.h"
+
+#include "printing.h"
+
+#define scale 1
+
+////////////////////////////////////////////////////////////////////////////////
+// Construct TopoDS from BRL-CAD data
+////////////////////////////////////////////////////////////////////////////////
+BRLTopo::BRLTopo(struct rt_arb_internal *arb)
+{
+    TopoDS_Vertex v[8];
+    for(int i=0;i<8;i++)
+	v[i]=BRepBuilderAPI_MakeVertex(
+	    gp_Pnt(
+                scale*arb->pt[i][0],
+                scale*arb->pt[i][1],
+                scale*arb->pt[i][2]
+            )
+        );
+
+    int arbn;
+    if(!BRepTools::Compare(v[6],v[7]))
+	arbn=8;
+    else if(!BRepTools::Compare(v[4],v[5]))
+	arbn=7;
+    else if(!BRepTools::Compare(v[5],v[6]))
+	arbn=6;
+    else if(!BRepTools::Compare(v[0],v[3]))
+	arbn=5;
+    else
+	arbn=4;
+
+    switch(arbn) {
+    case 8: {
+	TopoDS_Edge e[12];
+	for(int i=0;i<4;i++) { 
+	    e[i]=BRepBuilderAPI_MakeEdge(v[i],v[(i+1)%4]);
+	    e[i+4]=BRepBuilderAPI_MakeEdge(v[i+4],v[(i+1)%4+4]);
+	    e[i+8]=BRepBuilderAPI_MakeEdge(v[i],v[(i+4)%8]);
+	}
+
+	TopoDS_Wire w[6];
+	w[0]=BRepBuilderAPI_MakeWire(e[0],e[1],e[2],e[3]);
+	w[1]=BRepBuilderAPI_MakeWire(e[4],e[5],e[6],e[7]);
+	w[2]=BRepBuilderAPI_MakeWire(e[0],e[9],e[4],e[8]);
+	w[3]=BRepBuilderAPI_MakeWire(e[1],e[10],e[5],e[9]);
+	w[4]=BRepBuilderAPI_MakeWire(e[2],e[11],e[6],e[10]);
+	w[5]=BRepBuilderAPI_MakeWire(e[3],e[8],e[7],e[11]);
+
+	BRep_Builder BB;
+	TopoDS_Shell shell;
+	BB.MakeShell(shell);
+	for(int i=0;i<6;i++) {
+	    TopoDS_Face f=BRepBuilderAPI_MakeFace(w[i]);
+	    BB.Add(shell,i? f.Reversed():f);
+	}
+	TopoDS_Solid solid;
+	BB.MakeSolid(solid);
+	BB.Add(solid,shell);
+	ShapeFix_Solid sf(solid);
+	sf.Perform();
+	shape=sf.Solid();
+	} break;
+    case 6: {
+	TopoDS_Edge e[9];
+        e[0]=BRepBuilderAPI_MakeEdge(v[0],v[1]);
+        e[1]=BRepBuilderAPI_MakeEdge(v[1],v[2]);
+        e[2]=BRepBuilderAPI_MakeEdge(v[2],v[3]);
+        e[3]=BRepBuilderAPI_MakeEdge(v[3],v[0]);
+        e[4]=BRepBuilderAPI_MakeEdge(v[0],v[4]);
+        e[5]=BRepBuilderAPI_MakeEdge(v[1],v[4]);
+        e[6]=BRepBuilderAPI_MakeEdge(v[2],v[6]);
+        e[7]=BRepBuilderAPI_MakeEdge(v[3],v[6]);
+        e[8]=BRepBuilderAPI_MakeEdge(v[4],v[6]);
+
+	TopoDS_Wire w[5];
+	w[0]=BRepBuilderAPI_MakeWire(e[0],e[1],e[2],e[3]);
+	w[1]=BRepBuilderAPI_MakeWire(e[0],e[4],e[5]);
+	w[2]=BRepBuilderAPI_MakeWire(e[2],e[6],e[7]);
+	w[3]=BRepBuilderAPI_MakeWire(e[3],e[4],e[8],e[7]);
+	w[4]=BRepBuilderAPI_MakeWire(e[1],e[5],e[8],e[6]);
+
+	BRep_Builder BB;
+#if 0
+	TopoDS_Compound result;
+	BB.MakeCompound(result);
+	for(int i=0;i<5;i++) {
+            BB.Add(result,BRepBuilderAPI_MakeFace(w[i]));
+	}
+	shape=result;
+#else
+	TopoDS_Shell shell;
+	BB.MakeShell(shell);
+	for(int i=0;i<5;i++) {
+	    TopoDS_Face f=BRepBuilderAPI_MakeFace(w[i]);
+	    BB.Add(shell,f); //i? f:f.Reversed());
+	}
+	TopoDS_Solid solid;
+	BB.MakeSolid(solid);
+	BB.Add(solid,shell);
+	ShapeFix_Solid sf(solid);
+	sf.Perform();
+	shape=sf.Solid();
+#endif
+	} break;
+    default:
+	cerr << "Unhandled arb8 type n=" << arbn << '\n';
+    }
+}
+
+BRLTopo::BRLTopo(struct rt_tgc_internal *tgc)
+{
+    /*  We use the same names as BRL-CAD, but use 4 vertices on the edges.
+        These additional vertices have their letter repeated and the
+        direction vector inverted.
+     */
+    gp_Pnt v(scale*tgc->v[0], scale*tgc->v[1], scale*tgc->v[2]);
+    gp_Pnt a(
+        scale*(v.Coord(1)+tgc->a[0]), 
+        scale*(v.Coord(2)+tgc->a[1]), 
+        scale*(v.Coord(3)+tgc->a[2]));
+    gp_Pnt b(
+        scale*(v.Coord(1)+tgc->b[0]), 
+        scale*(v.Coord(2)+tgc->b[1]), 
+        scale*(v.Coord(3)+tgc->b[2]));
+    gp_Pnt aa(
+        scale*(v.Coord(1)-tgc->a[0]), 
+        scale*(v.Coord(2)-tgc->a[1]), 
+        scale*(v.Coord(3)-tgc->a[2]));
+    gp_Pnt bb(
+        scale*(v.Coord(1)-tgc->b[0]), 
+        scale*(v.Coord(2)-tgc->b[1]), 
+        scale*(v.Coord(3)-tgc->b[2]));
+    Handle(Geom_Ellipse) top;
+    if(v.SquareDistance(a)<v.SquareDistance(b))
+	top=GC_MakeEllipse(b, aa, v); 
+    else
+	top=GC_MakeEllipse(a, b, v); 
+    TopoDS_Edge e_t[4];
+    e_t[0]=BRepBuilderAPI_MakeEdge(top,a,b);
+    e_t[1]=BRepBuilderAPI_MakeEdge(top,b,aa);
+    e_t[2]=BRepBuilderAPI_MakeEdge(top,aa,bb);
+    e_t[3]=BRepBuilderAPI_MakeEdge(top,bb,a);
+
+    gp_Pnt h(
+        scale*(v.Coord(1)+tgc->h[0]), 
+        scale*(v.Coord(2)+tgc->h[1]), 
+        scale*(v.Coord(3)+tgc->h[2]));
+    gp_Pnt c(
+        scale*(h.Coord(1)+tgc->c[0]), 
+        scale*(h.Coord(2)+tgc->c[1]), 
+        scale*(h.Coord(3)+tgc->c[2]));
+    gp_Pnt d(
+        scale*(h.Coord(1)+tgc->d[0]), 
+        scale*(h.Coord(2)+tgc->d[1]), 
+        scale*(h.Coord(3)+tgc->d[2]));
+    gp_Pnt cc(
+        scale*(h.Coord(1)-tgc->c[0]), 
+        scale*(h.Coord(2)-tgc->c[1]), 
+        scale*(h.Coord(3)-tgc->c[2]));
+    gp_Pnt dd(
+        scale*(h.Coord(1)-tgc->d[0]), 
+        scale*(h.Coord(2)-tgc->d[1]), 
+        scale*(h.Coord(3)-tgc->d[2]));
+    Handle(Geom_Ellipse) bottom;
+    if(h.SquareDistance(c)<h.SquareDistance(d))
+	bottom=GC_MakeEllipse(d, cc, h); 
+    else
+	bottom=GC_MakeEllipse(c, d, h); 
+    TopoDS_Edge e_b[4];
+    e_b[0]=BRepBuilderAPI_MakeEdge(bottom,c,d);
+    e_b[1]=BRepBuilderAPI_MakeEdge(bottom,d,cc);
+    e_b[2]=BRepBuilderAPI_MakeEdge(bottom,cc,dd);
+    e_b[3]=BRepBuilderAPI_MakeEdge(bottom,dd,c);
+
+#if 1
+    BRepOffsetAPI_ThruSections BB(Standard_True);
+    BB.AddWire(BRepBuilderAPI_MakeWire(e_t[0],e_t[1],e_t[2],e_t[3]));
+    BB.AddWire(BRepBuilderAPI_MakeWire(e_b[0],e_b[1],e_b[2],e_b[3]));
+    BB.CheckCompatibility(Standard_False);
+    shape=BB.Shape();
+#else
+    BRep_Builder BB;
+    TopoDS_Compound result;
+    BB.MakeCompound(result);
+    for(int i=0;i<4;i++) {
+	BB.Add(result,e_t[i]);
+	BB.Add(result,e_b[i]);
+    }
+    shape=result;
+#endif
+}
+
+BRLTopo::BRLTopo(struct rt_ell_internal *ell)
+{
+#if 0
+    gp_Pnt v(ell->v[0], ell->v[1], ell->v[2]);
+    gp_Pnt a(v.Coord(1)+ell->a[0], v.Coord(2)+ell->a[1], v.Coord(3)+ell->a[2]);
+    gp_Pnt b(v.Coord(1)+ell->b[0], v.Coord(2)+ell->b[1], v.Coord(3)+ell->b[2]);
+    gp_Pnt c(v.Coord(1)+ell->c[0], v.Coord(2)+ell->c[1], v.Coord(3)+ell->c[2]);
+    gp_Pnt aa(v.Coord(1)-ell->a[0], v.Coord(2)-ell->a[1], v.Coord(3)-ell->a[2]);
+    gp_Pnt bb(v.Coord(1)-ell->b[0], v.Coord(2)-ell->b[1], v.Coord(3)-ell->b[2]);
+    gp_Pnt cc(v.Coord(1)-ell->c[0], v.Coord(2)-ell->c[1], v.Coord(3)-ell->c[2]);
+
+    Handle(Geom_Ellipse) sect1=GC_MakeEllipse(a, b, v); 
+    Handle(Geom_Ellipse) sect2=GC_MakeEllipse(a, c, v); 
+    Handle(Geom_Ellipse) sect3=GC_MakeEllipse(b, c, v); 
+
+    TopoDS_Edge e_ab[4];
+    e_ab[0]=BRepBuilderAPI_MakeEdge(sect1,a,b);
+    e_ab[1]=BRepBuilderAPI_MakeEdge(sect1,b,aa);
+    e_ab[2]=BRepBuilderAPI_MakeEdge(sect1,aa,bb);
+    e_ab[3]=BRepBuilderAPI_MakeEdge(sect1,bb,a);
+
+    TopoDS_Edge e_ac[4];
+    e_ac[0]=BRepBuilderAPI_MakeEdge(sect2,c,aa);
+    e_ac[1]=BRepBuilderAPI_MakeEdge(sect2,a,c);
+    e_ac[2]=BRepBuilderAPI_MakeEdge(sect2,aa,cc);
+    e_ac[3]=BRepBuilderAPI_MakeEdge(sect2,cc,a); 
+
+    TopoDS_Edge e_bc[4];
+    e_bc[0]=BRepBuilderAPI_MakeEdge(sect3,b,c);
+    e_bc[1]=BRepBuilderAPI_MakeEdge(sect3,c,bb);
+    e_bc[2]=BRepBuilderAPI_MakeEdge(sect3,bb,cc);
+    e_bc[3]=BRepBuilderAPI_MakeEdge(sect3,cc,b); 
+
+    // FIXME, BRepFill_Filling?
+    TopoDS_Solid sph=BRepPrimAPI_MakeSphere(v,ell->a[0]);
+    TopoDS_Face init;
+    for(TopExp_Explorer p(sph,TopAbs_FACE); p.More(); p.Next())
+	init=TopoDS::Face(p.Current());
+    BRepFill_Filling face1;
+    //face1.LoadInitSurface(init);
+    face1.Add(e_ab[0],GeomAbs_C0);
+    face1.Add(e_ab[1],GeomAbs_C0);
+    face1.Add(e_ac[0],GeomAbs_C0);
+    face1.Add(e_ac[1],GeomAbs_C0);
+    face1.Add(e_bc[0],GeomAbs_C0,false);
+    face1.Build();
+
+    BRepFill_Filling face2;
+    //face2.LoadInitSurface(init);
+    face2.Add(e_ab[2],GeomAbs_C0);
+    face2.Add(e_ab[3],GeomAbs_C0);
+    face2.Add(e_ac[2],GeomAbs_C0);
+    face2.Add(e_ac[3],GeomAbs_C0);
+    face2.Add(e_bc[2],GeomAbs_C0,false);
+    face2.Build();
+
+    BRepFill_Filling face3;
+    //face3.LoadInitSurface(init);
+    face3.Add(e_ab[2],GeomAbs_C0);
+    face3.Add(e_ab[3],GeomAbs_C0);
+    face3.Add(e_ac[0],GeomAbs_C0);
+    face3.Add(e_ac[1],GeomAbs_C0);
+    face3.Add(e_bc[1],GeomAbs_C0,false);
+    face3.Build();
+
+    BRepFill_Filling face4;
+    //face4.LoadInitSurface(init);
+    face4.Add(e_ab[0],GeomAbs_C0);
+    face4.Add(e_ab[1],GeomAbs_C0);
+    face4.Add(e_ac[2],GeomAbs_C0);
+    face4.Add(e_ac[3],GeomAbs_C0);
+    face4.Add(e_bc[3],GeomAbs_C0,false);
+    face4.Build();
+
+    BRep_Builder BB;
+    TopoDS_Shell result;
+    BB.MakeShell(result);
+    BB.Add(result,face1.Face());
+    BB.Add(result,face2.Face().Reversed());
+    BB.Add(result,face3.Face());
+    BB.Add(result,face4.Face().Reversed());
+
+    shape=BRepBuilderAPI_MakeSolid(result);
+#else
+    /* FIXME, we only support spheres at the moment. */
+    gp_Pnt v(scale*ell->v[0], scale*ell->v[1], scale*ell->v[2]);
+    TopoDS_Solid sph=BRepPrimAPI_MakeSphere(v,scale*ell->a[0]);
+    shape=sph;
+#endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// Read the BRL-CAD file
+////////////////////////////////////////////////////////////////////////////////
+BRLFile::BRLFile(char *filename, int v)
+{
+    verbose=v;
+
+    dbip = db_open(filename, "r");
+    if(dbip==DBI_NULL)
+        return;
+
+    /* build a wdbp structure for convenient read/write */
+    wdbp = wdb_dbopen(dbip, RT_WDB_TYPE_DB_DISK);
+    if (db_dirbuild(dbip) < 0) {	/* create directory database contents */
+        bu_log("Error building directory for %s\n", filename);
+        exit(-1);
+    }
+}
+
+int BRLFile::AddModel(char const *name)
+{
+    if(dbip==DBI_NULL)
+        return 1;
+    struct directory *dp=db_lookup(dbip, name, 1);
+    if(dp == NULL)
+        return 1;
+
+    rt_init_resource( &rt_uniresource, 0, NULL );
+    db_functree(dbip, dp, CsgCombine, CsgLeaf, &rt_uniresource, this);
+
+    while(construction.size()>0) {
+	Add(construction.front());
+	construction.pop_front();
+    }
+    return 0;
+}
+
+TopoDS_Shape BRLFile::PerformBoolean(union tree *tp)
+{
+    TopoDS_Shape left, right, result;
+    if(tp->tr_op==OP_UNION || tp->tr_op==OP_INTERSECT || tp->tr_op==OP_SUBTRACT
+    ) {
+	left=PerformBoolean(tp->tr_b.tb_left);
+	right=PerformBoolean(tp->tr_b.tb_right);
+    }
+
+    if(verbose&BRL) {
+	switch(tp->tr_op) {
+	case OP_UNION:
+	case OP_INTERSECT:
+	case OP_SUBTRACT:
+		cout<< "    Bool " << *tp;
+		break;
+	case OP_DB_LEAF:
+	    if(verbose&BRL)
+		cout << "    Leaf " << tp->tr_l.tl_name;
+	    break;
+	}
+	cout << " remaining " << construction.size() << '\n';
+    }
+
+    switch(tp->tr_op) {
+    case OP_UNION:    return BRepAlgoAPI_Fuse(left,right); 
+    case OP_INTERSECT:return BRepAlgoAPI_Common(left,right);
+    case OP_SUBTRACT: return BRepAlgoAPI_Cut(left,right);
+    case OP_DB_LEAF:
+	result=construction.back();
+	construction.pop_back();
+	return result;
+    default:
+	std::cerr << "Invalid boolean operation in " << __FUNCTION__ << '\n';
+	return result;
+    }
+}
+
+void BRLFile::CsgCombine(struct db_i *dbip, struct directory *dp, genptr_t ptr)
+{
+    BRLFile *that=(BRLFile*)ptr;
+
+    struct rt_db_internal       ip;
+    if(rt_db_get_internal(&ip, dp, dbip, NULL, &rt_uniresource)!=ID_COMBINATION
+    ) {
+        std::cerr << "Combination is not a combination in " 
+	    << __FUNCTION__ << '\n';
+        exit(1);
+    }
+
+    struct rt_comb_internal *comb = (struct rt_comb_internal *)ip.idb_ptr;
+
+    if(that->verbose&BRL) {
+        std::cout << "Combine " << dp->d_namep << '\n';
+
+        std::cout << *comb;
+        std::cout << "    --------------------\n";
+        std::cout << "    " << comb->tree << '\n';
+    }
+
+    that->construction.push_back(that->PerformBoolean(comb->tree));
+}
+
+void BRLFile::CsgLeaf(struct db_i *dbip, struct directory *dp, genptr_t ptr)
+{
+    BRLFile *that=(BRLFile*)ptr;
+
+    if(that->verbose&BRL)
+        std::cout << "Leaf " << dp->d_namep << '\n';
+
+    struct rt_db_internal       ip;
+    switch(rt_db_get_internal(&ip, dp, dbip, (fastf_t *)NULL, &rt_uniresource)){
+    case ID_ARB8: {
+        struct rt_arb_internal *arb=(struct rt_arb_internal *)ip.idb_ptr;
+        if(that->verbose&BRL) {
+            std::cout << "    ARB8\n";
+            for(int i=0;i<8;i++) {
+                std::cout << "    pt[" << i << "]=" << arb->pt[i] << '\n';
+            } 
+        }
+        that->construction.push_front(BRLTopo(arb));
+        } break;
+    case ID_TGC: {
+        struct rt_tgc_internal *tgc=(struct rt_tgc_internal *)ip.idb_ptr;
+        if(that->verbose&BRL) {
+            std::cout 
+                << "    TGC\n"
+                << "    v=" << tgc->v << '\n'
+                << "    h=" << tgc->h << '\n'
+                << "    a=" << tgc->a << '\n'
+                << "    b=" << tgc->b << '\n'
+                << "    c=" << tgc->c << '\n'
+                << "    d=" << tgc->d << '\n';
+        }
+        that->construction.push_front(BRLTopo(tgc));
+        } break;
+    case ID_ELL: {
+        struct rt_ell_internal *ell=(struct rt_ell_internal *)ip.idb_ptr;
+        if(that->verbose&BRL) {
+            std::cout << "    v=" << ell->v << '\n';
+            std::cout << "    a=" << ell->a << '\n';
+            std::cout << "    b=" << ell->b << '\n';
+            std::cout << "    c=" << ell->c << '\n';
+        }
+        that->construction.push_front(BRLTopo(ell));
+        } break;
+    default:
+        std::cout << "    Unhandled type " << 
+            rt_db_get_internal(&ip, dp, dbip, (fastf_t *)NULL, &rt_uniresource) 
+            << '\n';
+    }
+}
diff --git a/utils/converters/brl-cad/BRLFile.h b/utils/converters/brl-cad/BRLFile.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0106875ee5b65efd12637feb9a1e3a1aeae5543
--- /dev/null
+++ b/utils/converters/brl-cad/BRLFile.h
@@ -0,0 +1,40 @@
+/*
+    (C) 2009 Mark van Doesburg, Technolution B.V.
+
+    Distributed under GPL version 2
+*/
+
+#include "OCC_Connect.h"
+
+/* BRL-CAD ************************************************************/
+#include "common.h"
+#include "vmath.h"		/* vector math macros */
+#include "raytrace.h"		/* librt interface definitions */
+#include "rtgeom.h"
+#include "wdb.h"
+
+class BRLTopo {
+    TopoDS_Shape shape;
+public:
+    BRLTopo(TopoDS_Shape const &s) { shape=s; }
+    BRLTopo(struct rt_arb_internal *arb);
+    BRLTopo(struct rt_tgc_internal *tgc);
+    BRLTopo(struct rt_ell_internal *ell);
+    operator TopoDS_Shape&() { return shape; }
+};
+
+class BRLFile:public OCC_Connect {
+    struct rt_wdb *wdbp;
+    struct db_i *dbip;
+    struct rt_db_internal ip;
+    std::deque<BRLTopo> construction;
+public:
+    enum Verbose { Cutting=1, BRL=2 };
+    BRLFile(char *filename,int v=0);
+    int AddModel(char const *);
+private:
+    static void CsgCombine(struct db_i *, struct directory *, genptr_t);
+    static void CsgLeaf(struct db_i *, struct directory *, genptr_t);
+    TopoDS_Shape PerformBoolean(union tree*);
+};
+
diff --git a/utils/converters/brl-cad/README.txt b/utils/converters/brl-cad/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2e4bca4de7fad5b61c458d796e94c69888ebd76d
--- /dev/null
+++ b/utils/converters/brl-cad/README.txt
@@ -0,0 +1,22 @@
+This is a tool to convert a BRL CAD model to an OpenCASCADE brep
+file. To compile this program you need BRL CAD and it's sources to be
+installed. Set the paths BRL_SRC and BRL_LIB in the Makefile and type
+make. On 32 bit systems the -D_OCC64 option must be removed.
+
+To use the program type:
+
+	g-brep test.g complex.r tst_corner1.s tst_com.s tst_acom.s
+
+The first parameter is the BRL database, the subsequent parameters are
+the models to be included in the brep file. Note that these models will
+become single solids. All these solids will be connected to each other.
+
+It is possible to skip the connecting algorithm when the "-c" option
+is used. This is used to test the connecting algorithm in gmsh.
+
+The result of the g-brep program is test.brep which can be read by gmsh,
+if gmsh is compiled with OCC support.
+
+This program has been tested with brlcad-7.14.6 and OpenCASCADE-6.3.0.
+
+Mark van Doesburg.
diff --git a/utils/converters/brl-cad/g-brep.cpp b/utils/converters/brl-cad/g-brep.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..81c32f9af8bccaba7b2981afc73a6abdd73b1137
--- /dev/null
+++ b/utils/converters/brl-cad/g-brep.cpp
@@ -0,0 +1,52 @@
+/*
+    (C) 2009 Mark van Doesburg, Technolution B.V.
+
+    Distributed under GPL version 2
+
+    Use this program to translate a BRL-CAD file to a brep file which
+    can be read using OpenCASCADE.
+
+    format: g-brep {filename} {model} [model] ...
+
+ */
+
+#include "BRLFile.h"
+#include <string>
+
+main(int argc, char **argv)
+{
+    if(argc<3) {
+        cerr << "Filename and object name(s) required\n";
+        return 1;
+    }
+    BRLFile solid(argv[1],BRLFile::Cutting|BRLFile::BRL);
+    int connect=1;
+    for(int i=2; i<argc; i++) {
+        if(argv[i][0]=='-') {
+            switch(argv[i][1]) {
+            case 'c': connect=0; break;
+            default:
+                cerr << "Unknown option :" << argv[i] << "\n";
+                return 1;
+            }
+        } else if(solid.AddModel(argv[i])) {
+	    cerr << "Cannot find model " << argv[i] << '\n';
+	    return 1;
+	}
+    }
+    if(connect)
+        solid.Connect(); 
+    else
+        solid.Collect();
+
+    std::string newname=argv[1];
+    int start=newname.find(".g");
+    if(start==std::string::npos) {
+	newname+=".brep";
+	std::cerr << "Cannot find the .g extension, writing to: "
+	    << newname << std::endl;
+    } else
+	newname.replace(start,newname.length(),".brep");
+    solid.SaveBRep(newname.c_str());
+    //solid.Dump(cout);
+}
diff --git a/utils/converters/brl-cad/printing.h b/utils/converters/brl-cad/printing.h
new file mode 100644
index 0000000000000000000000000000000000000000..86f1b416c14db286acf86093ca0bfc7de516a5f9
--- /dev/null
+++ b/utils/converters/brl-cad/printing.h
@@ -0,0 +1,89 @@
+/*
+    (C) 2009 Mark van Doesburg, Technolution B.V.
+
+    Distributed under GPL version 2
+*/
+
+#include "tprintf.h"
+
+class Indent {
+    char *buffer;
+public:
+    Indent(int i) { buffer=new char[i+1]; memset(buffer,' ',i); buffer[i]=0; }
+    ~Indent() { delete buffer; }
+    operator const char*() { return buffer; }
+};
+
+std::ostream &operator <<(std::ostream &o,rt_comb_internal const &c)
+{
+    o << "    unsigned long magic       " << c.magic << '\n';
+    o << "    union tree * tree         " << c.tree << '\n';
+    o << "    char	 region_flag    " << (int)c.region_flag << '\n';
+    o << "    char	 is_fastgen     " << (int)c.is_fastgen << '\n';
+
+    /* Begin GIFT compatability */
+    o << "    long	 region_id      " << c.region_id << '\n';
+    o << "    long	 aircode        " << c.aircode << '\n';
+    o << "    long	 GIFTmater      " << c.GIFTmater << '\n';
+    o << "    long	 los            " << c.los << '\n';
+    /* End GIFT compatability */
+
+    o << "    char	 rgb_valid      " << (int)c.rgb_valid << '\n';
+    o << "    unsigned char	rgb[3]  " << (int)c.rgb[0] << ',' 
+	<< (int)c.rgb[1] << ',' << (int)c.rgb[2] << '\n';
+    o << "    float	 temperature    " << c.temperature << '\n';
+    //cout << "    struct bu_vls shader " << c.shader << '\n';
+    //cout << "    struct bu_vls material " << c.material << '\n';
+    o << "    char	 inherit        " << (int)c.inherit << '\n';
+    return o;
+}
+
+std::ostream &operator <<(std::ostream &o,point_t const &p)
+{
+    for(int i=0;i<ELEMENTS_PER_POINT;i++) {
+        o<< (i? ',':'(') << p[i];
+    }
+    o<<')';
+}
+
+template <typename T>
+std::ostream & operator<<(std::ostream &out, std::set<T> const &a)
+{ 
+    std::copy(a.begin(),a.end(),std::ostream_iterator<T>(out," "));
+    return out;
+}
+
+std::ostream &operator <<(std::ostream &o,union tree &p)
+{
+    if(p.tr_a.magic!=RT_TREE_MAGIC)
+        return o << "INVALID";
+    switch(p.tr_op) {
+    case OP_SOLID:      return o << "OP_SOLID";
+    case OP_UNION:      return o << "OP_UNION";
+    case OP_INTERSECT:  return o << "OP_INTERSECT";
+    case OP_SUBTRACT:   return o << "OP_SUBTRACT";
+    case OP_XOR:        return o << "OP_XOR";
+    case OP_REGION:     return o << "OP_REGION";
+    case OP_NOP:        return o << "OP_NOP";
+    case OP_NOT:        return o << "OP_NOT";
+    case OP_GUARD:      return o << "OP_GUARD";
+    case OP_XNOP:       return o << "OP_XNOP";
+    case OP_NMG_TESS:   return o << "OP_NMG_TESS";
+    case OP_DB_LEAF:    return o << "OP_DB_LEAF";
+    case OP_FREE:       return o << "OP_FREE";
+    default:            return o << "UNKNOWN";
+    }
+}
+
+std::ostream &operator <<(std::ostream &o,union tree *p)
+{
+    switch(p->tr_op) {
+    case OP_DB_LEAF:
+    case OP_SOLID:    return o << p->tr_l.tl_name;
+    case OP_UNION:    return o << p->tr_b.tb_left << " u " << p->tr_b.tb_right;
+    case OP_INTERSECT:return o << p->tr_b.tb_left << " + " << p->tr_b.tb_right;
+    case OP_SUBTRACT: return o << p->tr_b.tb_left << " - " << p->tr_b.tb_right;
+    default:          return o << *p;
+    }
+}
+
diff --git a/utils/converters/brl-cad/test.brep b/utils/converters/brl-cad/test.brep
new file mode 100644
index 0000000000000000000000000000000000000000..79652b682d55bec6f75411ea4765ec0dd10da762
--- /dev/null
+++ b/utils/converters/brl-cad/test.brep
@@ -0,0 +1,971 @@
+DBRep_DrawableShape
+
+CASCADE Topology V1, (c) Matra-Datavision
+Locations 0
+Curve2ds 72
+8 0 0.002
+1 0 0 -1 0 
+8 0 0.002
+1 0 0 0 1 
+8 0 0.002
+1 -0.002 0 0 1 
+8 0 0.002
+1 0 0 0 -1 
+8 0 0.002
+1 -0.002 0.002 1 0 
+8 0 0.002
+1 0 0 -0 -1 
+8 0 0.002
+1 0 0.002 -0 -1 
+8 0 0.002
+1 0 0 0 1 
+8 0 0.002
+1 0 0.002 1 0 
+8 0 0.002
+1 0 0 -1 -0 
+8 0 0.002
+1 0.002 0 0 1 
+8 0 0.002
+1 0 0 -1 0 
+8 0 0.002
+1 0 0 1 0 
+8 0 0.002
+1 0 0.002 1 0 
+8 0 1
+7 0 0  4 101 34  -0.0009999999999999998 -0.0013750000000000004  -0.00099676023342794014 -0.0013749999995582044  -0.00099352046693931351 -0.0013749306032847487  -0.00099028189969533665 -0.0013747918094883529  -0.00098380956055890982 -0.0013743755849250881  -0.00098057578844435323 -0.0013740981537991288  -0.0009773456115629727 -0.0013737514812906105  -0.00097089483573322886 -0.0013729199616406293  -0.00096767423665511604 -0.0013724351144616537  -0.00096445962068302167 -0.0013718813340720508  -0.00095804472893040932 -0.0013706363676520093  -0.00095484445302226851 -0.0013699451815657202  -0.00095165253483315258 -0.001369185523149672  -0.00094528776951682142 -0.00136752987426685  -0.00094211492226283801 -0.0013666338837424387  -0.0009389527888220661 -0.0013656700336036436  -0.00093265228173814081 -0.0013636073773495739  -0.00092951390796795785 -0.0013625085711806348  -0.00092638858035331304 -0.001361342668702662  -0.00092016632094885044 -0.0013588775834472279  -0.00091706938903134377 -0.0013575784006194845  -0.00091398780666997138 -0.0013562130337660195  -0.00090785761069755132 -0.0013533509914209624  -0.00090480899695856713 -0.0013518543158788504  -0.00090177800210452467 -0.0013502925155985032  -0.00089575348076683054 -0.0013470398697176997  -0.00089275995415601919 -0.0013453490240621349  -0.00088978627663261964 -0.0013435942576327225  -0.00088388080626626282 -0.0013399582294166274  -0.00088094901329823264 -0.0013380769675665769  -0.00087803925552920104 -0.0013361331309135343  -0.00087226594787695173 -0.0013321217931851869  -0.0008694023978720011 -0.0013300542920359495  -0.00086656302022535415 -0.0013279257010592443  -0.00086093469334584595 -0.0013235479602792149  -0.00085814574399553027 -0.0013212988103905973  -0.00085538305046402481 -0.0013189901913342335  -0.00084991220032792946 -0.0013142557677218386  -0.00084720404361065204 -0.0013118299630696488  -0.0008445241678526462 -0.0013093464419675718  -0.00083922294067425218 -0.0013042658477956351  -0.00083660158914596202 -0.0013016687746200926  -0.00083401048091059633 -0.0012990158658520825  -0.00082889064626365976 -0.0012936003819824155  -0.00082636191974863778 -0.001290837806767248  -0.00082386533170929492 -0.00128802140075816  -0.0008189382564760166 -0.0012822830514848723  -0.00081650776918257414 -0.001279361108100919  -0.00081411124420272126 -0.0012763874581964989  -0.00080938786740466682 -0.00127033898446413  -0.00080706101549045341 -0.0012672641605113288  -0.00080476987434607633 -0.0012641398690637134  -0.00080026068290587108 -0.0012577947001270978  -0.00079804263251734731 -0.0012545738225086798  -0.00079586196210033368 -0.0012513058262046623  -0.00079157696758297349 -0.0012446780497973404  -0.00078947264339348849 -0.0012413182695599873  -0.00078740728542045784 -0.0012379138240251315  -0.00078335600180311432 -0.0012310181551030482  -0.00078137007607391776 -0.0012275269315766243  -0.0007794246163251216 -0.0012239935952883985  -0.00077561603884435852 -0.0012168453434155471  -0.00077375292103283577 -0.0012132304276858718  -0.0007719316791458458 -0.001209576045229075  -0.00076837426427122128 -0.0012021910806717005  -0.00076663809121061311 -0.0011984604984196594  -0.00076494511105358414 -0.0011946931831175447  -0.00076164675763669312 -0.0011870879017135136  -0.00076004138431154844 -0.0011832499354535583  -0.00075848042496090204 -0.0011793780514083026  -0.000755448456608955 -0.0011715693382781899  -0.00075397744755067401 -0.0011676325090291674  -0.00075255197489801037 -0.0011636646526054465  -0.00074979312362114122 -0.001155669844771959  -0.00074845974494801466 -0.0011516428931929795  -0.00074717292396104694 -0.0011475878739786735  -0.000744693315142591 -0.00113942472196102  -0.00074350052726892591 -0.0011353165889850159  -0.00074235521493110719 -0.001131183410263172  -0.00074016035367016684 -0.0011228700387130954  -0.0007391108047092212 -0.0011186898457105723  -0.00073810954366263512 -0.0011144876844769627  -0.00073620430253829288 -0.0011060425519232042  -0.00073530032242395433 -0.001101799580428711  -0.00073444533533986093 -0.0010975377669893882  -0.00073283394364643867 -0.0010889796247574648  -0.00073207753899878173 -0.001084683295791341  -0.00073137072370001979 -0.001080371292974644  -0.00073005675820280737 -0.0010717191433489226  -0.00072944960796288085 -0.0010673789963670458  -0.00072889253332211572 -0.0010630263783844563  -0.0007278789105829986 -0.0010542994320796772  -0.00072742236244237183 -0.0010499251035840556  -0.00072701626507997612 -0.001045541534574273  -0.00072630523540236438 -0.0010367591675837433  -0.00072600030305315936 -0.0010323603694271735  -0.00072574608485828033 -0.0010279555817175167  -0.00072527141839537498 -0.001017667576317692  -0.0007250904728664468 -0.0010117809688340248  -0.00072500000043197786 -0.0010058904844084818  -0.00072500000000000006 -0.001 
+ 0 5 0.02999999206140359 3 0.059999980056328228 3 0.089999973022479002 3 0.11999997309541297 3 0.14999997879185498 3 0.17999998733081851 3 0.2099999960215877 3 0.24000000295689533 3 0.27000000721961759 3 0.30000000877947447 3 0.33000000822360626 3 0.36000000643270597 3 0.39000000428337406 3 0.42000000242850055 3 0.4500000011814641 3 0.48000000050760411 3 0.51000000010814461 3 0.53999999956816913 3 0.56999999853158778 3 0.59999999686252214 3 0.62999999475425938 3 0.65999999275396404 3 0.68999999168324322 3 0.71999999245145807 3 0.74999999577966336 3 0.78000000187799257 3 0.81000001014726342 3 0.84000001900592047 3 0.87000002597538184 3 0.90000002818946989 3 0.93000002352574029 3 0.96000001258730916 3 1 5
+8 0 1
+7 0 0  4 101 34  6.2831853071795862 0.74999999999999989  6.2714043378266195 0.74999999999999989  6.2596233655247113 0.74999999999999989  6.2478423914671399 0.75000000000000011  6.2242804448812477 0.75000000000000011  6.2124994718791715 0.75000000000000011  6.2007184993254185 0.75000000000000011  6.1771565538661815 0.75000000000000011  6.1653755808108492 0.75000000000000033  6.1535946087676301 0.74999999999999989  6.1300326639776497 0.74999999999999989  6.1182516910777043 0.74999999999999989  6.1064707191079144 0.74999999999999989  6.0829087746121591 0.74999999999999989  6.0711278019303094 0.74999999999999989  6.0593468298210951 0.74999999999999989  6.0357848853833813 0.74999999999999989  6.0240039128969194 0.74999999999999989  6.012222940581748 0.74999999999999989  5.9886609960716832 0.74999999999999989  5.9768800237173156 0.74999999999999989  5.9650990512155175 0.74999999999999989  5.941537106579208 0.74999999999999989  5.9297561342842009 0.74999999999999989  5.9179751616561784 0.74999999999999989  5.8944132168910111 0.74999999999999989  5.8826322445927755 0.74999999999999989  5.8708512719088599 0.74999999999999989  5.8472893270425326 0.74999999999999989  5.835508354698792 0.74999999999999989  5.8237273820196558 0.74999999999999989  5.8001654370934803 0.74999999999999989  5.7883844646851319 0.74999999999999989  5.7766034920516214 0.74999999999999989  5.753041547107979 0.74999999999999989  5.7412605746367245 0.74999999999999989  5.7294796020669709 0.74999999999999989  5.7059176571407004 0.74999999999999989  5.6941366846233654 0.74999999999999989  5.6823557121150898 0.74999999999999989  5.6587937672285049 0.74999999999999989  5.6470127946897106 0.74999999999999989  5.6352318222258884 0.74999999999999989  5.6116698773869551 0.74999999999999989  5.5998889048516833 0.74999999999999989  5.5881079324077811 0.74999999999999989  5.5645459876109866 0.74999999999999989  5.5527650150981804 0.74999999999999989  5.5409840426495549 0.74999999999999989  5.5174220978788533 0.74999999999999989  5.5056411253970028 0.74999999999999989  5.4938601529252153 0.74999999999999989  5.470298208158443 0.74999999999999989  5.4585172357036962 0.74999999999999989  5.446736263200858 0.74999999999999989  5.4231743184149481 0.74999999999999989  5.4113933459720176 0.74999999999999989  5.3996123734425776 0.74999999999999989  5.3760504286188997 0.74999999999999989  5.3642694561645978 0.74999999999999989  5.3524884836243816 0.74999999999999989  5.3289265387535032 0.74999999999999989  5.3171455662624627 0.74999999999999989  5.3053645937350753 0.74999999999999989  5.2818026488202516 0.74999999999999989  5.270021676272111 0.74999999999999989  5.2582407037830849 0.74999999999999989  5.2346787588419108 0.74999999999999989  5.2228977862287342 0.74999999999999989  5.2111168137983404 0.74999999999999989  5.1875548688618629 0.74999999999999989  5.175773896194527 0.74999999999999989  5.1639929238302464 0.74999999999999989  5.1404309789391096 0.74999999999999989  5.1286500062508997 0.74999999999999989  5.1168690339410441 0.74999999999999989  5.0933070891381051 0.74999999999999989  5.0815261164838113 0.74999999999999989  5.0697451441938091 0.74999999999999989  5.0461831995129502 0.74999999999999989  5.0344022269613538 0.74999999999999989  5.0226212546346574 0.74999999999999989  4.9990593100854879 0.74999999999999989  4.9872783377031524 0.74999999999999989  4.9754973652687378 0.74999999999999989  4.9519354208170565 0.74999999999999989  4.9401544486412536 0.74999999999999967  4.9283734760298454 0.74999999999999978  4.9048115315738077 0.74999999999999978  4.8930305595725407 0.74999999999999978  4.8812495867436301 0.74999999999999967  4.8576876420858168 0.74999999999999967  4.8459066701027655 0.74999999999999967  4.8341256970846782 0.74999999999999967  4.8105637519002373 0.74999999999999967  4.7987827795828366 0.74999999999999967  4.7870018065278162 0.74999999999999967  4.7595128685772705 0.74999999999999967  4.7438049026515365 0.74999999999999967  4.7280969388073366 0.74999999999999989  4.7123889803846897 0.75000000000000011 
+ 0 5 0.02999999206140359 3 0.059999980056328228 3 0.089999973022479002 3 0.11999997309541297 3 0.14999997879185498 3 0.17999998733081851 3 0.2099999960215877 3 0.24000000295689533 3 0.27000000721961759 3 0.30000000877947447 3 0.33000000822360626 3 0.36000000643270597 3 0.39000000428337406 3 0.42000000242850055 3 0.4500000011814641 3 0.48000000050760411 3 0.51000000010814461 3 0.53999999956816913 3 0.56999999853158778 3 0.59999999686252214 3 0.62999999475425938 3 0.65999999275396404 3 0.68999999168324322 3 0.71999999245145807 3 0.74999999577966336 3 0.78000000187799257 3 0.81000001014726342 3 0.84000001900592047 3 0.87000002597538184 3 0.90000002818946989 3 0.93000002352574029 3 0.96000001258730916 3 1 5
+8 0 1
+7 0 0  4 101 34  -0.00072499999999999984 -0.001  -0.00072500000032398341 -0.00099558213649264559  -0.00072505089092451795 -0.00099116427309906387  -0.00072515267304187458 -0.00098674804503909525  -0.00072545790438826891 -0.00097792212803487718  -0.00072566135388063915 -0.00097351243878775434  -0.00072591558038688573 -0.00096910765213132635  -0.00072652536146353868 -0.00096031113963622103  -0.00072688091606145429 -0.00095591941362061297  -0.00072728702168049612 -0.00095153584638593832  -0.00072819999705519341 -0.00094278826672328534  -0.00072870686685180559 -0.00093842425412127512  -0.00072926394969024069 -0.00093407163840884453  -0.00073047809220431017 -0.0009253924129774833  -0.00073113515192221184 -0.00092106580308568865  -0.00073184197535732843 -0.00091675380293918093  -0.00073335458994364599 -0.00090816220237019234  -0.00073416038113420122 -0.00090388260177448772  -0.00073501537628471475 -0.00089962079139088182  -0.00073682310547203297 -0.00089113589220297885  -0.0007377758395457119 -0.00088691280322455849  -0.00073877710857158578 -0.00088271064545905273  -0.00074087593962462788 -0.00087435128731484281  -0.0007419735016888434 -0.00087019408676168293  -0.00074311882189443128 -0.00086606091196071548  -0.00074550409554035386 -0.00085784565559113258  -0.00074674404902110123 -0.00085376357384911721  -0.00074803087773600368 -0.00084970855904448151  -0.00075069729842780659 -0.0008416556449085406  -0.00075207689045117749 -0.00083765774540668029  -0.00075350237066340836 -0.00083368989390345634  -0.00075644401833086276 -0.00082581720165038927  -0.00075796018584030442 -0.00082191236073454537  -0.00075952115255655407 -0.00081804048212548365  -0.00076273149579524253 -0.00081036549092615418  -0.00076438087238022909 -0.00080656237817572168  -0.00076607385968822874 -0.00080279506881457971  -0.0007695457703373183 -0.00079533481862899529  -0.00077132469374892462 -0.00079164187765088821  -0.00077314594255711399 -0.00078798750161724533  -0.00077687171161653463 -0.00078075855546488936  -0.00077877623194526552 -0.00077718398519903962  -0.00078072169837513968 -0.00077365065578717637  -0.00078469305321289551 -0.00076666906308680866  -0.0007867189417040182 -0.00076322079965723399  -0.00078878430611068297 -0.00075981636142176574  -0.00079299242891109388 -0.00075309762246729558  -0.00079513518739265953 -0.00074978332161260131  -0.00079731586398923437 -0.0007465153330037112  -0.00080175141139297141 -0.00074007436464272841  -0.00080400628229169318 -0.00073690138475970834  -0.00080629742935327665 -0.00073377710138101406  -0.00081095055324012901 -0.0007276282039625514  -0.00081331253016030125 -0.00072460358979638338  -0.00081570906078324808 -0.00072162994831863705  -0.0008205694301486173 -0.00071578677397678245  -0.00082303326898934277 -0.00071291724099112135  -0.00082552986238157043 -0.00071010084375517019  -0.0008305866862577645 -0.00070457636609515685  -0.00083314691684380964 -0.00070186828555534242  -0.00083573803012184115 -0.0006992153858978936  -0.00084098008149526568 -0.00069402187115139816  -0.00084363101969702728 -0.00069148125595386767  -0.00084631090016534555 -0.00068899774428979007  -0.00085172654084075361 -0.00068414672400621095  -0.0008544623011589159 -0.00068177921528720048  -0.00085722499904713459 -0.00067947060598216012  -0.0008628022054100906 -0.00067497285132276329  -0.0008656167140007236 -0.00067278370587938504  -0.00086845609563391169 -0.00067065512494668455  -0.0008741824852626605 -0.00066652062264857526  -0.00087706949337861136 -0.00066451470120546419  -0.00087997925475600581 -0.00066257087486092364  -0.00088584211383389649 -0.00065880880493792034  -0.00088879521165848279 -0.00065699056129274653  -0.00089176889241563881 -0.00065523580540142816  -0.00089775520389525211 -0.00065185452064898779  -0.00090076783474432208 -0.0006502279917303533  -0.0009037988324736738 -0.0006486662021787825  -0.00090989530494373083 -0.00064567320955022714  -0.00091296077981224591 -0.00064424200642166588  -0.00091604236471689476 -0.00064287665044904761  -0.00092223546192298357 -0.00064027859437039935  -0.00092534697435227894 -0.00063904589421448347  -0.00092847230420778218 -0.00063788000273617409  -0.00093474827517786021 -0.00063568265042696147  -0.00093789891641968238 -0.00063465118954379415  -0.00094106105181859519 -0.00063368735050002708  -0.00094740596154412374 -0.00063189557936746475  -0.00095058873599749997 -0.00063106764722211067  -0.00095378065585139901 -0.00063030799998470364  -0.00096018041647490289 -0.00062892578715863516  -0.00096338825737169419 -0.00062830322151232571  -0.00096660287464553287 -0.00062774945238178615  -0.00097304327710525578 -0.00062677986645777017  -0.00097626906242007257 -0.00062636404961794573  -0.00097949924007382171 -0.00062601738844311023  -0.00098704377736702617 -0.0006253701159936938  -0.00099136062285504895 -0.00062512337209060973  -0.0009956803114337799 -0.00062500000058906104  -0.001 -0.00062500000000000001 
+ 0 5 0.029999992061432858 3 0.059999980056386043 3 0.089999973022564572 3 0.11999997309552696 3 0.14999997879199758 3 0.17999998733098987 3 0.20999999602178093 3 0.24000000295710489 3 0.27000000721984585 3 0.30000000877971755 3 0.3300000082238575 3 0.3600000064329536 3 0.39000000428361203 3 0.42000000242872731 3 0.45000000118168426 3 0.48000000050782077 3 0.510000000108352 3 0.53999999956836386 3 0.56999999853177064 3 0.59999999686268879 3 0.62999999475441015 3 0.65999999275410304 3 0.68999999168337922 3 0.71999999245158708 3 0.74999999577977361 3 0.78000000187807772 3 0.81000001014732825 3 0.84000001900597043 3 0.87000002597542336 3 0.90000002818950509 3 0.93000002352576439 3 0.96000001258732104 3 1 5
+8 0 1
+7 0 0  4 101 34  4.7123889803846897 0.75000000000000011  4.7006080110317221 0.75  4.6888270387298139 0.74999999999999989  4.6770460646722425 0.74999999999999989  4.6534841180863502 0.74999999999999989  4.641703145084275 0.74999999999999967  4.629922172530522 0.74999999999999978  4.6063602270712849 0.74999999999999978  4.5945792540159545 0.74999999999999978  4.5827982819727335 0.74999999999999978  4.5592363371827531 0.74999999999999978  4.5474553642828059 0.75  4.5356743923130187 0.74999999999999989  4.5121124478172625 0.74999999999999989  4.5003314751354111 0.75  4.4885505030261985 0.75000000000000011  4.4649885585884856 0.75000000000000011  4.4532075861020211 0.75  4.4414266137868514 0.75000000000000022  4.4178646692767884 0.75000000000000022  4.4060836969224173 0.75000000000000022  4.3943027244206228 0.75000000000000022  4.3707407797843105 0.75000000000000022  4.3589598074893061 0.75000000000000022  4.3471788348612819 0.75000000000000022  4.3236168900961145 0.75000000000000022  4.3118359177978789 0.75000000000000022  4.3000549451139642 0.75000000000000022  4.2764930002476378 0.75000000000000022  4.2647120279038919 0.75000000000000022  4.2529310552247601 0.75000000000000022  4.2293691102985855 0.75000000000000022  4.21758813789023 0.75000000000000011  4.2058071652567275 0.75000000000000011  4.1822452203130842 0.75000000000000011  4.1704642478418235 0.75000000000000011  4.158683275272077 0.75000000000000011  4.1351213303458056 0.75000000000000011  4.1233403578284662 0.75000000000000011  4.111559385320195 0.75000000000000011  4.0879974404336075 0.75000000000000011  4.0762164678948167 0.75000000000000011  4.0644354954309909 0.75000000000000011  4.0408735505920577 0.75000000000000011  4.0290925780567903 0.75000000000000011  4.0173116056128828 0.75000000000000011  3.9937496608160892 0.75000000000000011  3.9819686883032848 0.75000000000000011  3.9701877158546592 0.75000000000000022  3.9466257710839585 0.75000000000000022  3.9348447986021013 0.75000000000000022  3.923063826130321 0.75000000000000022  3.8995018813635447 0.75000000000000022  3.887720908908801 0.75000000000000022  3.8759399364059601 0.75000000000000022  3.8523779916200516 0.75000000000000022  3.840597019177121 0.75000000000000011  3.828816046647681 0.75000000000000033  3.8052541018240054 0.75000000000000033  3.7934731293696986 0.75000000000000033  3.7816921568294863 0.75000000000000033  3.7581302119586066 0.75000000000000033  3.7463492394675666 0.75000000000000033  3.7345682669401778 0.75000000000000033  3.7110063220253537 0.75000000000000033  3.699225349477218 0.75000000000000044  3.6874443769881866 0.75000000000000022  3.6638824320470116 0.75000000000000022  3.6521014594338403 0.75000000000000022  3.6403204870034425 0.75000000000000022  3.6167585420669672 0.75000000000000022  3.6049775693996273 0.75000000000000022  3.5931965970353517 0.75000000000000022  3.5696346521442153 0.75000000000000022  3.5578536794559983 0.75000000000000011  3.5460727071461493 0.75000000000000011  3.5225107623432086 0.75000000000000011  3.5107297896889134 0.75000000000000011  3.4989488173989138 0.75000000000000011  3.475386872718051 0.75000000000000011  3.4636059001664612 0.75000000000000011  3.451824927839759 0.75000000000000011  3.4282629832905922 0.75000000000000011  3.4164820109082532 0.75000000000000011  3.4047010384738421 0.75000000000000011  3.3811390940221577 0.75000000000000011  3.3693581218463589 0.75000000000000011  3.3575771492349471 0.75000000000000011  3.3340152047789111 0.75000000000000011  3.3222342327776446 0.75000000000000033  3.3104532599487331 0.75000000000000022  3.2868913152909229 0.75000000000000022  3.2751103433078654 0.75000000000000033  3.2633293702897843 0.75000000000000033  3.2397674251053385 0.75000000000000033  3.2279864527879432 0.75000000000000033  3.2162054797329187 0.75000000000000033  3.188716541782374 0.75000000000000033  3.1730085758566391 0.75000000000000044  3.1573006120124409 0.75000000000000022  3.1415926535897931 0.75000000000000011 
+ 0 5 0.029999992061432858 3 0.059999980056386043 3 0.089999973022564572 3 0.11999997309552696 3 0.14999997879199758 3 0.17999998733098987 3 0.20999999602178093 3 0.24000000295710489 3 0.27000000721984585 3 0.30000000877971755 3 0.3300000082238575 3 0.3600000064329536 3 0.39000000428361203 3 0.42000000242872731 3 0.45000000118168426 3 0.48000000050782077 3 0.510000000108352 3 0.53999999956836386 3 0.56999999853177064 3 0.59999999686268879 3 0.62999999475441015 3 0.65999999275410304 3 0.68999999168337922 3 0.71999999245158708 3 0.74999999577977361 3 0.78000000187807772 3 0.81000001014732825 3 0.84000001900597043 3 0.87000002597542336 3 0.90000002818950509 3 0.93000002352576439 3 0.96000001258732104 3 1 5
+8 0 1
+7 0 0  4 101 34  -0.001 -0.00062500000000000001  -0.0010032397665720603 -0.0006250000004417957  -0.0010064795330606861 -0.00062506939671525203  -0.0010097181003046634 -0.00062520819051164751  -0.0010161904394410889 -0.00062562441507491235  -0.0010194242115556483 -0.00062590184620087185  -0.001022654388437026 -0.00062624851870938982  -0.0010291051642667705 -0.00062708003835937104  -0.0010323257633448844 -0.0006275648855383468  -0.0010355403793169782 -0.00062811866592794939  -0.0010419552710695917 -0.00062936363234799143  -0.0010451555469777297 -0.00063005481843427978  -0.0010483474651668482 -0.00063081447685032859  -0.0010547122304831794 -0.00063247012573315045  -0.0010578850777371604 -0.00063336611625756088  -0.0010610472111779344 -0.00063432996639635713  -0.0010673477182618588 -0.00063639262265042639  -0.0010704860920320426 -0.00063749142881936566  -0.0010736114196466865 -0.00063865733129733824  -0.0010798336790511494 -0.00064112241655277246  -0.0010829306109686565 -0.00064242159938051582  -0.0010860121933300283 -0.00064378696623398055  -0.0010921423893024476 -0.00064664900857903755  -0.0010951910030414344 -0.00064814568412115104  -0.0010982219978954743 -0.00064970748440149636  -0.0011042465192331696 -0.00065296013028230053  -0.0011072400458439812 -0.00065465097593786579  -0.00111021372336738 -0.00065640574236727745  -0.001116119193733737 -0.0006600417705833726  -0.0011190509867017679 -0.00066192303243342403  -0.0011219607444707986 -0.00066386686908646581  -0.0011277340521230477 -0.00066787820681481268  -0.0011305976021280001 -0.00066994570796405221  -0.0011334369797746451 -0.00067207429894075533  -0.0011390653066541542 -0.00067645203972078549  -0.0011418542560044697 -0.00067870118960940216  -0.0011446169495359754 -0.00068100980866576727  -0.0011500877996720709 -0.00068574423227816216  -0.0011527959563893474 -0.00068817003693035005  -0.0011554758321473541 -0.00069065355803242902  -0.0011607770593257479 -0.00069573415220436569  -0.0011633984108540374 -0.00069833122537990675  -0.0011659895190894041 -0.0007009841341479178  -0.0011711093537363402 -0.00070639961801758451  -0.001173638080251362 -0.00070916219323275266  -0.0011761346682907052 -0.00071197859924184033  -0.0011810617435239839 -0.0007177169485151285  -0.001183492230817425 -0.00072063889189908053  -0.0011858887557972793 -0.0007236125418035018  -0.0011906121325953331 -0.00072966101553587038  -0.0011929389845095465 -0.0007327358394886717  -0.0011952301256539235 -0.00073586013093628673  -0.001199739317094129 -0.00074220529987290278  -0.0012019573674826526 -0.00074542617749132002  -0.0012041380378996663 -0.00074869417379533787  -0.0012084230324170264 -0.00075532195020265971  -0.0012105273566065113 -0.00075868173044001249  -0.0012125927145795424 -0.00076208617597486872  -0.0012166439981968855 -0.0007689818448969513  -0.0012186299239260823 -0.00077247306842337653  -0.0012205753836748785 -0.00077600640471160145  -0.001224383961155642 -0.00078315465658445357  -0.0012262470789671635 -0.00078676957231412739  -0.0012280683208541544 -0.00079042395477092579  -0.0012316257357287788 -0.00079780891932829969  -0.0012333619087893869 -0.00080153950158034061  -0.001235054888946416 -0.00080530681688245555  -0.0012383532423633071 -0.00081291209828648675  -0.0012399586156884512 -0.00081675006454644142  -0.0012415195750390979 -0.0008206219485916976  -0.0012445515433910448 -0.00082843066172180963  -0.0012460225524493266 -0.00083236749097083428  -0.0012474480251019892 -0.00083633534739455324  -0.0012502068763788586 -0.00084433015522804094  -0.0012515402550519858 -0.00084835710680702188  -0.0012528270760389529 -0.00085241212602132595  -0.0012553066848574092 -0.00086057527803898065  -0.0012564994727310745 -0.0008646834110149843  -0.0012576447850688927 -0.00086881658973682828  -0.0012598396463298332 -0.0008771299612869058  -0.0012608891952907784 -0.000881310154289427  -0.0012618904563373651 -0.00088551231552303823  -0.0012637956974617072 -0.00089395744807679531  -0.0012646996775760456 -0.00089820041957129051  -0.0012655546646601389 -0.00090246223301061171  -0.0012671660563535613 -0.00091102037524253639  -0.0012679224610012182 -0.00091531670420865862  -0.0012686292762999801 -0.00091962870702535658  -0.0012699432417971922 -0.00092828085665107795  -0.0012705503920371188 -0.0009326210036329543  -0.0012711074666778843 -0.00093697362161554399  -0.0012721210894170011 -0.00094570056792032237  -0.0012725776375576273 -0.00095007489641594589  -0.001272983734920024 -0.00095445846542572686  -0.0012736947645976356 -0.00096324083241625775  -0.0012739996969468399 -0.00096763963057282601  -0.0012742539151417197 -0.00097204441828248377  -0.0012747285816046251 -0.00098233242368230803  -0.0012749095271335535 -0.00098821903116597587  -0.0012749999995680219 -0.0009941095155915178  -0.0012749999999999999 -0.001 
+ 0 5 0.029999992061415345 3 0.059999980056347636 3 0.089999973022492463 3 0.11999997309543126 3 0.14999997879189231 3 0.17999998733087841 3 0.20999999602166664 3 0.2400000029569801 3 0.27000000721969997 3 0.30000000877954497 3 0.33000000822365405 3 0.36000000643272301 3 0.39000000428337128 3 0.4200000024284869 3 0.45000000118144273 3 0.48000000050758557 3 0.51000000010813284 3 0.53999999956816191 3 0.56999999853158445 3 0.59999999686252092 3 0.62999999475426582 3 0.65999999275398147 3 0.68999999168327564 3 0.7199999924514987 3 0.74999999577970056 3 0.78000000187802088 3 0.81000001014728717 3 0.84000001900593857 3 0.87000002597539483 3 0.90000002818947855 3 0.93000002352574329 3 0.96000001258730894 3 1 5
+8 0 1
+7 0 0  4 101 34  3.1415926535897931 0.75  3.1298116842368247 0.75000000000000011  3.11803071193492 0.75000000000000056  3.1062497378773459 0.75000000000000033  3.0826877912914576 0.75000000000000033  3.070906818289374 0.75000000000000033  3.059125845735629 0.75000000000000033  3.0355639002763901 0.75000000000000033  3.0237829272210561 0.75000000000000033  3.0120019551778379 0.75000000000000033  2.9884400103878535 0.75000000000000033  2.9766590374879174 0.75000000000000033  2.9648780655181186 0.75000000000000022  2.9413161210223642 0.75000000000000022  2.9295351483405194 0.75000000000000022  2.9177541762313002 0.75000000000000022  2.89419223179359 0.75000000000000022  2.8824112593071254 0.74999999999999978  2.8706302869919567 0.75  2.8470683424818906 0.75  2.8352873701275234 0.75  2.8235063976257253 0.75  2.7999444529894184 0.75  2.7881634806944011 0.75  2.7763825080663898 0.75  2.7528205633012179 0.75  2.7410395910029801 0.75  2.7292586183190695 0.75  2.7056966734527412 0.75  2.6939157011089954 0.75  2.6821347284298644 0.75  2.6585727835036908 0.75  2.6467918110953317 0.75000000000000044  2.6350108384618327 0.75000000000000022  2.6114488935181859 0.75000000000000022  2.5996679210469336 0.75000000000000022  2.5878869484771778 0.75000000000000022  2.5643250035509055 0.75000000000000022  2.5525440310335767 0.75000000000000022  2.5407630585252954 0.75000000000000022  2.5172011136387109 0.75000000000000022  2.5054201410999211 0.75000000000000022  2.4936391686360944 0.75000000000000022  2.4700772237971633 0.75000000000000022  2.4582962512618907 0.75000000000000022  2.4465152788179871 0.75000000000000022  2.4229533340211908 0.75000000000000022  2.4111723615083918 0.75000000000000022  2.3993913890597609 0.75000000000000022  2.3758294442890602 0.75000000000000022  2.3640484718072079 0.74999999999999989  2.3522674993354227 0.75  2.3287055545686499 0.75  2.3169245821139035 0.75  2.3051436096110649 0.75  2.281581664825155 0.75  2.2698006923822258 0.75  2.258019719852784 0.75  2.2344577750291084 0.75  2.2226768025748029 0.75  2.2108958300345893 0.75  2.1873338851637083 0.75  2.1755529126726723 0.75  2.1637719401452808 0.75  2.1402099952304594 0.75  2.1284290226823197 0.75  2.1166480501932918 0.75  2.0930861052521159 0.75  2.0813051326389429 0.75  2.0695241602085468 0.75  2.0459622152720716 0.75  2.0341812426047299 0.74999999999999978  2.022400270240456 0.75000000000000022  1.9988383253493185 0.75000000000000022  1.9870573526611022 0.75000000000000022  1.975276380351253 0.75000000000000022  1.9517144355483118 0.75000000000000022  1.9399334628940179 0.75000000000000022  1.9281524906040162 0.75000000000000022  1.9045905459231551 0.75000000000000022  1.8928095733715637 0.75000000000000044  1.8810286010448636 0.75000000000000033  1.8574666564956979 0.75000000000000033  1.8456856841133551 0.75000000000000033  1.8339047116789471 0.75000000000000033  1.8103427672272625 0.75000000000000033  1.7985617950514616 0.75000000000000044  1.7867808224400519 0.75000000000000022  1.7632188779840146 0.75000000000000022  1.7514379059827503 0.75000000000000022  1.7396569331538365 0.75000000000000022  1.7160949884960257 0.75000000000000022  1.7043140165129711 0.75000000000000011  1.6925330434948873 0.75  1.6689710983104427 0.75  1.6571901259930466 0.75  1.6454091529380228 0.75  1.6179202149874783 0.75  1.6022122490617432 0.75000000000000011  1.5865042852175446 0.74999999999999989  1.5707963267948966 0.75 
+ 0 5 0.029999992061415345 3 0.059999980056347636 3 0.089999973022492463 3 0.11999997309543126 3 0.14999997879189231 3 0.17999998733087841 3 0.20999999602166664 3 0.2400000029569801 3 0.27000000721969997 3 0.30000000877954497 3 0.33000000822365405 3 0.36000000643272301 3 0.39000000428337128 3 0.4200000024284869 3 0.45000000118144273 3 0.48000000050758557 3 0.51000000010813284 3 0.53999999956816191 3 0.56999999853158445 3 0.59999999686252092 3 0.62999999475426582 3 0.65999999275398147 3 0.68999999168327564 3 0.7199999924514987 3 0.74999999577970056 3 0.78000000187802088 3 0.81000001014728717 3 0.84000001900593857 3 0.87000002597539483 3 0.90000002818947855 3 0.93000002352574329 3 0.96000001258730894 3 1 5
+8 0 1
+7 0 0  4 101 34  -0.0012749999999999999 -0.0010000000000000002  -0.0012749999996760164 -0.0010044178635073534  -0.001274949109075482 -0.0010088357269009381  -0.001274847326958125 -0.0010132519549609037  -0.0012745420956117308 -0.0010220778719651224  -0.0012743386461193608 -0.0010264875612122457  -0.001274084419613114 -0.0010308923478686736  -0.0012734746385364613 -0.0010396888603637789  -0.0012731190839385454 -0.0010440805863793875  -0.0012727129783195038 -0.0010484641536140614  -0.0012718000029448065 -0.0010572117332767153  -0.0012712931331481945 -0.001061575745878724  -0.0012707360503097591 -0.0010659283615911562  -0.0012695219077956895 -0.0010746075870225167  -0.0012688648480777885 -0.0010789341969143116  -0.0012681580246426715 -0.0010832461970608192  -0.0012666454100563537 -0.0010918377976298081  -0.0012658396188657993 -0.0010961173982255113  -0.0012649846237152852 -0.001100379208609119  -0.0012631768945279664 -0.0011088641077970232  -0.0012622241604542889 -0.0011130871967754384  -0.0012612228914284139 -0.0011172893545409489  -0.0012591240603753724 -0.0011256487126851569  -0.0012580264983111566 -0.0011298059132383181  -0.001256881178105569 -0.0011339390880392845  -0.0012544959044596463 -0.0011421543444088676  -0.0012532559509788985 -0.0011462364261508832  -0.0012519691222639964 -0.0011502914409555185  -0.0012493027015721937 -0.0011583443550914594  -0.0012479231095488224 -0.0011623422545933198  -0.001246497629336592 -0.0011663101060965437  -0.0012435559816691372 -0.0011741827983496116  -0.0012420398141596959 -0.0011780876392654528  -0.0012404788474434456 -0.0011819595178745176  -0.0012372685042047573 -0.0011896345090738462  -0.001235619127619771 -0.0011934376218242779  -0.0012339261403117711 -0.0011972049311854205  -0.001230454229662681 -0.0012046651813710058  -0.0012286753062510758 -0.0012083581223491112  -0.0012268540574428852 -0.001212012498382756  -0.0012231282883834647 -0.0012192414445351119  -0.001221223768054734 -0.0012228160148009617  -0.0012192783016248593 -0.0012263493442128256  -0.0012153069467871033 -0.0012333309369131932  -0.0012132810582959799 -0.001236779200342769  -0.0012112156938893154 -0.0012401836385782371  -0.0012070075710889044 -0.0012469023775327076  -0.0012048648126073379 -0.0012502166783874024  -0.0012026841360107635 -0.0012534846669962922  -0.0011982485886070258 -0.001259925635357276  -0.0011959937177083045 -0.0012630986152402954  -0.0011937025706467202 -0.0012662228986189909  -0.0011890494467598678 -0.0012723717960374532  -0.0011866874698396948 -0.001275396410203622  -0.0011842909392167484 -0.001278370051681368  -0.0011794305698513785 -0.0012842132260232231  -0.0011769667310106533 -0.0012870827590088841  -0.0011744701376184246 -0.0012898991562448358  -0.0011694133137422306 -0.0012954236339048492  -0.0011668530831561849 -0.0012981317144446637  -0.0011642619698781537 -0.0013007846141021124  -0.0011590199185047281 -0.0013059781288486084  -0.0011563689803029667 -0.0013085187440461386  -0.0011536890998346478 -0.0013110022557102166  -0.0011482734591592397 -0.0013158532759937954  -0.0011455376988410764 -0.0013182207847128064  -0.0011427750009528582 -0.0013205293940178465  -0.0011371977945899016 -0.0013250271486772431  -0.0011343832859992678 -0.0013272162941206219  -0.0011315439043660801 -0.001329344875053322  -0.0011258175147373305 -0.0013334793773514312  -0.0011229305066213786 -0.0013354852987945427  -0.001120020745243985 -0.0013374291251390827  -0.0011141578861660936 -0.0013411911950620861  -0.0011112047883415066 -0.00134300943870726  -0.0011082311075843508 -0.0013447641945985779  -0.0011022447961047367 -0.0013481454793510183  -0.0010992321652556663 -0.0013497720082696527  -0.0010962011675263144 -0.0013513337978212235  -0.0010901046950562575 -0.0013543267904497784  -0.0010870392201877402 -0.0013557579935783402  -0.0010839576352830928 -0.0013571233495509576  -0.0010777645380770022 -0.0013597214056296062  -0.0010746530256477084 -0.0013609541057855213  -0.0010715276957922032 -0.0013621199972638312  -0.0010652517248221254 -0.0013643173495730431  -0.001062101083580303 -0.0013653488104562103  -0.0010589389481813897 -0.0013663126494999776  -0.00105259403845586 -0.0013681044206325394  -0.0010494112640024853 -0.0013689323527778931  -0.0010462193441485846 -0.0013696920000153003  -0.00103981958352508 -0.0013710742128413686  -0.00103661174262829 -0.0013716967784876773  -0.0010333971253544496 -0.001372250547618217  -0.0010269567228947279 -0.0013732201335422325  -0.0010237309375799087 -0.0013736359503820571  -0.0010205007599261612 -0.0013739826115568921  -0.0010129562226329591 -0.0013746298840063077  -0.0010086393771449446 -0.0013748766279093911  -0.0010043196885662139 -0.0013749999994109392  -0.0009999999999999998 -0.0013749999999999999 
+ 0 5 0.029999992061392766 3 0.059999980056299876 3 0.089999973022433788 3 0.11999997309535598 3 0.14999997879179094 3 0.17999998733075107 3 0.20999999602152697 3 0.24000000295684326 3 0.27000000721957262 3 0.30000000877943245 3 0.33000000822356701 3 0.36000000643266961 3 0.39000000428334575 3 0.42000000242848534 3 0.45000000118146721 3 0.48000000050762487 3 0.51000000010817792 3 0.53999999956821054 3 0.56999999853164007 3 0.59999999686258221 3 0.62999999475432755 3 0.65999999275404242 3 0.68999999168333592 3 0.71999999245155566 3 0.74999999577974974 3 0.78000000187805707 3 0.81000001014730072 3 0.84000001900593679 3 0.87000002597539061 3 0.90000002818948488 3 0.93000002352576361 3 0.96000001258733736 3 1 5
+8 0 1
+7 0 0  4 101 34  1.5707963267948968 0.75  1.5590153574419332 0.75  1.5472343851400165 0.75000000000000022  1.5354534110824529 0.75000000000000011  1.5118914644965584 0.75000000000000011  1.5001104914944823 0.75000000000000011  1.4883295189407291 0.75000000000000011  1.4647675734814922 0.75000000000000011  1.45298660042616 0.75000000000000011  1.4412056283829411 0.75000000000000011  1.4176436835929591 0.75000000000000011  1.4058627106930153 0.75000000000000011  1.3940817387232245 0.75000000000000011  1.3705197942274698 0.75000000000000011  1.3587388215456186 0.75000000000000022  1.3469578494364056 0.75  1.3233959049986916 0.75  1.311614932512233 0.75  1.2998339601970568 0.75  1.2762720156869904 0.75  1.2644910433326326 0.75  1.2527100708308252 0.75  1.229148126194519 0.75  1.2173671538995108 0.75  1.2055861812714903 0.75  1.1820242365063216 0.75  1.1702432642080856 0.75  1.1584622915241711 0.75  1.1349003466578453 0.75  1.1231193743141001 0.75  1.1113384016349674 0.75  1.0877764567087902 0.75  1.0759954843004427 0.75  1.0642145116669319 0.75  1.0406525667232909 0.75  1.0288715942520323 0.75000000000000022  1.0170906216822833 0.75000000000000011  0.99352867675600909 0.75000000000000011  0.98174770423867652 0.75000000000000011  0.96996673173039771 0.75000000000000011  0.94640478684381102 0.75000000000000011  0.9346238143050194 0.75000000000000011  0.92284284184119192 0.75000000000000011  0.89928089700225911 0.75000000000000011  0.88749992446698689 0.75000000000000011  0.87571895202308248 0.75000000000000011  0.85215700722628729 0.75000000000000011  0.84037603471347888 0.74999999999999989  0.82859506226485447 0.75  0.80503311749415096 0.75  0.79325214501229413 0.75  0.78147117254051202 0.75  0.75790922777373659 0.75  0.74612825531898797 0.75  0.73434728281614969 0.75  0.71078533803023736 0.75  0.69900436558730883 0.75  0.68722339305786473 0.75  0.66366144823418893 0.75  0.65188047577988029 0.75  0.64009950323966813 0.75  0.61653755836878577 0.75  0.60475658587774628 0.75  0.59297561335035587 0.75  0.56941366843553165 0.75  0.55763269588739173 0.75  0.54585172339836219 0.75  0.52228977845718572 0.75  0.51050880584401181 0.75  0.49872783341361521 0.75  0.47516588847713842 0.75  0.46338491580979418 0.74999999999999989  0.45160394344552118 0.75000000000000011  0.42804199855438252 0.75000000000000011  0.41626102586616381 0.75000000000000011  0.40448005355631539 0.75000000000000011  0.3809181087533719 0.75000000000000011  0.369137136099075 0.75000000000000011  0.35735616380907553 0.75000000000000011  0.33379421912821378 0.75000000000000011  0.32201324657661573 0.75000000000000011  0.31023227424991967 0.75000000000000022  0.28667032970074646 0.75000000000000022  0.27488935731841407 0.75000000000000022  0.26310838488399457 0.75000000000000022  0.23954644043231108 0.75000000000000022  0.22776546825651292 0.75000000000000022  0.21598449564509759 0.75000000000000022  0.19242255118905832 0.75000000000000022  0.18064157918779716 0.75  0.16886060635887942 0.75000000000000011  0.14529866170106787 0.75000000000000011  0.13351768971801364 0.75000000000000011  0.12173671669992737 0.75000000000000011  0.098174771515485759 0.75000000000000011  0.086393799198079796 0.74999999999999989  0.074612826143063013 0.75  0.047123888192528197 0.75  0.031415922266820995 0.75  0.015707958422625182 0.75  0 0.75 
+ 0 5 0.029999992061392766 3 0.059999980056299876 3 0.089999973022433788 3 0.11999997309535598 3 0.14999997879179094 3 0.17999998733075107 3 0.20999999602152697 3 0.24000000295684326 3 0.27000000721957262 3 0.30000000877943245 3 0.33000000822356701 3 0.36000000643266961 3 0.39000000428334575 3 0.42000000242848534 3 0.45000000118146721 3 0.48000000050762487 3 0.51000000010817792 3 0.53999999956821054 3 0.56999999853164007 3 0.59999999686258221 3 0.62999999475432755 3 0.65999999275404242 3 0.68999999168333592 3 0.71999999245155566 3 0.74999999577974974 3 0.78000000187805707 3 0.81000001014730072 3 0.84000001900593679 3 0.87000002597539061 3 0.90000002818948488 3 0.93000002352576361 3 0.96000001258733736 3 1 5
+8 0 0.002
+1 0 -0.002 -1 -0 
+8 0 0.002
+1 0 0 -1 0 
+8 0 0.002
+1 -0.002 0 0 -1 
+8 0 0.002
+1 -0.002 0 0 1 
+8 0 0.002
+1 0 -0.002 -1 0 
+8 0 0.002
+1 0 0 1 0 
+8 0 0.002
+1 -0.002 0 -0 -1 
+8 0 0.002
+1 -0.002 0.002 1 0 
+8 0 1
+7 0 0  4 101 34  0.0012250000000000002 0.0009999999999999998  0.0012249999997349225 0.00099617118496029286  0.0012249583619708486 0.00099234237001918869  0.0012248750856930115 0.00098851497236721606  0.0012246253509550526 0.0009808658442968935  0.0012244588922794768 0.00097704411361605433  0.0012242508887743662 0.00097322663184714947  0.0012237519769843774 0.000965602987684725  0.001223461068676992 0.00096179682513786472  0.0012231288004432303 0.00095799773353448005  0.0012223818205912053 0.00095041649782684728  0.0012219671089394319 0.00094663435357177181  0.001221511313889803 0.00094286208662099872  0.0012205179245601099 0.00093534009124715241  0.0012199803302454632 0.00093159036267426371  0.0012194020201621858 0.00092785329588062336  0.0012181644264097442 0.00092040724205416625  0.0012175051427083809 0.00091669825487122381  0.0012168056012215971 0.0009130046858720971  0.0012153265500683371 0.00090565110657591502  0.00121454704037169 0.00090199109612795064  0.0012137278202596121 0.00089834922606451249  0.0012120105948525773 0.00089110444900619657  0.0012111125895273103 0.00088750154186012606  0.0012101755093591015 0.00088391945703261926  0.0012082239218306199 0.00087679956817898167  0.001207209414437281 0.00087326176400256798  0.0012061565545796334 0.00086974741783855079  0.0012039749376499766 0.00086276822558740138  0.0012028461805399465 0.0008593033793524576  0.0012016798785481203 0.00085586457471632782  0.0011992730759111123 0.00084904157476367093  0.0011980325752215691 0.00084565737930327269  0.0011967554206355469 0.00084230175117541966  0.0011941287761675287 0.00083565009213599963  0.0011927792862343584 0.00083235406108562689  0.0011913941148005401 0.00082908905963930205  0.0011885534606331032 0.00082262350947846221  0.0011870979778417889 0.00081942296063076969  0.0011856078651805429 0.00081625583473494533  0.0011825595086773803 0.00080999074806957006  0.0011810012647720551 0.00080689278717249963  0.0011794095195112484 0.00080383056834888483  0.0011761602291894479 0.00079777985467523237  0.0011745026840603479 0.0007947913597029342  0.0011728128404548946 0.00079184084656552768  0.0011693698308909224 0.00078601793947165441  0.0011676166648605484 0.00078314554539758328  0.0011658324749178981 0.00078031328860321428  0.0011622033906784756 0.00077473111602369376  0.0011603584963067951 0.00077198120012507833  0.0011584839214382255 0.00076927348786354102  0.0011546768200762559 0.00076394444343420777  0.0011527442935052045 0.00076132311115686047  0.0011507834957227945 0.00075874595520948151  0.0011468068298784008 0.00075368187077987363  0.0011447909617359887 0.00075119494219230015  0.0011427482944150753 0.00074875406458780941  0.0011386108930618256 0.00074396618394913119  0.0011365161589459694 0.00074161918081462467  0.001134396157173035 0.00073932000111150294  0.0011301072060493236 0.00073481895499787335  0.001127938256611518 0.0007326170884933463  0.0011257456271374395 0.00073046471171781284  0.0011213146484030146 0.00072626049413871102  0.0011190762990517897 0.00072420865324890099  0.0011168159098705209 0.0007222078585178666  0.0011122527410281011 0.0007183098044797223  0.001109949961272129 0.00071641254509546219  0.0011076268308449742 0.00071456777495378738  0.001102941602966907 0.00071098453962875976  0.0011005795054174915 0.00070924607437806324  0.0010981987915632608 0.00070756142487946191  0.0010934019068631676 0.00070430096427952552  0.0010909857359157782 0.00070272515312037474  0.0010885527243871961 0.00070120436468123235  0.0010836548331766024 0.00069827391789578413  0.0010811899533910002 0.00069686425949963462  0.0010787100461578936 0.00069551070855493953  0.0010737220232278468 0.00069291678161019195  0.0010712139074263334 0.0006916764055654391  0.0010686926106861668 0.00069049309705583649  0.0010636255311539116 0.0006882414484543414  0.0010610797482572152 0.00068717310831921494  0.0010585226601936215 0.00068616266903801318  0.0010533877748544664 0.000684258297036696  0.0010508099774747932 0.00068336436427128458  0.0010482227757847738 0.00068252903710001964  0.0010430314860093409 0.0006809761687851327  0.0010404273978202143 0.00068025862759249251  0.0010378158270306608 0.00067960026665340675  0.0010325796592477931 0.00067840234887081422  0.0010299550621504189 0.00067786279197734644  0.0010273249207445501 0.00067738285873087864  0.0010220555005502313 0.00067654255093006527  0.0010194162216562899 0.00067618217633555109  0.0010167733490304952 0.0006758817366506936  0.0010106005457906041 0.00067532076719453357  0.0010070685813004072 0.00067510692247852811  0.0010035342906450854 0.0006750000005105194  0.001 0.00067499999999999993 
+ 0 5 0.029999992061416802 3 0.059999980056355942 3 0.089999973022522897 3 0.11999997309547714 3 0.14999997879193844 3 0.17999998733092509 3 0.20999999602171501 3 0.24000000295704005 3 0.27000000721978767 3 0.30000000877967054 3 0.33000000822382847 3 0.36000000643294716 3 0.39000000428363546 3 0.42000000242878177 3 0.45000000118177136 3 0.48000000050793401 3 0.51000000010848989 3 0.53999999956852673 3 0.56999999853195071 3 0.59999999686288119 3 0.62999999475460744 3 0.65999999275429733 3 0.68999999168356918 3 0.71999999245177315 3 0.7499999957799498 3 0.78000000187824414 3 0.81000001014748446 3 0.84000001900611299 3 0.87000002597554871 3 0.90000002818961111 3 0.9300000235258512 3 0.96000001258739043 3 1 5
+8 0 1
+7 0 0  4 101 34  1.5707963267948968 0.25  1.5590153574419301 0.24999999999999994  1.5472343851400225 0.24999999999999983  1.5354534110824505 0.24999999999999983  1.5118914644965573 0.24999999999999983  1.5001104914944836 0.24999999999999986  1.488329518940728 0.24999999999999983  1.4647675734814918 0.24999999999999983  1.4529866004261613 0.24999999999999983  1.4412056283829404 0.24999999999999983  1.41764368359296 0.24999999999999983  1.4058627106930128 0.24999999999999994  1.3940817387232265 0.24999999999999989  1.3705197942274701 0.24999999999999989  1.3587388215456186 0.25  1.3469578494364052 0.24999999999999994  1.3233959049986914 0.24999999999999994  1.3116149325122337 0.24999999999999986  1.2998339601970568 0.25  1.2762720156869958 0.25  1.2644910433326237 0.25  1.2527100708308307 0.25  1.2291481261945165 0.25  1.2173671538995154 0.25  1.2055861812714865 0.25  1.182024236506322 0.25  1.1702432642080842 0.25  1.1584622915241714 0.25  1.1349003466578431 0.25  1.1231193743141048 0.25  1.1113384016349634 0.24999999999999994  1.0877764567087933 0.24999999999999994  1.0759954843004371 0.24999999999999994  1.0642145116669359 0.24999999999999994  1.0406525667232887 0.24999999999999994  1.0288715942520368 0.24999999999999994  1.0170906216822819 0.24999999999999994  0.9935286767560112 0.24999999999999994  0.98174770423867352 0.24999999999999994  0.96996673173039949 0.24999999999999994  0.94640478684381146 0.24999999999999994  0.93462381430501873 0.24999999999999994  0.92284284184119192 0.24999999999999994  0.899280897002258 0.24999999999999994  0.88749992446698878 0.24999999999999994  0.87571895202308059 0.24999999999999994  0.85215700722629018 0.24999999999999994  0.84037603471347389 0.24999999999999994  0.8285950622648578 0.24999999999999994  0.80503311749414841 0.24999999999999994  0.79325214501229924 0.25000000000000006  0.78147117254051013 0.25  0.75790922777373793 0.25  0.74612825531898463 0.24999999999999992  0.73434728281615158 0.25000000000000006  0.71078533803023891 0.25000000000000006  0.69900436558730694 0.25000000000000006  0.68722339305786606 0.25000000000000006  0.66366144823418982 0.25000000000000006  0.65188047577988073 0.25000000000000006  0.64009950323966924 0.25000000000000006  0.61653755836878743 0.25000000000000006  0.60475658587774528 0.25000000000000006  0.5929756133503572 0.25000000000000006  0.56941366843553232 0.25000000000000006  0.55763269588739162 0.24999999999999992  0.54585172339836308 0.25  0.52228977845718338 0.25  0.51050880584401637 0.25  0.49872783341361243 0.25  0.47516588847713842 0.25  0.46338491580979413 0.24999999999999989  0.4516039434455224 0.24999999999999994  0.42804199855438263 0.24999999999999994  0.41626102586616359 0.24999999999999986  0.40448005355631517 0.24999999999999989  0.38091810875337073 0.24999999999999989  0.36913713609907783 0.24999999999999989  0.35735616380907392 0.24999999999999983  0.33379421912821222 0.24999999999999983  0.32201324657661878 0.24999999999999983  0.3102322742499185 0.24999999999999983  0.28667032970074874 0.24999999999999983  0.27488935731840985 0.24999999999999983  0.26310838488399735 0.24999999999999983  0.23954644043231135 0.24999999999999983  0.22776546825651148 0.24999999999999983  0.21598449564509881 0.24999999999999983  0.19242255118906151 0.24999999999999983  0.18064157918779342 0.24999999999999978  0.16886060635888175 0.24999999999999986  0.14529866170106875 0.24999999999999989  0.13351768971801295 0.24999999999999983  0.12173671669992872 0.24999999999999992  0.098174771515482678 0.24999999999999994  0.086393799198084306 0.24999999999999986  0.074612826143061459 0.25  0.047123888192532319 0.25  0.031415922266812307 0.24999999999999994  0.015707958422631292 0.25000000000000006  0 0.25 
+ 0 5 0.029999992061416802 3 0.059999980056355942 3 0.089999973022522897 3 0.11999997309547714 3 0.14999997879193844 3 0.17999998733092509 3 0.20999999602171501 3 0.24000000295704005 3 0.27000000721978767 3 0.30000000877967054 3 0.33000000822382847 3 0.36000000643294716 3 0.39000000428363546 3 0.42000000242878177 3 0.45000000118177136 3 0.48000000050793401 3 0.51000000010848989 3 0.53999999956852673 3 0.56999999853195071 3 0.59999999686288119 3 0.62999999475460744 3 0.65999999275429733 3 0.68999999168356918 3 0.71999999245177315 3 0.7499999957799498 3 0.78000000187824414 3 0.81000001014748446 3 0.84000001900611299 3 0.87000002597554871 3 0.90000002818961111 3 0.9300000235258512 3 0.96000001258739043 3 1 5
+8 0 1
+7 0 0  4 101 34  0.001 0.0013249999999999998  0.0010026507181044126 0.0013249999996171103  0.0010053014361405617 0.0013249398561801149  0.0010079511729765428 0.0013248195682232387  0.0010132467231790737 0.001324458840268409  0.0010158925367273473 0.0013242183999592446  0.0010185354087212041 0.0013239179504518615  0.0010238133162182672 0.0013231973000885446  0.0010264483518276322 0.0013227770992000993  0.0010290784921684365 0.0013222971561957769  0.0010343270399660288 0.0013212181852984073  0.0010369454475272347 0.0013206191573569572  0.0010395570169546933 0.0013199607867297152  0.0010447645522135101 0.0013185258910312697  0.0010473605181485865 0.0013177493659101134  0.0010499477182364916 0.0013169140291231574  0.0010551026785778847 0.0013151263937029639  0.0010576704389353071 0.0013141740950232165  0.0010602275251654712 0.0013131636462089735  0.0010653184646782128 0.0013110272389875975  0.0010678523180652649 0.0013099012805368856  0.0010703736127245685 0.001308717962597217  0.001075389227611094 0.0013062375258981673  0.0010778835479429913 0.0013049404070950028  0.0010803634528235705 0.0013035868468520362  0.0010852926066453209 0.0013007678870886727  0.0010877418556905294 0.0012993024875205166  0.0010901748645733113 0.0012977816899483595  0.0010950066130548759 0.0012946304654944103  0.0010974053527559918 0.0012930000385576994  0.0010997860636579265 0.0012913153801250628  0.0011045096790097666 0.0012878388874271618  0.0011068525835592725 0.0012860470530978224  0.00110917571072471 0.0012842022742513451  0.0011137807054443075 0.0012804082322419861  0.0011160625730945669 0.0012784589690051835  0.0011183229587112522 0.0012764581658230023  0.0011227991088226036 0.0012723549986922598  0.0011250148734094664 0.0012702526346603622  0.001127207499029653 0.0012681002497052286  0.0011315448667210668 0.0012636970680895497  0.0011336896088805755 0.0012614462713374142  0.0011358096065276946 0.0012591470837384708  0.0011399985621479145 0.0012544536643847603  0.0011420675202056603 0.0012520594325316139  0.0011441101831469404 0.0012496185473237387  0.0011481414265196227 0.0012446453112868892  0.0011501300070324394 0.0012421129603541294  0.0011520908001977732 0.0012395357971036324  0.0011559553812143632 0.0012342937865355791  0.0011578591691441746 0.0012316289391098181  0.0011597337391713921 0.0012289212198552182  0.0011634230776224692 0.0012234220734434844  0.0011652378461221705 0.0012206306461741885  0.0011670220310088177 0.0012177983827107075  0.0011705279356139309 0.0012120543098243614  0.0011722496554053274 0.0012091425002853228  0.0011739394937468983 0.0012061919808217803  0.0011772541803429059 0.0012002157344226428  0.0011788790286667951 0.0011971900073664062  0.0011804707684612639 0.0011941277825832793  0.0011835868773091614 0.0011879326309601405  0.0011851112464276797 0.0011847997039944227  0.0011866013534261263 0.0011816325725318645  0.0011895119655962734 0.0011752322699154734  0.0011909324708276805 0.0011719990986303714  0.0011923176364107041 0.0011687340920352052  0.0011950162892063424 0.0011621428481517113  0.0011963297764723694 0.0011588166107264178  0.0011976069250319895 0.0011554609778871949  0.0012000876264108547 0.0011486934265077652  0.0012012911792767219 0.0011452815078252768  0.0012024574750834458 0.0011418426989247207  0.0012047147170372481 0.0011349138654690313  0.0012058056632243516 0.0011314238407672474  0.0012068585167591434 0.0011279094907815175  0.0012088872876106077 0.0011208347590328834  0.0012098632049617878 0.001117274377120347  0.0012108002786927307 0.0011136922888947485  0.0012125960742698637 0.0011064873668846817  0.0012134547961470006 0.0011028645329491634  0.0012142740097305712 0.0010992226598800332  0.0012158328433777602 0.0010919035450001103  0.0012165724634713101 0.001088226303038215  0.0012172719983582956 0.001084532731390803  0.0012185904097438229 0.0010771156747898017  0.0012192092862737237 0.0010733921896858289  0.0012197875896999837 0.001069655120578024  0.0012208626523795211 0.0010621565909023989  0.0012213594116667339 0.0010583951301847729  0.0012218152000091779 0.0010546228612665282  0.001222644527704819 0.0010470595078023875  0.0012230180670926047 0.0010432684231061803  0.0012233503285709287 0.00103946932996437  0.0012239320801253383 0.0010318579452392432  0.0012241815702292332 0.001028045653503551  0.0012243895669341342 0.0010242281708218472  0.001224777930403784 0.0010153118994753331  0.0012249259767456344 0.0010102101729894874  0.0012249999996465637 0.001005105086487351  0.0012250000000000002 0.0009999999999999998 
+ 0 5 0.029999992061418561 3 0.05999998005635996 3 0.089999973022529822 3 0.11999997309548298 3 0.14999997879194735 3 0.17999998733093792 3 0.20999999602172967 3 0.2400000029570476 3 0.27000000721977918 3 0.30000000877964833 3 0.33000000822378767 3 0.36000000643288455 3 0.39000000428354664 3 0.42000000242867624 3 0.4500000011816494 3 0.48000000050779446 3 0.5100000001083389 3 0.53999999956836309 3 0.56999999853177863 3 0.59999999686270467 3 0.62999999475443147 3 0.65999999275412813 3 0.6899999916834012 3 0.7199999924516064 3 0.74999999577979171 3 0.78000000187809837 3 0.8100000101473539 3 0.84000001900599597 3 0.87000002597544213 3 0.90000002818951486 3 0.93000002352576894 3 0.9600000125873227 3 1 5
+8 0 1
+7 0 0  4 101 34  3.1415926535897931 0.25  3.1298116842368264 0.24999999999999992  3.1180307119349191 0.24999999999999975  3.1062497378773468 0.24999999999999981  3.0826877912914545 0.24999999999999975  3.0709068182893784 0.24999999999999969  3.0591258457356254 0.24999999999999972  3.0355639002763892 0.24999999999999972  3.023782927221057 0.24999999999999975  3.012001955177837 0.24999999999999975  2.9884400103878566 0.24999999999999981  2.9766590374879103 0.24999999999999981  2.9648780655181222 0.24999999999999986  2.9413161210223659 0.24999999999999992  2.9295351483405172 0.24999999999999986  2.917754176231302 0.24999999999999992  2.8941922317935886 0.24999999999999994  2.8824112593071294 0.24999999999999989  2.8706302869919549 0.25  2.8470683424818919 0.25  2.8352873701275216 0.25  2.8235063976257262 0.25  2.7999444529894166 0.25  2.7881634806944051 0.25  2.776382508066388 0.25  2.752820563301217 0.25  2.7410395910029832 0.25  2.7292586183190672 0.25  2.7056966734527412 0.25  2.6939157011089971 0.24999999999999992  2.6821347284298636 0.24999999999999994  2.658572783503689 0.24999999999999994  2.6467918110953343 0.24999999999999994  2.6350108384618309 0.24999999999999994  2.6114488935181881 0.24999999999999994  2.5996679210469269 0.24999999999999983  2.5878869484771805 0.24999999999999989  2.5643250035509073 0.24999999999999989  2.5525440310335727 0.24999999999999989  2.5407630585252967 0.24999999999999989  2.5172011136387096 0.24999999999999989  2.5054201410999246 0.24999999999999989  2.4936391686360926 0.24999999999999989  2.4700772237971638 0.24999999999999989  2.4582962512618893 0.24999999999999989  2.4465152788179894 0.24999999999999989  2.4229533340211939 0.24999999999999989  2.4111723615083887 0.24999999999999989  2.3993913890597627 0.24999999999999994  2.3758294442890602 0.24999999999999994  2.3640484718072101 0.24999999999999994  2.3522674993354231 0.24999999999999994  2.3287055545686508 0.24999999999999994  2.3169245821139008 0.25000000000000006  2.3051436096110662 0.25  2.281581664825155 0.25  2.2698006923822271 0.25000000000000011  2.2580197198527832 0.25000000000000006  2.2344577750291106 0.25000000000000006  2.2226768025748003 0.25000000000000006  2.2108958300345916 0.25000000000000006  2.1873338851637096 0.25000000000000006  2.1755529126726727 0.25000000000000006  2.1637719401452813 0.25000000000000006  2.1402099952304585 0.25000000000000006  2.1284290226823197 0.25000000000000011  2.1166480501932923 0.25  2.0930861052521155 0.25  2.0813051326389447 0.25  2.0695241602085455 0.25  2.0459622152720716 0.24999999999999997  2.0341812426047299 0.24999999999999992  2.0224002702404564 0.24999999999999994  1.9988383253493183 0.24999999999999992  1.9870573526611028 0.24999999999999989  1.9752763803512532 0.24999999999999989  1.9517144355483116 0.24999999999999986  1.9399334628940181 0.24999999999999989  1.9281524906040157 0.24999999999999983  1.9045905459231554 0.24999999999999983  1.8928095733715635 0.24999999999999983  1.8810286010448634 0.24999999999999983  1.857466656495697 0.24999999999999983  1.8456856841133553 0.24999999999999983  1.8339047116789469 0.24999999999999983  1.8103427672272627 0.24999999999999983  1.7985617950514601 0.24999999999999983  1.7867808224400517 0.24999999999999981  1.7632188779840146 0.24999999999999983  1.7514379059827494 0.24999999999999989  1.7396569331538363 0.24999999999999986  1.7160949884960257 0.24999999999999992  1.7043140165129702 0.24999999999999994  1.6925330434948878 0.24999999999999997  1.6689710983104424 0.25  1.6571901259930466 0.25  1.6454091529380224 0.25000000000000006  1.6179202149874781 0.25000000000000006  1.6022122490617421 0.24999999999999997  1.5865042852175444 0.25000000000000006  1.5707963267948966 0.25 
+ 0 5 0.029999992061418561 3 0.05999998005635996 3 0.089999973022529822 3 0.11999997309548298 3 0.14999997879194735 3 0.17999998733093792 3 0.20999999602172967 3 0.2400000029570476 3 0.27000000721977918 3 0.30000000877964833 3 0.33000000822378767 3 0.36000000643288455 3 0.39000000428354664 3 0.42000000242867624 3 0.4500000011816494 3 0.48000000050779446 3 0.5100000001083389 3 0.53999999956836309 3 0.56999999853177863 3 0.59999999686270467 3 0.62999999475443147 3 0.65999999275412813 3 0.6899999916834012 3 0.7199999924516064 3 0.74999999577979171 3 0.78000000187809837 3 0.8100000101473539 3 0.84000001900599597 3 0.87000002597544213 3 0.90000002818951486 3 0.93000002352576894 3 0.9600000125873227 3 1 5
+8 0 1
+7 0 0  4 101 34  0.00077499999999999997 0.001  0.00077500000026507721 0.0010038288150397072  0.00077504163802915096 0.0010076576299808114  0.00077512491430698838 0.001011485027632784  0.00077537464904494724 0.0010191341557031068  0.00077554110772052275 0.0010229558863839461  0.0007757491112256339 0.0010267733681528508  0.0007762480230156225 0.0010343970123152754  0.00077653893132300798 0.0010382031748621358  0.0007768711995567696 0.0010420022664655202  0.00077761817940879456 0.0010495835021731529  0.00077803289106056822 0.0010533656464282283  0.00077848868611019701 0.0010571379133790016  0.00077948207543989019 0.0010646599087528478  0.00078001966975453673 0.0010684096373257364  0.00078059797983781414 0.0010721467041193767  0.00078183557359025584 0.0010795927579458334  0.00078249485729161921 0.0010833017451287775  0.00078319439877840306 0.0010869953141279024  0.00078467344993166349 0.0010943488934240853  0.0007854529596283095 0.001098008903872049  0.00078627217974038845 0.001101650773935488  0.00078798940514742267 0.0011088955509938026  0.00078888741047269007 0.0011124984581398756  0.0007898244906408982 0.0011160805429673796  0.00079177607816938048 0.0011232004318210186  0.000792790585562719 0.0011267382359974314  0.00079384344542036674 0.0011302525821614495  0.00079602506235002359 0.0011372317744125979  0.00079715381946005406 0.0011406966206475436  0.00079832012145187963 0.0011441354252836712  0.00080072692408888774 0.0011509584252363291  0.00080196742477843075 0.0011543426206967271  0.00080324457936445338 0.0011576982488245809  0.00080587122383247122 0.001164349907864  0.00080722071376564163 0.0011676459389143735  0.00080860588519945996 0.0011709109403606982  0.0008114465393668968 0.0011773764905215376  0.00081290202215821103 0.0011805770393692298  0.00081439213481945697 0.0011837441652650543  0.00081744049132261921 0.0011900092519304293  0.00081899873522794453 0.001193107212827499  0.00082059048048875062 0.0011961694316511141  0.00082383977081055052 0.0012022201453247654  0.00082549731593965195 0.0012052086402970649  0.00082718715954510386 0.0012081591534344694  0.0008306301691090762 0.0012139820605283429  0.00083238333513944985 0.0012168544546024142  0.00083416752508210022 0.0012196867113967826  0.0008377966093215223 0.0012252688839763026  0.00083964150369320284 0.0012280187998749189  0.00084151607856177216 0.0012307265121364549  0.00084532317992374174 0.0012360555565657885  0.00084725570649479224 0.0012386768888431347  0.00084921650427720286 0.0012412540447905144  0.00085319317012159598 0.001246318129220122  0.00085520903826400753 0.0012488050578076946  0.0008572517055849215 0.0012512459354121861  0.00086138910693817051 0.0012560338160508638  0.00086348384105402673 0.0012583808191853705  0.0008656038428269604 0.0012606799988884919  0.00086989279395067196 0.0012651810450021218  0.0008720617433884769 0.001267382911506648  0.00087425437286255537 0.001269535288282182  0.00087868535159698041 0.0012737395058612839  0.0008809237009482037 0.0012757913467510932  0.00088318409012947362 0.0012777921414821279  0.00088774725897189247 0.0012816901955202719  0.00089005003872786443 0.001283587454904533  0.00089237316915501878 0.0012854322250462067  0.00089705839703308518 0.0012890154603712343  0.00089942049458250175 0.0012907539256219319  0.00090180120843673113 0.0012924385751205323  0.00090659809313682355 0.0012956990357204687  0.00090901426408421455 0.0012972748468796204  0.00091144727561279476 0.0012987956353187619  0.00091634516682338751 0.0013017260821042106  0.00091881004660899145 0.0013031357405003613  0.0009212899538420965 0.0013044892914450552  0.00092627797677214297 0.0013070832183898031  0.00092878609257365666 0.0013083235944345564  0.00093130738931382242 0.0013095069029441587  0.00093637446884607689 0.0013117585515456539  0.0009389202517427744 0.0013128268916807811  0.00094147733980636677 0.0013138373309619824  0.00094661222514552093 0.0013157417029632996  0.00094919002252519648 0.0013166356357287125  0.00095177722421521324 0.0013174709628999764  0.00095696851399064702 0.001319023831214864  0.00095957260217977242 0.0013197413724075045  0.00096218417296932662 0.0013203997333465899  0.00096742034075219326 0.0013215976511291828  0.00097004493784956806 0.0013221372080226513  0.00097267507925543587 0.0013226171412691187  0.00097794449944975425 0.0013234574490699322  0.00098058377834369672 0.0013238178236644471  0.00098322665096948992 0.0013241182633493048  0.00098939945420938513 0.0013246792328054657  0.00099293141869958527 0.0013248930775214714  0.00099646570935491095 0.0013249999994894806  0.001 0.001325 
+ 0 5 0.029999992061453328 3 0.059999980056428183 3 0.089999973022630908 3 0.11999997309561726 3 0.14999997879211419 3 0.17999998733113254 3 0.20999999602195013 3 0.24000000295730131 3 0.27000000722006656 3 0.30000000877996447 3 0.33000000822413011 3 0.36000000643325736 3 0.39000000428395332 3 0.42000000242910734 3 0.45000000118209887 3 0.48000000050825553 3 0.51000000010880409 3 0.53999999956883349 3 0.56999999853225713 3 0.59999999686319017 3 0.62999999475491886 3 0.65999999275462273 3 0.6899999916839118 3 0.71999999245212487 3 0.74999999578029763 3 0.78000000187857121 3 0.81000001014778389 3 0.84000001900637578 3 0.87000002597576176 3 0.90000002818977121 3 0.9300000235259569 3 0.96000001258743484 3 1 5
+8 0 1
+7 0 0  4 101 34  4.7123889803846897 0.25  4.7006080110317221 0.25000000000000011  4.6888270387298148 0.25000000000000006  4.6770460646722425 0.25000000000000011  4.6534841180863502 0.25000000000000017  4.641703145084275 0.25000000000000028  4.629922172530522 0.25000000000000022  4.6063602270712849 0.25000000000000022  4.5945792540159527 0.25000000000000022  4.5827982819727335 0.25000000000000017  4.559236337182754 0.25000000000000017  4.5474553642828059 0.25000000000000011  4.5356743923130187 0.25000000000000006  4.5121124478172616 0.25000000000000006  4.5003314751354111 0.25  4.4885505030261985 0.25  4.4649885585884856 0.24999999999999997  4.4532075861020228 0.24999999999999994  4.4414266137868514 0.24999999999999994  4.4178646692767876 0.24999999999999994  4.4060836969224182 0.25  4.394302724420621 0.24999999999999989  4.3707407797843114 0.24999999999999989  4.3589598074893035 0.24999999999999989  4.3471788348612828 0.24999999999999989  4.3236168900961136 0.24999999999999989  4.3118359177978807 0.24999999999999989  4.3000549451139634 0.24999999999999989  4.2764930002476378 0.24999999999999989  4.2647120279038937 0.24999999999999994  4.2529310552247592 0.24999999999999994  4.2293691102985864 0.24999999999999994  4.2175881378902309 0.24999999999999994  4.2058071652567275 0.24999999999999994  4.1822452203130824 0.24999999999999994  4.1704642478418279 0.24999999999999986  4.1586832752720753 0.25  4.1351213303458048 0.25  4.1233403578284671 0.25  4.111559385320195 0.25  4.0879974404336075 0.25  4.076216467894815 0.25  4.0644354954309909 0.25  4.0408735505920603 0.25  4.029092578056785 0.25000000000000006  4.0173116056128855 0.24999999999999994  3.9937496608160932 0.24999999999999994  3.9819686883032777 0.24999999999999994  3.9701877158546632 0.24999999999999994  3.9466257710839563 0.24999999999999994  3.934844798602104 0.24999999999999986  3.9230638261303192 0.24999999999999989  3.899501881363546 0.24999999999999989  3.8877209089087987 0.24999999999999994  3.875939936405961 0.24999999999999983  3.8523779916200507 0.24999999999999983  3.8405970191771224 0.24999999999999983  3.8288160466476802 0.24999999999999983  3.8052541018240076 0.24999999999999983  3.7934731293696951 0.24999999999999983  3.7816921568294886 0.24999999999999983  3.7581302119586057 0.24999999999999983  3.7463492394675684 0.24999999999999983  3.7345682669401778 0.24999999999999983  3.7110063220253524 0.24999999999999983  3.6992253494772189 0.24999999999999983  3.6874443769881866 0.24999999999999983  3.6638824320470103 0.24999999999999983  3.6521014594338421 0.24999999999999983  3.640320487003442 0.24999999999999989  3.6167585420669708 0.24999999999999989  3.6049775693996207 0.24999999999999983  3.5931965970353557 0.24999999999999992  3.5696346521442193 0.24999999999999994  3.5578536794559925 0.24999999999999986  3.5460727071461533 0.25  3.5225107623432113 0.25  3.5107297896889098 0.25  3.4989488173989152 0.25  3.4753868727180532 0.25  3.4636059001664572 0.25  3.4518249278397612 0.25  3.4282629832905944 0.25  3.4164820109082514 0.25  3.4047010384738439 0.25  3.3811390940221622 0.25  3.3693581218463518 0.25  3.3575771492349515 0.24999999999999997  3.3340152047789107 0.24999999999999992  3.3222342327776468 0.24999999999999989  3.3104532599487322 0.24999999999999992  3.2868913152909234 0.24999999999999986  3.2751103433078663 0.24999999999999981  3.2633293702897843 0.24999999999999981  3.2397674251053408 0.24999999999999975  3.2279864527879392 0.24999999999999981  3.2162054797329214 0.24999999999999978  3.188716541782374 0.24999999999999978  3.17300857585664 0.24999999999999967  3.1573006120124401 0.24999999999999989  3.1415926535897931 0.25 
+ 0 5 0.029999992061453328 3 0.059999980056428183 3 0.089999973022630908 3 0.11999997309561726 3 0.14999997879211419 3 0.17999998733113254 3 0.20999999602195013 3 0.24000000295730131 3 0.27000000722006656 3 0.30000000877996447 3 0.33000000822413011 3 0.36000000643325736 3 0.39000000428395332 3 0.42000000242910734 3 0.45000000118209887 3 0.48000000050825553 3 0.51000000010880409 3 0.53999999956883349 3 0.56999999853225713 3 0.59999999686319017 3 0.62999999475491886 3 0.65999999275462273 3 0.6899999916839118 3 0.71999999245212487 3 0.74999999578029763 3 0.78000000187857121 3 0.81000001014778389 3 0.84000001900637578 3 0.87000002597576176 3 0.90000002818977121 3 0.9300000235259569 3 0.96000001258743484 3 1 5
+8 0 1
+7 0 0  4 101 34  0.0009999999999999998 0.00067499999999999993  0.00099734928189558741 0.0006750000003828895  0.0009946985638594379 0.00067506014381988483  0.00099204882702345746 0.00067518043177676088  0.00098675327682092549 0.00067554115973159057  0.00098410746327265409 0.00067578160004075534  0.00098146459127879527 0.00067608204954813789  0.00097618668378173163 0.00067680269991145486  0.00097355164817236985 0.00067722290079990028  0.00097092150783156209 0.00067770284380422308  0.00096567296003397061 0.00067878181470159248  0.00096305455247276607 0.00067938084264304241  0.00096044298304530623 0.00068003921327028447  0.0009552354477864902 0.00068147410896873004  0.00095263948185141296 0.00068225063408988641  0.00095005228176350852 0.00068308597087684251  0.00094489732142211526 0.00068487360629703624  0.00094232956106469275 0.00068582590497678311  0.00093977247483452886 0.00068683635379102655  0.00093468153532178682 0.00068897276101240266  0.00093214768193473538 0.00069009871946311364  0.00092962638727543125 0.00069128203740278322  0.00092461077238890584 0.00069376247410183267  0.00092211645205700896 0.00069505959290499673  0.00091963654717642943 0.00069641315314796393  0.00091470739335467962 0.00069923211291132692  0.00091225814430946997 0.00070069751247948356  0.0009098251354266887 0.00070221831005164051  0.00090499338694512404 0.0007053695345055896  0.00090259464724400866 0.00070699996144230038  0.00090021393634207351 0.00070868461987493719  0.0008954903209902334 0.00071216111257283777  0.00089314741644072745 0.00071395294690217756  0.00089082428927529027 0.00071579772574865486  0.00088621929455569238 0.00071959176775801407  0.00088393742690543343 0.00072154103099481557  0.00088167704128874768 0.00072354183417699773  0.00087720089117739725 0.00072764500130773969  0.00087498512659053276 0.00072974736533963831  0.0008727925009703474 0.0007318997502947708  0.00086845513327893364 0.00073630293191044984  0.00086631039111942365 0.00073855372866258641  0.00086419039347230598 0.00074085291626152852  0.0008600014378520852 0.00074554633561523995  0.00085793247979434049 0.00074794056746838521  0.00085588981685305924 0.00075038145267626154  0.00085185857348037727 0.00075535468871311049  0.00084986999296756045 0.00075788703964587106  0.00084790919980222684 0.00076046420289636754  0.00084404461878563684 0.00076570621346442062  0.00084214083085582491 0.00076837106089018255  0.00084026626082860816 0.00077107878014478148  0.00083657692237753092 0.00077657792655651552  0.00083476215387782928 0.00077936935382581112  0.00083297796899118226 0.00078220161728929265  0.00082947206438606954 0.00078794569017563796  0.00082775034459467206 0.00079085749971467812  0.00082606050625310204 0.00079380801917821925  0.0008227458196570942 0.0007997842655773573  0.00082112097133320479 0.00080280999263359395  0.00081952923153873615 0.0008058722174167206  0.0008164131226908386 0.00081206736903985941  0.00081488875357232037 0.00081520029600557755  0.00081339864657387377 0.00081836742746813551  0.00081048803440372645 0.0008247677300845267  0.00080906752917231969 0.0008280009013696282  0.00080768236358929604 0.00083126590796479491  0.00080498371079365798 0.00083785715184828851  0.00080367022352763079 0.000841183389273583  0.00080239307496801063 0.00084453902211280448  0.00079991237358914514 0.00085130657349223485  0.00079870882072327826 0.00085471849217472336  0.00079754252491655417 0.00085815730107527909  0.00079528528296275193 0.0008650861345309692  0.0007941943367756483 0.00086857615923275093  0.00079314148324085654 0.0008720905092184832  0.00079111271238939244 0.00087916524096711671  0.00079013679503821222 0.00088272562287965205  0.00078919972130726921 0.00088630771110525175  0.00078740392573013621 0.00089351263311531837  0.00078654520385299941 0.00089713546705083634  0.00078572599026942855 0.00090077734011996644  0.00078416715662223959 0.00090809645499988971  0.00078342753652868992 0.00091177369696178456  0.00078272800164170436 0.00091546726860919662  0.000781409590256177 0.00092288432521019678  0.00078079071372627595 0.00092660781031417283  0.00078021241030001626 0.0009303448794219742  0.00077913734762047847 0.00093784340909760112  0.00077864058833326626 0.000941604869815226  0.00077818479999082187 0.00094537713873347183  0.00077735547229518069 0.00095294049219761241  0.00077698193290739494 0.00095673157689381966  0.00077664967142907122 0.00096053067003562976  0.00077606791987466176 0.00096814205476075449  0.00077581842977076678 0.00097195434649645243  0.00077561043306586565 0.0009757718291781509  0.00077522206959621572 0.00098468810052466677  0.0007750740232543655 0.00098978982701051306  0.00077500000035343655 0.00099489491351264863  0.00077500000000000019 0.001 
+ 0 5 0.029999992061393161 3 0.059999980056316668 3 0.089999973022487398 3 0.11999997309546409 3 0.14999997879195015 3 0.17999998733095773 3 0.20999999602176875 3 0.24000000295710966 3 0.27000000721986334 3 0.30000000877975042 3 0.33000000822391062 3 0.36000000643303121 3 0.39000000428371534 3 0.42000000242885477 3 0.45000000118183398 3 0.4800000005079898 3 0.5100000001085383 3 0.53999999956856215 3 0.56999999853197181 3 0.59999999686288419 3 0.629999994754596 3 0.65999999275427801 3 0.68999999168353832 3 0.71999999245172552 3 0.74999999577989518 3 0.78000000187819474 3 0.81000001014744971 3 0.84000001900609522 3 0.87000002597553483 3 0.90000002818959757 3 0.93000002352584432 3 0.96000001258737511 3 1 5
+8 0 1
+7 0 0  4 101 34  6.2831853071795862 0.25  6.2714043378266204 0.24999999999999997  6.2596233655247087 0.24999999999999992  6.2478423914671408 0.24999999999999994  6.2242804448812432 0.24999999999999994  6.2124994718791768 0.24999999999999994  6.200718499325415 0.24999999999999994  6.1771565538661761 0.24999999999999994  6.1653755808108599 0.24999999999999994  6.1535946087676248 0.24999999999999994  6.130032663977647 0.24999999999999994  6.1182516910777078 0.25  6.1064707191079126 0.25  6.0829087746121591 0.25  6.0711278019303085 0.25  6.0593468298210951 0.25000000000000006  6.0357848853833822 0.25000000000000006  6.0240039128969194 0.25000000000000006  6.012222940581748 0.25000000000000006  5.9886609960716841 0.25000000000000006  5.9768800237173139 0.25000000000000006  5.9650990512155184 0.25000000000000006  5.9415371065792097 0.25000000000000006  5.9297561342841991 0.25000000000000006  5.9179751616561802 0.25000000000000006  5.8944132168910119 0.25000000000000006  5.8826322445927737 0.24999999999999994  5.8708512719088608 0.25  5.8472893270425335 0.25  5.8355083546987911 0.25  5.8237273820196549 0.25  5.8001654370934812 0.25  5.7883844646851292 0.25  5.776603492051624 0.25  5.7530415471079799 0.25  5.7412605746367236 0.25  5.7294796020669718 0.25  5.7059176571407022 0.25  5.6941366846233628 0.25  5.6823557121150916 0.25  5.658793767228504 0.25  5.6470127946897133 0.25  5.6352318222258884 0.25  5.6116698773869551 0.25  5.5998889048516851 0.25  5.5881079324077803 0.25  5.5645459876109875 0.25  5.5527650150981787 0.25000000000000006  5.5409840426495567 0.25000000000000006  5.5174220978788551 0.25000000000000006  5.5056411253969992 0.25000000000000006  5.4938601529252171 0.25000000000000006  5.4702982081584439 0.25000000000000006  5.4585172357036944 0.25000000000000006  5.4467362632008589 0.25000000000000006  5.4231743184149499 0.25000000000000006  5.4113933459720158 0.25000000000000006  5.3996123734425785 0.25000000000000006  5.3760504286189041 0.25000000000000006  5.3642694561645925 0.25000000000000006  5.3524884836243842 0.25000000000000006  5.3289265387535023 0.25000000000000006  5.3171455662624636 0.25000000000000006  5.3053645937350753 0.25000000000000006  5.2818026488202516 0.25000000000000006  5.2700216762721119 0.25000000000000011  5.2582407037830841 0.25  5.2346787588419099 0.25  5.2228977862287342 0.25  5.2111168137983404 0.25  5.1875548688618656 0.25  5.1757738961945217 0.25  5.1639929238302491 0.25  5.1404309789391096 0.25  5.1286500062508997 0.25000000000000006  5.1168690339410432 0.24999999999999994  5.0933070891381034 0.24999999999999994  5.0815261164838139 0.24999999999999994  5.0697451441938073 0.24999999999999994  5.0461831995129476 0.24999999999999994  5.0344022269613582 0.24999999999999992  5.0226212546346556 0.24999999999999997  4.9990593100854888 0.25  4.9872783377031498 0.25000000000000006  4.9754973652687395 0.25000000000000006  4.9519354208170592 0.25000000000000006  4.9401544486412483 0.25000000000000011  4.928373476029849 0.25000000000000017  4.9048115315738059 0.25000000000000017  4.8930305595725452 0.25000000000000017  4.8812495867436283 0.25000000000000022  4.8576876420858186 0.25000000000000022  4.8459066701027629 0.25000000000000028  4.83412569708468 0.25000000000000028  4.8105637519002418 0.25000000000000028  4.7987827795828295 0.25000000000000028  4.7870018065278206 0.25000000000000028  4.7595128685772714 0.25000000000000017  4.7438049026515339 0.25000000000000006  4.7280969388073384 0.25  4.7123889803846897 0.24999999999999983 
+ 0 5 0.029999992061393161 3 0.059999980056316668 3 0.089999973022487398 3 0.11999997309546409 3 0.14999997879195015 3 0.17999998733095773 3 0.20999999602176875 3 0.24000000295710966 3 0.27000000721986334 3 0.30000000877975042 3 0.33000000822391062 3 0.36000000643303121 3 0.39000000428371534 3 0.42000000242885477 3 0.45000000118183398 3 0.4800000005079898 3 0.5100000001085383 3 0.53999999956856215 3 0.56999999853197181 3 0.59999999686288419 3 0.629999994754596 3 0.65999999275427801 3 0.68999999168353832 3 0.71999999245172552 3 0.74999999577989518 3 0.78000000187819474 3 0.81000001014744971 3 0.84000001900609522 3 0.87000002597553483 3 0.90000002818959757 3 0.93000002352584432 3 0.96000001258737511 3 1 5
+8 0 0.002
+1 0.002 0 0 1 
+8 0 0.002
+1 0 0.002 -0 -1 
+8 0.25 0.75
+1 6.2831853071795862 0 0 1 
+8 0.25 0.75
+1 0 0 0 1 
+8 0.24999999999999981 0.75000000000000011
+1 4.7123889803846897 0 0 1 
+8 0.24999999999999981 0.75000000000000011
+1 4.7123889803846897 0 0 1 
+8 0.25 0.75
+1 3.1415926535897931 0 0 1 
+8 0.25 0.75
+1 3.1415926535897931 0 0 1 
+8 0.25 0.75
+1 1.5707963267948966 0 0 1 
+8 0.25 0.75
+1 1.5707963267948966 0 0 1 
+8 0 0.00019999999999999996
+1 0 0 -1 0 
+8 0 0.00019999999999999996
+1 0 0 0 1 
+8 0 0.00040000000000000002
+1 -0.00019999999999999996 0 0 1 
+8 0 0.00040000000000000002
+1 0 0 0 -1 
+8 0 0.00019999999999999996
+1 -0.00019999999999999996 0.00040000000000000002 1 0 
+8 0 0.00019999999999999996
+1 0 0 -0 -1 
+8 0 0.00040000000000000002
+1 0 0.00040000000000000002 -0 -1 
+8 0 0.00040000000000000002
+1 0 0 0 1 
+8 0 0.00019999999999999996
+1 0 0 -1 0 
+8 0 0.00019999999999999996
+1 0.0021000000000000003 0 0 1 
+8 0 0.00040000000000000002
+1 -0.00019999999999999996 0 0 1 
+8 0 0.00040000000000000002
+1 -0.0021000000000000003 0 0 -1 
+8 0 0.00019999999999999996
+1 -0.00019999999999999996 0.00040000000000000002 1 0 
+8 0 0.00019999999999999996
+1 -0.0021000000000000003 0 -0 -1 
+8 0 0.00040000000000000002
+1 0 0.00040000000000000002 -0 -1 
+8 0 0.00040000000000000002
+1 0.0021000000000000003 0 0 1 
+8 0 0.0021000000000000003
+1 0 0.00019999999999999996 1 0 
+8 0 0.0021000000000000003
+1 0 0 -1 -0 
+8 0 0.0021000000000000003
+1 0 0 1 0 
+8 0 0.0021000000000000003
+1 0 0.00040000000000000002 1 0 
+8 0 0.0021000000000000003
+1 0 -0.00040000000000000002 -1 -0 
+8 0 0.0021000000000000003
+1 0 0 -1 0 
+8 0 0.0021000000000000003
+1 0 -0.00019999999999999996 -1 0 
+8 0 0.0021000000000000003
+1 0 0 1 0 
+Curves 36
+1 -0.001 -0.001 -0.001 1 0 0 
+1 0.001 -0.001 -0.001 0 1 0 
+1 0.001 0.001 -0.001 -1 0 0 
+1 -0.001 0.001 -0.001 0 -1 0 
+1 0.001 -0.001 -0.001 0 0 1 
+1 -0.001 -0.001 0.001 1 0 0 
+1 -0.001 -0.001 -0.001 0 0 1 
+7 0 0  4 101 34  0.001 0.00037500000000000022 -1.1102230246251566e-19  0.001 0.00037499999955820454 -3.2397665720599324e-06  0.001 0.00037493060328474859 -6.4795330606866045e-06  0.001 0.00037479180948835289 -9.7181003046633577e-06  0.001 0.00037437558492508805 -1.619043944109011e-05  0.001 0.00037409815379912882 -1.9424211555646776e-05  0.001 0.00037375148129061041 -2.2654388437027386e-05  0.001 0.00037291996164062936 -2.9105164266771121e-05  0.001 0.00037243511446165354 -3.232576334488402e-05  0.001 0.00037188133407205085 -3.5540379316978403e-05  0.001 0.00037063636765200924 -4.1955271069590738e-05  0.001 0.00036994518156572019 -4.5155546977731497e-05  0.001 0.00036918552314967192 -4.8347465166847407e-05  0.001 0.00036752987426685001 -5.4712230483178638e-05  0.001 0.00036663388374243876 -5.7885077737162009e-05  0.001 0.00036567003360364359 -6.1047211177933877e-05  0.001 0.00036360737734957385 -6.7347718261859255e-05  0.001 0.00036250857118063485 -7.0486092032042146e-05  0.001 0.00036134266870266199 -7.3611419646686945e-05  0.001 0.00035887758344722799 -7.9833679051149572e-05  0.001 0.00035757840061948442 -8.293061096865629e-05  0.001 0.00035621303376601941 -8.6012193330028638e-05  0.001 0.00035335099142096225 -9.2142389302448676e-05  0.001 0.00035185431587885028 -9.5191003041432913e-05  0.001 0.00035029251559850328 -9.8221997895475366e-05  0.001 0.00034703986971769976 -0.00010424651923316953  0.001 0.00034534902406213488 -0.00010724004584398084  0.001 0.00034359425763272246 -0.00011021372336738034  0.001 0.00033995822941662747 -0.00011611919373373725  0.001 0.00033807696756657692 -0.00011905098670176739  0.001 0.00033613313091353426 -0.00012196074447079896  0.001 0.00033212179318518697 -0.00012773405212304834  0.001 0.00033005429203594949 -0.00013059760212799887  0.001 0.00032792570105924426 -0.00013343697977464587  0.001 0.00032354796027921485 -0.00013906530665415407  0.001 0.00032129881039059737 -0.00014185425600446978  0.001 0.00031899019133423346 -0.00014461694953597526  0.001 0.00031425576772183873 -0.00015008779967207053  0.001 0.00031182996306964884 -0.00015279595638934796  0.001 0.00030934644196757176 -0.00015547583214735384  0.001 0.00030426584779563503 -0.00016077705932574781  0.001 0.00030166877462009257 -0.00016339841085403795  0.001 0.00029901586585208249 -0.00016598951908940374  0.001 0.00029360038198241557 -0.00017110935373634029  0.001 0.0002908378067672479 -0.0001736380802513623  0.001 0.00028802140075816007 -0.00017613466829070513  0.001 0.00028228305148487223 -0.00018106174352398342  0.001 0.00027936110810091884 -0.00018349223081742583  0.001 0.00027638745819649893 -0.0001858887557972787  0.001 0.00027033898446412997 -0.00019061213259533317  0.001 0.00026726416051132886 -0.00019293898450954661  0.001 0.00026413986906371334 -0.00019523012565392372  0.001 0.00025779470012709773 -0.00019973931709412897  0.001 0.00025457382250867978 -0.00020195736748265271  0.001 0.00025130582620466236 -0.00020413803789966635  0.001 0.00024467804979734042 -0.00020842303241702654  0.001 0.00024131826955998736 -0.00021052735660651156  0.001 0.00023791382402513152 -0.00021259271457954221  0.001 0.00023101815510304812 -0.00021664399819688575  0.001 0.00022752693157662419 -0.00021862992392608229  0.001 0.00022399359528839846 -0.00022057538367487839  0.001 0.00021684534341554707 -0.00022438396115564152  0.001 0.00021323042768587187 -0.00022624707896716425  0.001 0.00020957604522907491 -0.0002280683208541542  0.001 0.00020219108067170044 -0.00023162573572877877  0.001 0.00019846049841965941 -0.00023336190878938689  0.001 0.00019469318311754469 -0.00023505488894641591  0.001 0.00018708790171351365 -0.0002383532423633069  0.001 0.00018324993545355817 -0.00023995861568845155  0.001 0.00017937805140830256 -0.00024151957503909793  0.001 0.00017156933827818977 -0.00024455154339104502  0.001 0.00016763250902916726 -0.00024602255244932602  0.001 0.00016366465260544638 -0.0002474480251019896  0.001 0.00015566984477195889 -0.00025020687637885875  0.001 0.00015164289319297941 -0.00025154025505198541  0.001 0.00014758787397867358 -0.00025282707603895303  0.001 0.00013942472196102007 -0.00025530668485740902  0.001 0.00013531658898501586 -0.00025649947273107411  0.001 0.00013118341026317193 -0.00025764478506889289  0.001 0.00012287003871309544 -0.00025983964632983312  0.001 0.00011868984571057228 -0.00026088919529077882  0.001 0.00011448768447696267 -0.00026189045633736484  0.001 0.00010604255192320423 -0.00026379569746170719  0.001 0.00010179958042871107 -0.00026469967757604575  0.001 9.7537766989388205e-05 -0.00026555466466013909  0.001 8.89796247574648e-05 -0.00026716605635356141  0.001 8.4683295791341048e-05 -0.00026792246100121829  0.001 8.0371292974644077e-05 -0.00026862927629998023  0.001 7.1719143348922599e-05 -0.00026994324179719265  0.001 6.7378996367045921e-05 -0.00027055039203711917  0.001 6.3026378384456244e-05 -0.0002711074666778843  0.001 5.429943207967725e-05 -0.00027212108941700142  0.001 4.9925103584055552e-05 -0.00027257763755762819  0.001 4.5541534574272906e-05 -0.00027298373492002395  0.001 3.6759167583743315e-05 -0.00027369476459763564  0.001 3.2360369427173465e-05 -0.00027399969694684066  0.001 2.7955581717516777e-05 -0.00027425391514171969  0.001 1.7667576317691892e-05 -0.00027472858160462499  0.001 1.1780968834024908e-05 -0.00027490952713355322  0.001 5.890484408481722e-06 -0.0002749999995680221  0.001 0 -0.00027499999999999991 
+ 0 5 0.02999999206140359 3 0.059999980056328228 3 0.089999973022479002 3 0.11999997309541297 3 0.14999997879185498 3 0.17999998733081851 3 0.2099999960215877 3 0.24000000295689533 3 0.27000000721961759 3 0.30000000877947447 3 0.33000000822360626 3 0.36000000643270597 3 0.39000000428337406 3 0.42000000242850055 3 0.4500000011814641 3 0.48000000050760411 3 0.51000000010814461 3 0.53999999956816913 3 0.56999999853158778 3 0.59999999686252214 3 0.62999999475425938 3 0.65999999275396404 3 0.68999999168324322 3 0.71999999245145807 3 0.74999999577966336 3 0.78000000187799257 3 0.81000001014726342 3 0.84000001900592047 3 0.87000002597538184 3 0.90000002818946989 3 0.93000002352574029 3 0.96000001258730916 3 1 5
+7 0 0  4 101 34  0.001 0 -0.00027500000000000012  0.001 -4.4178635073544023e-06 -0.00027499999967601661  0.001 -8.8357269009362591e-06 -0.00027494910907548207  0.001 -1.3251954960904699e-05 -0.00027484732695812544  0.001 -2.2077871965122898e-05 -0.00027454209561173117  0.001 -2.6487561212245715e-05 -0.00027433864611936087  0.001 -3.0892347868673674e-05 -0.00027408441961311423  0.001 -3.9688860363778942e-05 -0.00027347463853646139  0.001 -4.4080586379387054e-05 -0.00027311908393854567  0.001 -4.8464153614061645e-05 -0.0002727129783195039  0.001 -5.7211733276714697e-05 -0.00027180000294480656  0.001 -6.1575745878724946e-05 -0.00027129313314819449  0.001 -6.5928361591155452e-05 -0.00027073605030975933  0.001 -7.4607587022516682e-05 -0.00026952190779568985  0.001 -7.8934196914311368e-05 -0.00026886484807778823  0.001 -8.3246197060819033e-05 -0.00026815802464267159  0.001 -9.1837797629807711e-05 -0.00026664541005635403  0.001 -9.6117398225512355e-05 -0.00026583961886579875  0.001 -0.0001003792086091182 -0.00026498462371528532  0.001 -0.00010886410779702117 -0.000263176894527967  0.001 -0.00011308719677544155 -0.00026222416045428812  0.001 -0.00011728935454094724 -0.00026122289142841429  0.001 -0.00012564871268515721 -0.00025912406037537219  0.001 -0.00012980591323831714 -0.00025802649831115667  0.001 -0.00013393908803928457 -0.0002568811781055688  0.001 -0.00014215434440886744 -0.00025449590445964621  0.001 -0.00014623642615088284 -0.00025325595097889874  0.001 -0.00015029144095551851 -0.0002519691222639964  0.001 -0.0001583443550914594 -0.00024930270157219348  0.001 -0.00016234225459331976 -0.00024792310954882259  0.001 -0.00016631010609654374 -0.00024649762933659172  0.001 -0.0001741827983496107 -0.00024355598166913729  0.001 -0.00017808763926545468 -0.00024203981415969557  0.001 -0.00018195951787451637 -0.00024047884744344595  0.001 -0.00018963450907384582 -0.00023726850420475754  0.001 -0.00019343762182427837 -0.00023561912761977088  0.001 -0.00019720493118542025 -0.00023392614031177129  0.001 -0.00020466518137100476 -0.00023045422966268169  0.001 -0.00020835812234911179 -0.00022867530625107535  0.001 -0.00021201249838275472 -0.000226854057442886  0.001 -0.00021924144453511064 -0.00022312828838346545  0.001 -0.00022281601480096037 -0.00022122376805473455  0.001 -0.00022634934421282359 -0.00021927830162486028  0.001 -0.00023333093691319142 -0.00021530694678710449  0.001 -0.00023677920034276601 -0.00021328105829598176  0.001 -0.00024018363857823433 -0.00021121569388931705  0.001 -0.00024690237753270439 -0.00020700757108890611  0.001 -0.00025021667838739871 -0.00020486481260734046  0.001 -0.00025348466699628882 -0.00020268413601076562  0.001 -0.00025992563535727167 -0.00019824858860702867  0.001 -0.00026309861524029168 -0.00019599371770830687  0.001 -0.00026622289861898596 -0.00019370257064672337  0.001 -0.00027237179603744867 -0.00018904944675987101  0.001 -0.00027539641020361659 -0.00018668746983969875  0.001 -0.00027837005168136297 -0.00018429093921675188  0.001 -0.00028421322602321751 -0.00017943056985138272  0.001 -0.00028708275900887872 -0.00017696673101065731  0.001 -0.00028989915624482988 -0.00017447013761842957  0.001 -0.00029542363390484317 -0.00016941331374223557  0.001 -0.0002981317144446576 -0.00016685308315619041  0.001 -0.00030078461410210647 -0.0001642619698781589  0.001 -0.00030597812884860186 -0.00015901991850473428  0.001 -0.00030851874404613235 -0.00015636898030297274  0.001 -0.0003110022557102099 -0.0001536890998346545  0.001 -0.00031585327599378913 -0.00014827345915924639  0.001 -0.00031822078471279959 -0.00014553769884108415  0.001 -0.00032052939401783985 -0.00014277500095286543  0.001 -0.00032502714867723673 -0.00013719779458990945  0.001 -0.00032721629412061493 -0.00013438328599927642  0.001 -0.00032934487505331548 -0.00013154390436608831  0.001 -0.00033347937735142476 -0.00012581751473733949  0.001 -0.00033548529879453583 -0.0001229305066213886  0.001 -0.00033742912513907644 -0.00012002074524399419  0.001 -0.00034119119506207963 -0.00011415788616610356  0.001 -0.00034300943870725354 -0.00011120478834151726  0.001 -0.00034476419459857191 -0.00010823110758436117  0.001 -0.00034814547935101229 -0.00010224479610474791  0.001 -0.00034977200826964672 -9.9232165255677904e-05  0.001 -0.00035133379782121757 -9.6201167526326235e-05  0.001 -0.00035432679044977288 -9.0104695056269176e-05  0.001 -0.00035575799357833414 -8.7039220187754116e-05  0.001 -0.00035712334955095235 -8.3957635283105292e-05  0.001 -0.00035972140562960068 -7.7764538077016438e-05  0.001 -0.00036095410578551655 -7.4653025647721026e-05  0.001 -0.00036211999726382593 -7.152769579221785e-05  0.001 -0.0003643173495730385 -6.5251724822139811e-05  0.001 -0.00036534881045620582 -6.2101083580317628e-05  0.001 -0.00036631264949997289 -5.8938948181404883e-05  0.001 -0.00036810442063253522 -5.2594038455876292e-05  0.001 -0.0003689323527778894 -4.9411264002500069e-05  0.001 -0.00036969200001529633 -4.621934414860096e-05  0.001 -0.00037107421284136491 -3.9819583525097179e-05  0.001 -0.00037169677848767436 -3.66117426283058e-05  0.001 -0.00037225054761821387 -3.3397125354467148e-05  0.001 -0.00037322013354222985 -2.6956722894744269e-05  0.001 -0.00037363595038205434 -2.3730937579927502e-05  0.001 -0.00037398261155688984 -2.0500759926178279e-05  0.001 -0.00037462988400630627 -1.2956222632973913e-05  0.001 -0.00037487662790939023 -8.6393771449511112e-06  0.001 -0.00037499999941093898 -4.3196885662201148e-06  0.001 -0.00037500000000000001 0 
+ 0 5 0.029999992061432858 3 0.059999980056386043 3 0.089999973022564572 3 0.11999997309552696 3 0.14999997879199758 3 0.17999998733098987 3 0.20999999602178093 3 0.24000000295710489 3 0.27000000721984585 3 0.30000000877971755 3 0.3300000082238575 3 0.3600000064329536 3 0.39000000428361203 3 0.42000000242872731 3 0.45000000118168426 3 0.48000000050782077 3 0.510000000108352 3 0.53999999956836386 3 0.56999999853177064 3 0.59999999686268879 3 0.62999999475441015 3 0.65999999275410304 3 0.68999999168337922 3 0.71999999245158708 3 0.74999999577977361 3 0.78000000187807772 3 0.81000001014732825 3 0.84000001900597043 3 0.87000002597542336 3 0.90000002818950509 3 0.93000002352576439 3 0.96000001258732104 3 1 5
+7 0 0  4 101 34  0.001 -0.00037500000000000001 0  0.001 -0.00037499999955820432 3.2397665720602653e-06  0.001 -0.00037493060328474805 6.4795330606861598e-06  0.001 -0.00037479180948835257 9.7181003046633577e-06  0.001 -0.00037437558492508773 1.6190439441088999e-05  0.001 -0.00037409815379912817 1.9424211555648219e-05  0.001 -0.0003737514812906102 2.2654388437026051e-05  0.001 -0.00037291996164062904 2.9105164266770569e-05  0.001 -0.00037243511446165322 3.2325763344884352e-05  0.001 -0.00037188133407205058 3.5540379316978179e-05  0.001 -0.00037063636765200859 4.1955271069591626e-05  0.001 -0.00036994518156572019 4.5155546977729613e-05  0.001 -0.00036918552314967149 4.8347465166848294e-05  0.001 -0.00036752987426684957 5.4712230483179302e-05  0.001 -0.00036663388374243909 5.7885077737160451e-05  0.001 -0.00036567003360364294 6.1047211177934325e-05  0.001 -0.00036360737734957363 6.7347718261858699e-05  0.001 -0.00036250857118063441 7.0486092032042701e-05  0.001 -0.00036134266870266172 7.3611419646686389e-05  0.001 -0.00035887758344722756 7.9833679051149355e-05  0.001 -0.0003575784006194842 8.2930610968656507e-05  0.001 -0.00035621303376601941 8.6012193330028408e-05  0.001 -0.00035335099142096252 9.2142389302447565e-05  0.001 -0.00035185431587884898 9.5191003041434458e-05  0.001 -0.0003502925155985036 9.8221997895474363e-05  0.001 -0.00034703986971769949 0.00010424651923316963  0.001 -0.00034534902406213418 0.00010724004584398106  0.001 -0.00034359425763272257 0.00011021372336737989  0.001 -0.00033995822941662747 0.00011611919373373692  0.001 -0.00033807696756657605 0.00011905098670176795  0.001 -0.00033613313091353426 0.00012196074447079864  0.001 -0.00033212179318518729 0.00012773405212304767  0.001 -0.00033005429203594781 0.00013059760212800019  0.001 -0.00032792570105924469 0.00013343697977464508  0.001 -0.00032354796027921453 0.00013906530665415407  0.001 -0.00032129881039059781 0.00014185425600446956  0.001 -0.00031899019133423281 0.00014461694953597548  0.001 -0.00031425576772183786 0.00015008779967207086  0.001 -0.00031182996306964992 0.00015279595638934728  0.001 -0.000309346441967571 0.00015547583214735395  0.001 -0.00030426584779563438 0.00016077705932574781  0.001 -0.00030166877462009322 0.00016339841085403741  0.001 -0.00029901586585208217 0.00016598951908940407  0.001 -0.00029360038198241557 0.00017110935373634018  0.001 -0.00029083780676724736 0.00017363808025136197  0.001 -0.00028802140075815963 0.00017613466829070524  0.001 -0.00028228305148487152 0.00018106174352398386  0.001 -0.00027936110810091954 0.00018349223081742493  0.001 -0.00027638745819649822 0.00018588875579727927  0.001 -0.00027033898446412964 0.00019061213259533317  0.001 -0.00026726416051132832 0.00019293898450954661  0.001 -0.00026413986906371323 0.0001952301256539235  0.001 -0.00025779470012709729 0.00019973931709412886  0.001 -0.00025457382250868 0.00020195736748265271  0.001 -0.00025130582620466215 0.00020413803789966624  0.001 -0.00024467804979734031 0.00020842303241702643  0.001 -0.00024131826955998747 0.00021052735660651134  0.001 -0.00023791382402513128 0.00021259271457954232  0.001 -0.00023101815510304869 0.00021664399819688551  0.001 -0.00022752693157662352 0.00021862992392608229  0.001 -0.00022399359528839857 0.0002205753836748785  0.001 -0.00021684534341554639 0.00022438396115564196  0.001 -0.00021323042768587263 0.00022624707896716357  0.001 -0.00020957604522907426 0.00022806832085415431  0.001 -0.00020219108067170033 0.00023162573572877877  0.001 -0.00019846049841965941 0.00023336190878938702  0.001 -0.00019469318311754447 0.00023505488894641591  0.001 -0.0001870879017135133 0.00023835324236330701  0.001 -0.0001832499354535586 0.00023995861568845123  0.001 -0.00017937805140830242 0.00024151957503909793  0.001 -0.00017156933827819042 0.0002445515433910448  0.001 -0.00016763250902916571 0.00024602255244932645  0.001 -0.00016366465260544684 0.00024744802510198927  0.001 -0.00015566984477195911 0.00025020687637885853  0.001 -0.00015164289319297819 0.00025154025505198585  0.001 -0.00014758787397867401 0.00025282707603895281  0.001 -0.0001394247219610194 0.00025530668485740902  0.001 -0.00013531658898501575 0.00025649947273107432  0.001 -0.00013118341026317171 0.00025764478506889278  0.001 -0.00012287003871309422 0.00025983964632983312  0.001 -0.00011868984571057307 0.00026088919529077838  0.001 -0.00011448768447696178 0.00026189045633736517  0.001 -0.00010604255192320466 0.00026379569746170709  0.001 -0.00010179958042870951 0.00026469967757604553  0.001 -9.7537766989388327e-05 0.00026555466466013876  0.001 -8.8979624757463689e-05 0.00026716605635356119  0.001 -8.4683295791341374e-05 0.00026792246100121808  0.001 -8.03712929746434e-05 0.00026862927629998001  0.001 -7.1719143348922043e-05 0.00026994324179719232  0.001 -6.7378996367045704e-05 0.00027055039203711885  0.001 -6.3026378384456013e-05 0.0002711074666778843  0.001 -5.429943207967769e-05 0.00027212108941700121  0.001 -4.9925103584054109e-05 0.00027257763755762744  0.001 -4.5541534574273123e-05 0.00027298373492002395  0.001 -3.6759167583742312e-05 0.00027369476459763553  0.001 -3.2360369427174021e-05 0.0002739996969468399  0.001 -2.7955581717516221e-05 0.00027425391514171958  0.001 -1.7667576317692003e-05 0.00027472858160462499  0.001 -1.1780968834024241e-05 0.00027490952713355333  0.001 -5.8904844084821667e-06 0.00027499999956802189  0.001 0 0.00027499999999999991 
+ 0 5 0.029999992061415345 3 0.059999980056347636 3 0.089999973022492463 3 0.11999997309543126 3 0.14999997879189231 3 0.17999998733087841 3 0.20999999602166664 3 0.2400000029569801 3 0.27000000721969997 3 0.30000000877954497 3 0.33000000822365405 3 0.36000000643272301 3 0.39000000428337128 3 0.4200000024284869 3 0.45000000118144273 3 0.48000000050758557 3 0.51000000010813284 3 0.53999999956816191 3 0.56999999853158445 3 0.59999999686252092 3 0.62999999475426582 3 0.65999999275398147 3 0.68999999168327564 3 0.7199999924514987 3 0.74999999577970056 3 0.78000000187802088 3 0.81000001014728717 3 0.84000001900593857 3 0.87000002597539483 3 0.90000002818947855 3 0.93000002352574329 3 0.96000001258730894 3 1 5
+7 0 0  4 101 34  0.001 2.2204460492503131e-19 0.00027499999999999991  0.001 4.4178635073532927e-06 0.00027499999967601639  0.001 8.8357269009380345e-06 0.00027494910907548185  0.001 1.325195496090359e-05 0.00027484732695812506  0.001 2.2077871965122454e-05 0.00027454209561173084  0.001 2.6487561212245715e-05 0.00027433864611936065  0.001 3.0892347868673566e-05 0.00027408441961311402  0.001 3.9688860363778834e-05 0.00027347463853646129  0.001 4.4080586379387386e-05 0.00027311908393854535  0.001 4.8464153614061313e-05 0.00027271297831950368  0.001 5.7211733276715252e-05 0.00027180000294480645  0.001 6.1575745878723835e-05 0.00027129313314819449  0.001 6.5928361591156116e-05 0.00027073605030975912  0.001 7.4607587022516682e-05 0.00026952190779568964  0.001 7.8934196914311585e-05 0.00026886484807778845  0.001 8.3246197060819155e-05 0.00026815802464267159  0.001 9.1837797629808145e-05 0.00026664541005635381  0.001 9.6117398225511243e-05 0.00026583961886579924  0.001 0.00010037920860911887 0.0002649846237152851  0.001 0.00010886410779702316 0.00026317689452796646  0.001 0.00011308719677543833 0.00026222416045428899  0.001 0.00011728935454094902 0.00026122289142841381  0.001 0.00012564871268515686 0.00025912406037537241  0.001 0.00012980591323831804 0.00025802649831115667  0.001 0.00013393908803928435 0.0002568811781055689  0.001 0.00014215434440886755 0.00025449590445964621  0.001 0.00014623642615088306 0.00025325595097889852  0.001 0.00015029144095551851 0.0002519691222639964  0.001 0.0001583443550914594 0.00024930270157219359  0.001 0.00016234225459331976 0.00024792310954882237  0.001 0.00016631010609654374 0.00024649762933659194  0.001 0.00017418279834961159 0.00024355598166913707  0.001 0.00017808763926545291 0.00024203981415969601  0.001 0.00018195951787451748 0.0002404788474434456  0.001 0.00018963450907384628 0.00023726850420475732  0.001 0.00019343762182427794 0.00023561912761977099  0.001 0.0001972049311854205 0.00023392614031177118  0.001 0.00020466518137100587 0.00023045422966268104  0.001 0.00020835812234911111 0.00022867530625107581  0.001 0.00021201249838275605 0.00022685405744288524  0.001 0.00021924144453511186 0.00022312828838346466  0.001 0.0002228160148009617 0.00022122376805473398  0.001 0.00022634934421282549 0.00021927830162485917  0.001 0.00023333093691319329 0.00021530694678710338  0.001 0.00023677920034276891 0.00021328105829597987  0.001 0.00024018363857823699 0.0002112156938893155  0.001 0.00024690237753270748 0.00020700757108890432  0.001 0.00025021667838740245 0.00020486481260733781  0.001 0.00025348466699629224 0.0002026841360107634  0.001 0.00025992563535727589 0.00019824858860702577  0.001 0.00026309861524029542 0.00019599371770830443  0.001 0.00026622289861899073 0.00019370257064672014  0.001 0.00027237179603745322 0.00018904944675986779  0.001 0.00027539641020362196 0.00018668746983969476  0.001 0.00027837005168136785 0.00018429093921674844  0.001 0.0002842132260232231 0.00017943056985137852  0.001 0.00028708275900888404 0.0001769667310106533  0.001 0.00028989915624483585 0.00017447013761842455  0.001 0.00029542363390484903 0.00016941331374223045  0.001 0.00029813171444466357 0.00016685308315618475  0.001 0.00030078461410211244 0.00016426196987815356  0.001 0.00030597812884860831 0.00015901991850472808  0.001 0.00030851874404613853 0.00015636898030296664  0.001 0.00031100225571021657 0.00015368909983464786  0.001 0.00031585327599379531 0.00014827345915923961  0.001 0.00031822078471280648 0.00014553769884107637  0.001 0.00032052939401784641 0.00014277500095285811  0.001 0.00032502714867724313 0.00013719779458990167  0.001 0.00032721629412062181 0.00013438328599926774  0.001 0.00032934487505332187 0.00013154390436607999  0.001 0.0003334793773514311 0.0001258175147373306  0.001 0.00033548529879454271 0.0001229305066213786  0.001 0.00033742912513908262 0.00012002074524398499  0.001 0.00034119119506208608 0.00011415788616609347  0.001 0.00034300943870726 0.0001112047883415066  0.001 0.00034476419459857798 0.00010823110758435073  0.001 0.00034814547935101836 0.00010224479610473658  0.001 0.00034977200826965274 9.9232165255666249e-05  0.001 0.00035133379782122343 9.6201167526314363e-05  0.001 0.00035432679044977846 9.0104695056257399e-05  0.001 0.00035575799357834016 8.7039220187740129e-05  0.001 0.00035712334955095761 8.3957635283092864e-05  0.001 0.00035972140562960631 7.7764538077002235e-05  0.001 0.00036095410578552121 7.465302564770849e-05  0.001 0.00036211999726383113 7.1527695792203308e-05  0.001 0.00036431734957304316 6.5251724822125377e-05  0.001 0.00036534881045621038 6.2101083580303086e-05  0.001 0.00036631264949997755 5.8938948181389562e-05  0.001 0.00036810442063253944 5.2594038455860083e-05  0.001 0.00036893235277789293 4.9411264002485304e-05  0.001 0.00036969200001530034 4.6219344148584528e-05  0.001 0.00037107421284136844 3.9819583525080082e-05  0.001 0.00037169677848767724 3.6611742628289923e-05  0.001 0.00037225054761821696 3.3397125354449611e-05  0.001 0.00037322013354223251 2.6956722894727837e-05  0.001 0.000373635950382057 2.373093757990863e-05  0.001 0.00037398261155689207 2.0500759926161071e-05  0.001 0.00037462988400630758 1.2956222632959148e-05  0.001 0.00037487662790939116 8.6393771449446704e-06  0.001 0.0003749999994109392 4.3196885662137866e-06  0.001 0.00037500000000000001 -1.1102230246251566e-19 
+ 0 5 0.029999992061392766 3 0.059999980056299876 3 0.089999973022433788 3 0.11999997309535598 3 0.14999997879179094 3 0.17999998733075107 3 0.20999999602152697 3 0.24000000295684326 3 0.27000000721957262 3 0.30000000877943245 3 0.33000000822356701 3 0.36000000643266961 3 0.39000000428334575 3 0.42000000242848534 3 0.45000000118146721 3 0.48000000050762487 3 0.51000000010817792 3 0.53999999956821054 3 0.56999999853164007 3 0.59999999686258221 3 0.62999999475432755 3 0.65999999275404242 3 0.68999999168333592 3 0.71999999245155566 3 0.74999999577974974 3 0.78000000187805707 3 0.81000001014730072 3 0.84000001900593679 3 0.87000002597539061 3 0.90000002818948488 3 0.93000002352576361 3 0.96000001258733736 3 1 5
+1 0.001 0.001 -0.001 0 0 1 
+1 0.001 -0.001 0.001 0 1 0 
+1 -0.001 0.001 -0.001 0 0 1 
+1 0.001 0.001 0.001 -1 0 0 
+7 0 0  4 101 34  -0.001 1.1102230246251566e-19 0.0002250000000000001  -0.001 3.8288150397072231e-06 0.00022499999973492259  -0.001 7.6576299808113204e-06 0.00022495836197084862  -0.001 1.1485027632783918e-05 0.00022487508569301153  -0.001 1.9134155703106614e-05 0.00022462535095505264  -0.001 2.2955886383945747e-05 0.00022445889227947681  -0.001 2.6773368152850584e-05 0.00022425088877436617  -0.001 3.4397012315275037e-05 0.00022375197698437744  -0.001 3.8203174862135317e-05 0.00022346106867699201  -0.001 4.2002266465519966e-05 0.00022312880044323037  -0.001 4.9583502173152775e-05 0.00022238182059120516  -0.001 5.3365646428228168e-05 0.00022196710893943196  -0.001 5.7137913379001317e-05 0.00022151131388980307  -0.001 6.4659908752847663e-05 0.00022051792456010988  -0.001 6.840963732573635e-05 0.00021998033024546326  -0.001 7.2146704119376625e-05 0.0002194020201621858  -0.001 7.9592757945833761e-05 0.0002181644264097442  -0.001 8.3301745128776193e-05 0.00021750514270838095  -0.001 8.699531412790296e-05 0.00021680560122159709  -0.001 9.4348893424085037e-05 0.00021532655006833702  -0.001 9.8008903872049419e-05 0.00021454704037169003  -0.001 0.00010165077393548749 0.00021372782025961201  -0.001 0.00010889555099380343 0.00021201059485257724  -0.001 0.00011249845813987392 0.00021111258952731028  -0.001 0.0001160805429673808 0.00021017550935910158  -0.001 0.00012320043182101835 0.0002082239218306199  -0.001 0.00012673823599743206 0.00020720941443728091  -0.001 0.0001302525821614492 0.00020615655457963334  -0.001 0.00013723177441259861 0.00020397493764997643  -0.001 0.00014069662064754242 0.00020284618053994643  -0.001 0.00014413542528367217 0.0002016798785481202  -0.001 0.00015095842523632909 0.00019927307591111233  -0.001 0.00015434262069672733 0.00019803257522156903  -0.001 0.00015769824882458039 0.00019675542063554686  -0.001 0.00016434990786400039 0.00019412877616752878  -0.001 0.00016764593891437307 0.00019277928623435847  -0.001 0.00017091094036069798 0.00019139411480054004  -0.001 0.00017737649052153781 0.00018855346063310319  -0.001 0.0001805770393692303 0.00018709797784178896  -0.001 0.00018374416526505466 0.00018560786518054284  -0.001 0.00019000925193042996 0.00018255950867738035  -0.001 0.00019310721282750042 0.00018100126477205514  -0.001 0.00019616943165111521 0.00017940951951124839  -0.001 0.00020222014532476763 0.00017616022918944796  -0.001 0.00020520864029706587 0.00017450268406034785  -0.001 0.00020815915343447235 0.00017281284045489453  -0.001 0.00021398206052834556 0.00016936983089092239  -0.001 0.00021685445460241671 0.00016761666486054839  -0.001 0.00021968671139678574 0.00016583247491789809  -0.001 0.00022526888397630628 0.00016220339067847544  -0.001 0.00022801879987492169 0.00016035849630679523  -0.001 0.000230726512136459 0.00015848392143822542  -0.001 0.00023605555656579225 0.00015467682007625584  -0.001 0.00023867688884313953 0.00015274429350520458  -0.001 0.00024125404479051848 0.00015078349572279447  -0.001 0.00024631812922012644 0.00014680682987840089  -0.001 0.00024880505780769993 0.00014479096173598859  -0.001 0.00025124593541219067 0.0001427482944150753  -0.001 0.00025603381605086883 0.0001386108930618255  -0.001 0.00025838081918537535 0.00013651615894596936  -0.001 0.00026067999888849703 0.00013439615717303498  -0.001 0.00026518104500212672 0.00013010720604932357  -0.001 0.00026738291150665372 0.00012793825661151792  -0.001 0.00026953528828218718 0.00012574562713743952  -0.001 0.00027373950586128906 0.00012131464840301453  -0.001 0.00027579134675109908 0.00011907629905178974  -0.001 0.00027779214148213337 0.00011681590987052082  -0.001 0.00028169019552027772 0.00011225274102810113  -0.001 0.00028358745490453783 0.00010994996127212909  -0.001 0.00028543222504621269 0.00010762683084497415  -0.001 0.00028901546037124026 0.00010294160296690702  -0.001 0.00029075392562193683 0.00010057950541749139  -0.001 0.00029243857512053806 9.8198791563260723e-05  -0.001 0.0002956990357204745 9.3401906863167523e-05  -0.001 0.00029727484687962522 9.0985735915778183e-05  -0.001 0.00029879563531876762 8.8552724387195968e-05  -0.001 0.00030172608210421594 8.3654833176602495e-05  -0.001 0.0003031357405003654 8.1189953391000327e-05  -0.001 0.00030448929144506043 7.8710046157893571e-05  -0.001 0.00030708321838980802 7.3722023227846821e-05  -0.001 0.00030832359443456092 7.1213907426333385e-05  -0.001 0.00030950690294416348 6.8692610686166728e-05  -0.001 0.00031175855154565857 6.3625531153911559e-05  -0.001 0.00031282689168078503 6.1079748257215184e-05  -0.001 0.00031383733096198684 5.8522660193621512e-05  -0.001 0.00031574170296330407 5.338777485446644e-05  -0.001 0.00031663563572871545 5.0809977474793212e-05  -0.001 0.00031747096289998033 4.8222775784773742e-05  -0.001 0.00031902383121486732 4.3031486009340813e-05  -0.001 0.00031974137240750757 4.0427397820214316e-05  -0.001 0.00032039973334659322 3.7815827030660775e-05  -0.001 0.0003215976511291858 3.2579659247793157e-05  -0.001 0.00032213720802265358 2.9955062150418767e-05  -0.001 0.00032261714126912132 2.7324920744550063e-05  -0.001 0.00032345744906993481 2.2055500550231199e-05  -0.001 0.00032381782366444888 1.9416221656289869e-05  -0.001 0.00032411826334930637 1.6773349030495099e-05  -0.001 0.00032467923280546639 1.0600545790603988e-05  -0.001 0.00032489307752147192 7.0685813004072178e-06  -0.001 0.00032499999948948068 3.5342906450854805e-06  -0.001 0.00032500000000000009 0 
+ 0 5 0.029999992061416802 3 0.059999980056355942 3 0.089999973022522897 3 0.11999997309547714 3 0.14999997879193844 3 0.17999998733092509 3 0.20999999602171501 3 0.24000000295704005 3 0.27000000721978767 3 0.30000000877967054 3 0.33000000822382847 3 0.36000000643294716 3 0.39000000428363546 3 0.42000000242878177 3 0.45000000118177136 3 0.48000000050793401 3 0.51000000010848989 3 0.53999999956852673 3 0.56999999853195071 3 0.59999999686288119 3 0.62999999475460744 3 0.65999999275429733 3 0.68999999168356918 3 0.71999999245177315 3 0.7499999957799498 3 0.78000000187824414 3 0.81000001014748446 3 0.84000001900611299 3 0.87000002597554871 3 0.90000002818961111 3 0.9300000235258512 3 0.96000001258739043 3 1 5
+7 0 0  4 101 34  -0.001 -0.00032499999999999971 0  -0.001 -0.00032499999961711025 2.6507181044126417e-06  -0.001 -0.00032493985618011492 5.3014361405616658e-06  -0.001 -0.00032481956822323865 7.9511729765426868e-06  -0.001 -0.00032445884026840901 1.3246723179073605e-05  -0.001 -0.00032421839995924452 1.5892536727347252e-05  -0.001 -0.00032391795045186143 1.8535408721204184e-05  -0.001 -0.00032319730008854462 2.3813316218267212e-05  -0.001 -0.00032277709920009936 2.6448351827632168e-05  -0.001 -0.00032229715619577683 2.9078492168436609e-05  -0.001 -0.00032121818529840727 3.4327039966028708e-05  -0.001 -0.00032061915735695723 3.694544752723461e-05  -0.001 -0.00031996078672971517 3.9557016954693272e-05  -0.001 -0.0003185258910312696 4.4764552213510054e-05  -0.001 -0.00031774936591011339 4.7360518148586551e-05  -0.001 -0.00031691402912315734 4.9947718236491577e-05  -0.001 -0.00031512639370296383 5.5102678577884755e-05  -0.001 -0.00031417409502321636 5.7670438935307102e-05  -0.001 -0.00031316364620897352 6.022752516547114e-05  -0.001 -0.00031102723898759741 6.5318464678212792e-05  -0.001 -0.00030990128053688573 6.7852318065264814e-05  -0.001 -0.00030871796259721696 7.0373612724568442e-05  -0.001 -0.00030623752589816736 7.5389227611093906e-05  -0.001 -0.0003049404070950028 7.7883547942991354e-05  -0.001 -0.0003035868468520362 8.0363452823570378e-05  -0.001 -0.00030076788708867277 8.5292606645320793e-05  -0.001 -0.00029930248752051657 8.7741855690529391e-05  -0.001 -0.0002977816899483594 9.0174864573311361e-05  -0.001 -0.00029463046549441031 9.5006613054875898e-05  -0.001 -0.00029300003855769943 9.7405352755991714e-05  -0.001 -0.00029131538012506277 9.978606365792642e-05  -0.001 -0.00028783888742716182 0.0001045096790097666  -0.001 -0.0002860470530978223 0.00010685258355927241  -0.001 -0.00028420227425134505 0.00010917571072471  -0.001 -0.00028040823224198606 0.00011378070544430764  -0.001 -0.00027845896900518353 0.00011606257309456703  -0.001 -0.00027645816582300229 0.0001183229587112522  -0.001 -0.00027235499869225979 0.00012279910882260348  -0.001 -0.0002702526346603622 0.0001250148734094665  -0.001 -0.00026810024970522851 0.000127207499029653  -0.001 -0.00026369706808954964 0.00013154486672106681  -0.001 -0.00026144627133741416 0.00013368960888057548  -0.001 -0.00025914708373847085 0.00013580960652769458  -0.001 -0.00025445366438476034 0.00013999856214791452  -0.001 -0.00025205943253161389 0.00014206752020566027  -0.001 -0.00024961854732373869 0.00014411018314694024  -0.001 -0.00024464531128688916 0.00014814142651962259  -0.001 -0.00024211296035412945 0.00015013000703243941  -0.001 -0.00023953579710363226 0.00015209080019777321  -0.001 -0.00023429378653557899 0.00015595538121436327  -0.001 -0.00023162893910981809 0.00015785916914417465  -0.001 -0.00022892121985521819 0.00015973373917139199  -0.001 -0.00022342207344348442 0.00016342307762246921  -0.001 -0.00022063064617418849 0.00016523784612217064  -0.001 -0.0002177983827107075 0.00016702203100881773  -0.001 -0.00021205430982436146 0.00017052793561393088  -0.001 -0.00020914250028532266 0.00017224965540532745  -0.001 -0.00020619198082178026 0.00017393949374689834  -0.001 -0.00020021573442264274 0.00017725418034290598  -0.001 -0.00019719000736640612 0.00017887902866679518  -0.001 -0.00019412778258327923 0.00018047076846126387  -0.001 -0.00018793263096014058 0.00018358687730916134  -0.001 -0.00018479970399442268 0.00018511124642767962  -0.001 -0.00018163257253186459 0.00018660135342612617  -0.001 -0.00017523226991547337 0.00018951196559627339  -0.001 -0.00017199909863037144 0.00019093247082768049  -0.001 -0.00016873409203520517 0.00019231763641070398  -0.001 -0.00016214284815171132 0.00019501628920634228  -0.001 -0.00015881661072641773 0.00019632977647236928  -0.001 -0.00015546097788719494 0.00019760692503198939  -0.001 -0.00014869342650776507 0.00020008762641085466  -0.001 -0.00014528150782527671 0.00020129117927672181  -0.001 -0.00014184269892472079 0.0002024574750834458  -0.001 -0.00013491386546903117 0.00020471471703724809  -0.001 -0.00013142384076724744 0.00020580566322435167  -0.001 -0.00012790949078151747 0.00020685851675914346  -0.001 -0.00012083475903288333 0.00020888728761060761  -0.001 -0.00011727437712034705 0.0002098632049617879  -0.001 -0.00011369228889474848 0.00021080027869273079  -0.001 -0.00010648736688468175 0.0002125960742698636  -0.001 -0.00010286453294916331 0.00021345479614700059  -0.001 -9.9222659880033204e-05 0.00021427400973057109  -0.001 -9.1903545000110218e-05 0.0002158328433777601  -0.001 -8.8226303038215105e-05 0.00021657246347131021  -0.001 -8.4532731390802858e-05 0.00021727199835829558  -0.001 -7.7115674789801641e-05 0.00021859040974382294  -0.001 -7.3392189685828952e-05 0.00021920928627372361  -0.001 -6.9655120578024029e-05 0.00021978758969998368  -0.001 -6.215659090239889e-05 0.0002208626523795212  -0.001 -5.8395130184772941e-05 0.0002213594116667339  -0.001 -5.462286126652827e-05 0.00022181520000917777  -0.001 -4.7059507802387438e-05 0.00022264452770481903  -0.001 -4.3268423106180178e-05 0.00022301806709260476  -0.001 -3.9469329964370027e-05 0.00022335032857092864  -0.001 -3.1857945239243123e-05 0.00022393208012533818  -0.001 -2.8045653503550929e-05 0.00022418157022923314  -0.001 -2.422817082184725e-05 0.00022438956693413426  -0.001 -1.5311899475332957e-05 0.00022477793040378402  -0.001 -1.0210172989487454e-05 0.00022492597674563441  -0.001 -5.1050864873509743e-06 0.00022499999964656369  -0.001 2.2204460492503131e-19 0.0002250000000000001 
+ 0 5 0.029999992061418561 3 0.05999998005635996 3 0.089999973022529822 3 0.11999997309548298 3 0.14999997879194735 3 0.17999998733093792 3 0.20999999602172967 3 0.2400000029570476 3 0.27000000721977918 3 0.30000000877964833 3 0.33000000822378767 3 0.36000000643288455 3 0.39000000428354664 3 0.42000000242867624 3 0.4500000011816494 3 0.48000000050779446 3 0.5100000001083389 3 0.53999999956836309 3 0.56999999853177863 3 0.59999999686270467 3 0.62999999475443147 3 0.65999999275412813 3 0.6899999916834012 3 0.7199999924516064 3 0.74999999577979171 3 0.78000000187809837 3 0.8100000101473539 3 0.84000001900599597 3 0.87000002597544213 3 0.90000002818951486 3 0.93000002352576894 3 0.9600000125873227 3 1 5
+7 0 0  4 101 34  -0.001 0 -0.0002250000000000001  -0.001 -3.8288150397072231e-06 -0.00022499999973492281  -0.001 -7.6576299808113204e-06 -0.00022495836197084906  -0.001 -1.1485027632784029e-05 -0.00022487508569301164  -0.001 -1.9134155703106838e-05 -0.00022462535095505278  -0.001 -2.2955886383946079e-05 -0.00022445889227947725  -0.001 -2.6773368152850808e-05 -0.00022425088877436617  -0.001 -3.4397012315275254e-05 -0.00022375197698437755  -0.001 -3.8203174862135649e-05 -0.00022346106867699201  -0.001 -4.200226646552019e-05 -0.00022312880044323048  -0.001 -4.9583502173152775e-05 -0.00022238182059120548  -0.001 -5.3365646428228384e-05 -0.00022196710893943183  -0.001 -5.7137913379001541e-05 -0.00022151131388980307  -0.001 -6.465990875284788e-05 -0.00022051792456010988  -0.001 -6.840963732573635e-05 -0.00021998033024546326  -0.001 -7.2146704119376625e-05 -0.00021940202016218591  -0.001 -7.9592757945833313e-05 -0.0002181644264097442  -0.001 -8.3301745128777413e-05 -0.00021750514270838084  -0.001 -8.6995314127902296e-05 -0.00021680560122159698  -0.001 -9.4348893424085254e-05 -0.00021532655006833656  -0.001 -9.8008903872048864e-05 -0.00021454704037169049  -0.001 -0.00010165077393548794 -0.00021372782025961157  -0.001 -0.00010889555099380255 -0.00021201059485257735  -0.001 -0.00011249845813987558 -0.00021111258952730995  -0.001 -0.00011608054296737946 -0.0002101755093591018  -0.001 -0.00012320043182101849 -0.00020822392183061954  -0.001 -0.00012673823599743139 -0.00020720941443728102  -0.001 -0.00013025258216144953 -0.00020615655457963334  -0.001 -0.00013723177441259793 -0.00020397493764997643  -0.001 -0.00014069662064754353 -0.00020284618053994596  -0.001 -0.0001441354252836713 -0.00020167987854812042  -0.001 -0.0001509584252363292 -0.00019927307591111233  -0.001 -0.00015434262069672711 -0.00019803257522156925  -0.001 -0.00015769824882458085 -0.00019675542063554664  -0.001 -0.00016434990786400006 -0.00019412877616752878  -0.001 -0.0001676459389143734 -0.00019277928623435836  -0.001 -0.00017091094036069808 -0.00019139411480054004  -0.001 -0.00017737649052153759 -0.00018855346063310319  -0.001 -0.00018057703936922987 -0.00018709797784178896  -0.001 -0.00018374416526505423 -0.00018560786518054308  -0.001 -0.00019000925193042928 -0.00018255950867738081  -0.001 -0.00019310721282749888 -0.00018100126477205546  -0.001 -0.00019616943165111399 -0.0001794095195112494  -0.001 -0.0002022201453247654 -0.0001761602291894495  -0.001 -0.00020520864029706476 -0.00017450268406034807  -0.001 -0.00020815915343446934 -0.00017281284045489621  -0.001 -0.0002139820605283429 -0.00016936983089092382  -0.001 -0.00021685445460241403 -0.00016761666486055015  -0.001 -0.00021968671139678265 -0.00016583247491789977  -0.001 -0.00022526888397630262 -0.00016220339067847767  -0.001 -0.00022801879987491879 -0.00016035849630679721  -0.001 -0.0002307265121364548 -0.00015848392143822786  -0.001 -0.00023605555656578848 -0.00015467682007625828  -0.001 -0.00023867688884313476 -0.00015274429350520781  -0.001 -0.0002412540447905145 -0.00015078349572279716  -0.001 -0.000246318129220122 -0.00014680682987840398  -0.001 -0.00024880505780769456 -0.00014479096173599249  -0.001 -0.00025124593541218612 -0.00014274829441507852  -0.001 -0.00025603381605086373 -0.00013861089306182951  -0.001 -0.00025838081918537047 -0.00013651615894597324  -0.001 -0.00026067999888849182 -0.00013439615717303964  -0.001 -0.00026518104500212168 -0.00013010720604932801  -0.001 -0.00026738291150664797 -0.00012793825661152315  -0.001 -0.00026953528828218198 -0.00012574562713744465  -0.001 -0.00027373950586128391 -0.00012131464840301964  -0.001 -0.00027579134675109307 -0.00011907629905179629  -0.001 -0.00027779214148212784 -0.00011681590987052637  -0.001 -0.00028169019552027198 -0.00011225274102810756  -0.001 -0.00028358745490453295 -0.00010994996127213564  -0.001 -0.00028543222504620667 -0.00010762683084498126  -0.001 -0.0002890154603712343 -0.00010294160296691479  -0.001 -0.00029075392562193179 -0.00010057950541749827  -0.001 -0.00029243857512053231 -9.8198791563268935e-05  -0.001 -0.00029569903572046875 -9.3401906863176508e-05  -0.001 -0.00029727484687962045 -9.0985735915785515e-05  -0.001 -0.00029879563531876198 -8.8552724387205292e-05  -0.001 -0.00030172608210421047 -8.3654833176612483e-05  -0.001 -0.00030313574050036117 -8.118995339100854e-05  -0.001 -0.00030448929144505523 -7.871004615790356e-05  -0.001 -0.00030708321838980314 -7.3722023227857039e-05  -0.001 -0.00030832359443455637 -7.1213907426343373e-05  -0.001 -0.0003095069029441586 -6.8692610686177597e-05  -0.001 -0.0003117585515456538 -6.3625531153923106e-05  -0.001 -0.00031282689168078107 -6.1079748257225619e-05  -0.001 -0.0003138373309619824 -5.8522660193633282e-05  -0.001 -0.00031574170296329963 -5.3387774854479098e-05  -0.001 -0.00031663563572871257 -5.0809977474803539e-05  -0.001 -0.00031747096289997637 -4.8222775784786732e-05  -0.001 -0.0003190238312148639 -4.3031486009353024e-05  -0.001 -0.00031974137240750442 -4.0427397820227638e-05  -0.001 -0.00032039973334659002 -3.7815827030673433e-05  -0.001 -0.00032159765112918271 -3.2579659247806818e-05  -0.001 -0.00032213720802265125 -2.9955062150431977e-05  -0.001 -0.00032261714126911856 -2.7324920744564164e-05  -0.001 -0.00032345744906993226 -2.2055500550245856e-05  -0.001 -0.00032381782366444715 -1.9416221656303303e-05  -0.001 -0.00032411826334930474 -1.6773349030510088e-05  -0.001 -0.00032467923280546574 -1.0600545790614869e-05  -0.001 -0.00032489307752147137 -7.0685813004146556e-06  -0.001 -0.00032499999948948057 -3.5342906450890334e-06  -0.001 -0.00032499999999999999 0 
+ 0 5 0.029999992061453328 3 0.059999980056428183 3 0.089999973022630908 3 0.11999997309561726 3 0.14999997879211419 3 0.17999998733113254 3 0.20999999602195013 3 0.24000000295730131 3 0.27000000722006656 3 0.30000000877996447 3 0.33000000822413011 3 0.36000000643325736 3 0.39000000428395332 3 0.42000000242910734 3 0.45000000118209887 3 0.48000000050825553 3 0.51000000010880409 3 0.53999999956883349 3 0.56999999853225713 3 0.59999999686319017 3 0.62999999475491886 3 0.65999999275462273 3 0.6899999916839118 3 0.71999999245212487 3 0.74999999578029763 3 0.78000000187857121 3 0.81000001014778389 3 0.84000001900637578 3 0.87000002597576176 3 0.90000002818977121 3 0.9300000235259569 3 0.96000001258743484 3 1 5
+7 0 0  4 101 34  -0.001 0.00032500000000000009 -2.2204460492503131e-19  -0.001 0.00032499999961711046 -2.6507181044125308e-06  -0.001 0.00032493985618011525 -5.3014361405622215e-06  -0.001 0.00032481956822323909 -7.9511729765424649e-06  -0.001 0.00032445884026840945 -1.3246723179074494e-05  -0.001 0.00032421839995924474 -1.5892536727345917e-05  -0.001 0.00032391795045186213 -1.8535408721204848e-05  -0.001 0.00032319730008854522 -2.3813316218268432e-05  -0.001 0.0003227770992000998 -2.6448351827630169e-05  -0.001 0.00032229715619577694 -2.9078492168437944e-05  -0.001 0.00032121818529840749 -3.4327039966029372e-05  -0.001 0.00032061915735695756 -3.6945447527233946e-05  -0.001 0.00031996078672971549 -3.9557016954693828e-05  -0.001 0.00031852589103126993 -4.4764552213509837e-05  -0.001 0.00031774936591011361 -4.7360518148587107e-05  -0.001 0.00031691402912315745 -4.9947718236491469e-05  -0.001 0.00031512639370296383 -5.5102678577884755e-05  -0.001 0.00031417409502321691 -5.7670438935307326e-05  -0.001 0.00031316364620897341 -6.022752516547114e-05  -0.001 0.00031102723898759731 -6.5318464678213226e-05  -0.001 0.00030990128053688638 -6.7852318065264597e-05  -0.001 0.00030871796259721685 -7.0373612724568767e-05  -0.001 0.00030623752589816736 -7.5389227611094122e-05  -0.001 0.00030494040709500323 -7.7883547942991015e-05  -0.001 0.00030358684685203609 -8.0363452823570608e-05  -0.001 0.0003007678870886731 -8.5292606645320345e-05  -0.001 0.00029930248752051646 -8.7741855690530056e-05  -0.001 0.00029778168994835951 -9.0174864573311361e-05  -0.001 0.00029463046549441042 -9.5006613054876007e-05  -0.001 0.00029300003855769964 -9.7405352755991389e-05  -0.001 0.00029131538012506288 -9.9786063657926528e-05  -0.001 0.00028783888742716225 -0.0001045096790097666  -0.001 0.00028604705309782241 -0.00010685258355927252  -0.001 0.00028420227425134516 -0.00010917571072470978  -0.001 0.00028040823224198595 -0.00011378070544430764  -0.001 0.0002784589690051844 -0.00011606257309456658  -0.001 0.00027645816582300229 -0.00011832295871125231  -0.001 0.00027235499869226033 -0.0001227991088226028  -0.001 0.00027025263466036177 -0.00012501487340946726  -0.001 0.00026810024970522916 -0.00012720749902965267  -0.001 0.00026369706808955019 -0.00013154486672106635  -0.001 0.00026144627133741361 -0.00013368960888057634  -0.001 0.0002591470837384715 -0.00013580960652769404  -0.001 0.00025445366438476001 -0.00013999856214791484  -0.001 0.00025205943253161481 -0.00014206752020565951  -0.001 0.00024961854732373848 -0.00014411018314694081  -0.001 0.00024464531128688948 -0.0001481414265196227  -0.001 0.00024211296035412899 -0.00015013000703243963  -0.001 0.00023953579710363248 -0.00015209080019777321  -0.001 0.00023429378653557943 -0.00015595538121436316  -0.001 0.00023162893910981742 -0.00015785916914417509  -0.001 0.00022892121985521852 -0.00015973373917139188  -0.001 0.00022342207344348453 -0.0001634230776224691  -0.001 0.00022063064617418892 -0.00016523784612217074  -0.001 0.00021779838271070739 -0.00016702203100881773  -0.001 0.00021205430982436203 -0.00017052793561393042  -0.001 0.0002091425002853219 -0.00017224965540532799  -0.001 0.0002061919808217808 -0.00017393949374689798  -0.001 0.00020021573442264274 -0.00017725418034290585  -0.001 0.00019719000736640602 -0.00017887902866679529  -0.001 0.00019412778258327945 -0.00018047076846126387  -0.001 0.00018793263096014058 -0.00018358687730916145  -0.001 0.00018479970399442247 -0.00018511124642767962  -0.001 0.00018163257253186449 -0.00018660135342612628  -0.001 0.00017523226991547337 -0.0001895119655962736  -0.001 0.00017199909863037176 -0.00019093247082768028  -0.001 0.00016873409203520506 -0.00019231763641070398  -0.001 0.00016214284815171154 -0.00019501628920634207  -0.001 0.00015881661072641708 -0.00019632977647236928  -0.001 0.00015546097788719549 -0.00019760692503198939  -0.001 0.00014869342650776518 -0.00020008762641085488  -0.001 0.0001452815078252766 -0.00020129117927672181  -0.001 0.0001418426989247209 -0.0002024574750834458  -0.001 0.00013491386546903085 -0.00020471471703724809  -0.001 0.00013142384076724912 -0.00020580566322435167  -0.001 0.00012790949078151682 -0.00020685851675914346  -0.001 0.00012083475903288333 -0.00020888728761060761  -0.001 0.00011727437712034795 -0.0002098632049617878  -0.001 0.00011369228889474825 -0.00021080027869273079  -0.001 0.00010648736688468164 -0.00021259607426986381  -0.001 0.00010286453294916365 -0.00021345479614700059  -0.001 9.9222659880033543e-05 -0.00021427400973057144  -0.001 9.190354500011034e-05 -0.00021583284337776043  -0.001 8.8226303038215444e-05 -0.0002165724634713101  -0.001 8.4532731390803413e-05 -0.00021727199835829569  -0.001 7.7115674789803186e-05 -0.00021859040974382305  -0.001 7.3392189685827177e-05 -0.00021920928627372404  -0.001 6.9655120578025805e-05 -0.00021978758969998379  -0.001 6.215659090239889e-05 -0.00022086265237952153  -0.001 5.8395130184774045e-05 -0.00022135941166673379  -0.001 5.4622861266528155e-05 -0.00022181520000917821  -0.001 4.7059507802387655e-05 -0.00022264452770481935  -0.001 4.3268423106180401e-05 -0.00022301806709260508  -0.001 3.9469329964370251e-05 -0.00022335032857092885  -0.001 3.1857945239245569e-05 -0.00022393208012533829  -0.001 2.8045653503547595e-05 -0.00022418157022923324  -0.001 2.4228170821849137e-05 -0.00022438956693413437  -0.001 1.5311899475333181e-05 -0.00022477793040378424  -0.001 1.021017298948701e-05 -0.00022492597674563452  -0.001 5.1050864873514181e-06 -0.00022499999964656348  -0.001 0 -0.00022499999999999986 
+ 0 5 0.029999992061393161 3 0.059999980056316668 3 0.089999973022487398 3 0.11999997309546409 3 0.14999997879195015 3 0.17999998733095773 3 0.20999999602176875 3 0.24000000295710966 3 0.27000000721986334 3 0.30000000877975042 3 0.33000000822391062 3 0.36000000643303121 3 0.39000000428371534 3 0.42000000242885477 3 0.45000000118183398 3 0.4800000005079898 3 0.5100000001085383 3 0.53999999956856215 3 0.56999999853197181 3 0.59999999686288419 3 0.629999994754596 3 0.65999999275427801 3 0.68999999168353832 3 0.71999999245172552 3 0.74999999577989518 3 0.78000000187819474 3 0.81000001014744971 3 0.84000001900609522 3 0.87000002597553483 3 0.90000002818959757 3 0.93000002352584432 3 0.96000001258737511 3 1 5
+1 -0.001 0.001 0.001 0 -1 0 
+7 0 0  1 2 2  -0.002 0.00030000000000000003 -5.5511151231257828e-20  0.002 0.00040000000000000002 -1.1102230246251566e-19 
+ 0 2 1 2
+7 0 0  1 2 2  -0.0019999999999999987 -9.4368957093135556e-20 -0.00019999999999999985  0.0019999999999999987 -1.4432899320126445e-19 -0.00029999999999999981 
+ 0 2 1 2
+7 0 0  1 2 2  -0.002 -0.00029999999999999997 5.5511151231257828e-20  0.002 -0.00039999999999999996 0 
+ 0 2 1 2
+7 0 0  1 2 2  -0.002 2.7755575615628914e-20 0.00019999999999999998  0.002 5.5511151231257828e-20 0.00029999999999999997 
+ 0 2 1 2
+1 -0.0011999999999999999 -0.00020000000000000001 -0.0011000000000000001 1 0 0 
+1 -0.001 -0.00020000000000000001 -0.0011000000000000001 0 1 0 
+1 -0.001 0.00020000000000000001 -0.0011000000000000001 -1 0 0 
+1 -0.0011999999999999999 0.00020000000000000001 -0.0011000000000000001 0 -1 0 
+1 -0.0011999999999999999 -0.00020000000000000001 0.001 1 0 0 
+1 -0.001 -0.00020000000000000001 0.001 0 1 0 
+1 -0.001 0.00020000000000000001 0.001 -1 0 0 
+1 -0.0011999999999999999 0.00020000000000000001 0.001 0 -1 0 
+1 -0.001 -0.00020000000000000001 -0.0011000000000000001 0 0 1 
+1 -0.0011999999999999999 -0.00020000000000000001 -0.0011000000000000001 0 0 1 
+1 -0.001 0.00020000000000000001 -0.0011000000000000001 0 0 1 
+1 -0.0011999999999999999 0.00020000000000000001 -0.0011000000000000001 0 0 1 
+Polygon3D 0
+PolygonOnTriangulations 0
+Surfaces 16
+1 -0.001 -0.001 -0.001 0 0 -1 -1 0 -0 0 1 0 
+1 -0.001 -0.001 -0.001 0 1 0 0 -0 1 1 0 -0 
+1 0.001 -0.001 -0.001 -1 0 0 0 0 -1 -0 -1 -0 
+1 0.001 0.001 -0.001 0 -1 0 0 -0 -1 1 0 0 
+1 -0.001 0.001 -0.001 1 0 0 -0 0 1 0 -1 0 
+1 -0.001 -0.001 0.001 0 0 -1 -1 0 -0 0 1 0 
+9 0 0 0 0 7 1 8 2 2 2 -0.0019999999999999987 -9.4368957093135556e-20 -0.00019999999999999985  0.0019999999999999987 -1.4432899320126445e-19 -0.00029999999999999981  
+-0.0020000000000000178 6.7319842576924678e-05 -0.00020000000000000207  0.0020000000000000178 8.9759790102566793e-05 -0.00030000000000000252  
+-0.0019999999999999575 0.00013463935949503366 -0.00018825022268966724  0.0019999999999999575 0.0001795191459933763 -0.00028237533403450261  
+-0.0020000000000000582 0.00019642408224688801 -0.00016475254444044804  0.0020000000000000582 0.00026189877632918675 -0.00024712881666066839  
+-0.0019999999999999528 0.00024712881666066064 -0.00013094938816458467  0.0019999999999999528 0.00032950508888087939 -0.00019642408224688151  
+-0.002000000000000023 0.00028237533403450792 -8.975957299669361e-05  0.002000000000000023 0.0003765004453793438 -0.00013463935949503718  
+-0.0019999999999999948 0.00030000000000000041 -4.4879895051281729e-05  0.0019999999999999948 0.00040000000000000094 -6.731984257692381e-05  
+-0.002 0.00030000000000000003 -5.5511151231257828e-20  0.002 0.00040000000000000002 -1.1102230246251566e-19  
+
+4.7123889803846897 8
+6.2831853071795862 8
+
+0 2
+1 2
+
+9 0 0 0 0 7 1 8 2 2 2 -0.002 -0.00029999999999999992 5.5511151231257828e-20  0.002 -0.00040000000000000002 5.5511151231257828e-20  
+-0.0019999999999999879 -0.00029999999999999846 -4.4879895051281838e-05  0.0019999999999999879 -0.00039999999999999845 -6.7319842576923119e-05  
+-0.0020000000000000425 -0.00028237533403451426 -8.9759572996692309e-05  0.0020000000000000425 -0.00037650044537935074 -0.0001346393594950377  
+-0.0019999999999999254 -0.00024712881666065083 -0.00013094938816458738  0.0019999999999999254 -0.00032950508888087039 -0.0001964240822468821  
+-0.0020000000000000733 -0.00019642408224689658 -0.00016475254444044449  0.0020000000000000733 -0.00026189877632919255 -0.00024712881666066585  
+-0.0019999999999999558 -0.00013463935949502946 -0.00018825022268966957  0.0019999999999999558 -0.00017951914599337456 -0.00028237533403450499  
+-0.0020000000000000148 -6.731984257692583e-05 -0.00020000000000000107  0.0020000000000000148 -8.9759790102567132e-05 -0.00030000000000000122  
+-0.002 -7.1476770036893263e-20 -0.00020000000000000001  0.002 -9.5302360049193518e-20 -0.00030000000000000008  
+
+3.1415926535897931 8
+4.7123889803846897 8
+
+0 2
+1 2
+
+9 0 0 0 0 7 1 8 2 2 2 -0.002 0 0.00020000000000000004  0.002 5.5511151231257828e-20 0.00029999999999999992  
+-0.0020000000000000074 -6.7319842576925355e-05 0.00020000000000000058  0.0020000000000000074 -8.9759790102565993e-05 0.00030000000000000079  
+-0.0019999999999999649 -0.00013463935949502948 0.00018825022268967006  0.0019999999999999649 -0.00017951914599337649 0.00028237533403450521  
+-0.0020000000000000664 -0.00019642408224689636 0.00016475254444044474  0.0020000000000000664 -0.00026189877632918805 0.0002471288166606665  
+-0.0019999999999999328 -0.00024712881666065208 0.00013094938816458727  0.0019999999999999328 -0.00032950508888087749 0.00019642408224688137  
+-0.0020000000000000395 -0.00028237533403451307 8.9759572996692404e-05  0.0020000000000000395 -0.0003765004453793451 0.00013463935949503829  
+-0.0019999999999999879 -0.00029999999999999867 4.4879895051281885e-05  0.0019999999999999879 -0.0004000000000000004 6.7319842576922902e-05  
+-0.002 -0.00029999999999999997 5.5511151231257828e-20  0.002 -0.00039999999999999996 0  
+
+1.5707963267948966 8
+3.1415926535897931 8
+
+0 2
+1 2
+
+9 0 0 0 0 7 1 8 2 2 2 -0.002 0.00029999999999999997 -2.7755575615628914e-20  0.002 0.00040000000000000013 0  
+-0.0020000000000000044 0.00029999999999999965 4.4879895051283125e-05  0.0020000000000000044 0.00040000000000000029 6.7319842576924583e-05  
+-0.0019999999999999758 0.00028237533403450873 8.9759572996687837e-05  0.0019999999999999758 0.00037650044537934163 0.0001346393594950319  
+-0.0020000000000000456 0.00024712881666066091 0.00013094938816459508  0.0020000000000000456 0.00032950508888088693 0.00019642408224689289  
+-0.0019999999999999562 0.00019642408224688712 0.00016475254444043734  0.0019999999999999562 0.00026189877632917758 0.00024712881666065522  
+-0.0020000000000000248 0.00013463935949503463 0.0001882502226896735  0.0020000000000000248 0.00017951914599338272 0.00028237533403451112  
+-0.0019999999999999931 6.7319842576924068e-05 0.0001999999999999999  0.0019999999999999931 8.9759790102564367e-05 0.00029999999999999949  
+-0.002 2.7755575615628914e-20 0.00019999999999999998  0.002 5.5511151231257828e-20 0.00029999999999999997  
+
+0 8
+1.5707963267948966 8
+
+0 2
+1 2
+
+1 -0.0011999999999999999 -0.00020000000000000001 -0.0011000000000000001 0 0 -1 -1 0 -0 0 1 0 
+1 -0.0011999999999999999 -0.00020000000000000001 -0.0011000000000000001 0 1 0 0 -0 1 1 0 -0 
+1 -0.001 -0.00020000000000000001 -0.0011000000000000001 -1 0 0 0 0 -1 -0 -1 -0 
+1 -0.001 0.00020000000000000001 -0.0011000000000000001 0 -1 0 0 -0 -1 1 0 0 
+1 -0.0011999999999999999 0.00020000000000000001 -0.0011000000000000001 1 0 0 -0 0 1 0 -1 0 
+1 -0.0011999999999999999 -0.00020000000000000001 0.001 0 0 -1 -1 0 -0 0 1 0 
+Triangulations 0
+
+TShapes 101
+Ve
+1e-07
+-0.001 -0.001 -0.001
+0 0
+
+0101101
+*
+Ve
+1e-07
+0.001 -0.001 -0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  1 0 0 0.002
+2  1 1 0 0 0.002
+2  2 2 0 0 0.002
+0
+
+0101000
++101 0 -100 0 *
+Ve
+1e-07
+0.001 0.001 -0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  2 0 0 0.002
+2  3 1 0 0 0.002
+2  4 3 0 0 0.002
+0
+
+0101000
++100 0 -98 0 *
+Ve
+1e-07
+-0.001 0.001 -0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  3 0 0 0.002
+2  5 1 0 0 0.002
+2  6 4 0 0 0.002
+0
+
+0101000
++98 0 -96 0 *
+Ed
+ 1e-10 1 1 0
+1  4 0 0 0.002
+2  7 1 0 0 0.002
+2  8 5 0 0 0.002
+0
+
+0101000
++96 0 -101 0 *
+Wi
+
+0101100
++99 0 +97 0 +95 0 +94 0 *
+Fa
+0  1e-10 1 0
+
+0111000
+-93 0 *
+Ve
+1e-07
+0.001 -0.001 0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  5 0 0 0.002
+2  9 2 0 0 0.002
+2  10 3 0 0 0.002
+0
+
+0101000
++100 0 -91 0 *
+Ve
+1e-07
+-0.001 -0.001 0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  6 0 0 0.002
+2  11 2 0 0 0.002
+2  12 6 0 0 0.002
+0
+
+0101000
++89 0 -91 0 *
+Ed
+ 1e-10 1 1 0
+1  7 0 0 0.002
+2  13 2 0 0 0.002
+2  14 5 0 0 0.002
+0
+
+0101000
++101 0 -89 0 *
+Wi
+
+0101100
++99 0 +90 0 -88 0 -87 0 *
+Fa
+0  1e-10 2 0
+
+0111000
+-86 0 *
+Ve
+1e-07
+0.001 0.000375 -9.71445146547012e-20
+0 0
+
+0101101
+*
+Ve
+1e-07
+0.001 -1.31838984174232e-19 -0.000275
+0 0
+
+0101101
+*
+Ed
+ 5e-09 1 1 0
+1  8 0 0 1
+2  15 3 0 0 1
+2  16 7 0 0 1
+0
+
+0101000
++84 0 -83 0 *
+Ve
+1e-07
+0.001 -0.000375 1.38777878078145e-20
+0 0
+
+0101101
+*
+Ed
+ 5e-09 1 1 0
+1  9 0 0 1
+2  17 3 0 0 1
+2  18 8 0 0 1
+0
+
+0101000
++83 0 -81 0 *
+Ve
+1e-07
+0.001 4.85722573273506e-20 0.000275
+0 0
+
+0101101
+*
+Ed
+ 5e-09 1 1 0
+1  10 0 0 1
+2  19 3 0 0 1
+2  20 9 0 0 1
+0
+
+0101000
++81 0 -79 0 *
+Ed
+ 5e-09 1 1 0
+1  11 0 0 1
+2  21 3 0 0 1
+2  22 10 0 0 1
+0
+
+0101000
++79 0 -84 0 *
+Wi
+
+0101000
+-82 0 -80 0 -78 0 -77 0 *
+Ve
+1e-07
+0.001 0.001 0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  12 0 0 0.002
+2  23 3 0 0 0.002
+2  24 4 0 0 0.002
+0
+
+0101000
++98 0 -75 0 *
+Ed
+ 1e-10 1 1 0
+1  13 0 0 0.002
+2  25 3 0 0 0.002
+2  26 6 0 0 0.002
+0
+
+0101000
++91 0 -75 0 *
+Wi
+
+0101000
+-97 0 +90 0 -74 0 +73 0 *
+Fa
+0  1e-10 3 0
+
+0101000
++76 0 +72 0 *
+Ve
+1e-07
+-0.001 0.001 0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  14 0 0 0.002
+2  27 4 0 0 0.002
+2  28 5 0 0 0.002
+0
+
+0101000
++96 0 -70 0 *
+Ed
+ 1e-10 1 1 0
+1  15 0 0 0.002
+2  29 4 0 0 0.002
+2  30 6 0 0 0.002
+0
+
+0101000
++75 0 -70 0 *
+Wi
+
+0101100
++95 0 +69 0 -68 0 -74 0 *
+Fa
+0  1e-10 4 0
+
+0101000
+-67 0 *
+Ve
+1e-07
+-0.001 3.46944695195361e-20 0.000225
+0 0
+
+0101101
+*
+Ve
+1e-07
+-0.001 0.000325 -6.93889390390723e-20
+0 0
+
+0101101
+*
+Ed
+ 5e-09 1 1 0
+1  16 0 0 1
+2  31 5 0 0 1
+2  32 10 0 0 1
+0
+
+0101000
++65 0 -64 0 *
+Ve
+1e-07
+-0.001 -0.000325 4.16333634234434e-20
+0 0
+
+0101101
+*
+Ed
+ 5e-09 1 1 0
+1  17 0 0 1
+2  33 5 0 0 1
+2  34 9 0 0 1
+0
+
+0101000
++62 0 -65 0 *
+Ve
+1e-07
+-0.001 -1.06858966120168e-19 -0.000225
+0 0
+
+0101101
+*
+Ed
+ 5e-09 1 1 0
+1  18 0 0 1
+2  35 5 0 0 1
+2  36 8 0 0 1
+0
+
+0101000
++60 0 -62 0 *
+Ed
+ 5e-09 1 1 0
+1  19 0 0 1
+2  37 5 0 0 1
+2  38 7 0 0 1
+0
+
+0101000
++64 0 -60 0 *
+Wi
+
+0101000
++63 0 +61 0 +59 0 +58 0 *
+Ed
+ 1e-10 1 1 0
+1  20 0 0 0.002
+2  39 5 0 0 0.002
+2  40 6 0 0 0.002
+0
+
+0101000
++70 0 -89 0 *
+Wi
+
+0101000
+-94 0 +69 0 -87 0 +56 0 *
+Fa
+0  1e-10 5 0
+
+0101000
++57 0 +55 0 *
+Wi
+
+0101100
++88 0 +73 0 +68 0 +56 0 *
+Fa
+0  1e-10 6 0
+
+0111000
+-53 0 *
+Ed
+ 5e-09 1 1 0
+1  21 0 0.25 0.75
+2  41 7 0 0.25 0.75
+2  42 10 0 0.25 0.75
+4 G1 7 0 10 0
+0
+
+0101000
++64 0 -84 0 *
+Ed
+ 5e-09 1 1 0
+1  22 0 0.25 0.75
+2  43 7 0 0.25 0.75
+2  44 8 0 0.25 0.75
+4 G1 7 0 8 0
+0
+
+0101000
++60 0 -83 0 *
+Wi
+
+0101000
++51 0 -58 0 -50 0 +82 0 *
+Fa
+0  1e-10 7 0
+
+0101000
++49 0 *
+Ed
+ 5e-09 1 1 0
+1  23 0 0.25 0.75
+2  45 8 0 0.25 0.75
+2  46 9 0 0.25 0.75
+4 G1 8 0 9 0
+0
+
+0101000
++62 0 -81 0 *
+Wi
+
+0101000
++50 0 -59 0 -47 0 +80 0 *
+Fa
+0  1e-10 8 0
+
+0101000
++46 0 *
+Ed
+ 5e-09 1 1 0
+1  24 0 0.25 0.75
+2  47 9 0 0.25 0.75
+2  48 10 0 0.25 0.75
+4 G1 9 0 10 0
+0
+
+0101000
++65 0 -79 0 *
+Wi
+
+0101000
++47 0 -61 0 -44 0 +78 0 *
+Fa
+0  1e-10 9 0
+
+0101000
++43 0 *
+Wi
+
+0101000
++44 0 -63 0 -51 0 +77 0 *
+Fa
+0  1e-10 10 0
+
+0101000
++41 0 *
+Sh
+
+0101000
++92 0 -85 0 -71 0 -66 0 -54 0 -52 0 -48 0 -45 0 -42 0 -40 0 
+*
+So
+
+0100000
++39 0 *
+Co
+
+0100000
++38 0 *
+Ve
+1e-07
+-0.0012 -0.0002 -0.0011
+0 0
+
+0101101
+*
+Ve
+1e-07
+-0.001 -0.0002 -0.0011
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  25 0 0 0.0002
+2  49 11 0 0 0.0002
+2  50 12 0 0 0.0002
+0
+
+0101000
++36 0 -35 0 *
+Ve
+1e-07
+-0.001 0.0002 -0.0011
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  26 0 0 0.0004
+2  51 11 0 0 0.0004
+2  52 13 0 0 0.0004
+0
+
+0101000
++35 0 -33 0 *
+Ve
+1e-07
+-0.0012 0.0002 -0.0011
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  27 0 0 0.0002
+2  53 11 0 0 0.0002
+2  54 14 0 0 0.0002
+0
+
+0101000
++33 0 -31 0 *
+Ed
+ 1e-10 1 1 0
+1  28 0 0 0.0004
+2  55 11 0 0 0.0004
+2  56 15 0 0 0.0004
+0
+
+0101000
++31 0 -36 0 *
+Wi
+
+0101100
++34 0 +32 0 +30 0 +29 0 *
+Fa
+0  1e-10 11 0
+
+0111000
+-28 0 *
+Ve
+1e-07
+-0.0012 -0.0002 0.001
+0 0
+
+0101101
+*
+Ve
+1e-07
+-0.001 -0.0002 0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  29 0 0 0.0002
+2  57 16 0 0 0.0002
+2  58 12 0 0 0.0002
+0
+
+0101000
++26 0 -25 0 *
+Ve
+1e-07
+-0.001 0.0002 0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  30 0 0 0.0004
+2  59 16 0 0 0.0004
+2  60 13 0 0 0.0004
+0
+
+0101000
++25 0 -23 0 *
+Ve
+1e-07
+-0.0012 0.0002 0.001
+0 0
+
+0101101
+*
+Ed
+ 1e-10 1 1 0
+1  31 0 0 0.0002
+2  61 16 0 0 0.0002
+2  62 14 0 0 0.0002
+0
+
+0101000
++23 0 -21 0 *
+Ed
+ 1e-10 1 1 0
+1  32 0 0 0.0004
+2  63 16 0 0 0.0004
+2  64 15 0 0 0.0004
+0
+
+0101000
++21 0 -26 0 *
+Wi
+
+0101100
++24 0 +22 0 +20 0 +19 0 *
+Fa
+0  1e-10 16 0
+
+0111000
+-18 0 *
+Ed
+ 1e-10 1 1 0
+1  33 0 0 0.0021
+2  65 12 0 0 0.0021
+2  66 13 0 0 0.0021
+0
+
+0101000
++35 0 -25 0 *
+Ed
+ 1e-10 1 1 0
+1  34 0 0 0.0021
+2  67 12 0 0 0.0021
+2  68 15 0 0 0.0021
+0
+
+0101000
++36 0 -26 0 *
+Wi
+
+0101100
++34 0 +16 0 -24 0 -15 0 *
+Fa
+0  1e-10 12 0
+
+0101000
+-14 0 *
+Ed
+ 1e-10 1 1 0
+1  35 0 0 0.0021
+2  69 13 0 0 0.0021
+2  70 14 0 0 0.0021
+0
+
+0101000
++33 0 -23 0 *
+Wi
+
+0101100
++32 0 +12 0 -22 0 -16 0 *
+Fa
+0  1e-10 13 0
+
+0101000
+-11 0 *
+Ed
+ 1e-10 1 1 0
+1  36 0 0 0.0021
+2  71 14 0 0 0.0021
+2  72 15 0 0 0.0021
+0
+
+0101000
++31 0 -21 0 *
+Wi
+
+0101100
++30 0 +9 0 -20 0 -12 0 *
+Fa
+0  1e-10 14 0
+
+0101000
+-8 0 *
+Wi
+
+0101100
++29 0 +15 0 -19 0 -9 0 *
+Fa
+0  1e-10 15 0
+
+0101000
+-6 0 *
+Sh
+
+0101100
++27 0 -17 0 -13 0 -10 0 -7 0 -5 0 *
+So
+
+0100000
++4 0 *
+Co
+
+0100000
++37 0 +3 0 *
+Co
+
+1100000
++2 0 *
+
++1 0 
\ No newline at end of file
diff --git a/utils/converters/brl-cad/tprintf.h b/utils/converters/brl-cad/tprintf.h
new file mode 100644
index 0000000000000000000000000000000000000000..bacecff9a52f0e0966fa2bf88c1b5840967f4713
--- /dev/null
+++ b/utils/converters/brl-cad/tprintf.h
@@ -0,0 +1,30 @@
+#ifndef TPRINTF_H_INCLUDED
+#define TPRINTF_H_INCLUDED
+
+#include <stdarg.h>
+#include <stdio.h>
+
+class tprintf {
+	char *buffer;
+public:
+	tprintf(const char *fmt, ...);
+	~tprintf() { delete buffer; }
+	operator const char* () const { return buffer; }
+};
+
+inline tprintf::tprintf(const char *fmt, ...)
+{
+	va_list ap;
+	int size=100;
+	for(;;)  {
+		buffer=new char[size];
+		va_start(ap,fmt);
+		int new_size=vsnprintf(buffer,size,fmt,ap);
+		va_end(ap);
+		if(new_size<size) 
+			break;
+		size=new_size+1;
+		delete buffer;
+	}
+}
+#endif // TPRINTF_H_INCLUDED
diff --git a/utils/converters/gid/gmsh2_2gid.c b/utils/converters/gid/gmsh2_2gid.c
new file mode 100644
index 0000000000000000000000000000000000000000..9d9bc8ede1b4e98a49846eba95d457b666f76e9e
--- /dev/null
+++ b/utils/converters/gid/gmsh2_2gid.c
@@ -0,0 +1,121 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// gmsh2_2gid.c routine to convert gmsh format 2 mesh files into gid mesh file for EBEM programme //
+// writes out all the nodes but only writes out the triangular 3 node elements.                   //
+//                                   mark smith 2008    piedycat@tiscali.co.uk                    //
+//////////////////////////////////////////////////////////////////////////////////////////////////// 
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define MAXLINE 128
+#define MaxNodes 32  // maximum number of nodes per element
+#define version "gmsh2_2gid.exe ver 1.00 Oct 2008 Mark Smith\n"
+#define debug 0
+
+void jumpline (FILE *stream); //skip a line
+
+FILE *fpGid,*fpGmsh;
+
+int main(int argc, char *argv[])
+{
+   char buffer[MAXLINE],temp[64];
+   long ELEMENTS,NODES,i,N,k=1;       // number of elements and nodes etc
+   long n[MaxNodes];
+   int elem_type,n_tags,n_nodes=0,tag_1,tag_2,tag_3,j;
+   double x,y,z;  //nodal coordinates
+   printf(version);
+   if(argc<2)
+   {
+      printf("Gmesh format 2 .msh file to Gid mesh .dat file conversion routine\n");
+      printf("writes out all the nodes but only writes out the triangular 3 node elements.\n");
+      printf("Usage: gmsh2_2gid.exe in_filename out_filename .\n");
+      exit(0);
+   }
+   if((fpGmsh=fopen(argv[1],"r"))==NULL)
+	{
+		printf("can't open input gmsh mesh .msh file\n");
+		exit(1);
+	}	
+	if((fpGid=fopen(argv[2],"w"))==NULL)
+	{
+		printf("can't open output Gid mesh .dat file\n");
+		exit(1);           
+	}
+	strcpy(temp,"$MeshFormat");
+	fgets(buffer, MAXLINE, fpGmsh);
+	if(!strstr(buffer,temp))
+	{
+	   printf("input file not correct type!\n");
+	   exit(0);
+	}
+   jumpline(fpGmsh);  //jump over 2 0 8
+   jumpline(fpGmsh);  //jump over $EndMeshFormat
+   jumpline(fpGmsh);  //jump over $Nodes
+	fscanf(fpGmsh,"%ld ",&NODES); //read in the number of nodes
+	printf("number of NODES=%ld\n",NODES);
+	fprintf(fpGid,"MESH    dimension 3 ElemType Triangle  Nnode 3\nCoordinates\n"); // write out gid header
+	for(i=0;i<NODES;i++)
+	{
+      fscanf(fpGmsh,"%ld %lg %lg %lg ",&N,&x,&y,&z);
+      fprintf(fpGid,"%6ld   %15.6e   %15.6e   %15.6e\n",N,x,y,z);      
+   }
+   fprintf(fpGid,"end coordinates\n\nElements\n");
+   jumpline(fpGmsh);  //jump over $EndNodes
+   jumpline(fpGmsh);  //jump over $Elements
+	fscanf(fpGmsh,"%ld ",&ELEMENTS); //read in the number of elements
+	printf("number of ELEMENTS=%ld\n",ELEMENTS);
+
+	for(i=0;i<ELEMENTS;i++)
+	{
+      //elm-number elm-type number-of-tags < tag > ... node-number-list
+      fscanf(fpGmsh,"%ld %d %d ",&N,&elem_type,&n_tags);
+      switch(elem_type)
+      {
+         case 1:n_nodes=2;break;     //2-node line.
+         case 2:n_nodes=3;break;     //3-node triangle.
+         case 3:n_nodes=4;break;     //4-node quadrangle.
+         case 4:n_nodes=4;break;     //4-node tetrahedron.
+         case 5:n_nodes=8;break;     //8-node hexahedron.
+         case 6:n_nodes=6;break;     //6-node prism.
+         case 7:n_nodes=5;break;     //5-node pyramid.
+         case 8:n_nodes=3;break;     //3-node second order line (2 nodes associated with the vertices and 1 with the edge).
+         case 9:n_nodes=6;break;     //6-node second order triangle (3 nodes associated with the vertices and 3 with the edges).
+         case 10:n_nodes=9;break;    //9-node second order quadrangle (4 nodes associated with the vertices, 4 with the edges and 1 with the face).
+         case 11:n_nodes=10;break;   //10-node second order tetrahedron (4 nodes associated with the vertices and 6 with the edges).
+         case 12:n_nodes=27;break;   //27-node second order hexahedron (8 nodes associated with the vertices, 12 with the edges, 6 with the faces and 1 with the volume).
+         case 13:n_nodes=18;break;   //18-node second order prism (6 nodes associated with the vertices, 9 with the edges and 3 with the quadrangular faces).
+         case 14:n_nodes=14;break;   //14-node second order pyramid (5 nodes associated with the vertices, 8 with the edges and 1 with the quadrangular face).
+         case 15:n_nodes=1;break;    //1-node point.
+         case 16:n_nodes=8;break;    //8-node second order quadrangle (4 nodes associated with the vertices and 4 with the edges).
+         case 17:n_nodes=20;break;   //20-node second order hexahedron (8 nodes associated with the vertices and 12 with the edges).
+         case 18:n_nodes=15;break;   //15-node second order prism (6 nodes associated with the vertices and 9 with the edges).       
+      }
+      fscanf(fpGmsh,"%d %d %d ",&tag_1,&tag_2,&tag_3);
+      // tag_1= the number of the physical entity to which the element belongs
+      // tag_2= the number of the elementary geometrical entity to which the element belongs
+      // tag_3= the number of a mesh partition to which the element belongs
+      for(j=0;j<n_nodes;j++)
+      {
+         fscanf(fpGmsh,"%ld ",&n[j]);
+      }
+      if(n_nodes==3) //only write out the 3 node triangular elements
+      {
+          fprintf(fpGid,"  %6ld    %6ld    %6ld    %6ld    %4d\n",k,n[0],n[1],n[2],tag_1);
+          k++; //keep a count of the elements written & renumber starting @ 1
+      }
+      if(debug)printf("%ld %d %d %d %d %d\n",N,elem_type,n_nodes,tag_1,tag_2,tag_3);    
+   }
+   fprintf(fpGid,"end elements\n");
+   fclose(fpGmsh);			// close all the files
+	fclose(fpGid);
+	printf("Finished!!");
+   return 0;
+}
+
+void jumpline (FILE *stream) //skip a line
+{
+   char buffer[MAXLINE];
+   fgets(buffer, MAXLINE, stream);
+   if(debug)printf("buffer=%s\n",buffer);
+}
diff --git a/utils/converters/stl_to_cartesian/LICENCE.txt b/utils/converters/stl_to_cartesian/LICENCE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3e0d561d9a1de547caf31ce8dbbbb14a63f08166
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/LICENCE.txt
@@ -0,0 +1,3 @@
+Code posted by "Billy" on:
+
+http://www.cfd-online.com/Forums/openfoam-meshing-opensource/61973-generating-unstructured-grids-stl-files.html
diff --git a/utils/converters/stl_to_cartesian/README.txt b/utils/converters/stl_to_cartesian/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4da34aa58082091277cec080b1289d268ec0c2fb
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/README.txt
@@ -0,0 +1,10 @@
+
+Compile sources using the following command:
+ 
+gcc stl.c segtri.c mesh.c main.c -o stlToGmsh
+
+To run application
+
+./stlToGmsh <file.stl> <nx> <ny> <nz>
+
+
diff --git a/utils/converters/stl_to_cartesian/globals.h b/utils/converters/stl_to_cartesian/globals.h
new file mode 100644
index 0000000000000000000000000000000000000000..044c79a67e8e6cbf1716fabba3432fc4ca65e48a
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/globals.h
@@ -0,0 +1,12 @@
+
+#define MAX(A,B) ((A)>(B) ? (A):(B))
+#define MIN(A,B) ((A)<(B) ? (A):(B))
+
+#define ABS(X)  ((X) < 0 ? -(X) : (X))
+
+static const int LOGICAL_TRUE  =  1;
+static const int LOGICAL_FALSE =  0;
+static const int LOGICAL_ERROR = -1;
+
+float C_EPS;
+
diff --git a/utils/converters/stl_to_cartesian/lever.stl b/utils/converters/stl_to_cartesian/lever.stl
new file mode 100644
index 0000000000000000000000000000000000000000..892c0692ff995c0ad8c01711f195e3c44e9a4a7d
Binary files /dev/null and b/utils/converters/stl_to_cartesian/lever.stl differ
diff --git a/utils/converters/stl_to_cartesian/main.c b/utils/converters/stl_to_cartesian/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..33e154ce4aed67a1edf2910bc824bc0addf05a82
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/main.c
@@ -0,0 +1,295 @@
+
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "globals.h"
+#include "stl.h"
+#include "mesh.h"
+#include "segtri.h"
+
+stl_data stl_in;
+msh_data msh_out;
+
+int CreateVoxelMesh(int nx, int ny, int nz)
+{
+    
+    msh_data msh_tmp;
+    int *conversion_list;
+    
+    int i, j, k, n;
+    int ind;
+    
+    float dx, dy, dz;
+    float cx, cy, cz;
+    
+    msh_node v[8];
+    
+    stl_facet T;
+    stl_vertex q;
+    stl_vertex r;
+    
+    char code;
+    
+    msh_tmp.stats.number_of_nodes = (nx + 1) * (ny + 1) * (nz + 1);  
+    msh_tmp.stats.number_of_elements = nx * ny * nz;  
+    
+    MshAllocate(&msh_tmp);
+    
+    dx = (stl_in.stats.max.x - stl_in.stats.min.x) / nx;
+    dy = (stl_in.stats.max.y - stl_in.stats.min.y) / ny;
+    dz = (stl_in.stats.max.z - stl_in.stats.min.z) / nz;
+    
+    ind = 0;
+    
+    cz = stl_in.stats.min.z;
+    
+    for(k = 0; k < nz + 1; k++)
+    {   
+	
+	cy = stl_in.stats.min.y;
+	
+	for(j = 0; j < ny + 1; j++)
+	{   
+	    
+	    cx = stl_in.stats.min.x;
+	    
+	    for(i = 0; i < nx + 1; i++)
+	    {	
+		
+		msh_tmp.node_start[ind].x = cx; 
+		msh_tmp.node_start[ind].y = cy; 
+		msh_tmp.node_start[ind].z = cz; 
+		
+		ind++;
+		
+		cx += dx;
+		
+	    }
+	    
+	    cy += dy;
+	}
+	
+	cz += dz;
+	
+    }
+    
+    ind = 0;
+    
+    for(k = 0; k < nz; k++)
+    {   
+	for(j = 0; j < ny; j++)
+	{   
+	    for(i = 0; i < nx; i++)
+	    {
+		
+		msh_tmp.element_start[ind].node[0] = (i + 0) + (nx + 1) * (j + 0) + (nx + 1) * (ny + 1) * (k + 0);
+		msh_tmp.element_start[ind].node[1] = (i + 1) + (nx + 1) * (j + 0) + (nx + 1) * (ny + 1) * (k + 0);
+		msh_tmp.element_start[ind].node[2] = (i + 1) + (nx + 1) * (j + 1) + (nx + 1) * (ny + 1) * (k + 0);
+		msh_tmp.element_start[ind].node[3] = (i + 0) + (nx + 1) * (j + 1) + (nx + 1) * (ny + 1) * (k + 0);
+		
+		msh_tmp.element_start[ind].node[4] = (i + 0) + (nx + 1) * (j + 0) + (nx + 1) * (ny + 1) * (k + 1);
+		msh_tmp.element_start[ind].node[5] = (i + 1) + (nx + 1) * (j + 0) + (nx + 1) * (ny + 1) * (k + 1);
+		msh_tmp.element_start[ind].node[6] = (i + 1) + (nx + 1) * (j + 1) + (nx + 1) * (ny + 1) * (k + 1);
+		msh_tmp.element_start[ind].node[7] = (i + 0) + (nx + 1) * (j + 1) + (nx + 1) * (ny + 1) * (k + 1);
+		
+		ind++;
+		
+	    }
+	}
+    }
+    
+    for (i = 0; i < msh_tmp.stats.number_of_elements; i++)
+    {
+	
+	// printf("Processing element: %d of %d...\n", i + 1, msh_tmp.stats.number_of_elements);
+	
+	// Create a ray from the center of the element to a distant point
+	
+	q.x = 0;
+	q.y = 0;
+	q.z = 0;
+	
+	for (k = 0; k < 8; k++)
+	{
+	    v[k] = msh_tmp.node_start[msh_tmp.element_start[i].node[k]];
+	    
+	    q.x += v[k].x;
+	    q.y += v[k].y;
+	    q.z += v[k].z;
+	}
+	
+	q.x /= 8; 
+	q.y /= 8; 
+	q.z /= 8; 
+	
+	r.x = q.x + 2.91f * stl_in.stats.size.x;
+	r.y = q.y + 2.21f * stl_in.stats.size.y;
+	r.z = q.z + 2.45f * stl_in.stats.size.z;
+	
+	n = 0;
+	
+	for (j = 0; j < stl_in.stats.number_of_facets; j++)
+	{
+	    
+	    T = stl_in.facet_start[j];
+	    
+	    code = StlSegTriInt(T, q, r);
+	    
+	    if (code != '0') n++;
+	    
+	}
+	
+	if (n % 2 != 0)
+	{ 
+	    // The element is inside the solid	   
+	    msh_tmp.element_start[i].inside = LOGICAL_TRUE;
+	}
+	else
+	{
+	    // The element is outside the solid	   
+	    msh_tmp.element_start[i].inside = LOGICAL_FALSE;
+	}
+	
+    }
+    
+    // Remove elements which are outside the solid
+    
+    msh_out.stats.number_of_nodes = msh_tmp.stats.number_of_nodes;  
+    msh_out.stats.number_of_elements = msh_tmp.stats.number_of_elements;  
+    
+    MshAllocate(&msh_out);
+    
+    n = 0;
+    
+    for (i = 0; i < msh_tmp.stats.number_of_elements; i++)
+    {
+	
+	if (msh_tmp.element_start[i].inside == LOGICAL_TRUE)
+	{  
+	    msh_out.element_start[n] = msh_tmp.element_start[i];
+	    n++;	  
+	}
+	
+    }
+    
+    msh_out.stats.number_of_elements = n;  
+    
+    // Allocate memory for conversion list
+    
+    conversion_list = calloc(msh_tmp.stats.number_of_nodes, sizeof(int));
+    
+    // Remove unused nodes
+    
+    for (i = 0; i < msh_tmp.stats.number_of_nodes; i++)
+    {
+	msh_tmp.node_start[i].keep = LOGICAL_FALSE;
+    }
+    
+    for (i = 0; i < msh_out.stats.number_of_elements; i++)
+    {	 
+	if (msh_out.element_start[i].inside == LOGICAL_TRUE)
+	{ 
+	    for (k = 0; k < 8; k++)	    
+	    {
+		msh_tmp.node_start[msh_out.element_start[i].node[k]].keep = LOGICAL_TRUE;
+	    }
+	}
+    }
+    
+    n = 0;
+    
+    for (i = 0; i < msh_tmp.stats.number_of_nodes; i++)
+    {
+	
+	if (msh_tmp.node_start[i].keep == LOGICAL_TRUE)
+	{  
+	    msh_out.node_start[n] = msh_tmp.node_start[i];
+	    
+	    conversion_list[i] = n;	     
+	    
+	    n++;
+	} 
+    }
+    
+    msh_out.stats.number_of_nodes = n;  
+    
+    // Renumber elements
+    
+    for (i = 0; i < msh_out.stats.number_of_elements; i++)
+    {
+	for (k = 0; k < 8; k++)	    
+	{	
+	    msh_out.element_start[i].node[k] = conversion_list[msh_out.element_start[i].node[k]];
+	}
+    }
+    
+    // Free memory
+    
+    if (conversion_list != NULL)
+    {
+	free(conversion_list);
+	conversion_list = NULL;
+    }
+    
+    MshReallocate(&msh_out);
+    
+    // Free memory
+    
+    MshClose(&msh_tmp);
+    
+    return LOGICAL_TRUE;
+    
+}
+
+void Usage()
+{
+    printf("\nUsage:\n"); 	
+    printf("stlToGmsh <file.stl> <nx> <ny> <nz>\n"); 
+    
+    printf("\n"); 
+    printf("nx: number of divisions along x axis\n"); 
+    printf("ny: number of divisions along y axis\n"); 
+    printf("nz: number of divisions along z axis\n"); 
+    
+    printf("\nExample:\n"); 	
+    printf("stlToGmsh part.stl 20 20 20\n"); 
+    printf("\n"); 
+    
+}
+
+int main(int argc, char *argv[])
+{
+    
+    int nx, ny, nz;
+    
+    if (argc != 5)
+    {
+	printf("\nError: %d argument(s) entered when 4 were expected\n", argc - 1);
+	Usage();
+	exit(0);
+    }
+    
+    StlOpenSTL(&stl_in, argv[1]);
+    
+    sscanf(argv[2], "%d", &nx);
+    sscanf(argv[3], "%d", &ny);
+    sscanf(argv[4], "%d", &nz);
+    
+    printf("Processing...\n");
+    
+    CreateVoxelMesh(nx, ny, nz);
+    
+    strncpy(argv[1] + strlen(argv[1]) - 3, "msh", 3);
+    MshWriteMSH(&msh_out, argv[1]);
+    
+    // Free memory
+    
+    StlClose(&stl_in);
+    MshClose(&msh_out);
+    
+    printf("Done.\n");
+    
+    return 0;             /* ANSI C requires main to return int. */
+}
diff --git a/utils/converters/stl_to_cartesian/mesh.c b/utils/converters/stl_to_cartesian/mesh.c
new file mode 100644
index 0000000000000000000000000000000000000000..03fe0d114d9e7cc968c5642619833ff3c5bca877
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/mesh.c
@@ -0,0 +1,135 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+//#include <malloc.h>
+
+#include "globals.h"
+#include "mesh.h"
+
+int MshAllocate(msh_data *msh)
+{
+    
+    /*  Allocate memory */
+    msh->node_start = calloc(msh->stats.number_of_nodes, sizeof(msh_node));
+    
+    msh->stats.nodes_malloced = msh->stats.number_of_nodes;
+    
+    if (msh->node_start == NULL) return LOGICAL_FALSE;
+    
+    msh->element_start = calloc(msh->stats.number_of_elements, sizeof(msh_element));
+    
+    msh->stats.elements_malloced = msh->stats.number_of_elements;
+    
+    if (msh->element_start == NULL) return LOGICAL_FALSE;
+    
+    return LOGICAL_TRUE;
+}
+
+int MshReallocate(msh_data *msh)
+{
+    
+    /*  Reallocate more memory */
+    
+    msh->node_start = realloc(msh->node_start, (msh->stats.number_of_nodes + 1) * sizeof(msh_node));
+    
+    msh->stats.nodes_malloced = msh->stats.number_of_nodes;
+    
+    if (msh->node_start == NULL) return LOGICAL_FALSE;
+    
+    msh->element_start = realloc(msh->element_start, (msh->stats.number_of_elements + 1) * sizeof(msh_element));
+    
+    msh->stats.elements_malloced = msh->stats.number_of_elements;
+    
+    if (msh->element_start == NULL) return LOGICAL_FALSE;
+    
+    return LOGICAL_TRUE;
+}
+
+void MshClose(msh_data *msh)
+{
+    
+    
+    msh->stats.number_of_nodes = 0;
+    msh->stats.number_of_elements = 0;
+    
+    msh->stats.nodes_malloced = 0;
+    msh->stats.elements_malloced = 0;
+    
+    // Free memory
+    
+    if(msh->node_start != NULL)
+    {
+	free(msh->node_start);
+	msh->node_start = NULL;
+    }
+    
+    if(msh->element_start != NULL)
+    {
+	free(msh->element_start);
+	msh->element_start = NULL;
+    }
+    
+}
+int MshWriteMSH(msh_data *msh, char *file)
+{
+    
+    int i, j;
+    
+    FILE *fp;
+    
+    if (msh->node_start == NULL)
+	return LOGICAL_FALSE;
+    
+    if (msh->element_start == NULL)
+	return LOGICAL_FALSE;
+    
+    fp = fopen(file, "w");
+    
+    if (fp == NULL) return LOGICAL_FALSE;
+    
+    fprintf(fp, "$NOD\n");
+    fprintf(fp, "%d\n", msh->stats.number_of_nodes);
+    
+    for (i = 0; i < msh->stats.number_of_nodes; i++)
+    {
+	fprintf(fp, "%d %f %f %f", i + 1, msh->node_start[i].x, msh->node_start[i].y, msh->node_start[i].z);
+	fprintf(fp, "\n");
+    }
+    
+    fprintf(fp, "$ENDNOD\n");
+    
+    fprintf(fp, "$ELM\n");	
+    
+    fprintf(fp, "%d\n", msh->stats.number_of_elements);
+    
+    for (i = 0; i < msh->stats.number_of_elements; i++)
+    {
+	
+	fprintf(fp, "%d", i + 1);
+	
+	fprintf(fp, " %d", 5);
+	
+	fprintf(fp, " %d", 1);
+	fprintf(fp, " %d", 1);
+	
+	fprintf(fp, " %d", 8);
+	
+	for (j = 0; j < 8; j++)
+	{
+	    fprintf(fp, " %d", msh->element_start[i].node[j] + 1);
+	}
+	
+	fprintf(fp, "\n");
+	
+    }
+    
+    fprintf(fp, "$ENDELM\n");
+    
+    fclose(fp);
+    
+    return LOGICAL_TRUE;
+    
+}
+
+
diff --git a/utils/converters/stl_to_cartesian/mesh.h b/utils/converters/stl_to_cartesian/mesh.h
new file mode 100644
index 0000000000000000000000000000000000000000..7ee4296fa4048ac71215515c5c73fc85d6902f12
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/mesh.h
@@ -0,0 +1,29 @@
+
+typedef struct
+{
+    float x, y, z;
+    int keep;
+}msh_node;
+
+typedef struct
+{
+    int node[8];
+    int inside;    
+}msh_element;
+
+typedef struct
+{
+    int           number_of_nodes;
+    int           number_of_elements;
+    int           nodes_malloced;
+    int           elements_malloced;
+}msh_stats;  
+
+typedef struct
+{
+    FILE			*fp;
+    msh_node		*node_start;
+    msh_element		*element_start;	
+    msh_stats		stats;
+}msh_data;
+
diff --git a/utils/converters/stl_to_cartesian/segtri.c b/utils/converters/stl_to_cartesian/segtri.c
new file mode 100644
index 0000000000000000000000000000000000000000..52d3df89a77987549030c2f552aac40dd1636a93
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/segtri.c
@@ -0,0 +1,417 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+#include "globals.h"
+#include "stl.h"
+#include "segtri.h"
+
+/*------------Function prototypes. ----------------------------*/
+int     StlFindLargestValue(stl_vertex v);
+float   StlDot(stl_vertex a, stl_vertex b);
+void    StlSubVec(stl_vertex a, stl_vertex b, stl_vertex *c);
+char    StlInTri3D(stl_facet T, int m, stl_vertex r );
+char    StlInTri2D(stl_vertex Tp[3], stl_vertex pp );
+float   StlArea(stl_vertex q, stl_vertex b, stl_vertex c );
+char    StlInPlane(stl_facet T, int m, stl_vertex q, stl_vertex r);
+char    StlSegTriCross(stl_facet T, stl_vertex q, stl_vertex r );
+float   StlVolume(stl_vertex a, stl_vertex b, stl_vertex c, stl_vertex d );
+/*-------------------------------------------------------------------*/
+
+/*---------------------------------------------------------------------
+    'p': The segment lies wholly within the plane.
+    'q': The q endpoint is on the plane (but not 'p').
+    'r': The r endpoint is on the plane (but not 'p').
+    '0': The segment lies strictly to one side or the other of the plane.
+    '1': The segement intersects the plane, and 'p' does not hold.
+---------------------------------------------------------------------*/
+char StlSegPlaneInt(stl_plane P, stl_vertex q, stl_vertex r, stl_vertex *p, int *m)
+{
+    
+    stl_vertex rq;
+    float num, denom, t;
+    
+    num = P.D - StlDot(q, P.normal);
+    
+    StlSubVec(r, q, &rq);
+    
+    denom = StlDot(P.normal, rq);
+    
+    if ( ABS(denom) < C_EPS ) 
+    {  
+	/* Segment is parallel to plane. */
+	if ( ABS(num) < C_EPS)   
+	{
+	    /* q is on plane. */
+	    *m = StlFindLargestValue(P.normal);
+	    return 'p';
+	}
+	else
+	    return '0';
+    }
+    else
+	t = num / denom;
+    
+    if (t < -C_EPS || t > 1 + C_EPS)
+	return '0';
+    
+    if ( (C_EPS < t) && (t < 1 - C_EPS) )
+    {
+	*m = StlFindLargestValue(P.normal);
+	p->x = q.x + t * (r.x - q.x);
+	p->y = q.y + t * (r.y - q.y);
+	p->z = q.z + t * (r.z - q.z);
+	
+	return '1';
+    }
+    else if ( t <= C_EPS ) /* t == 0 */
+    {
+	*m = StlFindLargestValue(P.normal);
+	return 'q';
+    }
+    else if ( t >= 1 - C_EPS ) /* t == 1 */
+    {
+	*m = StlFindLargestValue(P.normal);
+	return 'r';
+    }
+    
+    return '0';
+    
+}
+
+int StlFindLargestValue(stl_vertex nv)
+{
+    
+    int m;
+    int j;
+    float tcur;			  /*temporary storage */
+    float biggest = 0;    /* Largest component of normal vector. */
+    float v[3];
+    
+    v[0] = nv.x;
+    v[1] = nv.y;
+    v[2] = nv.z;
+    
+    for (j = 0; j < 3; j++)
+    {
+	tcur = ABS(v[j]);
+	
+	if ( tcur > biggest) 
+	{
+	    biggest = tcur;
+	    m = j;
+	}
+    }
+    
+    return m;
+    
+}
+
+/*---------------------------------------------------------------------
+a - b ==> c.
+---------------------------------------------------------------------*/
+void StlSubVec(stl_vertex a, stl_vertex b, stl_vertex *c)
+{
+    
+    c->x = a.x - b.x;
+    c->y = a.y - b.y;
+    c->z = a.z - b.z;
+    
+}
+
+/*---------------------------------------------------------------------
+Returns the dot product of the two input vectors.
+---------------------------------------------------------------------*/
+float StlDot(stl_vertex a, stl_vertex b)
+{
+    
+    float sum = 0;
+    
+    sum = a.x * b.x + a.y * b.y + a.z * b.z;
+    
+    return  sum;
+    
+}
+
+/* Assumption: p lies in the plane containing T.
+    Returns a char:
+     'V': the query point p coincides with a Vertex of triangle T.
+     'E': the query point p is in the relative interior of an Edge of triangle T.
+     'F': the query point p is in the relative interior of a Face of triangle T.
+     '0': the query point p does not intersect (misses) triangle T.
+*/
+
+char StlInTri3D( stl_facet T, int m, stl_vertex r )
+{
+    
+    int j;  
+    
+    stl_vertex pp;      /* projected p */
+    stl_vertex Tp[3];   /* projected T: three new vertices */
+    
+    /* Project out coordinate m in both p and the triangular face */
+    
+    for ( j = 0; j < 3; j++ ) 
+    {
+	if ( m == 0 )
+	{
+	    pp.x = r.y;
+	    pp.y = r.z;
+	    
+	    Tp[j].x = T.vertex[j].y;
+	    Tp[j].y = T.vertex[j].z;
+	}
+	
+	if ( m == 1 )
+	{
+	    pp.x = r.x;
+	    pp.y = r.z;
+	    
+	    Tp[j].x = T.vertex[j].x;
+	    Tp[j].y = T.vertex[j].z;
+	}
+	
+	if ( m == 2 )
+	{
+	    pp.x = r.x;
+	    pp.y = r.y;
+	    
+	    Tp[j].x = T.vertex[j].x;
+	    Tp[j].y = T.vertex[j].y;
+	}
+	
+    }
+    
+    return (StlInTri2D(Tp, pp));
+}
+
+char StlInTri2D(stl_vertex Tp[3], stl_vertex pp )
+{
+    
+    float area0, area1, area2;
+    
+    /* compute three AreaSign() values for pp w.r.t. each edge of the face in 2D */
+    area0 = StlArea( pp, Tp[0], Tp[1] );
+    area1 = StlArea( pp, Tp[1], Tp[2] );
+    area2 = StlArea( pp, Tp[2], Tp[0] );
+    
+    if ( ( ABS(area0) < C_EPS ) && ( area1 > 0 ) && ( area2 > 0 ) ||
+	 ( ABS(area1) < C_EPS ) && ( area0 > 0 ) && ( area2 > 0 ) ||
+	 ( ABS(area2) < C_EPS ) && ( area0 > 0 ) && ( area1 > 0 ) ) 
+	return 'E';
+    
+    if ( ( ABS(area0) < C_EPS ) && ( area1 < 0 ) && ( area2 < 0 ) ||
+	 ( ABS(area1) < C_EPS ) && ( area0 < 0 ) && ( area2 < 0 ) ||
+	 ( ABS(area2) < C_EPS ) && ( area0 < 0 ) && ( area1 < 0 ) ) 
+	return 'E';
+    
+    if ( ( area0 >  0 ) && ( area1 > 0 ) && ( area2 > 0 ) ||
+	 ( area0 <  0 ) && ( area1 < 0 ) && ( area2 < 0 ) )
+	return 'F';
+    
+    if ( ( ABS(area0) < C_EPS ) && ( ABS(area1) < C_EPS ) ||
+	 ( ABS(area0) < C_EPS ) && ( ABS(area2) < C_EPS ) ||
+	 ( ABS(area1) < C_EPS ) && ( ABS(area2) < C_EPS ) )
+	return 'V';
+    
+    return '0';  
+}
+
+float StlArea( stl_vertex a, stl_vertex b, stl_vertex c )  
+{
+    
+    float area2;
+    
+    area2 = ( b.x - a.x ) * ( c.y - a.y ) -
+	    ( c.x - a.x ) * ( b.y - a.y );
+    
+    return area2;
+    
+}                            
+
+char StlTriPlaneCross(stl_facet T, stl_plane P, int *v)
+{
+    
+    int code = '?';
+    float d0, d1, d2;
+    
+    d0 = T.vertex[0].x * P.normal.x +
+	 T.vertex[0].y * P.normal.y +
+	 T.vertex[0].z * P.normal.z - P.D;
+    
+    d1 = T.vertex[1].x * P.normal.x +
+	 T.vertex[1].y * P.normal.y +
+	 T.vertex[1].z * P.normal.z - P.D;
+    
+    d2 = T.vertex[2].x * P.normal.x +
+	 T.vertex[2].y * P.normal.y +
+	 T.vertex[2].z * P.normal.z - P.D;
+    
+    if ((d0 > 0) && (d1 > 0) && (d2 > 0) ||
+	(d0 < 0) && (d1 < 0) && (d2 < 0))
+	return '0';
+    
+    // The triangle is completly on the plane
+    // This will result in bad contours.
+    // Another section should be chosen.
+    if (d0 == 0 && d1 == 0 && d2 == 0)
+    {
+	return '?';
+    }
+    
+    if (d0 == 0 && d1 == 0)
+    {
+	*v = 2;
+	return '1';
+    }
+    
+    if (d0 == 0 && d2 == 0)
+    {
+	*v = 1;
+	return '1';
+    }
+    
+    if (d1 == 0 && d2 == 0)
+    {
+	*v = 2;
+	return '1';
+    }
+    
+    if ((d0 <= 0) && (d1 > 0) && (d2 > 0) ||
+	(d0 >= 0) && (d1 < 0) && (d2 < 0))
+    {
+	*v = 0;
+	return '1';
+    }
+    
+    if ((d0 > 0) && (d1 <= 0) && (d2 > 0) ||
+	(d0 < 0) && (d1 >= 0) && (d2 < 0))
+    {
+	*v = 1;
+	return '1';
+    }
+    
+    if ((d0 > 0) && (d1 > 0) && (d2 <= 0) ||
+	(d0 < 0) && (d1 < 0) && (d2 >= 0))
+    {
+	*v = 2;
+	return '1';
+    }
+    
+    return code;
+}
+
+char StlTriTriCross(stl_facet T0, stl_facet T1)
+{
+    
+    int code = '?';
+    float vol0, vol1, vol2;
+    
+    vol0 = StlVolume(T0.vertex[0], T0.vertex[1], T0.vertex[2], T1.vertex[0]); 
+    vol1 = StlVolume(T0.vertex[0], T0.vertex[1], T0.vertex[2], T1.vertex[1]); 
+    vol2 = StlVolume(T0.vertex[0], T0.vertex[1], T0.vertex[2], T1.vertex[2]); 
+    
+    /* Opposite sign: no intersection between triangle 1 and triangle 2 */
+    if ( ( ( vol0 > 0 ) && ( vol1 > 0 ) && ( vol2 > 0 ) ) ||
+	 ( ( vol0 < 0 ) && ( vol1 < 0 ) && ( vol2 < 0 ) ) )
+	return '0';
+    
+    return code;
+    
+}
+
+char StlSegTriInt(stl_facet T, stl_vertex q, stl_vertex r)
+{
+    
+    int code = '?';
+    int m = -1;
+    stl_vertex p;
+    stl_plane P;
+    
+    P.D = StlDot(T.vertex[0], T.normal);
+    P.normal = T.normal;
+    
+    code = StlSegPlaneInt(P, q, r, &p, &m );
+    
+    if      ( code == '0')
+	return '0';
+    else if ( code == 'q')
+	return StlInTri3D( T, m, q );
+    else if ( code == 'r')
+	return StlInTri3D( T, m, r );
+    else if ( code == 'p' )
+	return 'p';
+    else if ( code == '1' )
+	return StlSegTriCross( T, q, r );
+    else
+	return code;
+    
+}
+
+/*---------------------------------------------------------------------
+The signed volumes of three tetrahedra are computed, determined
+by the segment qr, and each edge of the triangle.  
+Returns a char:
+   'v': the open segment includes a vertex of T.
+   'e': the open segment includes a point in the relative interior of an edge
+   of T.
+   'f': the open segment includes a point in the relative interior of a face
+   of T.
+   '0': the open segment does not intersect triangle T.
+---------------------------------------------------------------------*/
+
+char StlSegTriCross(stl_facet T, stl_vertex q, stl_vertex r)
+{
+    
+    float vol0, vol1, vol2;
+    
+    vol0 = StlVolume( q, T.vertex[0], T.vertex[1], r ); 
+    vol1 = StlVolume( q, T.vertex[1], T.vertex[2], r ); 
+    vol2 = StlVolume( q, T.vertex[2], T.vertex[0], r );
+    
+    /* Same sign: segment intersects interior of triangle. */
+    if ( ( ( vol0 >  C_EPS ) && ( vol1 >  C_EPS ) && ( vol2 >  C_EPS ) ) || 
+	 ( ( vol0 < -C_EPS ) && ( vol1 < -C_EPS ) && ( vol2 < -C_EPS ) ) )
+	return 'f';
+    
+    /* Opposite sign: no intersection between segment and triangle */
+    if ( ( ( vol0 > 0 ) || ( vol1 > 0 ) || ( vol2 > 0 ) ) &&
+	 ( ( vol0 < 0 ) || ( vol1 < 0 ) || ( vol2 < 0 ) ) )
+	return '0';
+    
+    /* Two zeros: segment intersects vertex. */
+    else if ( ( ( ABS(vol0) < C_EPS ) && ( ABS(vol1) < C_EPS ) ) || 
+	      ( ( ABS(vol0) < C_EPS ) && ( ABS(vol2) < C_EPS ) ) || 
+	      ( ( ABS(vol1) < C_EPS ) && ( ABS(vol2) < C_EPS ) ) )
+	return 'v';
+    
+    /* One zero: segment intersects edge. */
+    else if ( ( ABS(vol0) < C_EPS ) || ( ABS(vol1) < C_EPS ) || ( ABS(vol2) < C_EPS ) )
+	return 'e';
+    else
+	return '0';
+    
+}
+
+float StlVolume( stl_vertex a, stl_vertex b, stl_vertex c, stl_vertex d )
+{ 
+    
+    float vol;
+    float bxdx, bydy, bzdz, cxdx, cydy, czdz;
+    
+    bxdx = b.x - d.x;
+    bydy = b.y - d.y;
+    bzdz = b.z - d.z;
+    
+    cxdx = c.x - d.x;
+    cydy = c.y - d.y;
+    czdz = c.z - d.z;
+    
+    vol =   (a.z - d.z) * (bxdx * cydy - bydy * cxdx)
+	    + (a.y - d.y) * (bzdz * cxdx - bxdx * czdz)
+	    + (a.x - d.x) * (bydy * czdz - bzdz * cydy);
+    
+    return vol;
+    
+}
diff --git a/utils/converters/stl_to_cartesian/segtri.h b/utils/converters/stl_to_cartesian/segtri.h
new file mode 100644
index 0000000000000000000000000000000000000000..afb292baf9f9fe9cec52111eac3b888598a1a51d
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/segtri.h
@@ -0,0 +1,6 @@
+
+char StlTriTriCross(stl_facet T0, stl_facet T1);
+char StlSegTriInt( stl_facet T, stl_vertex q, stl_vertex r);
+char StlSegPlaneInt(stl_plane P, stl_vertex q, stl_vertex r, stl_vertex *p, int *m );
+char StlTriPlaneCross(stl_facet T, stl_plane P, int *v);
+
diff --git a/utils/converters/stl_to_cartesian/stl.c b/utils/converters/stl_to_cartesian/stl.c
new file mode 100644
index 0000000000000000000000000000000000000000..67655a42487a12ba56c54fab4b71b44f35159e2b
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/stl.c
@@ -0,0 +1,542 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+//#include <malloc.h>
+
+#include "globals.h"
+#include "stl.h"
+
+#if !defined(SEEK_SET)
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#endif
+
+
+int StlGetLittleInt(FILE *fp)
+{
+    int value;
+    value  =  fgetc(fp) & 0xFF;
+    value |= (fgetc(fp) & 0xFF) << 0x08;
+    value |= (fgetc(fp) & 0xFF) << 0x10;
+    value |= (fgetc(fp) & 0xFF) << 0x18;
+    return(value);
+}
+
+float StlGetLittleFloat(FILE *fp)
+{
+    union 
+    {
+	int   int_value;
+	float float_value;
+    } value;
+    
+    value.int_value  =  fgetc(fp) & 0xFF;
+    value.int_value |= (fgetc(fp) & 0xFF) << 0x08;
+    value.int_value |= (fgetc(fp) & 0xFF) << 0x10;
+    value.int_value |= (fgetc(fp) & 0xFF) << 0x18;
+    return(value.float_value);
+}
+
+void StlPutLittleInt(FILE *fp, int value_in)
+{
+    
+    int new_value;
+    union 
+    {
+	int  int_value;
+	char char_value[4];
+    } value;
+    
+    value.int_value = value_in;
+    
+    new_value  = value.char_value[0] & 0xFF;
+    new_value |= (value.char_value[1] & 0xFF) << 0x08;
+    new_value |= (value.char_value[2] & 0xFF) << 0x10;
+    new_value |= (value.char_value[3] & 0xFF) << 0x18;
+    
+    fwrite(&new_value, sizeof(int), 1, fp);
+}
+
+void StlPutLittleFloat(FILE *fp, float value_in)
+{
+    
+    int new_value;
+    union 
+    {
+	float float_value;
+	char  char_value[4];
+    } value;
+    
+    value.float_value = value_in;
+    
+    new_value  = value.char_value[0] & 0xFF;
+    new_value |= (value.char_value[1] & 0xFF) << 0x08;
+    new_value |= (value.char_value[2] & 0xFF) << 0x10;
+    new_value |= (value.char_value[3] & 0xFF) << 0x18;
+    
+    fwrite(&new_value, sizeof(int), 1, fp);
+}
+
+int StlCheckIfFileExists(char *file)
+{
+    
+    FILE *fp;
+    
+    fp = fopen(file, "rb");
+    if(fp == NULL)
+    {  	  
+	return LOGICAL_FALSE;
+    }
+    else
+    {
+	fclose(fp);
+	return LOGICAL_TRUE;
+    }
+}
+
+int StlInitialize(stl_data *stl, char *file)
+{
+    
+    long           file_size;
+    int            header_num_facets;
+    int            num_facets;
+    int            i, j;
+    unsigned char  chtest[128];
+    unsigned char  fhtest[5];
+    int            num_lines = 1;
+    
+    stl->stats.volume = -1.0;
+    
+    /* Open the file */
+    stl->fp = fopen(file, "rb");
+    
+    if(stl->fp == NULL)
+	return LOGICAL_FALSE;
+    
+    /* Find size of file */
+    fseek(stl->fp, 0, SEEK_END);
+    file_size = ftell(stl->fp);
+    
+    stl->stats.file_size = file_size;
+    
+    /* Check for binary or ASCII file */
+    fseek(stl->fp, HEADER_SIZE, SEEK_SET);
+    fread(chtest, sizeof(chtest), 1, stl->fp);
+    stl->stats.type = ASCII;
+    
+    for(i = 0; i < sizeof(chtest); i++)
+    {
+	if(chtest[i] > 127)
+	{
+	    stl->stats.type = BINARY;
+	    break;
+	}
+    }
+    
+    rewind(stl->fp);
+    
+    /* Get the header and the number of facets in the .STL file */
+    /* If the .STL file is binary, then do the following */
+    if(stl->stats.type == BINARY)
+    {
+	/* Test if the STL file has the right size  */
+	if(((file_size - HEADER_SIZE) % SIZEOF_STL_FACET != 0)
+	    || (file_size < STL_MIN_FILE_SIZE))
+	    return LOGICAL_FALSE;
+	
+	num_facets = (file_size - HEADER_SIZE) / SIZEOF_STL_FACET;
+	
+	/* Read the header */
+	strcpy(stl->stats.header, "");
+	fread(stl->stats.header, LABEL_SIZE, 1, stl->fp);
+	stl->stats.header[80] = '\0';
+	
+	/* Read the int following the header.  This should contain # of facets */
+	header_num_facets = StlGetLittleInt(stl->fp);
+	
+	//if(num_facets != header_num_facets)
+	//"Warning: File size doesn't match number of facets in the header"
+	
+    }
+    /* Otherwise, if the .STL file is ASCII, then do the following */
+    else
+    {
+	
+	/* Get the header */
+	for(i = 0; (i < 80) && (chtest[i] = getc(stl->fp)) != '\n'; i++);
+	
+	fscanf(stl->fp, "%s", &fhtest);
+	
+	if (strcmp(fhtest, "facet") != 0)
+	    return LOGICAL_FALSE;
+	
+	rewind(stl->fp);
+	
+	/* Find the number of facets */
+	j = 0;
+	for(i = 0; i < file_size ; i++)
+	{
+	    j++;
+	    if(getc(stl->fp) == '\n')
+	    {
+		if(j > 4) /* don't count short lines */
+		{
+		    num_lines++;
+		}
+		j = 0;
+		
+	    }
+	    
+	}
+	
+	rewind(stl->fp);
+	
+	/* Get the header */
+	strcpy(stl->stats.header, "");
+	for(i = 0; (i < 80) && (stl->stats.header[i] = getc(stl->fp)) != '\n'; i++);
+	
+	num_facets = num_lines / ASCII_LINES_PER_FACET;
+	
+    }
+    
+    stl->stats.number_of_facets += num_facets;
+    
+    /* Successful exit */
+    return LOGICAL_TRUE;
+    
+}
+
+int StlOpenSTL(stl_data *stl, char *file)
+{
+    
+    StlClose(stl);
+    
+    if (StlInitialize(stl, file) == LOGICAL_TRUE)
+    {
+	
+	if (StlAllocate(stl) == LOGICAL_TRUE)
+	    StlReadStl(stl, 0, 1);
+	else
+	    return LOGICAL_FALSE;
+	
+    }
+    else
+	return LOGICAL_FALSE;
+    
+    return LOGICAL_TRUE;
+}
+
+void StlClose(stl_data *stl)
+{
+    
+    stl_index = 0;
+    
+    stl->stats.number_of_facets = 0;
+    
+    stl->stats.malloced = 0;
+    stl->stats.freed = 0;
+    stl->stats.facets_malloced = 0;
+    
+    stl->stats.file_size = 0;
+    strcpy(stl->stats.header, "");
+    
+    stl->stats.shortest_edge = 0;
+    stl->stats.tolerance = 0;
+    stl->stats.type = 0;
+    
+    stl->stats.area = 0;
+    stl->stats.volume = 0;
+    
+    stl->stats.min.x = 0;
+    stl->stats.min.y = 0;
+    stl->stats.min.z = 0;
+    
+    stl->stats.max.x = 0;
+    stl->stats.max.y = 0;
+    stl->stats.max.z = 0;
+    
+    stl->stats.center.x = 0;
+    stl->stats.center.y = 0;
+    stl->stats.center.z = 0;
+    
+    stl->stats.size.x = 0;
+    stl->stats.size.y = 0;
+    stl->stats.size.z = 0;
+    
+    stl->stats.bounding_diameter = 0;
+    
+    // Free memory
+    
+    if(stl->facet_start != NULL)
+    {
+	free(stl->facet_start);
+	stl->facet_start = NULL;
+    }
+    
+    
+}
+
+int StlAllocate(stl_data *stl)
+{
+    
+    /*  Allocate memory for the entire .STL file */
+    stl->facet_start = calloc(stl->stats.number_of_facets, sizeof(stl_facet));
+    
+    stl->stats.facets_malloced = stl->stats.number_of_facets;
+    
+    if (stl->facet_start == NULL) return LOGICAL_FALSE;
+    
+    return LOGICAL_TRUE;
+}
+
+int StlAddSTL(stl_data *stl, char *file)
+{
+    
+    int first_facet;
+    
+    first_facet = stl->stats.number_of_facets;
+    
+    if (StlInitialize(stl, file) == LOGICAL_TRUE)
+    {
+	
+	if (StlReallocate(stl) == LOGICAL_TRUE)
+	    StlReadStl(stl, first_facet, 1);
+	else
+	    return LOGICAL_FALSE;
+	
+    }
+    else
+	return LOGICAL_FALSE;
+    
+    
+    return LOGICAL_TRUE;
+}
+
+int StlReallocate(stl_data *stl)
+{
+    
+    /*  Reallocate more memory for the .STL file(s) */
+    stl->facet_start = realloc(stl->facet_start, (stl->stats.number_of_facets + 1) * sizeof(stl_facet));
+    
+    stl->stats.facets_malloced = stl->stats.number_of_facets;
+    
+    if (stl->facet_start == NULL) return LOGICAL_FALSE;
+    
+    return LOGICAL_TRUE;
+}
+
+void StlReadStl(stl_data *stl, int first_facet, int first)
+{
+    
+    stl_facet facet;
+    int   i;
+    float diff_x;
+    float diff_y;
+    float diff_z;
+    float max_diff;
+    
+    if (stl->facet_start == NULL)
+	return;
+    
+    if(stl->stats.type == BINARY)
+    {
+	fseek(stl->fp, HEADER_SIZE, SEEK_SET);
+    }
+    else
+    {
+	rewind(stl->fp);
+	/* Skip the first line of the file */
+	while(getc(stl->fp) != '\n');
+    }
+    
+    for(i = first_facet; i < stl->stats.number_of_facets; i++)
+    {
+	if(stl->stats.type == BINARY)
+	    /* Read a single facet from a binary .STL file */
+	{
+	    facet.normal.x = StlGetLittleFloat(stl->fp);
+	    facet.normal.y = StlGetLittleFloat(stl->fp);
+	    facet.normal.z = StlGetLittleFloat(stl->fp);
+	    facet.vertex[0].x = StlGetLittleFloat(stl->fp);
+	    facet.vertex[0].y = StlGetLittleFloat(stl->fp);
+	    facet.vertex[0].z = StlGetLittleFloat(stl->fp);
+	    facet.vertex[1].x = StlGetLittleFloat(stl->fp);
+	    facet.vertex[1].y = StlGetLittleFloat(stl->fp);
+	    facet.vertex[1].z = StlGetLittleFloat(stl->fp);
+	    facet.vertex[2].x = StlGetLittleFloat(stl->fp);
+	    facet.vertex[2].y = StlGetLittleFloat(stl->fp);
+	    facet.vertex[2].z = StlGetLittleFloat(stl->fp);
+	    facet.extra[0] = fgetc(stl->fp);
+	    facet.extra[1] = fgetc(stl->fp);
+	}
+	else
+	    /* Read a single facet from an ASCII .STL file */
+	{
+	    fscanf(stl->fp, "%*s %*s %f %f %f\n", &facet.normal.x,
+		   &facet.normal.y, &facet.normal.z);
+	    fscanf(stl->fp, "%*s %*s");
+	    fscanf(stl->fp, "%*s %f %f %f\n", &facet.vertex[0].x,
+		   &facet.vertex[0].y,  &facet.vertex[0].z);
+	    fscanf(stl->fp, "%*s %f %f %f\n", &facet.vertex[1].x,
+		   &facet.vertex[1].y,  &facet.vertex[1].z);
+	    fscanf(stl->fp, "%*s %f %f %f\n", &facet.vertex[2].x,
+		   &facet.vertex[2].y,  &facet.vertex[2].z);
+	    fscanf(stl->fp, "%*s");
+	    fscanf(stl->fp, "%*s");
+	}
+	
+	/* Write the facet into memory. */
+	stl->facet_start[i] = facet;
+	
+	/* while we are going through all of the facets, let's find the  */
+	/* maximum and minimum values for x, y, and z  */
+	
+	/* Initialize the max and min values the first time through*/
+	if(first)
+	{
+	    stl->stats.max.x = facet.vertex[0].x;
+	    stl->stats.min.x = facet.vertex[0].x;
+	    stl->stats.max.y = facet.vertex[0].y;
+	    stl->stats.min.y = facet.vertex[0].y;
+	    stl->stats.max.z = facet.vertex[0].z;
+	    stl->stats.min.z = facet.vertex[0].z;
+	    
+	    diff_x = ABS(facet.vertex[0].x - facet.vertex[1].x);
+	    diff_y = ABS(facet.vertex[0].y - facet.vertex[1].y);
+	    diff_z = ABS(facet.vertex[0].z - facet.vertex[1].z);
+	    max_diff = MAX(diff_x, diff_y);
+	    max_diff = MAX(diff_z, max_diff);
+	    stl->stats.shortest_edge = max_diff;
+	    
+	    first = 0;
+	}
+	
+	/* now find the max and min values */
+	stl->stats.max.x = MAX(stl->stats.max.x, facet.vertex[0].x);
+	stl->stats.min.x = MIN(stl->stats.min.x, facet.vertex[0].x);
+	stl->stats.max.y = MAX(stl->stats.max.y, facet.vertex[0].y);
+	stl->stats.min.y = MIN(stl->stats.min.y, facet.vertex[0].y);
+	stl->stats.max.z = MAX(stl->stats.max.z, facet.vertex[0].z);
+	stl->stats.min.z = MIN(stl->stats.min.z, facet.vertex[0].z);
+	
+	stl->stats.max.x = MAX(stl->stats.max.x, facet.vertex[1].x);
+	stl->stats.min.x = MIN(stl->stats.min.x, facet.vertex[1].x);
+	stl->stats.max.y = MAX(stl->stats.max.y, facet.vertex[1].y);
+	stl->stats.min.y = MIN(stl->stats.min.y, facet.vertex[1].y);
+	stl->stats.max.z = MAX(stl->stats.max.z, facet.vertex[1].z);
+	stl->stats.min.z = MIN(stl->stats.min.z, facet.vertex[1].z);
+	
+	stl->stats.max.x = MAX(stl->stats.max.x, facet.vertex[2].x);
+	stl->stats.min.x = MIN(stl->stats.min.x, facet.vertex[2].x);
+	stl->stats.max.y = MAX(stl->stats.max.y, facet.vertex[2].y);
+	stl->stats.min.y = MIN(stl->stats.min.y, facet.vertex[2].y);
+	stl->stats.max.z = MAX(stl->stats.max.z, facet.vertex[2].z);
+	stl->stats.min.z = MIN(stl->stats.min.z, facet.vertex[2].z);
+    }
+    
+    stl->stats.size.x = stl->stats.max.x - stl->stats.min.x;
+    stl->stats.size.y = stl->stats.max.y - stl->stats.min.y;
+    stl->stats.size.z = stl->stats.max.z - stl->stats.min.z;
+    
+    /*
+	stl->stats.bounding_diameter = sqrt(stl->stats.size.x * stl->stats.size.x + stl->stats.size.y * stl->stats.size.y + stl->stats.size.z * stl->stats.size.z);
+	
+	C_EPS = stl->stats.bounding_diameter / 10000;
+	C_EPS *= C_EPS;
+	*/
+    
+    C_EPS = 1E-6f;
+    
+    StlReallocate(stl);
+}
+
+int StlWriteAscii(stl_data *stl, char *file, char *label)
+{
+    int       i;
+    FILE      *fp;
+    
+    /* Open the file */
+    fp = fopen(file, "w");
+    if(fp == NULL)
+    {
+	return LOGICAL_FALSE;
+    }
+    
+    fprintf(fp, "solid %s\n", label);
+    
+    for(i = 0; i < stl->stats.number_of_facets; i++)
+    {
+	fprintf(fp, "facet normal %.8E %.8E %.8E\n",
+		stl->facet_start[i].normal.x, stl->facet_start[i].normal.y,
+		stl->facet_start[i].normal.z);
+	fprintf(fp, "outer loop\n");
+	fprintf(fp, "vertex %.8E %.8E %.8E\n",
+		stl->facet_start[i].vertex[0].x, stl->facet_start[i].vertex[0].y,
+		stl->facet_start[i].vertex[0].z);
+	fprintf(fp, "vertex %.8E %.8E %.8E\n",
+		stl->facet_start[i].vertex[1].x, stl->facet_start[i].vertex[1].y,
+		stl->facet_start[i].vertex[1].z);
+	fprintf(fp, "vertex %.8E %.8E %.8E\n",
+		stl->facet_start[i].vertex[2].x, stl->facet_start[i].vertex[2].y,
+		stl->facet_start[i].vertex[2].z);
+	fprintf(fp, "endloop\n");
+	fprintf(fp, "endfacet\n");
+    }
+    
+    fprintf(fp, "endsolid %s\n", label);
+    
+    fclose(fp);
+    
+    return LOGICAL_TRUE;
+}
+
+int StlWriteBinary(stl_data *stl, char *file, char *label)
+{
+    
+    FILE      *fp;
+    int       i;
+    
+    if (stl->facet_start == NULL)
+	return LOGICAL_FALSE;
+    
+    /* Open the file */
+    fp = fopen(file, "wb");
+    if(fp == NULL)
+    {
+	return LOGICAL_FALSE;
+    }
+    
+    fprintf(fp, "%s", label);
+    for(i = strlen(label); i < LABEL_SIZE; i++) putc(0, fp);
+    
+    fseek(fp, LABEL_SIZE, SEEK_SET);
+    
+    StlPutLittleInt(fp, stl->stats.number_of_facets);
+    
+    for(i = 0; i < stl->stats.number_of_facets; i++)
+    {
+	StlPutLittleFloat(fp, stl->facet_start[i].normal.x);
+	StlPutLittleFloat(fp, stl->facet_start[i].normal.y);
+	StlPutLittleFloat(fp, stl->facet_start[i].normal.z);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[0].x);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[0].y);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[0].z);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[1].x);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[1].y);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[1].z);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[2].x);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[2].y);
+	StlPutLittleFloat(fp, stl->facet_start[i].vertex[2].z);
+	
+	fputc(stl->facet_start[i].extra[0], fp);
+	fputc(stl->facet_start[i].extra[1], fp);
+    }
+    
+    fclose(fp);
+    
+    return LOGICAL_TRUE;
+}
+
+
diff --git a/utils/converters/stl_to_cartesian/stl.h b/utils/converters/stl_to_cartesian/stl.h
new file mode 100644
index 0000000000000000000000000000000000000000..d0a17042f879853d1171d982753e8d476f8b1428
--- /dev/null
+++ b/utils/converters/stl_to_cartesian/stl.h
@@ -0,0 +1,79 @@
+
+#define LABEL_SIZE                  	80
+#define NUM_FACET_SIZE         	4
+#define HEADER_SIZE               	84
+#define STL_MIN_FILE_SIZE      	134
+#define ASCII_LINES_PER_FACET 	7
+#define SIZEOF_EDGE_SORT       	24
+
+typedef struct 
+{
+    float x, y, z;
+}stl_vertex;
+
+typedef char stl_extra[2];
+
+typedef struct
+{
+    stl_vertex  normal;
+    stl_vertex  vertex[3];
+    stl_extra   extra;
+}stl_facet;
+
+#define SIZEOF_STL_FACET       50
+
+typedef enum {BINARY, ASCII} stl_type;
+
+typedef struct
+{
+    long	      file_size;
+    char          header[81];
+    stl_type      type;
+    int           number_of_facets;
+    stl_vertex    max;
+    stl_vertex    min;
+    stl_vertex    center;
+    stl_vertex    size;
+    float         bounding_diameter;
+    float         shortest_edge;
+    float         tolerance;
+    float         volume;
+    float         area;
+    int           malloced;
+    int           freed;
+    int           facets_malloced;
+}stl_stats;  
+
+typedef struct
+{
+    FILE			*fp;
+    stl_facet		*facet_start;
+    stl_stats		stats;
+}stl_data;
+
+typedef struct
+{
+    stl_vertex normal;
+    float D;
+}stl_plane;
+
+int stl_index;
+
+int   StlGetLittleInt(FILE *fp);
+float StlGetLittleFloat(FILE *fp);
+
+void  StlPutLittleInt(FILE *fp, int value_in);
+void  StlPutLittleFloat(FILE *fp, float value_in);
+
+int   StlCheckIfFileExists(char *file);
+
+int   StlOpenStl(stl_data *stl, char *file);
+int   StlAddStl(stl_data *stl, char *file);
+void  StlReadStl(stl_data *stl, int first_facet, int first);
+
+void  StlClose(stl_data *stl);
+
+int   StlReallocate(stl_data *stl);
+int   StlAllocate(stl_data *stl);
+
+
diff --git a/utils/converters/tetgen/tetgentogmsh.py b/utils/converters/tetgen/tetgentogmsh.py
new file mode 100644
index 0000000000000000000000000000000000000000..7fd1513df07560b3cd7e6e67e054e962ecb75b13
--- /dev/null
+++ b/utils/converters/tetgen/tetgentogmsh.py
@@ -0,0 +1,129 @@
+#!/usr/bin/python
+#tetgentogmsh.py
+#Petit convertiseur de fichier tetgen en gmsh .msh
+#car le fichier .mesh cree par tetgen ne conserve pas les marqueurs de surface
+#Ecrit par frederic Renou frederic.renou@gmail.com 2009
+
+#Base sur la bibliotheque de Ondrej Certik <ondrej@certik.cz>
+#homepage: http://code.google.com/p/femgeom/
+
+import sys
+
+verbose=False
+if sys.argv[1] in ('h','-h','-help'):
+	print '-v for verbose mode'
+	print 'l argument doit etre le fichier tetgen sans le .node'
+	raise 'fin du fichier'
+else:
+	if sys.argv[1] in ('v','-v'):
+		print '-v for verbose mode'
+		fname=sys.argv[2]
+		verbose=True
+	else:
+		fname=sys.argv[1]
+
+#ouverture des fichiers
+fo=file(fname+'.msh',"w")
+fn=file(fname+'.node',"r")
+ff=file(fname+'.face',"r")
+fe=file(fname+'.ele',"r")
+
+
+#lecture du fichier .node
+l=[int(x) for x in fn.readline().split()]
+npoints,dim,nattrib,nbound=l
+assert dim==3
+if npoints < 3:
+	raise "tetgen file empty"
+
+l=fo.write("$NOD\n")
+l=fo.write("%d\n"%npoints)
+
+npointlu=0
+for line in fn:
+	if line[0]=="#": continue
+        l=[float(x) for x in line.split()]
+        npointlu=npointlu + 1
+	l[0]=int(l[0])
+        fo.write("%d "%l[0]+"%f "%l[1]+"%f "%l[2]+"%f\n"%l[3])
+if verbose: print "nombre de point lut %d nombre de point par tetgen %d"%(npointlu,npoints)
+assert npoints==npointlu
+
+
+
+#lecture des fichiers elements
+l=[int(x) for x in fe.readline().split()]
+ntetra,nnod,nattribe=l
+if nnod!=4:
+	raise "tetgen element are not linear not supported"
+#if nattribe!=0:
+#	raise "tetgen did assign an entity number to each element"
+
+l=[int(x) for x in ff.readline().split()]
+nfaces,nattribf=l
+if nattribf!=1:
+	raise "tetgen didn't assign an entity number to each face"
+
+#fin de l ecriture des noeud
+l=fo.write("$ENDNOD\n")
+l=fo.write("$ELM\n")
+l=fo.write("%d\n"%(ntetra+nfaces))
+
+#lecture du fichier face
+nfacelu=0
+for line in ff:
+	if line[0]=="#": continue
+	l=[int(x) for x in line.split()]
+	nfacelu=nfacelu+1
+	assert len(l)==5
+	n=[     #elm-number 
+                l[0],
+                #elm-type 
+                2,
+                #reg-phys
+                l[4],
+                #reg-elem 
+                l[4],
+                #number-of-nodes
+                3,
+		#coord1 
+                l[1],
+                #coord 
+                l[2],
+                #coord 
+                l[3]
+                ]
+	l=fo.write("%d %d %d %d %d %d %d %d\n"%tuple(n))
+if verbose: print "nombre de face lut %d nombre de face par tetgen %d"%(nfacelu,nfaces)
+assert nfaces==nfacelu
+
+ntetralu=0
+for line in fe:
+	if line[0]=="#": continue
+	l=[int(x) for x in line.split()]
+	ntetralu=ntetralu+1
+	if nattribe==1: regnumber=l[5] 
+	else: regnumber=3
+	assert len(l)==(nattrib+5)
+	n=[     #elm-number 
+                l[0],
+                #elm-type 
+                4,
+                #reg-phys
+                regnumber,
+                #reg-elem 
+		regnumber,
+                #number-of-nodes
+                4,
+		#coord 
+                l[1],
+                #coord 
+                l[2],
+                #coord 
+                l[3],
+                #coord 
+                l[4]
+                ]
+	l=fo.write("%d %d %d %d %d %d %d %d %d\n"%tuple(n))
+if verbose: print "nombre de tetra lut %d nombre de tetra par tetgen %d"%(nfacelu,nfaces)
+assert ntetra==ntetralu
\ No newline at end of file
diff --git a/utils/misc/Info.plist b/utils/misc/gmsh_app.plist
similarity index 95%
rename from utils/misc/Info.plist
rename to utils/misc/gmsh_app.plist
index 6078eb2c18d0142dfda04c4fbc451a2f00dce49f..98c8855a9d0fab14eb56a62c81d76751c5a0f5e5 100644
--- a/utils/misc/Info.plist
+++ b/utils/misc/gmsh_app.plist
@@ -9,7 +9,7 @@
     <key>CFBundleShortVersionString</key><string>GMSH_VERSION</string>
     <key>CFBundleIconFile</key><string>Gmsh.icns</string>
     <key>CFBundleSignature</key><string>GMSH</string>
-    <key>CFBundleGetInfoString</key><string>GMSH_VERSION, Copyright 1997-2009 C. Geuzaine and J.-F. Remacle</string>
+    <key>CFBundleGetInfoString</key><string>Gmsh GMSH_VERSION, Copyright 1997-2009 C. Geuzaine and J.-F. Remacle</string>
     <key>CFBundleIdentifier</key><string>org.geuz.Gmsh</string>
     <key>CFBundleDocumentTypes</key>
     <array>
diff --git a/utils/misc/gmsh_bundle.sh b/utils/misc/gmsh_app.sh
similarity index 100%
rename from utils/misc/gmsh_bundle.sh
rename to utils/misc/gmsh_app.sh
diff --git a/utils/misc/Info_framework.plist b/utils/misc/gmsh_framework.plist
similarity index 100%
rename from utils/misc/Info_framework.plist
rename to utils/misc/gmsh_framework.plist
diff --git a/utils/misc/gmsh_framework.sh b/utils/misc/gmsh_framework.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3fb826666dbced0240752349dfb6fe9bd03f0712
--- /dev/null
+++ b/utils/misc/gmsh_framework.sh
@@ -0,0 +1,17 @@
+### FIXME TODO ###
+
+# rm -rf Gmsh.framework
+# mkdir -p Gmsh.framework
+# mkdir -p Gmsh.framework/Versions
+# mkdir -p Gmsh.framework/Versions/A
+# mkdir -p Gmsh.framework/Versions/A/Headers
+# mkdir -p Gmsh.framework/Versions/A/Resources
+# cp libGmshLib.a Gmsh.framework/Versions/A/Gmsh
+# cp ${GMSH_API} Gmsh.framework/Versions/A/Headers/
+# sed -e "s/GMSH_VERSION/${GMSH_VERSION}/g" utils/misc/Info_framework.plist\
+# > Gmsh.framework/Versions/A/Resources/Info.plist
+# cd Gmsh.framework/Versions && ln -s A Current
+# cd Gmsh.framework && ln -s Versions/Current/Gmsh
+# cd Gmsh.framework && ln -s Versions/Current/Headers
+# cd Gmsh.framework && ln -s Versions/Current/Resources 
+