From 97066ef6401418a9024c3cbdd29b7d8d6977d2d9 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 1 Mar 2017 19:00:01 -0600 Subject: [PATCH] Fixed Lab06, Assignment 3 Completed. --- A3/.gitignore | 1 + A3/CMakeLists.txt | 127 + A3/README.txt | 4 + A3/resources/.frag.glsl | 17 + A3/resources/.vert.glsl | 17 + A3/resources/bunny.obj | 9977 ++++++++++++++++++++++++++++++++ A3/resources/cube.obj | 29 + A3/resources/frag.glsl | 48 + A3/resources/sil.glsl | 20 + A3/resources/vert.glsl | 23 + A3/shadow8t4.zip | Bin 0 -> 130839 bytes A3/src/Camera.cpp | 66 + A3/src/Camera.h | 47 + A3/src/GLSL.cpp | 152 + A3/src/GLSL.h | 40 + A3/src/Light.cpp | 39 + A3/src/Light.h | 27 + A3/src/Material.cpp | 39 + A3/src/Material.h | 41 + A3/src/MatrixStack.cpp | 114 + A3/src/MatrixStack.h | 50 + A3/src/Program.cpp | 126 + A3/src/Program.h | 44 + A3/src/Shape.cpp | 165 + A3/src/Shape.h | 37 + A3/src/main.cpp | 362 ++ A3/src/tiny_obj_loader.h | 1922 ++++++ L06/resources/simple_frag.glsl | 2 +- 28 files changed, 13535 insertions(+), 1 deletion(-) create mode 100644 A3/.gitignore create mode 100644 A3/CMakeLists.txt create mode 100644 A3/README.txt create mode 100644 A3/resources/.frag.glsl create mode 100644 A3/resources/.vert.glsl create mode 100644 A3/resources/bunny.obj create mode 100644 A3/resources/cube.obj create mode 100644 A3/resources/frag.glsl create mode 100644 A3/resources/sil.glsl create mode 100644 A3/resources/vert.glsl create mode 100644 A3/shadow8t4.zip create mode 100644 A3/src/Camera.cpp create mode 100644 A3/src/Camera.h create mode 100644 A3/src/GLSL.cpp create mode 100644 A3/src/GLSL.h create mode 100644 A3/src/Light.cpp create mode 100644 A3/src/Light.h create mode 100644 A3/src/Material.cpp create mode 100644 A3/src/Material.h create mode 100644 A3/src/MatrixStack.cpp create mode 100644 A3/src/MatrixStack.h create mode 100644 A3/src/Program.cpp create mode 100644 A3/src/Program.h create mode 100644 A3/src/Shape.cpp create mode 100644 A3/src/Shape.h create mode 100644 A3/src/main.cpp create mode 100644 A3/src/tiny_obj_loader.h diff --git a/A3/.gitignore b/A3/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/A3/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/A3/CMakeLists.txt b/A3/CMakeLists.txt new file mode 100644 index 0000000..64a47c1 --- /dev/null +++ b/A3/CMakeLists.txt @@ -0,0 +1,127 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) + +# Name of the project +PROJECT(A3) + +# FOR LAB MACHINES ONLY! +# DO NOT EDIT +SET(DEF_DIR_GLM "C:\\c++\\glm") +SET(DEF_DIR_GLFW "C:\\c++\\glfw-3.2.1") +SET(DEF_DIR_GLEW "C:\\c++\\glew-2.0.0") + +# Is this the solution? +# Override with `cmake -DSOL=ON ..` +OPTION(SOL "Solution" OFF) + +# Use glob to get the list of all source files. +# We don't really need to include header and resource files to build, but it's +# nice to have them also show up in IDEs. +IF(${SOL}) + FILE(GLOB_RECURSE SOURCES "src0/*.cpp") + FILE(GLOB_RECURSE HEADERS "src0/*.h") + FILE(GLOB_RECURSE GLSL "resources0/*.glsl") +ELSE() + FILE(GLOB_RECURSE SOURCES "src/*.cpp") + FILE(GLOB_RECURSE HEADERS "src/*.h") + FILE(GLOB_RECURSE GLSL "resources/*.glsl") +ENDIF() + +# Set the executable. +ADD_EXECUTABLE(${CMAKE_PROJECT_NAME} ${SOURCES} ${HEADERS} ${GLSL}) + +# Get the GLM environment variable. Since GLM is a header-only library, we +# just need to add it to the include directory. +SET(GLM_INCLUDE_DIR "$ENV{GLM_INCLUDE_DIR}") +IF(NOT GLM_INCLUDE_DIR) + # The environment variable was not set + SET(ERR_MSG "Please point the environment variable GLM_INCLUDE_DIR to the root directory of your GLM installation.") + IF(WIN32) + # On Windows, try the default location + MESSAGE(STATUS "Looking for GLM in ${DEF_DIR_GLM}") + IF(IS_DIRECTORY ${DEF_DIR_GLM}) + MESSAGE(STATUS "Found!") + SET(GLM_INCLUDE_DIR ${DEF_DIR_GLM}) + ELSE() + MESSAGE(FATAL_ERROR ${ERR_MSG}) + ENDIF() + ELSE() + MESSAGE(FATAL_ERROR ${ERR_MSG}) + ENDIF() +ENDIF() +INCLUDE_DIRECTORIES(${GLM_INCLUDE_DIR}) + +# Get the GLFW environment variable. There should be a CMakeLists.txt in the +# specified directory. +SET(GLFW_DIR "$ENV{GLFW_DIR}") +IF(NOT GLFW_DIR) + # The environment variable was not set + SET(ERR_MSG "Please point the environment variable GLFW_DIR to the root directory of your GLFW installation.") + IF(WIN32) + # On Windows, try the default location + MESSAGE(STATUS "Looking for GLFW in ${DEF_DIR_GLFW}") + IF(IS_DIRECTORY ${DEF_DIR_GLFW}) + MESSAGE(STATUS "Found!") + SET(GLFW_DIR ${DEF_DIR_GLFW}) + ELSE() + MESSAGE(FATAL_ERROR ${ERR_MSG}) + ENDIF() + ELSE() + MESSAGE(FATAL_ERROR ${ERR_MSG}) + ENDIF() +ENDIF() +OPTION(GLFW_BUILD_EXAMPLES "GLFW_BUILD_EXAMPLES" OFF) +OPTION(GLFW_BUILD_TESTS "GLFW_BUILD_TESTS" OFF) +OPTION(GLFW_BUILD_DOCS "GLFW_BUILD_DOCS" OFF) +IF(CMAKE_BUILD_TYPE MATCHES Release) + ADD_SUBDIRECTORY(${GLFW_DIR} ${GLFW_DIR}/release) +ELSE() + ADD_SUBDIRECTORY(${GLFW_DIR} ${GLFW_DIR}/debug) +ENDIF() +INCLUDE_DIRECTORIES(${GLFW_DIR}/include) +TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} glfw ${GLFW_LIBRARIES}) + +# Get the GLEW environment variable. +SET(GLEW_DIR "$ENV{GLEW_DIR}") +IF(NOT GLEW_DIR) + # The environment variable was not set + SET(ERR_MSG "Please point the environment variable GLEW_DIR to the root directory of your GLEW installation.") + IF(WIN32) + # On Windows, try the default location + MESSAGE(STATUS "Looking for GLEW in ${DEF_DIR_GLEW}") + IF(IS_DIRECTORY ${DEF_DIR_GLEW}) + MESSAGE(STATUS "Found!") + SET(GLEW_DIR ${DEF_DIR_GLEW}) + ELSE() + MESSAGE(FATAL_ERROR ${ERR_MSG}) + ENDIF() + ELSE() + MESSAGE(FATAL_ERROR ${ERR_MSG}) + ENDIF() +ENDIF() +INCLUDE_DIRECTORIES(${GLEW_DIR}/include) +IF(WIN32) + # With prebuilt binaries + TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} ${GLEW_DIR}/lib/Release/Win32/glew32s.lib) +ELSE() + TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} ${GLEW_DIR}/lib/libGLEW.a) +ENDIF() + +# OS specific options and libraries +IF(WIN32) + # c++11 is enabled by default. + # -Wall produces way too many warnings. + # -pedantic is not supported. + # Disable warning 4996. + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4996") + TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} opengl32.lib) +ELSE() + # Enable all pedantic warnings. + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -pedantic") + IF(APPLE) + # Add required frameworks for GLFW. + TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} "-framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo") + ELSE() + #Link the Linux OpenGL library + TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} "GL") + ENDIF() +ENDIF() diff --git a/A3/README.txt b/A3/README.txt new file mode 100644 index 0000000..d3949a4 --- /dev/null +++ b/A3/README.txt @@ -0,0 +1,4 @@ +Alexander Huddleston +I downloaded the code from the lab pages and worked from there. + +I didn't notice you implemented a "toggle key" functionality in the main and instead coded if statements in the char callback to do what I wanted. The functionality remains the same, but I thought it was worth noting. diff --git a/A3/resources/.frag.glsl b/A3/resources/.frag.glsl new file mode 100644 index 0000000..8b8b1de --- /dev/null +++ b/A3/resources/.frag.glsl @@ -0,0 +1,17 @@ +#version 120 + +uniform vec3 lightPos; +uniform vec3 ka; +uniform vec3 kd; +uniform vec3 ks; +uniform float s; + +varying vec3 n; // passed from the vertex shader +varying vec3 p; // passed from the vertex shader + +void main() +{ + n = normalize(normal); + vec3 color = 0.5 * (n + 1.0); + gl_FragColor = vec4(color.r, color.g, color.b, 1.0); +} diff --git a/A3/resources/.vert.glsl b/A3/resources/.vert.glsl new file mode 100644 index 0000000..ac83524 --- /dev/null +++ b/A3/resources/.vert.glsl @@ -0,0 +1,17 @@ +#version 120 + +uniform mat4 P; +uniform mat4 MV; + +attribute vec4 aPos; // in object space +attribute vec3 aNor; // in object space + +varying vec3 p; // passed to fragment shader +varying vec3 n; // passed to fragment shader + +void main() +{ + ugl_Position = P * MV * aPos; + p = MV * aPos; + n = MV * aNor; +} diff --git a/A3/resources/bunny.obj b/A3/resources/bunny.obj new file mode 100644 index 0000000..de3f190 --- /dev/null +++ b/A3/resources/bunny.obj @@ -0,0 +1,9977 @@ +# Blender v2.72 (sub 0) OBJ File: '' +# www.blender.org +v -0.865619 1.424919 0.084327 +v -0.896984 1.397126 0.137748 +v -0.894910 1.439258 0.124885 +v -0.863675 1.090654 0.119807 +v -0.859114 1.096879 0.076583 +v -0.870559 1.056276 0.097651 +v -0.263037 1.251888 0.173930 +v -0.273832 1.232426 0.216589 +v -0.258513 1.218295 0.260797 +v -0.727772 1.785447 -0.482088 +v -0.720838 1.749985 -0.419303 +v -0.677382 1.772887 -0.503759 +v -0.313589 1.214098 0.259711 +v -0.285960 1.190116 0.298882 +v -0.609024 0.434295 0.426785 +v -0.569010 0.454370 0.432370 +v -0.603813 0.459214 0.400887 +v -0.017977 1.311728 0.163607 +v -0.080841 1.303054 0.168723 +v -0.034102 1.303196 0.217544 +v -0.560108 1.538166 0.253693 +v -0.566276 1.527061 0.296291 +v -0.544542 1.529770 0.225052 +v -0.837366 0.767718 0.089586 +v -0.848639 0.783921 0.164620 +v -0.862046 0.809307 0.105354 +v -0.686026 1.499228 -0.400513 +v -0.694130 1.512185 -0.445385 +v -0.667007 1.523678 -0.452664 +v -0.888126 0.877655 0.142266 +v -0.896123 0.915999 0.178123 +v -0.893987 0.895390 0.116456 +v 0.584400 0.702008 0.177796 +v 0.573451 0.694827 0.211535 +v 0.583924 0.667412 0.219795 +v -0.336740 1.777445 -0.081799 +v -0.395199 1.738585 -0.075752 +v -0.355263 1.759556 -0.048676 +v -0.089889 1.295227 0.220268 +v -0.812574 0.730252 0.071021 +v -0.837405 0.772403 0.046673 +v -0.703597 1.690699 -0.261442 +v -0.727592 1.696591 -0.270134 +v -0.694385 1.647993 -0.172187 +v -0.638757 1.614009 -0.200642 +v -0.649590 1.585202 -0.125953 +v -0.633084 1.566061 -0.138388 +v -0.643710 1.729621 -0.492256 +v -0.665466 1.717112 -0.421277 +v -0.639263 1.679244 -0.407304 +v -0.506872 0.359359 -0.123808 +v -0.478720 0.341363 -0.154182 +v -0.514998 0.337291 -0.120825 +v -0.679838 1.697478 -0.316275 +v -0.709198 1.713669 -0.327637 +v -0.658081 1.676434 -0.305586 +v -0.691360 1.724784 -0.390133 +v -0.693726 1.606178 -0.091905 +v -0.708636 1.613653 -0.097324 +v -0.671322 1.570945 -0.062032 +v -0.726526 1.656792 -0.182125 +v -0.294283 0.931666 -0.249318 +v -0.330484 0.959586 -0.234264 +v -0.281229 0.993224 -0.235801 +v -0.152271 1.278488 0.215452 +v -0.201106 1.250454 0.235883 +v -0.162313 1.238294 0.295770 +v -0.929895 1.309231 0.199193 +v -0.905494 1.351187 0.216806 +v -0.922326 1.319540 0.154307 +v -0.078163 1.282121 -0.019430 +v -0.134939 1.288244 0.059691 +v -0.031074 1.307290 0.056429 +v -0.709618 0.343457 -0.007837 +v -0.703852 0.374503 -0.009319 +v -0.687962 0.351177 -0.052067 +v -0.917151 1.170996 0.308094 +v -0.927365 1.207309 0.326928 +v -0.924992 1.213150 0.292562 +v -0.843354 0.807299 0.221805 +v -0.860345 0.826457 0.195427 +v -0.107365 1.299029 0.109938 +v -0.056009 1.307667 0.105161 +v -0.374165 0.476821 -0.171473 +v -0.376138 0.495348 -0.116261 +v -0.355627 0.493999 -0.128650 +v -0.766552 1.550977 0.079687 +v -0.790400 1.553745 0.151418 +v -0.736967 1.561301 0.143598 +v -0.679454 1.149360 -0.095107 +v -0.708723 1.161164 -0.079564 +v -0.673908 1.188969 -0.087301 +v -0.893190 0.995470 0.134181 +v -0.874051 1.059399 0.136459 +v -0.030471 1.291945 -0.010688 +v -0.883609 1.499671 0.260442 +v -0.832990 1.496077 0.337409 +v -0.865377 1.515480 0.258754 +v -0.012189 0.962017 0.538159 +v 0.040479 0.958174 0.529368 +v 0.030802 0.983074 0.505357 +v -0.814967 1.547310 0.196974 +v -0.770043 1.552128 0.245348 +v -0.942971 1.261774 0.192247 +v -0.932812 1.269109 0.135050 +v 0.023930 1.316271 0.119551 +v -0.741082 1.735573 -0.379868 +v -0.234595 1.261539 0.166138 +v -0.812642 1.538117 0.258979 +v -0.817192 1.525015 0.296561 +v 0.009684 1.306430 0.025866 +v 0.035766 1.313898 0.072086 +v -0.821915 0.756102 0.165426 +v -0.816275 0.734706 0.111617 +v -0.672166 1.617134 -0.137337 +v -0.633133 1.650326 -0.328951 +v -0.900093 1.327808 0.059221 +v -0.887462 1.362558 0.071478 +v -0.874391 1.337488 0.023975 +v 0.065112 1.300252 0.009288 +v 0.113480 0.982438 -0.230242 +v 0.152357 0.949779 -0.244371 +v 0.104643 0.961805 -0.258990 +v -0.689402 1.565278 -0.019716 +v -0.722233 1.589674 -0.054242 +v -0.108662 1.269170 0.275755 +v -0.744886 1.564944 -0.025954 +v -0.737481 1.553925 0.023492 +v 0.024919 1.298356 0.248471 +v -0.042439 1.291490 0.258292 +v -0.015539 1.275472 0.292329 +v -0.886313 0.948812 0.079338 +v -0.894955 0.956324 0.142348 +v -0.888923 0.992091 0.095703 +v -0.754058 1.683907 -0.267930 +v -0.884692 1.112429 0.126792 +v -0.905579 1.127599 0.161410 +v -0.905939 1.137309 0.102768 +v -0.065865 1.264172 0.302264 +v -0.046019 1.242854 0.334720 +v -0.507183 1.527630 0.118167 +v -0.502423 1.577375 0.093945 +v -0.524202 1.531010 0.129274 +v -0.931765 1.182102 0.233624 +v -0.942436 1.220743 0.235685 +v -0.936442 1.178938 0.186621 +v -0.809005 1.255871 0.521554 +v -0.790038 1.285055 0.531494 +v -0.814555 1.301221 0.521177 +v -0.770567 1.319347 0.524625 +v -0.797790 1.344889 0.509903 +v -0.714483 1.810530 -0.554785 +v -0.741587 1.798728 -0.507947 +v -0.703815 1.807118 -0.531726 +v -0.789356 1.481723 0.394631 +v -0.789317 1.509306 0.351519 +v -0.473112 1.629604 0.060741 +v -0.518397 1.606204 0.071422 +v -0.572648 1.550625 0.193225 +v -0.922690 1.147516 0.170174 +v -0.780815 1.235194 0.521370 +v -0.784365 1.392801 0.483294 +v -0.772561 1.456585 0.431230 +v -0.809450 1.390357 0.473591 +v -0.595756 1.547240 0.263733 +v -0.600528 1.528035 0.328877 +v -0.742941 1.635685 -0.155342 +v -0.312179 0.438475 0.497809 +v -0.311729 0.402943 0.513125 +v -0.264720 0.450345 0.512195 +v -0.915565 1.319626 0.106382 +v -0.528317 0.702989 -0.148649 +v -0.550659 0.780892 -0.197555 +v -0.510255 0.757051 -0.181869 +v -0.639209 1.277424 -0.085494 +v -0.705951 1.299483 -0.087629 +v -0.684664 1.349815 -0.083360 +v -0.564730 1.577841 0.081787 +v -0.576845 1.556170 0.129831 +v -0.546424 1.552296 0.126124 +v -0.757182 1.252273 0.530873 +v -0.759832 1.382080 0.492166 +v 0.435148 0.915199 -0.026468 +v 0.414389 0.923651 -0.074587 +v 0.411181 0.974913 -0.039757 +v -0.861804 0.825722 0.063639 +v -0.867764 0.843449 0.124190 +v -0.256611 1.256267 0.045538 +v -0.235069 1.267201 0.109969 +v -0.890862 0.923771 0.105699 +v -0.943804 1.218392 0.179044 +v -0.644570 1.534289 -0.051180 +v 0.077390 1.314750 0.116830 +v 0.059106 1.314093 0.168238 +v -0.740339 1.440689 0.449950 +v -0.525136 0.475779 0.148584 +v -0.502905 0.490989 0.171648 +v -0.508873 0.527279 0.144558 +v 0.084211 1.309099 0.062755 +v -0.765658 1.167404 0.514894 +v -0.738801 1.209164 0.533958 +v -0.726659 1.300558 0.516682 +v -0.744718 1.350747 0.506889 +v -0.148243 0.872889 -0.383171 +v -0.130990 0.907760 -0.366593 +v -0.093570 0.854237 -0.381125 +v -0.399380 1.492285 0.016017 +v -0.369928 1.506393 -0.020372 +v -0.351005 1.520344 -0.001328 +v -0.923319 1.252389 0.091590 +v -0.883992 1.389900 0.106407 +v -0.867947 1.385069 0.045576 +v -0.383364 0.545035 -0.109053 +v -0.386236 0.583033 -0.115057 +v -0.352626 0.552849 -0.105451 +v -0.322579 0.881926 -0.251309 +v -0.367563 0.886634 -0.238688 +v -0.730011 1.182671 0.530346 +v -0.752605 1.493861 0.391760 +v -0.725671 1.475323 0.417141 +v -0.870414 1.305893 0.009116 +v -0.895597 1.285167 0.045458 +v -0.880914 0.877416 0.048490 +v -0.610843 1.338619 -0.072249 +v -0.651561 1.403454 -0.076848 +v -0.615304 1.403763 -0.062734 +v -0.708314 1.225442 0.532749 +v -0.726470 1.409894 0.469767 +v -0.748982 1.145886 0.507765 +v -0.722539 1.153955 0.516703 +v -0.615694 1.708488 -0.616791 +v -0.615176 1.751745 -0.606317 +v -0.609654 1.700211 -0.608394 +v -0.872652 0.921100 0.042059 +v -0.309802 1.663466 -0.162411 +v -0.234558 1.682473 -0.188229 +v -0.285356 1.620848 -0.147860 +v 0.430151 0.976910 0.010258 +v 0.412588 1.036108 0.026761 +v 0.432182 0.994867 0.050153 +v 0.503181 0.527864 -0.034166 +v 0.528542 0.518987 -0.006207 +v 0.514338 0.484852 0.010401 +v -0.340704 1.614897 -0.137869 +v -0.656969 1.456163 -0.189747 +v -0.636167 1.480137 -0.201702 +v -0.628968 1.469478 -0.130986 +v 0.037667 1.124055 0.414947 +v 0.066533 1.167356 0.387164 +v 0.008090 1.163332 0.401676 +v 0.459418 0.481388 -0.038716 +v 0.407514 1.055473 0.075074 +v 0.428790 1.009378 0.094753 +v 0.545499 0.560446 -0.006616 +v -0.531988 1.367290 -0.016580 +v -0.503648 1.371576 0.019526 +v -0.505394 1.333666 -0.010872 +v -0.162731 1.284451 0.166836 +v 0.036232 1.307679 0.211686 +v -0.693685 0.952428 0.421290 +v -0.704569 1.009878 0.397941 +v -0.734402 0.954126 0.402107 +v -0.701128 1.179035 0.527142 +v 0.013773 0.523027 0.531490 +v 0.020657 0.501047 0.522902 +v 0.036285 0.531986 0.534227 +v -0.687008 1.446354 0.430417 +v 0.495757 0.438159 0.145830 +v 0.427191 0.399771 0.089322 +v 0.466933 0.424653 0.065650 +v 0.573065 0.599446 0.018886 +v 0.574217 0.560122 0.040246 +v 0.449602 0.809426 0.006112 +v 0.455112 0.869530 0.038866 +v 0.462527 0.773739 0.069141 +v -0.600678 0.414195 0.229533 +v -0.553528 0.429362 0.191355 +v -0.611257 0.377900 0.197109 +v -0.863964 1.047936 0.059821 +v -0.843142 1.095726 0.037097 +v -0.834897 1.072473 0.007579 +v -0.751150 0.665570 0.102441 +v -0.771684 0.698264 0.050606 +v -0.745304 0.666807 0.046953 +v -0.672320 0.991739 0.415939 +v -0.676910 1.073414 0.380185 +v -0.721420 1.053668 0.375232 +v -0.693824 1.086578 0.375078 +v -0.066211 0.904152 0.568798 +v -0.012439 0.890932 0.565521 +v -0.056222 0.932350 0.558936 +v 0.094076 0.903280 0.542141 +v 0.134144 0.930737 0.514678 +v 0.095105 0.954839 0.509106 +v 0.064598 0.602974 0.547800 +v 0.026645 0.627000 0.565252 +v 0.032514 0.598286 0.554643 +v -0.681451 1.274868 0.501490 +v -0.683693 1.228929 0.524379 +v 0.468345 0.743541 0.101395 +v 0.462809 0.787020 0.147863 +v -0.918220 1.274735 0.364587 +v -0.903369 1.311983 0.381388 +v -0.903770 1.325249 0.310827 +v -0.885859 1.460587 0.098780 +v -0.856097 1.471251 0.065981 +v -0.007816 1.282292 -0.032490 +v 0.043156 1.278256 0.286469 +v -0.649846 1.037155 0.406478 +v -0.647316 1.541007 -0.404648 +v -0.652837 1.559245 -0.498659 +v -0.630699 1.589747 -0.429518 +v 0.003770 0.449358 0.465199 +v -0.006336 0.471931 0.491369 +v -0.070013 0.464165 0.474856 +v 0.073430 1.209819 0.359735 +v 0.060412 1.249436 0.326529 +v 0.034831 1.200263 0.369120 +v -0.497474 1.411252 0.052938 +v -0.480236 1.442665 0.042499 +v -0.484686 1.455961 0.083662 +v -0.942377 1.261542 0.222015 +v -0.498964 1.467086 -0.018614 +v -0.443418 1.511381 -0.056860 +v -0.437557 1.477341 -0.021433 +v 0.447178 0.948027 0.120247 +v 0.451338 0.936307 0.062337 +v 0.459185 0.870362 0.084236 +v -0.141697 1.276789 0.013081 +v -0.882842 0.868691 0.081029 +v 0.123194 1.290377 0.013336 +v -0.149302 0.386435 0.293783 +v -0.181599 0.393223 0.394029 +v -0.208143 0.384010 0.278684 +v 0.080724 0.515741 0.517736 +v 0.092232 0.441251 0.450574 +v 0.059862 0.466891 0.490736 +v 0.049305 0.419827 0.457234 +v 0.607788 0.616466 0.104640 +v 0.598372 0.664232 0.085140 +v 0.600787 0.681293 0.114545 +v 0.552579 0.514163 0.032063 +v -0.644003 1.583440 -0.542563 +v -0.642495 1.604502 -0.570414 +v -0.619459 1.647924 -0.566476 +v -0.682824 0.923768 0.423887 +v -0.679028 0.878172 0.435270 +v -0.655924 0.910424 0.440921 +v 0.168328 1.033749 0.452873 +v 0.206573 1.041683 0.430047 +v 0.150050 1.072690 0.418120 +v 0.035078 0.863395 0.570483 +v 0.047990 0.916548 0.547152 +v 0.078153 0.550507 0.527503 +v 0.051982 0.570180 0.534235 +v -0.676765 1.415032 0.438682 +v -0.656918 1.496182 0.381610 +v 0.442038 0.852043 -0.021170 +v 0.446311 0.841784 0.008267 +v 0.421069 0.815332 -0.066691 +v -0.307713 1.256407 0.165948 +v 0.136776 1.296726 0.069328 +v 0.193204 1.273835 0.112963 +v 0.192627 1.268939 0.055552 +v -0.639398 0.786218 0.420835 +v -0.649922 0.845509 0.441201 +v -0.704912 0.818182 0.406099 +v -0.699373 0.860769 0.421757 +v -0.640280 0.978387 0.425653 +v 0.432644 0.758105 -0.038844 +v 0.456200 0.746844 0.026074 +v -0.004402 0.583434 0.544834 +v -0.008548 0.605935 0.558248 +v -0.043083 0.614186 0.556885 +v 0.096509 1.010878 0.473731 +v 0.051450 1.016390 0.454230 +v 0.071936 0.988595 0.484195 +v 0.041934 0.729152 0.562987 +v 0.076963 0.723756 0.560622 +v 0.055681 0.763971 0.563272 +v -0.249391 1.703113 -0.113297 +v -0.315821 1.664185 -0.057320 +v -0.303514 1.644816 -0.053291 +v -0.046247 0.577596 0.539907 +v -0.043091 0.544675 0.539083 +v -0.243664 1.769327 -0.117196 +v -0.300716 1.725832 -0.063597 +v -0.301344 1.701132 -0.073591 +v -0.514585 0.558782 0.159004 +v -0.544637 0.553575 0.103268 +v -0.452255 1.293546 0.203775 +v -0.465485 1.332077 0.168897 +v -0.477656 1.330197 0.228740 +v -0.837022 1.222638 -0.037301 +v -0.792375 1.205542 -0.056745 +v -0.824716 1.162413 -0.023236 +v -0.624332 0.840353 0.442031 +v -0.626151 0.911269 0.450907 +v -0.590588 1.004126 0.427251 +v 0.433155 0.521455 0.324921 +v 0.437854 0.488037 0.313434 +v 0.477358 0.527510 0.307973 +v -0.194089 1.704110 -0.209948 +v -0.146559 1.745654 -0.259727 +v -0.138955 1.678717 -0.218972 +v -0.014985 0.559255 0.546308 +v -0.620960 1.638832 -0.583859 +v 0.340239 1.135388 0.245953 +v 0.333739 1.122789 0.277881 +v 0.375530 1.068529 0.263035 +v -0.601171 0.955529 0.441838 +v -0.606525 1.046720 0.409064 +v -0.637824 1.103727 0.375798 +v 0.384973 0.480624 0.317375 +v 0.379928 0.497932 0.319020 +v 0.355154 0.504496 0.314398 +v -0.562151 1.413921 -0.028027 +v -0.530434 1.409255 -0.004741 +v -0.894808 1.383998 0.250615 +v -0.907955 1.385523 0.205626 +v -0.902417 1.357599 0.141492 +v -0.205426 1.197952 0.330037 +v 0.254570 0.394839 -0.040251 +v 0.290078 0.373582 -0.002747 +v 0.221929 0.367753 -0.020919 +v -0.621261 0.628454 -0.045202 +v -0.595207 0.610403 -0.023754 +v -0.646442 0.617232 0.002255 +v -0.589222 0.775455 0.429614 +v -0.598672 0.805405 0.432771 +v -0.594986 0.888455 0.451093 +v -0.589974 0.920307 0.453353 +v 0.097163 1.052351 0.436038 +v -0.579817 1.094315 0.379977 +v 0.076406 0.864272 0.561179 +v -0.685439 1.751301 -0.571879 +v -0.660702 1.655782 -0.586441 +v -0.676845 1.653363 -0.554664 +v -0.578619 0.839444 0.441860 +v -0.566237 0.963222 0.436679 +v -0.591959 1.132080 0.362347 +v -0.002426 0.545360 0.546412 +v -0.038450 0.847878 0.571980 +v -0.748528 1.499311 -0.277529 +v -0.745775 1.516404 -0.286480 +v -0.731102 1.484717 -0.287484 +v 0.423130 0.590991 0.308484 +v 0.406359 0.615749 0.298413 +v 0.386863 0.564506 0.311889 +v 0.042516 1.052374 0.425636 +v -0.657666 0.364695 -0.072073 +v -0.684706 0.374777 -0.049557 +v -0.666349 0.404303 -0.050181 +v -0.569310 0.881015 0.446929 +v 0.106297 0.467118 0.464720 +v -0.465496 0.676521 0.396358 +v -0.477145 0.619445 0.367058 +v -0.444894 0.610777 0.395453 +v -0.691037 1.555948 0.016371 +v -0.319517 1.251839 0.194006 +v -0.540881 0.397812 -0.105447 +v -0.623743 0.401461 -0.074040 +v -0.507512 0.431096 -0.100187 +v -0.590000 0.737515 0.411971 +v -0.551114 0.746878 0.419398 +v -0.556237 0.921874 0.450550 +v -0.553090 1.036539 0.415167 +v 0.052930 0.680060 0.556705 +v 0.052848 1.094366 0.416750 +v 0.011760 1.093253 0.426628 +v -0.623456 1.474550 -0.076600 +v -0.619962 1.476148 -0.043257 +v -0.630566 1.434165 -0.074907 +v 0.119783 1.040363 0.453963 +v -0.026844 0.512474 0.531868 +v 0.024095 1.001678 0.469381 +v -0.710482 1.516109 -0.446792 +v -0.696056 1.549076 -0.501886 +v -0.669163 1.227891 -0.089077 +v -0.618976 1.229707 -0.087725 +v -0.552383 0.819994 0.449848 +v -0.549969 1.077420 0.394246 +v -0.001042 0.768819 0.581908 +v -0.020578 0.809983 0.575539 +v -0.059406 0.790382 0.579698 +v 0.605949 0.616772 0.155916 +v 0.607290 0.658066 0.139748 +v 0.600936 0.656934 0.185333 +v -0.528021 0.413199 0.461698 +v -0.571805 0.409188 0.463013 +v -0.364521 1.219987 0.276707 +v -0.307702 1.159731 0.328588 +v -0.650598 1.345210 -0.080900 +v -0.658107 1.435912 -0.125854 +v -0.682146 1.439093 -0.149841 +v -0.548769 0.702823 0.388282 +v -0.540004 0.805684 0.446015 +v -0.536167 0.853468 0.453325 +v -0.549942 0.996408 0.429552 +v -0.542014 1.145173 0.348440 +v 0.456369 0.574026 0.319922 +v 0.407755 0.545575 0.320147 +v 0.214417 0.913550 0.480434 +v 0.206393 0.966025 0.469710 +v 0.169735 0.971066 0.474409 +v -0.527224 0.447228 0.441433 +v 0.372496 0.375099 0.148158 +v 0.356060 0.365266 0.098155 +v -0.551741 0.483839 0.385178 +v -0.597105 0.365358 -0.094949 +v -0.531213 0.779124 0.433349 +v -0.529356 0.909135 0.445689 +v -0.078037 0.501693 0.509887 +v 0.132430 0.967382 0.487502 +v 0.134871 1.007642 0.474543 +v 0.461836 0.619101 0.302234 +v 0.460866 0.664739 0.268090 +v 0.209252 0.863114 0.494331 +v 0.178694 0.908986 0.487130 +v 0.429158 0.667077 0.269947 +v 0.430231 0.637958 0.280392 +v 0.457192 0.694894 0.235494 +v 0.529880 0.477477 0.050420 +v 0.569080 0.515781 0.072538 +v 0.567306 0.505157 0.106271 +v 0.203192 1.004196 0.457605 +v -0.409172 0.461218 -0.179426 +v -0.374202 0.454285 -0.242268 +v -0.421505 0.433440 -0.215087 +v -0.509804 1.348661 0.275850 +v -0.476566 1.307752 0.255236 +v -0.085308 0.601594 0.553090 +v -0.126196 0.616350 0.544241 +v -0.119876 0.574932 0.527524 +v -0.289509 0.392859 0.533091 +v -0.297487 0.365398 0.524933 +v -0.500270 0.813113 0.442642 +v -0.519010 0.954576 0.439377 +v -0.519964 0.997078 0.427166 +v -0.507494 1.092868 0.382976 +v -0.497974 1.134210 0.351179 +v -0.057500 0.654890 0.561734 +v -0.001129 0.692882 0.565798 +v -0.050025 0.696550 0.568925 +v 0.201313 1.073278 0.403239 +v 0.196592 1.123622 0.375453 +v 0.151372 1.157149 0.370320 +v 0.392187 1.066925 0.204502 +v 0.371765 1.106440 0.188113 +v -0.507457 0.761484 0.431376 +v -0.514957 1.049674 0.403472 +v 0.027381 0.791057 0.567192 +v 0.089404 1.071064 0.412434 +v -0.526556 0.484942 0.387312 +v -0.491866 0.464112 0.411700 +v -0.497544 0.497383 0.370371 +v -0.490008 0.862217 0.453521 +v -0.503722 0.888447 0.451880 +v -0.488090 0.910839 0.444567 +v 0.129813 1.136637 0.383030 +v -0.001225 0.932011 0.553984 +v -0.021452 1.114329 0.424366 +v -0.618959 1.542425 -0.190186 +v -0.621651 1.566685 -0.178377 +v -0.622785 1.516660 -0.146727 +v -0.499603 0.431019 0.444627 +v 0.591199 0.631288 0.215618 +v -0.677514 1.460521 -0.233333 +v -0.688669 1.472334 -0.287398 +v -0.664679 1.487154 -0.315793 +v -0.491873 1.045201 0.403014 +v 0.466612 0.547192 0.319768 +v -0.773827 1.534660 0.308950 +v -0.752693 1.523295 0.343741 +v -0.539930 1.449866 -0.011093 +v -0.502714 1.433656 0.015153 +v -0.725397 0.353993 0.070299 +v -0.720160 0.375727 0.039789 +v -0.714981 0.344530 0.042027 +v -0.486180 0.964527 0.441831 +v -0.475904 1.008118 0.423492 +v 0.348384 0.431534 0.289543 +v 0.324340 0.453340 0.303168 +v -0.029935 0.721864 0.581672 +v -0.063735 0.721843 0.579730 +v -0.035439 0.426598 0.475415 +v -0.065174 0.450362 0.475028 +v -0.149812 0.425714 0.514045 +v -0.473789 0.484567 0.391268 +v -0.466862 0.545707 0.375874 +v -0.503993 0.518313 0.340374 +v -0.474018 0.755503 0.426302 +v -0.494959 0.734363 0.416736 +v -0.474969 1.063566 0.401657 +v -0.459667 1.090514 0.387541 +v -0.661781 1.421835 -0.093766 +v -0.637554 1.442888 -0.113957 +v -0.440717 0.510582 0.389778 +v -0.453765 0.823835 0.432821 +v -0.456811 0.849880 0.441595 +v -0.445146 0.948604 0.429725 +v -0.454116 0.910021 0.432528 +v -0.914905 1.454318 0.222772 +v -0.908501 1.462561 0.148091 +v -0.917576 1.433459 0.177907 +v 0.091007 0.484745 0.493532 +v -0.437200 1.682274 0.023425 +v -0.445904 0.437980 0.426855 +v -0.444341 0.876545 0.434776 +v -0.458516 1.207298 0.276651 +v -0.490201 1.177129 0.315814 +v -0.110968 1.820232 -0.280424 +v -0.102445 1.789583 -0.295388 +v -0.121720 1.812510 -0.290611 +v 0.000268 1.044673 0.437759 +v -0.674477 1.550768 -0.515942 +v -0.667137 1.535882 -0.490971 +v -0.466535 1.591782 0.078019 +v -0.902057 1.494777 0.130351 +v -0.875112 1.506150 0.101525 +v -0.436865 0.471545 0.402863 +v -0.685042 1.673202 -0.239595 +v 0.338645 0.786567 -0.176325 +v 0.307306 0.819690 -0.200404 +v 0.337484 0.836441 -0.186304 +v -0.449895 0.715773 0.419293 +v -0.450556 0.787963 0.423413 +v -0.439909 0.994255 0.423834 +v -0.442432 1.043172 0.413400 +v -0.429144 1.183599 0.306451 +v -0.198189 1.650949 -0.176090 +v -0.157232 1.631234 -0.163965 +v -0.314496 1.546046 -0.076802 +v -0.282188 1.575814 -0.109995 +v -0.242656 1.568769 -0.078509 +v -0.453013 1.569506 0.072037 +v -0.437239 1.619137 0.057714 +v -0.427402 0.769953 0.428041 +v -0.414912 1.122477 0.358735 +v -0.403421 1.166955 0.324602 +v -0.494226 1.428352 0.089729 +v -0.511083 1.452022 0.142795 +v 0.528019 0.465399 0.104277 +v 0.485100 0.617808 0.303473 +v -0.419793 0.696300 0.418249 +v -0.419961 0.810837 0.424562 +v -0.423245 1.073728 0.394565 +v -0.642308 1.487781 -0.258997 +v 0.069545 0.647001 0.555992 +v 0.002537 0.657412 0.565693 +v -0.415037 1.674851 0.032766 +v -0.501687 0.534623 0.162554 +v -0.418791 0.561644 0.397967 +v -0.420564 0.867115 0.425346 +v -0.414608 0.985448 0.417786 +v -0.922809 1.276205 0.297517 +v -0.624254 1.636664 -0.496673 +v -0.009496 1.014111 0.442901 +v -0.412449 0.430989 0.421296 +v -0.389799 0.579963 0.401514 +v -0.391856 0.630745 0.413829 +v -0.395176 0.781278 0.429186 +v -0.619544 1.686532 -0.526211 +v -0.628326 0.451827 0.346229 +v -0.594144 0.472780 0.341724 +v -0.038982 1.056617 0.440472 +v -0.093936 1.074281 0.434546 +v -0.078047 1.051662 0.438255 +v -0.389338 0.463643 0.403648 +v -0.381441 0.505996 0.393022 +v -0.383409 0.688438 0.418465 +v -0.393579 0.836314 0.435024 +v -0.394303 0.895976 0.431779 +v -0.397382 1.021536 0.405744 +v -0.486636 1.363852 0.068064 +v -0.484343 1.375497 0.132450 +v -0.089830 1.692645 -0.226835 +v -0.104828 1.666829 -0.217461 +v -0.097846 1.692849 -0.247566 +v -0.313581 1.536220 -0.046739 +v -0.294602 1.555026 -0.011914 +v -0.366584 0.750873 0.420070 +v -0.362989 0.956956 0.435803 +v -0.389789 1.068304 0.382477 +v -0.354537 1.124477 0.350554 +v -0.380502 1.152707 0.331786 +v -0.363093 1.187694 0.306740 +v -0.406522 1.226651 0.262903 +v -0.853298 1.533991 0.203783 +v -0.868249 1.528078 0.155215 +v -0.888754 1.516944 0.200866 +v -0.408023 1.643606 0.037449 +v -0.378573 1.701010 0.014236 +v -0.372779 1.728907 -0.008662 +v -0.031959 1.191252 0.383496 +v 0.000309 1.231575 0.347497 +v -0.064292 1.220109 0.357409 +v -0.391797 0.424067 0.414761 +v 0.595580 0.630993 0.059471 +v 0.595316 0.605046 0.058397 +v -0.369962 1.689930 0.013257 +v -0.352183 0.685598 0.413815 +v -0.365055 0.811523 0.431623 +v -0.367449 0.860837 0.436129 +v -0.367449 0.888869 0.433121 +v -0.356422 0.926174 0.442385 +v -0.359315 0.998099 0.423358 +v -0.362256 1.063424 0.386449 +v 0.000219 0.734960 0.576967 +v 0.414140 1.028422 0.165789 +v 0.435477 0.973894 0.173147 +v 0.199681 0.348440 -0.018985 +v 0.204148 0.355676 -0.037807 +v -0.361513 0.465051 0.407409 +v -0.343032 0.505201 0.382860 +v -0.343858 0.540960 0.380603 +v -0.344487 0.607805 0.395440 +v -0.330642 0.766548 0.412779 +v -0.321612 1.089650 0.381027 +v 0.098020 1.100399 0.399454 +v 0.083873 1.133622 0.397926 +v -0.032479 0.757107 0.587147 +v -0.366472 1.664013 -0.002816 +v -0.350226 0.828882 0.429128 +v -0.330585 0.861855 0.425604 +v -0.332389 0.885736 0.436971 +v -0.335821 1.038391 0.407380 +v -0.343932 1.723669 -0.009821 +v -0.291773 1.761996 -0.056241 +v -0.533230 1.527352 0.162139 +v -0.553690 1.544248 0.161607 +v -0.326899 0.677297 0.401244 +v -0.332443 0.822666 0.418522 +v -0.088692 0.954003 0.544460 +v -0.058623 0.973502 0.527437 +v -0.318350 0.907230 0.441735 +v -0.074442 1.169342 0.392839 +v -0.075520 1.118381 0.420397 +v -0.306148 0.544126 0.366943 +v -0.302725 0.624747 0.379822 +v -0.292417 0.942904 0.448212 +v -0.308676 0.969147 0.446514 +v -0.720836 1.496555 -0.392658 +v -0.723030 1.518670 -0.415443 +v -0.929073 1.230702 0.365232 +v -0.308006 0.800684 0.417981 +v -0.291512 1.019737 0.426331 +v 0.523273 0.643271 0.282819 +v 0.504000 0.672925 0.268515 +v 0.216211 0.376572 -0.047022 +v -0.292454 0.695515 0.393690 +v -0.292556 0.751692 0.411864 +v -0.299820 0.854023 0.437451 +v -0.292419 0.904534 0.442366 +v -0.283421 0.977827 0.437613 +v 0.455982 0.881517 0.131241 +v 0.446356 0.927943 0.178321 +v 0.342581 0.519308 0.327579 +v -0.068964 0.844329 0.571686 +v -0.325972 1.749873 -0.025953 +v -0.299962 1.781114 -0.052358 +v -0.275385 0.799648 0.476972 +v -0.273959 0.841083 0.487457 +v 0.577446 0.641584 0.026278 +v 0.583731 0.680676 0.057248 +v 0.107746 1.307916 0.143418 +v -0.280014 0.610754 0.374712 +v -0.280542 0.545510 0.367869 +v 0.401948 1.023160 -0.020048 +v 0.374187 1.085082 0.003397 +v 0.109155 1.263363 0.298570 +v 0.101452 1.222168 0.347190 +v 0.463517 0.740795 0.183543 +v 0.455420 0.833384 0.197009 +v -0.647969 1.521062 -0.361855 +v -0.632749 1.524573 -0.322217 +v -0.277200 0.505021 0.433407 +v -0.298429 0.467823 0.477469 +v -0.264689 0.478164 0.493226 +v -0.270463 0.670144 0.396722 +v -0.256226 0.987134 0.442109 +v -0.249016 1.121114 0.375603 +v -0.258693 1.042670 0.422076 +v -0.004658 1.198366 -0.136106 +v 0.008482 1.167002 -0.173371 +v -0.018733 1.159391 -0.171694 +v 0.012556 0.838456 0.574464 +v -0.685354 1.392937 -0.078046 +v -0.622631 1.521993 -0.225789 +v -0.258671 0.566892 0.391822 +v -0.253532 0.625672 0.406422 +v -0.240789 0.679067 0.451784 +v -0.926543 1.208402 0.416297 +v -0.931898 1.201992 0.379137 +v -0.922408 1.181684 0.412017 +v 0.363850 0.569965 0.336015 +v -0.265614 0.932895 0.449754 +v -0.211268 1.093229 0.407153 +v -0.249298 1.159277 0.340947 +v -0.227493 0.498839 0.466055 +v -0.555305 1.490553 -0.019602 +v -0.500767 1.499765 -0.036419 +v 0.497601 0.702352 0.237320 +v 0.086784 1.289457 0.261569 +v 0.157997 1.290142 0.132369 +v -0.243799 0.958664 0.444345 +v -0.224919 0.465136 0.518853 +v -0.229494 0.510206 0.439265 +v -0.247876 0.526062 0.408398 +v -0.639539 1.469473 0.384842 +v -0.228702 1.028473 0.435448 +v -0.184713 1.596772 -0.111695 +v -0.142225 1.616743 -0.133490 +v -0.243646 1.809684 -0.098312 +v -0.264679 1.810425 -0.080811 +v -0.241069 1.838089 -0.115447 +v -0.261775 0.424989 0.533152 +v -0.218670 0.440229 0.532438 +v -0.223658 0.480736 0.501265 +v -0.155133 1.043613 0.429194 +v -0.151196 0.999300 0.445003 +v -0.115997 1.010781 0.441917 +v -0.881303 0.975405 0.056788 +v -0.352071 1.250522 0.216357 +v -0.183831 1.854366 -0.171363 +v -0.152107 1.846364 -0.220572 +v -0.172707 1.869960 -0.199775 +v -0.223620 0.982076 0.447660 +v 0.112121 0.665841 0.539822 +v -0.670703 1.807268 -0.566186 +v -0.523127 0.510853 0.244857 +v -0.521306 0.563030 0.266725 +v -0.509161 0.538136 0.197531 +v -0.208817 1.140953 0.378730 +v -0.602536 1.433910 -0.037906 +v 0.167710 0.886447 0.505230 +v 0.180453 0.836232 0.512859 +v -0.198758 0.516077 0.461420 +v -0.215889 0.568369 0.454671 +v -0.384934 0.728399 -0.175022 +v -0.352630 0.710677 -0.180118 +v -0.353857 0.668174 -0.154348 +v 0.163292 1.225189 0.313754 +v 0.138138 1.232219 0.325026 +v 0.165740 1.189015 0.350423 +v -0.202182 1.021439 0.437012 +v 0.508013 0.573081 0.300014 +v 0.504123 0.603126 0.302451 +v -0.175335 0.479642 0.488296 +v -0.913098 1.484859 0.162701 +v -0.910037 1.488572 0.215071 +v -0.900121 1.508334 0.157528 +v 0.167152 1.268985 0.002233 +v -0.529987 0.491690 0.339676 +v -0.572765 0.472996 0.298900 +v -0.448429 1.462939 0.017115 +v -0.180579 1.050392 0.428028 +v -0.369318 0.371074 -0.297142 +v -0.405419 0.388860 -0.273649 +v -0.339573 0.410251 -0.296602 +v 0.101139 0.764681 0.552568 +v 0.081848 0.807562 0.553745 +v -0.155101 0.452831 0.506530 +v -0.180021 0.499178 0.469480 +v -0.169113 0.518435 0.484593 +v -0.290472 1.255634 0.077618 +v 0.095078 1.304186 0.207150 +v -0.704132 1.412920 -0.084591 +v -0.224137 0.832835 0.555907 +v -0.205806 0.795725 0.560139 +v -0.191353 0.834748 0.572174 +v -0.073157 0.739196 0.579717 +v 0.157606 0.932036 0.499393 +v -0.166833 0.872667 0.567412 +v -0.200222 0.880321 0.555894 +v -0.188705 0.989732 0.444893 +v -0.166926 1.156855 0.378532 +v 0.296650 0.715068 -0.212823 +v 0.263218 0.702407 -0.238787 +v 0.254729 0.740945 -0.249385 +v 0.061508 0.834062 0.564635 +v -0.422335 1.721157 -0.041800 +v -0.177955 0.774862 0.560873 +v -0.169932 0.825558 0.575239 +v -0.162492 0.542921 0.503069 +v -0.183400 0.574900 0.497630 +v -0.174206 0.696595 0.540895 +v -0.152422 0.709099 0.550048 +v -0.152411 0.918217 0.558173 +v -0.193214 0.921239 0.538207 +v 0.139064 1.279084 0.251103 +v -0.115586 0.338954 -0.210543 +v -0.133711 0.343616 -0.190237 +v -0.236715 0.336310 -0.232178 +v -0.151800 1.080775 0.423504 +v -0.139916 1.196257 0.362516 +v -0.133734 0.478924 0.478839 +v -0.157159 0.608230 0.523655 +v -0.143547 0.544282 0.507103 +v -0.147460 0.655839 0.537309 +v -0.145578 0.765822 0.564933 +v -0.152456 0.829408 0.569346 +v -0.136261 0.897879 0.566744 +v -0.143940 0.945876 0.539935 +v -0.831594 1.467428 0.030758 +v -0.827325 1.419686 0.012529 +v 0.132262 1.295807 0.196896 +v -0.129534 1.159358 0.389202 +v -0.123952 1.226473 0.335883 +v 0.487491 0.452650 0.023024 +v 0.433421 0.716761 -0.022304 +v -0.137749 0.708879 0.546956 +v -0.124060 0.852226 0.572678 +v -0.121935 0.494703 0.494845 +v -0.118660 0.731837 0.562501 +v -0.113787 0.798771 0.576989 +v -0.128198 1.045710 0.434657 +v -0.116086 1.098371 0.424753 +v 0.247661 1.108111 0.367284 +v -0.104465 0.536860 0.519586 +v -0.102829 0.689263 0.552896 +v -0.099440 0.763431 0.573886 +v -0.112138 0.923664 0.561053 +v -0.108726 0.888268 0.566655 +v 0.446930 0.926886 0.022467 +v -0.076323 1.030453 0.437107 +v -0.381178 0.763901 -0.186443 +v -0.565603 0.483555 0.366071 +v -0.113879 0.647424 0.549180 +v -0.084981 0.839905 0.576052 +v -0.075347 1.002130 0.474887 +v -0.158628 0.970216 0.501394 +v -0.062546 1.012165 0.443220 +v -0.881946 1.031463 0.175090 +v 0.150482 0.457558 0.437939 +v 0.147443 0.427169 0.445103 +v 0.109362 0.860273 0.547327 +v -0.206167 1.823759 -0.142991 +v -0.460763 1.681972 0.007375 +v 0.301687 1.004869 0.394047 +v 0.261109 1.008899 0.417333 +v 0.288147 0.967127 0.422577 +v -0.313557 1.580989 0.019129 +v -0.253736 1.584001 -0.014801 +v -0.262918 1.596338 -0.005184 +v 0.104060 0.591624 0.524844 +v 0.099912 0.627353 0.540093 +v -0.153064 0.352464 0.501338 +v -0.094780 0.359776 0.494342 +v -0.177275 0.362895 0.522223 +v 0.244117 0.980169 0.446874 +v 0.237801 0.952229 0.463473 +v 0.547150 0.646972 0.269797 +v 0.539440 0.613915 0.282685 +v 0.171768 0.730662 0.518266 +v 0.181098 0.758066 0.524883 +v 0.140743 0.766517 0.542214 +v 0.544516 0.583429 0.276530 +v 0.399069 0.643613 0.316867 +v 0.375192 0.610627 0.343660 +v 0.437662 0.883900 -0.035709 +v -0.394947 0.375516 0.428709 +v -0.433237 0.362864 0.440424 +v 0.568206 0.636911 0.252861 +v 0.518237 0.532767 0.279270 +v -0.391610 1.571888 -0.105805 +v -0.336196 1.569147 -0.110248 +v 0.140552 0.525239 0.485939 +v 0.194212 0.513213 0.447989 +v 0.192046 0.551665 0.477222 +v 0.266373 0.476071 -0.164277 +v 0.245671 0.441301 -0.108208 +v 0.220401 0.449925 -0.175285 +v 0.270207 0.613457 -0.222921 +v 0.309404 0.605181 -0.181327 +v 0.306628 0.573004 -0.165184 +v -0.233436 1.610345 -0.031862 +v -0.292649 1.614042 -0.021039 +v 0.145215 0.613829 0.505009 +v 0.165683 0.662699 0.510099 +v 0.129196 0.642036 0.524412 +v -0.504927 1.415990 0.162918 +v -0.476728 0.361167 -0.133012 +v -0.711354 1.381765 0.478540 +v 0.149048 0.563504 0.495228 +v 0.117454 0.566783 0.519141 +v -0.493499 1.491352 0.112741 +v -0.235743 0.370369 0.541448 +v -0.269407 0.361840 0.533519 +v -0.229340 0.356329 0.528655 +v -0.697606 1.344285 0.482652 +v 0.335255 1.096621 -0.069895 +v 0.379551 1.048871 -0.032032 +v 0.366959 1.037284 -0.079621 +v -0.662994 1.233712 0.506159 +v -0.576354 0.504255 0.046108 +v -0.560675 0.534706 0.073718 +v -0.570694 0.544244 0.023396 +v 0.201531 1.184972 0.342713 +v 0.341264 0.970540 0.375904 +v 0.292500 1.065193 0.365903 +v 0.287344 1.036005 0.380353 +v 0.177748 0.582438 0.488647 +v -0.370771 1.598637 0.016097 +v -0.688765 1.102217 0.390046 +v -0.238543 1.616453 -0.145042 +v 0.559573 0.531474 0.231977 +v 0.517038 0.488574 0.241480 +v -0.786095 0.696569 0.118108 +v -0.668172 1.195152 0.514902 +v -0.667024 1.321060 0.454810 +v -0.352032 1.649355 -0.026810 +v -0.653983 1.175195 0.487356 +v -0.680900 1.164705 0.511512 +v -0.675044 1.142409 0.480361 +v -0.328000 1.594870 0.021963 +v -0.642050 1.224389 0.480084 +v 0.448725 0.755167 0.231553 +v 0.451370 0.446254 0.255165 +v 0.490157 0.445736 0.206595 +v -0.629906 1.199946 0.452356 +v -0.643482 1.262809 0.466502 +v 0.576794 0.613930 0.242018 +v 0.566718 0.569708 0.242919 +v 0.381029 0.656784 0.351325 +v 0.359718 0.666696 0.377814 +v 0.353418 0.616300 0.376060 +v 0.387855 0.949543 0.325202 +v 0.392915 1.012597 0.275505 +v 0.367584 0.991955 0.328377 +v -0.364250 0.936307 -0.235346 +v -0.392279 0.991846 -0.219127 +v -0.655999 1.132950 0.423187 +v -0.690872 1.120501 0.453201 +v -0.636028 1.157145 0.425723 +v -0.654245 1.401128 0.413090 +v 0.592385 0.563628 0.094531 +v 0.564127 0.676599 0.239693 +v 0.384462 0.756494 0.350507 +v 0.369751 0.798765 0.371984 +v 0.354720 0.730767 0.384823 +v 0.287793 0.825532 0.445274 +v 0.284233 0.880111 0.442342 +v 0.258729 0.884823 0.466553 +v 0.545372 0.687967 0.245177 +v -0.633666 1.303707 0.416700 +v 0.231839 0.586544 0.458711 +v 0.246721 0.636945 0.452046 +v 0.219024 0.608760 0.472824 +v 0.361438 0.844392 0.379369 +v 0.384136 0.874899 0.351859 +v 0.344046 0.869328 0.405743 +v -0.615112 1.237356 0.430627 +v -0.217911 1.065804 -0.223270 +v -0.169534 1.066926 -0.220030 +v -0.199876 1.027831 -0.233929 +v 0.178974 0.795165 0.527595 +v -0.128937 1.787904 -0.226247 +v -0.110919 1.799208 -0.259964 +v -0.642874 1.346362 0.399457 +v 0.125345 0.895939 0.533946 +v 0.201270 0.638513 0.479197 +v 0.480748 0.489700 0.281655 +v -0.197117 1.682914 -0.130209 +v -0.114474 1.713106 -0.196030 +v -0.158154 1.750494 -0.186541 +v -0.637129 1.127425 0.380068 +v 0.422099 0.788615 0.291872 +v -0.627631 1.377801 0.366786 +v -0.388647 1.033399 -0.206414 +v -0.332023 1.057832 -0.206476 +v 0.398997 0.702948 0.327200 +v 0.269968 0.513178 0.387521 +v 0.312863 0.528638 0.369136 +v 0.289526 0.561252 0.403890 +v 0.194873 0.408093 0.426411 +v 0.216914 0.401615 0.408465 +v 0.226252 0.436217 0.409046 +v 0.258218 0.463266 0.382772 +v 0.189280 0.442496 0.430098 +v 0.216327 0.481273 0.406944 +v 0.272687 0.445478 0.361525 +v 0.245624 0.483696 -0.196728 +v -0.610960 1.170165 0.396540 +v -0.593754 1.199824 0.405483 +v -0.599371 1.272619 0.407713 +v -0.611289 1.317833 0.389159 +v -0.621456 1.359977 0.367010 +v -0.624419 1.408478 0.369659 +v 0.242862 0.549586 0.430869 +v -0.612957 1.451999 0.371379 +v -0.379877 1.075145 -0.199757 +v -0.573353 1.234010 0.402315 +v -0.564643 0.376831 0.468196 +v -0.509647 0.383123 0.462861 +v -0.329774 0.663652 -0.183855 +v 0.195371 0.600038 0.485761 +v -0.162575 1.603125 -0.096926 +v -0.212169 1.588794 -0.046923 +v -0.215921 1.576344 -0.068623 +v -0.132534 1.662715 -0.141203 +v -0.109868 1.662120 -0.160475 +v -0.677506 1.573483 -0.539821 +v -0.655095 1.585733 -0.556002 +v -0.570314 1.156201 0.364949 +v -0.228765 1.739281 -0.134311 +v -0.179690 1.807803 -0.181034 +v 0.167434 0.484390 0.436786 +v 0.234693 1.165626 0.335373 +v -0.569165 1.262351 0.394266 +v -0.582595 1.409949 0.324407 +v -0.600104 1.428446 0.354497 +v -0.591297 1.503971 0.344896 +v -0.416653 1.499614 0.045405 +v -0.165309 1.632500 -0.092475 +v -0.226016 1.625045 -0.060717 +v -0.178916 1.611380 -0.067072 +v -0.558599 1.177431 0.372535 +v -0.547258 1.207126 0.374515 +v -0.555169 1.295607 0.365985 +v -0.582031 1.327097 0.369187 +v -0.560328 1.373108 0.319706 +v -0.582986 1.388550 0.329375 +v -0.586033 1.463724 0.338088 +v 0.563052 0.677699 0.026525 +v -0.392694 1.520523 -0.066204 +v -0.541726 1.233792 0.375765 +v -0.501266 0.709331 0.394810 +v -0.452091 0.388391 0.445038 +v -0.265809 1.556769 -0.041963 +v -0.199263 1.648974 -0.099900 +v -0.521662 1.501366 0.174488 +v 0.185966 0.352939 -0.086782 +v 0.241087 0.844926 0.482923 +v 0.252716 0.787249 0.480266 +v 0.132347 0.384531 0.445015 +v -0.532167 1.322198 0.329784 +v -0.568023 1.451467 0.317403 +v -0.457543 0.352070 0.435181 +v -0.544037 0.350073 0.448746 +v -0.534258 0.345600 0.427824 +v 0.218860 0.539276 0.451025 +v -0.513169 0.482707 -0.079310 +v -0.463852 0.474909 -0.100860 +v -0.519416 1.256599 0.345879 +v -0.560701 1.500071 0.298677 +v -0.495795 0.360965 0.459554 +v 0.144240 0.800855 0.537556 +v 0.288105 0.433523 0.321577 +v 0.330446 1.076625 0.319162 +v 0.290631 1.114960 0.338058 +v 0.362944 0.712207 0.371146 +v 0.333639 0.670548 0.397295 +v 0.209919 0.693354 0.490036 +v 0.226875 0.751492 0.493125 +v 0.233868 0.700760 0.470126 +v -0.522773 1.177508 0.337695 +v -0.547315 1.426723 0.289805 +v 0.428311 0.855560 0.278738 +v -0.711690 1.474016 -0.275909 +v -0.717236 1.461744 -0.215678 +v 0.217409 0.802506 0.504254 +v -0.496658 1.206380 0.321633 +v -0.549107 1.466231 0.284390 +v -0.345080 1.544747 0.016505 +v 0.300517 0.621696 0.415458 +v 0.293629 0.665098 0.422894 +v -0.220478 1.834859 -0.120950 +v -0.511036 0.730720 -0.162430 +v 0.329786 0.735007 0.404865 +v 0.297417 0.706471 0.416539 +v 0.373268 0.402095 -0.008585 +v 0.437796 0.445307 -0.012622 +v 0.432934 0.418641 0.020634 +v -0.601458 0.412020 0.442938 +v -0.530782 1.375469 0.282665 +v -0.097015 1.673886 -0.193602 +v -0.111837 1.645000 -0.161517 +v 0.324116 0.937361 0.408903 +v 0.391084 1.082907 0.131423 +v 0.330404 0.617738 0.397814 +v -0.185276 1.765320 -0.170435 +v -0.290096 0.512653 -0.221758 +v -0.255283 0.514727 -0.268847 +v -0.260495 0.476925 -0.261495 +v -0.495368 1.249134 0.317785 +v -0.495078 1.294950 0.302593 +v 0.131891 0.842112 0.530658 +v 0.289824 0.740885 0.434473 +v 0.288271 0.921334 0.439201 +v 0.308850 0.789995 0.433888 +v 0.259036 0.755360 0.464167 +v 0.335738 0.585153 0.383110 +v 0.327565 0.889691 0.422155 +v 0.304450 0.849596 0.430111 +v -0.538318 1.498169 0.250666 +v -0.911888 1.158889 0.247056 +v -0.469888 1.260080 0.269855 +v 0.238558 1.061662 0.393781 +v 0.270139 0.599528 0.434544 +v -0.910443 1.419986 0.217297 +v -0.909497 1.389537 0.173712 +v 0.261087 0.680076 0.439027 +v 0.256585 0.705504 0.445399 +v -0.478435 1.221506 0.288332 +v -0.017343 0.394768 0.472629 +v 0.236780 0.514744 0.410533 +v 0.254642 0.540297 -0.216910 +v 0.290630 0.552106 -0.180421 +v 0.267755 0.514235 -0.202341 +v -0.570941 0.459965 0.268653 +v -0.624641 0.437220 0.284933 +v -0.386705 1.607020 -0.123577 +v 0.410654 0.904607 0.298886 +v -0.735044 0.938833 -0.147517 +v -0.756432 0.994404 -0.119276 +v -0.725986 0.977627 -0.144345 +v 0.237531 0.346707 0.039885 +v 0.290866 0.358000 0.035631 +v 0.352517 0.908368 0.391839 +v 0.581774 0.528213 0.151824 +v 0.597981 0.568402 0.133427 +v 0.330301 0.837816 0.416369 +v -0.372925 1.644906 -0.136270 +v -0.335409 0.363426 0.490900 +v -0.351460 0.385859 0.477327 +v -0.368986 0.359246 0.447942 +v -0.866747 0.826650 0.151744 +v 0.421561 0.697176 0.283182 +v 0.048689 0.379624 0.458676 +v -0.578226 0.695380 -0.144165 +v -0.516735 0.668507 -0.121203 +v -0.517042 0.376204 -0.117634 +v -0.470801 0.407007 -0.118698 +v -0.708877 1.440462 -0.149085 +v 0.485127 0.717982 0.060005 +v 0.396048 0.449395 0.299924 +v -0.225421 0.406158 0.539860 +v -0.256474 0.388607 0.541614 +v 0.422966 0.454358 0.290409 +v 0.196360 0.382340 -0.125077 +v 0.219775 0.428553 -0.145362 +v 0.216970 0.404273 -0.094629 +v -0.860615 0.799311 0.144408 +v -0.132203 1.839719 -0.275194 +v -0.137085 1.849115 -0.255495 +v 0.118070 0.709210 0.542405 +v -0.639385 1.526270 0.344811 +v 0.590921 0.579570 0.202701 +v 0.565202 0.511799 0.199406 +v 0.588260 0.555038 0.186479 +v 0.571803 0.711077 0.080308 +v 0.564552 0.699515 0.049192 +v 0.537352 0.720273 0.068010 +v 0.565249 0.501257 0.155645 +v 0.583746 0.711864 0.130728 +v 0.598867 0.685130 0.161716 +v -0.637311 1.657704 -0.601036 +v -0.623592 1.754483 -0.614860 +v -0.630212 1.781095 -0.603935 +v -0.176180 0.389112 0.524034 +v -0.167175 0.336116 -0.246254 +v -0.782173 1.687397 -0.335642 +v -0.754295 1.709560 -0.328799 +v -0.208911 1.859534 -0.150373 +v 0.312988 0.759074 0.426991 +v -0.460949 1.529685 0.090030 +v -0.333598 1.698640 -0.154490 +v -0.245399 1.800586 -0.187269 +v -0.271135 1.733216 -0.185389 +v -0.802943 0.717024 0.159953 +v -0.448823 1.505296 0.076452 +v -0.614070 1.726882 -0.582657 +v -0.625417 1.767946 -0.578218 +v -0.625142 1.721312 -0.527881 +v 0.249756 0.426446 -0.070170 +v -0.288615 0.353967 0.173500 +v -0.348346 0.347214 0.345782 +v -0.298032 0.342870 0.163531 +v -0.316939 1.026127 -0.223523 +v 0.217473 1.211846 0.308788 +v 0.190679 1.214492 0.319685 +v 0.152633 0.715719 0.527174 +v -0.627445 1.639753 -0.593983 +v -0.882062 0.944857 0.237440 +v -0.887605 0.970374 0.210791 +v -0.888264 0.904833 0.212047 +v -0.308930 0.474090 -0.249540 +v 0.444501 0.818469 0.245529 +v 0.408248 0.951702 0.286579 +v -0.737957 1.089563 0.392173 +v 0.451614 0.710304 0.225307 +v -0.455699 1.466361 0.056514 +v -0.418041 1.558208 0.064548 +v -0.427642 1.572749 0.052016 +v -0.441112 0.928840 -0.223732 +v -0.510791 0.938928 -0.217617 +v -0.511396 0.966176 -0.220951 +v -0.114404 0.376408 0.502757 +v -0.104240 0.384886 0.062293 +v -0.165564 0.382865 0.102158 +v -0.142517 0.386480 -0.043030 +v -0.523690 1.468291 0.189347 +v -0.315358 0.447404 -0.280794 +v 0.383359 0.388308 0.030938 +v -0.073775 0.389884 0.489295 +v -0.416014 1.597800 0.035375 +v 0.407215 0.784755 -0.082130 +v -0.377768 1.555195 0.043701 +v -0.835609 1.525594 0.076807 +v -0.788761 1.534701 0.039876 +v -0.832120 1.507213 0.042129 +v 0.414774 0.855094 -0.091575 +v -0.713953 1.246885 -0.085944 +v -0.367521 1.580207 0.041862 +v -0.092489 1.772585 -0.282702 +v -0.095837 1.742610 -0.283907 +v -0.378854 1.619972 0.002469 +v -0.610805 1.683377 -0.591920 +v -0.283987 1.807065 -0.078469 +v -0.728232 1.451060 -0.156547 +v -0.349983 0.523316 -0.103474 +v -0.434653 1.245115 0.225189 +v -0.760033 1.636134 -0.180211 +v -0.769039 1.670803 -0.269313 +v -0.774095 1.626052 -0.207546 +v -0.134690 1.629936 -0.120000 +v -0.407506 0.492851 -0.112862 +v -0.154515 1.859760 -0.247958 +v -0.880896 1.113548 0.185162 +v -0.467556 1.328429 0.081213 +v -0.515957 0.844221 -0.216009 +v -0.526758 0.882207 -0.218863 +v -0.489848 0.907318 -0.218172 +v -0.878293 1.435146 0.357077 +v -0.894082 1.435282 0.309248 +v -0.891103 1.385139 0.376588 +v -0.637571 1.591218 -0.501557 +v -0.869911 0.864447 0.224210 +v -0.893851 0.990240 0.175218 +v -0.623726 1.531304 -0.289971 +v -0.620593 1.569781 -0.337846 +v -0.615914 1.568157 -0.259456 +v -0.617687 1.606796 -0.340463 +v -0.618797 1.600045 -0.258062 +v -0.920196 1.161153 0.358427 +v -0.603184 0.384430 0.452460 +v -0.629283 0.390617 0.427077 +v -0.620019 0.364350 0.439189 +v -0.852366 1.107736 0.245377 +v -0.861615 1.083859 0.182449 +v -0.601135 0.355504 0.449076 +v -0.178705 0.382039 0.202432 +v -0.257981 0.378650 0.199815 +v -0.852702 1.055177 0.232910 +v -0.841234 1.083205 0.247310 +v -0.935758 1.247463 0.262133 +v -0.926014 1.301865 0.251836 +v -0.432268 0.462636 -0.117717 +v -0.912820 1.331190 0.246887 +v -0.623119 1.637111 -0.406240 +v -0.893132 1.365301 0.304588 +v 0.558590 0.629102 0.006904 +v -0.926747 1.170195 0.118895 +v 0.242519 0.564575 -0.242548 +v 0.350477 0.409739 0.269704 +v 0.289484 0.391600 0.272348 +v 0.335841 0.383039 0.229287 +v -0.336564 0.343441 0.369141 +v -0.419132 0.344677 0.332000 +v 0.301453 0.862840 -0.204081 +v 0.353588 0.874389 -0.171090 +v -0.092296 1.731446 -0.241976 +v -0.086960 1.729159 -0.267087 +v -0.930398 1.202642 0.112168 +v -0.922377 1.248852 0.407866 +v -0.897713 1.290486 0.430230 +v -0.544734 0.459375 0.236126 +v -0.628296 1.518948 -0.092373 +v 0.185057 0.382941 -0.171365 +v -0.518300 0.485687 0.216470 +v -0.326057 0.612646 -0.154530 +v 0.166386 0.381961 -0.198849 +v 0.139503 0.348800 -0.186129 +v 0.008800 0.992349 -0.243557 +v 0.069832 0.977301 -0.248003 +v 0.026040 0.969427 -0.284070 +v 0.378147 0.796982 -0.132896 +v 0.383020 0.845491 -0.144788 +v 0.365239 0.819917 -0.162296 +v 0.326004 0.537075 -0.110061 +v 0.357067 0.560830 -0.089993 +v 0.332056 0.510206 -0.072382 +v 0.120092 0.359619 -0.217357 +v -0.867230 0.999172 0.035537 +v 0.373786 0.730934 -0.126354 +v 0.349818 0.677408 -0.156832 +v 0.335054 0.728099 -0.170348 +v -0.264167 0.446740 -0.282097 +v -0.851063 0.851766 0.256795 +v -0.883665 1.136186 0.058228 +v -0.526254 0.504346 0.290468 +v -0.880011 0.866264 0.154667 +v 0.410733 0.887243 -0.097879 +v 0.386482 0.901533 -0.125497 +v -0.066397 1.022221 -0.235193 +v -0.085370 0.999212 -0.243511 +v -0.124299 1.028601 -0.238225 +v -0.612980 0.339002 -0.093217 +v -0.637159 0.337769 -0.080066 +v 0.281477 0.787854 -0.224324 +v 0.306849 0.757269 -0.207781 +v 0.389971 0.970882 -0.077799 +v 0.354074 0.981888 -0.120090 +v 0.366840 1.009957 -0.098486 +v -0.529098 0.570431 0.209884 +v -0.895779 1.207831 0.035229 +v -0.901995 1.165751 0.056755 +v 0.355381 0.760630 -0.144347 +v -0.874265 0.954695 0.040313 +v 0.347459 0.632613 -0.146467 +v 0.381111 0.648118 -0.111420 +v 0.249907 0.658973 -0.235683 +v 0.292165 0.678503 -0.204186 +v 0.282048 0.643913 -0.206980 +v -0.908217 1.227690 0.060999 +v -0.417355 1.268760 -0.041742 +v -0.421215 1.282511 0.010752 +v -0.370538 1.271509 0.003548 +v -0.043822 1.264075 -0.069495 +v 0.035641 1.276488 -0.044672 +v -0.023850 1.229053 -0.103824 +v -0.114525 1.722063 -0.268450 +v -0.109067 1.764930 -0.292463 +v -0.117034 0.973557 0.515921 +v 0.202503 0.370332 0.393272 +v 0.236821 0.397625 0.371488 +v -0.896073 1.397110 0.293086 +v -0.896411 1.384192 0.341418 +v 0.370272 0.939496 -0.116740 +v 0.297400 0.525384 -0.162249 +v 0.297407 0.503247 -0.139909 +v -0.907585 1.422337 0.260082 +v 0.172098 0.352594 -0.146852 +v -0.714337 0.775735 0.380608 +v -0.655454 0.744304 0.391681 +v -0.177662 1.857234 -0.230493 +v -0.248333 0.958580 -0.251621 +v -0.190475 0.965621 -0.275799 +v -0.257811 0.937782 -0.283882 +v 0.402816 0.726371 -0.092881 +v 0.399096 0.681717 -0.095698 +v -0.797906 1.035166 -0.066275 +v -0.746838 1.078610 -0.090477 +v 0.407062 0.644753 -0.055920 +v 0.359151 0.599164 -0.119665 +v 0.284549 0.480674 -0.128472 +v 0.292078 0.474502 -0.085082 +v -0.112434 1.645751 -0.182408 +v -0.776935 1.736797 -0.414786 +v -0.786996 1.731391 -0.427204 +v 0.388294 0.598398 -0.064252 +v 0.166885 0.369766 0.430006 +v 0.222916 0.370533 0.331010 +v 0.191282 0.356406 0.366423 +v -0.610517 0.443922 0.124219 +v -0.578530 0.464445 0.110626 +v -0.505952 0.499233 0.191741 +v -0.053486 0.338290 -0.226004 +v 0.014086 0.347820 -0.232652 +v 0.064844 0.342930 -0.208549 +v 0.388386 0.578083 -0.052585 +v 0.384634 0.549348 -0.061822 +v -0.392070 0.815364 -0.205710 +v -0.357498 0.772484 -0.193740 +v -0.654728 0.456276 0.045575 +v -0.622494 0.465401 0.071904 +v -0.577131 0.487178 0.072765 +v -0.911608 1.414436 0.156739 +v -0.713028 1.132536 0.494445 +v -0.651714 0.372895 0.259538 +v -0.644158 0.412838 0.282435 +v -0.630870 0.396142 0.251816 +v -0.197067 0.929173 -0.346369 +v -0.187722 0.898380 -0.369917 +v -0.232857 0.894680 -0.360272 +v 0.344002 1.050300 -0.102249 +v 0.330813 1.027338 -0.127872 +v -0.780220 0.709952 0.213222 +v 0.434225 0.918604 0.245385 +v -0.800504 1.167040 0.487625 +v -0.788491 1.186737 0.506229 +v -0.157822 1.007296 -0.237241 +v -0.058904 0.347906 -0.242245 +v -0.031837 0.362299 0.478731 +v 0.232458 0.627925 -0.250480 +v -0.381195 0.641623 -0.138291 +v -0.415582 0.697740 -0.167741 +v 0.249890 0.381046 0.294296 +v -0.171422 0.980575 -0.249243 +v -0.626819 1.674409 -0.457139 +v -0.519040 0.461001 0.194213 +v -0.523898 0.454491 0.176863 +v 0.417725 0.695680 -0.061596 +v -0.491046 1.366688 0.193141 +v -0.100909 0.982297 -0.277313 +v -0.030870 0.984025 -0.274032 +v -0.082085 0.967774 -0.308098 +v 0.203568 0.436624 -0.204563 +v 0.529064 0.652305 -0.005111 +v 0.531241 0.590124 -0.028854 +v 0.500008 0.616121 -0.034650 +v 0.319093 0.646571 -0.184734 +v -0.894308 1.473055 0.276950 +v 0.367300 1.111676 0.038671 +v 0.172528 0.443356 -0.230672 +v -0.085065 0.390290 -0.130008 +v -0.192888 0.387626 -0.142026 +v -0.111132 0.382903 -0.156464 +v -0.393432 0.354402 0.424926 +v -0.407604 0.346682 0.404925 +v -0.862271 1.146684 0.022102 +v -0.424660 0.341891 -0.272606 +v -0.389211 0.337674 -0.290426 +v -0.732425 1.523133 -0.357035 +v -0.740844 1.498774 -0.326100 +v -0.838907 0.807895 0.022952 +v -0.358749 0.347760 -0.308452 +v 0.413188 0.994967 0.242758 +v 0.038249 0.361292 -0.238781 +v -0.533420 1.440120 0.242614 +v 0.022544 0.364115 -0.147840 +v 0.082741 0.356452 -0.126487 +v 0.044523 0.377052 -0.129576 +v -0.624253 0.418857 0.146468 +v -0.017359 0.922442 -0.343104 +v -0.064120 0.928762 -0.348176 +v -0.008245 0.951651 -0.320563 +v 0.420807 0.634806 -0.025405 +v 0.443265 0.908181 0.220975 +v 0.541142 0.477731 0.174840 +v -0.387911 0.852327 -0.219176 +v -0.354702 0.801961 -0.223259 +v -0.521159 1.417991 0.205103 +v -0.514927 1.379639 0.236622 +v -0.815428 0.779507 0.267273 +v -0.835398 0.811696 0.270141 +v -0.817395 0.768613 0.233136 +v -0.419336 0.884634 -0.221263 +v -0.365534 0.853162 -0.225762 +v 0.526631 0.476736 0.212013 +v -0.259640 0.334870 -0.263211 +v -0.332411 0.335788 -0.267194 +v -0.331644 0.336065 -0.297219 +v 0.191201 0.471678 -0.221147 +v -0.635418 1.633211 -0.259130 +v -0.347079 0.840359 -0.243022 +v -0.681924 1.743983 -0.453658 +v -0.641242 1.795363 -0.587304 +v -0.647938 1.788528 -0.558832 +v -0.647604 1.531159 -0.020371 +v -0.726184 1.436813 -0.109871 +v -0.765956 1.775323 -0.471180 +v -0.453345 1.289149 0.015819 +v -0.450775 1.312444 0.111458 +v 0.568476 0.720172 0.171394 +v 0.543594 0.714673 0.213813 +v -0.730191 1.560210 0.224194 +v -0.725055 1.545953 0.295889 +v -0.259196 1.827283 -0.135411 +v -0.620994 1.540670 0.308374 +v -0.678186 1.545435 0.302337 +v 0.558885 0.725793 0.106697 +v 0.549194 0.731616 0.152236 +v 0.540165 0.728838 0.186780 +v 0.507817 0.721552 0.206802 +v -0.340229 1.759708 -0.037271 +v 0.515371 0.734967 0.126987 +v 0.505228 0.733979 0.161669 +v 0.517462 0.728972 0.090648 +v 0.482069 0.726986 0.169946 +v -0.341511 1.744280 -0.133125 +v 0.474469 0.736914 0.124300 +v -0.327157 1.089663 -0.189414 +v -0.621162 1.560079 0.180344 +v -0.318288 1.263911 0.100134 +v -0.609232 0.386218 0.224689 +v -0.849704 1.532231 0.126545 +v -0.611210 1.556966 0.225171 +v -0.657397 1.556534 0.260176 +v -0.400811 1.262838 0.196073 +v -0.353017 1.254781 -0.031543 +v -0.337615 1.261788 0.017133 +v -0.305435 1.247789 0.010984 +v -0.707315 1.556996 0.069058 +v -0.437932 1.695551 -0.073026 +v -0.660960 1.553253 0.071562 +v -0.677805 1.561445 0.142763 +v -0.616417 1.558204 0.110998 +v -0.362236 1.277752 0.098502 +v -0.429306 1.292844 0.092701 +v -0.375385 1.274413 0.153209 +v -0.666052 1.647738 -0.206707 +v -0.376065 1.242260 0.243136 +v -0.925950 1.194383 0.268030 +v -0.635381 0.435240 0.379740 +v -0.512433 0.642392 0.342581 +v -0.513079 0.605217 0.314349 +v -0.753909 1.795282 -0.524020 +v -0.775872 1.771788 -0.502211 +v -0.430456 1.278512 0.168423 +v -0.442863 1.260663 0.207952 +v -0.695406 1.530853 0.338657 +v -0.595824 1.562334 0.079210 +v -0.650474 1.799915 -0.597586 +v -0.685312 1.563004 0.209977 +v -0.653203 1.539032 0.009139 +v -0.020517 1.009347 0.456259 +v -0.755369 1.597706 -0.104386 +v -0.631173 1.542544 0.029731 +v -0.275970 1.697982 -0.181704 +v -0.891465 1.365050 0.259528 +v -0.702223 1.514352 0.367189 +v -0.604836 1.556798 0.043344 +v -0.645587 0.396399 0.394115 +v -0.654885 0.409378 0.353155 +v -0.668041 0.373777 0.332963 +v -0.254117 1.247253 0.001289 +v -0.391896 1.282819 0.050347 +v -0.647926 0.417245 0.316169 +v 0.303004 1.155365 0.286850 +v -0.258099 0.888896 -0.350822 +v -0.269641 0.845128 -0.363617 +v -0.291645 0.853934 -0.336668 +v 0.361020 1.126610 0.104918 +v -0.862527 1.010685 0.254138 +v -0.874055 1.020521 0.220204 +v 0.335683 1.152372 0.217984 +v -0.791299 1.673657 -0.355062 +v 0.336635 1.157421 0.171813 +v -0.433098 0.556568 -0.114021 +v -0.413623 0.616373 -0.128138 +v -0.575206 1.587760 0.041621 +v 0.343259 1.119331 -0.022406 +v 0.265792 1.170244 0.308680 +v 0.261481 1.201473 0.273080 +v -0.671565 0.419729 0.102409 +v -0.673065 0.441768 0.075958 +v 0.148016 0.990409 -0.228429 +v 0.135335 1.025539 -0.215793 +v 0.186607 1.003078 -0.221273 +v 0.328773 1.169146 0.092958 +v 0.304446 1.188644 0.208218 +v 0.286757 1.195960 0.245459 +v 0.328199 1.165563 0.044459 +v 0.292531 1.205770 0.122993 +v 0.264881 1.223029 0.203981 +v 0.308357 1.155423 -0.031785 +v 0.315019 1.172517 0.016855 +v -0.852698 1.026779 0.013936 +v -0.677877 1.808889 -0.581910 +v -0.681362 1.800611 -0.588160 +v 0.291306 1.202744 0.061118 +v 0.233371 1.235345 0.248742 +v -0.472901 1.305535 0.016909 +v -0.910787 1.150604 0.401418 +v 0.203588 1.244875 0.259064 +v -0.021514 0.994374 0.498498 +v 0.253435 1.237475 0.099819 +v 0.240003 1.246876 0.155180 +v 0.215035 1.256399 0.212526 +v 0.168311 1.248715 0.284256 +v 0.257259 1.212270 -0.000361 +v 0.242466 1.237776 0.048765 +v 0.190122 1.273620 0.177866 +v 0.169816 1.271500 0.229315 +v 0.210698 1.249776 0.010998 +v -0.417718 1.039671 -0.208329 +v -0.851489 1.396552 0.024809 +v -0.324919 0.571963 -0.121047 +v -0.341082 0.614666 -0.130531 +v -0.572196 0.570005 0.049176 +v -0.231229 0.945159 0.473589 +v -0.651466 0.359456 0.397751 +v -0.785977 1.744157 -0.466076 +v -0.554366 0.594202 0.230190 +v -0.581676 0.599852 0.226061 +v -0.182239 0.974946 0.468480 +v -0.323321 0.486728 0.425240 +v -0.344539 0.445640 0.454230 +v -0.320436 0.504618 0.393415 +v -0.291748 0.522645 0.376373 +v -0.721450 0.915564 0.414948 +v -0.517058 0.524708 -0.074047 +v -0.464712 0.513043 -0.098300 +v -0.390882 1.687202 -0.119247 +v -0.203215 0.939996 0.515886 +v -0.262732 0.776312 0.483562 +v -0.239444 0.788001 0.535347 +v -0.272291 0.879915 0.479097 +v -0.581052 0.664660 -0.100443 +v -0.274126 0.732694 0.426414 +v -0.241876 0.722691 0.476811 +v -0.497634 0.562412 0.336243 +v -0.254392 0.906779 0.488523 +v -0.565721 1.248028 -0.071886 +v -0.216927 0.382660 0.045101 +v -0.277909 0.380629 0.079376 +v -0.320742 0.383234 -0.004211 +v -0.305578 0.886259 -0.275507 +v -0.228516 0.906350 0.522805 +v -0.741135 0.994425 0.383377 +v -0.202684 0.622668 0.482121 +v -0.375015 0.427367 0.429884 +v -0.698556 1.002789 -0.148478 +v -0.239883 0.859956 0.537164 +v -0.485800 1.668921 -0.025256 +v -0.214811 0.741945 0.528577 +v -0.773783 1.576427 -0.141336 +v -0.764239 1.573628 -0.090354 +v -0.838825 1.333146 0.491136 +v -0.375011 0.402219 0.442966 +v -0.249820 0.817776 0.534211 +v -0.640672 0.901722 -0.188555 +v -0.641148 0.955099 -0.181146 +v -0.609599 0.941730 -0.190157 +v -0.694810 0.856565 -0.171984 +v -0.692014 0.930392 -0.164861 +v -0.670692 0.911446 -0.174259 +v -0.550472 0.527676 -0.039461 +v -0.526264 0.600438 -0.089567 +v -0.529785 0.595538 0.262119 +v -0.560014 0.618307 0.279312 +v -0.343340 0.409236 0.484258 +v -0.518874 0.533247 0.287056 +v -0.314878 0.469302 0.452532 +v -0.547073 0.634616 0.316706 +v -0.200181 0.675693 0.515654 +v -0.769873 1.536937 -0.022971 +v -0.838375 1.392786 0.448939 +v -0.822277 1.451377 0.406001 +v 0.256203 1.188072 -0.050331 +v -0.824039 1.218656 0.493650 +v -0.838036 1.256110 0.504405 +v -0.863891 1.216847 0.484125 +v -0.663920 0.377123 0.296220 +v -0.835778 1.205262 0.491775 +v -0.841508 1.295501 0.504837 +v -0.861536 1.273561 0.485640 +v -0.345026 0.761300 -0.223731 +v -0.776450 0.822149 0.357977 +v -0.764407 0.775111 0.337483 +v -0.712065 0.386086 0.007722 +v -0.724740 0.362559 0.015533 +v 0.313523 0.426493 -0.046745 +v 0.353499 0.412571 -0.028075 +v -0.772160 0.855949 0.374208 +v -0.851760 1.170681 0.481394 +v -0.866051 1.322681 0.467830 +v -0.750974 0.900736 0.395810 +v -0.637573 1.025114 -0.174844 +v -0.657286 1.070982 -0.143177 +v -0.605108 1.074845 -0.170423 +v -0.800698 0.905861 0.345931 +v -0.887637 1.194494 0.465601 +v -0.827110 1.164897 0.485186 +v -0.666429 1.604088 -0.568427 +v -0.559282 0.359173 0.463761 +v -0.237300 1.018616 -0.238364 +v -0.217305 0.984110 -0.243068 +v -0.716936 0.394610 0.060145 +v -0.696372 0.418813 0.031826 +v -0.825065 1.276549 -0.046796 +v -0.834485 1.339330 -0.016873 +v -0.806511 1.311985 -0.044398 +v -0.869906 1.381233 0.423166 +v 0.198385 0.965189 -0.227859 +v 0.239112 0.980217 -0.208073 +v 0.230880 0.939987 -0.222107 +v -0.658857 0.350251 0.294165 +v -0.532884 0.519258 0.117304 +v -0.797393 1.360685 -0.041482 +v -0.717522 0.367894 0.086967 +v -0.711659 0.393663 0.081142 +v -0.699973 0.420731 0.066898 +v -0.882521 1.269273 0.461413 +v -0.338970 0.570253 -0.110476 +v -0.328755 0.516776 -0.108886 +v -0.653521 0.992946 -0.168201 +v -0.667270 0.358958 0.338494 +v -0.789083 0.948309 0.354355 +v -0.652971 0.347790 0.337443 +v -0.869704 0.889121 0.248799 +v -0.863471 0.917221 0.268111 +v -0.858563 0.970254 0.274150 +v -0.690003 0.384677 0.107689 +v -0.569964 1.574171 0.006025 +v -0.692090 0.354548 0.120421 +v -0.838122 0.863377 0.292233 +v -0.837988 1.029069 0.280383 +v -0.670064 0.632929 -0.017494 +v -0.757294 1.035403 0.360710 +v -0.672534 0.381422 0.135340 +v -0.834181 0.941274 0.308985 +v -0.428190 1.622018 -0.103375 +v -0.576769 0.862583 -0.210983 +v -0.555226 0.819276 -0.213538 +v -0.803793 0.978007 0.336458 +v 0.017324 0.344597 -0.166079 +v -0.422768 0.949826 -0.225624 +v 0.214436 1.227383 -0.029317 +v -0.859860 1.467090 0.348271 +v -0.641608 0.359008 0.176876 +v -0.812214 0.810032 0.312559 +v -0.817040 1.016723 0.309397 +v -0.186857 1.868963 -0.202487 +v -0.536442 0.493582 0.122019 +v -0.859188 1.426341 0.398498 +v -0.637546 0.382501 0.165935 +v -0.810338 0.846982 0.331064 +v -0.791267 1.061988 0.320507 +v -0.772089 1.071589 0.347383 +v -0.027873 1.057753 -0.224590 +v -0.032078 1.096210 -0.215238 +v 0.025822 1.074758 -0.206060 +v -0.743148 1.376174 -0.066699 +v -0.785789 1.405013 -0.046031 +v -0.758293 1.424461 -0.058090 +v -0.790026 0.763393 0.292481 +v -0.317141 0.351115 -0.306590 +v -0.265689 0.346958 -0.291137 +v -0.063935 1.052447 -0.228419 +v -0.911321 1.228210 0.441152 +v -0.455306 0.985109 -0.217295 +v -0.518153 1.639258 0.017489 +v -0.289311 0.792476 -0.350498 +v -0.260820 0.761913 -0.367802 +v -0.261201 0.711775 -0.354515 +v -0.793348 1.256065 -0.061176 +v 0.095887 0.342072 -0.154240 +v 0.062813 0.341658 -0.187642 +v -0.627867 1.127419 -0.136054 +v -0.777215 1.135589 0.481560 +v 0.018527 1.130336 -0.197943 +v -0.885635 1.162453 0.453929 +v -0.272332 0.805710 -0.366207 +v 0.289903 0.446979 -0.061863 +v -0.634289 1.718539 -0.614121 +v 0.163870 1.140235 -0.154969 +v 0.217130 1.095634 -0.150811 +v 0.167326 1.099123 -0.170200 +v -0.083563 1.137360 -0.182398 +v -0.123544 1.155677 -0.164869 +v -0.066878 1.174721 -0.153593 +v -0.655936 1.766571 -0.605047 +v -0.053608 1.128940 -0.196133 +v -0.078240 1.092411 -0.221857 +v -0.091087 1.114167 -0.205432 +v 0.072130 1.272196 -0.052073 +v 0.094136 1.212190 -0.129378 +v 0.064155 1.179018 -0.162827 +v 0.044652 1.204404 -0.139314 +v 0.530564 0.697088 0.031292 +v 0.073447 0.945096 -0.296832 +v 0.242497 1.026615 -0.183138 +v 0.287231 0.979432 -0.174973 +v -0.701217 1.688263 -0.511736 +v -0.598312 0.428423 -0.066469 +v -0.740044 1.781852 -0.539163 +v -0.724555 1.761068 -0.535354 +v -0.254456 0.602086 -0.308647 +v -0.220432 0.536120 -0.301356 +v -0.697805 1.593857 -0.494182 +v -0.683826 1.598025 -0.542088 +v -0.745510 1.721874 -0.475510 +v -0.711565 1.633513 -0.453605 +v -0.771531 1.737868 -0.478676 +v -0.735026 1.687194 -0.447918 +v -0.713515 1.572709 -0.421831 +v -0.710573 1.547689 -0.457785 +v -0.742266 1.643701 -0.382403 +v -0.311334 0.496073 -0.194069 +v -0.776967 1.702789 -0.431179 +v -0.790877 1.704449 -0.413731 +v -0.728962 1.583496 -0.341094 +v -0.776772 1.661099 -0.367773 +v -0.735484 1.612082 -0.352884 +v 0.044630 1.242729 -0.094291 +v 0.129339 1.188725 -0.139794 +v 0.116208 1.154897 -0.163857 +v -0.602553 0.447496 -0.041316 +v -0.661224 0.423413 -0.027539 +v -0.718116 1.486132 -0.346395 +v -0.733866 1.546342 -0.299438 +v -0.293311 1.147623 -0.158446 +v -0.337154 1.115157 -0.180784 +v -0.295706 1.171387 -0.136755 +v 0.251308 0.345469 0.110126 +v 0.208979 0.359371 0.087849 +v 0.213247 0.346240 0.056444 +v 0.104736 0.347426 -0.112629 +v 0.119662 0.343354 -0.059571 +v 0.074147 0.346592 -0.030117 +v -0.151658 1.179807 -0.144655 +v -0.125018 1.063441 -0.223602 +v -0.265403 0.650840 -0.316649 +v -0.290875 0.729246 -0.333545 +v -0.309788 0.770209 -0.328165 +v -0.312257 0.804131 -0.321823 +v -0.785778 1.642064 -0.318258 +v 0.347429 0.922741 -0.156546 +v 0.315554 0.924847 -0.182043 +v -0.286807 0.682835 -0.306102 +v -0.311840 0.739895 -0.303399 +v -0.233702 0.933928 -0.320318 +v -0.277084 0.900813 -0.319114 +v -0.307341 0.854276 -0.305067 +v -0.756407 1.593040 -0.269084 +v 0.071346 1.146823 -0.183456 +v 0.105066 1.008770 -0.221095 +v 0.062723 0.999104 -0.222969 +v 0.071030 1.019116 -0.212310 +v -0.303249 0.676947 -0.276549 +v -0.332110 0.768732 -0.277084 +v -0.325906 0.819427 -0.291002 +v -0.786407 1.638724 -0.283878 +v -0.284257 0.621996 -0.279385 +v -0.332587 0.796217 -0.271460 +v -0.742302 1.565268 -0.251671 +v -0.290548 0.610841 -0.249182 +v -0.326066 0.719556 -0.248666 +v -0.782003 1.607321 -0.239997 +v -0.006731 1.011987 -0.228578 +v -0.275459 0.540216 -0.251474 +v -0.310669 0.650589 -0.227511 +v -0.442159 0.361315 -0.242522 +v -0.455329 0.347365 -0.213632 +v -0.422969 0.362919 -0.272536 +v -0.410515 0.415286 -0.240610 +v -0.381503 0.424666 -0.268940 +v -0.296471 0.581043 -0.213113 +v -0.812687 1.087944 0.294407 +v -0.457521 1.634075 -0.081780 +v -0.486400 1.647248 -0.050591 +v -0.760414 1.566307 -0.214205 +v -0.306039 0.380385 -0.301238 +v -0.068478 0.364445 -0.251771 +v 0.032222 0.387084 0.258988 +v 0.052497 0.395071 0.332712 +v -0.026442 0.387271 0.251313 +v -0.759178 1.499769 -0.168420 +v 0.134731 1.242989 -0.068361 +v 0.094116 1.235029 -0.098291 +v -0.449930 0.390170 -0.210978 +v -0.341905 0.475140 -0.223015 +v -0.340162 0.721013 -0.208231 +v -0.345886 0.447450 -0.271229 +v -0.736793 1.478599 -0.202363 +v -0.758047 1.513448 -0.198812 +v -0.749823 1.540779 -0.189744 +v -0.749241 1.527301 -0.193974 +v -0.161317 1.829885 -0.260372 +v -0.184057 1.784306 -0.242196 +v -0.214163 1.797766 -0.217325 +v -0.464626 0.368003 -0.177787 +v -0.148462 0.350709 -0.260719 +v -0.772067 1.563995 -0.189725 +v -0.232988 1.832431 -0.179230 +v -0.440313 0.419491 -0.179940 +v -0.302714 0.521061 -0.176761 +v -0.308094 0.569980 -0.178350 +v -0.568107 0.338739 -0.111663 +v -0.776504 1.565801 -0.165991 +v 0.291027 1.024751 -0.157684 +v 0.319129 0.998701 -0.146210 +v -0.278902 1.044070 -0.228309 +v -0.746100 1.472781 -0.141724 +v -0.451865 0.424534 -0.141936 +v -0.312895 0.552086 -0.143878 +v 0.259415 1.157635 -0.082194 +v 0.266662 1.126861 -0.105095 +v 0.204615 1.151537 -0.131038 +v -0.469123 0.346272 0.397397 +v -0.776188 0.739991 -0.053263 +v -0.742914 0.748084 -0.093538 +v -0.720716 0.715382 -0.074714 +v -0.838178 1.110909 0.285245 +v -0.754277 1.520121 -0.143937 +v -0.469906 0.388924 -0.140169 +v -0.313831 0.517913 -0.138868 +v 0.043714 1.039190 -0.215151 +v -0.104112 0.945923 -0.337848 +v -0.150781 0.938634 -0.343173 +v 0.283222 1.084796 -0.126234 +v 0.253192 1.093173 -0.135796 +v -0.765378 1.534487 -0.128987 +v -0.732631 0.799838 -0.137499 +v -0.769758 0.829359 -0.114506 +v -0.739454 0.843749 -0.151545 +v -0.338324 0.351688 0.469579 +v -0.172244 0.952141 -0.320853 +v -0.327484 1.775987 -0.116274 +v 0.116693 1.272015 -0.031851 +v 0.039735 0.382086 -0.037963 +v 0.023262 0.353482 0.023246 +v -0.008114 0.374242 0.047722 +v -0.764813 1.482741 -0.089376 +v -0.777706 0.878448 -0.116948 +v -0.800436 0.920802 -0.094198 +v -0.760467 0.910372 -0.136431 +v -0.787516 0.952403 -0.106007 +v -0.282124 1.111686 -0.180019 +v -0.769229 1.535139 -0.090785 +v -0.797237 0.842267 -0.087608 +v -0.814149 0.971003 -0.068746 +v -0.758629 1.507130 -0.090209 +v -0.130349 1.100286 -0.201612 +v -0.807283 0.882042 -0.078003 +v -0.261606 1.230999 -0.044735 +v -0.328217 1.230050 -0.059088 +v -0.213995 0.347951 -0.279588 +v -0.249541 0.374411 -0.291527 +v 0.162243 0.864804 -0.289520 +v 0.130970 0.911265 -0.292698 +v 0.167472 0.901140 -0.271272 +v -0.168038 0.397538 -0.275653 +v -0.829428 0.932917 -0.061856 +v 0.158001 1.199656 -0.114156 +v -0.746388 1.439848 -0.071504 +v 0.190766 0.918706 -0.248902 +v 0.226740 0.866061 -0.249255 +v 0.488059 0.684578 0.016953 +v -0.237569 0.385858 -0.110933 +v -0.080981 0.890701 -0.365522 +v -0.771349 1.515123 -0.055823 +v -0.218824 1.108742 -0.196953 +v -0.272540 1.074745 -0.212797 +v -0.792859 0.800488 -0.070125 +v -0.832725 0.894767 -0.056503 +v -0.195235 0.385052 -0.045434 +v -0.175879 1.149132 -0.172050 +v -0.236002 1.151382 -0.155774 +v -0.183207 1.196863 -0.111106 +v 0.074553 1.119679 -0.195542 +v -0.556740 0.569839 -0.033510 +v -0.540665 0.599593 -0.075992 +v -0.749015 0.704193 -0.022854 +v -0.827764 0.834309 -0.043687 +v -0.169704 1.111979 -0.195864 +v -0.773884 1.465643 -0.043543 +v -0.568979 0.496556 -0.015319 +v -0.805760 0.766078 -0.029879 +v -0.823540 0.808763 -0.024039 +v -0.849649 0.899625 -0.030068 +v -0.841668 0.977568 -0.032762 +v -0.809591 1.092667 -0.020190 +v -0.760513 1.110383 -0.062722 +v -0.585159 0.477313 0.002125 +v -0.070761 1.224012 -0.113644 +v -0.669788 0.676390 -0.068094 +v -0.720285 0.670466 -0.007225 +v -0.831094 1.026544 -0.032933 +v -0.812063 1.120509 -0.008830 +v -0.782252 1.496248 -0.025019 +v -0.511214 1.637412 -0.026640 +v -0.632420 0.455497 0.004843 +v -0.544207 0.478365 -0.059187 +v -0.574916 0.595302 -0.010786 +v -0.561479 0.619215 -0.057541 +v -0.790612 0.737243 -0.008452 +v -0.850422 0.838178 -0.000776 +v -0.856130 0.962771 -0.006651 +v -0.807679 1.430140 -0.015313 +v -0.864548 0.869405 0.009167 +v -0.857776 0.917014 -0.000470 +v -0.120830 1.221923 -0.097121 +v -0.303071 0.339954 0.147064 +v -0.540569 1.567160 -0.024866 +v -0.692421 0.414741 0.001929 +v -0.673152 0.440340 0.015742 +v -0.872404 1.196721 -0.001781 +v -0.880646 1.249676 0.005741 +v -0.856321 1.246109 -0.027336 +v -0.864430 1.276744 -0.014864 +v 0.258551 0.896107 -0.227018 +v 0.287911 0.911573 -0.203702 +v -0.800664 1.503965 0.006052 +v -0.820635 0.759937 0.017616 +v 0.309752 1.079025 -0.110584 +v -0.554737 1.605021 0.013764 +v -0.798588 0.727550 0.030420 +v 0.263480 0.845622 -0.231517 +v 0.075447 0.916822 -0.316431 +v 0.117275 0.880108 -0.308601 +v 0.305301 1.122121 -0.081860 +v -0.090179 1.252803 -0.077912 +v -0.196162 1.210920 -0.095488 +v 0.218150 1.177053 -0.100153 +v 0.426353 0.607975 -0.034584 +v 0.184009 1.214551 -0.076804 +v 0.136991 0.939142 -0.264277 +v 0.444085 0.697589 0.009477 +v 0.163635 0.343948 0.022949 +v 0.153228 0.362397 0.036629 +v 0.140143 0.357038 0.038879 +v 0.038149 0.390245 -0.080827 +v -0.013897 0.386514 0.023967 +v 0.179048 1.062771 -0.177292 +v 0.190169 1.040145 -0.193331 +v 0.173729 1.024604 -0.214877 +v -0.210005 1.231364 -0.061190 +v -0.358851 1.204004 -0.106405 +v -0.361250 1.228669 -0.082928 +v 0.457694 0.646288 -0.012166 +v -0.049613 0.393649 0.367022 +v -0.021999 1.121588 -0.196586 +v 0.459973 0.698144 0.030143 +v 0.461340 0.592788 -0.047770 +v -0.352833 0.341798 0.227449 +v -0.162404 1.251218 -0.036499 +v -0.619936 1.502806 -0.016297 +v -0.611140 1.530521 0.009999 +v -0.346923 0.338287 0.124386 +v -0.373144 0.336330 0.045725 +v -0.594667 1.474396 -0.018885 +v -0.586981 1.513732 -0.006580 +v -0.254259 0.414210 -0.292048 +v -0.277621 1.206854 -0.090153 +v -0.121305 1.257257 -0.052008 +v 0.396935 0.456586 -0.045274 +v -0.569923 1.431186 -0.022403 +v -0.561792 1.377441 -0.040674 +v -0.568960 1.339874 -0.056270 +v -0.500957 1.099092 -0.185045 +v -0.478594 1.116273 -0.174821 +v -0.455901 1.085383 -0.187967 +v -0.003084 0.354625 0.082607 +v -0.601273 1.204139 -0.093791 +v -0.543883 1.340492 -0.039920 +v -0.336235 1.184043 -0.119275 +v 0.125178 1.047538 -0.199159 +v -0.535901 1.243745 -0.073470 +v -0.523144 1.215965 -0.107980 +v -0.555781 1.156769 -0.146460 +v -0.604585 1.175565 -0.113546 +v -0.132803 0.376996 -0.263918 +v 0.024960 0.898576 -0.336284 +v -0.521243 1.292983 -0.041187 +v -0.507929 1.271649 -0.048183 +v -0.565443 1.285094 -0.062014 +v -0.489821 1.298065 -0.013229 +v -0.499068 1.178833 -0.144025 +v -0.480697 1.249303 -0.084076 +v -0.489844 1.148052 -0.159667 +v -0.477436 1.206443 -0.128130 +v -0.450826 1.221845 -0.115694 +v -0.464595 1.272395 -0.048843 +v -0.446974 1.179154 -0.147258 +v -0.421481 1.240963 -0.095602 +v -0.424595 1.139248 -0.161880 +v -0.416817 1.257511 -0.070193 +v -0.758241 1.079490 0.371288 +v 0.038064 1.094433 -0.202038 +v -0.402517 1.182753 -0.136741 +v 0.113474 0.362130 0.446523 +v -0.398428 1.215611 -0.115703 +v -0.382257 1.246552 -0.073257 +v 0.500065 0.580958 -0.046212 +v -0.366651 0.353042 0.230320 +v 0.099445 1.091972 -0.194728 +v -0.372182 1.159424 -0.151730 +v -0.374030 1.115077 -0.182433 +v 0.237060 0.802404 -0.254501 +v -0.382796 0.354290 0.243806 +v -0.770256 1.139676 -0.046168 +v -0.709172 1.075485 -0.114966 +v -0.737904 1.201666 -0.078851 +v -0.759961 1.171413 -0.065577 +v -0.752726 1.268010 -0.080241 +v -0.768901 1.304191 -0.069570 +v 0.475747 0.529436 -0.051300 +v -0.523252 1.061481 -0.192712 +v -0.551398 1.105160 -0.176727 +v 0.444732 0.532930 -0.063328 +v 0.443313 0.558180 -0.060363 +v 0.436732 0.501622 -0.059843 +v -0.479574 0.725430 -0.161070 +v 0.223400 0.584922 -0.260141 +v -0.679148 0.801363 -0.171282 +v -0.448539 1.574603 -0.086731 +v -0.590420 0.990322 -0.192229 +v -0.696084 0.723229 -0.109344 +v -0.643926 0.731163 -0.153353 +v -0.644807 0.701874 -0.122617 +v -0.503424 1.554620 -0.051927 +v -0.701776 0.756633 -0.138392 +v 0.368909 0.473532 -0.061057 +v -0.578468 1.043350 -0.185257 +v -0.548133 0.981025 -0.214254 +v -0.582324 0.956904 -0.206160 +v 0.386637 0.516967 -0.066910 +v -0.579895 0.740179 -0.175223 +v -0.642669 0.335625 -0.051253 +v -0.721462 1.348643 -0.077592 +v -0.625818 0.863945 -0.191693 +v -0.552653 1.021668 -0.198971 +v -0.545763 0.915630 -0.220987 +v -0.582656 0.909264 -0.209487 +v -0.442311 0.776641 -0.190266 +v -0.539945 0.646387 -0.093255 +v 0.336274 0.487177 -0.063905 +v -0.638362 0.817046 -0.189088 +v -0.489447 0.790864 -0.195757 +v -0.461242 1.050637 -0.204576 +v -0.506479 0.823094 -0.213659 +v -0.456432 1.546695 -0.072969 +v -0.448642 0.819979 -0.204735 +v -0.638523 0.655723 -0.069393 +v -0.489529 0.562811 -0.102209 +v -0.466503 0.598410 -0.121358 +v -0.484515 0.647941 -0.130299 +v -0.450084 0.627239 -0.133904 +v -0.418955 0.336683 0.269400 +v -0.603554 0.797666 -0.193755 +v -0.450788 0.872611 -0.218655 +v -0.443540 0.733722 -0.178744 +v 0.133599 0.393774 -0.224963 +v -0.034356 0.870179 -0.364610 +v -0.656099 0.758600 -0.167500 +v 0.228320 0.670826 -0.262975 +v 0.221044 0.726926 -0.269001 +v -0.509110 1.007457 -0.216194 +v 0.202845 0.513492 -0.248954 +v -0.457626 0.694453 -0.159288 +v 0.193050 0.790179 -0.277440 +v 0.199725 0.544097 -0.271082 +v 0.195204 0.620648 -0.272925 +v 0.196187 0.670074 -0.283561 +v 0.177581 0.701385 -0.294047 +v 0.157197 0.737564 -0.297478 +v 0.156783 0.511693 -0.263978 +v 0.151103 0.598198 -0.286457 +v 0.168421 0.555557 -0.282846 +v -0.211004 0.865877 -0.378490 +v 0.145191 0.645956 -0.298557 +v 0.155324 0.765870 -0.296069 +v -0.888278 1.135917 0.238737 +v 0.139640 0.455792 -0.247065 +v 0.122541 0.834567 -0.307716 +v -0.014089 0.361931 0.129446 +v -0.036954 0.381728 0.130468 +v 0.133761 0.486303 -0.265515 +v 0.107110 0.546876 -0.297675 +v 0.115741 0.748606 -0.313838 +v 0.114713 0.675814 -0.309012 +v 0.122752 0.699340 -0.315531 +v 0.106962 0.798892 -0.320096 +v 0.106377 0.441616 -0.249262 +v 0.081686 0.450530 -0.251787 +v 0.101498 0.492585 -0.277506 +v 0.103124 0.575865 -0.299952 +v 0.076270 0.620983 -0.311358 +v 0.097413 0.631814 -0.311414 +v 0.051821 0.415363 -0.240657 +v 0.062881 0.654164 -0.325630 +v 0.043919 0.386744 -0.241703 +v 0.054265 0.682480 -0.327305 +v 0.064980 0.707919 -0.335253 +v 0.087503 0.743016 -0.333982 +v 0.073335 0.852700 -0.328294 +v 0.066510 0.881445 -0.329458 +v 0.059436 0.509767 -0.291194 +v 0.053975 0.583826 -0.309038 +v 0.076016 0.794359 -0.337145 +v 0.068342 0.550102 -0.305611 +v 0.048214 0.737640 -0.345524 +v 0.049502 0.780273 -0.344097 +v 0.043843 0.458067 -0.267890 +v 0.037309 0.481280 -0.290260 +v 0.033102 0.604568 -0.324811 +v 0.018550 0.846928 -0.348385 +v 0.007583 0.704345 -0.344625 +v 0.012868 0.503837 -0.303574 +v 0.005928 0.528680 -0.305138 +v 0.021425 0.555028 -0.313344 +v -0.002283 0.433949 -0.251244 +v -0.002086 0.789414 -0.357821 +v -0.009629 0.453782 -0.273083 +v -0.011827 0.594924 -0.333609 +v -0.008661 0.645596 -0.344909 +v -0.045918 0.384046 -0.254129 +v -0.017033 0.478192 -0.299289 +v -0.022529 0.739213 -0.358872 +v -0.004271 0.829474 -0.363806 +v -0.044084 0.666192 -0.348702 +v -0.079469 0.414899 -0.259113 +v -0.036481 0.518690 -0.314579 +v -0.044102 0.827945 -0.374672 +v -0.052326 0.556890 -0.328402 +v -0.053433 0.782646 -0.374769 +v -0.059251 0.695156 -0.359335 +v -0.081088 0.434391 -0.261401 +v -0.087947 0.470569 -0.298816 +v -0.061353 0.602568 -0.346958 +v -0.073835 0.747996 -0.372238 +v -0.200863 0.380645 -0.172208 +v -0.082506 0.451487 -0.284411 +v -0.081798 0.498458 -0.310714 +v -0.085264 0.640017 -0.358505 +v -0.094246 0.553992 -0.336540 +v -0.106036 0.536029 -0.334033 +v -0.092015 0.595101 -0.344371 +v -0.085992 0.793387 -0.379052 +v -0.105386 0.679992 -0.365170 +v -0.100020 0.726715 -0.376614 +v -0.147316 0.776408 -0.384907 +v -0.112040 0.827133 -0.384896 +v -0.137538 0.518651 -0.322435 +v -0.123182 0.593964 -0.352685 +v -0.132360 0.692928 -0.379175 +v -0.265805 0.377426 0.157053 +v -0.149815 0.358782 -0.179924 +v -0.136911 1.791471 -0.281264 +v -0.173624 0.432374 -0.276652 +v -0.157484 0.450439 -0.278778 +v -0.144669 0.631360 -0.368659 +v -0.309847 0.381919 0.323901 +v -0.160188 0.742888 -0.388644 +v -0.158584 0.811656 -0.391856 +v -0.670783 0.338401 -0.061688 +v -0.171843 0.482105 -0.297419 +v -0.168119 0.612752 -0.359293 +v 0.388831 0.410330 0.249766 +v -0.179761 0.706138 -0.384439 +v 0.094293 0.360304 0.045275 +v 0.039678 0.342002 0.049755 +v 0.095485 0.342326 0.017162 +v -0.193022 0.582248 -0.339197 +v -0.177394 0.662608 -0.376573 +v -0.185021 0.833439 -0.390107 +v -0.211629 1.749185 -0.219771 +v -0.627918 0.345968 0.235056 +v -0.643003 0.350864 0.242721 +v -0.202253 0.770952 -0.390443 +v -0.212008 0.466571 -0.279513 +v -0.219113 0.671448 -0.365357 +v -0.696855 0.344788 0.097984 +v -0.230360 0.727785 -0.380726 +v -0.232001 0.765685 -0.383865 +v -0.231815 0.816870 -0.383291 +v -0.804691 1.135796 0.466435 +v -0.597122 0.631653 0.287892 +v 0.143227 0.344255 0.215932 +v 0.154490 0.348524 0.369849 +v 0.131970 0.348358 0.316310 +v 0.085288 0.348880 0.362651 +v 0.122242 0.351775 0.426206 +v -0.164714 0.348128 0.436847 +v 0.032907 0.358335 0.460246 +v 0.049172 0.339971 0.091666 +v 0.031492 0.341253 0.117622 +v -0.180315 0.348600 0.492648 +v -0.286576 0.350834 0.505494 +v 0.222529 0.365833 0.139797 +v 0.214998 0.358071 0.181694 +v 0.174901 0.346463 0.220409 +v 0.448765 0.412310 0.160083 +v -0.014104 0.369999 0.169820 +v 0.017024 0.363109 0.211796 +v -0.010974 0.381478 0.204270 +v 0.028888 0.346363 0.188498 +v 0.009171 0.348034 0.156347 +v 0.412613 0.405851 0.207519 +v -0.263231 0.346580 0.434735 +v -0.095064 0.383526 0.155707 +v -0.023474 0.359031 -0.159297 +v 0.239308 0.348167 0.177392 +v 0.100874 0.370477 0.308225 +v -0.081306 0.350083 0.475024 +v -0.028262 0.348853 0.456114 +v 0.200812 0.351727 0.280188 +v 0.132792 0.343795 0.214237 +v -0.642122 0.349926 0.394019 +v 0.064553 0.381652 -0.101649 +v 0.298590 0.349801 0.098349 +v -0.031105 0.389462 -0.027794 +v -0.094309 0.388877 -0.074849 +v 0.089808 0.376394 0.339008 +v 0.083833 0.347487 0.240573 +v -0.799405 1.091668 0.341198 +v -0.852296 1.120071 0.304170 +v -0.574341 0.576835 0.087260 +v 0.164393 0.356351 0.412810 +v 0.049318 0.348148 0.434621 +v 0.062194 0.351341 0.065493 +v -0.889795 1.145087 0.284460 +v 0.323692 0.358160 0.070246 +v 0.282486 0.350464 0.160167 +v 0.090016 0.368909 0.284822 +v 0.235895 0.358906 0.253377 +v -0.898226 1.138720 0.328453 +v -0.357116 0.358916 0.155029 +v -0.902540 1.136631 0.377202 +v 0.075208 0.367334 -0.067614 +v -0.856447 1.113172 0.342348 +v 0.158705 0.344162 -0.029666 +v 0.140554 0.344834 -0.144957 +v -0.877735 1.118141 0.371443 +v -0.011390 0.391768 -0.103814 +v -0.873599 1.124831 0.420495 +v -0.024719 0.384088 -0.141590 +v -0.648113 0.345306 0.155084 +v -0.898039 1.149811 0.427717 +v -0.847470 1.107835 0.394884 +v -0.112898 0.395292 0.388441 +v 0.334758 0.364473 0.162670 +v -0.020406 0.340539 -0.193311 +v -0.808945 1.096722 0.379102 +v -0.827619 1.116234 0.442215 +v -0.843413 1.138801 0.465135 +v 0.069064 0.390043 0.295485 +v 0.044817 0.371178 0.247553 +v -0.784498 1.098883 0.425179 +v 0.298685 0.362488 0.198722 +v -0.233200 0.391695 0.384733 +v -0.759508 0.681706 0.181180 +v -0.695388 0.630748 0.035758 +v -0.770396 0.719670 0.264051 +v -0.711130 0.627515 0.087996 +v -0.728014 0.643826 0.120891 +v -0.727901 0.643999 0.152060 +v -0.751653 1.115428 0.467072 +v 0.066606 0.352047 0.243159 +v -0.729164 0.650574 0.187946 +v -0.717221 0.670230 0.249598 +v -0.741076 0.695860 0.272644 +v -0.720361 1.110792 0.453614 +v -0.644798 0.606515 0.042343 +v -0.685435 0.610905 0.105578 +v -0.703258 0.633678 0.198092 +v -0.743628 0.724370 0.314301 +v -0.590022 0.592346 0.026141 +v -0.690662 0.337176 -0.001976 +v -0.685112 0.612146 0.153541 +v -0.612418 0.590074 0.080917 +v -0.645612 0.594841 0.130617 +v -0.666333 0.610017 0.181012 +v -0.696555 0.687284 0.311279 +v -0.648256 0.335059 0.028223 +v -0.668390 0.621705 0.215769 +v -0.708595 0.715101 0.338951 +v -0.713055 0.738990 0.359698 +v -0.673308 0.338464 0.087266 +v -0.670330 0.651460 0.272929 +v 0.081044 0.348429 0.181346 +v -0.559652 0.335299 -0.091246 +v -0.586041 0.334622 -0.002167 +v -0.611494 0.588344 0.165394 +v -0.660807 0.702027 0.355529 +v -0.617774 0.340179 0.169006 +v -0.585814 0.578015 0.134295 +v -0.622257 0.602652 0.204493 +v -0.633664 0.627903 0.256476 +v -0.636650 0.660478 0.318281 +v -0.527301 0.334979 -0.018117 +v -0.576806 0.336227 0.140403 +v -0.582260 0.666073 0.350503 +v -0.605693 0.711545 0.386538 +v -0.475216 0.336227 -0.128046 +v -0.442658 0.336637 -0.219144 +v -0.394819 0.336182 -0.236125 +v -0.450584 0.336005 -0.125275 +v -0.532105 0.335853 0.139870 +v -0.620190 0.343432 0.318833 +v -0.463802 0.336052 -0.008943 +v -0.470597 0.335019 0.035646 +v -0.540190 0.333099 0.158480 +v -0.557406 0.341280 0.266744 +v -0.541854 0.673227 0.369356 +v -0.410915 0.340060 -0.119975 +v -0.513509 0.336457 0.080329 +v -0.456759 0.337036 0.064300 +v -0.471043 0.355495 0.080804 +v -0.578894 0.344196 0.362658 +v -0.612634 0.346904 0.419949 +v -0.351991 0.338352 -0.205083 +v -0.412710 0.338554 -0.018801 +v -0.369705 0.356804 -0.150078 +v -0.396703 0.361740 -0.073398 +v -0.511766 0.680619 0.373983 +v -0.315898 0.355923 -0.192041 +v -0.334073 0.375770 -0.161582 +v -0.380666 0.385186 -0.073080 +v -0.273161 0.339101 -0.213537 +v -0.392220 0.363262 0.107899 +v -0.468708 0.344441 0.305131 +v -0.518477 0.344703 0.346352 +v -0.260754 0.359186 -0.194052 +v -0.307548 0.386398 -0.140508 +v -0.331634 0.381954 -0.005252 +v -0.278515 0.384043 -0.172104 +v -0.386393 0.339373 0.085507 +v -0.550398 0.573097 0.169909 +vn -0.865300 0.093700 -0.492400 +vn -0.900800 -0.025200 -0.433500 +vn -0.862600 -0.125800 -0.489900 +vn -0.974700 -0.212700 -0.068700 +vn -0.924600 -0.267000 -0.271700 +vn -0.957300 0.247700 -0.148800 +vn -0.138100 0.957800 0.252000 +vn -0.088100 0.920300 0.381100 +vn -0.223200 0.877500 0.424500 +vn 0.146500 0.871200 0.468600 +vn 0.335600 0.853700 0.398100 +vn 0.525700 0.705000 0.476000 +vn 0.117100 0.854200 0.506500 +vn -0.203200 0.774500 0.599000 +vn -0.611500 0.510700 0.604300 +vn -0.207300 0.716000 0.666600 +vn -0.538800 0.758300 0.366900 +vn -0.088200 0.993300 0.074500 +vn -0.172900 0.982400 0.070200 +vn -0.091700 0.977100 0.191800 +vn 0.553500 0.804500 0.215600 +vn 0.668000 0.616700 0.416400 +vn 0.769000 0.617100 0.166600 +vn -0.849500 -0.527300 -0.015700 +vn -0.814400 -0.563800 0.137300 +vn -0.942800 -0.327100 -0.063700 +vn 0.350300 -0.902400 -0.250800 +vn 0.034100 -0.918000 -0.395100 +vn 0.609000 -0.763800 -0.213700 +vn -0.915700 -0.398100 0.054200 +vn -0.991000 -0.093000 0.095700 +vn -0.989000 -0.128800 -0.072500 +vn 0.755100 0.589800 0.286100 +vn 0.666600 0.601000 0.440900 +vn 0.831600 0.291500 0.472600 +vn -0.504300 0.861900 0.053200 +vn -0.612200 0.753000 -0.241100 +vn -0.429700 0.848700 0.308300 +vn -0.204800 0.951400 0.229800 +vn -0.764100 -0.634100 -0.118300 +vn -0.868000 -0.441100 -0.227900 +vn 0.255000 0.900000 0.353400 +vn -0.129400 0.918500 0.373600 +vn 0.301200 0.859900 0.412000 +vn 0.800000 0.537700 0.266000 +vn 0.760300 0.542800 0.356800 +vn 0.854700 0.429300 0.291800 +vn 0.755800 0.544700 0.363500 +vn 0.655600 0.698400 0.286900 +vn 0.855800 0.486300 0.176400 +vn -0.354900 0.244300 -0.902400 +vn -0.713800 -0.522100 -0.466800 +vn -0.245800 -0.757000 -0.605400 +vn 0.519700 0.819000 0.243100 +vn 0.257300 0.918500 0.300400 +vn 0.693000 0.687200 0.218100 +vn 0.492200 0.825600 0.275600 +vn 0.304400 0.754600 0.581200 +vn 0.109300 0.870100 0.480500 +vn 0.635900 0.689600 0.346400 +vn -0.150800 0.893000 0.424000 +vn -0.426100 0.399700 -0.811600 +vn -0.166600 0.196100 -0.966300 +vn -0.154800 0.203400 -0.966800 +vn -0.308600 0.909100 0.279500 +vn -0.333600 0.872900 0.356100 +vn -0.319700 0.817900 0.478300 +vn -0.926000 0.377600 0.003800 +vn -0.956400 0.267800 0.116800 +vn -0.927600 0.364100 -0.083200 +vn -0.177700 0.930000 -0.321800 +vn -0.213500 0.966300 -0.143600 +vn -0.132600 0.981400 -0.138800 +vn -0.752500 -0.574200 -0.322500 +vn -0.810600 0.280500 -0.514000 +vn -0.768300 -0.165100 -0.618400 +vn -0.899700 -0.430100 -0.074000 +vn -0.994700 -0.067500 -0.077900 +vn -0.990000 -0.094700 0.104100 +vn -0.865200 -0.437900 0.244000 +vn -0.923900 -0.340800 0.174000 +vn -0.203700 0.978300 -0.036900 +vn -0.142300 0.989000 -0.040200 +vn -0.331600 0.905500 -0.264700 +vn -0.179000 0.626100 -0.758900 +vn -0.320100 0.873500 -0.366600 +vn -0.236400 0.963800 -0.122800 +vn -0.225500 0.973300 -0.042900 +vn -0.085500 0.995600 -0.038400 +vn -0.393300 0.342600 -0.853100 +vn -0.344100 0.020600 -0.938700 +vn -0.160000 0.067900 -0.984800 +vn -0.984300 0.165200 -0.061400 +vn -0.950400 0.310600 -0.015300 +vn -0.082900 0.940400 -0.329700 +vn -0.684700 0.642700 0.343600 +vn -0.482800 0.747600 0.456000 +vn -0.504700 0.808300 0.303100 +vn 0.093700 0.644100 0.759100 +vn 0.257500 0.583300 0.770300 +vn 0.154300 0.786600 0.597800 +vn -0.263600 0.963000 0.055100 +vn -0.179600 0.969900 0.164000 +vn -0.986700 0.151000 -0.060000 +vn -0.970000 0.149900 -0.191500 +vn -0.037400 0.999300 -0.006500 +vn -0.192000 0.892800 0.407400 +vn -0.288300 0.940800 0.178100 +vn -0.308900 0.924800 0.221900 +vn -0.369600 0.861700 0.347600 +vn -0.038100 0.968600 -0.245800 +vn 0.004800 0.993700 -0.111500 +vn -0.800700 -0.582500 0.139700 +vn -0.834500 -0.550000 0.032800 +vn 0.589100 0.710700 0.384600 +vn 0.874100 0.472000 0.114500 +vn -0.875400 0.268200 -0.402100 +vn -0.870600 0.401000 -0.284900 +vn -0.779800 0.263200 -0.568000 +vn 0.093300 0.945900 -0.310700 +vn 0.096700 0.538900 -0.836800 +vn 0.286800 0.508700 -0.811700 +vn 0.291100 0.743500 -0.602000 +vn 0.494400 0.816800 0.297200 +vn -0.157100 0.879900 0.448400 +vn -0.259700 0.865500 0.428200 +vn -0.623200 0.726600 0.289100 +vn -0.258200 0.962200 0.086600 +vn 0.006600 0.938800 0.344200 +vn -0.111400 0.921800 0.371400 +vn -0.030400 0.846500 0.531500 +vn -0.973500 -0.041700 -0.224800 +vn -0.999200 0.010400 -0.037400 +vn -0.971400 0.147400 -0.186200 +vn -0.514800 0.782200 0.350900 +vn -0.690900 -0.720500 -0.058900 +vn -0.679500 -0.730700 0.066500 +vn -0.791800 -0.564800 -0.232400 +vn -0.148000 0.833000 0.533100 +vn -0.063800 0.767800 0.637500 +vn 0.615400 0.337400 0.712300 +vn 0.190700 0.518900 0.833200 +vn 0.557600 0.623700 0.547700 +vn -0.886700 -0.413000 0.208000 +vn -0.981100 -0.112000 0.157700 +vn -0.949200 -0.314400 0.015100 +vn -0.386500 -0.309400 0.868800 +vn -0.152000 0.046800 0.987200 +vn -0.412800 0.188000 0.891200 +vn 0.051100 0.295200 0.954000 +vn -0.275500 0.442900 0.853200 +vn -0.419800 0.826200 -0.375700 +vn -0.221600 0.930900 0.290300 +vn 0.204100 0.918100 0.339600 +vn -0.332500 0.750800 0.570800 +vn -0.301900 0.825800 0.476300 +vn 0.007600 0.540600 0.841200 +vn -0.206000 0.699700 0.684100 +vn 0.344900 0.934300 0.089800 +vn -0.825300 -0.562900 0.043700 +vn -0.351800 -0.238000 0.905300 +vn -0.202600 0.579700 0.789200 +vn -0.232100 0.690100 0.685500 +vn -0.434300 0.558700 0.706500 +vn 0.234800 0.947600 0.216400 +vn 0.349900 0.776500 0.523900 +vn -0.455000 0.784500 0.421200 +vn -0.518900 0.478600 0.708300 +vn -0.595700 0.200800 0.777700 +vn -0.373800 0.524900 0.764600 +vn -0.929600 0.308200 -0.202000 +vn 0.047100 -0.573300 -0.818000 +vn -0.037200 -0.432100 -0.901100 +vn 0.076600 -0.491600 -0.867500 +vn 0.135900 0.085500 -0.987000 +vn -0.099000 0.061600 -0.993200 +vn -0.025000 0.112400 -0.993300 +vn -0.380700 0.825200 0.417200 +vn 0.084800 0.978600 0.187200 +vn 0.266000 0.810000 0.522500 +vn -0.058800 0.023000 0.998000 +vn 0.035600 0.516200 0.855700 +vn 0.925200 0.211800 -0.314900 +vn 0.838300 0.282400 -0.466400 +vn 0.863200 0.309200 -0.399100 +vn -0.912900 -0.372400 -0.167100 +vn -0.943800 -0.330400 0.010600 +vn -0.208800 0.963200 -0.169300 +vn -0.246100 0.969200 0.010300 +vn -0.986600 0.025500 -0.160900 +vn -0.994400 -0.066400 -0.081900 +vn 0.844000 0.499200 0.195800 +vn 0.137100 0.990300 -0.020200 +vn 0.061700 0.993100 0.099700 +vn 0.046900 0.636000 0.770200 +vn -0.664300 0.529300 0.527700 +vn -0.948600 0.278800 0.149600 +vn -0.857200 -0.028500 0.514100 +vn 0.158400 0.977100 -0.141600 +vn -0.405100 -0.386000 0.828800 +vn -0.143600 -0.094900 0.985000 +vn 0.344000 0.262000 0.901600 +vn 0.249200 0.388700 0.887000 +vn 0.033300 0.287100 -0.957300 +vn 0.047200 0.482800 -0.874400 +vn 0.144200 0.192100 -0.970700 +vn 0.534000 -0.786900 0.309100 +vn 0.463500 -0.884900 -0.044200 +vn 0.563200 -0.750900 0.344800 +vn -0.933100 0.064100 -0.353900 +vn -0.911600 0.269400 -0.310300 +vn -0.846900 0.365200 -0.386500 +vn 0.115100 -0.027900 -0.993000 +vn 0.047800 -0.281600 -0.958300 +vn -0.037600 -0.137900 -0.989700 +vn -0.575300 0.276300 -0.769900 +vn -0.292000 -0.080800 -0.953000 +vn -0.081100 -0.276500 0.957600 +vn -0.137200 0.804600 0.577700 +vn 0.052400 0.714200 0.698000 +vn -0.792600 0.225800 -0.566300 +vn -0.871700 0.089700 -0.481700 +vn -0.953600 -0.128300 -0.272400 +vn 0.298900 0.113700 -0.947500 +vn 0.267300 -0.178600 -0.946900 +vn 0.490600 0.168100 -0.855000 +vn 0.211800 0.099000 0.972300 +vn 0.234600 0.518700 0.822100 +vn -0.215000 -0.639900 0.737800 +vn 0.046400 -0.577700 0.814900 +vn 0.392300 -0.094700 -0.914900 +vn 0.923000 0.281800 -0.261900 +vn 0.890900 -0.166500 -0.422500 +vn -0.947800 0.019100 -0.318100 +vn -0.292800 -0.239700 -0.925600 +vn -0.209400 -0.423300 -0.881400 +vn -0.077100 -0.530900 -0.843900 +vn 0.918300 0.295600 -0.263200 +vn 0.877800 0.434700 -0.201200 +vn 0.937500 0.330900 -0.107900 +vn 0.567600 -0.330000 -0.754300 +vn 0.668000 -0.425400 -0.610600 +vn 0.619800 -0.603400 -0.501600 +vn -0.180300 -0.397100 -0.899900 +vn 0.453500 -0.859800 -0.234600 +vn 0.821700 -0.546000 -0.163100 +vn 0.931200 -0.326700 -0.161700 +vn 0.198700 0.308300 0.930300 +vn 0.190900 0.474900 0.859100 +vn 0.066600 0.500200 0.863300 +vn 0.450300 -0.543400 -0.708400 +vn 0.876700 0.479300 -0.039600 +vn 0.929700 0.368000 0.016700 +vn 0.749400 -0.236000 -0.618700 +vn 0.671700 0.291700 -0.680900 +vn 0.855600 0.234600 -0.461300 +vn 0.686100 0.366900 -0.628200 +vn -0.264000 0.959300 0.099900 +vn 0.013500 0.979200 0.202300 +vn -0.205700 0.158500 0.965700 +vn -0.371700 0.316400 0.872700 +vn -0.537400 0.198100 0.819700 +vn 0.247200 -0.291400 0.924100 +vn 0.328100 -0.234900 0.914900 +vn 0.070900 -0.560900 0.824800 +vn 0.052500 -0.172200 0.983600 +vn 0.394000 0.500800 0.770700 +vn 0.567400 -0.822200 0.044900 +vn 0.457100 -0.886800 -0.067000 +vn 0.533200 -0.830400 -0.161400 +vn 0.816600 -0.082400 -0.571300 +vn 0.868100 -0.290400 -0.402500 +vn 0.962000 0.018600 -0.272500 +vn 0.985300 0.054000 -0.161800 +vn 0.992400 0.050200 -0.112200 +vn -0.642500 0.592100 -0.486400 +vn -0.593200 0.803000 0.057400 +vn -0.749300 0.627600 0.211400 +vn -0.925100 0.229400 -0.302500 +vn -0.861300 -0.098900 -0.498300 +vn -0.844400 0.303900 -0.441100 +vn -0.703700 -0.709400 -0.038900 +vn -0.698000 -0.686600 -0.203200 +vn -0.695200 -0.685100 -0.217400 +vn -0.245400 0.264100 0.932700 +vn -0.206600 0.323900 0.923200 +vn -0.245900 0.021300 0.969000 +vn 0.093700 -0.301900 0.948700 +vn 0.018700 0.205600 0.978400 +vn 0.086700 0.214500 0.972800 +vn 0.036700 0.423800 0.905000 +vn 0.258100 0.405900 0.876700 +vn 0.375000 0.464200 0.802400 +vn 0.242900 0.595600 0.765600 +vn 0.316900 -0.343200 0.884200 +vn 0.110900 -0.134600 0.984600 +vn 0.115500 -0.434300 0.893300 +vn 0.577800 0.355400 0.734700 +vn 0.429200 0.180900 0.884900 +vn 0.918500 0.386700 -0.082100 +vn 0.993200 0.105000 0.050600 +vn -0.960600 0.272300 0.055500 +vn -0.958000 0.254900 0.131300 +vn -0.944000 0.319700 0.081700 +vn -0.819400 -0.032400 -0.572300 +vn -0.796100 0.059300 -0.602200 +vn -0.003700 0.909600 -0.415300 +vn 0.038400 0.853000 0.520400 +vn -0.221400 0.368600 0.902800 +vn 0.835500 -0.518800 -0.181000 +vn 0.795100 -0.559900 -0.233100 +vn 0.957500 -0.268300 -0.106000 +vn 0.057300 -0.445700 0.893300 +vn -0.070200 -0.738900 0.670100 +vn -0.006300 -0.359200 0.933200 +vn 0.083300 0.584400 0.807200 +vn 0.068700 0.747000 0.661200 +vn 0.087600 0.604800 0.791500 +vn 0.981400 -0.108300 -0.158500 +vn 0.702200 -0.711600 0.022700 +vn 0.827600 -0.383000 0.410300 +vn -0.983200 0.153600 0.098700 +vn -0.008100 -0.595000 -0.803600 +vn -0.097300 -0.599400 -0.794500 +vn 0.248300 -0.841000 -0.480700 +vn 0.973000 0.225400 0.049100 +vn 0.977500 0.200800 -0.064800 +vn 0.996300 0.083700 -0.020400 +vn -0.219100 0.937300 -0.270800 +vn -0.928700 -0.363700 -0.072400 +vn 0.277400 0.917400 -0.285300 +vn 0.024200 -0.997900 0.060300 +vn 0.025400 -0.996700 0.077000 +vn 0.016400 -0.998000 0.060000 +vn 0.321800 -0.402400 0.857000 +vn 0.213600 -0.283900 0.934700 +vn 0.140700 -0.707100 0.692900 +vn 0.170200 0.016300 0.985300 +vn 0.990500 -0.070000 -0.118100 +vn 0.943400 0.211700 -0.255400 +vn 0.917600 0.370900 -0.142900 +vn 0.783300 -0.465200 -0.412200 +vn 0.737400 -0.607700 -0.294900 +vn 0.445200 -0.607800 -0.657500 +vn 0.963700 -0.260600 0.057800 +vn -0.314700 0.129100 0.940300 +vn -0.443900 0.008100 0.896000 +vn -0.349600 0.161000 0.922900 +vn 0.218500 0.583100 0.782400 +vn 0.391200 0.598800 0.698800 +vn 0.091100 0.612800 0.785000 +vn 0.140500 0.182500 0.973100 +vn 0.227400 0.391900 0.891400 +vn 0.244300 -0.157300 0.956800 +vn 0.207900 -0.256600 0.943800 +vn 0.653700 0.273400 0.705600 +vn 0.279500 0.606500 0.744300 +vn 0.959000 -0.023100 -0.282500 +vn 0.971800 0.039200 -0.232400 +vn 0.892600 -0.094300 -0.440700 +vn 0.167200 0.960500 0.222400 +vn 0.334100 0.936000 -0.111100 +vn 0.460500 0.887100 -0.031400 +vn 0.456000 0.879200 -0.137600 +vn -0.282600 -0.376800 0.882100 +vn -0.242500 -0.222700 0.944200 +vn -0.460000 -0.325200 0.826200 +vn -0.470700 -0.148200 0.869700 +vn -0.219200 0.257800 0.941000 +vn 0.913300 -0.044100 -0.404800 +vn 0.936300 0.064300 -0.345300 +vn -0.017800 -0.277300 0.960600 +vn -0.083000 -0.379500 0.921400 +vn -0.054400 -0.274800 0.960000 +vn -0.088600 0.527800 0.844700 +vn -0.139300 0.696700 0.703600 +vn 0.105900 0.657300 0.746100 +vn 0.156400 -0.083300 0.984200 +vn 0.219300 -0.075800 0.972700 +vn 0.161300 0.021500 0.986700 +vn 0.518800 0.276300 0.808900 +vn 0.532700 0.284400 0.797100 +vn 0.344500 0.587100 0.732500 +vn -0.080800 -0.275400 0.957900 +vn -0.237300 -0.186800 0.953300 +vn 0.741000 -0.179700 0.647000 +vn 0.761300 -0.274100 0.587500 +vn 0.703400 -0.077300 0.706600 +vn -0.695500 -0.690100 0.200300 +vn -0.800800 -0.447600 0.397900 +vn 0.864900 0.389100 0.317000 +vn 0.855400 0.504200 0.118200 +vn 0.827400 0.486800 0.279900 +vn -0.518900 -0.174400 -0.836800 +vn -0.438600 -0.172900 -0.881900 +vn -0.548600 -0.363800 -0.752700 +vn -0.059200 -0.243000 0.968200 +vn -0.209300 0.117600 0.970700 +vn -0.068000 0.312700 0.947400 +vn 0.113600 -0.109300 0.987500 +vn 0.347200 -0.464700 0.814500 +vn 0.504500 -0.330400 0.797700 +vn -0.342300 -0.431700 -0.834500 +vn -0.523800 -0.344000 -0.779300 +vn -0.293600 -0.623000 -0.725000 +vn -0.174700 0.051200 0.983300 +vn 0.870400 -0.448900 -0.202300 +vn 0.774400 0.565600 0.283300 +vn 0.733900 0.501500 0.458100 +vn 0.820000 0.427700 0.380400 +vn -0.090400 0.301900 0.949000 +vn -0.069300 0.434100 0.898200 +vn 0.103800 0.132200 0.985700 +vn -0.025800 -0.301200 0.953200 +vn -0.152800 -0.056000 0.986700 +vn 0.138300 -0.201800 0.969600 +vn 0.483000 0.284800 -0.828000 +vn 0.630800 0.059400 -0.773600 +vn -0.974200 -0.162800 0.156200 +vn -0.988200 -0.071800 0.135400 +vn -0.948300 0.270700 -0.165500 +vn -0.318700 0.712700 0.624800 +vn 0.335400 -0.665500 -0.666700 +vn 0.229400 -0.829700 -0.508800 +vn 0.483600 -0.779800 -0.397500 +vn -0.292900 -0.803900 -0.517700 +vn -0.303700 -0.860700 -0.408600 +vn -0.319700 -0.906700 -0.274900 +vn -0.174400 -0.331100 0.927300 +vn -0.184700 -0.216600 0.958600 +vn 0.016100 -0.120600 0.992600 +vn 0.001400 0.126600 0.991900 +vn -0.138800 0.718300 0.681800 +vn 0.002300 0.502500 0.864600 +vn 0.293400 0.138300 0.945900 +vn -0.719400 -0.221700 -0.658200 +vn -0.702600 -0.160100 -0.693300 +vn -0.904300 -0.095600 -0.416100 +vn -0.150800 -0.114000 0.982000 +vn 0.044800 0.258100 0.965100 +vn 0.275000 -0.037800 0.960700 +vn 0.095400 -0.206500 0.973800 +vn 0.004000 0.107700 0.994100 +vn -0.882000 -0.350800 -0.314600 +vn -0.981800 0.071800 -0.175800 +vn -0.638400 -0.755000 -0.149400 +vn -0.114600 0.370400 0.921800 +vn 0.556500 0.142700 0.818500 +vn 0.281000 0.027500 0.959300 +vn 0.057200 0.388700 0.919600 +vn -0.469600 0.134700 -0.872500 +vn -0.745000 0.306600 -0.592300 +vn -0.591300 0.546900 -0.592600 +vn 0.016400 -0.065300 0.997700 +vn 0.420800 -0.569400 0.706200 +vn -0.437400 -0.317500 0.841400 +vn -0.712400 -0.165200 0.682000 +vn -0.494400 -0.117900 0.861200 +vn 0.248700 0.963700 0.096800 +vn 0.375600 0.858100 0.350100 +vn -0.272700 0.325500 -0.905300 +vn -0.364900 0.420200 -0.830800 +vn -0.315100 0.347500 -0.883100 +vn -0.164300 -0.527800 0.833200 +vn -0.058500 -0.488100 0.870800 +vn 0.183600 0.159800 0.969900 +vn 0.042100 0.415100 0.908800 +vn 0.177900 -0.039900 0.983200 +vn 0.258100 0.188000 0.947600 +vn 0.149000 0.205500 0.967200 +vn 0.995000 -0.067000 -0.074500 +vn 0.876500 0.300100 -0.376400 +vn 0.807600 -0.229300 -0.543300 +vn -0.040200 0.664400 0.746200 +vn -0.127900 -0.524100 0.842000 +vn -0.064800 0.879700 0.471100 +vn -0.630400 -0.620300 -0.466700 +vn -0.722200 -0.469000 -0.508300 +vn -0.058300 0.024200 -0.998000 +vn 0.107200 0.203200 -0.973200 +vn -0.123600 -0.146700 0.981400 +vn -0.026500 0.509600 0.860000 +vn 0.296000 0.048500 0.953900 +vn 0.067400 0.101200 0.992600 +vn -0.042000 0.091900 0.994900 +vn 0.987100 -0.094900 0.129100 +vn 0.991300 0.129900 0.021100 +vn 0.951800 0.141700 0.272100 +vn 0.132300 0.333500 0.933400 +vn -0.240900 0.346300 0.906600 +vn 0.074200 0.776000 0.626400 +vn -0.081300 0.673900 0.734300 +vn 0.145100 0.087600 -0.985500 +vn 0.317000 -0.897500 -0.306500 +vn 0.022000 -0.939600 -0.341600 +vn -0.059800 -0.575500 0.815500 +vn 0.044200 -0.307900 0.950400 +vn -0.070700 -0.030100 0.997000 +vn 0.024700 0.283900 0.958500 +vn 0.279800 0.281000 0.918000 +vn 0.083000 0.213100 0.973500 +vn -0.146200 0.164900 0.975400 +vn 0.275500 0.210100 0.938000 +vn 0.242000 0.261500 0.934400 +vn 0.236200 0.242900 0.940800 +vn 0.075100 0.672100 0.736600 +vn 0.374400 -0.918700 0.125600 +vn 0.349200 -0.936400 -0.033800 +vn -0.173600 0.935400 0.308100 +vn -0.347100 0.216900 -0.912400 +vn -0.012300 -0.340700 0.940100 +vn 0.026300 0.140500 0.989700 +vn -0.186400 -0.566400 0.802700 +vn 0.231500 0.462200 0.856000 +vn 0.120000 0.403300 0.907200 +vn -0.139000 0.495700 0.857300 +vn -0.065900 0.628500 0.775000 +vn 0.352300 0.242400 0.903900 +vn 0.422600 0.256900 0.869100 +vn 0.568500 0.212000 0.794800 +vn 0.120200 0.432100 0.893800 +vn 0.299300 0.714300 0.632500 +vn 0.676000 -0.691800 -0.253900 +vn 0.846700 -0.485700 -0.217000 +vn 0.814000 -0.575100 -0.081300 +vn 0.354700 0.423600 0.833500 +vn -0.567600 0.771800 -0.286700 +vn -0.463600 0.753000 -0.466900 +vn -0.698300 0.577900 -0.422300 +vn 0.771100 0.483700 0.414000 +vn 0.855700 0.355900 0.375500 +vn -0.148400 -0.286400 0.946500 +vn -0.376800 -0.207800 0.902700 +vn -0.369900 -0.342400 0.863600 +vn -0.454800 0.104500 0.884400 +vn -0.477700 -0.473500 0.740000 +vn 0.142500 -0.226800 0.963400 +vn -0.050100 0.173900 0.983500 +vn 0.017600 0.348000 0.937300 +vn -0.010400 0.522300 0.852700 +vn 0.056000 0.628800 0.775600 +vn -0.130700 -0.099100 0.986400 +vn 0.123000 -0.156900 0.979900 +vn -0.088300 -0.323100 0.942200 +vn 0.300500 0.534500 0.789900 +vn 0.280200 0.475800 0.833600 +vn 0.204400 0.446800 0.870900 +vn 0.881800 0.440500 0.168500 +vn 0.836100 0.536900 0.112700 +vn -0.018200 -0.343900 0.938800 +vn 0.094400 0.428500 0.898600 +vn 0.242500 -0.000200 0.970100 +vn 0.040800 0.535300 0.843700 +vn -0.060200 0.902400 0.426600 +vn 0.089800 0.727900 0.679700 +vn -0.421500 0.675400 0.605000 +vn 0.180400 -0.037600 0.982800 +vn 0.040800 0.174800 0.983700 +vn 0.180400 0.133600 0.974500 +vn 0.130800 0.397200 0.908400 +vn 0.157100 0.367400 0.916700 +vn 0.018400 0.341500 0.939700 +vn 0.998400 -0.035000 0.044200 +vn 0.952900 0.249200 0.172700 +vn 0.998300 -0.036100 0.046200 +vn 0.253500 0.477800 0.841100 +vn 0.918000 0.009700 0.396400 +vn 0.175800 -0.954000 -0.242800 +vn 0.063600 -0.973700 -0.218700 +vn 0.527700 -0.814400 -0.241300 +vn -0.088000 0.420400 0.903000 +vn 0.340600 -0.085500 0.936300 +vn -0.216100 0.914900 0.341000 +vn -0.150100 0.877900 0.454600 +vn 0.246200 -0.144100 -0.958400 +vn 0.625100 -0.506100 -0.594200 +vn -0.924300 -0.347000 0.158400 +vn -0.977100 0.209000 -0.040900 +vn -0.660000 -0.751200 0.006100 +vn 0.112900 0.208600 0.971400 +vn 0.028200 0.326300 0.944900 +vn 0.084400 -0.573600 0.814800 +vn 0.316000 -0.475700 0.820900 +vn 0.075700 -0.281000 0.956700 +vn -0.181700 -0.282100 0.942000 +vn 0.263200 0.201800 0.943400 +vn 0.212500 0.232300 0.949100 +vn 0.317000 0.169900 0.933000 +vn -0.174700 0.599600 0.780900 +vn -0.628300 0.061000 0.775500 +vn -0.798600 0.407000 0.443400 +vn 0.095300 -0.258600 0.961200 +vn 0.127800 -0.613300 0.779400 +vn -0.137500 0.405700 0.903600 +vn 0.014100 0.561900 0.827100 +vn 0.282700 -0.787900 -0.547000 +vn 0.692600 -0.662300 -0.285700 +vn -0.215200 0.141900 0.966200 +vn 0.274100 -0.189000 0.942900 +vn 0.367100 -0.131300 0.920800 +vn 0.285900 0.078700 0.955000 +vn 0.304500 0.063000 0.950400 +vn -0.988400 0.060500 0.139200 +vn -0.951100 -0.020500 -0.308200 +vn -0.998100 -0.000200 -0.060700 +vn 0.398200 -0.574500 0.715000 +vn -0.240700 0.726800 0.643200 +vn 0.191000 0.475400 0.858800 +vn 0.383300 0.127900 0.914700 +vn 0.316900 0.580800 0.749700 +vn 0.522300 0.329800 0.786400 +vn 0.799200 0.546000 -0.251100 +vn 0.545500 0.251400 -0.799500 +vn -0.119500 0.301300 -0.946000 +vn 0.153400 0.128300 0.979800 +vn 0.087000 -0.810600 -0.579000 +vn 0.434400 -0.797400 -0.418800 +vn 0.375400 0.302000 0.876200 +vn -0.845900 0.357200 -0.395900 +vn -0.700900 0.538700 -0.467400 +vn 0.002800 0.440200 0.897900 +vn 0.472200 0.819900 0.323500 +vn 0.705000 -0.131400 -0.696900 +vn 0.561500 0.008600 -0.827400 +vn 0.548400 -0.023100 -0.835900 +vn -0.194300 -0.273200 0.942100 +vn 0.136300 -0.111600 0.984300 +vn 0.173700 0.161900 0.971400 +vn 0.158200 0.340800 0.926700 +vn -0.065600 0.720300 0.690500 +vn -0.145200 -0.588800 -0.795100 +vn -0.001900 -0.807600 -0.589600 +vn 0.253100 -0.861400 -0.440300 +vn 0.142800 -0.758000 -0.636400 +vn 0.278500 -0.919300 -0.277800 +vn 0.536500 0.250800 0.805700 +vn 0.377200 0.226100 0.898100 +vn -0.103000 -0.030900 0.994200 +vn 0.064300 0.601200 0.796500 +vn 0.017500 0.641600 0.766900 +vn 0.992100 -0.034300 0.120200 +vn 0.947900 0.076900 0.309000 +vn 0.657600 -0.749400 -0.077100 +vn 0.127300 0.351300 0.927500 +vn -0.123600 -0.161700 0.979100 +vn -0.079000 -0.042300 0.996000 +vn 0.206900 0.444300 0.871600 +vn 0.732400 -0.655500 -0.184000 +vn 0.290300 -0.037300 0.956200 +vn 0.029200 -0.003500 0.999500 +vn 0.111600 0.464600 0.878500 +vn -0.965800 -0.221800 0.134100 +vn -0.136100 -0.117600 0.983700 +vn 0.030300 0.027400 0.999100 +vn 0.074200 0.207300 0.975400 +vn -0.965700 0.210700 0.151900 +vn 0.981800 -0.188500 -0.021400 +vn -0.011200 0.648100 0.761500 +vn 0.264100 0.318900 0.910200 +vn 0.143100 -0.187800 0.971700 +vn 0.042800 -0.169400 0.984600 +vn 0.007100 -0.101400 0.994800 +vn 0.992100 0.047500 0.115600 +vn -0.684800 0.728300 -0.025400 +vn -0.448000 0.890700 -0.077000 +vn 0.026300 0.078300 0.996600 +vn -0.083400 0.204800 0.975200 +vn -0.174400 -0.010000 0.984600 +vn -0.028300 0.304700 0.952000 +vn 0.101700 0.138600 0.985100 +vn 0.058500 -0.065900 0.996100 +vn -0.158900 -0.039700 0.986500 +vn -0.229900 0.035700 0.972500 +vn 0.014800 0.367600 0.929800 +vn 0.935700 0.300600 -0.184500 +vn 0.935200 0.349200 0.057800 +vn 0.976000 -0.217700 -0.008600 +vn 0.391800 -0.775400 -0.495100 +vn 0.358200 -0.681700 -0.637900 +vn 0.409100 -0.910200 -0.065100 +vn 0.480500 -0.713100 0.510500 +vn 0.170700 -0.120300 0.977900 +vn -0.236500 0.188400 0.953200 +vn 0.190100 0.396000 0.898300 +vn -0.012000 0.567200 0.823500 +vn 0.073100 0.578900 0.812100 +vn -0.000500 0.655000 0.755600 +vn -0.104100 0.801800 0.588400 +vn -0.377900 0.920100 0.102400 +vn -0.441400 0.892200 -0.095800 +vn -0.609500 0.783400 0.121100 +vn 0.580600 0.027600 0.813700 +vn 0.281600 0.484000 0.828500 +vn -0.115000 0.708400 0.696400 +vn -0.024000 0.578500 0.815300 +vn 0.031600 0.702700 0.710800 +vn -0.102800 0.679800 0.726100 +vn -0.135300 0.359900 0.923100 +vn 0.928300 0.082900 -0.362400 +vn 0.926900 -0.134200 -0.350500 +vn 0.623200 0.035700 0.781200 +vn 0.280100 -0.113900 0.953200 +vn 0.201700 -0.128800 0.970900 +vn 0.112400 0.022200 0.993400 +vn -0.031500 -0.094000 0.995100 +vn -0.189200 0.003600 0.981900 +vn -0.205900 0.378800 0.902200 +vn -0.131000 0.491000 0.861200 +vn 0.285300 -0.154300 0.945900 +vn 0.911700 0.394800 0.113900 +vn 0.940800 0.308900 0.139500 +vn 0.345200 -0.927300 -0.144400 +vn 0.673600 -0.705800 -0.219200 +vn -0.373900 0.530300 0.760800 +vn 0.039500 0.412100 0.910300 +vn 0.331700 -0.058700 0.941500 +vn 0.337700 -0.197100 0.920300 +vn 0.146900 -0.142600 0.978800 +vn -0.177000 0.532700 0.827500 +vn 0.185500 0.301500 0.935200 +vn 0.279900 0.302700 0.911100 +vn 0.024800 0.026200 0.999300 +vn 0.767100 -0.208900 0.606600 +vn 0.358900 -0.149300 0.921400 +vn -0.103500 -0.262900 0.959300 +vn -0.146500 -0.267400 0.952400 +vn -0.194200 0.474300 0.858600 +vn 0.510000 0.142700 0.848200 +vn 0.719700 -0.083700 0.689100 +vn 0.751600 0.624800 0.211300 +vn 0.488300 0.858700 0.155600 +vn 0.359200 -0.162500 0.919000 +vn 0.167700 -0.158000 0.973100 +vn -0.088100 0.638800 0.764200 +vn -0.046000 0.774600 0.630800 +vn -0.051500 -0.165500 0.984800 +vn -0.104800 0.518400 0.848600 +vn -0.069200 0.406800 0.910900 +vn 0.124800 0.085500 0.988500 +vn 0.250500 -0.191200 0.949000 +vn -0.019000 0.051800 0.998500 +vn -0.034200 0.204400 0.978300 +vn -0.521300 -0.800400 -0.295800 +vn -0.956900 -0.130200 -0.259400 +vn -0.984200 0.171100 -0.044800 +vn -0.481200 -0.193700 0.854900 +vn -0.139800 0.403500 0.904200 +vn 0.304500 0.399900 0.864400 +vn 0.051400 0.635000 0.770800 +vn 0.670300 -0.643100 -0.370300 +vn -0.097800 -0.241300 0.965500 +vn -0.481200 -0.308300 0.820600 +vn -0.657200 -0.111200 0.745400 +vn -0.389900 0.039600 0.920000 +vn 0.028100 0.226300 0.973600 +vn 0.991900 0.112200 0.059400 +vn 0.974600 0.186700 0.123300 +vn 0.618000 -0.376400 0.690200 +vn 0.117100 0.098600 0.988200 +vn 0.338200 0.402000 0.850900 +vn 0.297700 0.545600 0.783300 +vn -0.867200 -0.213800 0.449800 +vn -0.878400 0.042000 0.476000 +vn 0.779800 0.159700 -0.605300 +vn 0.825800 0.397200 -0.400300 +vn 0.255700 0.966000 0.037700 +vn -0.348700 -0.157200 0.923900 +vn -0.405800 0.167900 0.898400 +vn 0.843200 0.403300 -0.355400 +vn 0.810000 0.506500 -0.295600 +vn 0.211500 0.806200 0.552400 +vn 0.176200 0.620200 0.764400 +vn 0.909500 0.287200 0.300500 +vn 0.984000 0.075400 0.161200 +vn 0.729000 -0.633100 -0.260200 +vn 0.845600 -0.487400 -0.217700 +vn -0.314400 0.842300 0.437700 +vn -0.507200 0.704600 0.496200 +vn -0.315700 0.733300 0.602100 +vn -0.662800 -0.250000 0.705700 +vn -0.173900 0.155900 0.972300 +vn -0.259600 0.569900 0.779600 +vn -0.222800 0.440000 0.869900 +vn -0.114400 0.714200 -0.690500 +vn -0.114100 0.624900 -0.772300 +vn -0.148800 0.608200 -0.779700 +vn 0.077900 0.028700 0.996500 +vn -0.011200 -0.083300 -0.996500 +vn 0.961100 -0.267700 -0.067300 +vn -0.773300 -0.028800 0.633400 +vn -0.793900 -0.143200 0.590800 +vn -0.820900 -0.275400 0.500300 +vn -0.933300 -0.038100 0.357000 +vn -0.995800 -0.083000 0.039600 +vn -0.894500 -0.296000 0.334800 +vn 0.717900 -0.330100 0.612900 +vn -0.402200 0.358000 0.842600 +vn -0.212700 0.461400 0.861300 +vn -0.276900 0.645300 0.711900 +vn -0.159200 0.846600 0.507800 +vn -0.191700 -0.095600 -0.976800 +vn -0.241600 -0.397200 -0.885300 +vn -0.044600 0.791900 0.608900 +vn 0.145000 0.905500 0.398800 +vn 0.379200 0.925200 0.013200 +vn -0.401600 0.354200 0.844500 +vn -0.024100 0.619700 0.784500 +vn -0.367300 0.771500 0.519500 +vn -0.618000 0.471400 0.629200 +vn 0.547700 0.249800 0.798500 +vn -0.116500 0.333200 0.935600 +vn 0.238500 -0.899300 -0.366600 +vn 0.505200 -0.849700 -0.150900 +vn 0.710400 0.033700 0.702900 +vn 0.318900 0.479100 0.817700 +vn -0.124100 0.850700 0.510800 +vn -0.293300 0.392400 0.871700 +vn 0.103400 0.347700 0.931900 +vn 0.012100 0.817600 0.575700 +vn -0.063300 0.234100 0.970100 +vn -0.168400 0.642700 0.747400 +vn -0.108100 0.603400 0.790000 +vn -0.947400 0.096700 -0.305100 +vn 0.187800 0.900200 0.392900 +vn 0.756100 0.286500 0.588400 +vn 0.812900 0.375600 0.445100 +vn 0.462400 0.868600 0.177900 +vn -0.163600 0.364900 0.916500 +vn 0.416400 -0.124000 0.900700 +vn 0.342100 0.914000 0.218000 +vn -0.959900 0.220300 -0.173500 +vn -0.988100 -0.108200 0.109200 +vn -0.954400 -0.241900 -0.174500 +vn -0.275300 0.569900 0.774200 +vn 0.590600 0.321200 -0.740300 +vn 0.583200 0.215500 0.783200 +vn 0.380700 0.259500 0.887500 +vn -0.517900 0.161000 0.840100 +vn -0.778300 -0.127600 0.614700 +vn -0.113700 -0.328600 -0.937600 +vn -0.630900 -0.354400 -0.690100 +vn -0.473300 -0.411600 -0.778800 +vn 0.314600 0.703600 0.637100 +vn 0.323100 0.692300 0.645200 +vn 0.237300 0.543900 0.804800 +vn 0.028300 0.265300 0.963700 +vn 0.481800 -0.095900 0.871000 +vn 0.254600 0.066100 0.964800 +vn 0.157300 0.710200 0.686200 +vn -0.974700 0.191500 -0.114800 +vn -0.892100 0.416700 0.174300 +vn -0.725200 0.678900 -0.114600 +vn 0.391500 0.857700 -0.333200 +vn -0.459900 0.874900 0.151900 +vn -0.483900 0.846700 -0.221100 +vn 0.536100 -0.844000 0.012900 +vn -0.048100 0.304200 0.951400 +vn -0.327300 0.232000 -0.916000 +vn -0.588400 0.403800 -0.700500 +vn -0.185600 0.312300 -0.931700 +vn 0.284100 0.029400 0.958300 +vn 0.323300 -0.004600 0.946300 +vn 0.274700 0.481300 0.832400 +vn -0.261500 0.215300 0.940900 +vn -0.497700 -0.359500 0.789300 +vn 0.027600 0.995200 -0.093500 +vn 0.178700 0.963000 0.201800 +vn -0.230800 -0.607100 -0.760400 +vn -0.545700 0.042300 0.836900 +vn -0.388000 -0.267400 0.882000 +vn -0.284100 0.045600 0.957700 +vn -0.242000 -0.082000 0.966800 +vn 0.544200 0.347600 0.763500 +vn -0.151200 0.194100 0.969200 +vn -0.413400 0.326400 0.850000 +vn -0.129000 0.529200 0.838600 +vn -0.270200 0.557200 0.785200 +vn 0.696300 -0.159400 -0.699800 +vn 0.643600 -0.156200 -0.749300 +vn 0.567600 0.011400 -0.823100 +vn 0.277400 -0.079700 0.957400 +vn -0.583400 0.810400 0.053400 +vn -0.243400 -0.253200 0.936300 +vn 0.092300 -0.103300 0.990300 +vn -0.389800 -0.398300 0.830300 +vn -0.680300 -0.193900 0.706800 +vn -0.412700 -0.274000 0.868700 +vn -0.036800 -0.250300 0.967400 +vn -0.232200 0.440500 0.867200 +vn -0.418400 0.519200 0.745200 +vn 0.337900 0.874200 0.348600 +vn -0.006200 -0.990400 0.138000 +vn -0.069800 -0.857200 0.510100 +vn 0.002800 -0.995100 0.099100 +vn -0.162300 0.309800 0.936800 +vn -0.255700 0.632300 0.731300 +vn -0.017200 0.061900 0.997900 +vn -0.530400 -0.233300 0.815000 +vn -0.290700 -0.359900 0.886500 +vn -0.279400 -0.149200 0.948500 +vn -0.191400 -0.185400 0.963800 +vn 0.023600 -0.025600 0.999400 +vn -0.065600 0.206800 0.976200 +vn -0.238000 0.667000 0.705900 +vn -0.808500 0.143700 -0.570700 +vn -0.794400 0.228200 -0.562900 +vn 0.326900 0.932000 0.156600 +vn -0.194300 0.505800 0.840400 +vn -0.260200 0.753900 0.603300 +vn 0.555500 -0.733600 -0.391400 +vn 0.928100 -0.127000 -0.350000 +vn -0.075700 -0.255200 0.963900 +vn -0.070500 0.093200 0.993100 +vn -0.263500 -0.526900 0.808000 +vn -0.307100 -0.274000 0.911300 +vn -0.142600 -0.047900 0.988600 +vn -0.136000 0.155600 0.978400 +vn -0.161900 0.362700 0.917700 +vn 0.370000 0.468400 0.802200 +vn -0.271900 -0.362700 0.891400 +vn -0.278100 -0.187800 0.942000 +vn -0.199500 -0.113200 0.973300 +vn -0.083100 0.390300 0.916900 +vn -0.026200 0.151400 0.988100 +vn 0.962400 0.179800 -0.203700 +vn -0.039000 0.137200 0.989700 +vn -0.039700 -0.308600 -0.950300 +vn -0.306500 0.948100 0.084900 +vn -0.274500 -0.026500 0.961200 +vn 0.052100 0.108400 0.992700 +vn -0.088200 0.913100 0.398100 +vn -0.309900 0.818800 0.483300 +vn -0.024200 0.715100 0.698500 +vn -0.939900 0.306300 0.150800 +vn 0.356200 -0.043400 0.933400 +vn 0.249900 0.030600 0.967800 +vn 0.479600 0.004000 0.877500 +vn 0.792700 -0.147000 0.591600 +vn -0.480700 0.801800 0.355000 +vn 0.591600 0.475300 0.651200 +vn 0.481000 0.471700 0.738900 +vn 0.457800 0.342000 0.820600 +vn 0.440400 -0.161100 0.883200 +vn 0.557500 -0.447600 0.699100 +vn 0.440400 0.306600 0.843800 +vn 0.394300 -0.184000 0.900400 +vn 0.454400 -0.222700 0.862500 +vn 0.095600 -0.896200 0.433200 +vn 0.260300 -0.507500 0.821300 +vn 0.238100 -0.542100 0.805900 +vn 0.519200 0.399100 0.755700 +vn 0.433900 0.274600 0.858100 +vn 0.530600 0.323600 0.783400 +vn 0.576000 0.079600 0.813600 +vn 0.420400 -0.233600 0.876700 +vn 0.434600 -0.174500 0.883500 +vn 0.304300 -0.068800 0.950100 +vn 0.679500 -0.174100 0.712700 +vn 0.860200 -0.114900 0.496800 +vn 0.797900 -0.256800 0.545300 +vn 0.945100 0.073900 -0.318300 +vn -0.251600 0.031300 0.967300 +vn 0.264600 -0.304800 0.914900 +vn 0.757600 0.132200 0.639200 +vn 0.626400 -0.383100 0.678800 +vn -0.188000 -0.495200 -0.848200 +vn -0.001000 -0.631800 -0.775100 +vn 0.450800 -0.449400 0.771200 +vn 0.460600 -0.605500 0.649000 +vn 0.446500 -0.342300 0.826700 +vn 0.649400 -0.650700 -0.393500 +vn 0.662200 -0.688700 -0.295100 +vn 0.707800 -0.559700 -0.431000 +vn 0.691800 -0.014500 -0.721900 +vn 0.677200 -0.273500 -0.683000 +vn 0.754100 -0.298400 -0.585000 +vn 0.428900 0.555800 0.712100 +vn 0.180300 0.791500 0.584000 +vn 0.481400 -0.177000 0.858400 +vn 0.494000 -0.220600 0.841000 +vn 0.504500 -0.237800 0.830000 +vn 0.905100 0.343500 0.250400 +vn -0.654400 0.450400 -0.607300 +vn 0.454600 0.368200 0.811000 +vn 0.439800 -0.223400 0.869900 +vn 0.435500 -0.172700 0.883400 +vn 0.807200 -0.054000 0.587800 +vn 0.078900 -0.333100 0.939600 +vn -0.195000 -0.606100 0.771100 +vn 0.065500 -0.842200 0.535200 +vn 0.622800 0.278500 0.731100 +vn 0.718200 0.516600 -0.466200 +vn 0.791400 0.497000 -0.355800 +vn 0.796700 0.411700 -0.442500 +vn 0.705000 0.211400 0.676900 +vn -0.967500 0.240700 0.077500 +vn -0.906200 0.110500 0.408200 +vn -0.994600 0.082900 -0.061500 +vn 0.343100 0.537100 0.770600 +vn 0.702800 0.344300 0.622500 +vn 0.531100 0.390100 0.752100 +vn 0.476500 0.421300 0.771600 +vn 0.333200 -0.127700 0.934100 +vn 0.167600 0.723900 0.669100 +vn 0.313900 -0.797100 0.515800 +vn 0.028100 -0.703900 -0.709700 +vn 0.759800 -0.414700 0.500700 +vn 0.609900 -0.608400 0.507700 +vn -0.702900 -0.711100 -0.017200 +vn 0.641100 -0.138900 0.754700 +vn 0.774500 0.301100 0.556300 +vn 0.673000 0.083400 0.734900 +vn 0.796200 -0.354500 0.490200 +vn 0.488700 -0.508300 0.709000 +vn 0.562700 -0.691900 0.452400 +vn 0.219400 0.629000 0.745700 +vn 0.842500 0.040300 0.537100 +vn 0.935700 0.000600 0.352800 +vn 0.473100 -0.748500 0.464600 +vn 0.531700 -0.793600 0.295900 +vn 0.847700 -0.213300 0.485600 +vn 0.779200 0.326100 0.535100 +vn 0.836400 -0.064300 0.544300 +vn 0.800800 -0.254300 0.542200 +vn 0.812900 -0.093100 0.574900 +vn 0.685900 -0.024600 0.727300 +vn 0.729600 -0.192800 0.656100 +vn 0.816000 0.245600 0.523200 +vn 0.835400 0.335600 0.435300 +vn 0.758600 0.350000 0.549500 +vn -0.091500 0.126300 -0.987700 +vn -0.085200 0.233400 -0.968600 +vn 0.605000 -0.726600 0.325500 +vn 0.409700 -0.848400 0.335000 +vn 0.756000 -0.521300 0.395700 +vn 0.823500 0.084200 0.561000 +vn 0.930700 -0.324800 -0.168200 +vn 0.631500 0.447700 0.633000 +vn 0.808200 -0.034600 0.587800 +vn 0.768000 -0.020000 0.640100 +vn 0.706700 -0.060700 0.704900 +vn 0.625000 0.093100 0.775000 +vn 0.625300 0.033100 0.779600 +vn 0.550100 0.119700 0.826400 +vn 0.335400 0.646300 0.685400 +vn 0.693400 0.391100 0.605100 +vn 0.590200 -0.214200 0.778300 +vn 0.546900 -0.000800 0.837200 +vn 0.548800 -0.045600 0.834700 +vn 0.773800 -0.015100 0.633200 +vn 0.831800 0.062200 0.551500 +vn 0.751800 -0.027400 0.658800 +vn 0.743400 0.129600 0.656100 +vn -0.002400 0.419500 -0.907700 +vn 0.000500 0.390700 -0.920500 +vn 0.038700 0.274700 -0.960800 +vn 0.412200 0.131700 0.901500 +vn 0.731500 0.300000 0.612300 +vn 0.863600 0.342500 0.369800 +vn 0.794000 0.262900 0.548100 +vn 0.462600 0.224100 0.857700 +vn 0.513000 -0.084700 0.854200 +vn 0.545500 -0.570000 0.614400 +vn 0.376300 0.526900 0.762000 +vn 0.649000 0.423000 0.632300 +vn 0.554900 0.294700 0.777900 +vn 0.481700 -0.480300 0.733000 +vn 0.878200 -0.014700 0.478000 +vn 0.759200 0.068900 0.647200 +vn 0.002400 0.236400 -0.971600 +vn -0.139800 0.412100 -0.900300 +vn 0.843300 -0.041900 0.535800 +vn 0.477500 -0.333000 0.813000 +vn 0.619100 -0.394600 0.678900 +vn 0.538000 -0.374300 0.755200 +vn 0.461000 -0.157400 0.873300 +vn 0.666800 -0.379200 0.641500 +vn 0.611600 -0.018400 0.790900 +vn 0.590900 -0.188900 0.784300 +vn 0.385500 0.125500 0.914100 +vn 0.491700 -0.132100 0.860700 +vn 0.725900 -0.408500 0.553300 +vn 0.521300 -0.605900 -0.600900 +vn 0.582100 -0.521000 0.624100 +vn 0.599800 -0.341900 0.723400 +vn 0.508900 0.337400 0.791900 +vn 0.508700 0.462600 0.726100 +vn 0.611100 0.365500 0.702000 +vn 0.740300 -0.127300 0.660100 +vn 0.596000 -0.416000 0.686800 +vn 0.591400 -0.025100 0.806000 +vn -0.020700 0.323600 -0.946000 +vn 0.578700 -0.031600 0.814900 +vn -0.142900 -0.082200 0.986300 +vn 0.192500 0.075700 0.978400 +vn -0.847000 -0.312300 -0.430100 +vn 0.290700 0.001400 0.956800 +vn 0.708900 -0.644200 0.287100 +vn 0.606600 -0.468800 0.642000 +vn 0.451100 -0.887800 0.091600 +vn 0.541300 0.485200 0.686700 +vn 0.790300 0.145100 0.595300 +vn -0.489000 -0.542300 -0.683200 +vn 0.148900 -0.723500 -0.674000 +vn 0.441900 -0.423200 0.790900 +vn 0.633900 0.050200 0.771800 +vn 0.738600 0.040800 0.672900 +vn 0.466600 -0.442400 0.765900 +vn 0.440400 0.522600 0.730000 +vn 0.571400 0.271700 0.774400 +vn 0.688600 0.020800 0.724800 +vn 0.741400 -0.188300 0.644000 +vn 0.634500 0.338800 0.694700 +vn 0.584600 -0.565300 0.581900 +vn 0.536600 0.455300 0.710400 +vn 0.252800 0.776900 0.576600 +vn 0.669600 0.094100 0.736700 +vn 0.553700 -0.421100 0.718300 +vn 0.644000 -0.234900 0.728000 +vn 0.616900 0.353700 0.703100 +vn 0.444600 0.512500 0.734600 +vn 0.615000 0.363900 0.699500 +vn 0.550500 0.222000 0.804800 +vn 0.790300 -0.010300 0.612600 +vn 0.538400 0.478300 -0.693700 +vn 0.063800 -0.718300 -0.692700 +vn 0.701600 0.021900 0.712200 +vn -0.203000 -0.518100 0.830800 +vn 0.307600 0.169500 0.936300 +vn 0.449400 -0.863000 0.230500 +vn 0.267800 0.693300 0.669000 +vn 0.927500 0.254200 0.274000 +vn 0.578800 -0.795100 -0.181200 +vn 0.533100 0.131400 0.835800 +vn 0.620100 -0.061300 0.782100 +vn 0.247800 -0.111500 0.962400 +vn 0.664300 0.408100 0.626200 +vn 0.778200 -0.008000 0.627900 +vn 0.113000 -0.907500 0.404400 +vn 0.009500 -0.923300 0.384000 +vn 0.018300 -0.991400 0.129500 +vn 0.592800 -0.438600 0.675400 +vn -0.471500 0.167300 -0.865800 +vn -0.328900 0.221200 -0.918100 +vn 0.736000 0.179700 0.652600 +vn 0.859300 0.152100 0.488300 +vn 0.188200 -0.484700 0.854200 +vn 0.259300 0.193400 0.946200 +vn 0.670700 -0.566500 0.478700 +vn 0.706300 0.408700 0.578000 +vn 0.570900 0.481600 0.664900 +vn 0.759100 -0.053200 0.648800 +vn 0.573000 -0.028800 0.819100 +vn 0.580800 -0.223300 0.782800 +vn 0.599800 -0.172600 0.781300 +vn 0.700200 -0.261100 0.664400 +vn 0.613200 -0.165900 0.772200 +vn 0.848200 0.131300 0.513100 +vn 0.898100 0.072800 0.433700 +vn -0.272400 -0.943200 -0.190000 +vn -0.434800 -0.873800 -0.217400 +vn 0.513900 0.077100 0.854400 +vn 0.777100 -0.015300 0.629200 +vn 0.901000 0.086700 0.425000 +vn 0.506100 -0.467200 0.725000 +vn 0.543300 -0.128000 0.829700 +vn 0.521000 0.026500 0.853100 +vn 0.608500 0.283900 0.741000 +vn 0.104500 -0.543700 -0.832700 +vn 0.602200 -0.119100 0.789400 +vn 0.512600 -0.115300 0.850800 +vn 0.337600 -0.770500 -0.540700 +vn 0.427800 -0.690300 -0.583500 +vn 0.472200 -0.794300 -0.382200 +vn -0.531800 0.374000 0.759700 +vn 0.807900 0.369000 0.459500 +vn 0.973300 -0.093000 0.209900 +vn 0.863400 -0.416900 0.284100 +vn 0.618700 0.296600 0.727400 +vn 0.860500 0.507900 0.038600 +vn 0.580800 -0.140300 0.801800 +vn 0.573800 0.140400 0.806900 +vn -0.811500 0.305700 -0.497900 +vn -0.662900 -0.206400 -0.719700 +vn -0.358700 0.368500 -0.857600 +vn 0.820700 0.095700 0.563200 +vn 0.792700 0.309300 0.525300 +vn 0.435700 0.097100 0.894800 +vn 0.557600 -0.274100 0.783500 +vn 0.543000 0.192000 0.817500 +vn 0.639200 -0.051600 0.767300 +vn 0.643000 -0.251900 0.723300 +vn 0.646700 -0.331600 0.686800 +vn 0.560200 0.058500 0.826300 +vn 0.532200 0.049700 0.845100 +vn 0.933000 0.208200 0.293400 +vn -0.755800 -0.633200 0.166700 +vn 0.844600 0.234400 0.481400 +vn 0.384400 0.450700 0.805700 +vn 0.585000 -0.180100 0.790700 +vn -0.976800 -0.175500 0.122900 +vn -0.985700 -0.133000 -0.103000 +vn 0.605900 0.003600 0.795500 +vn 0.643600 -0.204600 0.737500 +vn 0.758800 0.153100 0.633000 +vn 0.254600 0.040800 0.966200 +vn 0.523000 -0.476600 0.706600 +vn 0.681200 -0.211400 -0.700900 +vn 0.763400 -0.109300 -0.636600 +vn 0.689100 -0.319500 -0.650300 +vn -0.507000 0.751500 -0.421900 +vn -0.617800 0.702800 -0.352700 +vn -0.334700 -0.271200 -0.902400 +vn 0.872500 0.139200 0.468300 +vn -0.461700 0.142900 -0.875400 +vn -0.577600 0.269600 -0.770500 +vn -0.437200 0.242300 -0.866100 +vn 0.134000 -0.978000 -0.159500 +vn 0.215800 -0.935500 -0.279800 +vn 0.760700 0.178600 0.624000 +vn 0.898800 -0.436100 0.042900 +vn 0.956100 -0.292900 0.001800 +vn 0.635800 -0.021400 0.771500 +vn -0.426900 -0.065400 -0.901900 +vn -0.600400 -0.456800 0.656400 +vn -0.757600 0.023000 0.652300 +vn -0.645400 -0.338600 0.684700 +vn -0.994400 -0.053100 0.091600 +vn 0.866100 -0.026000 0.499100 +vn 0.178800 -0.015600 0.983800 +vn -0.131200 -0.681800 -0.719600 +vn -0.282100 -0.547100 -0.788100 +vn -0.240000 0.239000 -0.940900 +vn -0.578900 0.367700 -0.727700 +vn -0.265900 -0.943200 -0.199200 +vn 0.398100 0.792100 -0.462600 +vn 0.194300 -0.630300 0.751700 +vn 0.133500 0.105600 0.985400 +vn -0.141900 0.012900 0.989800 +vn 0.418800 -0.689100 0.591400 +vn 0.826700 -0.521700 -0.210500 +vn 0.800100 -0.525200 -0.289700 +vn 0.776600 -0.564300 -0.280100 +vn -0.868700 -0.495100 -0.012500 +vn 0.077300 0.709600 -0.700300 +vn 0.676600 0.733500 0.065100 +vn 0.409100 -0.092200 0.907800 +vn 0.131900 0.822900 0.552600 +vn 0.925000 -0.202500 0.321500 +vn 0.796000 -0.527200 0.297200 +vn 0.921500 -0.320900 0.218700 +vn 0.626000 0.721900 -0.295000 +vn 0.501000 0.691800 -0.520100 +vn 0.181800 0.895700 -0.405800 +vn 0.787900 -0.613400 0.054500 +vn 0.717200 0.695500 -0.043000 +vn 0.905600 0.395200 0.153800 +vn -0.193500 -0.284000 -0.939100 +vn 0.289000 0.256700 -0.922300 +vn 0.558700 0.578700 -0.594000 +vn 0.312300 -0.024100 0.949600 +vn 0.089000 -0.960200 -0.264500 +vn -0.823700 0.495700 0.275400 +vn -0.514700 0.802100 0.302900 +vn 0.008800 0.932200 0.361700 +vn 0.606100 -0.160500 0.779000 +vn 0.552600 0.052800 0.831700 +vn -0.494000 0.105700 -0.863000 +vn -0.624500 0.337500 -0.704300 +vn -0.508700 0.071800 -0.857900 +vn -0.794300 -0.588700 0.149800 +vn 0.617800 -0.290300 0.730700 +vn 0.977700 0.145900 0.150900 +vn 0.875900 0.422300 0.233300 +vn 0.918500 0.292000 0.266500 +vn 0.574100 -0.637900 -0.513300 +vn 0.716700 -0.664800 0.210800 +vn 0.213100 -0.976900 -0.018600 +vn 0.385900 -0.913600 0.128300 +vn -0.210400 0.270300 -0.939500 +vn 0.438200 0.702300 0.561000 +vn 0.246300 0.717000 0.652000 +vn 0.450500 -0.146400 0.880700 +vn 0.325500 -0.504000 -0.800000 +vn -0.920900 0.044800 0.387200 +vn -0.958100 0.116600 0.261700 +vn -0.948500 -0.189400 0.253700 +vn -0.288500 0.737600 -0.610500 +vn 0.943100 0.028400 0.331400 +vn 0.873900 0.234400 0.425900 +vn 0.051500 -0.827600 0.558900 +vn 0.809600 0.334400 0.482400 +vn 0.656100 -0.641000 0.398300 +vn 0.366800 0.307000 0.878200 +vn 0.369100 0.540600 0.755900 +vn -0.120900 -0.011700 -0.992600 +vn -0.046800 -0.016400 -0.998700 +vn -0.107000 0.001400 -0.994200 +vn 0.319300 -0.050800 0.946300 +vn 0.017100 -0.999600 -0.022500 +vn 0.017100 -0.999800 -0.012600 +vn 0.028800 -0.999300 -0.024000 +vn 0.972000 0.064900 0.225800 +vn -0.132400 0.592300 -0.794700 +vn 0.377400 -0.882000 -0.282100 +vn 0.282500 -0.024500 0.958900 +vn 0.601200 0.128200 0.788700 +vn 0.833400 -0.072300 -0.547900 +vn 0.524000 -0.218900 0.823100 +vn -0.485900 0.809700 -0.328800 +vn -0.474800 0.841900 -0.256600 +vn -0.680200 0.471800 -0.560900 +vn 0.893100 -0.057800 -0.446100 +vn -0.103800 -0.036800 -0.993900 +vn 0.285600 0.375600 0.881700 +vn 0.956400 0.211700 -0.201100 +vn 0.402000 -0.353700 -0.844500 +vn 0.578000 0.260800 0.773200 +vn 0.992200 -0.123900 -0.007400 +vn -0.254700 0.800400 0.542600 +vn -0.629200 -0.777100 0.014400 +vn -0.029500 0.162100 -0.986300 +vn 0.306400 0.809100 0.501500 +vn -0.710900 0.617300 0.336800 +vn -0.737000 0.603000 0.305200 +vn -0.921900 0.321200 0.216400 +vn 0.836400 -0.142200 0.529300 +vn -0.148400 0.148200 -0.977700 +vn 0.039200 0.925400 -0.376900 +vn -0.711200 -0.682300 0.169100 +vn 0.850300 0.505100 -0.147400 +vn -0.023300 -0.074400 -0.996900 +vn -0.022900 -0.080000 -0.996500 +vn -0.028200 -0.032800 -0.999100 +vn -0.811700 0.439300 0.384800 +vn -0.956300 0.164800 0.241300 +vn -0.917600 0.270200 0.291500 +vn 0.933100 -0.348500 -0.088600 +vn -0.894300 -0.372100 0.248500 +vn -0.980800 0.133300 0.142500 +vn 0.941300 -0.320400 -0.106300 +vn 0.969100 -0.203300 -0.139400 +vn 0.999300 -0.036700 0.003500 +vn 0.993900 0.106900 -0.027800 +vn 0.955600 0.274200 0.107500 +vn -0.898300 -0.436400 -0.050500 +vn -0.524400 0.047900 0.850100 +vn -0.770200 0.208300 0.602800 +vn -0.655000 -0.323500 0.682800 +vn -0.734300 -0.610300 0.297000 +vn -0.974700 -0.108000 0.195400 +vn -0.380800 -0.588900 0.712900 +vn 0.030100 -0.999400 0.016700 +vn 0.032000 -0.999200 0.022100 +vn -0.889600 0.292100 0.351000 +vn -0.895400 -0.070500 0.439500 +vn -0.964200 0.058400 0.258600 +vn -0.910600 0.358100 0.206100 +vn -0.511300 0.555200 -0.656000 +vn -0.865900 0.473900 0.160300 +vn 0.992300 0.121900 0.020700 +vn -0.997500 0.062700 -0.032000 +vn 0.640600 0.189600 -0.744000 +vn -0.926700 -0.296800 -0.230300 +vn 0.671600 -0.225500 -0.705700 +vn 0.240000 -0.765500 0.596900 +vn 0.383200 -0.764000 0.519000 +vn 0.277900 -0.893700 0.352100 +vn -0.015900 -0.999300 0.034300 +vn -0.010700 -0.997900 0.063000 +vn 0.531000 0.099800 -0.841500 +vn 0.633400 0.168300 -0.755300 +vn 0.898200 0.261500 0.353300 +vn 0.926800 -0.201700 -0.316800 +vn -0.951200 -0.087200 -0.295900 +vn -0.937300 0.244000 0.248800 +vn -0.865200 0.278700 0.416800 +vn -0.662900 0.638500 -0.390900 +vn 0.957200 0.245600 0.153100 +vn 0.753100 -0.558500 -0.347500 +vn -0.855300 0.330900 -0.398700 +vn -0.863000 -0.315600 -0.394500 +vn 0.589500 -0.549500 -0.592000 +vn 0.366300 -0.866200 -0.339900 +vn 0.143600 0.801100 -0.581000 +vn 0.186600 0.804500 -0.563900 +vn 0.200800 0.835000 -0.512200 +vn 0.799400 -0.264500 -0.539300 +vn 0.796000 -0.022900 -0.604800 +vn 0.721100 -0.160000 -0.674100 +vn 0.761300 -0.463900 -0.453000 +vn 0.712300 -0.402900 -0.574700 +vn 0.460900 -0.431900 -0.775300 +vn 0.321700 -0.621800 -0.714000 +vn -0.912700 0.204700 -0.353500 +vn 0.753700 0.051200 -0.655200 +vn 0.727800 -0.061100 -0.683000 +vn 0.746500 -0.053500 -0.663100 +vn -0.004800 0.412500 -0.910900 +vn -0.878500 -0.323000 0.351900 +vn -0.735300 -0.520100 -0.434600 +vn -0.838400 0.543900 0.033600 +vn -0.840200 -0.533600 0.096400 +vn 0.856400 0.137900 -0.497500 +vn 0.739200 0.294900 -0.605500 +vn 0.107700 0.219000 -0.969700 +vn 0.008400 0.634100 -0.773200 +vn -0.099400 0.265900 -0.958800 +vn -0.364200 -0.583400 -0.725900 +vn -0.288200 -0.682100 -0.672000 +vn 0.601000 0.087000 -0.794500 +vn 0.681400 -0.015500 -0.731700 +vn 0.790700 0.275300 -0.546700 +vn 0.689700 0.190300 -0.698600 +vn 0.768700 0.260400 -0.584200 +vn -0.680400 -0.719400 0.139600 +vn -0.885900 -0.052000 -0.460900 +vn -0.845600 -0.295500 -0.444600 +vn 0.785000 -0.099900 -0.611400 +vn -0.940900 -0.046400 -0.335400 +vn 0.748400 -0.214900 -0.627400 +vn 0.813200 -0.222700 -0.537600 +vn 0.688000 -0.141800 -0.711700 +vn 0.642800 -0.136800 -0.753700 +vn 0.622600 -0.039100 -0.781500 +vn -0.895100 0.012600 -0.445600 +vn 0.179300 0.933200 -0.311400 +vn 0.171100 0.968600 -0.180400 +vn 0.273800 0.940500 -0.201400 +vn -0.021300 0.828800 -0.559100 +vn 0.001800 0.870900 -0.491500 +vn 0.015200 0.716800 -0.697100 +vn -0.300900 -0.534000 -0.790100 +vn -0.162500 -0.249600 -0.954600 +vn -0.183800 0.820800 0.540800 +vn 0.597100 -0.707700 0.377500 +vn 0.726100 -0.587300 0.357600 +vn -0.993100 -0.095900 0.067800 +vn -0.995900 0.079200 0.042800 +vn 0.696800 0.357100 -0.622000 +vn 0.824800 -0.310800 -0.472400 +vn 0.805800 -0.491600 -0.330100 +vn -0.976400 -0.134300 0.168700 +vn 0.562200 -0.798900 -0.213400 +vn -0.487000 -0.415200 0.768400 +vn -0.344200 -0.511200 0.787500 +vn -0.557700 0.628000 -0.542700 +vn -0.250300 0.623000 -0.741000 +vn -0.239500 0.901500 -0.360500 +vn -0.502800 0.760200 -0.411300 +vn 0.825600 0.004900 -0.564200 +vn 0.846500 -0.134400 -0.515100 +vn -0.683400 0.285800 -0.671700 +vn -0.547600 0.365600 -0.752600 +vn 0.878400 -0.227900 -0.420000 +vn 0.769000 -0.343500 -0.539100 +vn 0.719600 -0.650700 -0.242500 +vn 0.670900 -0.607900 -0.424600 +vn 0.538500 -0.789100 -0.295400 +vn -0.585300 0.710100 0.391300 +vn -0.892100 0.415800 0.176600 +vn 0.836300 -0.292700 -0.463500 +vn 0.416300 -0.511200 0.751900 +vn 0.572000 -0.796700 0.195000 +vn 0.392800 -0.907400 0.149200 +vn -0.391300 0.782000 0.485100 +vn -0.450000 0.766300 0.458500 +vn -0.959700 0.116800 -0.255600 +vn 0.023300 -0.962800 -0.269100 +vn 0.115200 -0.761000 -0.638400 +vn 0.111600 -0.936600 -0.332000 +vn 0.600500 0.029400 -0.799100 +vn 0.313800 0.097000 -0.944500 +vn -0.238900 -0.340500 -0.909400 +vn -0.609600 -0.342700 -0.714800 +vn -0.477200 0.878400 -0.027100 +vn -0.396400 0.860000 0.321200 +vn -0.704600 0.631400 0.323700 +vn -0.927900 -0.150400 -0.341200 +vn 0.182400 -0.789000 0.586700 +vn -0.861000 0.168200 -0.479900 +vn -0.786800 0.510900 -0.346200 +vn -0.683000 0.416200 -0.600200 +vn -0.212800 0.699500 -0.682200 +vn -0.124400 0.470400 -0.873600 +vn -0.335800 0.498400 -0.799300 +vn 0.665900 0.441500 -0.601300 +vn 0.607000 0.336900 -0.719700 +vn -0.717600 -0.656000 0.233900 +vn 0.926100 0.184800 0.328900 +vn -0.352200 -0.400300 0.846000 +vn -0.663400 -0.177700 0.726800 +vn -0.009900 0.332100 -0.943200 +vn -0.426700 -0.716400 -0.552000 +vn 0.239100 -0.444300 0.863300 +vn 0.605400 -0.021100 -0.795600 +vn -0.027800 -0.405300 -0.913800 +vn 0.001700 -0.376900 -0.926200 +vn 0.562200 -0.757700 0.331300 +vn -0.118000 0.688800 -0.715200 +vn 0.922500 0.341000 0.180800 +vn -0.807400 0.547000 -0.221000 +vn -0.652200 0.704000 0.280800 +vn 0.917500 -0.146800 -0.369700 +vn 0.847300 0.473500 0.240300 +vn -0.092400 0.903400 -0.418700 +vn 0.080300 0.891700 -0.445300 +vn 0.005900 0.848400 -0.529300 +vn 0.772500 -0.280900 -0.569500 +vn 0.303300 0.484600 -0.820500 +vn 0.596000 0.059100 -0.800800 +vn 0.190800 0.448100 -0.873300 +vn 0.645000 -0.113300 -0.755700 +vn -0.851100 0.399200 0.340900 +vn 0.807900 0.568300 -0.155800 +vn 0.475700 -0.236500 -0.847200 +vn -0.006000 -0.989600 0.143600 +vn 0.004900 -0.994900 0.100800 +vn -0.076400 -0.815700 0.573300 +vn -0.083900 -0.797000 0.598100 +vn 0.039200 -0.983500 0.176400 +vn -0.668100 -0.430800 -0.606700 +vn -0.573400 -0.565600 -0.592700 +vn -0.317300 -0.678200 -0.662800 +vn -0.973300 0.174900 -0.148700 +vn -0.904900 -0.398600 -0.149000 +vn -0.864400 -0.394500 -0.311600 +vn -0.175200 -0.323600 -0.929800 +vn 0.905200 0.320000 0.279600 +vn 0.185200 -0.456100 -0.870400 +vn 0.958200 0.120200 0.259700 +vn -0.232000 -0.627100 0.743600 +vn -0.405500 -0.814000 0.416000 +vn -0.280100 -0.791600 0.543100 +vn -0.505700 0.635600 0.583300 +vn 0.257900 0.433100 -0.863600 +vn 0.120200 0.515100 -0.848600 +vn 0.191200 0.686900 -0.701100 +vn 0.610100 0.118900 -0.783300 +vn 0.961000 0.160400 0.225100 +vn 0.678500 -0.722900 0.130700 +vn -0.289800 -0.269200 -0.918400 +vn -0.782700 -0.260700 -0.565100 +vn 0.922700 0.270800 0.274200 +vn 0.830500 0.458500 0.316100 +vn -0.756000 -0.575900 0.311000 +vn -0.863900 -0.386000 0.323500 +vn -0.795200 -0.562100 0.227200 +vn -0.164300 -0.207800 -0.964300 +vn -0.512900 -0.243100 -0.823300 +vn 0.630100 -0.688500 0.359100 +vn 0.056900 -0.982800 -0.175700 +vn -0.034800 -0.999100 -0.025100 +vn -0.076200 -0.904900 -0.418600 +vn 0.528500 -0.384500 -0.756900 +vn 0.811000 0.548800 0.202600 +vn -0.775100 -0.006800 -0.631700 +vn 0.559700 0.733800 0.385000 +vn 0.659200 0.747300 0.083400 +vn 0.641100 0.656100 0.398100 +vn 0.701200 0.710600 -0.057100 +vn -0.586900 -0.741800 -0.324500 +vn -0.510400 0.795700 0.326000 +vn 0.393500 0.879800 -0.266500 +vn 0.744300 0.667200 -0.026600 +vn 0.561000 0.796800 0.224300 +vn 0.306600 0.802500 0.511900 +vn -0.088300 0.990300 0.106900 +vn -0.076500 0.955800 0.283700 +vn -0.588100 0.799000 -0.124800 +vn 0.146100 0.935900 0.320500 +vn -0.000100 0.951700 0.307000 +vn 0.372300 0.914900 -0.156100 +vn 0.285700 0.957500 0.038700 +vn 0.207300 0.933400 0.292700 +vn -0.091900 0.907900 0.409000 +vn -0.222700 0.796000 0.562700 +vn 0.064100 0.996900 -0.043800 +vn -0.135200 0.986400 0.093200 +vn 0.058000 0.967000 -0.247900 +vn 0.216900 0.939700 0.264400 +vn -0.617900 0.422200 -0.663200 +vn 0.642400 0.765900 -0.028300 +vn 0.019300 0.413000 -0.910500 +vn 0.096800 0.995100 0.020000 +vn 0.263900 0.964100 -0.028900 +vn -0.840400 0.428400 -0.331900 +vn -0.419000 0.890400 -0.177800 +vn 0.161700 0.981000 0.107100 +vn 0.039200 0.980700 0.191600 +vn 0.045300 0.911300 0.409200 +vn 0.343800 0.876700 -0.336300 +vn 0.346300 0.924700 -0.158200 +vn 0.176500 0.961800 -0.209000 +vn -0.013000 0.998900 -0.045200 +vn -0.681000 0.526700 -0.508800 +vn 0.093200 0.987400 -0.128000 +vn 0.019200 0.998600 -0.049300 +vn -0.024700 0.999100 -0.034100 +vn 0.261100 0.965200 0.012800 +vn 0.404700 0.913900 -0.029400 +vn 0.177400 0.961300 0.210500 +vn 0.606100 0.727400 0.321700 +vn 0.045400 0.878800 0.474900 +vn -0.935800 -0.303900 0.178800 +vn -0.783100 0.520200 0.340600 +vn -0.457000 -0.596000 0.660300 +vn -0.888300 -0.179700 0.422500 +vn -0.705700 0.619200 -0.344200 +vn -0.916300 0.147100 -0.372400 +vn 0.517500 0.798600 0.307100 +vn 0.697100 0.572000 0.432200 +vn -0.025000 0.901100 0.432800 +vn -0.388000 0.915000 0.110200 +vn 0.176100 0.756300 -0.630000 +vn 0.005200 0.998500 0.054600 +vn 0.226800 0.952400 -0.203700 +vn 0.007700 0.943700 0.330700 +vn -0.710500 0.612100 0.347100 +vn -0.007500 0.930800 -0.365500 +vn -0.360500 -0.167200 -0.917600 +vn -0.986600 0.120500 0.110000 +vn 0.005600 0.821600 0.569900 +vn -0.558800 0.801000 -0.214800 +vn -0.879700 0.281000 0.383500 +vn -0.917800 0.378500 0.119700 +vn -0.989400 0.136500 0.049400 +vn -0.130400 0.954400 -0.268400 +vn 0.223900 0.970000 -0.094500 +vn -0.852400 0.507700 -0.124600 +vn 0.650900 0.592600 0.474400 +vn -0.520300 0.493900 -0.696600 +vn -0.552900 0.222800 -0.802900 +vn -0.777600 0.292700 -0.556400 +vn 0.813200 0.581800 -0.013900 +vn -0.849400 0.253400 0.462900 +vn -0.901500 0.305800 0.306200 +vn 0.760300 0.622200 0.186500 +vn -0.990200 -0.136000 -0.030600 +vn 0.771600 0.634100 0.049400 +vn -0.081600 -0.190300 -0.978300 +vn 0.041400 -0.337700 -0.940300 +vn -0.681100 0.732000 0.017000 +vn 0.762400 0.569900 -0.306500 +vn 0.535500 0.606200 0.588000 +vn 0.568100 0.712200 0.412300 +vn -0.593700 0.565200 0.572700 +vn -0.553800 0.771800 0.312500 +vn 0.048400 0.336500 -0.940400 +vn 0.014200 0.506700 -0.862000 +vn 0.233700 0.338100 -0.911600 +vn 0.748100 0.662900 -0.028000 +vn 0.697300 0.705000 0.129200 +vn 0.621300 0.728800 0.287800 +vn 0.751700 0.643800 -0.143300 +vn 0.673500 0.739200 0.006700 +vn 0.609800 0.780300 0.138900 +vn 0.654100 0.652600 -0.382300 +vn 0.720000 0.644200 -0.257900 +vn -0.895800 0.236700 -0.376100 +vn -0.077400 0.921500 -0.380500 +vn -0.491300 0.300100 -0.817600 +vn 0.645000 0.754400 -0.121200 +vn 0.516000 0.796900 0.314200 +vn 0.703400 0.584200 -0.404900 +vn -0.798100 -0.561800 0.217700 +vn 0.389500 0.841200 0.374900 +vn 0.031000 0.875300 0.482600 +vn 0.577500 0.814600 -0.053100 +vn 0.558600 0.828300 0.041700 +vn 0.470700 0.861700 0.189300 +vn 0.352400 0.802700 0.481000 +vn 0.572200 0.761400 -0.304600 +vn 0.561400 0.810900 -0.164700 +vn 0.431200 0.897200 0.095200 +vn 0.399100 0.876600 0.268800 +vn 0.490300 0.823800 -0.284500 +vn 0.019600 0.221000 -0.975100 +vn -0.739600 0.396000 -0.544200 +vn -0.776400 -0.241500 -0.582100 +vn -0.473200 -0.435200 -0.766000 +vn -0.844100 -0.536100 -0.010000 +vn -0.543000 0.644100 0.538800 +vn -0.855900 -0.324100 0.403000 +vn -0.974000 -0.005600 -0.226400 +vn -0.326500 -0.822700 0.465300 +vn -0.267300 -0.893100 0.361900 +vn -0.369200 0.801000 0.471200 +vn -0.490700 0.730700 0.474500 +vn -0.658400 0.528900 0.535400 +vn -0.349000 0.800100 0.487800 +vn -0.274300 0.648700 0.709900 +vn -0.420600 0.029200 0.906700 +vn -0.584500 -0.079300 -0.807500 +vn -0.327300 -0.075500 -0.941900 +vn -0.584900 0.239900 -0.774800 +vn -0.476700 0.679100 0.558200 +vn -0.814400 -0.360300 0.454800 +vn -0.686500 -0.332600 0.646500 +vn -0.813600 0.237700 0.530500 +vn -0.191600 -0.761900 -0.618700 +vn -0.802900 -0.320900 0.502300 +vn -0.805400 -0.325700 0.495300 +vn -0.849400 0.036000 0.526400 +vn -0.725500 0.445100 0.524800 +vn 0.156400 0.351800 -0.922900 +vn 0.020000 -0.999500 -0.021600 +vn 0.024600 -0.999300 -0.028900 +vn 0.048500 -0.998600 -0.020400 +vn -0.780100 0.447600 -0.437000 +vn -0.626000 0.460400 0.629300 +vn -0.546600 0.246700 0.800300 +vn -0.764700 -0.193600 0.614600 +vn -0.675000 0.435400 0.595700 +vn -0.416100 0.256200 -0.872500 +vn -0.694000 0.248800 0.675600 +vn -0.684900 0.710000 -0.163800 +vn -0.639900 -0.342000 0.688100 +vn -0.978100 0.119700 0.170300 +vn -0.914300 0.346000 0.210400 +vn -0.600000 0.375700 0.706200 +vn -0.724600 0.276000 0.631500 +vn -0.776600 -0.073100 0.625700 +vn -0.254600 0.068300 -0.964600 +vn -0.267700 0.194700 -0.943600 +vn -0.377500 0.111900 -0.919200 +vn -0.366600 -0.005000 -0.930400 +vn -0.346000 0.127900 -0.929400 +vn -0.359600 0.110400 -0.926500 +vn -0.786400 0.000000 -0.617700 +vn -0.624000 -0.243900 -0.742400 +vn -0.727700 -0.583000 0.361200 +vn -0.285600 -0.855700 0.431600 +vn -0.780500 0.231200 0.580800 +vn -0.977200 0.124200 0.172300 +vn -0.503000 0.717600 0.481700 +vn -0.231000 -0.827800 0.511200 +vn -0.616700 -0.374100 0.692600 +vn -0.836700 0.546000 -0.041400 +vn -0.577200 0.518700 0.630700 +vn -0.474500 0.651500 0.591900 +vn 0.538300 0.702200 -0.465900 +vn -0.280600 -0.259600 0.924000 +vn -0.503200 -0.174900 0.846200 +vn -0.506900 -0.074100 0.858800 +vn -0.968200 0.137700 -0.208700 +vn -0.160500 -0.088200 0.983100 +vn -0.654200 0.141800 0.742900 +vn -0.718100 0.070600 0.692300 +vn -0.929800 -0.231400 -0.286100 +vn -0.631000 -0.339900 0.697400 +vn -0.633000 -0.482300 0.605500 +vn -0.840400 0.408900 -0.355600 +vn -0.982000 -0.040300 -0.184700 +vn 0.175500 -0.549000 -0.817200 +vn 0.230000 -0.643900 -0.729600 +vn -0.641600 -0.161500 0.749800 +vn -0.370000 -0.332300 0.867600 +vn -0.753700 0.281900 0.593700 +vn -0.610800 -0.015100 0.791700 +vn -0.377100 0.191200 -0.906200 +vn -0.445500 0.340800 -0.827800 +vn -0.334900 0.329000 -0.882900 +vn -0.742300 -0.004700 0.670100 +vn -0.666700 -0.146100 0.730800 +vn -0.121600 -0.379900 0.917000 +vn -0.507500 -0.369300 -0.778400 +vn -0.060900 -0.581700 0.811100 +vn -0.036800 0.195600 -0.980000 +vn -0.068100 0.293900 -0.953400 +vn -0.930200 0.366600 0.015900 +vn -0.772800 0.621100 -0.130600 +vn -0.473100 0.148000 -0.868500 +vn -0.645500 0.270800 -0.714100 +vn -0.508000 0.203800 -0.836900 +vn -0.765700 0.390900 0.510800 +vn 0.284700 0.298800 -0.910800 +vn 0.435300 0.318600 -0.842000 +vn 0.406000 0.285700 -0.868000 +vn -0.717300 -0.679900 -0.152400 +vn -0.780000 0.125600 0.613100 +vn -0.586100 0.169300 -0.792300 +vn -0.873400 0.127400 0.470000 +vn -0.796700 0.402100 0.451200 +vn -0.738500 0.648100 0.185700 +vn -0.764100 0.151200 0.627100 +vn -0.308500 -0.275600 -0.910400 +vn -0.581700 0.391400 -0.713000 +vn -0.363400 0.090300 -0.927200 +vn -0.910500 -0.393400 0.127100 +vn -0.677800 0.106800 0.727400 +vn -0.382600 -0.921300 0.068600 +vn -0.881900 -0.224500 0.414600 +vn -0.844500 -0.076800 0.530000 +vn -0.825800 0.122600 0.550500 +vn -0.705700 0.373600 0.601900 +vn -0.706600 0.452300 -0.544100 +vn -0.740400 -0.289900 0.606400 +vn -0.839400 -0.170400 0.516100 +vn -0.775400 0.268600 0.571400 +vn -0.465700 -0.783100 -0.412100 +vn -0.604000 0.087600 0.792100 +vn -0.692700 0.377100 0.614700 +vn -0.768400 0.023700 0.639500 +vn -0.525300 0.001900 -0.850900 +vn -0.279900 -0.042300 -0.959100 +vn -0.131900 -0.205800 -0.969700 +vn -0.691700 0.162900 0.703500 +vn -0.098000 -0.889700 0.445900 +vn -0.129300 0.117000 -0.984600 +vn 0.459800 0.774800 -0.433900 +vn -0.634100 0.622300 0.458900 +vn -0.799000 -0.146600 0.583200 +vn -0.760800 -0.389100 0.519300 +vn -0.725500 0.218200 0.652600 +vn -0.368900 0.896400 -0.245500 +vn -0.711200 0.394700 0.581700 +vn -0.657100 0.538200 0.527700 +vn -0.609100 0.481300 0.630300 +vn -0.779600 -0.153100 0.607200 +vn -0.769500 0.071200 0.634600 +vn -0.752400 -0.359800 0.551700 +vn 0.154200 0.215400 -0.964300 +vn 0.180700 0.407500 -0.895100 +vn 0.139300 0.276800 -0.950800 +vn -0.357600 0.072400 -0.931000 +vn -0.597100 0.098300 -0.796100 +vn -0.520100 -0.015300 -0.854000 +vn -0.717100 -0.555200 0.421400 +vn 0.098500 -0.218600 -0.970800 +vn 0.226900 -0.590800 -0.774200 +vn 0.046100 0.211500 -0.976300 +vn -0.802900 0.092200 0.588800 +vn -0.009000 0.140600 -0.990000 +vn -0.606200 0.774300 0.181500 +vn -0.698500 -0.029200 -0.715000 +vn -0.565800 -0.147400 -0.811200 +vn -0.603900 -0.300800 -0.738100 +vn -0.421600 -0.003100 -0.906800 +vn -0.054400 -0.993600 0.098800 +vn 0.016800 -0.999800 -0.007100 +vn -0.382100 0.440900 -0.812200 +vn -0.357000 -0.638100 0.682100 +vn -0.024700 0.352800 -0.935300 +vn -0.629400 -0.444100 0.637700 +vn -0.567500 0.016000 -0.823200 +vn 0.334300 -0.509200 -0.793000 +vn -0.357800 -0.073400 -0.930900 +vn 0.330200 0.431100 -0.839700 +vn 0.358600 0.429900 -0.828600 +vn 0.329600 0.318200 -0.888900 +vn -0.089100 0.660500 -0.745500 +vn -0.028700 0.598700 -0.800400 +vn -0.038700 0.635700 -0.771000 +vn -0.443600 0.069400 -0.893500 +vn 0.119200 0.838600 -0.531400 +vn -0.051700 0.384600 -0.921600 +vn -0.199200 0.629000 -0.751500 +vn 0.109400 0.858500 -0.501000 +vn 0.162700 0.716500 -0.678400 +vn 0.108200 0.611900 -0.783500 +vn -0.045400 0.729300 -0.682700 +vn 0.142500 0.734200 -0.663800 +vn 0.306500 0.678800 -0.667300 +vn 0.391400 0.449800 -0.802800 +vn 0.555400 0.322900 -0.766300 +vn -0.861100 -0.286100 -0.420200 +vn -0.384800 0.590000 -0.709800 +vn -0.660100 -0.192300 -0.726100 +vn -0.651100 -0.517100 -0.555600 +vn -0.651800 -0.307500 -0.693200 +vn -0.462900 -0.366600 -0.807100 +vn -0.960300 0.009600 -0.278800 +vn -0.888800 -0.085600 -0.450200 +vn -0.450800 -0.655700 -0.605600 +vn -0.938500 -0.158900 -0.306400 +vn -0.525300 -0.607500 -0.595800 +vn -0.648100 -0.579300 -0.494400 +vn -0.982300 0.044800 -0.182000 +vn -0.965600 0.018100 -0.259300 +vn -0.718000 -0.572600 -0.395700 +vn -0.628100 0.751700 -0.200900 +vn -0.563700 -0.651500 -0.507800 +vn -0.938000 -0.271800 -0.215200 +vn -0.963700 -0.177800 -0.199200 +vn -0.642100 -0.656200 -0.396300 +vn -0.867800 -0.404400 -0.288700 +vn -0.019700 0.790200 -0.612600 +vn 0.280900 0.592500 -0.755000 +vn 0.272600 0.471000 -0.838900 +vn -0.486300 0.715500 -0.501600 +vn -0.546000 0.693000 -0.470700 +vn -0.299300 -0.935000 -0.190200 +vn -0.980300 0.132900 -0.145700 +vn -0.033900 0.612700 -0.789600 +vn 0.044400 0.486100 -0.872700 +vn -0.050300 0.723500 -0.688500 +vn -0.141400 -0.987900 0.063800 +vn -0.403100 -0.869900 0.284200 +vn -0.165200 -0.971600 0.169200 +vn -0.763200 -0.625500 0.162000 +vn -0.036000 -0.999100 -0.020300 +vn -0.370300 -0.899100 -0.233300 +vn -0.114400 0.725800 -0.678300 +vn -0.091600 0.377300 -0.921500 +vn -0.706700 -0.305700 -0.638000 +vn -0.732200 -0.282500 -0.619700 +vn -0.808000 -0.132200 -0.574100 +vn -0.846800 0.100400 -0.522300 +vn -0.897100 -0.393900 -0.200000 +vn 0.600800 0.475900 -0.642300 +vn 0.563700 0.324200 -0.759700 +vn -0.783800 -0.363000 -0.503700 +vn -0.863500 -0.295400 -0.408700 +vn -0.395600 0.779500 -0.485700 +vn -0.688100 0.568700 -0.450600 +vn -0.853700 0.336600 -0.397200 +vn -0.714000 -0.622100 -0.321100 +vn 0.178500 0.492000 -0.852000 +vn -0.054700 0.385400 -0.921100 +vn 0.126300 0.560800 -0.818200 +vn 0.124400 0.334800 -0.934000 +vn -0.865000 -0.300600 -0.401700 +vn -0.924800 -0.146600 -0.350900 +vn -0.890900 0.149200 -0.429000 +vn -0.995200 0.057200 0.079500 +vn -0.846500 -0.275500 -0.455500 +vn -0.931300 0.019000 -0.363600 +vn -0.903700 -0.345700 -0.252300 +vn -0.908100 -0.259800 -0.328400 +vn -0.910200 -0.276400 -0.308500 +vn -0.957600 -0.275500 -0.084000 +vn 0.127300 0.403000 -0.906300 +vn -0.815500 -0.139600 -0.561700 +vn -0.907300 -0.279800 -0.313800 +vn -0.860200 0.170900 -0.480500 +vn -0.889600 -0.298400 -0.345700 +vn -0.668900 0.234000 -0.705500 +vn -0.675800 0.489100 -0.551300 +vn -0.524100 0.527300 -0.668800 +vn -0.924100 -0.159800 -0.347000 +vn -0.793800 -0.442100 0.417500 +vn -0.615000 0.168900 -0.770200 +vn -0.695500 0.385800 -0.606100 +vn -0.705100 -0.612200 -0.357800 +vn 0.057300 0.138700 -0.988600 +vn 0.111800 -0.427700 -0.896900 +vn -0.254600 -0.914900 0.313000 +vn -0.159600 -0.986700 0.032000 +vn -0.003800 -0.997400 0.071400 +vn -0.975100 -0.207800 -0.077300 +vn 0.314000 0.794500 -0.519800 +vn 0.177400 0.797300 -0.576900 +vn -0.860900 0.361600 -0.357900 +vn -0.393600 0.854800 -0.338200 +vn -0.892800 -0.254600 -0.371400 +vn -0.320000 0.667300 -0.672400 +vn -0.750500 -0.643100 -0.151800 +vn -0.982900 0.166900 -0.077400 +vn -0.897600 -0.355100 -0.261200 +vn -0.956000 0.284100 -0.072500 +vn -0.612000 0.234200 -0.755400 +vn -0.605800 -0.060500 -0.793300 +vn -0.653800 0.176400 -0.735800 +vn -0.921700 0.265300 -0.282900 +vn 0.191300 -0.533900 -0.823600 +vn -0.810100 -0.526000 -0.259100 +vn -0.665400 0.594000 -0.452000 +vn -0.826300 0.504000 -0.251300 +vn -0.950600 0.173300 -0.257400 +vn -0.943900 -0.153900 -0.292200 +vn -0.257900 -0.537200 -0.803000 +vn -0.973800 -0.227500 0.002400 +vn 0.496000 0.361600 -0.789400 +vn 0.607100 0.193600 -0.770600 +vn -0.163500 0.327500 -0.930600 +vn -0.780600 -0.601600 -0.169400 +vn -0.809100 0.506700 -0.297600 +vn -0.941800 -0.117100 -0.315000 +vn 0.528600 0.617400 -0.582500 +vn 0.464100 0.545000 -0.698200 +vn 0.417900 0.502900 -0.756600 +vn 0.018600 -0.997300 0.070100 +vn -0.664800 -0.579900 -0.470800 +vn -0.602300 -0.524600 -0.601600 +vn -0.509700 -0.701200 -0.498500 +vn -0.608400 -0.770500 0.190100 +vn -0.986000 -0.126000 -0.109100 +vn -0.914400 0.290500 -0.281900 +vn -0.841800 0.396300 -0.366400 +vn 0.163900 0.244800 -0.955600 +vn 0.004400 0.720100 -0.693800 +vn -0.059400 0.714100 -0.697400 +vn 0.457800 0.496900 -0.737200 +vn 0.370700 0.521100 -0.768700 +vn -0.922700 -0.369900 -0.108100 +vn -0.600200 -0.364100 -0.712100 +vn -0.713900 -0.275900 -0.643600 +vn -0.565600 -0.142200 -0.812300 +vn -0.284400 -0.910800 0.299100 +vn -0.168200 0.863800 -0.474900 +vn -0.640400 0.677000 -0.362700 +vn 0.266300 0.853100 -0.448500 +vn -0.471600 -0.831300 -0.294200 +vn -0.549600 -0.770100 -0.323800 +vn -0.679000 -0.684700 -0.264600 +vn -0.948000 -0.191000 -0.254500 +vn -0.743200 -0.083400 -0.663900 +vn -0.741100 -0.022600 -0.671000 +vn -0.602500 0.057100 -0.796000 +vn -0.685800 0.176000 -0.706200 +vn -0.086500 0.560900 -0.823300 +vn -0.992300 -0.114700 -0.045400 +vn -0.860100 -0.197200 -0.470400 +vn -0.738800 0.212300 -0.639600 +vn -0.979700 -0.027500 -0.198400 +vn -0.090200 0.540300 -0.836600 +vn -0.752500 -0.149800 -0.641300 +vn -0.048300 0.928800 -0.367400 +vn 0.236300 0.846900 -0.476200 +vn 0.195600 -0.574600 -0.794700 +vn 0.206700 -0.061100 -0.976500 +vn 0.467400 0.165400 -0.868400 +vn 0.461400 0.433500 -0.774000 +vn 0.492700 0.412300 -0.766300 +vn 0.211100 -0.088000 -0.973500 +vn -0.800700 0.074000 -0.594400 +vn 0.354600 0.683900 -0.637600 +vn -0.705300 -0.425400 -0.567100 +vn 0.385400 0.382300 -0.839800 +vn 0.476800 0.214600 -0.852400 +vn 0.016000 0.681400 -0.731700 +vn 0.015100 -0.999800 -0.010700 +vn 0.154100 0.347800 -0.924800 +vn -0.978400 0.095700 -0.183000 +vn -0.090800 0.576800 -0.811800 +vn -0.171200 0.542500 -0.822400 +vn -0.751400 -0.332900 -0.569700 +vn -0.783300 -0.117100 -0.610400 +vn 0.022900 -0.999500 -0.022900 +vn -0.063800 0.635900 -0.769100 +vn -0.088600 0.674300 -0.733100 +vn -0.104300 0.778500 -0.618900 +vn 0.190500 0.274100 -0.942600 +vn -0.900400 -0.161300 -0.404100 +vn -0.672400 -0.325100 -0.665000 +vn -0.609900 -0.706000 -0.359900 +vn -0.793600 -0.298900 -0.529900 +vn 0.006200 0.516600 -0.856200 +vn -0.839000 -0.037500 -0.542800 +vn -0.866400 0.359300 -0.346800 +vn -0.809400 -0.429900 -0.399900 +vn -0.835900 -0.397500 -0.378500 +vn -0.898000 -0.046400 -0.437500 +vn -0.843800 0.158000 -0.512800 +vn -0.755100 0.283300 -0.591200 +vn -0.598100 0.312800 -0.737800 +vn -0.674700 0.717600 -0.172400 +vn -0.047900 0.697800 -0.714700 +vn -0.488100 -0.691200 -0.532900 +vn -0.589900 -0.701700 -0.399400 +vn -0.799300 0.245900 -0.548200 +vn -0.708100 -0.143100 -0.691400 +vn -0.878700 0.190900 -0.437400 +vn -0.735800 0.469500 -0.487900 +vn -0.414900 0.845700 -0.335700 +vn -0.577600 0.356000 -0.734600 +vn -0.656300 -0.675300 -0.336400 +vn -0.545700 -0.568400 -0.615600 +vn -0.693500 -0.662400 -0.283300 +vn -0.859200 -0.374600 -0.348500 +vn -0.915600 0.085800 -0.392700 +vn -0.788000 0.154600 -0.595900 +vn -0.912800 -0.140500 -0.383400 +vn -0.950300 0.021100 -0.310600 +vn -0.227600 0.764400 -0.603200 +vn 0.067500 -0.996800 0.043800 +vn -0.617200 0.171700 -0.767800 +vn -0.735100 0.541100 -0.408500 +vn -0.579500 0.780900 -0.233000 +vn -0.728500 -0.241000 -0.641200 +vn -0.863000 0.043400 -0.503400 +vn -0.668300 -0.020400 -0.743600 +vn -0.751000 0.188600 -0.632800 +vn 0.457100 0.248900 -0.853800 +vn 0.507900 0.273200 -0.816900 +vn -0.762300 0.406800 -0.503300 +vn -0.823000 -0.487600 -0.291300 +vn 0.556100 0.488600 -0.672300 +vn -0.753900 0.611800 -0.239400 +vn -0.683500 -0.683800 -0.255400 +vn 0.544000 0.105100 -0.832500 +vn 0.325000 0.408200 -0.853100 +vn 0.407300 0.153000 -0.900400 +vn 0.581400 0.581400 -0.569100 +vn -0.212500 0.798200 -0.563600 +vn -0.001100 0.799600 -0.600500 +vn 0.472600 0.636000 -0.610000 +vn 0.049500 0.420100 -0.906100 +vn 0.399700 0.758500 -0.514700 +vn 0.440700 0.608900 -0.659500 +vn 0.828900 0.109000 -0.548700 +vn -0.051300 -0.951100 0.304400 +vn -0.013900 -0.643800 0.765100 +vn 0.072500 -0.734400 0.674800 +vn -0.239600 -0.970800 -0.006000 +vn -0.241600 -0.956500 -0.163300 +vn 0.255200 0.451900 -0.854700 +vn 0.239100 0.658600 -0.713500 +vn 0.134200 0.568400 -0.811700 +vn -0.120500 0.879300 -0.460700 +vn 0.296100 0.671800 -0.678900 +vn 0.350100 0.690300 -0.633200 +vn 0.104000 0.526600 -0.843700 +vn 0.023100 -0.997200 0.070400 +vn 0.039300 0.516400 -0.855400 +vn 0.535000 0.424800 -0.730200 +vn -0.008400 0.411500 -0.911400 +vn -0.232600 -0.969500 -0.076600 +vn -0.219800 0.876900 -0.427500 +vn 0.557100 0.579700 -0.594700 +vn -0.298100 0.614700 -0.730200 +vn -0.260900 -0.955400 0.137900 +vn -0.001400 -0.999500 0.032400 +vn 0.327700 0.313600 -0.891200 +vn -0.369100 0.258600 -0.892700 +vn 0.121000 0.169100 -0.978100 +vn -0.015200 0.827800 -0.560900 +vn -0.267800 0.849400 -0.454800 +vn 0.277400 -0.554400 -0.784600 +vn 0.293600 0.345400 -0.891300 +vn 0.561700 0.270100 -0.781900 +vn 0.433500 0.189700 -0.880900 +vn -0.028500 0.351100 -0.935900 +vn 0.053000 0.436000 -0.898300 +vn -0.042300 0.416300 -0.908200 +vn -0.574400 -0.808600 -0.127100 +vn -0.125600 0.441200 -0.888600 +vn 0.575300 0.291800 -0.764100 +vn 0.093300 0.726000 -0.681300 +vn 0.143100 0.418800 -0.896700 +vn -0.099100 0.678300 -0.728000 +vn -0.204000 0.670800 -0.713000 +vn -0.233600 0.528300 -0.816300 +vn -0.322000 0.560300 -0.763100 +vn 0.174000 -0.190700 -0.966100 +vn 0.289000 0.283500 -0.914300 +vn 0.474700 0.382900 -0.792500 +vn 0.121800 0.682600 -0.720500 +vn 0.320600 0.193400 -0.927200 +vn 0.541100 0.613600 -0.575000 +vn -0.134000 0.520400 -0.843300 +vn -0.089400 0.771000 -0.630500 +vn -0.045200 0.438100 -0.897800 +vn -0.095200 0.641900 -0.760800 +vn -0.000300 0.666900 -0.745100 +vn 0.085200 0.883800 -0.460000 +vn 0.061000 0.486500 -0.871500 +vn 0.105700 0.760900 -0.640200 +vn -0.006600 0.465000 -0.885300 +vn 0.149000 0.871000 -0.468200 +vn -0.429600 -0.699200 0.571400 +vn 0.064600 0.140000 -0.988000 +vn 0.134900 0.552700 -0.822400 +vn 0.205400 -0.537500 0.817800 +vn 0.224900 0.610000 -0.759800 +vn 0.292000 0.810300 -0.508000 +vn 0.354300 0.098500 -0.929900 +vn -0.646200 -0.629800 -0.431000 +vn 0.227100 0.218400 -0.949100 +vn 0.093200 0.616500 -0.781800 +vn -0.022400 0.483500 -0.875000 +vn 0.513600 0.094600 -0.852700 +vn -0.532700 -0.201300 -0.822000 +vn -0.564000 -0.091300 -0.820700 +vn -0.463000 0.355400 -0.812000 +vn -0.262900 -0.110900 -0.958400 +vn -0.384900 -0.278000 -0.880100 +vn -0.305100 0.016800 -0.952100 +vn -0.412300 0.136600 -0.900700 +vn 0.432400 -0.238400 -0.869500 +vn -0.151600 0.299900 -0.941800 +vn -0.213200 0.381700 -0.899300 +vn 0.192000 -0.031400 -0.980900 +vn 0.048300 0.256000 -0.965500 +vn 0.260100 -0.315600 -0.912500 +vn -0.189200 -0.416600 -0.889200 +vn 0.521500 -0.018600 -0.853000 +vn -0.405500 -0.241300 -0.881600 +vn -0.425100 -0.221600 -0.877600 +vn -0.368700 0.180200 -0.911900 +vn -0.479100 -0.665500 -0.572300 +vn -0.319600 -0.601200 -0.732400 +vn -0.363600 -0.703000 -0.611200 +vn -0.501900 -0.101000 -0.859000 +vn -0.516300 -0.489100 -0.703000 +vn 0.122400 -0.315800 -0.940900 +vn -0.245700 0.230000 -0.941600 +vn -0.256600 0.182700 -0.949000 +vn -0.437700 0.147800 -0.886900 +vn 0.067000 -0.020300 -0.997500 +vn -0.093100 -0.492700 -0.865200 +vn -0.026600 -0.998400 -0.050500 +vn -0.231300 0.144800 -0.962000 +vn -0.285700 0.003200 -0.958300 +vn -0.288900 0.287400 -0.913200 +vn -0.123100 0.017100 -0.992200 +vn -0.464300 0.000300 -0.885600 +vn -0.050300 -0.341300 -0.938600 +vn -0.408100 -0.523100 -0.748200 +vn 0.118400 -0.218800 -0.968500 +vn -0.256600 -0.125300 -0.958300 +vn 0.068500 -0.427000 -0.901600 +vn -0.060400 0.358400 -0.931600 +vn 0.061600 -0.279900 -0.958000 +vn -0.331200 -0.379500 -0.863900 +vn 0.027900 -0.301400 -0.953100 +vn -0.356900 -0.721500 -0.593200 +vn -0.399900 -0.261600 -0.878400 +vn -0.249100 -0.298200 -0.921400 +vn -0.402100 -0.315400 -0.859600 +vn -0.107900 -0.313600 -0.943400 +vn -0.029600 -0.999000 0.034900 +vn -0.240100 -0.251600 -0.937600 +vn -0.011700 -0.141400 -0.989900 +vn -0.179300 -0.284100 -0.941900 +vn 0.328100 -0.358300 -0.874100 +vn 0.248700 0.254100 -0.934600 +vn -0.344200 -0.414900 -0.842200 +vn 0.607000 -0.128400 -0.784200 +vn 0.478100 0.035100 -0.877600 +vn -0.107600 0.237200 -0.965500 +vn 0.425200 -0.495500 -0.757400 +vn -0.261400 -0.363500 -0.894100 +vn 0.435600 0.053600 -0.898500 +vn 0.384900 -0.327200 -0.863000 +vn 0.421500 -0.114600 -0.899500 +vn 0.453700 -0.113800 -0.883800 +vn 0.407000 0.017100 -0.913200 +vn 0.392300 0.093400 -0.915000 +vn 0.345000 -0.421000 -0.838900 +vn 0.306700 -0.080300 -0.948400 +vn 0.292800 -0.183700 -0.938400 +vn -0.219300 0.288200 -0.932100 +vn 0.306400 -0.173600 -0.935900 +vn 0.416200 0.031200 -0.908700 +vn -0.639900 -0.746600 0.181700 +vn 0.307900 -0.352700 -0.883600 +vn 0.417400 0.069000 -0.906100 +vn -0.577000 -0.815800 0.038500 +vn -0.346700 -0.937900 0.005100 +vn 0.315700 -0.386000 -0.866800 +vn 0.237300 -0.219600 -0.946300 +vn 0.454400 -0.000400 -0.890800 +vn 0.203900 -0.205500 -0.957200 +vn 0.303600 -0.098400 -0.947700 +vn 0.461900 0.073600 -0.883800 +vn 0.096700 -0.247800 -0.963900 +vn 0.096000 -0.425700 -0.899700 +vn 0.186400 -0.456400 -0.870000 +vn 0.242900 -0.060700 -0.968100 +vn 0.271000 -0.248400 -0.929900 +vn 0.335300 -0.443100 -0.831400 +vn 0.110200 -0.192100 -0.975100 +vn 0.289100 -0.096500 -0.952400 +vn 0.164300 -0.080100 -0.983100 +vn 0.241400 -0.169900 -0.955400 +vn 0.267600 -0.258200 -0.928300 +vn 0.472500 -0.143100 -0.869600 +vn 0.355000 0.103600 -0.929100 +vn 0.278300 0.124300 -0.952400 +vn 0.203700 -0.349700 -0.914500 +vn 0.256700 -0.209700 -0.943400 +vn 0.361100 0.076700 -0.929300 +vn -0.042500 -0.214100 -0.975900 +vn 0.233900 -0.107900 -0.966200 +vn 0.255900 0.029800 -0.966200 +vn 0.212700 -0.634000 -0.743500 +vn 0.335600 -0.484600 -0.807800 +vn 0.295000 -0.229100 -0.927600 +vn 0.359700 0.139800 -0.922500 +vn 0.211300 -0.235700 -0.948500 +vn 0.211400 -0.175800 -0.961400 +vn 0.206100 -0.202600 -0.957300 +vn 0.213300 -0.303200 -0.928700 +vn 0.123800 -0.454200 -0.882300 +vn 0.296700 -0.044400 -0.953900 +vn 0.121500 -0.713600 -0.690000 +vn 0.222000 -0.266900 -0.937800 +vn 0.222300 -0.050800 -0.973600 +vn 0.125200 -0.126400 -0.984000 +vn 0.117300 -0.514600 -0.849400 +vn 0.228200 -0.155200 -0.961100 +vn 0.415400 0.034700 -0.909000 +vn 0.235800 -0.062200 -0.969800 +vn 0.142300 -0.074200 -0.987000 +vn 0.154100 -0.306700 -0.939200 +vn 0.227200 0.040600 -0.973000 +vn 0.165700 -0.281700 -0.945100 +vn 0.206600 -0.100800 -0.973200 +vn 0.224300 -0.175600 -0.958600 +vn 0.111000 -0.467400 -0.877000 +vn 0.006100 -0.513000 -0.858400 +vn 0.112300 -0.288000 -0.951000 +vn 0.188500 -0.144400 -0.971400 +vn -0.071900 -0.813500 0.577100 +vn 0.030600 -0.712100 -0.701400 +vn 0.083100 -0.435000 -0.896500 +vn 0.180400 -0.163500 -0.969900 +vn 0.200700 -0.235400 -0.950900 +vn 0.032900 -0.380000 -0.924400 +vn 0.160000 -0.281600 -0.946100 +vn 0.123800 -0.080800 -0.989000 +vn 0.255400 -0.171000 -0.951600 +vn 0.265600 -0.140100 -0.953800 +vn 0.123500 -0.038300 -0.991600 +vn 0.122800 0.009700 -0.992400 +vn -0.111300 -0.443100 -0.889500 +vn 0.104200 -0.321400 -0.941200 +vn 0.204200 -0.185300 -0.961200 +vn 0.859100 -0.507900 -0.063300 +vn -0.115700 -0.604600 0.788000 +vn -0.560300 -0.093800 -0.823000 +vn 0.116600 -0.044800 -0.992200 +vn 0.000800 -0.404300 -0.914600 +vn 0.068400 -0.282900 -0.956700 +vn 0.444100 -0.882500 0.154800 +vn 0.093800 -0.038800 -0.994800 +vn -0.044400 -0.104300 -0.993500 +vn -0.430700 -0.699100 -0.570700 +vn -0.189400 -0.467800 -0.863300 +vn -0.168300 -0.375000 -0.911600 +vn 0.351900 -0.833200 0.426400 +vn -0.072700 -0.177600 -0.981400 +vn 0.194600 -0.855200 0.480400 +vn -0.084800 -0.995000 -0.052000 +vn 0.039900 -0.977000 0.209600 +vn -0.343800 -0.393200 -0.852700 +vn -0.141800 -0.254200 -0.956700 +vn -0.078100 0.118000 -0.989900 +vn -0.492000 -0.151500 -0.857300 +vn -0.571200 -0.795500 -0.202300 +vn -0.754500 -0.441400 -0.485600 +vn -0.086900 -0.040400 -0.995400 +vn -0.182900 -0.134500 -0.973900 +vn -0.420200 -0.325700 -0.846900 +vn -0.424400 -0.862800 0.274600 +vn -0.345700 -0.195200 -0.917800 +vn -0.323300 -0.066100 -0.944000 +vn -0.288600 0.098600 -0.952300 +vn -0.286800 -0.543000 0.789200 +vn -0.243100 -0.860600 0.447500 +vn 0.050400 -0.997800 0.042600 +vn 0.105500 -0.991800 0.072100 +vn -0.207500 -0.978200 -0.001700 +vn -0.171500 -0.982500 -0.072200 +vn 0.137200 -0.940200 0.311800 +vn 0.013800 -0.999800 0.015700 +vn 0.177200 -0.560800 0.808700 +vn 0.034600 -0.999000 -0.029400 +vn -0.177700 -0.983800 0.022500 +vn 0.035300 -0.979000 0.200800 +vn -0.156400 -0.946200 0.283200 +vn -0.477100 -0.878200 -0.032700 +vn -0.191100 -0.909700 -0.368600 +vn 0.041800 -0.999100 0.008500 +vn 0.460300 -0.880200 0.115600 +vn -0.667500 -0.702700 0.246200 +vn -0.525400 -0.730900 0.435500 +vn -0.365400 -0.903700 0.222900 +vn -0.297600 -0.932200 0.205700 +vn -0.434100 -0.894000 0.110300 +vn 0.404600 -0.874300 0.268100 +vn -0.021500 -0.998300 0.054400 +vn 0.006600 -0.999900 0.004600 +vn -0.123400 -0.623400 0.772100 +vn -0.122900 -0.991400 -0.044900 +vn -0.634800 -0.771000 0.049700 +vn 0.088200 -0.948200 0.305200 +vn 0.062800 -0.958500 0.278000 +vn 0.227100 -0.968800 0.099100 +vn -0.025200 -0.999300 0.027800 +vn -0.430200 -0.873600 0.227600 +vn -0.441200 -0.888500 0.126500 +vn 0.183400 -0.982800 -0.021400 +vn 0.002000 -0.999300 -0.037800 +vn 0.031100 -0.999200 -0.022300 +vn -0.820500 -0.529000 -0.216500 +vn -0.154400 -0.968600 0.194700 +vn -0.490700 -0.860200 0.138800 +vn -0.483700 -0.870400 -0.091100 +vn -0.466600 -0.881200 0.076000 +vn 0.323600 -0.875700 0.358300 +vn 0.056700 -0.998400 0.002100 +vn 0.389800 -0.920800 -0.011300 +vn -0.624700 -0.780900 0.003400 +vn 0.260800 -0.951500 -0.163000 +vn 0.173200 -0.978500 0.112100 +vn -0.601500 -0.680600 0.418300 +vn 0.335200 -0.914800 0.225200 +vn -0.651000 -0.737500 -0.179600 +vn -0.892100 -0.451800 0.007400 +vn -0.698000 -0.714700 0.045800 +vn -0.663000 -0.703700 -0.255400 +vn -0.383600 -0.912900 -0.139300 +vn 0.068500 -0.997500 -0.013700 +vn 0.147700 -0.987400 -0.056600 +vn -0.472800 -0.881100 -0.007200 +vn -0.056800 -0.992400 0.109000 +vn -0.486800 -0.799800 0.351100 +vn -0.119400 -0.831400 0.542700 +vn -0.407000 -0.816600 0.409100 +vn -0.688200 -0.559800 0.461500 +vn -0.313100 -0.941000 0.128300 +vn 0.019000 -0.996100 0.085900 +vn 0.294000 -0.941200 0.166200 +vn 0.004000 -0.994400 0.105400 +vn -0.288100 -0.953400 0.089800 +vn -0.260600 -0.838200 0.479100 +vn -0.300400 -0.651100 0.696900 +vn -0.363600 -0.903800 0.225600 +vn -0.487600 -0.701600 0.519500 +vn -0.130200 -0.934100 0.332500 +vn 0.265400 -0.928300 0.260300 +vn 0.031400 -0.997000 0.070600 +vn -0.674100 -0.715500 0.183200 +vn -0.514500 -0.819600 -0.251800 +vn -0.705800 -0.628700 0.326400 +vn -0.582900 -0.806900 -0.095500 +vn -0.687900 -0.725800 0.006600 +vn -0.662700 -0.745200 0.073800 +vn -0.082600 -0.863000 0.498300 +vn -0.335100 -0.840100 0.426400 +vn -0.644600 -0.613200 0.456600 +vn -0.559700 -0.757600 0.335800 +vn -0.583800 -0.733800 0.347200 +vn 0.162800 -0.919900 0.356800 +vn -0.341000 -0.919300 -0.196400 +vn -0.447700 -0.892100 -0.060000 +vn -0.548900 -0.786800 0.282300 +vn -0.613500 -0.613700 0.496800 +vn -0.446900 -0.861500 -0.240900 +vn -0.185500 -0.982200 -0.028000 +vn -0.474800 -0.873000 0.111700 +vn -0.338600 -0.935800 -0.097800 +vn -0.317500 -0.948100 0.014500 +vn -0.361500 -0.904200 0.227500 +vn -0.458800 -0.749400 0.477300 +vn -0.035600 -0.999200 0.014700 +vn -0.380700 -0.856500 0.348500 +vn -0.475800 -0.668900 0.571200 +vn -0.494700 -0.532900 0.686500 +vn -0.134600 -0.987200 0.084800 +vn -0.423000 -0.803600 0.418600 +vn 0.234700 -0.971700 -0.026500 +vn -0.027900 -0.997200 -0.069000 +vn -0.003500 -1.000000 -0.006200 +vn -0.272500 -0.943400 0.188700 +vn -0.345900 -0.669500 0.657400 +vn -0.234300 -0.965000 0.117600 +vn -0.224800 -0.974200 0.018100 +vn -0.262800 -0.912900 0.312100 +vn -0.296900 -0.864200 0.406100 +vn -0.317800 -0.792000 0.521200 +vn 0.009800 -0.999900 -0.002300 +vn -0.041600 -0.998700 0.029100 +vn -0.232300 -0.750000 0.619300 +vn -0.236400 -0.629000 0.740500 +vn -0.050900 -0.996200 -0.069800 +vn -0.380700 -0.908700 -0.171500 +vn -0.020100 -0.999600 -0.016400 +vn 0.038600 -0.999200 0.009600 +vn 0.061100 -0.997800 -0.026100 +vn -0.080400 -0.996600 0.017900 +vn 0.027800 -0.999500 -0.017800 +vn -0.045400 -0.997200 0.059200 +vn -0.142500 -0.982700 0.118700 +vn -0.016900 -0.999000 0.042100 +vn -0.089600 -0.642700 0.760900 +vn 0.310800 -0.943500 0.114700 +vn 0.166700 -0.980300 0.105800 +vn -0.016900 -0.929500 0.368400 +vn 0.140400 -0.727700 0.671300 +vn -0.005700 -0.999500 0.029800 +vn -0.261800 -0.926300 0.270900 +vn 0.122600 -0.968400 0.217400 +vn 0.133200 -0.990500 -0.033300 +vn 0.542000 -0.738200 0.401600 +vn 0.778200 -0.610100 0.148600 +vn -0.190500 -0.571300 0.798300 +vn 0.189400 -0.734000 0.652200 +vn 0.370000 -0.799400 0.473200 +vn 0.389400 -0.904900 0.172000 +vn 0.020400 -0.888300 0.458800 +vn -0.402700 -0.710600 0.577000 +vn -0.019100 -0.995800 0.089600 +vn 0.015800 -0.999600 0.023700 +vn -0.024200 -0.663200 0.748000 +vn 0.092700 -0.989200 0.113800 +vn 0.070900 -0.997300 -0.020100 +vn 0.058300 -0.889400 0.453300 +vn -0.186800 -0.922800 0.337000 +vn -0.335400 -0.925500 0.175800 +s 1 +f 1//1 2//2 3//3 +f 4//4 5//5 6//6 +f 7//7 8//8 9//9 +f 10//10 11//11 12//12 +f 9//9 13//13 14//14 +f 15//15 16//16 17//17 +f 18//18 19//19 20//20 +f 21//21 22//22 23//23 +f 24//24 25//25 26//26 +f 27//27 28//28 29//29 +f 30//30 31//31 32//32 +f 33//33 34//34 35//35 +f 36//36 37//37 38//38 +f 19//19 39//39 20//20 +f 40//40 24//24 41//41 +f 42//42 43//43 44//44 +f 45//45 46//46 47//47 +f 48//48 49//49 50//50 +f 51//51 52//52 53//53 +f 54//54 55//55 42//42 +f 56//56 57//57 54//54 +f 58//58 59//59 60//60 +f 44//44 43//43 61//61 +f 62//62 63//63 64//64 +f 55//55 43//43 42//42 +f 65//65 66//66 67//67 +f 68//68 69//69 70//70 +f 71//71 72//72 73//73 +f 74//74 75//75 76//76 +f 77//77 78//78 79//79 +f 80//80 81//81 25//25 +f 82//82 83//83 73//73 +f 72//72 82//82 73//73 +f 84//84 85//85 86//86 +f 8//8 13//13 9//9 +f 87//87 88//88 89//89 +f 90//90 91//91 92//92 +f 93//93 94//94 6//6 +f 71//71 73//73 95//95 +f 96//96 97//97 98//98 +f 99//99 100//100 101//101 +f 49//49 57//57 56//56 +f 88//88 102//102 103//103 +f 104//104 68//68 105//105 +f 83//83 106//106 73//73 +f 106//106 83//83 18//18 +f 10//10 107//107 11//11 +f 108//108 7//7 66//66 +f 109//109 98//98 110//110 +f 111//111 73//73 112//112 +f 113//113 24//24 114//114 +f 115//115 60//60 46//46 +f 116//116 50//50 56//56 +f 46//46 60//60 47//47 +f 117//117 118//118 119//119 +f 111//111 112//112 120//120 +f 121//121 122//122 123//123 +f 124//124 59//59 125//125 +f 114//114 24//24 40//40 +f 39//39 65//65 126//126 +f 125//125 127//127 128//128 +f 129//129 130//130 131//131 +f 132//132 133//133 134//134 +f 43//43 135//135 61//61 +f 136//136 137//137 138//138 +f 131//131 139//139 140//140 +f 141//141 142//142 143//143 +f 115//115 58//58 60//60 +f 144//144 145//145 146//146 +f 147//147 148//148 149//149 +f 148//148 150//150 149//149 +f 150//150 151//151 149//149 +f 152//152 153//153 154//154 +f 97//97 155//155 156//156 +f 142//142 157//157 158//158 +f 23//23 159//159 21//21 +f 138//138 137//137 160//160 +f 59//59 124//124 60//60 +f 147//147 161//161 148//148 +f 162//162 163//163 164//164 +f 22//22 165//165 166//166 +f 61//61 135//135 167//167 +f 168//168 169//169 170//170 +f 171//171 118//118 117//117 +f 172//172 173//173 174//174 +f 175//175 176//176 177//177 +f 178//178 179//179 180//180 +f 181//181 148//148 161//161 +f 181//181 150//150 148//148 +f 182//182 162//162 151//151 +f 183//183 184//184 185//185 +f 186//186 26//26 187//187 +f 188//188 189//189 72//72 +f 50//50 49//49 56//56 +f 31//31 133//133 190//190 +f 104//104 105//105 191//191 +f 60//60 192//192 47//47 +f 193//193 106//106 194//194 +f 150//150 182//182 151//151 +f 195//195 163//163 162//162 +f 182//182 195//195 162//162 +f 196//196 197//197 198//198 +f 126//126 65//65 67//67 +f 154//154 10//10 12//12 +f 21//21 165//165 22//22 +f 199//199 112//112 193//193 +f 131//131 130//130 139//139 +f 200//200 201//201 161//161 +f 181//181 202//202 150//150 +f 150//150 203//203 182//182 +f 204//204 205//205 206//206 +f 207//207 208//208 209//209 +f 41//41 26//26 186//186 +f 68//68 70//70 105//105 +f 171//171 117//117 210//210 +f 211//211 1//1 212//212 +f 213//213 214//214 215//215 +f 216//216 217//217 63//63 +f 200//200 218//218 201//201 +f 150//150 202//202 203//203 +f 219//219 163//163 220//220 +f 221//221 222//222 117//117 +f 223//223 32//32 190//190 +f 224//224 225//225 226//226 +f 201//201 227//227 181//181 +f 227//227 202//202 181//181 +f 203//203 228//228 182//182 +f 195//195 220//220 163//163 +f 229//229 230//230 218//218 +f 231//231 232//232 233//233 +f 20//20 39//39 130//130 +f 234//234 190//190 132//132 +f 235//235 236//236 237//237 +f 182//182 228//228 195//195 +f 238//238 239//239 240//240 +f 241//241 242//242 243//243 +f 244//244 235//235 237//237 +f 39//39 126//126 130//130 +f 245//245 246//246 247//247 +f 218//218 227//227 201//201 +f 248//248 249//249 250//250 +f 251//251 241//241 243//243 +f 240//240 252//252 253//253 +f 241//241 254//254 242//242 +f 255//255 256//256 257//257 +f 82//82 258//258 19//19 +f 18//18 20//20 259//259 +f 260//260 261//261 262//262 +f 263//263 218//218 230//230 +f 263//263 227//227 218//218 +f 264//264 265//265 266//266 +f 228//228 267//267 195//195 +f 268//268 269//269 270//270 +f 254//254 271//271 272//272 +f 273//273 274//274 275//275 +f 276//276 277//277 278//278 +f 279//279 280//280 281//281 +f 4//4 136//136 5//5 +f 282//282 283//283 284//284 +f 285//285 261//261 260//260 +f 261//261 286//286 287//287 +f 286//286 288//288 287//287 +f 289//289 290//290 291//291 +f 292//292 293//293 294//294 +f 295//295 296//296 297//297 +f 298//298 227//227 299//299 +f 300//300 275//275 301//301 +f 302//302 303//303 304//304 +f 1//1 305//305 306//306 +f 307//307 95//95 111//111 +f 129//129 131//131 308//308 +f 309//309 286//286 261//261 +f 310//310 311//311 312//312 +f 313//313 314//314 315//315 +f 316//316 317//317 318//318 +f 319//319 320//320 321//321 +f 322//322 104//104 191//191 +f 323//323 324//324 325//325 +f 326//326 327//327 253//253 +f 145//145 322//322 191//191 +f 327//327 326//326 328//328 +f 113//113 25//25 24//24 +f 66//66 7//7 9//9 +f 188//188 72//72 329//329 +f 187//187 330//330 186//186 +f 120//120 199//199 331//331 +f 285//285 309//309 261//261 +f 332//332 333//333 334//334 +f 335//335 266//266 265//265 +f 336//336 337//337 313//313 +f 337//337 314//314 313//313 +f 336//336 313//313 338//338 +f 339//339 340//340 341//341 +f 254//254 272//272 342//342 +f 343//343 344//344 345//345 +f 242//242 342//342 243//243 +f 106//106 18//18 194//194 +f 346//346 347//347 348//348 +f 260//260 346//346 285//285 +f 349//349 350//350 351//351 +f 352//352 292//292 353//353 +f 354//354 355//355 266//266 +f 267//267 356//356 357//357 +f 358//358 359//359 273//273 +f 360//360 358//358 273//273 +f 189//189 108//108 258//258 +f 82//82 72//72 189//189 +f 7//7 361//361 8//8 +f 73//73 111//111 95//95 +f 362//362 363//363 364//364 +f 365//365 366//366 367//367 +f 368//368 366//366 347//347 +f 347//347 366//366 348//348 +f 369//369 346//346 348//348 +f 369//369 285//285 346//346 +f 369//369 309//309 285//285 +f 353//353 294//294 100//100 +f 292//292 294//294 353//353 +f 370//370 273//273 371//371 +f 372//372 373//373 374//374 +f 375//375 376//376 377//377 +f 335//335 354//354 266//266 +f 378//378 379//379 380//380 +f 381//381 382//382 383//383 +f 361//361 13//13 8//8 +f 372//372 384//384 385//385 +f 295//295 297//297 355//355 +f 386//386 387//387 388//388 +f 198//198 389//389 390//390 +f 391//391 392//392 393//393 +f 190//190 133//133 132//132 +f 394//394 395//395 396//396 +f 365//365 397//397 366//366 +f 366//366 398//398 348//348 +f 399//399 309//309 369//369 +f 400//400 401//401 402//402 +f 403//403 404//404 405//405 +f 406//406 372//372 385//385 +f 344//344 407//407 345//345 +f 408//408 409//409 410//410 +f 411//411 369//369 348//348 +f 398//398 411//411 348//348 +f 412//412 309//309 399//399 +f 412//412 413//413 309//309 +f 414//414 415//415 416//416 +f 335//335 265//265 337//337 +f 417//417 418//418 255//255 +f 69//69 419//419 420//420 +f 70//70 69//69 421//421 +f 9//9 14//14 422//422 +f 423//423 424//424 425//425 +f 426//426 427//427 428//428 +f 429//429 430//430 365//365 +f 430//430 397//397 365//365 +f 397//397 431//431 366//366 +f 366//366 431//431 398//398 +f 431//431 432//432 398//398 +f 411//411 399//399 369//369 +f 100//100 294//294 101//101 +f 433//433 376//376 375//375 +f 371//371 273//273 275//275 +f 434//434 413//413 412//412 +f 352//352 435//435 292//292 +f 66//66 9//9 67//67 +f 436//436 437//437 438//438 +f 439//439 397//397 430//430 +f 439//439 431//431 397//397 +f 398//398 432//432 411//411 +f 411//411 440//440 399//399 +f 413//413 434//434 441//441 +f 264//264 442//442 265//265 +f 352//352 290//290 443//443 +f 444//444 445//445 446//446 +f 447//447 448//448 449//449 +f 433//433 450//450 376//376 +f 451//451 452//452 453//453 +f 439//439 454//454 431//431 +f 455//455 337//337 336//336 +f 456//456 457//457 458//458 +f 124//124 125//125 459//459 +f 361//361 460//460 13//13 +f 461//461 462//462 463//463 +f 464//464 465//465 429//429 +f 432//432 466//466 411//411 +f 467//467 412//412 399//399 +f 467//467 434//434 412//412 +f 468//468 379//379 378//378 +f 450//450 469//469 470//470 +f 471//471 472//472 473//473 +f 474//474 349//349 351//351 +f 475//475 442//442 385//385 +f 101//101 376//376 476//476 +f 477//477 478//478 28//28 +f 479//479 175//175 480//480 +f 429//429 481//481 430//430 +f 430//430 481//481 439//439 +f 466//466 440//440 411//411 +f 482//482 434//434 467//467 +f 373//373 296//296 374//374 +f 483//483 484//484 485//485 +f 486//486 487//487 488//488 +f 442//442 406//406 385//385 +f 489//489 16//16 490//490 +f 491//491 492//492 13//13 +f 225//225 224//224 493//493 +f 494//494 495//495 245//245 +f 464//464 496//496 465//465 +f 465//465 497//497 429//429 +f 429//429 497//497 481//481 +f 481//481 498//498 439//439 +f 439//439 498//498 454//454 +f 454//454 466//466 431//431 +f 466//466 432//432 431//431 +f 440//440 499//499 399//399 +f 399//399 499//499 467//467 +f 434//434 500//500 441//441 +f 372//372 297//297 373//373 +f 501//501 447//447 502//502 +f 503//503 504//504 505//505 +f 489//489 506//506 16//16 +f 269//269 507//507 508//508 +f 17//17 16//16 509//509 +f 510//510 451//451 462//462 +f 511//511 497//497 465//465 +f 512//512 466//466 454//454 +f 466//466 512//512 440//440 +f 513//513 475//475 385//385 +f 514//514 505//505 515//515 +f 515//515 349//349 474//474 +f 516//516 517//517 447//447 +f 518//518 503//503 519//519 +f 517//517 520//520 521//521 +f 517//517 522//522 520//520 +f 523//523 524//524 525//525 +f 526//526 350//350 349//349 +f 527//527 528//528 529//529 +f 393//393 530//530 531//531 +f 532//532 533//533 534//534 +f 535//535 169//169 536//536 +f 497//497 537//537 481//481 +f 537//537 498//498 481//481 +f 512//512 454//454 498//498 +f 512//512 538//538 440//440 +f 440//440 538//538 499//499 +f 538//538 539//539 499//499 +f 539//539 467//467 499//499 +f 482//482 540//540 434//434 +f 540//540 541//541 500//500 +f 434//434 540//540 500//500 +f 414//414 400//400 415//415 +f 542//542 543//543 544//544 +f 545//545 546//546 547//547 +f 513//513 314//314 475//475 +f 519//519 503//503 505//505 +f 548//548 549//549 408//408 +f 465//465 550//550 511//511 +f 467//467 551//551 482//482 +f 551//551 540//540 482//482 +f 375//375 515//515 474//474 +f 378//378 380//380 552//552 +f 351//351 553//553 433//433 +f 352//352 353//353 290//290 +f 554//554 555//555 556//556 +f 550//550 537//537 511//511 +f 537//537 497//497 511//511 +f 557//557 498//498 537//537 +f 558//558 512//512 498//498 +f 559//559 538//538 512//512 +f 551//551 467//467 539//539 +f 351//351 547//547 560//560 +f 342//342 272//272 524//524 +f 290//290 353//353 561//561 +f 470//470 248//248 562//562 +f 563//563 564//564 565//565 +f 566//566 555//555 506//506 +f 567//567 488//488 35//35 +f 568//568 569//569 570//570 +f 557//557 558//558 498//498 +f 512//512 558//558 559//559 +f 551//551 571//571 540//540 +f 562//562 248//248 250//250 +f 502//502 449//449 416//416 +f 415//415 502//502 416//416 +f 572//572 501//501 400//400 +f 402//402 572//572 400//400 +f 501//501 516//516 447//447 +f 573//573 156//156 574//574 +f 73//73 106//106 112//112 +f 575//575 323//323 576//576 +f 577//577 578//578 579//579 +f 538//538 580//580 539//539 +f 580//580 581//581 539//539 +f 581//581 571//571 551//551 +f 539//539 581//581 551//551 +f 314//314 337//337 265//265 +f 582//582 414//414 583//583 +f 291//291 561//561 99//99 +f 544//544 584//584 585//585 +f 474//474 433//433 375//375 +f 586//586 587//587 588//588 +f 589//589 556//556 555//555 +f 590//590 591//591 556//556 +f 120//120 112//112 199//199 +f 592//592 550//550 593//593 +f 592//592 537//537 550//550 +f 557//557 559//559 558//558 +f 580//580 538//538 559//559 +f 594//594 540//540 571//571 +f 595//595 541//541 540//540 +f 473//473 596//596 597//597 +f 250//250 249//249 318//318 +f 589//589 598//598 556//556 +f 598//598 590//590 556//556 +f 83//83 19//19 18//18 +f 599//599 537//537 592//592 +f 600//600 557//557 537//537 +f 601//601 559//559 602//602 +f 601//601 580//580 559//559 +f 603//603 604//604 605//605 +f 455//455 606//606 337//337 +f 607//607 158//158 157//157 +f 566//566 608//608 555//555 +f 130//130 126//126 139//139 +f 599//599 600//600 537//537 +f 600//600 609//609 557//557 +f 557//557 609//609 559//559 +f 609//609 602//602 559//559 +f 580//580 601//601 581//581 +f 581//581 594//594 571//571 +f 541//541 610//610 611//611 +f 612//612 613//613 614//614 +f 615//615 450//450 470//470 +f 561//561 353//353 100//100 +f 28//28 616//616 617//617 +f 561//561 100//100 99//99 +f 142//142 618//618 157//157 +f 619//619 620//620 305//305 +f 608//608 621//621 589//589 +f 555//555 608//608 589//589 +f 621//621 598//598 589//589 +f 622//622 42//42 44//44 +f 623//623 624//624 625//625 +f 626//626 627//627 592//592 +f 627//627 599//599 592//592 +f 601//601 628//628 581//581 +f 629//629 594//594 581//581 +f 629//629 595//595 594//594 +f 594//594 595//595 540//540 +f 630//630 610//610 541//541 +f 631//631 405//405 632//632 +f 633//633 634//634 635//635 +f 636//636 637//637 618//618 +f 351//351 545//545 547//547 +f 118//118 212//212 119//119 +f 626//626 638//638 627//627 +f 628//628 629//629 581//581 +f 595//595 639//639 541//541 +f 639//639 640//640 541//541 +f 640//640 630//630 541//541 +f 641//641 321//321 642//642 +f 523//523 643//643 270//270 +f 501//501 644//644 516//516 +f 373//373 297//297 296//296 +f 604//604 619//619 305//305 +f 193//193 112//112 106//106 +f 194//194 18//18 259//259 +f 456//456 645//645 626//626 +f 645//645 638//638 626//626 +f 638//638 646//646 627//627 +f 646//646 599//599 627//627 +f 629//629 647//647 595//595 +f 595//595 647//647 639//639 +f 245//245 568//568 648//648 +f 649//649 468//468 650//650 +f 637//637 651//651 157//157 +f 618//618 637//637 157//157 +f 651//651 607//607 157//157 +f 198//198 197//197 652//652 +f 653//653 645//645 458//458 +f 654//654 599//599 646//646 +f 654//654 600//600 599//599 +f 654//654 609//609 600//600 +f 609//609 654//654 602//602 +f 628//628 655//655 629//629 +f 629//629 655//655 647//647 +f 79//79 78//78 656//656 +f 343//343 345//345 657//657 +f 658//658 450//450 615//615 +f 376//376 658//658 476//476 +f 542//542 650//650 543//543 +f 608//608 659//659 621//621 +f 660//660 661//661 653//653 +f 653//653 661//661 645//645 +f 645//645 662//662 638//638 +f 654//654 655//655 601//601 +f 602//602 654//654 601//601 +f 601//601 655//655 628//628 +f 657//657 345//345 663//663 +f 664//664 17//17 665//665 +f 666//666 667//667 668//668 +f 351//351 560//560 553//553 +f 659//659 669//669 621//621 +f 621//621 669//669 598//598 +f 670//670 653//653 598//598 +f 661//661 671//671 645//645 +f 646//646 672//672 654//654 +f 672//672 673//673 654//654 +f 673//673 655//655 654//654 +f 655//655 674//674 647//647 +f 675//675 641//641 676//676 +f 414//414 416//416 583//583 +f 376//376 450//450 658//658 +f 677//677 678//678 679//679 +f 208//208 680//680 681//681 +f 669//669 670//670 598//598 +f 645//645 682//682 662//662 +f 662//662 646//646 638//638 +f 662//662 672//672 646//646 +f 683//683 655//655 673//673 +f 683//683 674//674 655//655 +f 674//674 684//684 647//647 +f 684//684 685//685 647//647 +f 647//647 685//685 639//639 +f 639//639 686//686 640//640 +f 687//687 688//688 630//630 +f 689//689 690//690 691//691 +f 544//544 543//543 584//584 +f 692//692 693//693 651//651 +f 694//694 607//607 693//693 +f 695//695 696//696 697//697 +f 31//31 190//190 32//32 +f 698//698 669//669 659//659 +f 670//670 660//660 653//653 +f 671//671 682//682 645//645 +f 699//699 339//339 700//700 +f 692//692 701//701 693//693 +f 661//661 702//702 671//671 +f 662//662 703//703 672//672 +f 703//703 704//704 672//672 +f 672//672 704//704 673//673 +f 704//704 705//705 673//673 +f 705//705 706//706 673//673 +f 706//706 683//683 673//673 +f 707//707 674//674 683//683 +f 707//707 708//708 674//674 +f 708//708 684//684 674//674 +f 708//708 685//685 684//684 +f 685//685 686//686 639//639 +f 543//543 709//709 584//584 +f 253//253 710//710 711//711 +f 425//425 712//712 713//713 +f 211//211 212//212 118//118 +f 714//714 715//715 670//670 +f 716//716 660//660 670//670 +f 717//717 661//661 660//660 +f 717//717 702//702 661//661 +f 703//703 662//662 682//682 +f 718//718 703//703 682//682 +f 719//719 685//685 708//708 +f 687//687 640//640 686//686 +f 442//442 372//372 406//406 +f 720//720 560//560 721//721 +f 709//709 722//722 584//584 +f 723//723 701//701 692//692 +f 670//670 669//669 714//714 +f 715//715 716//716 670//670 +f 702//702 682//682 671//671 +f 724//724 704//704 703//703 +f 704//704 725//725 705//705 +f 705//705 726//726 706//706 +f 727//727 708//708 707//707 +f 686//686 685//685 687//687 +f 585//585 584//584 722//722 +f 606//606 335//335 337//337 +f 701//701 728//728 694//694 +f 693//693 701//701 694//694 +f 201//201 181//181 161//161 +f 728//728 387//387 729//729 +f 730//730 731//731 23//23 +f 716//716 717//717 660//660 +f 717//717 732//732 702//702 +f 733//733 703//703 718//718 +f 733//733 724//724 703//703 +f 724//724 725//725 704//704 +f 725//725 726//726 705//705 +f 734//734 99//99 735//735 +f 514//514 515//515 375//375 +f 733//733 725//725 724//724 +f 726//726 736//736 706//706 +f 727//727 719//719 708//708 +f 492//492 687//687 685//685 +f 317//317 696//696 318//318 +f 101//101 377//377 376//376 +f 587//587 313//313 315//315 +f 562//562 737//737 738//738 +f 28//28 617//617 29//29 +f 294//294 514//514 377//377 +f 24//24 26//26 41//41 +f 259//259 20//20 129//129 +f 20//20 130//130 129//129 +f 716//716 715//715 739//739 +f 740//740 717//717 716//716 +f 732//732 718//718 702//702 +f 718//718 682//682 702//702 +f 736//736 741//741 706//706 +f 706//706 741//741 683//683 +f 742//742 707//707 683//683 +f 743//743 744//744 477//477 +f 745//745 302//302 78//78 +f 740//740 732//732 717//717 +f 746//746 733//733 718//718 +f 746//746 725//725 733//733 +f 741//741 742//742 683//683 +f 742//742 747//747 707//707 +f 747//747 727//727 707//707 +f 748//748 749//749 644//644 +f 290//290 561//561 291//291 +f 713//713 750//750 425//425 +f 330//330 32//32 223//223 +f 739//739 740//740 716//716 +f 740//740 751//751 732//732 +f 751//751 718//718 732//732 +f 751//751 752//752 718//718 +f 718//718 752//752 746//746 +f 746//746 753//753 725//725 +f 753//753 754//754 726//726 +f 725//725 753//753 726//726 +f 726//726 754//754 736//736 +f 742//742 755//755 747//747 +f 747//747 719//719 727//727 +f 492//492 685//685 719//719 +f 756//756 326//326 757//757 +f 416//416 758//758 583//583 +f 709//709 552//552 483//483 +f 443//443 289//289 759//759 +f 760//760 729//729 761//761 +f 762//762 763//763 753//753 +f 736//736 754//754 741//741 +f 699//699 764//764 765//765 +f 483//483 552//552 484//484 +f 474//474 351//351 433//433 +f 377//377 514//514 375//375 +f 560//560 720//720 553//553 +f 2//2 1//1 211//211 +f 5//5 136//136 138//138 +f 766//766 193//193 194//194 +f 767//767 740//740 739//739 +f 768//768 767//767 739//739 +f 767//767 751//751 740//740 +f 331//331 362//362 364//364 +f 102//102 689//689 109//109 +f 741//741 755//755 742//742 +f 239//239 769//769 770//770 +f 771//771 317//317 772//772 +f 468//468 378//378 543//543 +f 666//666 562//562 738//738 +f 631//631 403//403 405//405 +f 65//65 108//108 66//66 +f 773//773 301//301 774//774 +f 570//570 775//775 776//776 +f 777//777 778//778 779//779 +f 767//767 780//780 751//751 +f 751//751 780//780 752//752 +f 781//781 747//747 755//755 +f 782//782 719//719 747//747 +f 783//783 782//782 747//747 +f 782//782 492//492 719//719 +f 784//784 785//785 786//786 +f 552//552 787//787 484//484 +f 225//225 493//493 788//788 +f 293//293 514//514 294//294 +f 475//475 265//265 442//442 +f 789//789 247//247 246//246 +f 790//790 767//767 768//768 +f 791//791 792//792 780//780 +f 793//793 794//794 795//795 +f 317//317 131//131 696//696 +f 449//449 448//448 796//796 +f 797//797 741//741 754//754 +f 741//741 797//797 755//755 +f 798//798 782//782 783//783 +f 799//799 492//492 782//782 +f 799//799 14//14 492//492 +f 515//515 504//504 526//526 +f 470//470 469//469 248//248 +f 266//266 355//355 264//264 +f 667//667 666//666 738//738 +f 505//505 504//504 515//515 +f 800//800 777//777 779//779 +f 801//801 802//802 323//323 +f 802//802 324//324 323//323 +f 522//522 517//517 803//803 +f 804//804 129//129 308//308 +f 362//362 766//766 805//805 +f 806//806 755//755 797//797 +f 755//755 806//806 781//781 +f 783//783 747//747 781//781 +f 799//799 422//422 14//14 +f 720//720 469//469 553//553 +f 355//355 372//372 442//442 +f 250//250 318//318 695//695 +f 468//468 543//543 650//650 +f 542//542 296//296 650//650 +f 553//553 469//469 450//450 +f 807//807 779//779 170//170 +f 800//800 808//808 777//777 +f 808//808 809//809 777//777 +f 42//42 622//622 54//54 +f 356//356 810//810 357//357 +f 811//811 783//783 781//781 +f 339//339 699//699 340//340 +f 812//812 632//632 813//813 +f 729//729 386//386 814//814 +f 815//815 814//814 816//816 +f 433//433 553//553 450//450 +f 807//807 170//170 817//817 +f 818//818 807//807 817//817 +f 819//819 779//779 807//807 +f 819//819 800//800 779//779 +f 820//820 821//821 822//822 +f 199//199 193//193 362//362 +f 132//132 134//134 823//823 +f 94//94 4//4 6//6 +f 13//13 824//824 491//491 +f 825//825 826//826 827//827 +f 781//781 828//828 811//811 +f 829//829 379//379 468//468 +f 722//722 483//483 485//485 +f 378//378 552//552 709//709 +f 154//154 12//12 830//830 +f 247//247 789//789 563//563 +f 317//317 308//308 131//131 +f 831//831 832//832 833//833 +f 811//811 798//798 783//783 +f 834//834 782//782 798//798 +f 835//835 226//226 473//473 +f 562//562 250//250 695//695 +f 519//519 836//836 837//837 +f 447//447 521//521 448//448 +f 472//472 835//835 473//473 +f 838//838 809//809 808//808 +f 809//809 838//838 839//839 +f 199//199 362//362 331//331 +f 193//193 766//766 362//362 +f 840//840 841//841 842//842 +f 54//54 622//622 56//56 +f 843//843 844//844 845//845 +f 846//846 811//811 828//828 +f 847//847 848//848 644//644 +f 641//641 319//319 321//321 +f 807//807 849//849 819//819 +f 819//819 849//849 800//800 +f 838//838 808//808 800//800 +f 850//850 851//851 852//852 +f 131//131 140//140 696//696 +f 331//331 364//364 853//853 +f 665//665 854//854 855//855 +f 856//856 325//325 208//208 +f 846//846 857//857 811//811 +f 857//857 798//798 811//811 +f 422//422 799//799 782//782 +f 834//834 422//422 782//782 +f 858//858 859//859 860//860 +f 695//695 318//318 696//696 +f 483//483 722//722 709//709 +f 380//380 861//861 862//862 +f 294//294 377//377 101//101 +f 807//807 863//863 849//849 +f 849//849 864//864 800//800 +f 864//864 838//838 800//800 +f 838//838 865//865 839//839 +f 189//189 866//866 108//108 +f 766//766 194//194 867//867 +f 868//868 494//494 596//596 +f 869//869 870//870 871//871 +f 749//749 517//517 516//516 +f 562//562 695//695 737//737 +f 585//585 722//722 872//872 +f 505//505 514//514 873//873 +f 179//179 159//159 731//731 +f 871//871 874//874 875//875 +f 804//804 308//308 771//771 +f 876//876 857//857 846//846 +f 877//877 834//834 798//798 +f 877//877 422//422 834//834 +f 878//878 879//879 880//880 +f 291//291 99//99 734//734 +f 862//862 881//881 552//552 +f 37//37 882//882 38//38 +f 864//864 865//865 838//838 +f 194//194 259//259 867//867 +f 259//259 129//129 804//804 +f 883//883 884//884 871//871 +f 870//870 883//883 871//871 +f 884//884 874//874 871//871 +f 362//362 805//805 363//363 +f 370//370 360//360 273//273 +f 351//351 350//350 545//545 +f 435//435 352//352 881//881 +f 862//862 552//552 380//380 +f 865//865 885//885 886//886 +f 887//887 888//888 883//883 +f 889//889 875//875 874//874 +f 889//889 890//890 875//875 +f 891//891 867//867 804//804 +f 892//892 893//893 894//894 +f 895//895 857//857 820//820 +f 895//895 798//798 857//857 +f 896//896 422//422 877//877 +f 896//896 67//67 422//422 +f 355//355 297//297 372//372 +f 400//400 502//502 415//415 +f 649//649 650//650 296//296 +f 338//338 313//313 587//587 +f 897//897 865//865 864//864 +f 849//849 897//897 864//864 +f 898//898 886//886 885//885 +f 885//885 899//899 898//898 +f 900//900 888//888 887//887 +f 888//888 901//901 883//883 +f 901//901 902//902 883//883 +f 902//902 884//884 883//883 +f 902//902 874//874 884//884 +f 903//903 889//889 874//874 +f 889//889 904//904 890//890 +f 1//1 905//905 906//906 +f 766//766 907//907 805//805 +f 908//908 877//877 798//798 +f 909//909 67//67 896//896 +f 910//910 523//523 270//270 +f 370//370 371//371 911//911 +f 517//517 521//521 447//447 +f 865//865 899//899 885//885 +f 912//912 901//901 888//888 +f 902//902 913//913 874//874 +f 821//821 820//820 857//857 +f 908//908 896//896 877//877 +f 378//378 709//709 543//543 +f 586//586 338//338 587//587 +f 400//400 501//501 502//502 +f 863//863 897//897 849//849 +f 897//897 914//914 865//865 +f 865//865 914//914 899//899 +f 616//616 343//343 311//311 +f 900//900 912//912 888//888 +f 912//912 915//915 901//901 +f 901//901 916//916 902//902 +f 916//916 913//913 902//902 +f 903//903 874//874 913//913 +f 771//771 308//308 317//317 +f 917//917 895//895 820//820 +f 917//917 918//918 895//895 +f 908//908 798//798 895//895 +f 918//918 908//908 895//895 +f 126//126 67//67 909//909 +f 545//545 919//919 546//546 +f 644//644 749//749 516//516 +f 447//447 449//449 502//502 +f 914//914 920//920 899//899 +f 920//920 534//534 899//899 +f 900//900 921//921 912//912 +f 921//921 915//915 912//912 +f 915//915 922//922 901//901 +f 901//901 922//922 916//916 +f 923//923 889//889 903//903 +f 923//923 904//904 889//889 +f 328//328 274//274 327//327 +f 484//484 443//443 485//485 +f 126//126 909//909 139//139 +f 355//355 442//442 264//264 +f 374//374 296//296 542//542 +f 787//787 443//443 484//484 +f 249//249 316//316 318//318 +f 648//648 570//570 776//776 +f 914//914 513//513 920//920 +f 867//867 259//259 804//804 +f 867//867 907//907 766//766 +f 913//913 924//924 903//903 +f 924//924 923//923 903//903 +f 925//925 240//240 327//327 +f 926//926 917//917 822//822 +f 926//926 667//667 917//917 +f 667//667 918//918 917//917 +f 697//697 909//909 896//896 +f 604//604 603//603 850//850 +f 863//863 587//587 897//897 +f 840//840 927//927 841//841 +f 734//734 904//904 923//923 +f 738//738 908//908 918//918 +f 737//737 896//896 908//908 +f 737//737 697//697 896//896 +f 384//384 372//372 374//374 +f 314//314 265//265 475//475 +f 787//787 352//352 443//443 +f 316//316 772//772 317//317 +f 587//587 315//315 897//897 +f 897//897 315//315 914//914 +f 854//854 928//928 509//509 +f 533//533 532//532 929//929 +f 542//542 921//921 929//929 +f 915//915 872//872 922//922 +f 922//922 485//485 916//916 +f 916//916 930//930 913//913 +f 930//930 924//924 913//913 +f 668//668 667//667 926//926 +f 738//738 737//737 908//908 +f 271//271 700//700 272//272 +f 881//881 352//352 787//787 +f 881//881 787//787 552//552 +f 315//315 513//513 914//914 +f 920//920 532//532 534//534 +f 921//921 585//585 915//915 +f 915//915 585//585 872//872 +f 485//485 930//930 916//916 +f 289//289 924//924 930//930 +f 289//289 923//923 924//924 +f 291//291 734//734 923//923 +f 931//931 822//822 932//932 +f 738//738 918//918 667//667 +f 140//140 909//909 697//697 +f 140//140 139//139 909//909 +f 848//848 748//748 644//644 +f 588//588 587//587 863//863 +f 532//532 542//542 929//929 +f 759//759 289//289 930//930 +f 923//923 289//289 291//291 +f 575//575 418//418 417//417 +f 933//933 822//822 931//931 +f 737//737 695//695 697//697 +f 699//699 765//765 340//340 +f 829//829 468//468 649//649 +f 315//315 314//314 513//513 +f 513//513 385//385 920//920 +f 920//920 384//384 532//532 +f 532//532 374//374 542//542 +f 921//921 544//544 585//585 +f 485//485 759//759 930//930 +f 743//743 28//28 27//27 +f 443//443 290//290 289//289 +f 920//920 385//385 384//384 +f 384//384 374//374 532//532 +f 542//542 544//544 921//921 +f 872//872 722//722 922//922 +f 722//722 485//485 922//922 +f 485//485 443//443 759//759 +f 93//93 934//934 94//94 +f 935//935 336//336 936//936 +f 615//615 470//470 562//562 +f 862//862 937//937 881//881 +f 938//938 814//814 386//386 +f 881//881 937//937 435//435 +f 607//607 694//694 939//939 +f 940//940 941//941 942//942 +f 943//943 944//944 945//945 +f 946//946 947//947 295//295 +f 948//948 949//949 950//950 +f 951//951 526//526 952//952 +f 226//226 225//225 473//473 +f 953//953 748//748 954//954 +f 955//955 956//956 957//957 +f 958//958 954//954 847//847 +f 448//448 959//959 960//960 +f 961//961 274//274 358//358 +f 962//962 659//659 963//963 +f 964//964 954//954 958//958 +f 958//958 847//847 965//965 +f 966//966 244//244 967//967 +f 968//968 969//969 970//970 +f 692//692 637//637 636//636 +f 952//952 526//526 504//504 +f 971//971 972//972 973//973 +f 974//974 975//975 976//976 +f 273//273 359//359 274//274 +f 977//977 978//978 945//945 +f 979//979 980//980 981//981 +f 641//641 982//982 676//676 +f 52//52 51//51 983//983 +f 202//202 984//984 203//203 +f 249//249 721//721 560//560 +f 968//968 985//985 986//986 +f 321//321 987//987 642//642 +f 988//988 989//989 990//990 +f 202//202 298//298 991//991 +f 991//991 984//984 202//202 +f 992//992 993//993 994//994 +f 299//299 995//995 298//298 +f 996//996 997//997 998//998 +f 999//999 845//845 546//546 +f 1000//1000 1001//1001 1002//1002 +f 970//970 1003//1003 985//985 +f 978//978 383//383 1004//1004 +f 413//413 1005//1005 288//288 +f 1006//1006 631//631 632//632 +f 1007//1007 965//965 1008//1008 +f 40//40 283//283 1009//1009 +f 1010//1010 995//995 299//299 +f 298//298 1011//1011 991//991 +f 448//448 521//521 520//520 +f 986//986 985//985 979//979 +f 383//383 382//382 1012//1012 +f 1013//1013 1014//1014 1015//1015 +f 1013//1013 1010//1010 1014//1014 +f 991//991 356//356 984//984 +f 978//978 1004//1004 1016//1016 +f 1017//1017 995//995 1010//1010 +f 991//991 1011//1011 356//356 +f 773//773 774//774 1018//1018 +f 1008//1008 1019//1019 1020//1020 +f 1021//1021 1010//1010 1013//1013 +f 1021//1021 1017//1017 1010//1010 +f 1017//1017 1022//1022 995//995 +f 995//995 1022//1022 298//298 +f 298//298 1022//1022 1011//1011 +f 1023//1023 958//958 1024//1024 +f 1023//1023 964//964 958//958 +f 1025//1025 1026//1026 1027//1027 +f 1028//1028 1029//1029 1030//1030 +f 546//546 845//845 547//547 +f 1031//1031 1032//1032 63//63 +f 1033//1033 1015//1015 1034//1034 +f 1035//1035 1013//1013 1015//1015 +f 1011//1011 1036//1036 356//356 +f 700//700 339//339 1037//1037 +f 964//964 1038//1038 953//953 +f 1039//1039 1040//1040 1041//1041 +f 1042//1042 1043//1043 1044//1044 +f 954//954 748//748 848//848 +f 953//953 1038//1038 1045//1045 +f 1033//1033 1035//1035 1015//1015 +f 1021//1021 1013//1013 1035//1035 +f 1022//1022 1046//1046 1011//1011 +f 1047//1047 1048//1048 1049//1049 +f 1050//1050 1051//1051 1052//1052 +f 1017//1017 1053//1053 1022//1022 +f 1036//1036 810//810 356//356 +f 1054//1054 1055//1055 1056//1056 +f 402//402 965//965 847//847 +f 956//956 1057//1057 957//957 +f 826//826 1058//1058 1059//1059 +f 847//847 954//954 848//848 +f 1017//1017 1021//1021 1053//1053 +f 1046//1046 1060//1060 1011//1011 +f 1011//1011 1060//1060 1036//1036 +f 1061//1061 292//292 435//435 +f 979//979 1062//1062 980//980 +f 1008//1008 965//965 1063//1063 +f 1064//1064 1065//1065 1066//1066 +f 1067//1067 1033//1033 1005//1005 +f 413//413 1067//1067 1005//1005 +f 1053//1053 1046//1046 1022//1022 +f 1068//1068 1051//1051 1039//1039 +f 1035//1035 1033//1033 1067//1067 +f 1060//1060 1069//1069 1036//1036 +f 1032//1032 1070//1070 1071//1071 +f 959//959 1072//1072 1025//1025 +f 1073//1073 1074//1074 1075//1075 +f 1076//1076 1077//1077 1078//1078 +f 1078//1078 1079//1079 1080//1080 +f 1079//1079 1081//1081 1080//1080 +f 1082//1082 1074//1074 1079//1079 +f 1083//1083 971//971 973//973 +f 1084//1084 1021//1021 1035//1035 +f 1084//1084 1085//1085 1021//1021 +f 1085//1085 1053//1053 1021//1021 +f 1053//1053 1086//1086 1046//1046 +f 1086//1086 1087//1087 1046//1046 +f 1046//1046 1087//1087 1060//1060 +f 1087//1087 1088//1088 1060//1060 +f 1060//1060 1088//1088 1069//1069 +f 1069//1069 1089//1089 1036//1036 +f 1089//1089 810//810 1036//1036 +f 1073//1073 1075//1075 1090//1090 +f 959//959 1025//1025 960//960 +f 910//910 243//243 523//523 +f 1074//1074 1073//1073 1079//1079 +f 1067//1067 1084//1084 1035//1035 +f 1091//1091 810//810 1089//1089 +f 1071//1071 1070//1070 1092//1092 +f 350//350 941//941 545//545 +f 504//504 503//503 952//952 +f 1085//1085 1093//1093 1053//1053 +f 1093//1093 1086//1086 1053//1053 +f 155//155 163//163 219//219 +f 1094//1094 489//489 490//490 +f 1095//1095 489//489 1094//1094 +f 251//251 243//243 910//910 +f 842//842 841//841 1096//1096 +f 951//951 941//941 350//350 +f 1097//1097 1062//1062 1003//1003 +f 1062//1062 979//979 1003//1003 +f 1098//1098 1099//1099 1100//1100 +f 1101//1101 1102//1102 1065//1065 +f 1103//1103 1104//1104 616//616 +f 441//441 1105//1105 1084//1084 +f 1067//1067 441//441 1084//1084 +f 1084//1084 1105//1105 1085//1085 +f 1106//1106 1107//1107 386//386 +f 969//969 968//968 1108//1108 +f 844//844 772//772 845//845 +f 845//845 772//772 547//547 +f 836//836 873//873 1061//1061 +f 1109//1109 999//999 546//546 +f 1110//1110 1086//1086 1093//1093 +f 1111//1111 1089//1089 1069//1069 +f 1111//1111 1112//1112 1089//1089 +f 1112//1112 1091//1091 1089//1089 +f 1091//1091 1113//1113 810//810 +f 576//576 325//325 856//856 +f 856//856 207//207 1114//1114 +f 1115//1115 1116//1116 1117//1117 +f 1105//1105 1118//1118 1085//1085 +f 1118//1118 1119//1119 1085//1085 +f 1085//1085 1119//1119 1093//1093 +f 1110//1110 1120//1120 1086//1086 +f 1121//1121 1087//1087 1086//1086 +f 1120//1120 1121//1121 1086//1086 +f 1122//1122 1087//1087 1121//1121 +f 1122//1122 1088//1088 1087//1087 +f 1123//1123 1069//1069 1088//1088 +f 1122//1122 1123//1123 1088//1088 +f 1069//1069 1123//1123 1111//1111 +f 1124//1124 1091//1091 1112//1112 +f 1091//1091 1124//1124 1113//1113 +f 764//764 1125//1125 765//765 +f 1126//1126 967//967 634//634 +f 1127//1127 1093//1093 1119//1119 +f 1093//1093 1127//1127 1110//1110 +f 1111//1111 1124//1124 1112//1112 +f 1128//1128 593//593 465//465 +f 566//566 489//489 1095//1095 +f 566//566 506//506 489//489 +f 608//608 566//566 1129//1129 +f 1100//1100 1099//1099 1130//1130 +f 1115//1115 1131//1131 1116//1116 +f 23//23 1132//1132 730//730 +f 1127//1127 1120//1120 1110//1110 +f 1120//1120 1122//1122 1121//1121 +f 1133//1133 713//713 712//712 +f 357//357 1113//1113 166//166 +f 1042//1042 1134//1134 1135//1135 +f 524//524 1037//1037 525//525 +f 518//518 1134//1134 503//503 +f 1136//1136 1076//1076 1080//1080 +f 1098//1098 1117//1117 1099//1099 +f 1120//1120 1137//1137 1122//1122 +f 1111//1111 1138//1138 1124//1124 +f 1139//1139 1140//1140 1141//1141 +f 342//342 524//524 523//523 +f 227//227 298//298 202//202 +f 1101//1101 1064//1064 1131//1131 +f 1061//1061 873//873 293//293 +f 240//240 239//239 252//252 +f 1142//1142 1047//1047 970//970 +f 463//463 1143//1143 1144//1144 +f 1049//1049 1062//1062 1097//1097 +f 1127//1127 1145//1145 1120//1120 +f 1138//1138 1146//1146 1124//1124 +f 1147//1147 1129//1129 1095//1095 +f 1057//1057 1148//1148 957//957 +f 836//836 519//519 873//873 +f 1149//1149 758//758 1082//1082 +f 1150//1150 409//409 1151//1151 +f 1152//1152 1041//1041 1153//1153 +f 1154//1154 1155//1155 956//956 +f 1062//1062 1156//1156 1154//1154 +f 1157//1157 1118//1118 1105//1105 +f 500//500 1157//1157 1105//1105 +f 1157//1157 1119//1119 1118//1118 +f 1123//1123 1122//1122 1111//1111 +f 1158//1158 1138//1138 1111//1111 +f 1147//1147 963//963 1129//1129 +f 263//263 1014//1014 1010//1010 +f 1159//1159 1051//1051 1068//1068 +f 1160//1160 1161//1161 446//446 +f 1047//1047 1049//1049 1097//1097 +f 970//970 1047//1047 1097//1097 +f 1134//1134 518//518 1162//1162 +f 1163//1163 1127//1127 1119//1119 +f 1127//1127 1163//1163 1145//1145 +f 1158//1158 1164//1164 1138//1138 +f 1138//1138 1164//1164 1146//1146 +f 681//681 1165//1165 209//209 +f 1166//1166 1153//1153 1167//1167 +f 382//382 388//388 1012//1012 +f 697//697 696//696 140//140 +f 873//873 514//514 293//293 +f 386//386 729//729 387//387 +f 935//935 1081//1081 1108//1108 +f 1162//1162 518//518 837//837 +f 349//349 515//515 526//526 +f 1064//1064 1066//1066 381//381 +f 938//938 825//825 1168//1168 +f 70//70 421//421 171//171 +f 1163//1163 1119//1119 1157//1157 +f 1145//1145 1137//1137 1120//1120 +f 1122//1122 1158//1158 1111//1111 +f 1169//1169 172//172 174//174 +f 1027//1027 1026//1026 1153//1153 +f 1153//1153 1170//1170 1171//1171 +f 1167//1167 1153//1153 1171//1171 +f 1172//1172 1173//1173 1174//1174 +f 1175//1175 490//490 16//16 +f 519//519 505//505 873//873 +f 1044//1044 952//952 503//503 +f 611//611 1157//1157 500//500 +f 1137//1137 1176//1176 1122//1122 +f 1177//1177 1102//1102 1178//1178 +f 942//942 1179//1179 940//940 +f 1154//1154 955//955 980//980 +f 253//253 1180//1180 710//710 +f 756//756 774//774 301//301 +f 1181//1181 1027//1027 1153//1153 +f 955//955 1154//1154 956//956 +f 1062//1062 1154//1154 980//980 +f 1044//1044 503//503 1134//1134 +f 938//938 1168//1168 814//814 +f 325//325 1126//1126 633//633 +f 1182//1182 1107//1107 1106//1106 +f 1183//1183 1184//1184 1185//1185 +f 1163//1163 1186//1186 1145//1145 +f 1186//1186 1187//1187 1145//1145 +f 1145//1145 1187//1187 1137//1137 +f 1137//1137 530//530 1176//1176 +f 1122//1122 1176//1176 1158//1158 +f 1165//1165 681//681 943//943 +f 1188//1188 1061//1061 937//937 +f 1171//1171 1170//1170 1189//1189 +f 1179//1179 942//942 1190//1190 +f 1182//1182 1066//1066 1107//1107 +f 1191//1191 1135//1135 1192//1192 +f 611//611 1163//1163 1157//1157 +f 1187//1187 530//530 1137//1137 +f 1117//1117 977//977 1099//1099 +f 1027//1027 1181//1181 1193//1193 +f 1194//1194 1179//1179 1190//1190 +f 1042//1042 1195//1195 1043//1043 +f 951//951 350//350 526//526 +f 968//968 970//970 985//985 +f 1196//1196 1146//1146 1164//1164 +f 160//160 1197//1197 144//144 +f 227//227 263//263 1010//1010 +f 1186//1186 1198//1198 1187//1187 +f 422//422 67//67 9//9 +f 1001//1001 1199//1199 1002//1002 +f 29//29 617//617 311//311 +f 1001//1001 919//919 1199//1199 +f 1047//1047 1200//1200 1048//1048 +f 1201//1201 605//605 1202//1202 +f 1190//1190 952//952 1044//1044 +f 1191//1191 1042//1042 1135//1135 +f 1203//1203 1171//1171 1204//1204 +f 1167//1167 1171//1171 1203//1203 +f 611//611 1205//1205 1163//1163 +f 1163//1163 1205//1205 1186//1186 +f 1187//1187 531//531 530//530 +f 586//586 1206//1206 338//338 +f 1081//1081 1073//1073 1207//1207 +f 1150//1150 410//410 409//409 +f 1207//1207 1073//1073 1090//1090 +f 836//836 1061//1061 1188//1188 +f 1195//1195 1190//1190 1043//1043 +f 1179//1179 1000//1000 940//940 +f 960//960 1027//1027 796//796 +f 826//826 825//825 1107//1107 +f 1042//1042 1044//1044 1134//1134 +f 1208//1208 1209//1209 1210//1210 +f 775//775 310//310 776//776 +f 1205//1205 1198//1198 1186//1186 +f 855//855 1211//1211 1212//1212 +f 966//966 1213//1213 244//244 +f 606//606 968//968 335//335 +f 381//381 388//388 382//382 +f 141//141 618//618 142//142 +f 758//758 1074//1074 1082//1082 +f 946//946 979//979 981//981 +f 1051//1051 1214//1214 1028//1028 +f 1204//1204 1189//1189 1192//1192 +f 1204//1204 1171//1171 1189//1189 +f 1215//1215 1216//1216 1217//1217 +f 1198//1198 531//531 1187//1187 +f 1218//1218 424//424 1219//1219 +f 936//936 336//336 338//338 +f 203//203 984//984 228//228 +f 1136//1136 936//936 338//338 +f 1039//1039 1051//1051 1040//1040 +f 1152//1152 1039//1039 1041//1041 +f 1218//1218 712//712 425//425 +f 935//935 1108//1108 455//455 +f 1064//1064 381//381 383//383 +f 1220//1220 1030//1030 1000//1000 +f 984//984 267//267 228//228 +f 1221//1221 1037//1037 1222//1222 +f 861//861 380//380 379//379 +f 1130//1130 944//944 681//681 +f 1223//1223 1195//1195 1191//1191 +f 1155//1155 1162//1162 956//956 +f 1213//1213 1224//1224 244//244 +f 1225//1225 1226//1226 1227//1227 +f 1063//1063 401//401 1019//1019 +f 1205//1205 611//611 610//610 +f 26//26 1228//1228 187//187 +f 1229//1229 1068//1068 1072//1072 +f 1206//1206 1230//1230 338//338 +f 1195//1195 1223//1223 1190//1190 +f 957//957 1148//1148 861//861 +f 964//964 35//35 1038//1038 +f 1001//1001 1150//1150 1151//1151 +f 1075//1075 1166//1166 1200//1200 +f 1231//1231 172//172 1232//1232 +f 1075//1075 1200//1200 1047//1047 +f 1079//1079 1073//1073 1081//1081 +f 448//448 960//960 796//796 +f 486//486 339//339 487//487 +f 339//339 341//341 487//487 +f 274//274 328//328 275//275 +f 681//681 944//944 943//943 +f 1030//1030 410//410 1150//1150 +f 1100//1100 635//635 812//812 +f 796//796 758//758 449//449 +f 1220//1220 1000//1000 1179//1179 +f 1233//1233 463//463 1234//1234 +f 1131//1131 383//383 978//978 +f 1166//1166 1167//1167 1200//1200 +f 495//495 1235//1235 245//245 +f 1000//1000 1002//1002 940//940 +f 1066//1066 1182//1182 1106//1106 +f 301//301 275//275 328//328 +f 300//300 1236//1236 371//371 +f 1041//1041 1040//1040 1170//1170 +f 582//582 1237//1237 414//414 +f 988//988 1238//1238 1239//1239 +f 1239//1239 1238//1238 817//817 +f 1238//1238 818//818 817//817 +f 1019//1019 401//401 1240//1240 +f 1241//1241 1242//1242 1243//1243 +f 945//945 978//978 1016//1016 +f 1188//1188 862//862 861//861 +f 81//81 1228//1228 1244//1244 +f 1245//1245 1246//1246 612//612 +f 1247//1247 861//861 379//379 +f 1099//1099 977//977 945//945 +f 1063//1063 402//402 401//401 +f 166//166 1248//1248 357//357 +f 1024//1024 1007//1007 1249//1249 +f 547//547 772//772 249//249 +f 1192//1192 1189//1189 1191//1191 +f 1064//1064 383//383 1131//1131 +f 567//567 964//964 1023//1023 +f 942//942 941//941 1190//1190 +f 1250//1250 1251//1251 1007//1007 +f 388//388 723//723 1012//1012 +f 1252//1252 1253//1253 1254//1254 +f 1255//1255 525//525 1221//1221 +f 1256//1256 1257//1257 341//341 +f 231//231 233//233 1258//1258 +f 749//749 748//748 1045//1045 +f 141//141 1132//1132 987//987 +f 987//987 1132//1132 642//642 +f 143//143 1132//1132 141//141 +f 1259//1259 1260//1260 232//232 +f 1261//1261 588//588 1238//1238 +f 892//892 894//894 1262//1262 +f 1263//1263 1264//1264 107//107 +f 293//293 292//292 1061//1061 +f 238//238 769//769 239//239 +f 986//986 354//354 335//335 +f 825//825 1265//1265 1168//1168 +f 388//388 387//387 723//723 +f 1040//1040 1223//1223 1191//1191 +f 1065//1065 1064//1064 1101//1101 +f 1178//1178 1102//1102 1101//1101 +f 772//772 316//316 249//249 +f 988//988 1261//1261 1238//1238 +f 1148//1148 1188//1188 861//861 +f 1018//1018 1068//1068 1229//1229 +f 1170//1170 1266//1266 1189//1189 +f 1170//1170 1191//1191 1266//1266 +f 272//272 700//700 1037//1037 +f 520//520 1229//1229 448//448 +f 1267//1267 141//141 987//987 +f 588//588 863//863 818//818 +f 1116//1116 1131//1131 978//978 +f 1051//1051 1220//1220 1052//1052 +f 862//862 1188//1188 937//937 +f 1040//1040 1191//1191 1170//1170 +f 1194//1194 1220//1220 1179//1179 +f 1008//1008 1250//1250 1007//1007 +f 675//675 256//256 319//319 +f 272//272 1037//1037 524//524 +f 946//946 981//981 947//947 +f 63//63 217//217 1031//1031 +f 1268//1268 1269//1269 1270//1270 +f 1249//1249 1023//1023 1024//1024 +f 1023//1023 1249//1249 567//567 +f 964//964 567//567 35//35 +f 933//933 926//926 822//822 +f 1000//1000 1030//1030 1150//1150 +f 114//114 1271//1271 113//113 +f 1072//1072 1026//1026 1025//1025 +f 1072//1072 1039//1039 1152//1152 +f 1272//1272 987//987 321//321 +f 1267//1267 618//618 141//141 +f 993//993 770//770 769//769 +f 251//251 910//910 1173//1173 +f 487//487 341//341 1257//1257 +f 572//572 847//847 501//501 +f 1075//1075 1193//1193 1181//1181 +f 1273//1273 1274//1274 1275//1275 +f 354//354 986//986 946//946 +f 423//423 750//750 1276//1276 +f 1126//1126 966//966 967//967 +f 1272//1272 1267//1267 987//987 +f 1267//1267 636//636 618//618 +f 27//27 310//310 775//775 +f 238//238 183//183 185//185 +f 1277//1277 1278//1278 1279//1279 +f 837//837 1188//1188 1148//1148 +f 402//402 847//847 572//572 +f 242//242 254//254 342//342 +f 63//63 1032//1032 1280//1280 +f 1072//1072 1068//1068 1039//1039 +f 1074//1074 1193//1193 1075//1075 +f 1026//1026 1072//1072 1152//1152 +f 981//981 829//829 947//947 +f 999//999 1281//1281 1282//1282 +f 919//919 1109//1109 546//546 +f 981//981 980//980 829//829 +f 1191//1191 1195//1195 1042//1042 +f 336//336 935//935 455//455 +f 413//413 441//441 1067//1067 +f 907//907 867//867 891//891 +f 1108//1108 968//968 455//455 +f 979//979 946//946 986//986 +f 641//641 642//642 982//982 +f 270//270 643//643 268//268 +f 1247//1247 1283//1283 861//861 +f 1050//1050 1052//1052 1223//1223 +f 1284//1284 233//233 407//407 +f 969//969 1142//1142 970//970 +f 1285//1285 1286//1286 1287//1287 +f 1288//1288 1183//1183 1185//1185 +f 985//985 1003//1003 979//979 +f 1289//1289 1068//1068 1018//1018 +f 1028//1028 1290//1290 1029//1029 +f 943//943 945//945 1016//1016 +f 286//286 309//309 413//413 +f 1116//1116 978//978 977//977 +f 1247//1247 379//379 829//829 +f 1220//1220 1194//1194 1052//1052 +f 1107//1107 825//825 938//938 +f 1283//1283 957//957 861//861 +f 1214//1214 1290//1290 1028//1028 +f 610//610 1198//1198 1205//1205 +f 1066//1066 1106//1106 381//381 +f 1291//1291 288//288 1005//1005 +f 960//960 1025//1025 1027//1027 +f 1018//1018 1292//1292 773//773 +f 1293//1293 1114//1114 1272//1272 +f 1294//1294 636//636 1267//1267 +f 1294//1294 1295//1295 636//636 +f 1296//1296 1297//1297 1298//1298 +f 185//185 769//769 238//238 +f 1261//1261 1299//1299 588//588 +f 387//387 728//728 723//723 +f 1151//1151 919//919 1001//1001 +f 1153//1153 1041//1041 1170//1170 +f 1204//1204 1192//1192 1156//1156 +f 1190//1190 951//951 952//952 +f 1082//1082 1078//1078 1077//1077 +f 1300//1300 1301//1301 1302//1302 +f 925//925 183//183 238//238 +f 344//344 1258//1258 1284//1284 +f 1283//1283 955//955 957//957 +f 1057//1057 837//837 1148//1148 +f 1090//1090 1075//1075 1047//1047 +f 1080//1080 935//935 936//936 +f 642//642 1132//1132 1303//1303 +f 1304//1304 1288//1288 1185//1185 +f 1051//1051 1050//1050 1040//1040 +f 1029//1029 410//410 1030//1030 +f 836//836 1188//1188 837//837 +f 243//243 342//342 523//523 +f 1293//1293 320//320 856//856 +f 1174//1174 270//270 1305//1305 +f 1299//1299 1306//1306 588//588 +f 1099//1099 945//945 944//944 +f 1189//1189 1266//1266 1191//1191 +f 1090//1090 1142//1142 1207//1207 +f 1136//1136 1080//1080 936//936 +f 1135//1135 1134//1134 1162//1162 +f 1052//1052 1194//1194 1223//1223 +f 1051//1051 1028//1028 1220//1220 +f 253//253 252//252 1180//1180 +f 1267//1267 1272//1272 1294//1294 +f 1307//1307 692//692 636//636 +f 1295//1295 1307//1307 636//636 +f 644//644 501//501 847//847 +f 1308//1308 360//360 370//370 +f 1051//1051 1159//1159 1214//1214 +f 980//980 1283//1283 1247//1247 +f 1166//1166 1181//1181 1153//1153 +f 1075//1075 1181//1181 1166//1166 +f 941//941 1199//1199 545//545 +f 1220//1220 1028//1028 1030//1030 +f 965//965 402//402 1063//1063 +f 1309//1309 1294//1294 1272//1272 +f 1237//1237 1240//1240 401//401 +f 271//271 764//764 700//700 +f 1310//1310 1311//1311 1312//1312 +f 692//692 651//651 637//637 +f 980//980 955//955 1283//1283 +f 1173//1173 910//910 1174//1174 +f 856//856 1114//1114 1293//1293 +f 360//360 1313//1313 358//358 +f 1309//1309 1272//1272 1114//1114 +f 1313//1313 961//961 358//358 +f 479//479 1314//1314 175//175 +f 1081//1081 1207//1207 1108//1108 +f 1207//1207 969//969 1108//1108 +f 926//926 666//666 668//668 +f 455//455 968//968 606//606 +f 1315//1315 1295//1295 1294//1294 +f 1004//1004 1307//1307 1295//1295 +f 1315//1315 1004//1004 1295//1295 +f 335//335 968//968 986//986 +f 1206//1206 586//586 588//588 +f 1306//1306 1206//1206 588//588 +f 937//937 1061//1061 435//435 +f 1101//1101 1131//1131 1115//1115 +f 956//956 1162//1162 1057//1057 +f 1090//1090 1047//1047 1142//1142 +f 1207//1207 1142//1142 969//969 +f 1192//1192 1155//1155 1156//1156 +f 1190//1190 941//941 951//951 +f 764//764 699//699 700//700 +f 1155//1155 1135//1135 1162//1162 +f 1200//1200 1167//1167 1048//1048 +f 448//448 1229//1229 959//959 +f 1223//1223 1194//1194 1190//1190 +f 1006//1006 632//632 812//812 +f 1114//1114 1165//1165 1309//1309 +f 1309//1309 1315//1315 1294//1294 +f 959//959 1229//1229 1072//1072 +f 1316//1316 1317//1317 613//613 +f 701//701 723//723 728//728 +f 1261//1261 988//988 950//950 +f 1151//1151 1109//1109 919//919 +f 275//275 300//300 371//371 +f 1204//1204 1156//1156 1062//1062 +f 812//812 813//813 1098//1098 +f 295//295 649//649 296//296 +f 1000//1000 1150//1150 1001//1001 +f 721//721 249//249 248//248 +f 321//321 320//320 1293//1293 +f 1318//1318 1307//1307 1004//1004 +f 1318//1318 692//692 1307//1307 +f 1318//1318 723//723 692//692 +f 1319//1319 1273//1273 663//663 +f 598//598 458//458 590//590 +f 953//953 1045//1045 748//748 +f 815//815 1320//1320 729//729 +f 818//818 863//863 807//807 +f 1048//1048 1204//1204 1062//1062 +f 1048//1048 1062//1062 1049//1049 +f 1117//1117 1116//1116 977//977 +f 1156//1156 1155//1155 1154//1154 +f 954//954 964//964 953//953 +f 796//796 1027//1027 1193//1193 +f 209//209 1165//1165 1114//1114 +f 1161//1161 1235//1235 1321//1321 +f 213//213 1322//1322 85//85 +f 1007//1007 1024//1024 965//965 +f 583//583 758//758 1149//1149 +f 1106//1106 386//386 388//388 +f 381//381 1106//1106 388//388 +f 1323//1323 610//610 688//688 +f 1324//1324 1325//1325 1326//1326 +f 1044//1044 1043//1043 1190//1190 +f 758//758 796//796 1074//1074 +f 1066//1066 1058//1058 1107//1107 +f 1115//1115 1327//1327 1101//1101 +f 1328//1328 213//213 85//85 +f 829//829 980//980 1247//1247 +f 1024//1024 958//958 965//965 +f 1065//1065 1058//1058 1066//1066 +f 1162//1162 837//837 1057//1057 +f 1080//1080 1081//1081 935//935 +f 1246//1246 1329//1329 826//826 +f 1048//1048 1203//1203 1204//1204 +f 555//555 554//554 16//16 +f 796//796 1193//1193 1074//1074 +f 1016//1016 1004//1004 1315//1315 +f 1318//1318 1012//1012 723//723 +f 1330//1330 136//136 4//4 +f 1331//1331 675//675 676//676 +f 1192//1192 1135//1135 1155//1155 +f 1107//1107 938//938 386//386 +f 1153//1153 1026//1026 1152//1152 +f 1040//1040 1050//1050 1223//1223 +f 1107//1107 1058//1058 826//826 +f 469//469 720//720 721//721 +f 1165//1165 943//943 1315//1315 +f 1309//1309 1165//1165 1315//1315 +f 943//943 1016//1016 1315//1315 +f 1332//1332 1333//1333 1334//1334 +f 288//288 286//286 413//413 +f 940//940 1002//1002 941//941 +f 1002//1002 1199//1199 941//941 +f 1076//1076 1078//1078 1080//1080 +f 729//729 1320//1320 761//761 +f 1003//1003 970//970 1097//1097 +f 566//566 1095//1095 1129//1129 +f 1167//1167 1203//1203 1048//1048 +f 658//658 926//926 933//933 +f 1335//1335 1336//1336 1337//1337 +f 383//383 1318//1318 1004//1004 +f 383//383 1012//1012 1318//1318 +f 545//545 1199//1199 919//919 +f 1338//1338 312//312 311//311 +f 1082//1082 1079//1079 1078//1078 +f 961//961 183//183 925//925 +f 80//80 1339//1339 81//81 +f 1340//1340 934//934 93//93 +f 1340//1340 93//93 133//133 +f 1341//1341 1342//1342 1343//1343 +f 1341//1341 1343//1343 789//789 +f 1344//1344 116//116 1345//1345 +f 1098//1098 1100//1100 812//812 +f 77//77 1346//1346 78//78 +f 421//421 118//118 171//171 +f 1347//1347 1348//1348 1349//1349 +f 1350//1350 1330//1330 1351//1351 +f 1349//1349 1352//1352 1094//1094 +f 133//133 93//93 134//134 +f 1353//1353 334//334 1354//1354 +f 1355//1355 1356//1356 1351//1351 +f 145//145 1357//1357 322//322 +f 322//322 1358//1358 68//68 +f 85//85 84//84 527//527 +f 1359//1359 85//85 527//527 +f 1305//1305 1172//1172 1174//1174 +f 68//68 1358//1358 1360//1360 +f 1361//1361 116//116 1344//1344 +f 304//304 303//303 1362//1362 +f 1363//1363 764//764 271//271 +f 160//160 146//146 1364//1364 +f 419//419 1201//1201 420//420 +f 1365//1365 974//974 976//976 +f 1366//1366 1367//1367 1368//1368 +f 1369//1369 1370//1370 1278//1278 +f 625//625 1371//1371 1372//1372 +f 1316//1316 1373//1373 1374//1374 +f 210//210 1375//1375 105//105 +f 1364//1364 146//146 191//191 +f 96//96 98//98 691//691 +f 851//851 96//96 691//691 +f 576//576 319//319 256//256 +f 303//303 1376//1376 1377//1377 +f 1374//1374 677//677 679//679 +f 1211//1211 1378//1378 276//276 +f 1339//1339 1287//1287 30//30 +f 310//310 1342//1342 776//776 +f 565//565 1379//1379 471//471 +f 1380//1380 1242//1242 1241//1241 +f 1378//1378 831//831 1381//1381 +f 237//237 1006//1006 634//634 +f 5//5 280//280 279//279 +f 1065//1065 1373//1373 1059//1059 +f 842//842 1096//1096 1382//1382 +f 1383//1383 1380//1380 1384//1384 +f 232//232 1274//1274 1273//1273 +f 1385//1385 1386//1386 1387//1387 +f 1388//1388 1389//1389 360//360 +f 1390//1390 1389//1389 1388//1388 +f 225//225 788//788 868//868 +f 1391//1391 1392//1392 1393//1393 +f 616//616 28//28 478//478 +f 813//813 1327//1327 1098//1098 +f 1394//1394 1383//1383 1384//1384 +f 1345//1345 564//564 563//563 +f 1345//1345 45//45 564//564 +f 134//134 1395//1395 823//823 +f 1396//1396 1397//1397 1398//1398 +f 320//320 576//576 856//856 +f 1177//1177 678//678 677//677 +f 1374//1374 1373//1373 677//677 +f 1399//1399 1304//1304 1185//1185 +f 1400//1400 1339//1339 80//80 +f 5//5 138//138 1401//1401 +f 247//247 563//563 565//565 +f 1365//1365 976//976 1208//1208 +f 854//854 591//591 1402//1402 +f 1339//1339 30//30 1403//1403 +f 1313//1313 1389//1389 1404//1404 +f 495//495 494//494 868//868 +f 312//312 1342//1342 310//310 +f 1404//1404 1405//1405 184//184 +f 1406//1406 1407//1407 1408//1408 +f 1361//1361 50//50 116//116 +f 523//523 525//525 643//643 +f 510//510 1409//1409 1410//1410 +f 973//973 972//972 1242//1242 +f 880//880 1411//1411 1412//1412 +f 690//690 852//852 691//691 +f 1373//1373 1065//1065 1177//1177 +f 1412//1412 878//878 880//880 +f 1413//1413 1414//1414 1415//1415 +f 1242//1242 972//972 1243//1243 +f 652//652 833//833 1416//1416 +f 1367//1367 582//582 583//583 +f 1364//1364 1375//1375 1417//1417 +f 1401//1401 138//138 1418//1418 +f 1419//1419 1388//1388 1308//1308 +f 312//312 1344//1344 1342//1342 +f 132//132 823//823 1420//1420 +f 1421//1421 1397//1397 1422//1422 +f 1423//1423 1424//1424 1425//1425 +f 1375//1375 210//210 1426//1426 +f 138//138 1364//1364 1418//1418 +f 1364//1364 191//191 1375//1375 +f 1356//1356 1350//1350 1351//1351 +f 1427//1427 1428//1428 1429//1429 +f 1430//1430 1431//1431 1432//1432 +f 1433//1433 1434//1434 1317//1317 +f 623//623 1390//1390 1388//1388 +f 904//904 734//734 1435//1435 +f 1436//1436 1437//1437 1077//1077 +f 1396//1396 1398//1398 1419//1419 +f 407//407 1319//1319 345//345 +f 1438//1438 1439//1439 1336//1336 +f 1419//1419 1308//1308 1396//1396 +f 1413//1413 1440//1440 1414//1414 +f 1361//1361 1344//1344 312//312 +f 634//634 1006//1006 812//812 +f 1178//1178 1101//1101 1327//1327 +f 358//358 274//274 359//359 +f 1389//1389 1313//1313 360//360 +f 1376//1376 303//303 302//302 +f 971//971 1441//1441 1442//1442 +f 1443//1443 1336//1336 603//603 +f 1444//1444 1384//1384 1380//1380 +f 564//564 47//47 1379//1379 +f 365//365 1445//1445 1446//1446 +f 1447//1447 827//827 1329//1329 +f 78//78 794//794 745//745 +f 1448//1448 1449//1449 1450//1450 +f 1397//1397 1396//1396 1451//1451 +f 1452//1452 1397//1397 1451//1451 +f 659//659 608//608 1129//1129 +f 1077//1077 1437//1437 1082//1082 +f 421//421 211//211 118//118 +f 1216//1216 1453//1453 1454//1454 +f 1422//1422 1452//1452 1455//1455 +f 210//210 117//117 222//222 +f 134//134 279//279 1395//1395 +f 1391//1391 1456//1456 1392//1392 +f 971//971 1442//1442 1457//1457 +f 1442//1442 1391//1391 1458//1458 +f 565//565 564//564 1379//1379 +f 1273//1273 1319//1319 233//233 +f 1459//1459 1178//1178 813//813 +f 81//81 1339//1339 187//187 +f 677//677 1373//1373 1177//1177 +f 789//789 1343//1343 563//563 +f 190//190 234//234 223//223 +f 1460//1460 1461//1461 1263//1263 +f 186//186 330//330 223//223 +f 620//620 1312//1312 306//306 +f 1422//1422 1455//1455 1462//1462 +f 1076//1076 1463//1463 1077//1077 +f 1457//1457 1442//1442 1458//1458 +f 1464//1464 1436//1436 1465//1465 +f 975//975 1456//1456 976//976 +f 1209//1209 976//976 1441//1441 +f 1466//1466 277//277 1467//1467 +f 134//134 6//6 279//279 +f 1468//1468 833//833 652//652 +f 1457//1457 1458//1458 972//972 +f 500//500 541//541 611//611 +f 1130//1130 680//680 635//635 +f 197//197 1468//1468 652//652 +f 1343//1343 1345//1345 563//563 +f 1339//1339 1403//1403 187//187 +f 1469//1469 1470//1470 1471//1471 +f 793//793 1376//1376 745//745 +f 975//975 1421//1421 1456//1456 +f 1472//1472 1473//1473 1392//1392 +f 927//927 1474//1474 1475//1475 +f 1476//1476 1477//1477 1478//1478 +f 605//605 604//604 1479//1479 +f 1034//1034 1015//1015 1480//1480 +f 813//813 1178//1178 1327//1327 +f 405//405 679//679 678//678 +f 1481//1481 1482//1482 1483//1483 +f 1//1 3//3 305//305 +f 623//623 1388//1388 1419//1419 +f 1479//1479 604//604 3//3 +f 1437//1437 1149//1149 1082//1082 +f 1484//1484 1485//1485 1486//1486 +f 1487//1487 1415//1415 1488//1488 +f 1473//1473 1393//1393 1392//1392 +f 1413//1413 1415//1415 185//185 +f 64//64 63//63 1280//1280 +f 1489//1489 113//113 1271//1271 +f 1159//1159 1490//1490 1214//1214 +f 1491//1491 200//200 1492//1492 +f 1407//1407 1493//1493 1408//1408 +f 1469//1469 1494//1494 1470//1470 +f 1397//1397 1452//1452 1422//1422 +f 1495//1495 1206//1206 1306//1306 +f 1418//1418 1364//1364 1417//1417 +f 1496//1496 1423//1423 1425//1425 +f 1497//1497 1498//1498 840//840 +f 1437//1437 1499//1499 1149//1149 +f 1059//1059 612//612 1246//1246 +f 1407//1407 1500//1500 1493//1493 +f 1501//1501 50//50 1361//1361 +f 389//389 652//652 1416//1416 +f 972//972 1458//1458 1276//1276 +f 1502//1502 1503//1503 277//277 +f 1452//1452 1451//1451 1504//1504 +f 1451//1451 1308//1308 370//370 +f 675//675 319//319 641//641 +f 1375//1375 1426//1426 1417//1417 +f 842//842 1497//1497 840//840 +f 975//975 974//974 1425//1425 +f 676//676 982//982 1505//1505 +f 961//961 1404//1404 184//184 +f 1415//1415 994//994 185//185 +f 1452//1452 1504//1504 1455//1455 +f 1506//1506 1507//1507 1508//1508 +f 1503//1503 197//197 196//196 +f 196//196 1467//1467 277//277 +f 1208//1208 976//976 1209//1209 +f 274//274 961//961 925//925 +f 196//196 277//277 1503//1503 +f 280//280 5//5 1401//1401 +f 1383//1383 1509//1509 1380//1380 +f 1510//1510 1511//1511 1512//1512 +f 975//975 1425//1425 1513//1513 +f 327//327 240//240 253//253 +f 657//657 1361//1361 312//312 +f 878//878 1412//1412 1398//1398 +f 1398//1398 623//623 1419//1419 +f 1201//1201 1443//1443 603//603 +f 603//603 1514//1514 851//851 +f 1501//1501 48//48 50//50 +f 1514//1514 96//96 851//851 +f 1293//1293 1272//1272 321//321 +f 239//239 770//770 1515//1515 +f 449//449 758//758 416//416 +f 1316//1316 1059//1059 1373//1373 +f 1516//1516 1509//1509 1383//1383 +f 1517//1517 1518//1518 1519//1519 +f 1369//1369 1520//1520 1521//1521 +f 1412//1412 623//623 1398//1398 +f 1243//1243 1276//1276 750//750 +f 1241//1241 1243//1243 750//750 +f 1241//1241 750//750 1133//1133 +f 565//565 471//471 247//247 +f 664//664 855//855 1212//1212 +f 961//961 184//184 183//183 +f 1144//1144 1328//1328 1359//1359 +f 1456//1456 1462//1462 1392//1392 +f 1424//1424 1398//1398 1397//1397 +f 1394//1394 1384//1384 1471//1471 +f 1388//1388 360//360 1308//1308 +f 274//274 925//925 327//327 +f 1401//1401 1418//1418 1522//1522 +f 1523//1523 858//858 1524//1524 +f 6//6 5//5 279//279 +f 1425//1425 1424//1424 1513//1513 +f 878//878 1398//1398 1424//1424 +f 852//852 619//619 850//850 +f 345//345 1319//1319 663//663 +f 1525//1525 1526//1526 445//445 +f 1412//1412 624//624 623//623 +f 663//663 1501//1501 1361//1361 +f 657//657 663//663 1361//1361 +f 41//41 186//186 1527//1527 +f 1381//1381 1468//1468 1502//1502 +f 2//2 1479//1479 3//3 +f 3//3 604//604 305//305 +f 905//905 1//1 306//306 +f 971//971 1457//1457 972//972 +f 1451//1451 370//370 1504//1504 +f 271//271 1511//1511 1363//1363 +f 774//774 1289//1289 1018//1018 +f 306//306 1312//1312 905//905 +f 1313//1313 1404//1404 961//961 +f 1243//1243 972//972 1276//1276 +f 1210//1210 1209//1209 1441//1441 +f 1343//1343 1342//1342 1344//1344 +f 1115//1115 1117//1117 1098//1098 +f 1338//1338 657//657 312//312 +f 1210//1210 1441//1441 971//971 +f 1528//1528 1524//1524 858//858 +f 795//795 794//794 1346//1346 +f 1509//1509 1242//1242 1380//1380 +f 1441//1441 1391//1391 1442//1442 +f 568//568 570//570 648//648 +f 1529//1529 1029//1029 1290//1290 +f 1421//1421 1422//1422 1456//1456 +f 1471//1471 1470//1470 1530//1530 +f 185//185 994//994 769//769 +f 1513//1513 1424//1424 1397//1397 +f 1531//1531 1164//1164 1158//1158 +f 1396//1396 1308//1308 1451//1451 +f 1532//1532 1533//1533 1534//1534 +f 234//234 132//132 1420//1420 +f 1490//1490 1290//1290 1214//1214 +f 1490//1490 1529//1529 1290//1290 +f 1529//1529 410//410 1029//1029 +f 1515//1515 252//252 239//239 +f 1471//1471 1530//1530 1394//1394 +f 1535//1535 277//277 1466//1466 +f 1273//1273 1275//1275 663//663 +f 1133//1133 750//750 713//713 +f 967//967 237//237 634//634 +f 1536//1536 1537//1537 1538//1538 +f 1441//1441 976//976 1391//1391 +f 1455//1455 1539//1539 1462//1462 +f 1275//1275 1501//1501 663//663 +f 1202//1202 1479//1479 2//2 +f 1275//1275 48//48 1501//1501 +f 1531//1531 1196//1196 1164//1164 +f 1433//1433 1317//1317 679//679 +f 1462//1462 1539//1539 1472//1472 +f 1434//1434 613//613 1317//1317 +f 1456//1456 1422//1422 1462//1462 +f 1509//1509 973//973 1242//1242 +f 1513//1513 1397//1397 1421//1421 +f 421//421 1202//1202 2//2 +f 1540//1540 1159//1159 1289//1289 +f 1540//1540 1490//1490 1159//1159 +f 1540//1540 1529//1529 1490//1490 +f 548//548 410//410 1529//1529 +f 1541//1541 643//643 1255//1255 +f 1474//1474 1542//1542 1543//1543 +f 1544//1544 1176//1176 1545//1545 +f 1544//1544 1531//1531 1176//1176 +f 525//525 1037//1037 1221//1221 +f 209//209 1114//1114 207//207 +f 976//976 1456//1456 1391//1391 +f 975//975 1513//1513 1421//1421 +f 421//421 69//69 1202//1202 +f 1546//1546 1547//1547 1548//1548 +f 69//69 420//420 1202//1202 +f 711//711 1529//1529 1540//1540 +f 710//710 548//548 1529//1529 +f 1531//1531 1303//1303 1196//1196 +f 1303//1303 1132//1132 1196//1196 +f 1504//1504 911//911 1455//1455 +f 1547//1547 80//80 1548//1548 +f 1545//1545 530//530 1505//1505 +f 27//27 570//570 569//569 +f 1547//1547 1400//1400 80//80 +f 774//774 1540//1540 1289//1289 +f 711//711 710//710 1529//1529 +f 253//253 711//711 326//326 +f 1549//1549 217//217 1550//1550 +f 1542//1542 1549//1549 1550//1550 +f 35//35 488//488 1257//1257 +f 614//614 1245//1245 612//612 +f 518//518 519//519 837//837 +f 1007//1007 1251//1251 1249//1249 +f 1177//1177 1459//1459 678//678 +f 295//295 355//355 946//946 +f 1059//1059 1058//1058 1065//1065 +f 311//311 343//343 1338//1338 +f 757//757 711//711 1540//1540 +f 613//613 1434//1434 614//614 +f 1504//1504 370//370 911//911 +f 982//982 1544//1544 1545//1545 +f 925//925 238//238 240//240 +f 1020//1020 1541//1541 1551//1551 +f 1551//1551 1541//1541 1250//1250 +f 1249//1249 486//486 567//567 +f 269//269 1305//1305 270//270 +f 757//757 1540//1540 774//774 +f 643//643 525//525 1255//1255 +f 81//81 1244//1244 25//25 +f 305//305 620//620 306//306 +f 1552//1552 1553//1553 1554//1554 +f 1474//1474 1543//1543 1475//1475 +f 944//944 1130//1130 1099//1099 +f 982//982 1545//1545 1505//1505 +f 642//642 1531//1531 1544//1544 +f 1531//1531 642//642 1303//1303 +f 1531//1531 1158//1158 1176//1176 +f 1250//1250 1221//1221 1251//1251 +f 567//567 486//486 488//488 +f 1555//1555 973//973 1509//1509 +f 268//268 643//643 1541//1541 +f 328//328 756//756 301//301 +f 1174//1174 910//910 270//270 +f 116//116 1556//1556 1345//1345 +f 803//803 517//517 749//749 +f 1541//1541 1255//1255 1250//1250 +f 1250//1250 1255//1255 1221//1221 +f 756//756 328//328 326//326 +f 554//554 854//854 509//509 +f 1222//1222 339//339 486//486 +f 1343//1343 1344//1344 1345//1345 +f 982//982 642//642 1544//1544 +f 1550//1550 217//217 1557//1557 +f 1221//1221 1222//1222 1251//1251 +f 1251//1251 486//486 1249//1249 +f 487//487 1257//1257 488//488 +f 756//756 757//757 774//774 +f 326//326 711//711 757//757 +f 710//710 1180//1180 548//548 +f 1180//1180 549//549 548//548 +f 1037//1037 339//339 1222//1222 +f 676//676 1505//1505 392//392 +f 1251//1251 1222//1222 486//486 +f 11//11 1558//1558 12//12 +f 1559//1559 1560//1560 1274//1274 +f 11//11 107//107 55//55 +f 60//60 124//124 1561//1561 +f 963//963 1147//1147 1139//1139 +f 1562//1562 495//495 868//868 +f 1563//1563 1460//1460 107//107 +f 23//23 22//22 1196//1196 +f 192//192 60//60 1561//1561 +f 10//10 1563//1563 107//107 +f 1379//1379 192//192 472//472 +f 598//598 653//653 458//458 +f 1560//1560 48//48 1274//1274 +f 1045//1045 1038//1038 34//34 +f 1560//1560 12//12 48//48 +f 1556//1556 45//45 1345//1345 +f 1564//1564 1331//1331 1565//1565 +f 765//765 1256//1256 341//341 +f 810//810 1113//1113 357//357 +f 1256//1256 1566//1566 33//33 +f 1567//1567 34//34 33//33 +f 1566//1566 1567//1567 33//33 +f 1567//1567 1045//1045 34//34 +f 1568//1568 103//103 1569//1569 +f 1570//1570 36//36 38//38 +f 170//170 169//169 817//817 +f 765//765 1252//1252 1256//1256 +f 401//401 414//414 1237//1237 +f 1571//1571 1572//1572 1248//1248 +f 45//45 115//115 46//46 +f 1252//1252 1573//1573 1256//1256 +f 1573//1573 1574//1574 1256//1256 +f 1256//1256 1574//1574 1566//1566 +f 1574//1574 1575//1575 1566//1566 +f 1566//1566 1575//1575 1567//1567 +f 1257//1257 1256//1256 33//33 +f 418//418 576//576 256//256 +f 1575//1575 1576//1576 1567//1567 +f 459//459 125//125 128//128 +f 1577//1577 760//760 761//761 +f 1567//1567 1576//1576 803//803 +f 1254//1254 1573//1573 1252//1252 +f 1578//1578 1574//1574 1573//1573 +f 1574//1574 1579//1579 1575//1575 +f 1575//1575 1579//1579 1576//1576 +f 1569//1569 573//573 574//574 +f 1580//1580 1578//1578 1573//1573 +f 1579//1579 1574//1574 1578//1578 +f 1579//1579 1581//1581 1576//1576 +f 1576//1576 522//522 803//803 +f 39//39 258//258 65//65 +f 1311//1311 87//87 128//128 +f 1581//1581 522//522 1576//1576 +f 1292//1292 1229//1229 522//522 +f 1292//1292 522//522 1581//1581 +f 1581//1581 1579//1579 1578//1578 +f 773//773 1292//1292 1581//1581 +f 845//845 999//999 1282//1282 +f 22//22 1146//1146 1196//1196 +f 689//689 98//98 109//109 +f 1438//1438 1336//1336 1443//1443 +f 1268//1268 1582//1582 1269//1269 +f 137//137 136//136 1330//1330 +f 1583//1583 1578//1578 1580//1580 +f 1236//1236 1583//1583 1580//1580 +f 1583//1583 1581//1581 1578//1578 +f 1581//1581 1583//1583 773//773 +f 133//133 31//31 1286//1286 +f 729//729 760//760 728//728 +f 1351//1351 1330//1330 4//4 +f 105//105 171//171 210//210 +f 1571//1571 1248//1248 166//166 +f 934//934 1351//1351 94//94 +f 1351//1351 4//4 94//94 +f 1092//1092 1584//1584 1071//1071 +f 300//300 301//301 1583//1583 +f 1583//1583 301//301 773//773 +f 1146//1146 22//22 1113//1113 +f 1577//1577 38//38 694//694 +f 1585//1585 159//159 179//179 +f 731//731 159//159 23//23 +f 166//166 1113//1113 22//22 +f 868//868 596//596 225//225 +f 866//866 1586//1586 7//7 +f 1274//1274 1260//1260 1559//1559 +f 61//61 125//125 59//59 +f 574//574 156//156 155//155 +f 1410//1410 451//451 510//510 +f 1381//1381 831//831 1468//1468 +f 1483//1483 276//276 1587//1587 +f 158//158 178//178 180//180 +f 1588//1588 87//87 1311//1311 +f 1588//1588 88//88 87//87 +f 159//159 1585//1585 1589//1589 +f 1589//1589 1590//1590 165//165 +f 1568//1568 1569//1569 1572//1572 +f 1588//1588 690//690 102//102 +f 88//88 1588//1588 102//102 +f 690//690 689//689 102//102 +f 1591//1591 1323//1323 688//688 +f 1558//1558 49//49 48//48 +f 165//165 1590//1590 1571//1571 +f 689//689 691//691 98//98 +f 82//82 189//189 258//258 +f 88//88 103//103 1568//1568 +f 1592//1592 1593//1593 1594//1594 +f 459//459 128//128 1595//1595 +f 107//107 1264//1264 43//43 +f 882//882 37//37 1596//1596 +f 83//83 82//82 19//19 +f 1597//1597 1598//1598 1599//1599 +f 57//57 11//11 55//55 +f 1559//1559 830//830 1560//1560 +f 1600//1600 1601//1601 1602//1602 +f 1571//1571 1590//1590 1572//1572 +f 1556//1556 56//56 45//45 +f 56//56 1603//1603 45//45 +f 1603//1603 115//115 45//45 +f 1603//1603 44//44 115//115 +f 44//44 58//58 115//115 +f 824//824 1591//1591 1604//1604 +f 1605//1605 145//145 144//144 +f 1593//1593 1586//1586 1594//1594 +f 613//613 612//612 1059//1059 +f 12//12 1558//1558 48//48 +f 1606//1606 17//17 664//664 +f 457//457 1607//1607 1608//1608 +f 1310//1310 1588//1588 1311//1311 +f 1609//1609 1610//1610 1563//1563 +f 87//87 89//89 1595//1595 +f 1600//1600 1586//1586 1593//1593 +f 1611//1611 392//392 391//391 +f 48//48 1275//1275 1274//1274 +f 142//142 158//158 180//180 +f 1602//1602 1611//1611 1591//1591 +f 1612//1612 391//391 1198//1198 +f 1281//1281 999//999 1109//1109 +f 103//103 573//573 1569//1569 +f 459//459 1595//1595 1597//1597 +f 1609//1609 153//153 152//152 +f 829//829 649//649 947//947 +f 391//391 393//393 531//531 +f 531//531 1198//1198 391//391 +f 341//341 340//340 765//765 +f 1357//1357 656//656 322//322 +f 1572//1572 1613//1613 1248//1248 +f 574//574 155//155 219//219 +f 19//19 258//258 39//39 +f 391//391 1612//1612 1611//1611 +f 178//178 1614//1614 179//179 +f 1590//1590 1568//1568 1572//1572 +f 1244//1244 1228//1228 26//26 +f 1615//1615 830//830 1559//1559 +f 1569//1569 574//574 1613//1613 +f 1616//1616 1568//1568 1590//1590 +f 89//89 1598//1598 1595//1595 +f 1601//1601 1611//1611 1602//1602 +f 322//322 656//656 1358//1358 +f 1600//1600 1602//1602 361//361 +f 1561//1561 459//459 1617//1617 +f 1599//1599 1585//1585 179//179 +f 1600//1600 361//361 1586//1586 +f 180//180 143//143 142//142 +f 165//165 1571//1571 166//166 +f 933//933 1618//1618 658//658 +f 1598//1598 1616//1616 1585//1585 +f 44//44 59//59 58//58 +f 68//68 1360//1360 69//69 +f 361//361 1602//1602 460//460 +f 1594//1594 1586//1586 866//866 +f 491//491 1604//1604 688//688 +f 491//491 688//688 687//687 +f 103//103 102//102 109//109 +f 180//180 730//730 143//143 +f 159//159 165//165 21//21 +f 329//329 72//72 71//71 +f 167//167 1619//1619 125//125 +f 1620//1620 1597//1597 1599//1599 +f 1268//1268 1621//1621 235//235 +f 180//180 731//731 730//730 +f 1565//1565 392//392 1611//1611 +f 1601//1601 1565//1565 1611//1611 +f 69//69 1622//1622 419//419 +f 110//110 97//97 156//156 +f 615//615 562//562 666//666 +f 460//460 1602//1602 824//824 +f 1602//1602 1591//1591 824//824 +f 419//419 1443//1443 1201//1201 +f 1623//1623 219//219 220//220 +f 1620//1620 1599//1599 1624//1624 +f 1625//1625 1626//1626 1627//1627 +f 789//789 648//648 1341//1341 +f 1611//1611 1612//1612 1323//1323 +f 89//89 88//88 1568//1568 +f 1594//1594 866//866 1628//1628 +f 1428//1428 1601//1601 1629//1629 +f 89//89 1568//1568 1616//1616 +f 664//664 1212//1212 1630//1630 +f 104//104 322//322 68//68 +f 1591//1591 1611//1611 1323//1323 +f 227//227 1010//1010 299//299 +f 409//409 1631//1631 1151//1151 +f 1632//1632 1633//1633 1634//1634 +f 125//125 61//61 167//167 +f 1613//1613 574//574 1623//1623 +f 1623//1623 574//574 219//219 +f 258//258 108//108 65//65 +f 1565//1565 1331//1331 392//392 +f 564//564 45//45 47//47 +f 1289//1289 1159//1159 1068//1068 +f 108//108 866//866 7//7 +f 128//128 87//87 1595//1595 +f 1613//1613 1623//1623 1248//1248 +f 252//252 1635//1635 1180//1180 +f 814//814 1168//1168 816//816 +f 180//180 179//179 731//731 +f 1246//1246 826//826 1059//1059 +f 1614//1614 1599//1599 179//179 +f 1636//1636 1355//1355 1637//1637 +f 1515//1515 1635//1635 252//252 +f 500//500 1105//1105 441//441 +f 1180//1180 1635//1635 549//549 +f 549//549 1638//1638 408//408 +f 1591//1591 688//688 1604//1604 +f 1561//1561 124//124 459//459 +f 1639//1639 1263//1263 1461//1461 +f 1585//1585 1616//1616 1589//1589 +f 830//830 12//12 1560//1560 +f 1598//1598 89//89 1616//1616 +f 824//824 1604//1604 491//491 +f 1599//1599 1598//1598 1585//1585 +f 1310//1310 620//620 1588//1588 +f 1635//1635 1640//1640 549//549 +f 549//549 1640//1640 1638//1638 +f 1331//1331 676//676 392//392 +f 1589//1589 1616//1616 1590//1590 +f 852//852 1588//1588 620//620 +f 1588//1588 852//852 690//690 +f 1435//1435 734//734 735//735 +f 652//652 389//389 198//198 +f 1429//1429 1629//1629 1593//1593 +f 1629//1629 1600//1600 1593//1593 +f 103//103 109//109 573//573 +f 11//11 57//57 1558//1558 +f 154//154 153//153 10//10 +f 1572//1572 1569//1569 1613//1613 +f 320//320 319//319 576//576 +f 1631//1631 409//409 408//408 +f 214//214 1641//1641 1642//1642 +f 1593//1593 1592//1592 1429//1429 +f 1612//1612 1198//1198 1323//1323 +f 1198//1198 610//610 1323//1323 +f 109//109 110//110 573//573 +f 816//816 1320//1320 815//815 +f 1624//1624 1599//1599 1614//1614 +f 1643//1643 1624//1624 1614//1614 +f 1644//1644 1515//1515 770//770 +f 1645//1645 1151//1151 1631//1631 +f 1646//1646 1645//1645 1631//1631 +f 1647//1647 1535//1535 1648//1648 +f 221//221 117//117 119//119 +f 1649//1649 1650//1650 1651//1651 +f 38//38 761//761 1320//1320 +f 573//573 110//110 156//156 +f 1595//1595 1598//1598 1597//1597 +f 1635//1635 1652//1652 1640//1640 +f 1640//1640 1653//1653 1638//1638 +f 1638//1638 1653//1653 408//408 +f 1653//1653 1654//1654 408//408 +f 1654//1654 1631//1631 408//408 +f 1654//1654 1646//1646 1631//1631 +f 1482//1482 276//276 1483//1483 +f 816//816 1570//1570 1320//1320 +f 1629//1629 1601//1601 1600//1600 +f 1558//1558 57//57 49//49 +f 116//116 56//56 1556//1556 +f 1515//1515 1655//1655 1635//1635 +f 459//459 1597//1597 1617//1617 +f 1655//1655 1652//1652 1635//1635 +f 1652//1652 1656//1656 1640//1640 +f 1640//1640 1656//1656 1653//1653 +f 622//622 44//44 1603//1603 +f 1657//1657 1654//1654 1653//1653 +f 43//43 1264//1264 135//135 +f 1482//1482 1212//1212 276//276 +f 1658//1658 1659//1659 1655//1655 +f 1515//1515 1658//1658 1655//1655 +f 1655//1655 1656//1656 1652//1652 +f 1656//1656 1657//1657 1653//1653 +f 1644//1644 1658//1658 1515//1515 +f 107//107 43//43 55//55 +f 460//460 824//824 13//13 +f 492//492 491//491 687//687 +f 279//279 1660//1660 1395//1395 +f 1657//1657 1646//1646 1654//1654 +f 1428//1428 1629//1629 1429//1429 +f 1505//1505 530//530 393//393 +f 188//188 329//329 1628//1628 +f 1212//1212 1211//1211 276//276 +f 248//248 469//469 721//721 +f 152//152 1661//1661 1662//1662 +f 904//904 1435//1435 932//932 +f 1659//1659 1663//1663 1655//1655 +f 1655//1655 1663//1663 1656//1656 +f 1281//1281 1645//1645 1646//1646 +f 535//535 989//989 1239//1239 +f 159//159 1589//1589 165//165 +f 1664//1664 1646//1646 1657//1657 +f 1664//1664 1281//1281 1646//1646 +f 1564//1564 1665//1665 1331//1331 +f 220//220 195//195 357//357 +f 1666//1666 795//795 1346//1346 +f 1542//1542 1550//1550 1543//1543 +f 1667//1667 1281//1281 1664//1664 +f 866//866 188//188 1628//1628 +f 1643//1643 1614//1614 178//178 +f 1402//1402 831//831 1378//1378 +f 476//476 1668//1668 101//101 +f 1663//1663 1669//1669 1656//1656 +f 1656//1656 1670//1670 1657//1657 +f 1671//1671 1664//1664 1657//1657 +f 1667//1667 1672//1672 1281//1281 +f 1281//1281 1672//1672 1282//1282 +f 1618//1618 476//476 658//658 +f 1623//1623 220//220 357//357 +f 1658//1658 1673//1673 1659//1659 +f 1659//1659 1673//1673 1663//1663 +f 1673//1673 1674//1674 1663//1663 +f 1656//1656 1669//1669 1670//1670 +f 1670//1670 1671//1671 1657//1657 +f 735//735 99//99 1668//1668 +f 1564//1564 1601//1601 1428//1428 +f 355//355 354//354 946//946 +f 7//7 1586//1586 361//361 +f 476//476 1618//1618 1668//1668 +f 1248//1248 1623//1623 357//357 +f 622//622 1603//1603 56//56 +f 1663//1663 1674//1674 1669//1669 +f 1671//1671 1667//1667 1664//1664 +f 1672//1672 843//843 1282//1282 +f 1346//1346 794//794 78//78 +f 1618//1618 931//931 1668//1668 +f 153//153 1609//1609 1563//1563 +f 1476//1476 1648//1648 1477//1477 +f 44//44 61//61 59//59 +f 789//789 246//246 648//648 +f 617//617 616//616 311//311 +f 1670//1670 1675//1675 1671//1671 +f 93//93 6//6 134//134 +f 815//815 729//729 814//814 +f 153//153 1563//1563 10//10 +f 855//855 854//854 1402//1402 +f 210//210 222//222 1426//1426 +f 1674//1674 364//364 1669//1669 +f 1676//1676 1672//1672 1667//1667 +f 1672//1672 844//844 843//843 +f 1601//1601 1564//1564 1565//1565 +f 1570//1570 38//38 1320//1320 +f 687//687 630//630 640//640 +f 364//364 363//363 1669//1669 +f 1669//1669 363//363 1670//1670 +f 1670//1670 363//363 1675//1675 +f 1671//1671 1676//1676 1667//1667 +f 931//931 1435//1435 735//735 +f 1668//1668 931//931 735//735 +f 1113//1113 1124//1124 1146//1146 +f 1673//1673 1677//1677 1674//1674 +f 1675//1675 1676//1676 1671//1671 +f 891//891 1672//1672 1676//1676 +f 1672//1672 771//771 844//844 +f 844//844 771//771 772//772 +f 25//25 1244//1244 26//26 +f 47//47 192//192 1379//1379 +f 146//146 145//145 191//191 +f 927//927 1475//1475 841//841 +f 1678//1678 1092//1092 1070//1070 +f 363//363 805//805 1675//1675 +f 1672//1672 891//891 771//771 +f 932//932 822//822 821//821 +f 38//38 1577//1577 761//761 +f 1677//1677 364//364 1674//1674 +f 1675//1675 907//907 1676//1676 +f 907//907 891//891 1676//1676 +f 688//688 610//610 630//630 +f 931//931 932//932 1435//1435 +f 1661//1661 152//152 830//830 +f 866//866 189//189 188//188 +f 891//891 804//804 771//771 +f 247//247 473//473 597//597 +f 410//410 548//548 408//408 +f 1563//1563 1461//1461 1460//1460 +f 1//1 906//906 1679//1679 +f 805//805 907//907 1675//1675 +f 392//392 1505//1505 393//393 +f 57//57 55//55 54//54 +f 607//607 651//651 693//693 +f 1680//1680 1681//1681 1382//1382 +f 1403//1403 30//30 187//187 +f 390//390 1682//1682 997//997 +f 212//212 1//1 1679//1679 +f 853//853 364//364 1677//1677 +f 35//35 34//34 1038//1038 +f 806//806 1683//1683 828//828 +f 1322//1322 213//213 215//215 +f 1348//1348 1625//1625 1684//1684 +f 15//15 17//17 1625//1625 +f 1685//1685 1461//1461 1563//1563 +f 1416//1416 1686//1686 1687//1687 +f 17//17 1606//1606 1625//1625 +f 1348//1348 15//15 1625//1625 +f 592//592 593//593 1128//1128 +f 1688//1688 932//932 821//821 +f 1689//1689 714//714 1690//1690 +f 1691//1691 777//777 1692//1692 +f 768//768 739//739 1692//1692 +f 1693//1693 346//346 260//260 +f 1377//1377 1337//1337 303//303 +f 917//917 820//820 822//822 +f 1143//1143 1694//1694 1695//1695 +f 1224//1224 1696//1696 1268//1268 +f 890//890 904//904 1697//1697 +f 1175//1175 16//16 15//15 +f 900//900 929//929 921//921 +f 1698//1698 1699//1699 762//762 +f 1700//1700 797//797 754//754 +f 1701//1701 1231//1231 1232//1232 +f 762//762 753//753 746//746 +f 780//780 1702//1702 752//752 +f 1325//1325 135//135 1263//1263 +f 792//792 1703//1703 1702//1702 +f 1704//1704 457//457 1608//1608 +f 135//135 1264//1264 1263//1263 +f 446//446 445//445 1526//1526 +f 535//535 817//817 169//169 +f 1619//1619 167//167 1324//1324 +f 1700//1700 1705//1705 797//797 +f 480//480 175//175 1706//1706 +f 214//214 1497//1497 1681//1681 +f 615//615 926//926 658//658 +f 1707//1707 1708//1708 1709//1709 +f 216//216 62//62 1710//1710 +f 596//596 473//473 225//225 +f 590//590 458//458 457//457 +f 1711//1711 875//875 890//890 +f 287//287 1712//1712 261//261 +f 898//898 887//887 1713//1713 +f 493//493 177//177 788//788 +f 1196//1196 1132//1132 23//23 +f 1690//1690 714//714 1714//1714 +f 1217//1217 1216//1216 1715//1715 +f 1704//1704 590//590 457//457 +f 135//135 1325//1325 1324//1324 +f 1716//1716 1705//1705 1700//1700 +f 1702//1702 1703//1703 1698//1698 +f 1717//1717 939//939 882//882 +f 1718//1718 1699//1699 1698//1698 +f 1697//1697 1683//1683 1711//1711 +f 678//678 1459//1459 632//632 +f 1619//1619 1326//1326 1719//1719 +f 1720//1720 1619//1619 1719//1719 +f 149//149 151//151 1721//1721 +f 1722//1722 1714//1714 698//698 +f 1718//1718 883//883 870//870 +f 762//762 1723//1723 763//763 +f 1724//1724 1725//1725 1726//1726 +f 235//235 1224//1224 1268//1268 +f 1702//1702 1698//1698 762//762 +f 1727//1727 1728//1728 1729//1729 +f 1694//1694 1730//1730 1731//1731 +f 790//790 839//839 791//791 +f 1702//1702 780//780 792//792 +f 534//534 533//533 898//898 +f 1683//1683 876//876 828//828 +f 1348//1348 1175//1175 15//15 +f 1416//1416 832//832 1732//1732 +f 1416//1416 1732//1732 1686//1686 +f 1733//1733 1687//1687 1686//1686 +f 1732//1732 1733//1733 1686//1686 +f 1226//1226 169//169 1734//1734 +f 1347//1347 1175//1175 1348//1348 +f 1716//1716 875//875 1711//1711 +f 1704//1704 1735//1735 1402//1402 +f 898//898 533//533 900//900 +f 38//38 939//939 694//694 +f 898//898 900//900 887//887 +f 963//963 659//659 1129//1129 +f 648//648 776//776 1341//1341 +f 1688//1688 821//821 876//876 +f 1690//1690 1736//1736 1689//1689 +f 232//232 1260//1260 1274//1274 +f 1688//1688 876//876 1683//1683 +f 591//591 1704//1704 1402//1402 +f 1711//1711 1683//1683 1705//1705 +f 870//870 869//869 1699//1699 +f 1464//1464 1499//1499 1437//1437 +f 876//876 846//846 828//828 +f 597//597 245//245 247//247 +f 1683//1683 797//797 1705//1705 +f 1094//1094 490//490 1347//1347 +f 634//634 812//812 635//635 +f 1607//1607 1737//1737 1732//1732 +f 1626//1626 1630//1630 1627//1627 +f 1347//1347 490//490 1175//1175 +f 1699//1699 869//869 1723//1723 +f 869//869 875//875 1716//1716 +f 887//887 1718//1718 1738//1738 +f 714//714 669//669 698//698 +f 950//950 1299//1299 1261//1261 +f 832//832 1608//1608 1732//1732 +f 127//127 1720//1720 1739//1739 +f 347//347 346//346 368//368 +f 1740//1740 164//164 1741//1741 +f 1741//1741 163//163 155//155 +f 366//366 368//368 367//367 +f 1160//1160 569//569 1161//1161 +f 127//127 125//125 1619//1619 +f 1658//1658 1742//1742 1673//1673 +f 1326//1326 1619//1619 1324//1324 +f 1691//1691 715//715 714//714 +f 1743//1743 1744//1744 1745//1745 +f 869//869 871//871 875//875 +f 809//809 839//839 790//790 +f 262//262 261//261 1712//1712 +f 665//665 17//17 928//928 +f 794//794 793//793 745//745 +f 1690//1690 1714//1714 1722//1722 +f 1729//1729 1728//1728 1725//1725 +f 1630//1630 1746//1746 1627//1627 +f 865//865 886//886 839//839 +f 456//456 458//458 645//645 +f 1747//1747 1743//1743 1745//1745 +f 762//762 1699//1699 1723//1723 +f 1748//1748 149//149 1721//1721 +f 1748//1748 1749//1749 1744//1744 +f 928//928 854//854 665//665 +f 887//887 1738//1738 1713//1713 +f 1227//1227 1226//1226 962//962 +f 1543//1543 1750//1750 1475//1475 +f 1445//1445 1751//1751 1752//1752 +f 898//898 1713//1713 886//886 +f 1226//1226 1722//1722 962//962 +f 578//578 1753//1753 1754//1754 +f 1621//1621 1268//1268 1270//1270 +f 424//424 1755//1755 1756//1756 +f 367//367 368//368 1757//1757 +f 1747//1747 1745//1745 1758//1758 +f 887//887 883//883 1718//1718 +f 1721//1721 1759//1759 1749//1749 +f 1748//1748 1721//1721 1749//1749 +f 1693//1693 262//262 1760//1760 +f 1045//1045 1567//1567 749//749 +f 1703//1703 1738//1738 1718//1718 +f 168//168 778//778 1690//1690 +f 1761//1761 1762//1762 1763//1763 +f 367//367 1757//1757 1751//1751 +f 1760//1760 1764//1764 1757//1757 +f 1758//1758 1745//1745 1765//1765 +f 1743//1743 1747//1747 1766//1766 +f 161//161 1744//1744 1743//1743 +f 456//456 1607//1607 457//457 +f 1767//1767 437//437 1258//1258 +f 1147//1147 1768//1768 1140//1140 +f 1769//1769 1770//1770 64//64 +f 579//579 578//578 1754//1754 +f 1771//1771 1772//1772 578//578 +f 1703//1703 1718//1718 1698//1698 +f 1773//1773 1774//1774 1775//1775 +f 1721//1721 1740//1740 1776//1776 +f 1746//1746 1482//1482 1481//1481 +f 1777//1777 1778//1778 1779//1779 +f 1780//1780 1746//1746 1481//1481 +f 1767//1767 1258//1258 344//344 +f 1297//1297 1296//1296 1334//1334 +f 1781//1781 198//198 390//390 +f 1782//1782 1774//1774 906//906 +f 1783//1783 1771//1771 578//578 +f 1327//1327 1115//1115 1098//1098 +f 367//367 1751//1751 1445//1445 +f 1744//1744 1749//1749 1745//1745 +f 368//368 1693//1693 1760//1760 +f 509//509 928//928 17//17 +f 1697//1697 904//904 932//932 +f 1784//1784 1771//1771 1783//1783 +f 1784//1784 1785//1785 1771//1771 +f 1785//1785 1772//1772 1771//1771 +f 962//962 698//698 659//659 +f 1765//1765 1745//1745 1786//1786 +f 1785//1785 1648//1648 1476//1476 +f 214//214 1642//1642 1497//1497 +f 1126//1126 634//634 633//633 +f 926//926 615//615 666//666 +f 161//161 1743//1743 1491//1491 +f 1787//1787 1680//1680 1788//1788 +f 1749//1749 1759//1759 1786//1786 +f 1721//1721 1776//1776 1759//1759 +f 1065//1065 1102//1102 1177//1177 +f 1636//1636 1637//1637 1286//1286 +f 1725//1725 1728//1728 1789//1789 +f 870//870 1699//1699 1718//1718 +f 763//763 1700//1700 753//753 +f 1790//1790 1627//1627 1746//1746 +f 1791//1791 262//262 1712//1712 +f 1792//1792 1684//1684 1790//1790 +f 1689//1689 777//777 1691//1691 +f 1784//1784 1647//1647 1785//1785 +f 1647//1647 1648//1648 1785//1785 +f 149//149 1748//1748 1744//1744 +f 1793//1793 1794//1794 1287//1287 +f 1287//1287 1794//1794 1285//1285 +f 1795//1795 1286//1286 1285//1285 +f 1795//1795 1636//1636 1286//1286 +f 1689//1689 1736//1736 777//777 +f 752//752 1702//1702 746//746 +f 1721//1721 164//164 1740//1740 +f 208//208 207//207 856//856 +f 1745//1745 1749//1749 1786//1786 +f 1336//1336 1514//1514 603//603 +f 777//777 809//809 1692//1692 +f 1783//1783 1796//1796 1784//1784 +f 1796//1796 1647//1647 1784//1784 +f 698//698 1714//1714 714//714 +f 168//168 779//779 778//778 +f 1624//1624 1643//1643 1797//1797 +f 346//346 1693//1693 368//368 +f 1720//1720 127//127 1619//1619 +f 1630//1630 1482//1482 1746//1746 +f 1798//1798 1796//1796 1783//1783 +f 1734//1734 1690//1690 1226//1226 +f 164//164 163//163 1741//1741 +f 778//778 1736//1736 1690//1690 +f 1317//1317 1374//1374 679//679 +f 1794//1794 1795//1795 1285//1285 +f 840//840 1474//1474 927//927 +f 1625//1625 1606//1606 1626//1626 +f 1735//1735 1704//1704 1608//1608 +f 1737//1737 1733//1733 1732//1732 +f 262//262 1791//1791 1760//1760 +f 1702//1702 762//762 746//746 +f 754//754 753//753 1700//1700 +f 1322//1322 1787//1787 1788//1788 +f 1400//1400 1799//1799 1793//1793 +f 1799//1799 1794//1794 1793//1793 +f 1800//1800 1636//1636 1795//1795 +f 1801//1801 426//426 428//428 +f 790//790 791//791 767//767 +f 1712//1712 287//287 1802//1802 +f 1803//1803 1647//1647 1796//1796 +f 1734//1734 169//169 168//168 +f 1794//1794 1804//1804 1795//1795 +f 1800//1800 1355//1355 1636//1636 +f 1716//1716 1700//1700 763//763 +f 962//962 963//963 1520//1520 +f 167//167 135//135 1324//1324 +f 1492//1492 161//161 1491//1491 +f 168//168 1690//1690 1734//1734 +f 1224//1224 1805//1805 1696//1696 +f 122//122 1649//1649 1777//1777 +f 1764//1764 1760//1760 1791//1791 +f 168//168 170//170 779//779 +f 839//839 886//886 1713//1713 +f 680//680 325//325 633//633 +f 1806//1806 1332//1332 1807//1807 +f 1791//1791 1712//1712 1808//1808 +f 1808//1808 1712//1712 1802//1802 +f 1535//1535 1647//1647 1803//1803 +f 1723//1723 1716//1716 763//763 +f 1533//1533 1532//1532 1809//1809 +f 1296//1296 1031//1031 217//217 +f 1224//1224 235//235 244//244 +f 1799//1799 1400//1400 1547//1547 +f 1799//1799 1764//1764 1794//1794 +f 1794//1794 1764//1764 1804//1804 +f 839//839 1713//1713 791//791 +f 1176//1176 530//530 1545//1545 +f 1810//1810 1032//1032 1031//1031 +f 1677//1677 1673//1673 1811//1811 +f 1697//1697 1688//1688 1683//1683 +f 1812//1812 96//96 1514//1514 +f 1813//1813 1803//1803 1798//1798 +f 1263//1263 1326//1326 1325//1325 +f 1477//1477 1467//1467 1478//1478 +f 1547//1547 1814//1814 1799//1799 +f 1804//1804 1808//1808 1795//1795 +f 1808//1808 1800//1800 1795//1795 +f 1808//1808 1815//1815 1800//1800 +f 869//869 1716//1716 1723//1723 +f 792//792 1738//1738 1703//1703 +f 1689//1689 1691//1691 714//714 +f 62//62 64//64 1448//1448 +f 1816//1816 1265//1265 827//827 +f 147//147 149//149 1744//1744 +f 198//198 1781//1781 1817//1817 +f 1818//1818 1740//1740 1741//1741 +f 1776//1776 1740//1740 1818//1818 +f 1335//1335 1514//1514 1336//1336 +f 1335//1335 1812//1812 1514//1514 +f 97//97 96//96 1812//1812 +f 1342//1342 1341//1341 776//776 +f 1813//1813 1819//1819 1803//1803 +f 1803//1803 1819//1819 1535//1535 +f 1466//1466 1467//1467 1477//1477 +f 1716//1716 1711//1711 1705//1705 +f 451//451 453//453 462//462 +f 1814//1814 1820//1820 1799//1799 +f 1820//1820 1764//1764 1799//1799 +f 1815//1815 1821//1821 1800//1800 +f 196//196 198//198 1817//1817 +f 1802//1802 1822//1822 1821//1821 +f 110//110 98//98 97//97 +f 1823//1823 1824//1824 1825//1825 +f 1826//1826 1827//1827 1828//1828 +f 1625//1625 1627//1627 1790//1790 +f 1713//1713 1738//1738 792//792 +f 368//368 1760//1760 1757//1757 +f 1711//1711 890//890 1697//1697 +f 1547//1547 1829//1829 1814//1814 +f 1830//1830 1831//1831 1554//1554 +f 216//216 63//63 62//62 +f 1406//1406 1408//1408 1832//1832 +f 962//962 1722//1722 698//698 +f 1833//1833 1376//1376 793//793 +f 1032//1032 1834//1834 1678//1678 +f 791//791 1713//1713 792//792 +f 1239//1239 817//817 535//535 +f 178//178 1835//1835 1643//1643 +f 778//778 777//777 1736//1736 +f 1817//1817 1478//1478 1467//1467 +f 1781//1781 997//997 1478//1478 +f 1817//1817 1781//1781 1478//1478 +f 390//390 997//997 1781//1781 +f 1836//1836 1837//1837 1838//1838 +f 1764//1764 1791//1791 1804//1804 +f 1804//1804 1791//1791 1808//1808 +f 394//394 1773//1773 1839//1839 +f 233//233 1319//1319 407//407 +f 1833//1833 1377//1377 1376//1376 +f 1840//1840 1841//1841 1471//1471 +f 1776//1776 1335//1335 1337//1337 +f 1818//1818 1812//1812 1335//1335 +f 1476//1476 1772//1772 1785//1785 +f 879//879 1424//1424 1423//1423 +f 1813//1813 278//278 1819//1819 +f 278//278 1535//1535 1819//1819 +f 1763//1763 1762//1762 1842//1842 +f 1752//1752 1751//1751 1814//1814 +f 1814//1814 1751//1751 1820//1820 +f 795//795 1765//1765 793//793 +f 793//793 1765//1765 1833//1833 +f 1776//1776 1337//1337 1377//1377 +f 1818//1818 1335//1335 1776//1776 +f 1812//1812 1741//1741 97//97 +f 1697//1697 932//932 1688//1688 +f 1692//1692 809//809 768//768 +f 715//715 1692//1692 739//739 +f 178//178 939//939 1835//1835 +f 797//797 1683//1683 806//806 +f 1843//1843 200//200 1491//1491 +f 768//768 809//809 790//790 +f 29//29 311//311 310//310 +f 196//196 1817//1817 1467//1467 +f 1721//1721 151//151 164//164 +f 1844//1844 786//786 785//785 +f 1808//1808 1802//1802 1815//1815 +f 1815//1815 1802//1802 1821//1821 +f 1845//1845 1765//1765 795//795 +f 1786//1786 1377//1377 1833//1833 +f 1741//1741 1812//1812 1818//1818 +f 27//27 29//29 310//310 +f 147//147 1744//1744 161//161 +f 178//178 158//158 939//939 +f 1109//1109 1151//1151 1645//1645 +f 1280//1280 1032//1032 1071//1071 +f 1787//1787 1681//1681 1680//1680 +f 216//216 1557//1557 217//217 +f 1846//1846 1836//1836 1633//1633 +f 1751//1751 1757//1757 1820//1820 +f 1820//1820 1757//1757 1764//1764 +f 1458//1458 1847//1847 1276//1276 +f 806//806 828//828 781//781 +f 1226//1226 1690//1690 1722//1722 +f 1587//1587 276//276 278//278 +f 38//38 882//882 939//939 +f 97//97 1741//1741 155//155 +f 1765//1765 1786//1786 1833//1833 +f 1786//1786 1759//1759 1377//1377 +f 1759//1759 1776//1776 1377//1377 +f 1258//1258 1848//1848 231//231 +f 1849//1849 1850//1850 1851//1851 +f 1852//1852 1853//1853 1854//1854 +f 1260//1260 1259//1259 1855//1855 +f 1856//1856 1857//1857 1858//1858 +f 95//95 307//307 1430//1430 +f 120//120 1859//1859 1431//1431 +f 1860//1860 1861//1861 1862//1862 +f 200//200 229//229 218//218 +f 1253//1253 1125//1125 1863//1863 +f 123//123 1864//1864 1386//1386 +f 1865//1865 1866//1866 1778//1778 +f 929//929 900//900 533//533 +f 831//831 1735//1735 832//832 +f 438//438 1867//1867 436//436 +f 1868//1868 463//463 462//462 +f 152//152 1662//1662 1869//1869 +f 436//436 1870//1870 1869//1869 +f 1184//1184 1871//1871 1872//1872 +f 423//423 425//425 750//750 +f 436//436 1867//1867 1870//1870 +f 1610//1610 1609//1609 1869//1869 +f 1873//1873 1874//1874 478//478 +f 1870//1870 1875//1875 1869//1869 +f 1873//1873 1876//1876 438//438 +f 1874//1874 1873//1873 438//438 +f 438//438 1876//1876 1867//1867 +f 1877//1877 1610//1610 1869//1869 +f 1875//1875 1877//1877 1869//1869 +f 1867//1867 1878//1878 1870//1870 +f 1870//1870 1878//1878 1875//1875 +f 745//745 1376//1376 302//302 +f 1879//1879 1873//1873 1880//1880 +f 1877//1877 1685//1685 1610//1610 +f 1563//1563 1610//1610 1685//1685 +f 1873//1873 1879//1879 1876//1876 +f 1876//1876 1881//1881 1867//1867 +f 1867//1867 1881//1881 1878//1878 +f 86//86 1882//1882 84//84 +f 1875//1875 1883//1883 1877//1877 +f 1877//1877 1883//1883 1685//1685 +f 1883//1883 1884//1884 1685//1685 +f 1879//1879 1885//1885 1876//1876 +f 1878//1878 1883//1883 1875//1875 +f 303//303 1439//1439 1362//1362 +f 1879//1879 1880//1880 744//744 +f 1886//1886 1884//1884 1883//1883 +f 1878//1878 1886//1886 1883//1883 +f 1793//1793 1287//1287 1339//1339 +f 1525//1525 1879//1879 744//744 +f 1885//1885 1887//1887 1876//1876 +f 1876//1876 1887//1887 1881//1881 +f 1382//1382 1681//1681 842//842 +f 1881//1881 1886//1886 1878//1878 +f 1888//1888 1860//1860 1862//1862 +f 1626//1626 1606//1606 664//664 +f 743//743 1526//1526 744//744 +f 1639//1639 1461//1461 1884//1884 +f 1886//1886 1639//1639 1884//1884 +f 996//996 1478//1478 997//997 +f 1889//1889 1890//1890 1860//1860 +f 1891//1891 1868//1868 1892//1892 +f 1202//1202 605//605 1479//1479 +f 1893//1893 1526//1526 743//743 +f 1894//1894 1879//1879 1525//1525 +f 1894//1894 1885//1885 1879//1879 +f 1895//1895 1896//1896 1897//1897 +f 1898//1898 1899//1899 1900//1900 +f 1526//1526 1525//1525 744//744 +f 1901//1901 1902//1902 1903//1903 +f 1854//1854 1853//1853 1904//1904 +f 1905//1905 1832//1832 1408//1408 +f 1906//1906 1907//1907 1838//1838 +f 1907//1907 1908//1908 1836//1836 +f 1908//1908 1909//1909 1836//1836 +f 1909//1909 1634//1634 1836//1836 +f 445//445 1894//1894 1525//1525 +f 1886//1886 1910//1910 1639//1639 +f 1440//1440 1911//1911 1912//1912 +f 1906//1906 1913//1913 1907//1907 +f 1907//1907 1914//1914 1908//1908 +f 1915//1915 1632//1632 1916//1916 +f 1917//1917 1634//1634 1909//1909 +f 1918//1918 1886//1886 1881//1881 +f 1887//1887 1918//1918 1881//1881 +f 1910//1910 1263//1263 1639//1639 +f 1890//1890 1919//1919 1861//1861 +f 1920//1920 1921//1921 1922//1922 +f 1316//1316 613//613 1059//1059 +f 1923//1923 1914//1914 1907//1907 +f 1913//1913 1923//1923 1907//1907 +f 1914//1914 1924//1924 1908//1908 +f 1924//1924 1925//1925 1909//1909 +f 1908//1908 1924//1924 1909//1909 +f 1710//1710 1916//1916 1634//1634 +f 1917//1917 1710//1710 1634//1634 +f 1910//1910 1926//1926 1263//1263 +f 1920//1920 121//121 1921//1921 +f 1888//1888 784//784 1432//1432 +f 1871//1871 1927//1927 1906//1906 +f 1924//1924 1928//1928 1925//1925 +f 1925//1925 1917//1917 1909//1909 +f 816//816 1168//1168 1265//1265 +f 1918//1918 1910//1910 1886//1886 +f 664//664 665//665 855//855 +f 77//77 1605//1605 1197//1197 +f 1921//1921 121//121 1386//1386 +f 1860//1860 1890//1890 1861//1861 +f 1927//1927 1923//1923 1906//1906 +f 1906//1906 1923//1923 1913//1913 +f 1710//1710 1917//1917 1925//1925 +f 1287//1287 1286//1286 31//31 +f 1929//1929 1918//1918 1887//1887 +f 1885//1885 1929//1929 1887//1887 +f 1888//1888 1862//1862 784//784 +f 1184//1184 1930//1930 1927//1927 +f 1871//1871 1184//1184 1927//1927 +f 1923//1923 1931//1931 1914//1914 +f 1710//1710 1450//1450 1916//1916 +f 1918//1918 1932//1932 1910//1910 +f 1910//1910 1932//1932 1926//1926 +f 1468//1468 831//831 833//833 +f 1630//1630 1212//1212 1482//1482 +f 1362//1362 1438//1438 419//419 +f 99//99 101//101 1668//1668 +f 288//288 1291//1291 287//287 +f 1921//1921 1385//1385 1933//1933 +f 1934//1934 1930//1930 1184//1184 +f 1927//1927 1935//1935 1923//1923 +f 1914//1914 1931//1931 1924//1924 +f 1894//1894 1929//1929 1885//1885 +f 1793//1793 1339//1339 1400//1400 +f 857//857 876//876 821//821 +f 1936//1936 1523//1523 1937//1937 +f 1936//1936 859//859 1938//1938 +f 1936//1936 1939//1939 859//859 +f 1939//1939 1940//1940 859//859 +f 1800//1800 1821//1821 1356//1356 +f 1934//1934 1941//1941 1930//1930 +f 1927//1927 1930//1930 1935//1935 +f 1928//1928 1557//1557 1925//1925 +f 216//216 1710//1710 1925//1925 +f 1557//1557 216//216 1925//1925 +f 1355//1355 1800//1800 1356//1356 +f 1821//1821 1942//1942 1356//1356 +f 1926//1926 1326//1326 1263//1263 +f 1942//1942 1350//1350 1356//1356 +f 1935//1935 1931//1931 1923//1923 +f 1931//1931 1750//1750 1924//1924 +f 1924//1924 1543//1543 1928//1928 +f 1543//1543 1557//1557 1928//1928 +f 1943//1943 1944//1944 1596//1596 +f 1918//1918 1945//1945 1932//1932 +f 1932//1932 1326//1326 1926//1926 +f 1946//1946 858//858 860//860 +f 1184//1184 1183//1183 1934//1934 +f 1924//1924 1750//1750 1543//1543 +f 1379//1379 472//472 471//471 +f 1469//1469 1947//1947 1494//1494 +f 1948//1948 1949//1949 1950//1950 +f 446//446 1951//1951 444//444 +f 444//444 1951//1951 445//445 +f 1859//1859 1952//1952 1953//1953 +f 1824//1824 1857//1857 1856//1856 +f 1954//1954 1939//1939 1936//1936 +f 1954//1954 529//529 1939//1939 +f 1882//1882 1183//1183 1955//1955 +f 1934//1934 1183//1183 1941//1941 +f 1941//1941 1935//1935 1930//1930 +f 1931//1931 1956//1956 1750//1750 +f 1957//1957 1288//1288 1304//1304 +f 79//79 145//145 1605//1605 +f 79//79 1357//1357 145//145 +f 1161//1161 1958//1958 446//446 +f 446//446 1958//1958 1951//1951 +f 1951//1951 1959//1959 445//445 +f 1959//1959 1894//1894 445//445 +f 1894//1894 1960//1960 1929//1929 +f 1937//1937 1954//1954 1936//1936 +f 1935//1935 1956//1956 1931//1931 +f 1961//1961 1894//1894 1959//1959 +f 1961//1961 1960//1960 1894//1894 +f 1929//1929 1945//1945 1918//1918 +f 1962//1962 1963//1963 1964//1964 +f 1648//1648 1466//1466 1477//1477 +f 1937//1937 1965//1965 1954//1954 +f 1469//1469 1262//1262 1966//1966 +f 84//84 1882//1882 1955//1955 +f 1935//1935 1096//1096 1956//1956 +f 1750//1750 1956//1956 1475//1475 +f 77//77 79//79 1605//1605 +f 1960//1960 1945//1945 1929//1929 +f 1945//1945 1967//1967 1932//1932 +f 1968//1968 1447//1447 1964//1964 +f 1269//1269 1968//1968 1964//1964 +f 1969//1969 529//529 1954//1954 +f 1970//1970 1183//1183 1882//1882 +f 1183//1183 1971//1971 1941//1941 +f 51//51 1972//1972 510//510 +f 405//405 678//678 632//632 +f 1211//1211 1402//1402 1378//1378 +f 831//831 1402//1402 1735//1735 +f 1973//1973 1719//1719 1932//1932 +f 1967//1967 1973//1973 1932//1932 +f 1932//1932 1719//1719 1326//1326 +f 1969//1969 1954//1954 1965//1965 +f 1969//1969 527//527 529//529 +f 1183//1183 1970//1970 1971//1971 +f 1096//1096 841//841 1956//1956 +f 1960//1960 1967//1967 1945//1945 +f 656//656 302//302 304//304 +f 1971//1971 1382//1382 1941//1941 +f 1941//1941 1382//1382 1935//1935 +f 1935//1935 1382//1382 1096//1096 +f 1974//1974 1975//1975 1866//1866 +f 64//64 1280//1280 1976//1976 +f 304//304 1362//1362 1622//1622 +f 1622//1622 1362//1362 419//419 +f 1358//1358 656//656 1360//1360 +f 1958//1958 1977//1977 1951//1951 +f 1608//1608 832//832 1735//1735 +f 855//855 1402//1402 1211//1211 +f 1978//1978 1969//1969 1965//1965 +f 1970//1970 1979//1979 1971//1971 +f 1980//1980 1981//1981 1982//1982 +f 1521//1521 1139//1139 1983//1983 +f 1626//1626 664//664 1630//1630 +f 1984//1984 1985//1985 1986//1986 +f 1942//1942 1987//1987 1350//1350 +f 1988//1988 1959//1959 1951//1951 +f 1959//1959 1988//1988 1961//1961 +f 578//578 1772//1772 1753//1753 +f 78//78 302//302 656//656 +f 1197//1197 1605//1605 144//144 +f 983//983 1989//1989 1965//1965 +f 1989//1989 1978//1978 1965//1965 +f 1978//1978 527//527 1969//1969 +f 852//852 851//851 691//691 +f 1990//1990 1970//1970 1882//1882 +f 1990//1990 1979//1979 1970//1970 +f 1991//1991 1922//1922 1921//1921 +f 1992//1992 205//205 1993//1993 +f 1378//1378 1381//1381 1502//1502 +f 1502//1502 1468//1468 197//197 +f 1502//1502 197//197 1503//1503 +f 1378//1378 1502//1502 277//277 +f 1378//1378 277//277 276//276 +f 1988//1988 1967//1967 1960//1960 +f 1961//1961 1988//1988 1960//1960 +f 1821//1821 1822//1822 1942//1942 +f 14//14 13//13 492//492 +f 603//603 851//851 850//850 +f 1269//1269 1582//1582 1968//1968 +f 1979//1979 1382//1382 1971//1971 +f 1981//1981 1994//1994 1995//1995 +f 1573//1573 1254//1254 1580//1580 +f 1982//1982 1981//1981 1850//1850 +f 832//832 1416//1416 833//833 +f 852//852 620//620 619//619 +f 510//510 462//462 461//461 +f 1988//1988 1996//1996 1967//1967 +f 1967//1967 1996//1996 1973//1973 +f 79//79 656//656 1357//1357 +f 605//605 1201//1201 603//603 +f 86//86 1990//1990 1882//1882 +f 1788//1788 1680//1680 1990//1990 +f 1979//1979 1680//1680 1382//1382 +f 1995//1995 1865//1865 1850//1850 +f 1997//1997 1998//1998 1999//1999 +f 2000//2000 1520//1520 1369//1369 +f 1449//1449 1506//1506 2001//2001 +f 850//850 619//619 604//604 +f 2//2 211//211 421//421 +f 1235//1235 1977//1977 1321//1321 +f 1360//1360 304//304 69//69 +f 1139//1139 1520//1520 963//963 +f 2002//2002 1570//1570 1968//1968 +f 1234//1234 1978//1978 1989//1989 +f 1978//1978 1359//1359 527//527 +f 1417//1417 1426//1426 222//222 +f 69//69 304//304 1622//1622 +f 2003//2003 1952//1952 1859//1859 +f 2004//2004 2005//2005 2006//2006 +f 70//70 171//171 105//105 +f 1977//1977 2007//2007 1951//1951 +f 1719//1719 1973//1973 1996//1996 +f 1292//1292 1018//1018 1229//1229 +f 1438//1438 1443//1443 419//419 +f 420//420 1201//1201 1202//1202 +f 267//267 357//357 195//195 +f 1466//1466 1648//1648 1535//1535 +f 607//607 939//939 158//158 +f 1245//1245 614//614 1962//1962 +f 2008//2008 2009//2009 2010//2010 +f 2010//2010 2009//2009 2011//2011 +f 1104//1104 344//344 343//343 +f 2012//2012 1896//1896 1895//1895 +f 1562//1562 1977//1977 1235//1235 +f 1996//1996 2013//2013 1719//1719 +f 1312//1312 620//620 1310//1310 +f 1692//1692 715//715 1691//1691 +f 1362//1362 1439//1439 1438//1438 +f 331//331 2003//2003 1859//1859 +f 1998//1998 2014//2014 2008//2008 +f 2011//2011 2015//2015 1216//1216 +f 1994//1994 1488//1488 1974//1974 +f 330//330 30//30 32//32 +f 1951//1951 2016//2016 1988//1988 +f 1988//1988 2016//2016 1996//1996 +f 30//30 1287//1287 31//31 +f 144//144 146//146 160//160 +f 1852//1852 2017//2017 1853//1853 +f 2018//2018 2009//2009 2008//2008 +f 2015//2015 1453//1453 1216//1216 +f 1594//1594 2019//2019 2020//2020 +f 1375//1375 191//191 105//105 +f 934//934 1355//1355 1351//1351 +f 1562//1562 2007//2007 1977//1977 +f 2016//2016 1951//1951 2007//2007 +f 2016//2016 2013//2013 1996//1996 +f 2002//2002 36//36 1570//1570 +f 1596//1596 1582//1582 1696//1696 +f 37//37 2002//2002 1582//1582 +f 2021//2021 1831//1831 2022//2022 +f 81//81 187//187 1228//1228 +f 1286//1286 1340//1340 133//133 +f 1953//1953 1952//1952 1860//1860 +f 2023//2023 2024//2024 2025//2025 +f 1966//1966 2021//2021 2026//2026 +f 2027//2027 2011//2011 2009//2009 +f 2028//2028 1849//1849 1889//1889 +f 1562//1562 2029//2029 2007//2007 +f 1340//1340 1286//1286 934//934 +f 37//37 1582//1582 1596//1596 +f 2013//2013 1720//1720 1719//1719 +f 1637//1637 1355//1355 934//934 +f 1414//1414 1440//1440 1866//1866 +f 2030//2030 2031//2031 2025//2025 +f 2012//2012 1584//1584 1896//1896 +f 2014//2014 2018//2018 2008//2008 +f 2015//2015 2011//2011 2027//2027 +f 1863//1863 1510//1510 2032//2032 +f 1707//1707 1709//1709 2033//2033 +f 205//205 2034//2034 206//206 +f 2016//2016 2035//2035 2013//2013 +f 1286//1286 1637//1637 934//934 +f 138//138 160//160 1364//1364 +f 1507//1507 1387//1387 1538//1538 +f 338//338 1230//1230 1136//1136 +f 2012//2012 2036//2036 2037//2037 +f 2038//2038 2018//2018 2014//2014 +f 2018//2018 2039//2039 2009//2009 +f 2009//2009 2039//2039 2027//2027 +f 2040//2040 1707//1707 2033//2033 +f 2041//2041 2036//2036 2042//2042 +f 2043//2043 1904//1904 2042//2042 +f 1493//1493 1500//1500 1056//1056 +f 205//205 1537//1537 2034//2034 +f 1431//1431 1888//1888 1432//1432 +f 1919//1919 1890//1890 2044//2044 +f 1407//1407 1507//1507 1506//1506 +f 278//278 277//277 1535//1535 +f 1852//1852 1858//1858 2017//2017 +f 1730//1730 2045//2045 1731//1731 +f 1731//1731 2045//2045 2046//2046 +f 1986//1986 2047//2047 1984//1984 +f 2038//2038 2048//2048 2018//2018 +f 1448//1448 1500//1500 1449//1449 +f 1853//1853 2017//2017 2049//2049 +f 784//784 1862//1862 785//785 +f 2029//2029 868//868 1828//1828 +f 2029//2029 2050//2050 2007//2007 +f 2035//2035 2016//2016 2007//2007 +f 1543//1543 1550//1550 1557//1557 +f 187//187 30//30 330//330 +f 1868//1868 1891//1891 2051//2051 +f 1984//1984 2052//2052 2038//2038 +f 2053//2053 2048//2048 2038//2038 +f 2048//2048 2039//2039 2018//2018 +f 2054//2054 2027//2027 2039//2039 +f 2027//2027 2055//2055 2015//2015 +f 2055//2055 1453//1453 2015//2015 +f 2056//2056 2057//2057 1453//1453 +f 185//185 184//184 1413//1413 +f 2022//2022 1831//1831 1830//1830 +f 1407//1407 1385//1385 1507//1507 +f 2029//2029 1828//1828 2050//2050 +f 2035//2035 1739//1739 1720//1720 +f 2013//2013 2035//2035 1720//1720 +f 1717//1717 882//882 1596//1596 +f 2058//2058 2051//2051 1891//1891 +f 1432//1432 1854//1854 2059//2059 +f 2060//2060 2061//2061 1986//1986 +f 1986//1986 2061//2061 2047//2047 +f 2038//2038 2052//2052 2053//2053 +f 2048//2048 2054//2054 2039//2039 +f 2054//2054 2055//2055 2027//2027 +f 2062//2062 1453//1453 2055//2055 +f 2063//2063 2057//2057 2056//2056 +f 1769//1769 1056//1056 1770//1770 +f 1500//1500 1448//1448 1770//1770 +f 1385//1385 1407//1407 1933//1933 +f 1827//1827 2050//2050 1828//1828 +f 2050//2050 2064//2064 2007//2007 +f 2007//2007 2064//2064 2035//2035 +f 1717//1717 1596//1596 1944//1944 +f 2065//2065 1717//1717 1944//1944 +f 2066//2066 1891//1891 1892//1892 +f 2051//2051 1730//1730 2067//2067 +f 2045//2045 2068//2068 2069//2069 +f 1801//1801 2061//2061 2060//2060 +f 2047//2047 2070//2070 1984//1984 +f 1984//1984 2070//2070 2052//2052 +f 2053//2053 2071//2071 2048//2048 +f 2048//2048 2071//2071 2054//2054 +f 2072//2072 2055//2055 2054//2054 +f 2056//2056 1453//1453 2062//2062 +f 853//853 2003//2003 331//331 +f 1500//1500 1770//1770 1056//1056 +f 2073//2073 1827//1827 1782//1782 +f 2073//2073 2050//2050 1827//1827 +f 1739//1739 2035//2035 2064//2064 +f 427//427 2069//2069 2068//2068 +f 825//825 827//827 1265//1265 +f 770//770 993//993 992//992 +f 1955//1955 1183//1183 1288//1288 +f 1518//1518 2040//2040 2033//2033 +f 2071//2071 2074//2074 2054//2054 +f 2075//2075 2072//2072 2054//2054 +f 2055//2055 1660//1660 2062//2062 +f 1660//1660 281//281 2062//2062 +f 281//281 2056//2056 2062//2062 +f 2076//2076 2059//2059 1904//1904 +f 1279//1279 1278//1278 2077//2077 +f 906//906 2073//2073 1782//1782 +f 2073//2073 2064//2064 2050//2050 +f 2065//2065 1944//1944 2078//2078 +f 2079//2079 1892//1892 75//75 +f 2079//2079 2080//2080 1892//1892 +f 2080//2080 2066//2066 1892//1892 +f 1891//1891 2066//2066 2058//2058 +f 2051//2051 2045//2045 1730//1730 +f 2052//2052 1527//1527 2053//2053 +f 2072//2072 1660//1660 2055//2055 +f 2081//2081 2082//2082 2083//2083 +f 2082//2082 2084//2084 2083//2083 +f 2085//2085 2086//2086 1371//1371 +f 1774//1774 1782//1782 1775//1775 +f 2087//2087 2064//2064 2073//2073 +f 1797//1797 2065//2065 2078//2078 +f 1753//1753 2079//2079 75//75 +f 998//998 2045//2045 2051//2051 +f 2070//2070 2088//2088 2052//2052 +f 2052//2052 2088//2088 1527//1527 +f 2053//2053 1527//1527 2071//2071 +f 2074//2074 2075//2075 2054//2054 +f 2063//2063 1522//1522 396//396 +f 2081//2081 396//396 1522//1522 +f 2081//2081 1417//1417 2082//2082 +f 119//119 1774//1774 221//221 +f 2089//2089 1488//1488 1994//1994 +f 905//905 2087//2087 2073//2073 +f 2087//2087 1739//1739 2064//2064 +f 2090//2090 2065//2065 1797//1797 +f 2090//2090 1717//1717 2065//2065 +f 2090//2090 1835//1835 1717//1717 +f 1772//1772 2079//2079 1753//1753 +f 1439//1439 1337//1337 1336//1336 +f 127//127 1739//1739 128//128 +f 1772//1772 2080//2080 2079//2079 +f 998//998 1682//1682 2045//2045 +f 2045//2045 1682//1682 2068//2068 +f 283//283 2091//2091 2070//2070 +f 2047//2047 283//283 2070//2070 +f 2070//2070 2091//2091 2088//2088 +f 2088//2088 41//41 1527//1527 +f 234//234 2075//2075 2074//2074 +f 2075//2075 1420//1420 2072//2072 +f 1395//1395 1660//1660 2072//2072 +f 281//281 280//280 2056//2056 +f 280//280 2063//2063 2056//2056 +f 222//222 2084//2084 2082//2082 +f 222//222 221//221 2084//2084 +f 119//119 1679//1679 1774//1774 +f 1679//1679 906//906 1774//1774 +f 906//906 905//905 2073//2073 +f 1311//1311 1739//1739 2087//2087 +f 996//996 2051//2051 2058//2058 +f 996//996 998//998 2051//2051 +f 2075//2075 234//234 1420//1420 +f 280//280 1522//1522 2063//2063 +f 905//905 1312//1312 2087//2087 +f 1312//1312 1311//1311 2087//2087 +f 2085//2085 2092//2092 2031//2031 +f 1497//1497 842//842 1681//1681 +f 37//37 36//36 2002//2002 +f 1476//1476 2080//2080 1772//1772 +f 1476//1476 2066//2066 2080//2080 +f 1476//1476 2058//2058 2066//2066 +f 1788//1788 85//85 1322//1322 +f 2091//2091 41//41 2088//2088 +f 2071//2071 223//223 2074//2074 +f 223//223 234//234 2074//2074 +f 1420//1420 823//823 2072//2072 +f 823//823 1395//1395 2072//2072 +f 279//279 281//281 1660//1660 +f 1417//1417 222//222 2082//2082 +f 212//212 1679//1679 119//119 +f 200//200 161//161 1492//1492 +f 656//656 304//304 1360//1360 +f 1643//1643 1835//1835 2090//2090 +f 303//303 1337//1337 1439//1439 +f 1478//1478 2058//2058 1476//1476 +f 2058//2058 1478//1478 996//996 +f 997//997 1682//1682 998//998 +f 214//214 1681//1681 1787//1787 +f 214//214 1787//1787 215//215 +f 215//215 1787//1787 1322//1322 +f 283//283 2047//2047 284//284 +f 1527//1527 186//186 2071//2071 +f 2071//2071 186//186 223//223 +f 280//280 1401//1401 1522//1522 +f 1522//1522 1418//1418 2081//2081 +f 1418//1418 1417//1417 2081//2081 +f 1864//1864 2024//2024 2093//2093 +f 2024//2024 2094//2094 2093//2093 +f 1981//1981 2095//2095 1994//1994 +f 879//879 878//878 1424//1424 +f 1779//1779 2031//2031 2030//2030 +f 2096//2096 1430//1430 2059//2059 +f 1260//1260 1615//1615 1559//1559 +f 2097//2097 2043//2043 1897//1897 +f 2012//2012 2037//2037 1071//1071 +f 570//570 27//27 775//775 +f 1432//1432 784//784 786//786 +f 1507//1507 1385//1385 1387//1387 +f 1450//1450 1449//1449 1915//1915 +f 1658//1658 1980//1980 1742//1742 +f 1980//1980 2098//2098 1742//1742 +f 231//231 1848//1848 1259//1259 +f 232//232 231//231 1259//1259 +f 84//84 1955//1955 527//527 +f 1500//1500 1407//1407 1506//1506 +f 1777//1777 1779//1779 2030//2030 +f 2099//2099 1472//1472 1539//1539 +f 827//827 826//826 1329//1329 +f 1273//1273 233//233 232//232 +f 1235//1235 568//568 245//245 +f 1742//1742 2098//2098 2100//2100 +f 2025//2025 2024//2024 2101//2101 +f 2086//2086 2085//2085 1779//1779 +f 1905//1905 1055//1055 2049//2049 +f 911//911 371//371 2102//2102 +f 2103//2103 2104//2104 2105//2105 +f 1405//1405 1440//1440 184//184 +f 2102//2102 1539//1539 911//911 +f 1911//1911 1405//1405 1372//1372 +f 1440//1440 1405//1405 1911//1911 +f 2106//2106 2004//2004 2107//2107 +f 1425//1425 974//974 1496//1496 +f 1865//1865 2108//2108 1850//1850 +f 2109//2109 1865//1865 2110//2110 +f 2111//2111 2097//2097 1897//1897 +f 95//95 1430//1430 71//71 +f 2100//2100 2028//2028 1952//1952 +f 2025//2025 2031//2031 2023//2023 +f 1994//1994 1974//1974 1865//1865 +f 2098//2098 2028//2028 2100//2100 +f 1658//1658 2095//2095 1980//1980 +f 1912//1912 2086//2086 1779//1779 +f 1865//1865 1778//1778 1651//1651 +f 1851//1851 1850//1850 2108//2108 +f 1387//1387 1864//1864 1538//1538 +f 2030//2030 2025//2025 122//122 +f 2020//2020 2112//2112 2113//2113 +f 2102//2102 2114//2114 1539//1539 +f 2114//2114 2099//2099 1539//1539 +f 1855//1855 1615//1615 1260//1260 +f 1415//1415 1414//1414 1488//1488 +f 1288//1288 528//528 1955//1955 +f 854//854 556//556 591//591 +f 528//528 1939//1939 529//529 +f 1949//1949 2115//2115 1950//1950 +f 2028//2028 2098//2098 1982//1982 +f 1651//1651 1778//1778 1777//1777 +f 1488//1488 1414//1414 1975//1975 +f 1694//1694 1143//1143 2067//2067 +f 780//780 767//767 791//791 +f 994//994 1487//1487 992//992 +f 1778//1778 1912//1912 1779//1779 +f 623//623 625//625 1390//1390 +f 1359//1359 1328//1328 85//85 +f 992//992 2095//2095 1658//1658 +f 1852//1852 1856//1856 1858//1858 +f 1506//1506 1508//1508 2001//2001 +f 1824//1824 2116//2116 1825//1825 +f 122//122 2025//2025 2101//2101 +f 2117//2117 2114//2114 2102//2102 +f 307//307 1431//1431 1430//1430 +f 2114//2114 2118//2118 2099//2099 +f 2095//2095 2089//2089 1994//1994 +f 1387//1387 1386//1386 1864//1864 +f 2077//2077 1278//1278 2119//2119 +f 2095//2095 1981//1981 1980//1980 +f 2120//2120 2043//2043 2097//2097 +f 2049//2049 1055//1055 2036//2036 +f 1250//1250 1008//1008 1551//1551 +f 111//111 120//120 307//307 +f 1500//1500 1506//1506 1449//1449 +f 1125//1125 764//764 1363//1363 +f 1982//1982 1849//1849 2028//2028 +f 1865//1865 1974//1974 1866//1866 +f 1995//1995 1994//1994 1865//1865 +f 371//371 2117//2117 2102//2102 +f 1811//1811 1952//1952 853//853 +f 1946//1946 2022//2022 1830//1830 +f 254//254 1511//1511 271//271 +f 1597//1597 1620//1620 1617//1617 +f 1620//1620 1561//1561 1617//1617 +f 2116//2116 1824//1824 1856//1856 +f 2032//2032 2114//2114 2117//2117 +f 1904//1904 2041//2041 2042//2042 +f 1430//1430 1432//1432 2059//2059 +f 1253//1253 765//765 1125//1125 +f 154//154 830//830 152//152 +f 1643//1643 2090//2090 1797//1797 +f 2121//2121 1561//1561 1620//1620 +f 2122//2122 2121//2121 1620//1620 +f 2121//2121 472//472 1561//1561 +f 2101//2101 2024//2024 1864//1864 +f 2028//2028 1860//1860 1952//1952 +f 2028//2028 1889//1889 1860//1860 +f 2077//2077 2119//2119 2123//2123 +f 1399//1399 860//860 1304//1304 +f 1233//1233 51//51 510//510 +f 2036//2036 1054//1054 2037//2037 +f 2077//2077 2123//2123 2124//2124 +f 786//786 2116//2116 1854//1854 +f 477//477 1880//1880 478//478 +f 1620//1620 1624//1624 2122//2122 +f 2122//2122 2125//2125 2121//2121 +f 2121//2121 2125//2125 472//472 +f 1864//1864 2093//2093 1538//1538 +f 1537//1537 205//205 1992//1992 +f 1624//1624 1797//1797 2122//2122 +f 1797//1797 2126//2126 2122//2122 +f 2126//2126 2125//2125 2122//2122 +f 2125//2125 835//835 472//472 +f 860//860 2127//2127 1946//1946 +f 1890//1890 1849//1849 1851//1851 +f 527//527 1955//1955 528//528 +f 1304//1304 860//860 1957//1957 +f 2078//2078 2126//2126 1797//1797 +f 417//417 226//226 835//835 +f 1628//1628 2111//2111 2019//2019 +f 2019//2019 2111//2111 2128//2128 +f 2129//2129 71//71 2096//2096 +f 1054//1054 2036//2036 1055//1055 +f 1372//1372 1389//1389 1390//1390 +f 1830//1830 1528//1528 858//858 +f 1508//1508 1538//1538 1992//1992 +f 2012//2012 1071//1071 1584//1584 +f 1432//1432 786//786 1854//1854 +f 1854//1854 2116//2116 1852//1852 +f 1172//1172 2130//2130 1173//1173 +f 2125//2125 2131//2131 835//835 +f 835//835 2131//2131 417//417 +f 1933//1933 1406//1406 1823//1823 +f 1853//1853 2041//2041 1904//1904 +f 2120//2120 2129//2129 2043//2043 +f 1848//1848 1258//1258 437//437 +f 237//237 967//967 244//244 +f 1338//1338 343//343 657//657 +f 371//371 1236//1236 2117//2117 +f 2129//2129 2096//2096 2076//2076 +f 1853//1853 2049//2049 2041//2041 +f 1172//1172 424//424 1756//1756 +f 1897//1897 2043//2043 2042//2042 +f 62//62 1448//1448 1450//1450 +f 2042//2042 2036//2036 2012//2012 +f 344//344 1284//1284 407//407 +f 205//205 204//204 1485//1485 +f 260//260 262//262 1693//1693 +f 1862//1862 1861//1861 785//785 +f 1919//1919 1844//1844 785//785 +f 1861//1861 1919//1919 785//785 +f 417//417 2132//2132 226//226 +f 226//226 2132//2132 2133//2133 +f 2134//2134 2135//2135 2136//2136 +f 418//418 575//575 576//576 +f 1863//1863 1125//1125 1510//1510 +f 1974//1974 1488//1488 1975//1975 +f 2005//2005 2137//2137 2006//2006 +f 1852//1852 2116//2116 1856//1856 +f 1993//1993 1485//1485 1484//1484 +f 1580//1580 1254//1254 1236//1236 +f 205//205 1485//1485 1993//1993 +f 681//681 680//680 1130//1130 +f 1512//1512 2118//2118 2114//2114 +f 911//911 1539//1539 1455//1455 +f 1849//1849 1890//1890 1889//1889 +f 1253//1253 1863//1863 1254//1254 +f 405//405 1433//1433 679//679 +f 1915//1915 2001//2001 1484//1484 +f 1706//1706 2138//2138 480//480 +f 853//853 1952//1952 2003//2003 +f 71//71 1430//1430 2096//2096 +f 575//575 2131//2131 2125//2125 +f 1462//1462 1472//1472 1392//1392 +f 2132//2132 255//255 2139//2139 +f 2128//2128 2111//2111 1897//1897 +f 2140//2140 2128//2128 1897//1897 +f 2141//2141 2109//2109 1650//1650 +f 1229//1229 520//520 522//522 +f 2022//2022 1946//1946 2127//2127 +f 1859//1859 1953//1953 1888//1888 +f 1487//1487 994//994 1415//1415 +f 2142//2142 2138//2138 1706//1706 +f 2142//2142 2143//2143 2138//2138 +f 2143//2143 2144//2144 2145//2145 +f 2138//2138 2143//2143 2145//2145 +f 1389//1389 1405//1405 1404//1404 +f 556//556 854//854 554//554 +f 1957//1957 860//860 1940//1940 +f 1816//1816 827//827 1447//1447 +f 1811//1811 2100//2100 1952//1952 +f 2146//2146 1947//1947 1966//1966 +f 1865//1865 2109//2109 2108//2108 +f 1484//1484 1486//1486 1915//1915 +f 2001//2001 1993//1993 1484//1484 +f 2147//2147 1536//1536 1538//1538 +f 2129//2129 2076//2076 2043//2043 +f 192//192 1561//1561 472//472 +f 1594//1594 2020//2020 1592//1592 +f 1386//1386 121//121 123//123 +f 2139//2139 2148//2148 2133//2133 +f 2149//2149 1706//1706 2150//2150 +f 2148//2148 2149//2149 2150//2150 +f 2149//2149 2142//2142 1706//1706 +f 528//528 1957//1957 1940//1940 +f 1486//1486 1632//1632 1915//1915 +f 1583//1583 1236//1236 300//300 +f 122//122 2101//2101 123//123 +f 2117//2117 1236//1236 2032//2032 +f 255//255 257//257 2139//2139 +f 257//257 2151//2151 2139//2139 +f 2139//2139 2151//2151 2148//2148 +f 2152//2152 2144//2144 2143//2143 +f 1788//1788 1990//1990 86//86 +f 770//770 992//992 1644//1644 +f 1372//1372 1371//1371 1912//1912 +f 1866//1866 1912//1912 1778//1778 +f 2149//2149 2153//2153 2142//2142 +f 2153//2153 2143//2143 2142//2142 +f 2154//2154 2144//2144 2152//2152 +f 1537//1537 1992//1992 1538//1538 +f 1236//1236 1254//1254 1863//1863 +f 2042//2042 2012//2012 1895//1895 +f 2155//2155 2152//2152 2143//2143 +f 2043//2043 2076//2076 1904//1904 +f 256//256 1665//1665 257//257 +f 1665//1665 2151//2151 257//257 +f 2156//2156 2155//2155 2143//2143 +f 2135//2135 2134//2134 2154//2154 +f 1508//1508 1992//1992 1993//1993 +f 1940//1940 1939//1939 528//528 +f 675//675 1665//1665 256//256 +f 2151//2151 2157//2157 2149//2149 +f 2148//2148 2151//2151 2149//2149 +f 2149//2149 2157//2157 2153//2153 +f 2143//2143 2153//2153 2156//2156 +f 329//329 71//71 2129//2129 +f 2017//2017 1905//1905 2049//2049 +f 2158//2158 2152//2152 2155//2155 +f 1510//1510 1363//1363 1511//1511 +f 329//329 2129//2129 2120//2120 +f 307//307 120//120 1431//1431 +f 1510//1510 1125//1125 1363//1363 +f 1372//1372 1405//1405 1389//1389 +f 2096//2096 2059//2059 2076//2076 +f 1331//1331 1665//1665 675//675 +f 1564//1564 2157//2157 2151//2151 +f 2158//2158 2154//2154 2152//2152 +f 1564//1564 2151//2151 1665//1665 +f 2157//2157 2159//2159 2153//2153 +f 2153//2153 2159//2159 2156//2156 +f 2156//2156 2158//2158 2155//2155 +f 2160//2160 2154//2154 2158//2158 +f 2001//2001 1508//1508 1993//1993 +f 329//329 2120//2120 1628//1628 +f 120//120 331//331 1859//1859 +f 1975//1975 1414//1414 1866//1866 +f 2002//2002 1968//1968 1582//1582 +f 1564//1564 1427//1427 2157//2157 +f 1427//1427 2161//2161 2157//2157 +f 2157//2157 2161//2161 2159//2159 +f 2160//2160 2135//2135 2154//2154 +f 2160//2160 2136//2136 2135//2135 +f 2162//2162 287//287 1291//1291 +f 2041//2041 2049//2049 2036//2036 +f 1252//1252 765//765 1253//1253 +f 1431//1431 1859//1859 1888//1888 +f 575//575 2125//2125 801//801 +f 1811//1811 1742//1742 2100//2100 +f 1825//1825 2116//2116 2163//2163 +f 2042//2042 1895//1895 1897//1897 +f 534//534 898//898 899//899 +f 1844//1844 2163//2163 2116//2116 +f 1564//1564 1428//1428 1427//1427 +f 2164//2164 2158//2158 2156//2156 +f 208//208 325//325 680//680 +f 1136//1136 2165//2165 1463//1463 +f 1777//1777 2030//2030 122//122 +f 2089//2089 1487//1487 1488//1488 +f 1844//1844 2116//2116 786//786 +f 2159//2159 2166//2166 2156//2156 +f 2166//2166 2164//2164 2156//2156 +f 2164//2164 2160//2160 2158//2158 +f 1897//1897 1896//1896 2140//2140 +f 1507//1507 1538//1538 1508//1508 +f 2098//2098 1980//1980 1982//1982 +f 1677//1677 1811//1811 853//853 +f 1673//1673 1742//1742 1811//1811 +f 803//803 749//749 1567//1567 +f 2161//2161 2167//2167 2159//2159 +f 1920//1920 1922//1922 1650//1650 +f 1512//1512 1511//1511 2168//2168 +f 2109//2109 2110//2110 1650//1650 +f 2109//2109 2141//2141 2108//2108 +f 1865//1865 1651//1651 2110//2110 +f 992//992 1487//1487 2089//2089 +f 1449//1449 2001//2001 1915//1915 +f 1890//1890 1851//1851 2044//2044 +f 1911//1911 1372//1372 1912//1912 +f 2123//2123 2119//2119 2169//2169 +f 2020//2020 2128//2128 2140//2140 +f 2095//2095 992//992 2089//2089 +f 2044//2044 1851//1851 2170//2170 +f 2020//2020 2140//2140 2112//2112 +f 528//528 1288//1288 1957//1957 +f 1968//1968 1570//1570 1265//1265 +f 1866//1866 1440//1440 1912//1912 +f 1816//1816 1447//1447 1968//1968 +f 1385//1385 1921//1921 1386//1386 +f 2044//2044 1844//1844 1919//1919 +f 1953//1953 1860//1860 1888//1888 +f 596//596 494//494 597//597 +f 2159//2159 2167//2167 2166//2166 +f 2171//2171 2160//2160 2164//2164 +f 2171//2171 2172//2172 2160//2160 +f 2172//2172 2136//2136 2160//2160 +f 2172//2172 1092//1092 2136//2136 +f 2111//2111 2120//2120 2097//2097 +f 1628//1628 2120//2120 2111//2111 +f 1982//1982 1850//1850 1849//1849 +f 1236//1236 1863//1863 2032//2032 +f 1943//1943 1596//1596 1696//1696 +f 1411//1411 2173//2173 2092//2092 +f 1779//1779 2085//2085 2031//2031 +f 1427//1427 1429//1429 1592//1592 +f 1427//1427 2167//2167 2161//2161 +f 2112//2112 2166//2166 2167//2167 +f 2113//2113 2112//2112 2167//2167 +f 2112//2112 2164//2164 2166//2166 +f 2112//2112 2140//2140 2164//2164 +f 2140//2140 2171//2171 2164//2164 +f 2059//2059 1854//1854 1904//1904 +f 123//123 2101//2101 1864//1864 +f 1868//1868 2051//2051 2067//2067 +f 1510//1510 2114//2114 2032//2032 +f 1644//1644 992//992 1658//1658 +f 1233//1233 510//510 461//461 +f 1427//1427 1592//1592 2167//2167 +f 1896//1896 2172//2172 2171//2171 +f 1981//1981 1995//1995 1850//1850 +f 2019//2019 2128//2128 2020//2020 +f 1510//1510 1512//1512 2114//2114 +f 1130//1130 635//635 1100//1100 +f 1968//1968 1265//1265 1816//1816 +f 2169//2169 2119//2119 2174//2174 +f 2020//2020 2167//2167 1592//1592 +f 2020//2020 2113//2113 2167//2167 +f 2172//2172 1896//1896 1092//1092 +f 1447//1447 1329//1329 1962//1962 +f 931//931 1618//1618 933//933 +f 2023//2023 2031//2031 2173//2173 +f 2140//2140 1896//1896 2171//2171 +f 1946//1946 1830//1830 858//858 +f 1920//1920 1649//1649 121//121 +f 2011//2011 1216//1216 1215//1215 +f 1835//1835 939//939 1717//1717 +f 1453//1453 2057//2057 1454//1454 +f 1728//1728 1715//1715 1789//1789 +f 90//90 2057//2057 91//91 +f 1454//1454 2057//2057 90//90 +f 2175//2175 2057//2057 2063//2063 +f 1842//1842 90//90 2145//2145 +f 2176//2176 90//90 1842//1842 +f 395//395 2177//2177 2178//2178 +f 16//16 506//506 555//555 +f 1830//1830 1554//1554 1528//1528 +f 395//395 1839//1839 2177//2177 +f 1839//1839 2179//2179 2177//2177 +f 241//241 1511//1511 254//254 +f 2179//2179 1839//1839 2180//2180 +f 2181//2181 2168//2168 1511//1511 +f 241//241 2181//2181 1511//1511 +f 2182//2182 2183//2183 2134//2134 +f 2180//2180 1782//1782 1826//1826 +f 2181//2181 2184//2184 2168//2168 +f 2184//2184 2185//2185 2168//2168 +f 463//463 1868//1868 2067//2067 +f 251//251 2186//2186 241//241 +f 241//241 2186//2186 2181//2181 +f 172//172 2187//2187 1232//1232 +f 1365//1365 2188//2188 974//974 +f 1997//1997 1999//1999 2189//2189 +f 2190//2190 1213//1213 966//966 +f 1103//1103 616//616 478//478 +f 1552//1552 2021//2021 1262//1262 +f 1990//1990 1680//1680 1979//1979 +f 2186//2186 2184//2184 2181//2181 +f 1836//1836 1838//1838 1907//1907 +f 1837//1837 1836//1836 1846//1846 +f 1789//1789 2191//2191 1726//1726 +f 2192//2192 2193//2193 2194//2194 +f 2078//2078 2195//2195 801//801 +f 1985//1985 2196//2196 2192//2192 +f 1986//1986 1985//1985 2192//2192 +f 1173//1173 2130//2130 251//251 +f 2130//2130 2197//2197 2186//2186 +f 251//251 2130//2130 2186//2186 +f 2185//2185 2099//2099 2118//2118 +f 1986//1986 2192//2192 2060//2060 +f 1985//1985 1997//1997 2196//2196 +f 2198//2198 1763//1763 2183//2183 +f 2199//2199 2200//2200 2191//2191 +f 2154//2154 2183//2183 2144//2144 +f 394//394 396//396 2081//2081 +f 2197//2197 2201//2201 2186//2186 +f 2186//2186 2201//2201 2184//2184 +f 2201//2201 1473//1473 2185//2185 +f 2184//2184 2201//2201 2185//2185 +f 2021//2021 1552//1552 1831//1831 +f 1554//1554 1831//1831 1552//1552 +f 172//172 1231//1231 2202//2202 +f 1826//1826 868//868 788//788 +f 1410//1410 1409//1409 2203//2203 +f 1962//1962 1964//1964 1447//1447 +f 1857//1857 2017//2017 1858//1858 +f 2185//2185 1473//1473 2099//2099 +f 1473//1473 1472//1472 2099//2099 +f 2179//2179 176//176 1314//1314 +f 2179//2179 2180//2180 176//176 +f 176//176 2180//2180 2204//2204 +f 396//396 2178//2178 2175//2175 +f 396//396 395//395 2178//2178 +f 1724//1724 1726//1726 2205//2205 +f 175//175 493//493 224//224 +f 1450//1450 1915//1915 1916//1916 +f 1789//1789 1761//1761 2191//2191 +f 2177//2177 92//92 91//91 +f 1172//1172 1756//1756 2130//2130 +f 1839//1839 1775//1775 2180//2180 +f 1725//1725 1789//1789 1726//1726 +f 1997//1997 2189//2189 2196//2196 +f 2187//2187 172//172 1169//1169 +f 175//175 2150//2150 1706//1706 +f 175//175 224//224 2150//2150 +f 2180//2180 1775//1775 1782//1782 +f 1756//1756 1755//1755 2130//2130 +f 1755//1755 2197//2197 2130//2130 +f 1958//1958 1161//1161 1321//1321 +f 2176//2176 1454//1454 90//90 +f 1641//1641 213//213 1328//1328 +f 213//213 1641//1641 214//214 +f 2191//2191 2198//2198 2206//2206 +f 2199//2199 2191//2191 2206//2206 +f 2207//2207 2200//2200 2199//2199 +f 224//224 226//226 2133//2133 +f 2208//2208 2207//2207 1806//1806 +f 2208//2208 2200//2200 2207//2207 +f 840//840 2209//2209 1474//1474 +f 2069//2069 1731//1731 2046//2046 +f 2069//2069 2210//2210 1731//1731 +f 1782//1782 1827//1827 1826//1826 +f 2197//2197 2211//2211 2201//2201 +f 1393//1393 1473//1473 2201//2201 +f 2211//2211 1393//1393 2201//2201 +f 1493//1493 1905//1905 1408//1408 +f 172//172 2202//2202 173//173 +f 1615//1615 1855//1855 1662//1662 +f 1390//1390 625//625 1372//1372 +f 1493//1493 1056//1056 1055//1055 +f 2207//2207 1297//1297 1334//1334 +f 1333//1333 2207//2207 1334//1334 +f 2189//2189 1727//1727 2212//2212 +f 1857//1857 1823//1823 1832//1832 +f 174//174 173//173 2213//2213 +f 424//424 1172//1172 1219//1219 +f 2214//2214 2182//2182 2136//2136 +f 2215//2215 1807//1807 1332//1332 +f 1727//1727 2010//2010 1215//1215 +f 1755//1755 1847//1847 2197//2197 +f 2197//2197 1847//1847 2211//2211 +f 801//801 2126//2126 2078//2078 +f 173//173 1807//1807 2215//2215 +f 624//624 1371//1371 625//625 +f 2136//2136 2182//2182 2134//2134 +f 1847//1847 1393//1393 2211//2211 +f 1956//1956 841//841 1475//1475 +f 1727//1727 1215//1215 1728//1728 +f 1371//1371 2086//2086 1912//1912 +f 2175//2175 2178//2178 91//91 +f 1806//1806 1333//1333 1332//1332 +f 2216//2216 966//966 324//324 +f 1701//1701 1232//1232 2210//2210 +f 2057//2057 2175//2175 91//91 +f 1584//1584 1092//1092 1896//1896 +f 1999//1999 2008//2008 2010//2010 +f 868//868 2029//2029 1562//1562 +f 2213//2213 2215//2215 2217//2217 +f 2213//2213 2209//2209 2187//2187 +f 1132//1132 143//143 730//730 +f 1985//1985 2038//2038 1997//1997 +f 2218//2218 1801//1801 2060//2060 +f 1126//1126 324//324 966//966 +f 1743//1743 1766//1766 1491//1491 +f 2219//2219 1641//1641 1695//1695 +f 1701//1701 2210//2210 2069//2069 +f 426//426 1701//1701 2069//2069 +f 1806//1806 2207//2207 1333//1333 +f 255//255 2132//2132 417//417 +f 624//624 2092//2092 1371//1371 +f 1520//1520 1139//1139 1521//1521 +f 2220//2220 2221//2221 2222//2222 +f 2119//2119 1278//1278 2223//2223 +f 1999//1999 1727//1727 2189//2189 +f 426//426 2069//2069 427//427 +f 2224//2224 173//173 2202//2202 +f 974//974 2188//2188 1496//1496 +f 1334//1334 1296//1296 2225//2225 +f 2195//2195 2190//2190 2216//2216 +f 2177//2177 479//479 92//92 +f 424//424 423//423 1755//1755 +f 423//423 1847//1847 1755//1755 +f 1731//1731 2210//2210 2221//2221 +f 471//471 473//473 247//247 +f 2187//2187 2209//2209 2226//2226 +f 1857//1857 1824//1824 1823//1823 +f 177//177 493//493 175//175 +f 1731//1731 2219//2219 1694//1694 +f 2227//2227 1516//1516 1383//1383 +f 1537//1537 1536//1536 2228//2228 +f 2177//2177 1314//1314 479//479 +f 1210//1210 971//971 1083//1083 +f 1278//1278 1370//1370 2223//2223 +f 2173//2173 1411//1411 880//880 +f 2092//2092 2085//2085 1371//1371 +f 2229//2229 2224//2224 2202//2202 +f 2207//2207 2199//2199 1297//1297 +f 2199//2199 1298//1298 1297//1297 +f 1423//1423 2230//2230 879//879 +f 2231//2231 2173//2173 880//880 +f 1678//1678 2232//2232 2214//2214 +f 1715//1715 1762//1762 1761//1761 +f 2196//2196 2189//2189 2229//2229 +f 1461//1461 1685//1685 1884//1884 +f 1083//1083 2233//2233 1210//1210 +f 2233//2233 1208//1208 1210//1210 +f 1916//1916 1632//1632 1634//1634 +f 1496//1496 2230//2230 1423//1423 +f 2230//2230 880//880 879//879 +f 1538//1538 2093//2093 2147//2147 +f 1810//1810 1834//1834 1032//1032 +f 1834//1834 2232//2232 1678//1678 +f 1874//1874 438//438 1767//1767 +f 2219//2219 2220//2220 1641//1641 +f 2234//2234 2187//2187 2226//2226 +f 2233//2233 1365//1365 1208//1208 +f 2230//2230 2231//2231 880//880 +f 2231//2231 2235//2235 2173//2173 +f 2196//2196 2229//2229 2193//2193 +f 1314//1314 176//176 175//175 +f 801//801 323//323 575//575 +f 1083//1083 1555//1555 2233//2233 +f 2233//2233 2236//2236 1365//1365 +f 1365//1365 2236//2236 2188//2188 +f 2188//2188 2237//2237 1496//1496 +f 2237//2237 2238//2238 2230//2230 +f 1496//1496 2237//2237 2230//2230 +f 2230//2230 2238//2238 2231//2231 +f 2238//2238 2239//2239 2231//2231 +f 2239//2239 2240//2240 2231//2231 +f 2240//2240 2235//2235 2231//2231 +f 1641//1641 2222//2222 1642//1642 +f 1369//1369 1521//1521 1370//1370 +f 2221//2221 2234//2234 2222//2222 +f 2218//2218 1701//1701 426//426 +f 2182//2182 2198//2198 2183//2183 +f 1763//1763 1842//1842 2144//2144 +f 1555//1555 2241//2241 2233//2233 +f 2188//2188 2242//2242 2237//2237 +f 2173//2173 2235//2235 2023//2023 +f 128//128 1739//1739 1311//1311 +f 446//446 1526//1526 1893//1893 +f 983//983 51//51 1234//1234 +f 1169//1169 174//174 2187//2187 +f 453//453 75//75 1892//1892 +f 1726//1726 2200//2200 2208//2208 +f 2233//2233 2243//2243 2236//2236 +f 2236//2236 2243//2243 2188//2188 +f 2243//2243 2242//2242 2188//2188 +f 1695//1695 1641//1641 1328//1328 +f 2217//2217 2225//2225 1474//1474 +f 1649//1649 1651//1651 1777//1777 +f 1486//1486 1485//1485 2244//2244 +f 463//463 2067//2067 1143//1143 +f 2237//2237 2245//2245 2238//2238 +f 2240//2240 2246//2246 2235//2235 +f 1411//1411 624//624 1412//1412 +f 1144//1144 1695//1695 1328//1328 +f 1642//1642 2234//2234 1498//1498 +f 2217//2217 1474//1474 2209//2209 +f 1232//1232 2187//2187 2221//2221 +f 1330//1330 1350//1350 2247//2247 +f 2218//2218 1231//1231 1701//1701 +f 2233//2233 2241//2241 2243//2243 +f 2234//2234 2226//2226 1498//1498 +f 2226//2226 2209//2209 1498//1498 +f 2209//2209 2213//2213 2217//2217 +f 2227//2227 2248//2248 1516//1516 +f 1516//1516 2248//2248 1555//1555 +f 1555//1555 2248//2248 2241//2241 +f 2242//2242 2245//2245 2237//2237 +f 2238//2238 2245//2245 2239//2239 +f 2249//2249 2023//2023 2235//2235 +f 1450//1450 1710//1710 62//62 +f 2094//2094 2024//2024 2023//2023 +f 2118//2118 2168//2168 2185//2185 +f 1649//1649 122//122 121//121 +f 1998//1998 1997//1997 2038//2038 +f 2137//2137 2250//2250 2251//2251 +f 1805//1805 1943//1943 1696//1696 +f 2193//2193 2202//2202 1231//1231 +f 177//177 2204//2204 788//788 +f 2248//2248 2252//2252 2241//2241 +f 2241//2241 2253//2253 2243//2243 +f 2253//2253 2242//2242 2243//2243 +f 2254//2254 2246//2246 2240//2240 +f 2179//2179 1314//1314 2177//2177 +f 1233//1233 461//461 463//463 +f 1031//1031 1296//1296 1810//1810 +f 2063//2063 396//396 2175//2175 +f 1383//1383 1394//1394 2227//2227 +f 2255//2255 2256//2256 2245//2245 +f 2245//2245 2256//2256 2239//2239 +f 2256//2256 2240//2240 2239//2239 +f 2246//2246 2257//2257 2235//2235 +f 2257//2257 2249//2249 2235//2235 +f 2249//2249 2094//2094 2023//2023 +f 1805//1805 1213//1213 2190//2190 +f 453//453 1892//1892 1868//1868 +f 2232//2232 2206//2206 2182//2182 +f 1517//1517 1302//1302 1518//1518 +f 2227//2227 2258//2258 2248//2248 +f 2248//2248 2259//2259 2252//2252 +f 2252//2252 2260//2260 2241//2241 +f 2253//2253 2261//2261 2242//2242 +f 2242//2242 2262//2262 2245//2245 +f 343//343 616//616 1104//1104 +f 1234//1234 1989//1989 983//983 +f 2092//2092 624//624 1411//1411 +f 2248//2248 2258//2258 2259//2259 +f 2259//2259 2260//2260 2252//2252 +f 2241//2241 2260//2260 2253//2253 +f 2242//2242 2261//2261 2262//2262 +f 2262//2262 2263//2263 2245//2245 +f 2245//2245 2263//2263 2255//2255 +f 2254//2254 2240//2240 2256//2256 +f 2254//2254 2257//2257 2246//2246 +f 1092//1092 2214//2214 2136//2136 +f 1298//1298 2199//2199 2232//2232 +f 2199//2199 2206//2206 2232//2232 +f 208//208 681//681 209//209 +f 2227//2227 2264//2264 2258//2258 +f 2263//2263 2265//2265 2255//2255 +f 2222//2222 2234//2234 1642//1642 +f 1770//1770 1448//1448 64//64 +f 1944//1944 1943//1943 2078//2078 +f 1530//1530 2266//2266 2227//2227 +f 2259//2259 2258//2258 2264//2264 +f 2267//2267 2255//2255 2265//2265 +f 2267//2267 2268//2268 2256//2256 +f 2255//2255 2267//2267 2256//2256 +f 2268//2268 2269//2269 2254//2254 +f 2256//2256 2268//2268 2254//2254 +f 2254//2254 2269//2269 2257//2257 +f 2257//2257 2270//2270 2249//2249 +f 2270//2270 2094//2094 2249//2249 +f 1296//1296 1834//1834 1810//1810 +f 2225//2225 1296//1296 1549//1549 +f 1259//1259 1848//1848 1855//1855 +f 592//592 456//456 626//626 +f 1938//1938 859//859 858//858 +f 1991//1991 2170//2170 2141//2141 +f 973//973 1555//1555 1083//1083 +f 1773//1773 2084//2084 1774//1774 +f 2094//2094 2271//2271 2093//2093 +f 2260//2260 2272//2272 2253//2253 +f 2261//2261 2273//2273 2262//2262 +f 2269//2269 2274//2274 2257//2257 +f 2274//2274 2270//2270 2257//2257 +f 2094//2094 2270//2270 2271//2271 +f 1521//1521 1983//1983 1370//1370 +f 1805//1805 1224//1224 1213//1213 +f 1789//1789 1715//1715 1761//1761 +f 1474//1474 1549//1549 1542//1542 +f 1922//1922 1991//1991 2141//2141 +f 1459//1459 813//813 632//632 +f 2204//2204 2180//2180 1826//1826 +f 1216//1216 1454//1454 2176//2176 +f 2189//2189 2212//2212 2224//2224 +f 1715//1715 1216//1216 2176//2176 +f 2227//2227 2266//2266 2264//2264 +f 2259//2259 2272//2272 2260//2260 +f 2272//2272 2275//2275 2253//2253 +f 2253//2253 2275//2275 2261//2261 +f 2268//2268 2276//2276 2269//2269 +f 2276//2276 2277//2277 2269//2269 +f 2269//2269 2277//2277 2274//2274 +f 1359//1359 463//463 1144//1144 +f 1234//1234 463//463 1359//1359 +f 1762//1762 2176//2176 1842//1842 +f 1825//1825 2170//2170 1991//1991 +f 2183//2183 2154//2154 2134//2134 +f 1839//1839 1773//1773 1775//1775 +f 2259//2259 2278//2278 2272//2272 +f 2263//2263 2262//2262 2265//2265 +f 1641//1641 2220//2220 2222//2222 +f 2163//2163 2170//2170 1825//1825 +f 2163//2163 2044//2044 2170//2170 +f 2195//2195 2078//2078 1943//1943 +f 569//569 568//568 1161//1161 +f 2278//2278 2279//2279 2272//2272 +f 2272//2272 2273//2273 2275//2275 +f 2273//2273 2261//2261 2275//2275 +f 2273//2273 2280//2280 2262//2262 +f 2277//2277 2281//2281 2274//2274 +f 2281//2281 2270//2270 2274//2274 +f 1549//1549 1296//1296 217//217 +f 1851//1851 2108//2108 2170//2170 +f 2178//2178 2177//2177 91//91 +f 2219//2219 2221//2221 2220//2220 +f 2280//2280 2265//2265 2262//2262 +f 2267//2267 2282//2282 2268//2268 +f 2268//2268 2282//2282 2276//2276 +f 2147//2147 2271//2271 2270//2270 +f 2281//2281 2147//2147 2270//2270 +f 2067//2067 1730//1730 1694//1694 +f 1933//1933 1991//1991 1921//1921 +f 801//801 2195//2195 802//802 +f 53//53 1972//1972 51//51 +f 1874//1874 1103//1103 478//478 +f 2279//2279 2283//2283 2272//2272 +f 2283//2283 2284//2284 2272//2272 +f 2284//2284 2285//2285 2272//2272 +f 2272//2272 2285//2285 2273//2273 +f 2285//2285 2280//2280 2273//2273 +f 1296//1296 1298//1298 1834//1834 +f 1844//1844 2044//2044 2163//2163 +f 1922//1922 2141//2141 1650//1650 +f 1806//1806 1726//1726 2208//2208 +f 437//437 1767//1767 438//438 +f 2264//2264 2286//2286 2259//2259 +f 2259//2259 2286//2286 2278//2278 +f 2276//2276 2287//2287 2277//2277 +f 2277//2277 2287//2287 2281//2281 +f 2288//2288 2278//2278 2286//2286 +f 2278//2278 2288//2288 2279//2279 +f 2285//2285 2289//2289 2280//2280 +f 2289//2289 2290//2290 2265//2265 +f 2280//2280 2289//2289 2265//2265 +f 2290//2290 2267//2267 2265//2265 +f 174//174 2213//2213 2187//2187 +f 1143//1143 1695//1695 1144//1144 +f 1530//1530 2291//2291 2266//2266 +f 2288//2288 2292//2292 2279//2279 +f 2279//2279 2292//2292 2283//2283 +f 2284//2284 2289//2289 2285//2285 +f 2282//2282 2293//2293 2276//2276 +f 2287//2287 2294//2294 2281//2281 +f 2195//2195 1943//1943 1805//1805 +f 1276//1276 1847//1847 423//423 +f 1823//1823 1991//1991 1933//1933 +f 2224//2224 1807//1807 173//173 +f 2204//2204 1826//1826 788//788 +f 1470//1470 1947//1947 1530//1530 +f 1530//1530 1947//1947 2291//2291 +f 2295//2295 2267//2267 2290//2290 +f 2267//2267 2295//2295 2282//2282 +f 2276//2276 2293//2293 2287//2287 +f 2228//2228 2147//2147 2281//2281 +f 1823//1823 1825//1825 1991//1991 +f 2133//2133 2148//2148 2150//2150 +f 2131//2131 575//575 417//417 +f 2291//2291 2296//2296 2266//2266 +f 2296//2296 2264//2264 2266//2266 +f 2292//2292 2297//2297 2283//2283 +f 2284//2284 2297//2297 2289//2289 +f 2287//2287 2298//2298 2294//2294 +f 2228//2228 2281//2281 2294//2294 +f 2229//2229 2189//2189 2224//2224 +f 2216//2216 2190//2190 966//966 +f 1836//1836 1634//1634 1633//1633 +f 1470//1470 1494//1494 1947//1947 +f 2264//2264 2296//2296 2286//2286 +f 2283//2283 2297//2297 2284//2284 +f 2297//2297 2299//2299 2289//2289 +f 2293//2293 2300//2300 2287//2287 +f 2300//2300 2298//2298 2287//2287 +f 2298//2298 2228//2228 2294//2294 +f 2083//2083 2084//2084 1773//1773 +f 2217//2217 2215//2215 2225//2225 +f 2200//2200 1726//1726 2191//2191 +f 2282//2282 2301//2301 2293//2293 +f 1280//1280 1071//1071 1976//1976 +f 1976//1976 1071//1071 2037//2037 +f 2195//2195 1805//1805 2190//2190 +f 2083//2083 1773//1773 394//394 +f 176//176 2204//2204 177//177 +f 2296//2296 2302//2302 2286//2286 +f 2286//2286 2302//2302 2288//2288 +f 2292//2292 2303//2303 2297//2297 +f 2299//2299 2304//2304 2289//2289 +f 2289//2289 2304//2304 2290//2290 +f 2295//2295 2301//2301 2282//2282 +f 2293//2293 2305//2305 2300//2300 +f 1133//1133 1444//1444 1241//1241 +f 2034//2034 1537//1537 2228//2228 +f 2081//2081 2083//2083 394//394 +f 1519//1519 1518//1518 2306//2306 +f 2221//2221 2187//2187 2234//2234 +f 2302//2302 2307//2307 2288//2288 +f 2307//2307 2303//2303 2292//2292 +f 2288//2288 2307//2307 2292//2292 +f 2303//2303 2308//2308 2297//2297 +f 2304//2304 2309//2309 2290//2290 +f 2309//2309 2295//2295 2290//2290 +f 2108//2108 2141//2141 2170//2170 +f 51//51 1233//1233 1234//1234 +f 1678//1678 2214//2214 1092//1092 +f 2297//2297 2310//2310 2299//2299 +f 2301//2301 2305//2305 2293//2293 +f 206//206 2228//2228 2298//2298 +f 206//206 2034//2034 2228//2228 +f 1826//1826 1828//1828 868//868 +f 437//437 1855//1855 1848//1848 +f 2308//2308 2311//2311 2297//2297 +f 2297//2297 2311//2311 2310//2310 +f 2299//2299 2312//2312 2304//2304 +f 2305//2305 2313//2313 2300//2300 +f 2313//2313 2298//2298 2300//2300 +f 1731//1731 2221//2221 2219//2219 +f 1832//1832 1905//1905 1857//1857 +f 1985//1985 1984//1984 2038//2038 +f 2195//2195 2216//2216 802//802 +f 2183//2183 1763//1763 2144//2144 +f 75//75 452//452 76//76 +f 2144//2144 1842//1842 2145//2145 +f 2312//2312 2309//2309 2304//2304 +f 2309//2309 2314//2314 2301//2301 +f 2295//2295 2309//2309 2301//2301 +f 2314//2314 2315//2315 2305//2305 +f 2301//2301 2314//2314 2305//2305 +f 2021//2021 1966//1966 1262//1262 +f 452//452 451//451 76//76 +f 1761//1761 2198//2198 2191//2191 +f 1947//1947 2146//2146 2291//2291 +f 2291//2291 2146//2146 2296//2296 +f 2299//2299 2310//2310 2312//2312 +f 2315//2315 2316//2316 2305//2305 +f 2305//2305 2316//2316 2313//2313 +f 2313//2313 2317//2317 2298//2298 +f 2298//2298 2317//2317 206//206 +f 2060//2060 2194//2194 2218//2218 +f 1332//1332 1334//1334 2225//2225 +f 2210//2210 1232//1232 2221//2221 +f 2147//2147 2228//2228 1536//1536 +f 2308//2308 2318//2318 2311//2311 +f 2312//2312 2319//2319 2309//2309 +f 2316//2316 2317//2317 2313//2313 +f 2198//2198 1761//1761 1763//1763 +f 1245//1245 1329//1329 1246//1246 +f 1965//1965 52//52 983//983 +f 1965//1965 1937//1937 52//52 +f 510//510 1972//1972 1409//1409 +f 233//233 1284//1284 1258//1258 +f 1407//1407 1406//1406 1933//1933 +f 2310//2310 2319//2319 2312//2312 +f 2314//2314 2320//2320 2315//2315 +f 1354//1354 2321//2321 1708//1708 +f 1806//1806 2205//2205 1726//1726 +f 1555//1555 1509//1509 1516//1516 +f 1332//1332 2225//2225 2215//2215 +f 494//494 245//245 597//597 +f 2322//2322 1519//1519 2306//2306 +f 1938//1938 1523//1523 1936//1936 +f 1434//1434 1433//1433 404//404 +f 404//404 2323//2323 1434//1434 +f 1474//1474 2225//2225 1549//1549 +f 2146//2146 2026//2026 2296//2296 +f 2296//2296 2324//2324 2302//2302 +f 2325//2325 2307//2307 2302//2302 +f 2324//2324 2325//2325 2302//2302 +f 2325//2325 2303//2303 2307//2307 +f 2303//2303 2318//2318 2308//2308 +f 2311//2311 2319//2319 2310//2310 +f 2319//2319 2326//2326 2309//2309 +f 2317//2317 204//204 206//206 +f 994//994 993//993 769//769 +f 1868//1868 462//462 453//453 +f 1095//1095 1768//1768 1147//1147 +f 1650//1650 1649//1649 1920//1920 +f 1715//1715 2176//2176 1762//1762 +f 1054//1054 1976//1976 2037//2037 +f 2321//2321 2327//2327 1277//1277 +f 2133//2133 2132//2132 2139//2139 +f 2296//2296 2026//2026 2324//2324 +f 2326//2326 2320//2320 2314//2314 +f 2309//2309 2326//2326 2314//2314 +f 2320//2320 2328//2328 2315//2315 +f 2315//2315 2328//2328 2316//2316 +f 2316//2316 2329//2329 2317//2317 +f 1873//1873 478//478 1880//1880 +f 2212//2212 2205//2205 2224//2224 +f 1268//1268 1696//1696 1582//1582 +f 1801//1801 2218//2218 426//426 +f 2330//2330 1410//1410 2203//2203 +f 1410//1410 2330//2330 451//451 +f 2327//2327 1278//1278 1277//1277 +f 1433//1433 405//405 404//404 +f 1434//1434 2323//2323 614//614 +f 1999//1999 1998//1998 2008//2008 +f 1227//1227 962//962 1520//1520 +f 2331//2331 2303//2303 2325//2325 +f 2331//2331 2318//2318 2303//2303 +f 2311//2311 2318//2318 2319//2319 +f 2318//2318 2332//2332 2319//2319 +f 2319//2319 2332//2332 2326//2326 +f 2329//2329 204//204 2317//2317 +f 2205//2205 1806//1806 2224//2224 +f 1728//1728 1217//1217 1715//1715 +f 1493//1493 1055//1055 1905//1905 +f 614//614 2323//2323 1962//1962 +f 1215//1215 1217//1217 1728//1728 +f 74//74 1754//1754 75//75 +f 2333//2333 1237//1237 1366//1366 +f 2092//2092 2173//2173 2031//2031 +f 1874//1874 1767//1767 1103//1103 +f 2326//2326 2334//2334 2320//2320 +f 2320//2320 2334//2334 2328//2328 +f 2206//2206 2198//2198 2182//2182 +f 1694//1694 2219//2219 1695//1695 +f 2232//2232 2182//2182 2214//2214 +f 436//436 1855//1855 437//437 +f 2335//2335 2336//2336 2337//2337 +f 1963//1963 2323//2323 404//404 +f 2146//2146 1966//1966 2026//2026 +f 2331//2331 2338//2338 2318//2318 +f 2338//2338 2332//2332 2318//2318 +f 2326//2326 2339//2339 2334//2334 +f 2340//2340 204//204 2329//2329 +f 2192//2192 2194//2194 2060//2060 +f 75//75 1754//1754 1753//1753 +f 1727//1727 2205//2205 2212//2212 +f 680//680 633//633 635//635 +f 2341//2341 1963//1963 404//404 +f 1963//1963 1962//1962 2323//2323 +f 1329//1329 1245//1245 1962//1962 +f 2332//2332 2339//2339 2326//2326 +f 2340//2340 2244//2244 204//204 +f 2244//2244 1485//1485 204//204 +f 2194//2194 2193//2193 1231//1231 +f 394//394 1839//1839 395//395 +f 221//221 1774//1774 2084//2084 +f 2194//2194 1231//1231 2218//2218 +f 2342//2342 2343//2343 278//278 +f 1872//1872 2338//2338 2331//2331 +f 2334//2334 2344//2344 2328//2328 +f 2316//2316 2340//2340 2329//2329 +f 2229//2229 2202//2202 2193//2193 +f 1727//1727 1724//1724 2205//2205 +f 1298//1298 2232//2232 1834//1834 +f 1642//1642 1498//1498 1497//1497 +f 1469//1469 892//892 1262//1262 +f 1727//1727 1729//1729 1724//1724 +f 2345//2345 2325//2325 2324//2324 +f 2345//2345 2331//2331 2325//2325 +f 2332//2332 2346//2346 2339//2339 +f 2346//2346 2334//2334 2339//2339 +f 2328//2328 2344//2344 2316//2316 +f 2316//2316 2344//2344 2340//2340 +f 2127//2127 860//860 1399//1399 +f 1798//1798 577//577 2347//2347 +f 1458//1458 1393//1393 1847//1847 +f 1458//1458 1391//1391 1393//1393 +f 1814//1814 1829//1829 1752//1752 +f 236//236 403//403 631//631 +f 2341//2341 404//404 403//403 +f 2026//2026 2127//2127 2324//2324 +f 2345//2345 1872//1872 2331//2331 +f 2346//2346 2332//2332 2338//2338 +f 2045//2045 2069//2069 2046//2046 +f 173//173 2215//2215 2213//2213 +f 1103//1103 1767//1767 1104//1104 +f 452//452 75//75 453//453 +f 1481//1481 1483//1483 1587//1587 +f 1964//1964 1963//1963 2341//2341 +f 1523//1523 1938//1938 858//858 +f 2026//2026 2022//2022 2127//2127 +f 1399//1399 2324//2324 2127//2127 +f 1399//1399 2345//2345 2324//2324 +f 2346//2346 2348//2348 2334//2334 +f 2349//2349 2344//2344 2334//2334 +f 2348//2348 2349//2349 2334//2334 +f 2349//2349 2350//2350 2344//2344 +f 2350//2350 2340//2340 2344//2344 +f 2340//2340 2350//2350 2244//2244 +f 1724//1724 1729//1729 1725//1725 +f 2192//2192 2196//2196 2193//2193 +f 2343//2343 1481//1481 1587//1587 +f 1587//1587 278//278 2343//2343 +f 1678//1678 1070//1070 1032//1032 +f 2021//2021 2022//2022 2026//2026 +f 1872//1872 2346//2346 2338//2338 +f 554//554 509//509 16//16 +f 2271//2271 2147//2147 2093//2093 +f 1769//1769 1054//1054 1056//1056 +f 152//152 1869//1869 1609//1609 +f 224//224 2133//2133 2150//2150 +f 1399//1399 1185//1185 2345//2345 +f 1184//1184 1872//1872 2345//2345 +f 1871//1871 2346//2346 1872//1872 +f 1871//1871 1906//1906 2346//2346 +f 1838//1838 2346//2346 1906//1906 +f 1838//1838 2348//2348 2346//2346 +f 479//479 480//480 2138//2138 +f 1769//1769 1976//1976 1054//1054 +f 1651//1651 1650//1650 2110//2110 +f 1621//1621 403//403 236//236 +f 1621//1621 2341//2341 403//403 +f 2351//2351 1491//1491 1766//1766 +f 2352//2352 1687//1687 1733//1733 +f 1185//1185 1184//1184 2345//2345 +f 86//86 85//85 1788//1788 +f 1234//1234 1359//1359 1978//1978 +f 1838//1838 1837//1837 2348//2348 +f 1837//1837 2349//2349 2348//2348 +f 2350//2350 1633//1633 2244//2244 +f 1633//1633 1486//1486 2244//2244 +f 1321//1321 1977//1977 1958//1958 +f 90//90 2138//2138 2145//2145 +f 90//90 92//92 2138//2138 +f 1238//1238 588//588 818//818 +f 1998//1998 2038//2038 2014//2014 +f 1302//1302 2040//2040 1518//1518 +f 237//237 631//631 1006//1006 +f 237//237 236//236 631//631 +f 235//235 1621//1621 236//236 +f 1270//1270 2341//2341 1621//1621 +f 1270//1270 1269//1269 1964//1964 +f 2341//2341 1270//1270 1964//1964 +f 2011//2011 1215//1215 2010//2010 +f 2224//2224 1806//1806 1807//1807 +f 1846//1846 2349//2349 1837//1837 +f 324//324 802//802 2216//2216 +f 92//92 479//479 2138//2138 +f 1498//1498 2209//2209 840//840 +f 1840//1840 1533//1533 1809//1809 +f 2174//2174 2119//2119 2223//2223 +f 1406//1406 1832//1832 1823//1823 +f 801//801 2125//2125 2126//2126 +f 1846//1846 2350//2350 2349//2349 +f 2350//2350 1846//1846 1633//1633 +f 1633//1633 1632//1632 1486//1486 +f 1999//1999 2010//2010 1727//1727 +f 64//64 1976//1976 1769//1769 +f 2353//2353 2354//2354 2355//2355 +f 2354//2354 2356//2356 2355//2355 +f 2357//2357 2358//2358 2356//2356 +f 2354//2354 2357//2357 2356//2356 +f 2165//2165 1136//1136 2359//2359 +f 2360//2360 2361//2361 2336//2336 +f 2362//2362 990//990 2363//2363 +f 2364//2364 2365//2365 2366//2366 +f 268//268 2367//2367 269//269 +f 2368//2368 2369//2369 2370//2370 +f 2361//2361 2371//2371 2372//2372 +f 2367//2367 2373//2373 507//507 +f 2250//2250 2372//2372 2368//2368 +f 2374//2374 2000//2000 1369//1369 +f 2375//2375 1301//1301 1300//1300 +f 2322//2322 2376//2376 1519//1519 +f 2364//2364 2377//2377 2365//2365 +f 2378//2378 2355//2355 2356//2356 +f 1495//1495 2379//2379 2380//2380 +f 2365//2365 2377//2377 2366//2366 +f 744//744 1880//1880 477//477 +f 2377//2377 2381//2381 2366//2366 +f 2353//2353 2355//2355 2382//2382 +f 1802//1802 287//287 2162//2162 +f 477//477 28//28 743//743 +f 1684//1684 1792//1792 2383//2383 +f 365//365 1446//1446 464//464 +f 1380//1380 1241//1241 1444//1444 +f 1019//1019 2333//2333 2373//2373 +f 569//569 1893//1893 27//27 +f 2362//2362 2363//2363 2374//2374 +f 1160//1160 446//446 1893//1893 +f 569//569 1160//1160 1893//1893 +f 1534//1534 1533//1533 2384//2384 +f 2385//2385 1218//1218 1219//1219 +f 2385//2385 1898//1898 1218//1218 +f 1898//1898 2377//2377 2364//2364 +f 1551//1551 1008//1008 1020//1020 +f 1767//1767 344//344 1104//1104 +f 1495//1495 949//949 2379//2379 +f 2381//2381 2354//2354 2353//2353 +f 424//424 1218//1218 425//425 +f 2386//2386 2387//2387 1517//1517 +f 2378//2378 2356//2356 2388//2388 +f 2105//2105 2335//2335 2337//2337 +f 2360//2360 2371//2371 2361//2361 +f 2355//2355 2389//2389 2382//2382 +f 949//949 1299//1299 950//950 +f 2355//2355 2378//2378 2389//2389 +f 2380//2380 2379//2379 2358//2358 +f 2368//2368 2370//2370 2251//2251 +f 1987//1987 2390//2390 2391//2391 +f 390//390 2392//2392 1682//1682 +f 1218//1218 1900//1900 2103//2103 +f 2359//2359 1136//1136 1230//1230 +f 989//989 535//535 536//536 +f 137//137 1330//1330 160//160 +f 324//324 1126//1126 325//325 +f 1282//1282 843//843 845//845 +f 418//418 256//256 255//255 +f 1330//1330 2247//2247 1197//1197 +f 2393//2393 2357//2357 2354//2354 +f 2393//2393 1463//1463 2357//2357 +f 2357//2357 1463//1463 2165//2165 +f 2394//2394 2165//2165 2359//2359 +f 2357//2357 2165//2165 2394//2394 +f 2370//2370 1950//1950 2251//2251 +f 949//949 948//948 2379//2379 +f 2366//2366 2381//2381 2353//2353 +f 2335//2335 2395//2395 2336//2336 +f 2396//2396 77//77 1197//1197 +f 2397//2397 2385//2385 1219//1219 +f 2385//2385 2398//2398 1898//1898 +f 2398//2398 2377//2377 1898//1898 +f 2389//2389 2378//2378 2399//2399 +f 2398//2398 2400//2400 2377//2377 +f 2400//2400 2381//2381 2377//2377 +f 2104//2104 1900//1900 1899//1899 +f 1330//1330 1197//1197 160//160 +f 2247//2247 2396//2396 1197//1197 +f 77//77 2396//2396 2401//2401 +f 1465//1465 2354//2354 2381//2381 +f 1465//1465 2393//2393 2354//2354 +f 1218//1218 2103//2103 712//712 +f 1240//1240 1237//1237 2333//2333 +f 2123//2123 2169//2169 2402//2402 +f 2006//2006 2137//2137 2251//2251 +f 1019//1019 1240//1240 2333//2333 +f 949//949 1495//1495 1306//1306 +f 2107//2107 1300//1300 2386//2386 +f 2247//2247 1350//1350 2396//2396 +f 1666//1666 1346//1346 2403//2403 +f 2005//2005 2336//2336 2137//2137 +f 2004//2004 1903//1903 2005//2005 +f 2404//2404 1903//1903 2004//2004 +f 1533//1533 1901//1901 2384//2384 +f 2061//2061 284//284 2047//2047 +f 1350//1350 1987//1987 2396//2396 +f 2396//2396 1987//1987 2391//2391 +f 2391//2391 2405//2405 2396//2396 +f 2396//2396 2405//2405 2401//2401 +f 2359//2359 2380//2380 2394//2394 +f 1901//1901 2404//2404 2384//2384 +f 2107//2107 2386//2386 2106//2106 +f 2406//2406 1902//1902 2407//2407 +f 2405//2405 2408//2408 2401//2401 +f 2401//2401 2408//2408 2403//2403 +f 1464//1464 2381//2381 2400//2400 +f 1464//1464 1465//1465 2381//2381 +f 1140//1140 1139//1139 1147//1147 +f 2106//2106 2386//2386 2409//2409 +f 2106//2106 2409//2409 1534//1534 +f 2251//2251 2375//2375 2107//2107 +f 1384//1384 2407//2407 1471//1471 +f 2407//2407 1840//1840 1471//1471 +f 2408//2408 2410//2410 2403//2403 +f 2403//2403 2410//2410 1666//1666 +f 1900//1900 2104//2104 2103//2103 +f 35//35 1257//1257 33//33 +f 2409//2409 1517//1517 2411//2411 +f 1798//1798 2412//2412 1813//1813 +f 2410//2410 2413//2413 1666//1666 +f 2103//2103 2337//2337 1902//1902 +f 2373//2373 2333//2333 1368//1368 +f 2333//2333 1366//1366 1368//1368 +f 2409//2409 2386//2386 1517//1517 +f 2376//2376 1532//1532 2411//2411 +f 988//988 1239//1239 989//989 +f 2405//2405 2414//2414 2408//2408 +f 2408//2408 2414//2414 2410//2410 +f 2415//2415 333//333 332//332 +f 2386//2386 1300//1300 2387//2387 +f 1950//1950 1353//1353 2375//2375 +f 1845//1845 2413//2413 2410//2410 +f 1758//1758 1765//1765 1845//1845 +f 2337//2337 2103//2103 2105//2105 +f 1570//1570 816//816 1265//1265 +f 1520//1520 2000//2000 1227//1227 +f 2391//2391 2390//2390 2405//2405 +f 576//576 323//323 325//325 +f 2373//2373 1368//1368 2416//2416 +f 1305//1305 1219//1219 1172//1172 +f 760//760 1577//1577 694//694 +f 728//728 760//760 694//694 +f 113//113 1548//1548 25//25 +f 1758//1758 1766//1766 1747//1747 +f 1548//1548 80//80 25//25 +f 1809//1809 893//893 2417//2417 +f 2363//2363 536//536 1225//1225 +f 1301//1301 1353//1353 1707//1707 +f 2390//2390 2418//2418 2405//2405 +f 2418//2418 2414//2414 2405//2405 +f 2414//2414 2419//2419 2410//2410 +f 2420//2420 1845//1845 2410//2410 +f 2420//2420 1758//1758 1845//1845 +f 2399//2399 2421//2421 1948//1948 +f 1305//1305 2397//2397 1219//1219 +f 2421//2421 1949//1949 1948//1948 +f 1746//1746 1780//1780 1790//1790 +f 1440//1440 1413//1413 184//184 +f 1445//1445 365//365 367//367 +f 893//893 2376//2376 2322//2322 +f 332//332 334//334 1353//1353 +f 2410//2410 2419//2419 2420//2420 +f 2373//2373 2416//2416 507//507 +f 984//984 356//356 267//267 +f 1014//1014 263//263 230//230 +f 1480//1480 1014//1014 230//230 +f 2411//2411 1517//1517 1519//1519 +f 2376//2376 2411//2411 1519//1519 +f 2422//2422 2370//2370 2369//2369 +f 1301//1301 1707//1707 1302//1302 +f 2417//2417 893//893 892//892 +f 1822//1822 2390//2390 1942//1942 +f 1480//1480 1015//1015 1014//1014 +f 795//795 1666//1666 2413//2413 +f 2403//2403 1346//1346 2401//2401 +f 893//893 1809//1809 2376//2376 +f 2417//2417 892//892 1469//1469 +f 2423//2423 2414//2414 2418//2418 +f 2423//2423 2419//2419 2414//2414 +f 2420//2420 1766//1766 1758//1758 +f 1346//1346 77//77 2401//2401 +f 2424//2424 2400//2400 2398//2398 +f 2424//2424 1499//1499 2400//2400 +f 2395//2395 2360//2360 2336//2336 +f 1463//1463 1076//1076 1136//1136 +f 1684//1684 1349//1349 1348//1348 +f 1546//1546 1829//1829 1547//1547 +f 2419//2419 2351//2351 2420//2420 +f 2420//2420 2351//2351 1766//1766 +f 245//245 648//648 246//246 +f 334//334 2425//2425 1354//1354 +f 2375//2375 1300//1300 2107//2107 +f 1499//1499 1464//1464 2400//2400 +f 295//295 947//947 649//649 +f 1009//1009 1271//1271 114//114 +f 283//283 282//282 1009//1009 +f 1271//1271 2426//2426 1489//1489 +f 1548//1548 1829//1829 1546//1546 +f 1353//1353 1354//1354 1707//1707 +f 989//989 536//536 2363//2363 +f 2162//2162 2418//2418 2390//2390 +f 2162//2162 2423//2423 2418//2418 +f 2061//2061 2427//2427 284//284 +f 2425//2425 2327//2327 1354//1354 +f 1109//1109 1645//1645 1281//1281 +f 282//282 2426//2426 1009//1009 +f 113//113 1489//1489 1548//1548 +f 1950//1950 332//332 1353//1353 +f 2162//2162 2390//2390 1822//1822 +f 990//990 989//989 2363//2363 +f 1436//1436 2393//2393 1465//1465 +f 1436//1436 1463//1463 2393//2393 +f 1489//1489 2428//2428 1548//1548 +f 2428//2428 1829//1829 1548//1548 +f 1226//1226 1225//1225 169//169 +f 1291//1291 2423//2423 2162//2162 +f 2419//2419 1843//1843 2351//2351 +f 1843//1843 1491//1491 2351//2351 +f 2379//2379 2362//2362 2358//2358 +f 2372//2372 2371//2371 2369//2369 +f 1436//1436 1464//1464 1437//1437 +f 284//284 2429//2429 282//282 +f 2430//2430 2431//2431 282//282 +f 282//282 2431//2431 2426//2426 +f 1235//1235 495//495 1562//1562 +f 1732//1732 1608//1608 1607//1607 +f 1802//1802 2162//2162 1822//1822 +f 2432//2432 2419//2419 2423//2423 +f 2419//2419 2432//2432 1843//1843 +f 2362//2362 2374//2374 2358//2358 +f 2421//2421 2378//2378 2388//2388 +f 2336//2336 2361//2361 2137//2137 +f 2427//2427 2429//2429 284//284 +f 2429//2429 2430//2430 282//282 +f 2367//2367 507//507 269//269 +f 1133//1133 2407//2407 1444//1444 +f 1869//1869 1662//1662 436//436 +f 2432//2432 2423//2423 1291//1291 +f 2250//2250 2368//2368 2251//2251 +f 2433//2433 2389//2389 2399//2399 +f 2431//2431 2434//2434 2426//2426 +f 2337//2337 2336//2336 1903//1903 +f 229//229 200//200 1843//1843 +f 1801//1801 428//428 2427//2427 +f 2426//2426 2435//2435 1489//1489 +f 2435//2435 2436//2436 1489//1489 +f 1489//1489 2436//2436 2428//2428 +f 1512//1512 2168//2168 2118//2118 +f 1020//1020 2373//2373 2367//2367 +f 268//268 1020//1020 2367//2367 +f 2347//2347 577//577 579//579 +f 2437//2437 2432//2432 1291//1291 +f 2432//2432 229//229 1843//1843 +f 1803//1803 1796//1796 1798//1798 +f 74//74 579//579 1754//1754 +f 428//428 2438//2438 2427//2427 +f 2438//2438 2439//2439 2427//2427 +f 2427//2427 2439//2439 2429//2429 +f 2429//2429 2431//2431 2430//2430 +f 2431//2431 2440//2440 2434//2434 +f 2436//2436 2441//2441 2428//2428 +f 2441//2441 1829//1829 2428//2428 +f 2441//2441 1752//1752 1829//1829 +f 1682//1682 2442//2442 2068//2068 +f 107//107 1460//1460 1263//1263 +f 2330//2330 2443//2443 74//74 +f 76//76 2330//2330 74//74 +f 2429//2429 2439//2439 2431//2431 +f 2439//2439 2444//2444 2431//2431 +f 2431//2431 2444//2444 2440//2440 +f 1840//1840 1809//1809 1841//1841 +f 2384//2384 2404//2404 2106//2106 +f 1005//1005 2437//2437 1291//1291 +f 2437//2437 1480//1480 2432//2432 +f 2432//2432 1480//1480 229//229 +f 1374//1374 1317//1317 1316//1316 +f 74//74 2443//2443 579//579 +f 1367//1367 1499//1499 2424//2424 +f 2440//2440 2435//2435 2426//2426 +f 2434//2434 2440//2440 2426//2426 +f 1471//1471 2417//2417 1469//1469 +f 2106//2106 2404//2404 2004//2004 +f 1798//1798 1783//1783 577//577 +f 1034//1034 2437//2437 1005//1005 +f 1480//1480 230//230 229//229 +f 2389//2389 2371//2371 2360//2360 +f 2203//2203 2443//2443 2330//2330 +f 2438//2438 2445//2445 2439//2439 +f 2446//2446 2444//2444 2439//2439 +f 2444//2444 2447//2447 2440//2440 +f 2435//2435 2448//2448 2436//2436 +f 2436//2436 2448//2448 2441//2441 +f 2363//2363 1225//1225 2000//2000 +f 2387//2387 1300//1300 1302//1302 +f 1302//1302 1707//1707 2040//2040 +f 1034//1034 1480//1480 2437//2437 +f 2433//2433 2369//2369 2371//2371 +f 2433//2433 2422//2422 2369//2369 +f 2203//2203 2449//2449 2443//2443 +f 1177//1177 1178//1178 1459//1459 +f 1235//1235 1161//1161 568//568 +f 2445//2445 2446//2446 2439//2439 +f 2447//2447 2450//2450 2440//2440 +f 2448//2448 2451//2451 2441//2441 +f 2452//2452 1752//1752 2441//2441 +f 2451//2451 2452//2452 2441//2441 +f 1752//1752 2452//2452 1445//1445 +f 1790//1790 1684//1684 1625//1625 +f 578//578 577//577 1783//1783 +f 1033//1033 1034//1034 1005//1005 +f 1230//1230 1206//1206 2359//2359 +f 1225//1225 536//536 169//169 +f 2389//2389 2433//2433 2371//2371 +f 1020//1020 1019//1019 2373//2373 +f 2453//2453 579//579 2443//2443 +f 2449//2449 2453//2453 2443//2443 +f 2453//2453 2347//2347 579//579 +f 1436//1436 1077//1077 1463//1463 +f 2435//2435 2454//2454 2448//2448 +f 2382//2382 2389//2389 2455//2455 +f 278//278 1813//1813 2342//2342 +f 427//427 2438//2438 428//428 +f 2446//2446 2447//2447 2444//2444 +f 2440//2440 2450//2450 2454//2454 +f 2440//2440 2454//2454 2435//2435 +f 1149//1149 1367//1367 583//583 +f 1354//1354 2327//2327 2321//2321 +f 2107//2107 2004//2004 2006//2006 +f 2068//2068 2442//2442 2438//2438 +f 427//427 2068//2068 2438//2438 +f 2438//2438 2442//2442 2445//2445 +f 2452//2452 1446//1446 1445//1445 +f 1905//1905 2017//2017 1857//1857 +f 1662//1662 1661//1661 1615//1615 +f 2416//2416 2398//2398 2385//2385 +f 2416//2416 2424//2424 2398//2398 +f 1972//1972 2456//2456 1409//1409 +f 2457//2457 2203//2203 1409//1409 +f 2456//2456 2457//2457 1409//1409 +f 2457//2457 2449//2449 2203//2203 +f 2412//2412 2347//2347 2453//2453 +f 2347//2347 2412//2412 1798//1798 +f 40//40 41//41 2091//2091 +f 2445//2445 2442//2442 1682//1682 +f 2446//2446 2458//2458 2447//2447 +f 2459//2459 2452//2452 2451//2451 +f 2459//2459 1446//1446 2452//2452 +f 1349//1349 1094//1094 1347//1347 +f 2460//2460 2453//2453 2449//2449 +f 1682//1682 2392//2392 2445//2445 +f 2461//2461 2458//2458 2446//2446 +f 2458//2458 2462//2462 2447//2447 +f 2447//2447 2462//2462 2450//2450 +f 2448//2448 2459//2459 2451//2451 +f 1534//1534 2384//2384 2106//2106 +f 2399//2399 2378//2378 2421//2421 +f 2357//2357 2394//2394 2358//2358 +f 1899//1899 1898//1898 2364//2364 +f 2460//2460 2412//2412 2453//2453 +f 2399//2399 2422//2422 2433//2433 +f 1987//1987 1942//1942 2390//2390 +f 1594//1594 1628//1628 2019//2019 +f 2445//2445 2461//2461 2446//2446 +f 2463//2463 2450//2450 2462//2462 +f 2450//2450 2463//2463 2454//2454 +f 2464//2464 2459//2459 2448//2448 +f 2361//2361 2372//2372 2250//2250 +f 2137//2137 2361//2361 2250//2250 +f 1541//1541 1020//1020 268//268 +f 2463//2463 2464//2464 2454//2454 +f 2454//2454 2464//2464 2448//2448 +f 1366//1366 1237//1237 582//582 +f 53//53 2456//2456 1972//1972 +f 2392//2392 2461//2461 2445//2445 +f 2091//2091 283//283 40//40 +f 2455//2455 2389//2389 2360//2360 +f 1305//1305 508//508 2397//2397 +f 508//508 2385//2385 2397//2397 +f 591//591 590//590 1704//1704 +f 2465//2465 2457//2457 2456//2456 +f 2466//2466 2449//2449 2457//2457 +f 2466//2466 2460//2460 2449//2449 +f 508//508 2416//2416 2385//2385 +f 1366//1366 582//582 1367//1367 +f 76//76 451//451 2330//2330 +f 1687//1687 2462//2462 2458//2458 +f 1687//1687 2463//2463 2462//2462 +f 1306//1306 1299//1299 949//949 +f 2387//2387 1302//1302 1517//1517 +f 249//249 560//560 547//547 +f 1687//1687 2352//2352 2463//2463 +f 2352//2352 2464//2464 2463//2463 +f 2467//2467 2468//2468 2459//2459 +f 2459//2459 2468//2468 1446//1446 +f 1149//1149 1499//1499 1367//1367 +f 2465//2465 2456//2456 53//53 +f 830//830 1615//1615 1661//1661 +f 2464//2464 2467//2467 2459//2459 +f 333//333 2425//2425 334//334 +f 1227//1227 2000//2000 1225//1225 +f 1966//1966 1947//1947 1469//1469 +f 52//52 2469//2469 53//53 +f 2469//2469 2465//2465 53//53 +f 2412//2412 2460//2460 1813//1813 +f 2460//2460 2342//2342 1813//1813 +f 1481//1481 2343//2343 1780//1780 +f 401//401 400//400 414//414 +f 162//162 164//164 151//151 +f 1948//1948 1950//1950 2370//2370 +f 1523//1523 2470//2470 1937//1937 +f 2470//2470 2469//2469 1937//1937 +f 1937//1937 2469//2469 52//52 +f 2342//2342 1792//1792 1780//1780 +f 1780//1780 1792//1792 1790//1790 +f 2467//2467 2464//2464 2352//2352 +f 2468//2468 464//464 1446//1446 +f 1902//1902 2337//2337 1903//1903 +f 2107//2107 2006//2006 2251//2251 +f 1524//1524 2471//2471 1523//1523 +f 2471//2471 2470//2470 1523//1523 +f 2471//2471 2472//2472 2470//2470 +f 2472//2472 2469//2469 2470//2470 +f 2473//2473 2457//2457 2465//2465 +f 2473//2473 2466//2466 2457//2457 +f 2460//2460 2474//2474 2342//2342 +f 743//743 27//27 1893//1893 +f 1534//1534 2409//2409 2411//2411 +f 2469//2469 2475//2475 2465//2465 +f 2475//2475 2476//2476 2465//2465 +f 2473//2473 2477//2477 2466//2466 +f 2466//2466 2478//2478 2460//2460 +f 2478//2478 2474//2474 2460//2460 +f 2474//2474 1792//1792 2342//2342 +f 1733//1733 1737//1737 2352//2352 +f 1737//1737 2467//2467 2352//2352 +f 496//496 464//464 2468//2468 +f 2472//2472 2475//2475 2469//2469 +f 2467//2467 2479//2479 2468//2468 +f 2479//2479 496//496 2468//2468 +f 1218//1218 1898//1898 1900//1900 +f 1528//1528 1553//1553 1524//1524 +f 1553//1553 2471//2471 1524//1524 +f 2471//2471 2480//2480 2472//2472 +f 2465//2465 2481//2481 2473//2473 +f 2474//2474 2383//2383 1792//1792 +f 1008//1008 1063//1063 1019//1019 +f 1532//1532 1534//1534 2411//2411 +f 1554//1554 1553//1553 1528//1528 +f 2482//2482 2465//2465 2476//2476 +f 2482//2482 2481//2481 2465//2465 +f 2483//2483 2473//2473 2481//2481 +f 2477//2477 2223//2223 2466//2466 +f 2223//2223 2478//2478 2466//2466 +f 2478//2478 2484//2484 2474//2474 +f 2383//2383 1349//1349 1684//1684 +f 2483//2483 2481//2481 2482//2482 +f 2485//2485 2383//2383 2474//2474 +f 2426//2426 1271//1271 1009//1009 +f 1607//1607 2467//2467 1737//1737 +f 1809//1809 1532//1532 2376//2376 +f 2486//2486 2480//2480 2471//2471 +f 2475//2475 2472//2472 2480//2480 +f 2487//2487 2475//2475 2480//2480 +f 2485//2485 1349//1349 2383//2383 +f 507//507 2416//2416 508//508 +f 1607//1607 2479//2479 2467//2467 +f 1841//1841 1809//1809 2417//2417 +f 2251//2251 1950//1950 2375//2375 +f 2379//2379 948//948 2362//2362 +f 2488//2488 2480//2480 2486//2486 +f 2488//2488 2489//2489 2480//2480 +f 2489//2489 2487//2487 2480//2480 +f 2484//2484 2485//2485 2474//2474 +f 2485//2485 1352//1352 1349//1349 +f 859//859 1940//1940 860//860 +f 40//40 1009//1009 114//114 +f 2479//2479 2490//2490 496//496 +f 496//496 1128//1128 465//465 +f 2380//2380 2359//2359 1495//1495 +f 1368//1368 1367//1367 2424//2424 +f 2486//2486 2471//2471 1553//1553 +f 1141//1141 2485//2485 2484//2484 +f 436//436 1662//1662 1855//1855 +f 2427//2427 2061//2061 1801//1801 +f 1607//1607 2490//2490 2479//2479 +f 2490//2490 1128//1128 496//496 +f 465//465 593//593 550//550 +f 2491//2491 2488//2488 2486//2486 +f 2491//2491 2492//2492 2488//2488 +f 2492//2492 2493//2493 2488//2488 +f 2493//2493 2489//2489 2488//2488 +f 2124//2124 2476//2476 2475//2475 +f 2413//2413 1845//1845 795//795 +f 2359//2359 1206//1206 1495//1495 +f 1607//1607 456//456 2490//2490 +f 456//456 1128//1128 2490//2490 +f 1841//1841 2417//2417 1471//1471 +f 1901//1901 1533//1533 1840//1840 +f 894//894 2486//2486 1553//1553 +f 1140//1140 1352//1352 2485//2485 +f 2407//2407 1902//1902 1840//1840 +f 2394//2394 2380//2380 2358//2358 +f 1133//1133 712//712 2407//2407 +f 2343//2343 2342//2342 1780//1780 +f 2494//2494 2486//2486 894//894 +f 2494//2494 2491//2491 2486//2486 +f 2124//2124 2482//2482 2476//2476 +f 2482//2482 2495//2495 2483//2483 +f 2496//2496 2478//2478 2223//2223 +f 2496//2496 2497//2497 2478//2478 +f 2497//2497 2484//2484 2478//2478 +f 1140//1140 2485//2485 1141//1141 +f 1768//1768 1352//1352 1140//1140 +f 1352//1352 1768//1768 1094//1094 +f 712//712 2406//2406 2407//2407 +f 1707//1707 1354//1354 1708//1708 +f 456//456 592//592 1128//1128 +f 948//948 950//950 2362//2362 +f 950//950 990//990 2362//2362 +f 1552//1552 894//894 1553//1553 +f 2498//2498 2491//2491 2494//2494 +f 2499//2499 2493//2493 2492//2492 +f 2499//2499 2500//2500 2493//2493 +f 2124//2124 2475//2475 2487//2487 +f 2497//2497 1141//1141 2484//2484 +f 269//269 508//508 1305//1305 +f 2388//2388 1949//1949 2421//2421 +f 1950//1950 2115//2115 332//332 +f 2227//2227 1394//1394 1530//1530 +f 2501//2501 2492//2492 2491//2491 +f 2501//2501 2499//2499 2492//2492 +f 1709//1709 2500//2500 2499//2499 +f 2502//2502 2482//2482 2124//2124 +f 2502//2502 2495//2495 2482//2482 +f 429//429 365//365 464//464 +f 2416//2416 1368//1368 2424//2424 +f 712//712 2103//2103 2406//2406 +f 2491//2491 2498//2498 2501//2501 +f 1903//1903 2336//2336 2005//2005 +f 2399//2399 1948//1948 2422//2422 +f 2372//2372 2369//2369 2368//2368 +f 1902//1902 1901//1901 1840//1840 +f 1901//1901 1903//1903 2404//2404 +f 2033//2033 2499//2499 2501//2501 +f 1983//1983 2497//2497 2496//2496 +f 2406//2406 2103//2103 1902//1902 +f 2498//2498 2306//2306 2501//2501 +f 2033//2033 1709//1709 2499//2499 +f 1983//1983 1141//1141 2497//2497 +f 2422//2422 1948//1948 2370//2370 +f 2115//2115 2415//2415 332//332 +f 990//990 950//950 988//988 +f 1518//1518 2501//2501 2306//2306 +f 1518//1518 2033//2033 2501//2501 +f 2124//2124 2123//2123 2502//2502 +f 2502//2502 2123//2123 2495//2495 +f 1370//1370 1983//1983 2496//2496 +f 1262//1262 894//894 1552//1552 +f 2498//2498 2322//2322 2306//2306 +f 1139//1139 1141//1141 1983//1983 +f 1094//1094 1768//1768 1095//1095 +f 2363//2363 2000//2000 2374//2374 +f 1444//1444 2407//2407 1384//1384 +f 2375//2375 1353//1353 1301//1301 +f 893//893 2494//2494 894//894 +f 893//893 2322//2322 2498//2498 +f 2494//2494 893//893 2498//2498 +f 2123//2123 2402//2402 2495//2495 +f 1370//1370 2496//2496 2223//2223 +f 1687//1687 2458//2458 2503//2503 +f 2458//2458 2461//2461 2503//2503 +f 2461//2461 2392//2392 2503//2503 +f 2392//2392 390//390 2503//2503 +f 390//390 389//389 2503//2503 +f 389//389 1416//1416 2503//2503 +f 1416//1416 1687//1687 2503//2503 diff --git a/A3/resources/cube.obj b/A3/resources/cube.obj new file mode 100644 index 0000000..e81edd5 --- /dev/null +++ b/A3/resources/cube.obj @@ -0,0 +1,29 @@ +# Blender v2.71 (sub 0) OBJ File: '' +# www.blender.org +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +vn 1.000000 -0.000000 -0.000000 +vn -0.000000 -1.000000 -0.000000 +vn -1.000000 0.000000 -0.000000 +vn 0.000000 1.000000 0.000000 +s off +f 2//1 3//1 4//1 +f 8//2 7//2 6//2 +f 1//3 5//3 6//3 +f 2//4 6//4 7//4 +f 7//5 8//5 4//5 +f 1//6 4//6 8//6 +f 1//1 2//1 4//1 +f 5//2 8//2 6//2 +f 2//3 1//3 6//3 +f 3//4 2//4 7//4 +f 3//5 7//5 4//5 +f 5//6 1//6 8//6 diff --git a/A3/resources/frag.glsl b/A3/resources/frag.glsl new file mode 100644 index 0000000..4b72e7b --- /dev/null +++ b/A3/resources/frag.glsl @@ -0,0 +1,48 @@ +#version 120 + +uniform vec3 lightPos1; +uniform vec3 lightPos2; +uniform vec3 ka; +uniform vec3 kd; +uniform vec3 ks; +uniform float s; +uniform float i1; +uniform float i2; + +varying vec3 color; // passed from the vertex shader +varying vec4 p; +varying vec4 n; + +void main() +{ + vec4 normal = normalize(n); + vec3 norm = vec3(normal.x, normal.y, normal.z); + + vec4 npos = normalize(p); + vec3 pos = vec3(npos.x, npos.y, npos.z); + + vec3 light1 = lightPos1 - vec3(p.x, p.y, p.z); + vec3 lnorm1 = normalize(light1); + float temp1 = dot(lnorm1, norm); + vec3 cd1 = kd*max(0, temp1); + + + vec3 h1 = normalize(lnorm1 - pos); + vec3 cs1 = ks*pow(max(0, dot(h1, norm)), s); + + vec3 light2 = lightPos2 - vec3(p.x, p.y, p.z); + vec3 lnorm2 = normalize(light2); + float temp2 = dot(lnorm2, norm); + vec3 cd2 = kd*max(0, temp2); + + + vec3 h2 = normalize(lnorm2 - pos); + vec3 cs2 = ks*pow(max(0, dot(h2, norm)), s); + + + vec4 c = vec4(ka.r + cd1.r + cs1.r, ka.g + cd1.g + cs1.g, ka.b + cd1.b + cs1.b, 1.0); + vec4 color1 = i1*vec4(ka.r + cd1.r + cs1.r, ka.g + cd1.g + cs1.g, ka.b + cd1.b + cs1.b, 1.0); + vec4 color2 = i2*vec4(ka.r + cd2.r + cs2.r, ka.g + cd2.g + cs2.g, ka.b + cd2.b + cs2.b, 1.0); + + gl_FragColor = color1 + color2; +} diff --git a/A3/resources/sil.glsl b/A3/resources/sil.glsl new file mode 100644 index 0000000..ba512f1 --- /dev/null +++ b/A3/resources/sil.glsl @@ -0,0 +1,20 @@ +#version 120 + +varying vec4 p; +varying vec4 n; + +void main() +{ + vec4 normal = normalize(n); + vec3 norm = vec3(normal.x, normal.y, normal.z); + + vec4 npos = normalize(p); + vec3 pos = vec3(npos.x, npos.y, npos.z); + + float product = dot(norm, pos); + + if(product <= 0.3 && product >= -0.3) + gl_FragColor = vec4(0.0f, 0.0f, 0.0f, 1.0f); + else + gl_FragColor = vec4(1.0f, 1.0f, 1.0f, 1.0f); +} diff --git a/A3/resources/vert.glsl b/A3/resources/vert.glsl new file mode 100644 index 0000000..751b99b --- /dev/null +++ b/A3/resources/vert.glsl @@ -0,0 +1,23 @@ +#version 120 + +uniform mat4 P; +uniform mat4 MV; +uniform vec3 lightPos1; +uniform vec3 lightPos2; +uniform float i1; +uniform float i2; + +attribute vec4 aPos; // in object space +attribute vec3 aNor; // in object space + +varying vec3 color; // Pass to fragment shader +varying vec4 p; +varying vec4 n; + +void main() +{ + gl_Position = P * MV * aPos; + p = MV * aPos; + n = MV * vec4(aNor, 0.0); + color = vec3(0.5, 0.5, 0.5); +} diff --git a/A3/shadow8t4.zip b/A3/shadow8t4.zip new file mode 100644 index 0000000000000000000000000000000000000000..e08fbf024a8abd5e7f3ab510cb279886929e5a8b GIT binary patch literal 130839 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%0AeMq6I?jMT58(vpP|OnZ?G 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 z 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 literal 0 HcmV?d00001 diff --git a/A3/src/Camera.cpp b/A3/src/Camera.cpp new file mode 100644 index 0000000..59e2d04 --- /dev/null +++ b/A3/src/Camera.cpp @@ -0,0 +1,66 @@ +#include "Camera.h" +#include "MatrixStack.h" +#include +#include + +Camera::Camera() : + aspect(1.0f), + fovy(45.0f), + znear(0.1f), + zfar(1000.0f), + rotations(0.0, 0.0), + translations(0.0f, 0.0f, -5.0f), + rfactor(0.01f), + tfactor(0.001f), + sfactor(0.005f) +{ +} + +Camera::~Camera() +{ +} + +void Camera::mouseClicked(float x, float y, bool shift, bool ctrl, bool alt) +{ + mousePrev.x = x; + mousePrev.y = y; + if(shift) { + state = Camera::TRANSLATE; + } else if(ctrl) { + state = Camera::SCALE; + } else { + state = Camera::ROTATE; + } +} + +void Camera::mouseMoved(float x, float y) +{ + glm::vec2 mouseCurr(x, y); + glm::vec2 dv = mouseCurr - mousePrev; + switch(state) { + case Camera::ROTATE: + rotations += rfactor * dv; + break; + case Camera::TRANSLATE: + translations.x -= translations.z * tfactor * dv.x; + translations.y += translations.z * tfactor * dv.y; + break; + case Camera::SCALE: + translations.z *= (1.0f - sfactor * dv.y); + break; + } + mousePrev = mouseCurr; +} + +void Camera::applyProjectionMatrix(std::shared_ptr P) const +{ + // Modify provided MatrixStack + P->multMatrix(glm::perspective(fovy, aspect, znear, zfar)); +} + +void Camera::applyViewMatrix(std::shared_ptr MV) const +{ + MV->translate(translations); + MV->rotate(rotations.y, glm::vec3(1.0f, 0.0f, 0.0f)); + MV->rotate(rotations.x, glm::vec3(0.0f, 1.0f, 0.0f)); +} diff --git a/A3/src/Camera.h b/A3/src/Camera.h new file mode 100644 index 0000000..8501605 --- /dev/null +++ b/A3/src/Camera.h @@ -0,0 +1,47 @@ +#pragma once +#ifndef __Camera__ +#define __Camera__ + +#include + +#define GLM_FORCE_RADIANS +#include + +class MatrixStack; + +class Camera +{ +public: + enum { + ROTATE = 0, + TRANSLATE, + SCALE + }; + + Camera(); + virtual ~Camera(); + void setInitDistance(float z) { translations.z = -std::abs(z); } + void setAspect(float a) { aspect = a; }; + void setRotationFactor(float f) { rfactor = f; }; + void setTranslationFactor(float f) { tfactor = f; }; + void setScaleFactor(float f) { sfactor = f; }; + void mouseClicked(float x, float y, bool shift, bool ctrl, bool alt); + void mouseMoved(float x, float y); + void applyProjectionMatrix(std::shared_ptr P) const; + void applyViewMatrix(std::shared_ptr MV) const; + +private: + float aspect; + float fovy; + float znear; + float zfar; + glm::vec2 rotations; + glm::vec3 translations; + glm::vec2 mousePrev; + int state; + float rfactor; + float tfactor; + float sfactor; +}; + +#endif diff --git a/A3/src/GLSL.cpp b/A3/src/GLSL.cpp new file mode 100644 index 0000000..2969872 --- /dev/null +++ b/A3/src/GLSL.cpp @@ -0,0 +1,152 @@ +// +// Many useful helper functions for GLSL shaders - gleaned from various sources including orange book +// Created by zwood on 2/21/10. +// Modified by sueda 10/15/15. +// + +#include "GLSL.h" +#include +#include +#include +#include + +using namespace std; + +namespace GLSL { + +const char * errorString(GLenum err) +{ + switch(err) { + case GL_NO_ERROR: + return "No error"; + case GL_INVALID_ENUM: + return "Invalid enum"; + case GL_INVALID_VALUE: + return "Invalid value"; + case GL_INVALID_OPERATION: + return "Invalid operation"; + case GL_STACK_OVERFLOW: + return "Stack overflow"; + case GL_STACK_UNDERFLOW: + return "Stack underflow"; + case GL_OUT_OF_MEMORY: + return "Out of memory"; + default: + return "No error"; + } +} + +void checkVersion() +{ + int major, minor; + major = minor = 0; + const char *verstr = (const char *)glGetString(GL_VERSION); + + if((verstr == NULL) || (sscanf(verstr, "%d.%d", &major, &minor) != 2)) { + printf("Invalid GL_VERSION format %d.%d\n", major, minor); + } + if(major < 2) { + printf("This shader example will not work due to the installed Opengl version, which is %d.%d.\n", major, minor); + exit(0); + } +} + +void checkError(const char *str) +{ + GLenum glErr = glGetError(); + if(glErr != GL_NO_ERROR) { + if(str) { + printf("%s: ", str); + } + printf("GL_ERROR = %s.\n", errorString(glErr)); + assert(false); + } +} + +void printShaderInfoLog(GLuint shader) +{ + GLint infologLength = 0; + GLint charsWritten = 0; + GLchar *infoLog = 0; + + checkError(GET_FILE_LINE); + glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infologLength); + checkError(GET_FILE_LINE); + + if(infologLength > 0) { + infoLog = (GLchar *)malloc(infologLength); + if(infoLog == NULL) { + puts("ERROR: Could not allocate InfoLog buffer"); + exit(1); + } + glGetShaderInfoLog(shader, infologLength, &charsWritten, infoLog); + checkError(GET_FILE_LINE); + printf("Shader InfoLog:\n%s\n\n", infoLog); + free(infoLog); + } +} + +void printProgramInfoLog(GLuint program) +{ + GLint infologLength = 0; + GLint charsWritten = 0; + GLchar *infoLog = 0; + + checkError(GET_FILE_LINE); + glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infologLength); + checkError(GET_FILE_LINE); + + if(infologLength > 0) { + infoLog = (GLchar *)malloc(infologLength); + if(infoLog == NULL) { + puts("ERROR: Could not allocate InfoLog buffer"); + exit(1); + } + glGetProgramInfoLog(program, infologLength, &charsWritten, infoLog); + checkError(GET_FILE_LINE); + printf("Program InfoLog:\n%s\n\n", infoLog); + free(infoLog); + } +} + +char *textFileRead(const char *fn) +{ + FILE *fp; + char *content = NULL; + int count = 0; + if(fn != NULL) { + fp = fopen(fn,"rt"); + if(fp != NULL) { + fseek(fp, 0, SEEK_END); + count = (int)ftell(fp); + rewind(fp); + if(count > 0) { + content = (char *)malloc(sizeof(char) * (count+1)); + count = (int)fread(content,sizeof(char),count,fp); + content[count] = '\0'; + } + fclose(fp); + } else { + printf("error loading %s\n", fn); + } + } + return content; +} + +int textFileWrite(const char *fn, const char *s) +{ + FILE *fp; + int status = 0; + if(fn != NULL) { + fp = fopen(fn,"w"); + if(fp != NULL) { + if(fwrite(s,sizeof(char),strlen(s),fp) == strlen(s)) { + status = 1; + } + fclose(fp); + } + } + return(status); +} + +} diff --git a/A3/src/GLSL.h b/A3/src/GLSL.h new file mode 100644 index 0000000..f945fdd --- /dev/null +++ b/A3/src/GLSL.h @@ -0,0 +1,40 @@ +// +// Many useful helper functions for GLSL shaders - gleaned from various sources including orange book +// Created by zwood on 2/21/10. +// Modified by sueda 10/15/15. +// + +#pragma once +#ifndef __GLSL__ +#define __GLSL__ + +#define GLEW_STATIC +#include + +/////////////////////////////////////////////////////////////////////////////// +// For printing out the current file and line number // +/////////////////////////////////////////////////////////////////////////////// +#include + +template +std::string NumberToString(T x) +{ + std::ostringstream ss; + ss << x; + return ss.str(); +} + +#define GET_FILE_LINE (std::string(__FILE__) + ":" + NumberToString(__LINE__)).c_str() +/////////////////////////////////////////////////////////////////////////////// + +namespace GLSL { + + void checkVersion(); + void checkError(const char *str = 0); + void printProgramInfoLog(GLuint program); + void printShaderInfoLog(GLuint shader); + int textFileWrite(const char *filename, const char *s); + char *textFileRead(const char *filename); +} + +#endif diff --git a/A3/src/Light.cpp b/A3/src/Light.cpp new file mode 100644 index 0000000..ebe7525 --- /dev/null +++ b/A3/src/Light.cpp @@ -0,0 +1,39 @@ +#include "Light.h" + +Light::Light() +{ + pos = glm::vec3(0.0f, 0.0f, 0.0f); + intensity = 0.0; +} + +Light::Light(const Light &l) +{ + pos = l.pos; + intensity = l.intensity; +} + +Light::Light(glm::vec3 p, float i) +{ + pos = p; + intensity = i; +} + +void Light::setPos(glm::vec3 p) +{ + this->pos = p; +} + +void Light::setIntensity(float i) +{ + this->intensity = i; +} + +glm::vec3 Light::getPos() +{ + return this->pos; +} + +float Light::getIntensity() +{ + return this->intensity; +} diff --git a/A3/src/Light.h b/A3/src/Light.h new file mode 100644 index 0000000..1927a9c --- /dev/null +++ b/A3/src/Light.h @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#include +#include + +#include "GLSL.h" +#include "Camera.h" +#include "Shape.h" +#include "MatrixStack.h" + +class Light +{ + private: + glm::vec3 pos; + float intensity; + + public: + Light(); + Light(const Light &l); + Light(glm::vec3 p, float i); + void setPos(glm::vec3 p); + void setIntensity(float i); + glm::vec3 getPos(); + float getIntensity(); +}; diff --git a/A3/src/Material.cpp b/A3/src/Material.cpp new file mode 100644 index 0000000..279c0d0 --- /dev/null +++ b/A3/src/Material.cpp @@ -0,0 +1,39 @@ +#include "Material.h" + +using namespace std; + +Material::Material() +{ + this->ca = glm::vec3(0.3f,0.3f,0.3f); + this->cd = glm::vec3(0.3f,0.3f,0.3f); + this->cs = glm::vec3(1.0f,1.0f,1.0f); + this->shine = 0.0f; +} + +void Material::setMaterial(glm::vec3 a, glm::vec3 d, glm::vec3 s, float sh) +{ + this->ca = a; + this->cd = d; + this->cs = s; + this->shine = sh; +} + +glm::vec3 Material::getAmbient() +{ + return this->ca; +} + +glm::vec3 Material::getDiffuse() +{ + return this->cd; +} + +glm::vec3 Material::getSpecular() +{ + return this->cs; +} + +float Material::getShiny() +{ + return this->shine; +} diff --git a/A3/src/Material.h b/A3/src/Material.h new file mode 100644 index 0000000..34d3375 --- /dev/null +++ b/A3/src/Material.h @@ -0,0 +1,41 @@ +#include +#include +#include +#include +#include +#include + +#include "GLSL.h" +#include "Camera.h" +#include "Shape.h" +#include "MatrixStack.h" + +class Material +{ + private: + glm::vec3 ca; + glm::vec3 cd; + glm::vec3 cs; + float shine; + + public: + Material(); + Material(const Material &m) + { + ca = m.ca; + cd = m.cd; + cs = m.cs; + } + Material(glm::vec3 a, glm::vec3 d, glm::vec3 s, float sh) + { + ca = a; + cd = d; + cs = s; + shine = sh; + } + void setMaterial(glm::vec3 a, glm::vec3 d, glm::vec3 s, float sh); + glm::vec3 getAmbient(); + glm::vec3 getDiffuse(); + glm::vec3 getSpecular(); + float getShiny(); +}; diff --git a/A3/src/MatrixStack.cpp b/A3/src/MatrixStack.cpp new file mode 100644 index 0000000..eaa6e6c --- /dev/null +++ b/A3/src/MatrixStack.cpp @@ -0,0 +1,114 @@ +#include "MatrixStack.h" + +#include +#include +#include + +#define GLM_FORCE_RADIANS +#include +#include + +using namespace std; + +MatrixStack::MatrixStack() +{ + mstack = make_shared< stack >(); + mstack->push(glm::mat4(1.0)); +} + +MatrixStack::~MatrixStack() +{ +} + +void MatrixStack::pushMatrix() +{ + const glm::mat4 &top = mstack->top(); + mstack->push(top); + assert(mstack->size() < 100); +} + +void MatrixStack::popMatrix() +{ + assert(!mstack->empty()); + mstack->pop(); + // There should always be one matrix left. + assert(!mstack->empty()); +} + +void MatrixStack::loadIdentity() +{ + glm::mat4 &top = mstack->top(); + top = glm::mat4(1.0); +} + +void MatrixStack::translate(const glm::vec3 &t) +{ + glm::mat4 &top = mstack->top(); + top *= glm::translate(t); +} + +void MatrixStack::translate(float x, float y, float z) +{ + translate(glm::vec3(x, y, z)); +} + +void MatrixStack::scale(const glm::vec3 &s) +{ + glm::mat4 &top = mstack->top(); + top *= glm::scale(s); +} + +void MatrixStack::scale(float x, float y, float z) +{ + scale(glm::vec3(x, y, z)); +} + +void MatrixStack::scale(float s) +{ + scale(glm::vec3(s, s, s)); +} + +void MatrixStack::rotate(float angle, const glm::vec3 &axis) +{ + glm::mat4 &top = mstack->top(); + top *= glm::rotate(angle, axis); +} + +void MatrixStack::rotate(float angle, float x, float y, float z) +{ + rotate(angle, glm::vec3(x, y, z)); +} + +void MatrixStack::multMatrix(const glm::mat4 &matrix) +{ + glm::mat4 &top = mstack->top(); + top *= matrix; +} + +const glm::mat4 &MatrixStack::topMatrix() const +{ + return mstack->top(); +} + +void MatrixStack::print(const glm::mat4 &mat, const char *name) +{ + if(name) { + printf("%s = [\n", name); + } + for(int i = 0; i < 4; ++i) { + for(int j = 0; j < 4; ++j) { + // mat[j] returns the jth column + printf("%- 5.2f ", mat[j][i]); + } + printf("\n"); + } + if(name) { + printf("];"); + } + printf("\n"); +} + +void MatrixStack::print(const char *name) const +{ + print(mstack->top(), name); +} diff --git a/A3/src/MatrixStack.h b/A3/src/MatrixStack.h new file mode 100644 index 0000000..66278ce --- /dev/null +++ b/A3/src/MatrixStack.h @@ -0,0 +1,50 @@ +#pragma once +#ifndef _MatrixStack_H_ +#define _MatrixStack_H_ + +#include +#include +#include + +class MatrixStack +{ +public: + MatrixStack(); + virtual ~MatrixStack(); + + // glPushMatrix(): Copies the current matrix and adds it to the top of the stack + void pushMatrix(); + // glPopMatrix(): Removes the top of the stack and sets the current matrix to be the matrix that is now on top + void popMatrix(); + + // glLoadIdentity(): Sets the top matrix to be the identity + void loadIdentity(); + // glMultMatrix(): Right multiplies the top matrix + void multMatrix(const glm::mat4 &matrix); + + // glTranslate(): Right multiplies the top matrix by a translation matrix + void translate(const glm::vec3 &trans); + void translate(float x, float y, float z); + // glScale(): Right multiplies the top matrix by a scaling matrix + void scale(const glm::vec3 &scale); + void scale(float x, float y, float z); + // glScale(): Right multiplies the top matrix by a scaling matrix + void scale(float size); + // glRotate(): Right multiplies the top matrix by a rotation matrix (angle in radians) + void rotate(float angle, const glm::vec3 &axis); + void rotate(float angle, float x, float y, float z); + + // glGet(GL_MODELVIEW_MATRIX): Gets the top matrix + const glm::mat4 &topMatrix() const; + + // Prints out the specified matrix + static void print(const glm::mat4 &mat, const char *name = 0); + // Prints out the top matrix + void print(const char *name = 0) const; + +private: + std::shared_ptr< std::stack > mstack; + +}; + +#endif diff --git a/A3/src/Program.cpp b/A3/src/Program.cpp new file mode 100644 index 0000000..1e85538 --- /dev/null +++ b/A3/src/Program.cpp @@ -0,0 +1,126 @@ +#include "Program.h" + +#include +#include + +#include "GLSL.h" + +using namespace std; + +Program::Program() : + vShaderName(""), + fShaderName(""), + pid(0), + verbose(true) +{ + +} + +Program::~Program() +{ + +} + +void Program::setShaderNames(const string &v, const string &f) +{ + vShaderName = v; + fShaderName = f; +} + +bool Program::init() +{ + GLint rc; + + // Create shader handles + GLuint VS = glCreateShader(GL_VERTEX_SHADER); + GLuint FS = glCreateShader(GL_FRAGMENT_SHADER); + + // Read shader sources + const char *vshader = GLSL::textFileRead(vShaderName.c_str()); + const char *fshader = GLSL::textFileRead(fShaderName.c_str()); + glShaderSource(VS, 1, &vshader, NULL); + glShaderSource(FS, 1, &fshader, NULL); + + // Compile vertex shader + glCompileShader(VS); + glGetShaderiv(VS, GL_COMPILE_STATUS, &rc); + if(!rc) { + if(isVerbose()) { + GLSL::printShaderInfoLog(VS); + cout << "Error compiling vertex shader " << vShaderName << endl; + } + return false; + } + + // Compile fragment shader + glCompileShader(FS); + glGetShaderiv(FS, GL_COMPILE_STATUS, &rc); + if(!rc) { + if(isVerbose()) { + GLSL::printShaderInfoLog(FS); + cout << "Error compiling fragment shader " << fShaderName << endl; + } + return false; + } + + // Create the program and link + pid = glCreateProgram(); + glAttachShader(pid, VS); + glAttachShader(pid, FS); + glLinkProgram(pid); + glGetProgramiv(pid, GL_LINK_STATUS, &rc); + if(!rc) { + if(isVerbose()) { + GLSL::printProgramInfoLog(pid); + cout << "Error linking shaders " << vShaderName << " and " << fShaderName << endl; + } + return false; + } + + GLSL::checkError(GET_FILE_LINE); + return true; +} + +void Program::bind() +{ + glUseProgram(pid); +} + +void Program::unbind() +{ + glUseProgram(0); +} + +void Program::addAttribute(const string &name) +{ + attributes[name] = glGetAttribLocation(pid, name.c_str()); +} + +void Program::addUniform(const string &name) +{ + uniforms[name] = glGetUniformLocation(pid, name.c_str()); +} + +GLint Program::getAttribute(const string &name) const +{ + map::const_iterator attribute = attributes.find(name.c_str()); + if(attribute == attributes.end()) { + if(isVerbose()) { + cout << name << " is not an attribute variable" << endl; + } + return -1; + } + return attribute->second; +} + +GLint Program::getUniform(const string &name) const +{ + map::const_iterator uniform = uniforms.find(name.c_str()); + if(uniform == uniforms.end()) { + if(isVerbose()) { + cout << name << " is not a uniform variable" << endl; + } + return -1; + } + return uniform->second; +} diff --git a/A3/src/Program.h b/A3/src/Program.h new file mode 100644 index 0000000..51e58bb --- /dev/null +++ b/A3/src/Program.h @@ -0,0 +1,44 @@ +#pragma once +#ifndef __Program__ +#define __Program__ + +#include +#include + +#define GLEW_STATIC +#include + +/** + * An OpenGL Program (vertex and fragment shaders) + */ +class Program +{ +public: + Program(); + virtual ~Program(); + + void setVerbose(bool v) { verbose = v; } + bool isVerbose() const { return verbose; } + + void setShaderNames(const std::string &v, const std::string &f); + virtual bool init(); + virtual void bind(); + virtual void unbind(); + + void addAttribute(const std::string &name); + void addUniform(const std::string &name); + GLint getAttribute(const std::string &name) const; + GLint getUniform(const std::string &name) const; + +protected: + std::string vShaderName; + std::string fShaderName; + +private: + GLuint pid; + std::map attributes; + std::map uniforms; + bool verbose; +}; + +#endif diff --git a/A3/src/Shape.cpp b/A3/src/Shape.cpp new file mode 100644 index 0000000..426ef9c --- /dev/null +++ b/A3/src/Shape.cpp @@ -0,0 +1,165 @@ +#include "Shape.h" +#include + +#include "GLSL.h" +#include "Program.h" + +#define GLM_FORCE_RADIANS +#include + +#define TINYOBJLOADER_IMPLEMENTATION +#include "tiny_obj_loader.h" + +using namespace std; + +Shape::Shape() : + posBufID(0), + norBufID(0), + texBufID(0) +{ +} + +Shape::~Shape() +{ +} + +void Shape::loadMesh(const string &meshName) +{ + // Load geometry + tinyobj::attrib_t attrib; + std::vector shapes; + std::vector materials; + string errStr; + bool rc = tinyobj::LoadObj(&attrib, &shapes, &materials, &errStr, meshName.c_str()); + if(!rc) { + cerr << errStr << endl; + } else { + // Some OBJ files have different indices for vertex positions, normals, + // and texture coordinates. For example, a cube corner vertex may have + // three different normals. Here, we are going to duplicate all such + // vertices. + // Loop over shapes + for(size_t s = 0; s < shapes.size(); s++) { + // Loop over faces (polygons) + size_t index_offset = 0; + for(size_t f = 0; f < shapes[s].mesh.num_face_vertices.size(); f++) { + size_t fv = shapes[s].mesh.num_face_vertices[f]; + // Loop over vertices in the face. + for(size_t v = 0; v < fv; v++) { + // access to vertex + tinyobj::index_t idx = shapes[s].mesh.indices[index_offset + v]; + posBuf.push_back(attrib.vertices[3*idx.vertex_index+0]); + posBuf.push_back(attrib.vertices[3*idx.vertex_index+1]); + posBuf.push_back(attrib.vertices[3*idx.vertex_index+2]); + if(!attrib.normals.empty()) { + norBuf.push_back(attrib.normals[3*idx.normal_index+0]); + norBuf.push_back(attrib.normals[3*idx.normal_index+1]); + norBuf.push_back(attrib.normals[3*idx.normal_index+2]); + } + if(!attrib.texcoords.empty()) { + texBuf.push_back(attrib.texcoords[2*idx.texcoord_index+0]); + texBuf.push_back(attrib.texcoords[2*idx.texcoord_index+1]); + } + } + index_offset += fv; + // per-face material (IGNORE) + shapes[s].mesh.material_ids[f]; + } + } + } +} + +void Shape::fitToUnitBox() +{ + // Scale the vertex positions so that they fit within [-1, +1] in all three dimensions. + glm::vec3 vmin(posBuf[0], posBuf[1], posBuf[2]); + glm::vec3 vmax(posBuf[0], posBuf[1], posBuf[2]); + for(int i = 0; i < (int)posBuf.size(); i += 3) { + glm::vec3 v(posBuf[i], posBuf[i+1], posBuf[i+2]); + vmin.x = min(vmin.x, v.x); + vmin.y = min(vmin.y, v.y); + vmin.z = min(vmin.z, v.z); + vmax.x = max(vmax.x, v.x); + vmax.y = max(vmax.y, v.y); + vmax.z = max(vmax.z, v.z); + } + glm::vec3 center = 0.5f*(vmin + vmax); + glm::vec3 diff = vmax - vmin; + float diffmax = diff.x; + diffmax = max(diffmax, diff.y); + diffmax = max(diffmax, diff.z); + float scale = 1.0f / diffmax; + for(int i = 0; i < (int)posBuf.size(); i += 3) { + posBuf[i ] = (posBuf[i ] - center.x) * scale; + posBuf[i+1] = (posBuf[i+1] - center.y) * scale; + posBuf[i+2] = (posBuf[i+2] - center.z) * scale; + } +} + +void Shape::init() +{ + // Send the position array to the GPU + glGenBuffers(1, &posBufID); + glBindBuffer(GL_ARRAY_BUFFER, posBufID); + glBufferData(GL_ARRAY_BUFFER, posBuf.size()*sizeof(float), &posBuf[0], GL_STATIC_DRAW); + + // Send the normal array to the GPU + if(!norBuf.empty()) { + glGenBuffers(1, &norBufID); + glBindBuffer(GL_ARRAY_BUFFER, norBufID); + glBufferData(GL_ARRAY_BUFFER, norBuf.size()*sizeof(float), &norBuf[0], GL_STATIC_DRAW); + } + + // Send the texture array to the GPU + if(!texBuf.empty()) { + glGenBuffers(1, &texBufID); + glBindBuffer(GL_ARRAY_BUFFER, texBufID); + glBufferData(GL_ARRAY_BUFFER, texBuf.size()*sizeof(float), &texBuf[0], GL_STATIC_DRAW); + } + + // Unbind the arrays + glBindBuffer(GL_ARRAY_BUFFER, 0); + + GLSL::checkError(GET_FILE_LINE); +} + +void Shape::draw(const shared_ptr prog) const +{ + // Bind position buffer + int h_pos = prog->getAttribute("aPos"); + glEnableVertexAttribArray(h_pos); + glBindBuffer(GL_ARRAY_BUFFER, posBufID); + glVertexAttribPointer(h_pos, 3, GL_FLOAT, GL_FALSE, 0, (const void *)0); + + // Bind normal buffer + int h_nor = prog->getAttribute("aNor"); + if(h_nor != -1 && norBufID != 0) { + glEnableVertexAttribArray(h_nor); + glBindBuffer(GL_ARRAY_BUFFER, norBufID); + glVertexAttribPointer(h_nor, 3, GL_FLOAT, GL_FALSE, 0, (const void *)0); + } + + // Bind texcoords buffer + int h_tex = prog->getAttribute("aTex"); + if(h_tex != -1 && texBufID != 0) { + glEnableVertexAttribArray(h_tex); + glBindBuffer(GL_ARRAY_BUFFER, texBufID); + glVertexAttribPointer(h_tex, 2, GL_FLOAT, GL_FALSE, 0, (const void *)0); + } + + // Draw + int count = posBuf.size()/3; // number of indices to be rendered + glDrawArrays(GL_TRIANGLES, 0, count); + + // Disable and unbind + if(h_tex != -1) { + glDisableVertexAttribArray(h_tex); + } + if(h_nor != -1) { + glDisableVertexAttribArray(h_nor); + } + glDisableVertexAttribArray(h_pos); + glBindBuffer(GL_ARRAY_BUFFER, 0); + + GLSL::checkError(GET_FILE_LINE); +} diff --git a/A3/src/Shape.h b/A3/src/Shape.h new file mode 100644 index 0000000..297476c --- /dev/null +++ b/A3/src/Shape.h @@ -0,0 +1,37 @@ +#pragma once +#ifndef _SHAPE_H_ +#define _SHAPE_H_ + +#include +#include +#include + +class Program; + +/** + * A shape defined by a list of triangles + * - posBuf should be of length 3*ntris + * - norBuf should be of length 3*ntris (if normals are available) + * - texBuf should be of length 2*ntris (if texture coords are available) + * posBufID, norBufID, and texBufID are OpenGL buffer identifiers. + */ +class Shape +{ +public: + Shape(); + virtual ~Shape(); + void loadMesh(const std::string &meshName); + void fitToUnitBox(); + void init(); + void draw(const std::shared_ptr prog) const; + +private: + std::vector posBuf; + std::vector norBuf; + std::vector texBuf; + unsigned posBufID; + unsigned norBufID; + unsigned texBufID; +}; + +#endif diff --git a/A3/src/main.cpp b/A3/src/main.cpp new file mode 100644 index 0000000..667a75c --- /dev/null +++ b/A3/src/main.cpp @@ -0,0 +1,362 @@ +#include +#include +#define _USE_MATH_DEFINES +#include +#include + +#define GLEW_STATIC +#include +#include + +#define GLM_FORCE_RADIANS +#include +#include + +#include "Camera.h" +#include "GLSL.h" +#include "MatrixStack.h" +#include "Program.h" +#include "Shape.h" +#include "Material.h" +#include "Light.h" + +using namespace std; + +GLFWwindow *window; // Main application window +string RESOURCE_DIR = "./"; // Where the resources are loaded from + +shared_ptr camera; +shared_ptr prog; +shared_ptr sprog; +shared_ptr shape; + +bool keyToggles[256] = {false}; // only for English keyboards! + +Material m[3]; +Light l[2]; +int ind = 0; +int lind = 0; +int sind = 0; + +unsigned int pid0; +unsigned int pid1; + +// This function is called when a GLFW error occurs +static void error_callback(int error, const char *description) +{ + cerr << description << endl; +} + +// This function is called when a key is pressed +static void key_callback(GLFWwindow *window, int key, int scancode, int action, int mods) +{ + if(key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) { + glfwSetWindowShouldClose(window, GL_TRUE); + } +} + +// This function is called when the mouse is clicked +static void mouse_button_callback(GLFWwindow *window, int button, int action, int mods) +{ + // Get the current mouse position. + double xmouse, ymouse; + glfwGetCursorPos(window, &xmouse, &ymouse); + // Get current window size. + int width, height; + glfwGetWindowSize(window, &width, &height); + if(action == GLFW_PRESS) { + bool shift = (mods & GLFW_MOD_SHIFT) != 0; + bool ctrl = (mods & GLFW_MOD_CONTROL) != 0; + bool alt = (mods & GLFW_MOD_ALT) != 0; + camera->mouseClicked((float)xmouse, (float)ymouse, shift, ctrl, alt); + } +} + +// This function is called when the mouse moves +static void cursor_position_callback(GLFWwindow* window, double xmouse, double ymouse) +{ + int state = glfwGetMouseButton(window, GLFW_MOUSE_BUTTON_LEFT); + if(state == GLFW_PRESS) { + camera->mouseMoved((float)xmouse, (float)ymouse); + } +} + +static void char_callback(GLFWwindow *window, unsigned int key) +{ + keyToggles[key] = !keyToggles[key]; + char cp = (char)key; + + if(cp == 'S') + { + sind++; + if(sind > 1) + { + sind = 0; + } + } + if(cp == 's') + { + sind--; + if(sind < 0) + { + sind = 1; + } + } + + if(cp == 'M') + { + ind++; + if(ind > 2) + { + ind = 0; + } + } + + if(cp == 'm') + { + ind --; + if(ind < 0) + { + ind = 2; + } + } + + if(cp == 'L') + { + lind++; + if(lind > 1) + { + lind = 0; + } + } + if(cp == 'l') + { + lind--; + if(lind < 0) + { + lind = 1; + } + } + + if(cp == 'X') + { + glm::vec3 temp = l[lind].getPos(); + l[lind].setPos(glm::vec3(temp.x + 0.1f, temp.y, temp.z)); + } + if(cp == 'x') + { + glm::vec3 temp = l[lind].getPos(); + l[lind].setPos(glm::vec3(temp.x - 0.1f, temp.y, temp.z)); + } + + if(cp == 'Y') + { + glm::vec3 temp = l[lind].getPos(); + l[lind].setPos(glm::vec3(temp.x, temp.y + 0.1f, temp.z)); + } + if(cp == 'y') + { + glm::vec3 temp = l[lind].getPos(); + l[lind].setPos(glm::vec3(temp.x, temp.y - 0.1f, temp.z)); + } + + if(cp == 'Z') + { + glm::vec3 temp = l[lind].getPos(); + l[lind].setPos(glm::vec3(temp.x, temp.y, temp.z + 0.1f)); + } + if(cp == 'z') + { + glm::vec3 temp = l[lind].getPos(); + l[lind].setPos(glm::vec3(temp.x, temp.y, temp.z - 0.1f)); + } +} + +// If the window is resized, capture the new size and reset the viewport +static void resize_callback(GLFWwindow *window, int width, int height) +{ + glViewport(0, 0, width, height); +} + +// This function is called once to initialize the scene and OpenGL +static void init() +{ + // Initialize time. + glfwSetTime(0.0); + + // Set background color. + glClearColor(1.0f, 1.0f, 1.0f, 1.0f); + // Enable z-buffer test. + glEnable(GL_DEPTH_TEST); + + sprog = make_shared(); + sprog->setShaderNames(RESOURCE_DIR + "vert.glsl", RESOURCE_DIR + "sil.glsl"); + sprog->setVerbose(false); + sprog->init(); + sprog->addAttribute("aPos"); + sprog->addAttribute("aNor"); + sprog->addUniform("MV"); + sprog->addUniform("P"); + + prog = make_shared(); + prog->setShaderNames(RESOURCE_DIR + "vert.glsl", RESOURCE_DIR + "frag.glsl"); + prog->setVerbose(false); + prog->init(); + prog->addAttribute("aPos"); + prog->addAttribute("aNor"); + prog->addUniform("MV"); + prog->addUniform("P"); + prog->addUniform("lightPos1"); + prog->addUniform("lightPos2"); + prog->addUniform("ka"); + prog->addUniform("kd"); + prog->addUniform("ks"); + prog->addUniform("s"); + prog->addUniform("i1"); + prog->addUniform("i2"); + + camera = make_shared(); + camera->setInitDistance(2.0f); + + shape = make_shared(); + shape->loadMesh(RESOURCE_DIR + "bunny.obj"); + shape->fitToUnitBox(); + shape->init(); + Material m1; + m1.setMaterial(glm::vec3(0.0f, 0.0f, 0.4f), glm::vec3(0.2f, 0.1f, 0.7f), glm::vec3(0.5f, 0.5f, 0.5f), 200.0f); + Material m2; + m2.setMaterial(glm::vec3(0.3f, 0.3f, 0.4f), glm::vec3(0.2f, 0.2f, 0.3f), glm::vec3(0.1f, 0.1f, 0.1f), 10.0f); + Material m3; + m3.setMaterial(glm::vec3(0.2f, 0.2f, 0.2f), glm::vec3(0.8f, 0.7f, 0.7f), glm::vec3(1.0f, 0.9f, 0.8f), 200.0f); + m[0] = m1; + m[1] = m2; + m[2] = m3; + + Light l1(glm::vec3(1.0f, 1.0f, 1.0f), 0.8f); + Light l2(glm::vec3(-1.0f, 1.0f, 1.0f), 0.2f); + l[0] = l1; + l[1] = l2; + + GLSL::checkError(GET_FILE_LINE); +} + +// This function is called every frame to draw the scene. +static void render() +{ + // Clear framebuffer. + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + if(keyToggles[(unsigned)'c']) { + glEnable(GL_CULL_FACE); + } else { + glDisable(GL_CULL_FACE); + } + // Get current frame buffer size. + int width, height; + glfwGetFramebufferSize(window, &width, &height); + camera->setAspect((float)width/(float)height); + + // Matrix stacks + auto P = make_shared(); + auto MV = make_shared(); + + // Apply camera transforms + P->pushMatrix(); + camera->applyProjectionMatrix(P); + MV->pushMatrix(); + camera->applyViewMatrix(MV); + + glm::vec3 ambient = m[ind].getAmbient(); + glm::vec3 diffuse = m[ind].getDiffuse(); + glm::vec3 specular = m[ind].getSpecular(); + float shine = m[ind].getShiny(); + + if(sind == 1) + { + sprog->bind(); + glUniformMatrix4fv(sprog->getUniform("P"), 1, GL_FALSE, glm::value_ptr(P->topMatrix())); + glUniformMatrix4fv(sprog->getUniform("MV"), 1, GL_FALSE, glm::value_ptr(MV->topMatrix())); + shape->draw(sprog); + } + + if(sind == 0) + { + prog->bind(); + glUniformMatrix4fv(prog->getUniform("P"), 1, GL_FALSE, glm::value_ptr(P->topMatrix())); + glUniformMatrix4fv(prog->getUniform("MV"), 1, GL_FALSE, glm::value_ptr(MV->topMatrix())); + glUniform3f(prog->getUniform("ka"), ambient.r, ambient.g, ambient.b); + glUniform3f(prog->getUniform("lightPos1"), l[0].getPos().x, l[0].getPos().y, l[0].getPos().z); + glUniform3f(prog->getUniform("lightPos2"), l[1].getPos().x, l[1].getPos().y, l[1].getPos().z); + glUniform3f(prog->getUniform("kd"), diffuse.r, diffuse.g, diffuse.b); + glUniform3f(prog->getUniform("ks"), specular.r, specular.g, specular.b); + glUniform1f(prog->getUniform("s"), shine); + glUniform1f(prog->getUniform("i1"), l[0].getIntensity()); + glUniform1f(prog->getUniform("i2"), l[1].getIntensity()); + shape->draw(prog); + } + + MV->popMatrix(); + P->popMatrix(); + + GLSL::checkError(GET_FILE_LINE); +} + +int main(int argc, char **argv) +{ + if(argc < 2) { + cout << "Please specify the resource directory." << endl; + return 0; + } + RESOURCE_DIR = argv[1] + string("/"); + + // Set error callback. + glfwSetErrorCallback(error_callback); + // Initialize the library. + if(!glfwInit()) { + return -1; + } + // Create a windowed mode window and its OpenGL context. + window = glfwCreateWindow(640, 480, "YOUR NAME", NULL, NULL); + if(!window) { + glfwTerminate(); + return -1; + } + // Make the window's context current. + glfwMakeContextCurrent(window); + // Initialize GLEW. + glewExperimental = true; + if(glewInit() != GLEW_OK) { + cerr << "Failed to initialize GLEW" << endl; + return -1; + } + glGetError(); // A bug in glewInit() causes an error that we can safely ignore. + cout << "OpenGL version: " << glGetString(GL_VERSION) << endl; + cout << "GLSL version: " << glGetString(GL_SHADING_LANGUAGE_VERSION) << endl; + GLSL::checkVersion(); + // Set vsync. + glfwSwapInterval(1); + // Set keyboard callback. + glfwSetKeyCallback(window, key_callback); + // Set char callback. + glfwSetCharCallback(window, char_callback); + // Set cursor position callback. + glfwSetCursorPosCallback(window, cursor_position_callback); + // Set mouse button callback. + glfwSetMouseButtonCallback(window, mouse_button_callback); + // Set the window resize call back. + glfwSetFramebufferSizeCallback(window, resize_callback); + // Initialize scene. + init(); + // Loop until the user closes the window. + while(!glfwWindowShouldClose(window)) { + // Render scene. + render(); + // Swap front and back buffers. + glfwSwapBuffers(window); + // Poll for and process events. + glfwPollEvents(); + } + // Quit program. + glfwDestroyWindow(window); + glfwTerminate(); + return 0; +} diff --git a/A3/src/tiny_obj_loader.h b/A3/src/tiny_obj_loader.h new file mode 100644 index 0000000..b975601 --- /dev/null +++ b/A3/src/tiny_obj_loader.h @@ -0,0 +1,1922 @@ +/* +The MIT License (MIT) + +Copyright (c) 2012-2016 Syoyo Fujita and many contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +// +// version 1.0.3 : Support parsing texture options(#85) +// version 1.0.2 : Improve parsing speed by about a factor of 2 for large +// files(#105) +// version 1.0.1 : Fixes a shape is lost if obj ends with a 'usemtl'(#104) +// version 1.0.0 : Change data structure. Change license from BSD to MIT. +// + +// +// Use this in *one* .cc +// #define TINYOBJLOADER_IMPLEMENTATION +// #include "tiny_obj_loader.h" +// + +#ifndef TINY_OBJ_LOADER_H_ +#define TINY_OBJ_LOADER_H_ + +#include +#include +#include + +namespace tinyobj { + +// https://en.wikipedia.org/wiki/Wavefront_.obj_file says ... +// +// -blendu on | off # set horizontal texture blending +// (default on) +// -blendv on | off # set vertical texture blending +// (default on) +// -boost float_value # boost mip-map sharpness +// -mm base_value gain_value # modify texture map values (default +// 0 1) +// # base_value = brightness, +// gain_value = contrast +// -o u [v [w]] # Origin offset (default +// 0 0 0) +// -s u [v [w]] # Scale (default +// 1 1 1) +// -t u [v [w]] # Turbulence (default +// 0 0 0) +// -texres resolution # texture resolution to create +// -clamp on | off # only render texels in the clamped +// 0-1 range (default off) +// # When unclamped, textures are +// repeated across a surface, +// # when clamped, only texels which +// fall within the 0-1 +// # range are rendered. +// -bm mult_value # bump multiplier (for bump maps +// only) +// +// -imfchan r | g | b | m | l | z # specifies which channel of the file +// is used to +// # create a scalar or bump texture. +// r:red, g:green, +// # b:blue, m:matte, l:luminance, +// z:z-depth.. +// # (the default for bump is 'l' and +// for decal is 'm') +// bump -imfchan r bumpmap.tga # says to use the red channel of +// bumpmap.tga as the bumpmap +// +// For reflection maps... +// +// -type sphere # specifies a sphere for a "refl" +// reflection map +// -type cube_top | cube_bottom | # when using a cube map, the texture +// file for each +// cube_front | cube_back | # side of the cube is specified +// separately +// cube_left | cube_right + +typedef enum { + TEXTURE_TYPE_NONE, // default + TEXTURE_TYPE_SPHERE, + TEXTURE_TYPE_CUBE_TOP, + TEXTURE_TYPE_CUBE_BOTTOM, + TEXTURE_TYPE_CUBE_FRONT, + TEXTURE_TYPE_CUBE_BACK, + TEXTURE_TYPE_CUBE_LEFT, + TEXTURE_TYPE_CUBE_RIGHT +} texture_type_t; + +typedef struct { + texture_type_t type; // -type (default TEXTURE_TYPE_NONE) + float sharpness; // -boost (default 1.0?) + float brightness; // base_value in -mm option (default 0) + float contrast; // gain_value in -mm option (default 1) + float origin_offset[3]; // -o u [v [w]] (default 0 0 0) + float scale[3]; // -s u [v [w]] (default 1 1 1) + float turbulence[3]; // -t u [v [w]] (default 0 0 0) + // int texture_resolution; // -texres resolution (default = ?) TODO + bool clamp; // -clamp (default false) + char imfchan; // -imfchan (the default for bump is 'l' and for decal is 'm') + bool blendu; // -blendu (default on) + bool blendv; // -blendv (default on) + float bump_multiplier; // -bm (for bump maps only, default 1.0) +} texture_option_t; + +typedef struct { + std::string name; + + float ambient[3]; + float diffuse[3]; + float specular[3]; + float transmittance[3]; + float emission[3]; + float shininess; + float ior; // index of refraction + float dissolve; // 1 == opaque; 0 == fully transparent + // illumination model (see http://www.fileformat.info/format/material/) + int illum; + + int dummy; // Suppress padding warning. + + std::string ambient_texname; // map_Ka + std::string diffuse_texname; // map_Kd + std::string specular_texname; // map_Ks + std::string specular_highlight_texname; // map_Ns + std::string bump_texname; // map_bump, bump + std::string displacement_texname; // disp + std::string alpha_texname; // map_d + + texture_option_t ambient_texopt; + texture_option_t diffuse_texopt; + texture_option_t specular_texopt; + texture_option_t specular_highlight_texopt; + texture_option_t bump_texopt; + texture_option_t displacement_texopt; + texture_option_t alpha_texopt; + + // PBR extension + // http://exocortex.com/blog/extending_wavefront_mtl_to_support_pbr + float roughness; // [0, 1] default 0 + float metallic; // [0, 1] default 0 + float sheen; // [0, 1] default 0 + float clearcoat_thickness; // [0, 1] default 0 + float clearcoat_roughness; // [0, 1] default 0 + float anisotropy; // aniso. [0, 1] default 0 + float anisotropy_rotation; // anisor. [0, 1] default 0 + float pad0; + float pad1; + std::string roughness_texname; // map_Pr + std::string metallic_texname; // map_Pm + std::string sheen_texname; // map_Ps + std::string emissive_texname; // map_Ke + std::string normal_texname; // norm. For normal mapping. + + texture_option_t roughness_texopt; + texture_option_t metallic_texopt; + texture_option_t sheen_texopt; + texture_option_t emissive_texopt; + texture_option_t normal_texopt; + + int pad2; + + std::map unknown_parameter; +} material_t; + +typedef struct { + std::string name; + + std::vector intValues; + std::vector floatValues; + std::vector stringValues; +} tag_t; + +// Index struct to support different indices for vtx/normal/texcoord. +// -1 means not used. +typedef struct { + int vertex_index; + int normal_index; + int texcoord_index; +} index_t; + +typedef struct { + std::vector indices; + std::vector num_face_vertices; // The number of vertices per + // face. 3 = polygon, 4 = quad, + // ... Up to 255. + std::vector material_ids; // per-face material ID + std::vector tags; // SubD tag +} mesh_t; + +typedef struct { + std::string name; + mesh_t mesh; +} shape_t; + +// Vertex attributes +typedef struct { + std::vector vertices; // 'v' + std::vector normals; // 'vn' + std::vector texcoords; // 'vt' +} attrib_t; + +typedef struct callback_t_ { + // W is optional and set to 1 if there is no `w` item in `v` line + void (*vertex_cb)(void *user_data, float x, float y, float z, float w); + void (*normal_cb)(void *user_data, float x, float y, float z); + + // y and z are optional and set to 0 if there is no `y` and/or `z` item(s) in + // `vt` line. + void (*texcoord_cb)(void *user_data, float x, float y, float z); + + // called per 'f' line. num_indices is the number of face indices(e.g. 3 for + // triangle, 4 for quad) + // 0 will be passed for undefined index in index_t members. + void (*index_cb)(void *user_data, index_t *indices, int num_indices); + // `name` material name, `material_id` = the array index of material_t[]. -1 + // if + // a material not found in .mtl + void (*usemtl_cb)(void *user_data, const char *name, int material_id); + // `materials` = parsed material data. + void (*mtllib_cb)(void *user_data, const material_t *materials, + int num_materials); + // There may be multiple group names + void (*group_cb)(void *user_data, const char **names, int num_names); + void (*object_cb)(void *user_data, const char *name); + + callback_t_() + : vertex_cb(NULL), + normal_cb(NULL), + texcoord_cb(NULL), + index_cb(NULL), + usemtl_cb(NULL), + mtllib_cb(NULL), + group_cb(NULL), + object_cb(NULL) {} +} callback_t; + +class MaterialReader { + public: + MaterialReader() {} + virtual ~MaterialReader(); + + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, + std::string *err) = 0; +}; + +class MaterialFileReader : public MaterialReader { + public: + explicit MaterialFileReader(const std::string &mtl_basedir) + : m_mtlBaseDir(mtl_basedir) {} + virtual ~MaterialFileReader() {} + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *err); + + private: + std::string m_mtlBaseDir; +}; + +class MaterialStreamReader : public MaterialReader { + public: + explicit MaterialStreamReader(std::istream &inStream) + : m_inStream(inStream) {} + virtual ~MaterialStreamReader() {} + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *err); + + private: + std::istream &m_inStream; +}; + +/// Loads .obj from a file. +/// 'attrib', 'shapes' and 'materials' will be filled with parsed shape data +/// 'shapes' will be filled with parsed shape data +/// Returns true when loading .obj become success. +/// Returns warning and error message into `err` +/// 'mtl_basedir' is optional, and used for base directory for .mtl file. +/// In default(`NULL'), .mtl file is searched from an application's working directory. +/// 'triangulate' is optional, and used whether triangulate polygon face in .obj +/// or not. +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *err, + const char *filename, const char *mtl_basedir = NULL, + bool triangulate = true); + +/// Loads .obj from a file with custom user callback. +/// .mtl is loaded as usual and parsed material_t data will be passed to +/// `callback.mtllib_cb`. +/// Returns true when loading .obj/.mtl become success. +/// Returns warning and error message into `err` +/// See `examples/callback_api/` for how to use this function. +bool LoadObjWithCallback(std::istream &inStream, const callback_t &callback, + void *user_data = NULL, + MaterialReader *readMatFn = NULL, + std::string *err = NULL); + +/// Loads object from a std::istream, uses GetMtlIStreamFn to retrieve +/// std::istream for materials. +/// Returns true when loading .obj become success. +/// Returns warning and error message into `err` +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *err, + std::istream *inStream, MaterialReader *readMatFn = NULL, + bool triangulate = true); + +/// Loads materials into std::map +void LoadMtl(std::map *material_map, + std::vector *materials, std::istream *inStream); + +} // namespace tinyobj + +#ifdef TINYOBJLOADER_IMPLEMENTATION +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace tinyobj { + +MaterialReader::~MaterialReader() {} + +#define TINYOBJ_SSCANF_BUFFER_SIZE (4096) + +struct vertex_index { + int v_idx, vt_idx, vn_idx; + vertex_index() : v_idx(-1), vt_idx(-1), vn_idx(-1) {} + explicit vertex_index(int idx) : v_idx(idx), vt_idx(idx), vn_idx(idx) {} + vertex_index(int vidx, int vtidx, int vnidx) + : v_idx(vidx), vt_idx(vtidx), vn_idx(vnidx) {} +}; + +struct tag_sizes { + tag_sizes() : num_ints(0), num_floats(0), num_strings(0) {} + int num_ints; + int num_floats; + int num_strings; +}; + +struct obj_shape { + std::vector v; + std::vector vn; + std::vector vt; +}; + +// See +// http://stackoverflow.com/questions/6089231/getting-std-ifstream-to-handle-lf-cr-and-crlf +static std::istream &safeGetline(std::istream &is, std::string &t) { + t.clear(); + + // The characters in the stream are read one-by-one using a std::streambuf. + // That is faster than reading them one-by-one using the std::istream. + // Code that uses streambuf this way must be guarded by a sentry object. + // The sentry object performs various tasks, + // such as thread synchronization and updating the stream state. + + std::istream::sentry se(is, true); + std::streambuf *sb = is.rdbuf(); + + for (;;) { + int c = sb->sbumpc(); + switch (c) { + case '\n': + return is; + case '\r': + if (sb->sgetc() == '\n') sb->sbumpc(); + return is; + case EOF: + // Also handle the case when the last line has no line ending + if (t.empty()) is.setstate(std::ios::eofbit); + return is; + default: + t += static_cast(c); + } + } +} + +#define IS_SPACE(x) (((x) == ' ') || ((x) == '\t')) +#define IS_DIGIT(x) \ + (static_cast((x) - '0') < static_cast(10)) +#define IS_NEW_LINE(x) (((x) == '\r') || ((x) == '\n') || ((x) == '\0')) + +// Make index zero-base, and also support relative index. +static inline int fixIndex(int idx, int n) { + if (idx > 0) return idx - 1; + if (idx == 0) return 0; + return n + idx; // negative value = relative +} + +static inline std::string parseString(const char **token) { + std::string s; + (*token) += strspn((*token), " \t"); + size_t e = strcspn((*token), " \t\r"); + s = std::string((*token), &(*token)[e]); + (*token) += e; + return s; +} + +static inline int parseInt(const char **token) { + (*token) += strspn((*token), " \t"); + int i = atoi((*token)); + (*token) += strcspn((*token), " \t\r"); + return i; +} + +// Tries to parse a floating point number located at s. +// +// s_end should be a location in the string where reading should absolutely +// stop. For example at the end of the string, to prevent buffer overflows. +// +// Parses the following EBNF grammar: +// sign = "+" | "-" ; +// END = ? anything not in digit ? +// digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; +// integer = [sign] , digit , {digit} ; +// decimal = integer , ["." , integer] ; +// float = ( decimal , END ) | ( decimal , ("E" | "e") , integer , END ) ; +// +// Valid strings are for example: +// -0 +3.1417e+2 -0.0E-3 1.0324 -1.41 11e2 +// +// If the parsing is a success, result is set to the parsed value and true +// is returned. +// +// The function is greedy and will parse until any of the following happens: +// - a non-conforming character is encountered. +// - s_end is reached. +// +// The following situations triggers a failure: +// - s >= s_end. +// - parse failure. +// +static bool tryParseDouble(const char *s, const char *s_end, double *result) { + if (s >= s_end) { + return false; + } + + double mantissa = 0.0; + // This exponent is base 2 rather than 10. + // However the exponent we parse is supposed to be one of ten, + // thus we must take care to convert the exponent/and or the + // mantissa to a * 2^E, where a is the mantissa and E is the + // exponent. + // To get the final double we will use ldexp, it requires the + // exponent to be in base 2. + int exponent = 0; + + // NOTE: THESE MUST BE DECLARED HERE SINCE WE ARE NOT ALLOWED + // TO JUMP OVER DEFINITIONS. + char sign = '+'; + char exp_sign = '+'; + char const *curr = s; + + // How many characters were read in a loop. + int read = 0; + // Tells whether a loop terminated due to reaching s_end. + bool end_not_reached = false; + + /* + BEGIN PARSING. + */ + + // Find out what sign we've got. + if (*curr == '+' || *curr == '-') { + sign = *curr; + curr++; + } else if (IS_DIGIT(*curr)) { /* Pass through. */ + } else { + goto fail; + } + + // Read the integer part. + end_not_reached = (curr != s_end); + while (end_not_reached && IS_DIGIT(*curr)) { + mantissa *= 10; + mantissa += static_cast(*curr - 0x30); + curr++; + read++; + end_not_reached = (curr != s_end); + } + + // We must make sure we actually got something. + if (read == 0) goto fail; + // We allow numbers of form "#", "###" etc. + if (!end_not_reached) goto assemble; + + // Read the decimal part. + if (*curr == '.') { + curr++; + read = 1; + end_not_reached = (curr != s_end); + while (end_not_reached && IS_DIGIT(*curr)) { + static const double pow_lut[] = { + 1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, + }; + const int lut_entries = sizeof pow_lut / sizeof pow_lut[0]; + + // NOTE: Don't use powf here, it will absolutely murder precision. + mantissa += static_cast(*curr - 0x30) * + (read < lut_entries ? pow_lut[read] : pow(10.0, -read)); + read++; + curr++; + end_not_reached = (curr != s_end); + } + } else if (*curr == 'e' || *curr == 'E') { + } else { + goto assemble; + } + + if (!end_not_reached) goto assemble; + + // Read the exponent part. + if (*curr == 'e' || *curr == 'E') { + curr++; + // Figure out if a sign is present and if it is. + end_not_reached = (curr != s_end); + if (end_not_reached && (*curr == '+' || *curr == '-')) { + exp_sign = *curr; + curr++; + } else if (IS_DIGIT(*curr)) { /* Pass through. */ + } else { + // Empty E is not allowed. + goto fail; + } + + read = 0; + end_not_reached = (curr != s_end); + while (end_not_reached && IS_DIGIT(*curr)) { + exponent *= 10; + exponent += static_cast(*curr - 0x30); + curr++; + read++; + end_not_reached = (curr != s_end); + } + exponent *= (exp_sign == '+' ? 1 : -1); + if (read == 0) goto fail; + } + +assemble: + *result = + (sign == '+' ? 1 : -1) * + (exponent ? ldexp(mantissa * pow(5.0, exponent), exponent) : mantissa); + return true; +fail: + return false; +} + +static inline float parseFloat(const char **token, double default_value = 0.0) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + double val = default_value; + tryParseDouble((*token), end, &val); + float f = static_cast(val); + (*token) = end; + return f; +} + +static inline void parseFloat2(float *x, float *y, const char **token, + const double default_x = 0.0, + const double default_y = 0.0) { + (*x) = parseFloat(token, default_x); + (*y) = parseFloat(token, default_y); +} + +static inline void parseFloat3(float *x, float *y, float *z, const char **token, + const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0) { + (*x) = parseFloat(token, default_x); + (*y) = parseFloat(token, default_y); + (*z) = parseFloat(token, default_z); +} + +static inline void parseV(float *x, float *y, float *z, float *w, + const char **token, const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0, + const double default_w = 1.0) { + (*x) = parseFloat(token, default_x); + (*y) = parseFloat(token, default_y); + (*z) = parseFloat(token, default_z); + (*w) = parseFloat(token, default_w); +} + +static inline bool parseOnOff(const char **token, bool default_value = true) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + + bool ret = default_value; + if ((0 == strncmp((*token), "on", 2))) { + ret = true; + } else if ((0 == strncmp((*token), "off", 3))) { + ret = false; + } + + (*token) = end; + return ret; +} + +static inline texture_type_t parseTextureType( + const char **token, texture_type_t default_value = TEXTURE_TYPE_NONE) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + texture_type_t ty = default_value; + + if ((0 == strncmp((*token), "cube_top", strlen("cube_top")))) { + ty = TEXTURE_TYPE_CUBE_TOP; + } else if ((0 == strncmp((*token), "cube_bottom", strlen("cube_bottom")))) { + ty = TEXTURE_TYPE_CUBE_BOTTOM; + } else if ((0 == strncmp((*token), "cube_left", strlen("cube_left")))) { + ty = TEXTURE_TYPE_CUBE_LEFT; + } else if ((0 == strncmp((*token), "cube_right", strlen("cube_right")))) { + ty = TEXTURE_TYPE_CUBE_RIGHT; + } else if ((0 == strncmp((*token), "cube_front", strlen("cube_front")))) { + ty = TEXTURE_TYPE_CUBE_FRONT; + } else if ((0 == strncmp((*token), "cube_back", strlen("cube_back")))) { + ty = TEXTURE_TYPE_CUBE_BACK; + } else if ((0 == strncmp((*token), "sphere", strlen("sphere")))) { + ty = TEXTURE_TYPE_SPHERE; + } + + (*token) = end; + return ty; +} + +static tag_sizes parseTagTriple(const char **token) { + tag_sizes ts; + + ts.num_ints = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return ts; + } + (*token)++; + + ts.num_floats = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return ts; + } + (*token)++; + + ts.num_strings = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r") + 1; + + return ts; +} + +// Parse triples with index offsets: i, i/j/k, i//k, i/j +static vertex_index parseTriple(const char **token, int vsize, int vnsize, + int vtsize) { + vertex_index vi(-1); + + vi.v_idx = fixIndex(atoi((*token)), vsize); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + (*token)++; + + // i//k + if ((*token)[0] == '/') { + (*token)++; + vi.vn_idx = fixIndex(atoi((*token)), vnsize); + (*token) += strcspn((*token), "/ \t\r"); + return vi; + } + + // i/j/k or i/j + vi.vt_idx = fixIndex(atoi((*token)), vtsize); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + + // i/j/k + (*token)++; // skip '/' + vi.vn_idx = fixIndex(atoi((*token)), vnsize); + (*token) += strcspn((*token), "/ \t\r"); + return vi; +} + +// Parse raw triples: i, i/j/k, i//k, i/j +static vertex_index parseRawTriple(const char **token) { + vertex_index vi(static_cast(0)); // 0 is an invalid index in OBJ + + vi.v_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + (*token)++; + + // i//k + if ((*token)[0] == '/') { + (*token)++; + vi.vn_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + return vi; + } + + // i/j/k or i/j + vi.vt_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + + // i/j/k + (*token)++; // skip '/' + vi.vn_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + return vi; +} + +static bool ParseTextureNameAndOption(std::string *texname, + texture_option_t *texopt, + const char *linebuf, const bool is_bump) { + // @todo { write more robust lexer and parser. } + bool found_texname = false; + std::string texture_name; + + // Fill with default value for texopt. + if (is_bump) { + texopt->imfchan = 'l'; + } else { + texopt->imfchan = 'm'; + } + texopt->bump_multiplier = 1.0f; + texopt->clamp = false; + texopt->blendu = true; + texopt->blendv = true; + texopt->sharpness = 1.0f; + texopt->brightness = 0.0f; + texopt->contrast = 1.0f; + texopt->origin_offset[0] = 0.0f; + texopt->origin_offset[1] = 0.0f; + texopt->origin_offset[2] = 0.0f; + texopt->scale[0] = 1.0f; + texopt->scale[1] = 1.0f; + texopt->scale[2] = 1.0f; + texopt->turbulence[0] = 0.0f; + texopt->turbulence[1] = 0.0f; + texopt->turbulence[2] = 0.0f; + texopt->type = TEXTURE_TYPE_NONE; + + const char *token = linebuf; // Assume line ends with NULL + + while (!IS_NEW_LINE((*token))) { + if ((0 == strncmp(token, "-blendu", 7)) && IS_SPACE((token[7]))) { + token += 8; + texopt->blendu = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-blendv", 7)) && IS_SPACE((token[7]))) { + token += 8; + texopt->blendv = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-clamp", 6)) && IS_SPACE((token[6]))) { + token += 7; + texopt->clamp = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-boost", 6)) && IS_SPACE((token[6]))) { + token += 7; + texopt->sharpness = parseFloat(&token, 1.0); + } else if ((0 == strncmp(token, "-bm", 3)) && IS_SPACE((token[3]))) { + token += 4; + texopt->bump_multiplier = parseFloat(&token, 1.0); + } else if ((0 == strncmp(token, "-o", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseFloat3(&(texopt->origin_offset[0]), &(texopt->origin_offset[1]), + &(texopt->origin_offset[2]), &token); + } else if ((0 == strncmp(token, "-s", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseFloat3(&(texopt->scale[0]), &(texopt->scale[1]), &(texopt->scale[2]), + &token, 1.0, 1.0, 1.0); + } else if ((0 == strncmp(token, "-t", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseFloat3(&(texopt->turbulence[0]), &(texopt->turbulence[1]), + &(texopt->turbulence[2]), &token); + } else if ((0 == strncmp(token, "-type", 5)) && IS_SPACE((token[5]))) { + token += 5; + texopt->type = parseTextureType((&token), TEXTURE_TYPE_NONE); + } else if ((0 == strncmp(token, "-imfchan", 8)) && IS_SPACE((token[8]))) { + token += 9; + token += strspn(token, " \t"); + const char *end = token + strcspn(token, " \t\r"); + if ((end - token) == 1) { // Assume one char for -imfchan + texopt->imfchan = (*token); + } + token = end; + } else if ((0 == strncmp(token, "-mm", 3)) && IS_SPACE((token[3]))) { + token += 4; + parseFloat2(&(texopt->brightness), &(texopt->contrast), &token, 0.0, 1.0); + } else { + // Assume texture filename + token += strspn(token, " \t"); // skip space + size_t len = strcspn(token, " \t\r"); // untile next space + texture_name = std::string(token, token + len); + token += len; + + token += strspn(token, " \t"); // skip space + + found_texname = true; + } + } + + if (found_texname) { + (*texname) = texture_name; + return true; + } else { + return false; + } +} + +static void InitMaterial(material_t *material) { + material->name = ""; + material->ambient_texname = ""; + material->diffuse_texname = ""; + material->specular_texname = ""; + material->specular_highlight_texname = ""; + material->bump_texname = ""; + material->displacement_texname = ""; + material->alpha_texname = ""; + for (int i = 0; i < 3; i++) { + material->ambient[i] = 0.f; + material->diffuse[i] = 0.f; + material->specular[i] = 0.f; + material->transmittance[i] = 0.f; + material->emission[i] = 0.f; + } + material->illum = 0; + material->dissolve = 1.f; + material->shininess = 1.f; + material->ior = 1.f; + + material->roughness = 0.f; + material->metallic = 0.f; + material->sheen = 0.f; + material->clearcoat_thickness = 0.f; + material->clearcoat_roughness = 0.f; + material->anisotropy_rotation = 0.f; + material->anisotropy = 0.f; + material->roughness_texname = ""; + material->metallic_texname = ""; + material->sheen_texname = ""; + material->emissive_texname = ""; + material->normal_texname = ""; + + material->unknown_parameter.clear(); +} + +static bool exportFaceGroupToShape( + shape_t *shape, const std::vector > &faceGroup, + const std::vector &tags, const int material_id, + const std::string &name, bool triangulate) { + if (faceGroup.empty()) { + return false; + } + + // Flatten vertices and indices + for (size_t i = 0; i < faceGroup.size(); i++) { + const std::vector &face = faceGroup[i]; + + vertex_index i0 = face[0]; + vertex_index i1(-1); + vertex_index i2 = face[1]; + + size_t npolys = face.size(); + + if (triangulate) { + // Polygon -> triangle fan conversion + for (size_t k = 2; k < npolys; k++) { + i1 = i2; + i2 = face[k]; + + index_t idx0, idx1, idx2; + idx0.vertex_index = i0.v_idx; + idx0.normal_index = i0.vn_idx; + idx0.texcoord_index = i0.vt_idx; + idx1.vertex_index = i1.v_idx; + idx1.normal_index = i1.vn_idx; + idx1.texcoord_index = i1.vt_idx; + idx2.vertex_index = i2.v_idx; + idx2.normal_index = i2.vn_idx; + idx2.texcoord_index = i2.vt_idx; + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.material_ids.push_back(material_id); + } + } else { + for (size_t k = 0; k < npolys; k++) { + index_t idx; + idx.vertex_index = face[k].v_idx; + idx.normal_index = face[k].vn_idx; + idx.texcoord_index = face[k].vt_idx; + shape->mesh.indices.push_back(idx); + } + + shape->mesh.num_face_vertices.push_back( + static_cast(npolys)); + shape->mesh.material_ids.push_back(material_id); // per face + } + } + + shape->name = name; + shape->mesh.tags = tags; + + return true; +} + +void LoadMtl(std::map *material_map, + std::vector *materials, std::istream *inStream) { + // Create a default material anyway. + material_t material; + InitMaterial(&material); + + std::string linebuf; + while (inStream->peek() != -1) { + safeGetline(*inStream, linebuf); + + // Trim trailing whitespace. + if (linebuf.size() > 0) { + linebuf = linebuf.substr(0, linebuf.find_last_not_of(" \t") + 1); + } + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // new mtl + if ((0 == strncmp(token, "newmtl", 6)) && IS_SPACE((token[6]))) { + // flush previous material. + if (!material.name.empty()) { + material_map->insert(std::pair( + material.name, static_cast(materials->size()))); + materials->push_back(material); + } + + // initial temporary material + InitMaterial(&material); + + // set new mtl name + char namebuf[TINYOBJ_SSCANF_BUFFER_SIZE]; + token += 7; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + material.name = namebuf; + continue; + } + + // ambient + if (token[0] == 'K' && token[1] == 'a' && IS_SPACE((token[2]))) { + token += 2; + float r, g, b; + parseFloat3(&r, &g, &b, &token); + material.ambient[0] = r; + material.ambient[1] = g; + material.ambient[2] = b; + continue; + } + + // diffuse + if (token[0] == 'K' && token[1] == 'd' && IS_SPACE((token[2]))) { + token += 2; + float r, g, b; + parseFloat3(&r, &g, &b, &token); + material.diffuse[0] = r; + material.diffuse[1] = g; + material.diffuse[2] = b; + continue; + } + + // specular + if (token[0] == 'K' && token[1] == 's' && IS_SPACE((token[2]))) { + token += 2; + float r, g, b; + parseFloat3(&r, &g, &b, &token); + material.specular[0] = r; + material.specular[1] = g; + material.specular[2] = b; + continue; + } + + // transmittance + if ((token[0] == 'K' && token[1] == 't' && IS_SPACE((token[2]))) || + (token[0] == 'T' && token[1] == 'f' && IS_SPACE((token[2])))) { + token += 2; + float r, g, b; + parseFloat3(&r, &g, &b, &token); + material.transmittance[0] = r; + material.transmittance[1] = g; + material.transmittance[2] = b; + continue; + } + + // ior(index of refraction) + if (token[0] == 'N' && token[1] == 'i' && IS_SPACE((token[2]))) { + token += 2; + material.ior = parseFloat(&token); + continue; + } + + // emission + if (token[0] == 'K' && token[1] == 'e' && IS_SPACE(token[2])) { + token += 2; + float r, g, b; + parseFloat3(&r, &g, &b, &token); + material.emission[0] = r; + material.emission[1] = g; + material.emission[2] = b; + continue; + } + + // shininess + if (token[0] == 'N' && token[1] == 's' && IS_SPACE(token[2])) { + token += 2; + material.shininess = parseFloat(&token); + continue; + } + + // illum model + if (0 == strncmp(token, "illum", 5) && IS_SPACE(token[5])) { + token += 6; + material.illum = parseInt(&token); + continue; + } + + // dissolve + if ((token[0] == 'd' && IS_SPACE(token[1]))) { + token += 1; + material.dissolve = parseFloat(&token); + continue; + } + if (token[0] == 'T' && token[1] == 'r' && IS_SPACE(token[2])) { + token += 2; + // Invert value of Tr(assume Tr is in range [0, 1]) + material.dissolve = 1.0f - parseFloat(&token); + continue; + } + + // PBR: roughness + if (token[0] == 'P' && token[1] == 'r' && IS_SPACE(token[2])) { + token += 2; + material.roughness = parseFloat(&token); + continue; + } + + // PBR: metallic + if (token[0] == 'P' && token[1] == 'm' && IS_SPACE(token[2])) { + token += 2; + material.metallic = parseFloat(&token); + continue; + } + + // PBR: sheen + if (token[0] == 'P' && token[1] == 's' && IS_SPACE(token[2])) { + token += 2; + material.sheen = parseFloat(&token); + continue; + } + + // PBR: clearcoat thickness + if (token[0] == 'P' && token[1] == 'c' && IS_SPACE(token[2])) { + token += 2; + material.clearcoat_thickness = parseFloat(&token); + continue; + } + + // PBR: clearcoat roughness + if ((0 == strncmp(token, "Pcr", 3)) && IS_SPACE(token[3])) { + token += 4; + material.clearcoat_roughness = parseFloat(&token); + continue; + } + + // PBR: anisotropy + if ((0 == strncmp(token, "aniso", 5)) && IS_SPACE(token[5])) { + token += 6; + material.anisotropy = parseFloat(&token); + continue; + } + + // PBR: anisotropy rotation + if ((0 == strncmp(token, "anisor", 6)) && IS_SPACE(token[6])) { + token += 7; + material.anisotropy_rotation = parseFloat(&token); + continue; + } + + // ambient texture + if ((0 == strncmp(token, "map_Ka", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.ambient_texname), + &(material.ambient_texopt), token, + /* is_bump */ false); + continue; + } + + // diffuse texture + if ((0 == strncmp(token, "map_Kd", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.diffuse_texname), + &(material.diffuse_texopt), token, + /* is_bump */ false); + continue; + } + + // specular texture + if ((0 == strncmp(token, "map_Ks", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.specular_texname), + &(material.specular_texopt), token, + /* is_bump */ false); + continue; + } + + // specular highlight texture + if ((0 == strncmp(token, "map_Ns", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.specular_highlight_texname), + &(material.specular_highlight_texopt), token, + /* is_bump */ false); + continue; + } + + // bump texture + if ((0 == strncmp(token, "map_bump", 8)) && IS_SPACE(token[8])) { + token += 9; + ParseTextureNameAndOption(&(material.bump_texname), + &(material.bump_texopt), token, + /* is_bump */ true); + continue; + } + + // bump texture + if ((0 == strncmp(token, "bump", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.bump_texname), + &(material.bump_texopt), token, + /* is_bump */ true); + continue; + } + + // alpha texture + if ((0 == strncmp(token, "map_d", 5)) && IS_SPACE(token[5])) { + token += 6; + material.alpha_texname = token; + ParseTextureNameAndOption(&(material.alpha_texname), + &(material.alpha_texopt), token, + /* is_bump */ false); + continue; + } + + // displacement texture + if ((0 == strncmp(token, "disp", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.displacement_texname), + &(material.displacement_texopt), token, + /* is_bump */ false); + continue; + } + + // PBR: roughness texture + if ((0 == strncmp(token, "map_Pr", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.roughness_texname), + &(material.roughness_texopt), token, + /* is_bump */ false); + continue; + } + + // PBR: metallic texture + if ((0 == strncmp(token, "map_Pm", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.metallic_texname), + &(material.metallic_texopt), token, + /* is_bump */ false); + continue; + } + + // PBR: sheen texture + if ((0 == strncmp(token, "map_Ps", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.sheen_texname), + &(material.sheen_texopt), token, + /* is_bump */ false); + continue; + } + + // PBR: emissive texture + if ((0 == strncmp(token, "map_Ke", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.emissive_texname), + &(material.emissive_texopt), token, + /* is_bump */ false); + continue; + } + + // PBR: normal map texture + if ((0 == strncmp(token, "norm", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption( + &(material.normal_texname), &(material.normal_texopt), token, + /* is_bump */ false); // @fixme { is_bump will be true? } + continue; + } + + // unknown parameter + const char *_space = strchr(token, ' '); + if (!_space) { + _space = strchr(token, '\t'); + } + if (_space) { + std::ptrdiff_t len = _space - token; + std::string key(token, static_cast(len)); + std::string value = _space + 1; + material.unknown_parameter.insert( + std::pair(key, value)); + } + } + // flush last material. + material_map->insert(std::pair( + material.name, static_cast(materials->size()))); + materials->push_back(material); +} + +bool MaterialFileReader::operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, + std::string *err) { + std::string filepath; + + if (!m_mtlBaseDir.empty()) { + filepath = std::string(m_mtlBaseDir) + matId; + } else { + filepath = matId; + } + + std::ifstream matIStream(filepath.c_str()); + LoadMtl(matMap, materials, &matIStream); + if (!matIStream) { + std::stringstream ss; + ss << "WARN: Material file [ " << filepath + << " ] not found. Created a default material."; + if (err) { + (*err) += ss.str(); + } + } + return true; +} + +bool MaterialStreamReader::operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, + std::string *err) { + (void)matId; + LoadMtl(matMap, materials, &m_inStream); + if (!m_inStream) { + std::stringstream ss; + ss << "WARN: Material stream in error state." + << " Created a default material."; + if (err) { + (*err) += ss.str(); + } + } + return true; +} + +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *err, + const char *filename, const char *mtl_basedir, + bool trianglulate) { + attrib->vertices.clear(); + attrib->normals.clear(); + attrib->texcoords.clear(); + shapes->clear(); + + std::stringstream errss; + + std::ifstream ifs(filename); + if (!ifs) { + errss << "Cannot open file [" << filename << "]" << std::endl; + if (err) { + (*err) = errss.str(); + } + return false; + } + + std::string baseDir; + if (mtl_basedir) { + baseDir = mtl_basedir; + } + MaterialFileReader matFileReader(baseDir); + + return LoadObj(attrib, shapes, materials, err, &ifs, &matFileReader, + trianglulate); +} + +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *err, + std::istream *inStream, MaterialReader *readMatFn /*= NULL*/, + bool triangulate) { + std::stringstream errss; + + std::vector v; + std::vector vn; + std::vector vt; + std::vector tags; + std::vector > faceGroup; + std::string name; + + // material + std::map material_map; + int material = -1; + + shape_t shape; + + std::string linebuf; + while (inStream->peek() != -1) { + safeGetline(*inStream, linebuf); + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // vertex + if (token[0] == 'v' && IS_SPACE((token[1]))) { + token += 2; + float x, y, z; + parseFloat3(&x, &y, &z, &token); + v.push_back(x); + v.push_back(y); + v.push_back(z); + continue; + } + + // normal + if (token[0] == 'v' && token[1] == 'n' && IS_SPACE((token[2]))) { + token += 3; + float x, y, z; + parseFloat3(&x, &y, &z, &token); + vn.push_back(x); + vn.push_back(y); + vn.push_back(z); + continue; + } + + // texcoord + if (token[0] == 'v' && token[1] == 't' && IS_SPACE((token[2]))) { + token += 3; + float x, y; + parseFloat2(&x, &y, &token); + vt.push_back(x); + vt.push_back(y); + continue; + } + + // face + if (token[0] == 'f' && IS_SPACE((token[1]))) { + token += 2; + token += strspn(token, " \t"); + + std::vector face; + face.reserve(3); + + while (!IS_NEW_LINE(token[0])) { + vertex_index vi = parseTriple(&token, static_cast(v.size() / 3), + static_cast(vn.size() / 3), + static_cast(vt.size() / 2)); + face.push_back(vi); + size_t n = strspn(token, " \t\r"); + token += n; + } + + // replace with emplace_back + std::move on C++11 + faceGroup.push_back(std::vector()); + faceGroup[faceGroup.size() - 1].swap(face); + + continue; + } + + // use mtl + if ((0 == strncmp(token, "usemtl", 6)) && IS_SPACE((token[6]))) { + char namebuf[TINYOBJ_SSCANF_BUFFER_SIZE]; + token += 7; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + + int newMaterialId = -1; + if (material_map.find(namebuf) != material_map.end()) { + newMaterialId = material_map[namebuf]; + } else { + // { error!! material not found } + } + + if (newMaterialId != material) { + // Create per-face material. Thus we don't add `shape` to `shapes` at + // this time. + // just clear `faceGroup` after `exportFaceGroupToShape()` call. + exportFaceGroupToShape(&shape, faceGroup, tags, material, name, + triangulate); + faceGroup.clear(); + material = newMaterialId; + } + + continue; + } + + // load mtl + if ((0 == strncmp(token, "mtllib", 6)) && IS_SPACE((token[6]))) { + if (readMatFn) { + char namebuf[TINYOBJ_SSCANF_BUFFER_SIZE]; + token += 7; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + + std::string err_mtl; + bool ok = (*readMatFn)(namebuf, materials, &material_map, &err_mtl); + if (err) { + (*err) += err_mtl; + } + + if (!ok) { + faceGroup.clear(); // for safety + return false; + } + } + + continue; + } + + // group name + if (token[0] == 'g' && IS_SPACE((token[1]))) { + // flush previous face group. + bool ret = exportFaceGroupToShape(&shape, faceGroup, tags, material, name, + triangulate); + if (ret) { + shapes->push_back(shape); + } + + shape = shape_t(); + + // material = -1; + faceGroup.clear(); + + std::vector names; + names.reserve(2); + + while (!IS_NEW_LINE(token[0])) { + std::string str = parseString(&token); + names.push_back(str); + token += strspn(token, " \t\r"); // skip tag + } + + assert(names.size() > 0); + + // names[0] must be 'g', so skip the 0th element. + if (names.size() > 1) { + name = names[1]; + } else { + name = ""; + } + + continue; + } + + // object name + if (token[0] == 'o' && IS_SPACE((token[1]))) { + // flush previous face group. + bool ret = exportFaceGroupToShape(&shape, faceGroup, tags, material, name, + triangulate); + if (ret) { + shapes->push_back(shape); + } + + // material = -1; + faceGroup.clear(); + shape = shape_t(); + + // @todo { multiple object name? } + char namebuf[TINYOBJ_SSCANF_BUFFER_SIZE]; + token += 2; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + name = std::string(namebuf); + + continue; + } + + if (token[0] == 't' && IS_SPACE(token[1])) { + tag_t tag; + + char namebuf[4096]; + token += 2; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + tag.name = std::string(namebuf); + + token += tag.name.size() + 1; + + tag_sizes ts = parseTagTriple(&token); + + tag.intValues.resize(static_cast(ts.num_ints)); + + for (size_t i = 0; i < static_cast(ts.num_ints); ++i) { + tag.intValues[i] = atoi(token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.floatValues.resize(static_cast(ts.num_floats)); + for (size_t i = 0; i < static_cast(ts.num_floats); ++i) { + tag.floatValues[i] = parseFloat(&token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.stringValues.resize(static_cast(ts.num_strings)); + for (size_t i = 0; i < static_cast(ts.num_strings); ++i) { + char stringValueBuffer[4096]; + +#ifdef _MSC_VER + sscanf_s(token, "%s", stringValueBuffer, + (unsigned)_countof(stringValueBuffer)); +#else + sscanf(token, "%s", stringValueBuffer); +#endif + tag.stringValues[i] = stringValueBuffer; + token += tag.stringValues[i].size() + 1; + } + + tags.push_back(tag); + } + + // Ignore unknown command. + } + + bool ret = exportFaceGroupToShape(&shape, faceGroup, tags, material, name, + triangulate); + // exportFaceGroupToShape return false when `usemtl` is called in the last + // line. + // we also add `shape` to `shapes` when `shape.mesh` has already some + // faces(indices) + if (ret || shape.mesh.indices.size()) { + shapes->push_back(shape); + } + faceGroup.clear(); // for safety + + if (err) { + (*err) += errss.str(); + } + + attrib->vertices.swap(v); + attrib->normals.swap(vn); + attrib->texcoords.swap(vt); + + return true; +} + +bool LoadObjWithCallback(std::istream &inStream, const callback_t &callback, + void *user_data /*= NULL*/, + MaterialReader *readMatFn /*= NULL*/, + std::string *err /*= NULL*/) { + std::stringstream errss; + + // material + std::map material_map; + int material_id = -1; // -1 = invalid + + std::vector indices; + std::vector materials; + std::vector names; + names.reserve(2); + std::string name; + std::vector names_out; + + std::string linebuf; + while (inStream.peek() != -1) { + safeGetline(inStream, linebuf); + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // vertex + if (token[0] == 'v' && IS_SPACE((token[1]))) { + token += 2; + float x, y, z, w; // w is optional. default = 1.0 + parseV(&x, &y, &z, &w, &token); + if (callback.vertex_cb) { + callback.vertex_cb(user_data, x, y, z, w); + } + continue; + } + + // normal + if (token[0] == 'v' && token[1] == 'n' && IS_SPACE((token[2]))) { + token += 3; + float x, y, z; + parseFloat3(&x, &y, &z, &token); + if (callback.normal_cb) { + callback.normal_cb(user_data, x, y, z); + } + continue; + } + + // texcoord + if (token[0] == 'v' && token[1] == 't' && IS_SPACE((token[2]))) { + token += 3; + float x, y, z; // y and z are optional. default = 0.0 + parseFloat3(&x, &y, &z, &token); + if (callback.texcoord_cb) { + callback.texcoord_cb(user_data, x, y, z); + } + continue; + } + + // face + if (token[0] == 'f' && IS_SPACE((token[1]))) { + token += 2; + token += strspn(token, " \t"); + + indices.clear(); + while (!IS_NEW_LINE(token[0])) { + vertex_index vi = parseRawTriple(&token); + + index_t idx; + idx.vertex_index = vi.v_idx; + idx.normal_index = vi.vn_idx; + idx.texcoord_index = vi.vt_idx; + + indices.push_back(idx); + size_t n = strspn(token, " \t\r"); + token += n; + } + + if (callback.index_cb && indices.size() > 0) { + callback.index_cb(user_data, &indices.at(0), + static_cast(indices.size())); + } + + continue; + } + + // use mtl + if ((0 == strncmp(token, "usemtl", 6)) && IS_SPACE((token[6]))) { + char namebuf[TINYOBJ_SSCANF_BUFFER_SIZE]; + token += 7; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, + static_cast(_countof(namebuf))); +#else + sscanf(token, "%s", namebuf); +#endif + + int newMaterialId = -1; + if (material_map.find(namebuf) != material_map.end()) { + newMaterialId = material_map[namebuf]; + } else { + // { error!! material not found } + } + + if (newMaterialId != material_id) { + material_id = newMaterialId; + } + + if (callback.usemtl_cb) { + callback.usemtl_cb(user_data, namebuf, material_id); + } + + continue; + } + + // load mtl + if ((0 == strncmp(token, "mtllib", 6)) && IS_SPACE((token[6]))) { + if (readMatFn) { + char namebuf[TINYOBJ_SSCANF_BUFFER_SIZE]; + token += 7; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + + std::string err_mtl; + materials.clear(); + bool ok = (*readMatFn)(namebuf, &materials, &material_map, &err_mtl); + if (err) { + (*err) += err_mtl; + } + + if (!ok) { + return false; + } + + if (callback.mtllib_cb) { + callback.mtllib_cb(user_data, &materials.at(0), + static_cast(materials.size())); + } + } + + continue; + } + + // group name + if (token[0] == 'g' && IS_SPACE((token[1]))) { + names.clear(); + + while (!IS_NEW_LINE(token[0])) { + std::string str = parseString(&token); + names.push_back(str); + token += strspn(token, " \t\r"); // skip tag + } + + assert(names.size() > 0); + + // names[0] must be 'g', so skip the 0th element. + if (names.size() > 1) { + name = names[1]; + } else { + name.clear(); + } + + if (callback.group_cb) { + if (names.size() > 1) { + // create const char* array. + names_out.resize(names.size() - 1); + for (size_t j = 0; j < names_out.size(); j++) { + names_out[j] = names[j + 1].c_str(); + } + callback.group_cb(user_data, &names_out.at(0), + static_cast(names_out.size())); + + } else { + callback.group_cb(user_data, NULL, 0); + } + } + + continue; + } + + // object name + if (token[0] == 'o' && IS_SPACE((token[1]))) { + // @todo { multiple object name? } + char namebuf[TINYOBJ_SSCANF_BUFFER_SIZE]; + token += 2; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + std::string object_name = std::string(namebuf); + + if (callback.object_cb) { + callback.object_cb(user_data, object_name.c_str()); + } + + continue; + } + +#if 0 // @todo + if (token[0] == 't' && IS_SPACE(token[1])) { + tag_t tag; + + char namebuf[4096]; + token += 2; +#ifdef _MSC_VER + sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); +#else + sscanf(token, "%s", namebuf); +#endif + tag.name = std::string(namebuf); + + token += tag.name.size() + 1; + + tag_sizes ts = parseTagTriple(&token); + + tag.intValues.resize(static_cast(ts.num_ints)); + + for (size_t i = 0; i < static_cast(ts.num_ints); ++i) { + tag.intValues[i] = atoi(token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.floatValues.resize(static_cast(ts.num_floats)); + for (size_t i = 0; i < static_cast(ts.num_floats); ++i) { + tag.floatValues[i] = parseFloat(&token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.stringValues.resize(static_cast(ts.num_strings)); + for (size_t i = 0; i < static_cast(ts.num_strings); ++i) { + char stringValueBuffer[4096]; + +#ifdef _MSC_VER + sscanf_s(token, "%s", stringValueBuffer, + (unsigned)_countof(stringValueBuffer)); +#else + sscanf(token, "%s", stringValueBuffer); +#endif + tag.stringValues[i] = stringValueBuffer; + token += tag.stringValues[i].size() + 1; + } + + tags.push_back(tag); + } +#endif + + // Ignore unknown command. + } + + if (err) { + (*err) += errss.str(); + } + + return true; +} +} // namespace tinyobj + +#endif + +#endif // TINY_OBJ_LOADER_H_ diff --git a/L06/resources/simple_frag.glsl b/L06/resources/simple_frag.glsl index ccbebb7..046cfdd 100644 --- a/L06/resources/simple_frag.glsl +++ b/L06/resources/simple_frag.glsl @@ -5,7 +5,7 @@ varying vec3 vMyColor; void main() { - if(distance(vec2(middle, vec2(gl_FragCoord.x, gl_FragCoord.y)) < 20) + if(distance(middle, vec2(gl_FragCoord.x, gl_FragCoord.y)) < 20) { discard; }