diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 770efe40..eee59473 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -9,8 +9,11 @@ jobs: # Don't cancel the macOS build if the Linux build fails, etc. fail-fast: false matrix: - os: [ubuntu-20.04, macos-11] + os: [ubuntu-20.04, macos-11, windows-2019] use-asan: [YES, NO] + exclude: + - os: windows-2019 + use-asan: YES env: # Expose to the build-*.sh in an environment variable USE_ASAN: ${{ matrix.use-asan }} @@ -19,6 +22,11 @@ jobs: with: submodules: 'recursive' + # https://github.com/ilammy/msvc-dev-cmd + - name: Setup MSVC environment + if: runner.os == 'Windows' + uses: ilammy/msvc-dev-cmd@v1 + - name: Linux Build if: runner.os == 'Linux' run: | @@ -31,3 +39,48 @@ jobs: if: runner.os == 'macOS' run: | ./build-osx.sh + + - name: Windows Build + if: runner.os == 'Windows' + run: | + .\build-windows.ps1 + + # Upload artifacts. + # These need to be separate, otherwise all of the artifacts are bundled into + # one .zip file. + + - name: Upload win64 artifact + uses: actions/upload-artifact@v3 + if: ${{ runner.os == 'Windows' && matrix.use-asan == 'NO' }} + with: + name: ericw-tools-${{ github.sha }}-win64 + path: | + build-windows/ericw-tools-*.zip + + - name: Upload Linux artifact + uses: actions/upload-artifact@v3 + if: ${{ runner.os == 'Linux' && matrix.use-asan == 'NO' }} + with: + name: ericw-tools-${{ github.sha }}-Linux + path: | + build-linux/ericw-tools-*.zip + + - name: Upload macOS artifact + uses: actions/upload-artifact@v3 + if: ${{ runner.os == 'macOS' && matrix.use-asan == 'NO' }} + with: + name: ericw-tools-${{ github.sha }}-macOS + path: | + build-osx/ericw-tools-*.zip + + - name: Create GitHub Release and upload builds + uses: softprops/action-gh-release@v1 + if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.use-asan == 'NO' }} + with: + draft: true + files: | + build-osx/ericw-tools-*.zip + build-linux/ericw-tools-*.zip + build-windows/ericw-tools-*.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 685eec49..1690cd1f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ testmaps/*.bsp testmaps/*.bsp.qbsplog testmaps/*.log testmaps/*.prt +testmaps/*.obj testmaps/*.pts testmaps/*.vis testmaps/*.texinfo diff --git a/appveyor.yml b/appveyor.yml index afb35f86..d514f219 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -13,12 +13,3 @@ build_script: - cmd: powershell .\build-appveyor.ps1 artifacts: - path: cmakebuild\*.zip -deploy: - description: 'release description' - provider: GitHub - auth_token: - secure: 'kTa/cPIBtiixoSjXq1WoVD04ZFzbGhTPcPChAkh99Kf5Sqhy+kE8E3jUYe28nPDO' - draft: true - prerelease: false - on: - appveyor_repo_tag: true diff --git a/build-appveyor.ps1 b/build-appveyor.ps1 index a3e1bf02..101658d3 100644 --- a/build-appveyor.ps1 +++ b/build-appveyor.ps1 @@ -9,7 +9,7 @@ $env:Path += ";C:\Program Files\Git\usr\bin" py -m venv ericwtools-env Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ericwtools-env\Scripts\Activate.ps1 -python.exe -m pip install sphinx_rtd_theme +python.exe -m pip install -r docs/requirements.txt --force-reinstall # Confirm Sphinx is installed get-command sphinx-build diff --git a/build-linux-64.sh b/build-linux-64.sh index 751034a8..57431045 100755 --- a/build-linux-64.sh +++ b/build-linux-64.sh @@ -1,6 +1,6 @@ #!/bin/bash -python3 -m pip install sphinx_rtd_theme +python3 -m pip install -r docs/requirements.txt --force-reinstall export PATH="~/.local/bin/:$PATH" BUILD_DIR=build-linux diff --git a/build-osx.sh b/build-osx.sh index e733bc3b..a5967b6d 100755 --- a/build-osx.sh +++ b/build-osx.sh @@ -3,7 +3,7 @@ # for sha256sum, used by the tests brew install coreutils -python3 -m pip install sphinx_rtd_theme +python3 -m pip install -r docs/requirements.txt --force-reinstall BUILD_DIR=build-osx EMBREE_ZIP="https://github.com/embree/embree/releases/download/v3.13.0/embree-3.13.0.x86_64.macosx.zip" diff --git a/build-windows.ps1 b/build-windows.ps1 new file mode 100644 index 00000000..41b7dea6 --- /dev/null +++ b/build-windows.ps1 @@ -0,0 +1,46 @@ +# Download embree and tbb +Invoke-WebRequest 'https://github.com/embree/embree/releases/download/v3.12.1/embree-3.12.1.x64.vc14.windows.zip' -OutFile 'embree64.zip' +7z x embree64.zip -oc:\ +Invoke-WebRequest 'https://github.com/oneapi-src/oneTBB/releases/download/v2020.2/tbb-2020.2-win.zip' -OutFile 'tbb.zip' +7z x tbb.zip -oc:\ + +git submodule update --init --recursive + +# Create and activate a Python virtual environment, and install sphinx (for building our documentation) +py -m venv ericwtools-env +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +ericwtools-env\Scripts\Activate.ps1 +python.exe -m pip install -r docs/requirements.txt --force-reinstall + +# Confirm Sphinx is installed +get-command sphinx-build + +choco install ninja + +mkdir build-windows +cd build-windows + +cmake .. -GNinja -Dembree_DIR="C:\embree-3.12.1.x64.vc14.windows" -DTBB_DIR="C:\tbb\cmake" -DCMAKE_BUILD_TYPE=Release + +ninja +if ( $? -eq $false ) { + throw "build failed" +} + +cpack +if ( $? -eq $false ) { + throw "package failed" +} + +.\tests\tests.exe + +if ( $? -eq $false ) { + throw "tests failed" +} + +# run hidden tests (releaseonly) +.\tests\tests.exe [.] + +if ( $? -eq $false ) { + throw "tests [.] failed" +} diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 2e80de72..67981f77 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -39,3 +39,16 @@ add_library(common STATIC ) target_link_libraries(common ${CMAKE_THREAD_LIBS_INIT} TBB::tbb TBB::tbbmalloc fmt::fmt nlohmann_json::nlohmann_json) + +target_precompile_headers(common INTERFACE + + + + + + + + + + +) diff --git a/common/bspfile.cc b/common/bspfile.cc index 85f9cb4d..1d05deef 100644 --- a/common/bspfile.cc +++ b/common/bspfile.cc @@ -25,7 +25,7 @@ #include #include -#include +#include #include #include diff --git a/common/decompile.cc b/common/decompile.cc index 67ee2faa..5755b3d6 100644 --- a/common/decompile.cc +++ b/common/decompile.cc @@ -35,7 +35,7 @@ #include #include -#include +#include #include #include "tbb/parallel_for.h" diff --git a/common/qvec.cc b/common/qvec.cc index 8c82fa3d..f1b4cd4a 100644 --- a/common/qvec.cc +++ b/common/qvec.cc @@ -20,7 +20,7 @@ #include #include // for NAN -#include +#include /* * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..474f72e6 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,2 @@ +sphinx==5.1.1 +sphinx_rtd_theme==1.0.0 \ No newline at end of file diff --git a/include/common/bspfile_generic.hh b/include/common/bspfile_generic.hh index 9f6573ea..0aa6fd51 100644 --- a/include/common/bspfile_generic.hh +++ b/include/common/bspfile_generic.hh @@ -19,7 +19,7 @@ #pragma once -#include +#include #include #include @@ -271,7 +271,9 @@ enum class plane_type_t }; // Fmt support -template <> struct fmt::formatter : formatter { +template <> struct fmt::formatter { + constexpr auto parse(format_parse_context &ctx) -> decltype(ctx.begin()) { return ctx.end(); } + template auto format(plane_type_t t, FormatContext& ctx) { string_view name = "unknown"; @@ -284,7 +286,7 @@ template <> struct fmt::formatter : formatter { case plane_type_t::PLANE_ANYY: name = "PLANE_ANYY"; break; case plane_type_t::PLANE_ANYZ: name = "PLANE_ANYZ"; break; } - return formatter::format(name, ctx); + return format_to(ctx.out(), "{}", name); } }; diff --git a/include/common/cmdlib.hh b/include/common/cmdlib.hh index 05424c44..92b76ef7 100644 --- a/include/common/cmdlib.hh +++ b/include/common/cmdlib.hh @@ -19,6 +19,7 @@ #pragma once +#include #include // for std::min #include #include @@ -27,11 +28,13 @@ #include #include #include +#include // for memcpy() #include #include #include #include #include +#include // for std::apply() #if defined(__has_include) && __has_include() #include diff --git a/include/common/fs.hh b/include/common/fs.hh index 66864dd9..6af86af6 100644 --- a/include/common/fs.hh +++ b/include/common/fs.hh @@ -131,15 +131,17 @@ inline fs::path DefaultExtension(const fs::path &path, const fs::path &extension return fs::path(path).replace_extension(extension); } -#include +#include // TODO: no wchar_t support in this version apparently template<> -struct fmt::formatter : formatter +struct fmt::formatter { + constexpr auto parse(format_parse_context &ctx) -> decltype(ctx.begin()) { return ctx.end(); } + template auto format(const fs::path &p, FormatContext &ctx) { - return formatter::format(p.string(), ctx); + return format_to(ctx.out(), "{}", p.string()); } }; \ No newline at end of file diff --git a/include/common/log.hh b/include/common/log.hh index ae8c7ceb..de644f7e 100644 --- a/include/common/log.hh +++ b/include/common/log.hh @@ -30,7 +30,8 @@ #include #include #include -#include +#include // for log10 +#include #include #include diff --git a/include/common/qvec.hh b/include/common/qvec.hh index e34e91d4..9fca37c7 100644 --- a/include/common/qvec.hh +++ b/include/common/qvec.hh @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include "common/mathlib.hh" #include "common/cmdlib.hh" @@ -340,17 +340,19 @@ public: // Fmt support template -struct fmt::formatter> : formatter +struct fmt::formatter> { + constexpr auto parse(format_parse_context &ctx) -> decltype(ctx.begin()) { return ctx.end(); } + template auto format(const qvec &p, FormatContext &ctx) -> decltype(ctx.out()) { for (size_t i = 0; i < N - 1; i++) { - formatter::format(p[i], ctx); + format_to(ctx.out(), "{}", p[i]); format_to(ctx.out(), " "); } - return formatter::format(p[N - 1], ctx); + return format_to(ctx.out(), "{}", p[N - 1]); } }; diff --git a/lightpreview/glview.cpp b/lightpreview/glview.cpp index 529491ee..c583bbe8 100644 --- a/lightpreview/glview.cpp +++ b/lightpreview/glview.cpp @@ -26,7 +26,7 @@ See file, 'COPYING', for details. #include #include #include -#include +#include GLView::GLView(QWidget *parent) : QOpenGLWidget(parent), m_keysPressed(0), m_keymoveUpdateTimer(0), m_lastMouseDownPos(0, 0), m_displayAspect(1), diff --git a/qbsp/brushbsp.cc b/qbsp/brushbsp.cc index e4a4b7da..b909dfc8 100644 --- a/qbsp/brushbsp.cc +++ b/qbsp/brushbsp.cc @@ -359,7 +359,7 @@ static void LeafNode(node_t *leafnode, bspbrush_t::container brushes, bspstats_t qbsp_options.target_game->count_contents_in_stats(leafnode->contents, *stats.leafstats); - if (qbsp_options.debugleak.value()) { + if (qbsp_options.debugleak.value() || qbsp_options.debugbspbrushes.value()) { leafnode->bsp_brushes = brushes; } else { leafnode->volume.reset(); diff --git a/qbsp/map.cc b/qbsp/map.cc index e407ec0f..9a94cbc8 100644 --- a/qbsp/map.cc +++ b/qbsp/map.cc @@ -3348,6 +3348,9 @@ void WriteBspBrushMap(std::string_view filename_suffix, const bspbrush_t::contai fmt::print(f, "{{\n\"classname\" \"worldspawn\"\n"); for (auto &brush : list) { + if (!brush) { + continue; + } fmt::print(f, "{{\n"); for (auto &face : brush->sides) { winding_t w = BaseWindingForPlane(face.get_plane()); diff --git a/qbsp/qbsp.cc b/qbsp/qbsp.cc index 76d12f62..d5740319 100644 --- a/qbsp/qbsp.cc +++ b/qbsp/qbsp.cc @@ -438,7 +438,9 @@ static void GatherBspbrushes_r(node_t *node, bspbrush_t::container &container) static void GatherLeafVolumes_r(node_t *node, bspbrush_t::container &container) { if (node->is_leaf) { - container.push_back(node->volume); + if (!node->contents.is_empty(qbsp_options.target_game)) { + container.push_back(node->volume); + } return; } diff --git a/testmaps.hh.in b/testmaps.hh.in index e0bcc389..b98a9e11 100644 --- a/testmaps.hh.in +++ b/testmaps.hh.in @@ -1,3 +1,3 @@ -const char *testmaps_dir = "@CMAKE_SOURCE_DIR@/testmaps"; -const char *test_quake_maps_dir = "@TEST_QUAKE_MAP_EXPORT_DIR@"; -const char *test_quake2_maps_dir = "@TEST_QUAKE2_MAP_EXPORT_DIR@"; +inline const char *testmaps_dir = "@CMAKE_SOURCE_DIR@/testmaps"; +inline const char *test_quake_maps_dir = "@TEST_QUAKE_MAP_EXPORT_DIR@"; +inline const char *test_quake2_maps_dir = "@TEST_QUAKE2_MAP_EXPORT_DIR@"; diff --git a/testmaps/qbsp_q1_mountain.map b/testmaps/qbsp_q1_mountain.map new file mode 100644 index 00000000..bfdecedb --- /dev/null +++ b/testmaps/qbsp_q1_mountain.map @@ -0,0 +1,2783 @@ +// Game: Quake +// Format: Valve +// entity 0 +{ +"classname" "worldspawn" +"mapversion" "220" +"wad" "deprecated/free_wad.wad" +"_sunlight2" "500" +// brush 0 +{ +( -4096 4096 -1568 ) ( -4096 4097 -1568 ) ( -4096 4096 -1567 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -4096 4096 -1568 ) ( -4096 4096 -1567 ) ( -4095 4096 -1568 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -4096 4096 -1568 ) ( -4095 4096 -1568 ) ( -4096 4097 -1568 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( -1536 4352 4192 ) ( -1536 4353 4192 ) ( -1535 4352 4192 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( -1536 4224 -1272 ) ( -1535 4224 -1272 ) ( -1536 4224 -1271 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( 4096 4352 -1272 ) ( 4096 4352 -1271 ) ( 4096 4353 -1272 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +} +// brush 1 +{ +( -4096 -4224 -1568 ) ( -4096 -4223 -1568 ) ( -4096 -4224 -1567 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -4096 -4224 -1568 ) ( -4096 -4224 -1567 ) ( -4095 -4224 -1568 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -4096 -4224 -1568 ) ( -4095 -4224 -1568 ) ( -4096 -4223 -1568 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( -1536 -3968 4192 ) ( -1536 -3967 4192 ) ( -1535 -3968 4192 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( -1536 -4096 -1272 ) ( -1535 -4096 -1272 ) ( -1536 -4096 -1271 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( 4096 -3968 -1272 ) ( 4096 -3968 -1271 ) ( 4096 -3967 -1272 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +} +// brush 2 +{ +( -4224 -1536 -1272 ) ( -4224 -1535 -1272 ) ( -4224 -1536 -1271 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -4096 -4096 -1568 ) ( -4097 -4096 -1568 ) ( -4096 -4096 -1567 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -4096 -4096 -1568 ) ( -4096 -4095 -1568 ) ( -4097 -4096 -1568 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( -4352 -1536 4192 ) ( -4353 -1536 4192 ) ( -4352 -1535 4192 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( -4352 4096 -1272 ) ( -4352 4096 -1271 ) ( -4353 4096 -1272 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -4096 -4096 -1568 ) ( -4096 -4096 -1567 ) ( -4096 -4095 -1568 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +} +// brush 3 +{ +( 4096 -1536 -1272 ) ( 4096 -1535 -1272 ) ( 4096 -1536 -1271 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( 4224 -4096 -1568 ) ( 4223 -4096 -1568 ) ( 4224 -4096 -1567 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( 4224 -4096 -1568 ) ( 4224 -4095 -1568 ) ( 4223 -4096 -1568 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( 3968 -1536 4192 ) ( 3967 -1536 4192 ) ( 3968 -1535 4192 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( 3968 4096 -1272 ) ( 3968 4096 -1271 ) ( 3967 4096 -1272 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( 4224 -4096 -1568 ) ( 4224 -4096 -1567 ) ( 4224 -4095 -1568 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +} +// brush 4 +{ +( -4096 -4096 -1568 ) ( -4096 -4095 -1568 ) ( -4096 -4096 -1567 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -6016 -4096 -1568 ) ( -6016 -4096 -1567 ) ( -6015 -4096 -1568 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( -6016 -4096 4192 ) ( -6015 -4096 4192 ) ( -6016 -4095 4192 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( 4096 6144 4320 ) ( 4096 6145 4320 ) ( 4097 6144 4320 ) sky3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 4 4 +( 4096 4096 4192 ) ( 4097 4096 4192 ) ( 4096 4096 4193 ) sky3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 4 4 +( 4096 6144 4192 ) ( 4096 6144 4193 ) ( 4096 6145 4192 ) sky3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 4 4 +} +} +// entity 1 +{ +"classname" "info_player_start" +"origin" "2576 -2416 1144" +} +// entity 2 +{ +"classname" "func_group" +// brush 0 +{ +( -3511 -4096 -1261 ) ( -3716 -3715 -1183 ) ( -4096 -3511 -1118 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -3511 -1118 ) ( -3511 -3511 -1113 ) ( -3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -3511 -1118 ) ( -3716 -3715 -1183 ) ( -3511 -3511 -1113 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -3511 -1113 ) ( -3716 -3715 -1183 ) ( -3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 1 +{ +( -4096 -3511 -1118 ) ( -4096 -2926 -878 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -3511 -1118 ) ( -3889 -3131 -952 ) ( -4096 -2926 -878 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -2926 -878 ) ( -3889 -3131 -952 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2926 -801 ) ( -3889 -3131 -952 ) ( -4096 -3511 -1118 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 2 +{ +( -4096 -2926 -878 ) ( -4096 -2341 -437 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -2926 -878 ) ( -3892 -2549 -565 ) ( -4096 -2341 -437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -2341 -437 ) ( -3892 -2549 -565 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2341 -296 ) ( -3892 -2549 -565 ) ( -4096 -2926 -878 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 3 +{ +( -4096 -2341 -437 ) ( -4096 -1755 381 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 -2341 -437 ) ( -3905 -1974 84 ) ( -4096 -1755 381 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 -1755 381 ) ( -3905 -1974 84 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 -1755 492 ) ( -3905 -1974 84 ) ( -4096 -2341 -437 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 4 +{ +( -4096 -1170 782 ) ( -3511 -1170 957 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1755 492 ) ( -3702 -1373 718 ) ( -4096 -1170 782 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -1170 782 ) ( -3702 -1373 718 ) ( -3511 -1170 957 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1170 957 ) ( -3702 -1373 718 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 5 +{ +( -4096 -1170 782 ) ( -4096 -585 540 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -1170 782 ) ( -3886 -795 693 ) ( -4096 -585 540 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -585 540 ) ( -3886 -795 693 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -585 775 ) ( -3886 -795 693 ) ( -4096 -1170 782 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 6 +{ +( -3511 -585 775 ) ( -3717 -212 671 ) ( -4096 0 661 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 0 661 ) ( -3717 -212 671 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 0 609 ) ( -3717 -212 671 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 0 661 ) ( -3511 0 609 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 7 +{ +( -4096 585 811 ) ( -3511 585 932 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 0 609 ) ( -3708 383 761 ) ( -4096 585 811 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 585 811 ) ( -3708 383 761 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 585 932 ) ( -3708 383 761 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 8 +{ +( -3511 585 932 ) ( -3721 965 982 ) ( -4096 1170 1078 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 1170 1078 ) ( -3721 965 982 ) ( -3511 1170 979 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 1170 979 ) ( -3721 965 982 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 1170 1078 ) ( -3511 1170 979 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 9 +{ +( -4096 1170 1078 ) ( -3907 1513 574 ) ( -4096 1755 324 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 1755 324 ) ( -3907 1513 574 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 1755 216 ) ( -3907 1513 574 ) ( -4096 1170 1078 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 1170 1078 ) ( -4096 1755 324 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 10 +{ +( -3511 1755 216 ) ( -3703 2110 -130 ) ( -4096 2341 -261 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 2341 -261 ) ( -3703 2110 -130 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2341 -385 ) ( -3703 2110 -130 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 2341 -261 ) ( -3511 2341 -385 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 11 +{ +( -3511 2341 -385 ) ( -3713 2706 -591 ) ( -4096 2926 -673 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 2926 -673 ) ( -3713 2706 -591 ) ( -3511 2926 -701 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2926 -701 ) ( -3713 2706 -591 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 2926 -673 ) ( -3511 2926 -701 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 12 +{ +( -3511 2926 -701 ) ( -3710 3287 -965 ) ( -4096 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 3511 -1098 ) ( -3710 3287 -965 ) ( -3511 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 3511 -1098 ) ( -3511 3511 -1098 ) ( -3511 2926 -701 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 3511 -1098 ) ( -3710 3287 -965 ) ( -3511 2926 -701 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 13 +{ +( -4096 3511 -1098 ) ( -3804 3799 -1195 ) ( -4096 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 3511 -1098 ) ( -3804 3799 -1195 ) ( -4096 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 4096 -1261 ) ( -3804 3799 -1195 ) ( -3511 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 4096 -1261 ) ( -3511 4096 -1261 ) ( -3511 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 4096 -1261 ) ( -3804 3799 -1195 ) ( -3511 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 14 +{ +( -3511 -4096 -1261 ) ( -3306 -3715 -1189 ) ( -3511 -3511 -1113 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -3511 -1113 ) ( -3306 -3715 -1189 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -4096 -1261 ) ( -3511 -3511 -1113 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -3511 -1135 ) ( -3306 -3715 -1189 ) ( -3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 15 +{ +( -2926 -3511 -1135 ) ( -3128 -3131 -942 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2926 -801 ) ( -3128 -3131 -942 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2926 -801 ) ( -2926 -2926 -819 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -3128 -3131 -942 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 16 +{ +( -3511 -2341 -296 ) ( -2926 -2341 -180 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -3113 -2550 -470 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2341 -296 ) ( -3113 -2550 -470 ) ( -2926 -2341 -180 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -2341 -180 ) ( -3113 -2550 -470 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 17 +{ +( -3511 -1755 492 ) ( -2926 -1755 623 ) ( -2926 -2341 -180 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -2341 -180 ) ( -3107 -1969 262 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 -1755 492 ) ( -3107 -1969 262 ) ( -2926 -1755 623 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -1755 623 ) ( -3107 -1969 262 ) ( -2926 -2341 -180 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 18 +{ +( -3511 -1170 957 ) ( -2926 -1170 1241 ) ( -2926 -1755 623 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -1755 623 ) ( -3109 -1372 914 ) ( -3511 -1170 957 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1170 957 ) ( -3109 -1372 914 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -1170 1241 ) ( -3109 -1372 914 ) ( -2926 -1755 623 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 19 +{ +( -3511 -585 775 ) ( -2926 -585 1160 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -1170 1241 ) ( -3133 -788 1033 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -585 775 ) ( -3133 -788 1033 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -585 1160 ) ( -3133 -788 1033 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 20 +{ +( -3511 0 609 ) ( -2926 0 827 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -585 1160 ) ( -3128 -220 858 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 0 609 ) ( -3128 -220 858 ) ( -2926 0 827 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 0 827 ) ( -3128 -220 858 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 21 +{ +( -3511 585 932 ) ( -2926 585 1109 ) ( -2926 0 827 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 0 827 ) ( -3124 385 934 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 585 932 ) ( -3124 385 934 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 585 1109 ) ( -3124 385 934 ) ( -2926 0 827 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 22 +{ +( -2926 585 1109 ) ( -3132 956 978 ) ( -3511 1170 979 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 1170 979 ) ( -3132 956 978 ) ( -2926 1170 868 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 1170 868 ) ( -3132 956 978 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 1170 979 ) ( -2926 1170 868 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 23 +{ +( -3511 1170 979 ) ( -3323 1513 491 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 1755 216 ) ( -3323 1513 491 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 1170 979 ) ( -3511 1755 216 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 1755 173 ) ( -3323 1513 491 ) ( -3511 1170 979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 24 +{ +( -2926 1755 173 ) ( -3116 2106 -216 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 2341 -385 ) ( -3116 2106 -216 ) ( -2926 2341 -494 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 2341 -494 ) ( -3116 2106 -216 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 2341 -385 ) ( -2926 2341 -494 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 25 +{ +( -3511 2341 -385 ) ( -3310 2706 -607 ) ( -3511 2926 -701 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2926 -701 ) ( -3310 2706 -607 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2341 -385 ) ( -3511 2926 -701 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2926 -720 ) ( -3310 2706 -607 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 26 +{ +( -2926 2926 -720 ) ( -3126 3288 -971 ) ( -3511 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 3511 -1098 ) ( -2926 3511 -1092 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 3511 -1098 ) ( -3126 3288 -971 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 3511 -1092 ) ( -3126 3288 -971 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 27 +{ +( -2926 3511 -1092 ) ( -3131 3883 -1216 ) ( -3511 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 4096 -1261 ) ( -3131 3883 -1216 ) ( -2926 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 4096 -1261 ) ( -2926 4096 -1261 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 4096 -1261 ) ( -3131 3883 -1216 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 28 +{ +( -2341 -4096 -1261 ) ( -2548 -3716 -1200 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -3511 -1135 ) ( -2548 -3716 -1200 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -3511 -1135 ) ( -2341 -3511 -1150 ) ( -2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -2548 -3716 -1200 ) ( -2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 29 +{ +( -2341 -3511 -1150 ) ( -2542 -3131 -955 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -2542 -3131 -955 ) ( -2341 -2926 -825 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -2341 -2926 -825 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -2926 -825 ) ( -2542 -3131 -955 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 30 +{ +( -2926 -2926 -819 ) ( -2738 -2552 -458 ) ( -2926 -2341 -180 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -2341 -180 ) ( -2738 -2552 -458 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -2341 -255 ) ( -2738 -2552 -458 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -2926 -2341 -180 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 31 +{ +( -2926 -2341 -180 ) ( -2926 -1755 623 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -2341 -180 ) ( -2737 -1973 321 ) ( -2926 -1755 623 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -1755 623 ) ( -2737 -1973 321 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -2737 -1973 321 ) ( -2926 -2341 -180 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 32 +{ +( -2926 -1170 1241 ) ( -2341 -1170 1425 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -2523 -1380 1081 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -1170 1241 ) ( -2523 -1380 1081 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1170 1425 ) ( -2523 -1380 1081 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 33 +{ +( -2926 -585 1160 ) ( -2341 -585 1587 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -1170 1425 ) ( -2544 -778 1365 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -585 1160 ) ( -2544 -778 1365 ) ( -2341 -585 1587 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -585 1587 ) ( -2544 -778 1365 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 34 +{ +( -2926 -585 1160 ) ( -2926 0 827 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -585 1160 ) ( -2718 -210 1036 ) ( -2926 0 827 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 0 827 ) ( -2718 -210 1036 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 0 1134 ) ( -2718 -210 1036 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 35 +{ +( -2926 585 1109 ) ( -2341 585 1154 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 0 1134 ) ( -2547 379 1115 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 585 1109 ) ( -2547 379 1115 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 585 1154 ) ( -2547 379 1115 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 36 +{ +( -2341 585 1154 ) ( -2543 951 951 ) ( -2926 1170 868 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 1170 868 ) ( -2543 951 951 ) ( -2341 1170 847 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 1170 868 ) ( -2341 1170 847 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 1170 847 ) ( -2543 951 951 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 37 +{ +( -2926 1170 868 ) ( -2735 1516 382 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 1755 173 ) ( -2735 1516 382 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 1755 21 ) ( -2735 1516 382 ) ( -2926 1170 868 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 1170 868 ) ( -2926 1755 173 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 38 +{ +( -2341 1755 21 ) ( -2536 2111 -309 ) ( -2926 2341 -494 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2341 -494 ) ( -2341 2341 -481 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2341 -494 ) ( -2536 2111 -309 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2341 -481 ) ( -2536 2111 -309 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 39 +{ +( -2341 2341 -481 ) ( -2544 2710 -650 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2926 -720 ) ( -2544 2710 -650 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2926 -720 ) ( -2341 2926 -725 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2926 -725 ) ( -2544 2710 -650 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 40 +{ +( -2341 2926 -725 ) ( -2541 3288 -972 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 3511 -1092 ) ( -2541 3288 -972 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 3511 -1092 ) ( -2341 3511 -1093 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 3511 -1093 ) ( -2541 3288 -972 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 41 +{ +( -2341 3511 -1093 ) ( -2546 3883 -1216 ) ( -2926 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 4096 -1261 ) ( -2546 3883 -1216 ) ( -2341 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 4096 -1261 ) ( -2341 4096 -1261 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 4096 -1261 ) ( -2546 3883 -1216 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 42 +{ +( -1755 -4096 -1261 ) ( -1962 -3716 -1209 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -1962 -3716 -1209 ) ( -1755 -3511 -1163 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -1755 -3511 -1163 ) ( -1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -3511 -1163 ) ( -1962 -3716 -1209 ) ( -1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 43 +{ +( -2341 -3511 -1150 ) ( -2142 -3130 -977 ) ( -2341 -2926 -825 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -2926 -825 ) ( -2142 -3130 -977 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2926 -884 ) ( -2142 -3130 -977 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -2341 -2926 -825 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 44 +{ +( -1755 -2926 -884 ) ( -1953 -2552 -527 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -2341 -255 ) ( -1953 -2552 -527 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -1953 -2552 -527 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -2341 -255 ) ( -1755 -2341 -332 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 45 +{ +( -1755 -2341 -332 ) ( -1938 -1978 264 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -1938 -1978 264 ) ( -1755 -1755 667 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -1755 -1755 667 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1755 667 ) ( -1938 -1978 264 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 46 +{ +( -2341 -1170 1425 ) ( -1755 -1170 1552 ) ( -1755 -1755 667 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1755 667 ) ( -1934 -1386 1157 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1170 1425 ) ( -1934 -1386 1157 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1170 1552 ) ( -1934 -1386 1157 ) ( -1755 -1755 667 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 47 +{ +( -2341 -585 1587 ) ( -1755 -585 1815 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -1170 1552 ) ( -1953 -784 1630 ) ( -2341 -585 1587 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -585 1587 ) ( -1953 -784 1630 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -585 1815 ) ( -1953 -784 1630 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 48 +{ +( -2341 0 1134 ) ( -1755 0 1284 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -585 1815 ) ( -1951 -231 1422 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 0 1134 ) ( -1951 -231 1422 ) ( -1755 0 1284 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 0 1284 ) ( -1951 -231 1422 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 49 +{ +( -1755 0 1284 ) ( -1961 373 1173 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 585 1154 ) ( -1961 373 1173 ) ( -1755 585 1115 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 585 1115 ) ( -1961 373 1173 ) ( -1755 0 1284 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 585 1154 ) ( -1755 585 1115 ) ( -1755 0 1284 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 50 +{ +( -2341 585 1154 ) ( -2341 1170 847 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 585 1154 ) ( -2138 952 972 ) ( -2341 1170 847 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 1170 847 ) ( -2138 952 972 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 1170 931 ) ( -2138 952 972 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 51 +{ +( -2341 1170 847 ) ( -2155 1511 338 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 1170 847 ) ( -2341 1755 21 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 1755 21 ) ( -2155 1511 338 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 1755 25 ) ( -2155 1511 338 ) ( -2341 1170 847 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 52 +{ +( -2341 2341 -481 ) ( -1755 2341 -416 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 1755 25 ) ( -1953 2114 -287 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2341 -481 ) ( -1953 2114 -287 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -1953 2114 -287 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 53 +{ +( -1755 2341 -416 ) ( -1957 2706 -628 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2926 -725 ) ( -1957 2706 -628 ) ( -1755 2926 -728 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2926 -725 ) ( -1755 2926 -728 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2926 -728 ) ( -1957 2706 -628 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 54 +{ +( -1755 2926 -728 ) ( -1955 3288 -976 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 3511 -1093 ) ( -1955 3288 -976 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 3511 -1093 ) ( -1755 3511 -1103 ) ( -1755 2926 -728 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -1955 3288 -976 ) ( -1755 2926 -728 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 55 +{ +( -1755 3511 -1103 ) ( -1961 3884 -1220 ) ( -2341 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 4096 -1261 ) ( -1961 3884 -1220 ) ( -1755 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 4096 -1261 ) ( -1755 4096 -1261 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 4096 -1261 ) ( -1961 3884 -1220 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 56 +{ +( -1170 -4096 -1261 ) ( -1377 -3716 -1216 ) ( -1755 -3511 -1163 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -3511 -1163 ) ( -1377 -3716 -1216 ) ( -1170 -3511 -1173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -3511 -1163 ) ( -1170 -3511 -1173 ) ( -1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -3511 -1173 ) ( -1377 -3716 -1216 ) ( -1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 57 +{ +( -1170 -3511 -1173 ) ( -1377 -3130 -1023 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2926 -884 ) ( -1377 -3130 -1023 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -1377 -3130 -1023 ) ( -1170 -3511 -1173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2926 -884 ) ( -1170 -2926 -954 ) ( -1170 -3511 -1173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 58 +{ +( -1170 -2926 -954 ) ( -1361 -2553 -580 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -1170 -2341 -329 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -1361 -2553 -580 ) ( -1170 -2341 -329 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -2341 -329 ) ( -1361 -2553 -580 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 59 +{ +( -1755 -2341 -332 ) ( -1576 -1977 241 ) ( -1755 -1755 667 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1755 667 ) ( -1576 -1977 241 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -1755 -1755 667 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1755 616 ) ( -1576 -1977 241 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 60 +{ +( -1170 -1755 616 ) ( -1354 -1390 1165 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1170 1552 ) ( -1354 -1390 1165 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1170 1552 ) ( -1170 -1170 1537 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1170 1537 ) ( -1354 -1390 1165 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 61 +{ +( -1755 -585 1815 ) ( -1170 -585 2035 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -1170 1537 ) ( -1359 -787 1770 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -585 1815 ) ( -1359 -787 1770 ) ( -1170 -585 2035 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -585 2035 ) ( -1359 -787 1770 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 62 +{ +( -1755 -585 1815 ) ( -1755 0 1284 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -585 1815 ) ( -1561 -230 1486 ) ( -1755 0 1284 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 0 1284 ) ( -1561 -230 1486 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 0 1328 ) ( -1561 -230 1486 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 63 +{ +( -1755 0 1284 ) ( -1551 372 1141 ) ( -1755 585 1115 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 585 1115 ) ( -1551 372 1141 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 585 1062 ) ( -1551 372 1141 ) ( -1755 0 1284 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 0 1284 ) ( -1755 585 1115 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 64 +{ +( -1755 1170 931 ) ( -1170 1170 982 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 585 1062 ) ( -1375 961 977 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 1170 931 ) ( -1375 961 977 ) ( -1170 1170 982 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 1170 982 ) ( -1375 961 977 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 65 +{ +( -1170 1170 982 ) ( -1353 1507 408 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 1755 25 ) ( -1170 1755 53 ) ( -1170 1170 982 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 1755 25 ) ( -1353 1507 408 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 1755 53 ) ( -1353 1507 408 ) ( -1170 1170 982 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 66 +{ +( -1170 1755 53 ) ( -1366 2113 -257 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -1366 2113 -257 ) ( -1170 2341 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -1170 2341 -427 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2341 -427 ) ( -1366 2113 -257 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 67 +{ +( -1755 2341 -416 ) ( -1553 2706 -627 ) ( -1755 2926 -728 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -1755 2926 -728 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2926 -728 ) ( -1553 2706 -627 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2926 -723 ) ( -1553 2706 -627 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 68 +{ +( -1170 2926 -723 ) ( -1369 3288 -978 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -1369 3288 -978 ) ( -1170 3511 -1107 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -1170 3511 -1107 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 3511 -1107 ) ( -1369 3288 -978 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 69 +{ +( -1755 3511 -1103 ) ( -1550 3883 -1220 ) ( -1755 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 4096 -1261 ) ( -1550 3883 -1220 ) ( -1170 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -1755 4096 -1261 ) ( -1170 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 4096 -1261 ) ( -1550 3883 -1220 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 70 +{ +( -1170 -4096 -1261 ) ( -964 -3716 -1223 ) ( -1170 -3511 -1173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -3511 -1173 ) ( -964 -3716 -1223 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -4096 -1261 ) ( -1170 -3511 -1173 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -3511 -1181 ) ( -964 -3716 -1223 ) ( -1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 71 +{ +( -585 -3511 -1181 ) ( -790 -3130 -1058 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -790 -3130 -1058 ) ( -585 -2926 -979 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -2926 -979 ) ( -790 -3130 -1058 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -585 -2926 -979 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 72 +{ +( -1170 -2926 -954 ) ( -978 -2553 -577 ) ( -1170 -2341 -329 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -1170 -2341 -329 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -2341 -329 ) ( -978 -2553 -577 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -2341 -323 ) ( -978 -2553 -577 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 73 +{ +( -585 -2341 -323 ) ( -770 -1976 222 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1755 616 ) ( -770 -1976 222 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1755 616 ) ( -585 -1755 582 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1755 582 ) ( -770 -1976 222 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 74 +{ +( -585 -1755 582 ) ( -798 -1379 1066 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -1170 1537 ) ( -798 -1379 1066 ) ( -585 -1170 1161 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1170 1161 ) ( -798 -1379 1066 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -1170 1537 ) ( -585 -1170 1161 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 75 +{ +( -585 -1170 1161 ) ( -826 -775 1531 ) ( -1170 -585 2035 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -585 2035 ) ( -826 -775 1531 ) ( -585 -585 1296 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -585 1296 ) ( -826 -775 1531 ) ( -585 -1170 1161 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -585 2035 ) ( -585 -585 1296 ) ( -585 -1170 1161 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 76 +{ +( -585 -585 1296 ) ( -795 -208 1262 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 0 1328 ) ( -795 -208 1262 ) ( -585 0 1195 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 0 1195 ) ( -795 -208 1262 ) ( -585 -585 1296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 0 1328 ) ( -585 0 1195 ) ( -585 -585 1296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 77 +{ +( -1170 0 1328 ) ( -968 367 1119 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 585 1062 ) ( -968 367 1119 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 585 991 ) ( -968 367 1119 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 0 1328 ) ( -1170 585 1062 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 78 +{ +( -1170 585 1062 ) ( -965 961 975 ) ( -1170 1170 982 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 1170 982 ) ( -965 961 975 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1170 927 ) ( -965 961 975 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 585 1062 ) ( -1170 1170 982 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 79 +{ +( -585 1170 927 ) ( -771 1511 402 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 1755 53 ) ( -585 1755 98 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 1755 53 ) ( -771 1511 402 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 1755 98 ) ( -771 1511 402 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 80 +{ +( -585 1755 98 ) ( -780 2110 -241 ) ( -1170 2341 -427 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 2341 -427 ) ( -585 2341 -424 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2341 -427 ) ( -780 2110 -241 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2341 -424 ) ( -780 2110 -241 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 81 +{ +( -585 2341 -424 ) ( -787 2706 -634 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2926 -723 ) ( -787 2706 -634 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2926 -723 ) ( -585 2926 -742 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2926 -742 ) ( -787 2706 -634 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 82 +{ +( -585 2926 -742 ) ( -785 3288 -988 ) ( -1170 3511 -1107 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 3511 -1107 ) ( -785 3288 -988 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 3511 -1107 ) ( -585 3511 -1112 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 3511 -1112 ) ( -785 3288 -988 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 83 +{ +( -585 3511 -1112 ) ( -790 3884 -1223 ) ( -1170 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 4096 -1261 ) ( -790 3884 -1223 ) ( -585 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 4096 -1261 ) ( -585 4096 -1261 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 4096 -1261 ) ( -790 3884 -1223 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 84 +{ +( 0 -4096 -1261 ) ( -206 -3716 -1225 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -3511 -1181 ) ( 0 -3511 -1179 ) ( 0 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -3511 -1181 ) ( -206 -3716 -1225 ) ( 0 -3511 -1179 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -3511 -1179 ) ( -206 -3716 -1225 ) ( 0 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 85 +{ +( 0 -3511 -1179 ) ( -203 -3130 -1059 ) ( -585 -2926 -979 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -2926 -979 ) ( 0 -2926 -955 ) ( 0 -3511 -1179 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -2926 -979 ) ( -203 -3130 -1059 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -2926 -955 ) ( -203 -3130 -1059 ) ( 0 -3511 -1179 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 86 +{ +( 0 -2926 -955 ) ( -192 -2553 -577 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -2341 -323 ) ( -192 -2553 -577 ) ( 0 -2341 -330 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -2341 -323 ) ( 0 -2341 -330 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -2341 -330 ) ( -192 -2553 -577 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 87 +{ +( 0 -2341 -330 ) ( -191 -1974 184 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1755 582 ) ( -191 -1974 184 ) ( 0 -1755 481 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -1755 481 ) ( -191 -1974 184 ) ( 0 -2341 -330 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1755 582 ) ( 0 -1755 481 ) ( 0 -2341 -330 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 88 +{ +( 0 -1755 481 ) ( -227 -1369 783 ) ( -585 -1170 1161 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -1170 1161 ) ( -227 -1369 783 ) ( 0 -1170 699 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -1170 699 ) ( -227 -1369 783 ) ( 0 -1755 481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -1170 1161 ) ( 0 -1170 699 ) ( 0 -1755 481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 89 +{ +( -585 -585 1296 ) ( -234 -765 784 ) ( 0 -585 291 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -1170 699 ) ( -234 -765 784 ) ( -585 -585 1296 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -585 291 ) ( -234 -765 784 ) ( 0 -1170 699 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -585 1296 ) ( 0 -585 291 ) ( 0 -1170 699 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 90 +{ +( 0 -585 291 ) ( -248 -178 601 ) ( -585 0 1195 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 0 1195 ) ( -248 -178 601 ) ( 0 0 143 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 0 143 ) ( -248 -178 601 ) ( 0 -585 291 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 0 1195 ) ( 0 0 143 ) ( 0 -585 291 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 91 +{ +( -585 0 1195 ) ( -377 378 885 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 585 991 ) ( -377 378 885 ) ( 0 585 548 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 585 548 ) ( -377 378 885 ) ( -585 0 1195 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 0 1195 ) ( -585 585 991 ) ( 0 585 548 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 92 +{ +( 0 585 548 ) ( -212 966 728 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1170 927 ) ( -212 966 728 ) ( 0 1170 757 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1170 757 ) ( -212 966 728 ) ( 0 585 548 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1170 927 ) ( 0 1170 757 ) ( 0 585 548 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 93 +{ +( -585 1755 98 ) ( 0 1755 200 ) ( 0 1170 757 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1170 757 ) ( -194 1522 366 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 1755 98 ) ( -194 1522 366 ) ( 0 1755 200 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1755 200 ) ( -194 1522 366 ) ( 0 1170 757 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 94 +{ +( 0 1755 200 ) ( -191 2105 -197 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 2341 -424 ) ( -191 2105 -197 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2341 -424 ) ( 0 2341 -426 ) ( 0 1755 200 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 2341 -426 ) ( -191 2105 -197 ) ( 0 1755 200 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 95 +{ +( 0 2341 -426 ) ( -202 2707 -636 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2926 -742 ) ( 0 2926 -722 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2926 -742 ) ( -202 2707 -636 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2926 -722 ) ( -202 2707 -636 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 96 +{ +( 0 2926 -722 ) ( -199 3287 -984 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 3511 -1112 ) ( -199 3287 -984 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 3511 -1112 ) ( 0 3511 -1120 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 3511 -1120 ) ( -199 3287 -984 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 97 +{ +( 0 3511 -1120 ) ( -206 3884 -1226 ) ( -585 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 4096 -1261 ) ( -206 3884 -1226 ) ( 0 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 4096 -1261 ) ( 0 4096 -1261 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 4096 -1261 ) ( -206 3884 -1226 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 98 +{ +( 0 -4096 -1261 ) ( 207 -3716 -1220 ) ( 0 -3511 -1179 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -4096 -1261 ) ( 0 -3511 -1179 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -3511 -1179 ) ( 207 -3716 -1220 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -3511 -1168 ) ( 207 -3716 -1220 ) ( 0 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 99 +{ +( 0 -2926 -955 ) ( 585 -2926 -909 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -3511 -1168 ) ( 384 -3130 -1033 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -2926 -955 ) ( 384 -3130 -1033 ) ( 585 -2926 -909 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2926 -909 ) ( 384 -3130 -1033 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 100 +{ +( 0 -2926 -955 ) ( 0 -2341 -330 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -2926 -955 ) ( 194 -2553 -562 ) ( 0 -2341 -330 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -2341 -330 ) ( 194 -2553 -562 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -2341 -275 ) ( 194 -2553 -562 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 101 +{ +( 0 -2341 -330 ) ( 178 -1965 89 ) ( 0 -1755 481 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -1755 481 ) ( 178 -1965 89 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -1755 241 ) ( 178 -1965 89 ) ( 0 -2341 -330 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -2341 -330 ) ( 0 -1755 481 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 102 +{ +( 585 -1755 241 ) ( 358 -1367 396 ) ( 0 -1170 699 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -1170 699 ) ( 358 -1367 396 ) ( 585 -1170 233 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1170 233 ) ( 358 -1367 396 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -1170 699 ) ( 585 -1170 233 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 103 +{ +( 0 -585 291 ) ( 379 -785 42 ) ( 585 -585 -364 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -1170 233 ) ( 379 -785 42 ) ( 0 -585 291 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -585 -364 ) ( 379 -785 42 ) ( 585 -1170 233 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -585 291 ) ( 585 -585 -364 ) ( 585 -1170 233 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 104 +{ +( 0 0 143 ) ( 353 -186 -279 ) ( 585 0 -667 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -585 -364 ) ( 353 -186 -279 ) ( 0 0 143 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 0 -667 ) ( 353 -186 -279 ) ( 585 -585 -364 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 0 143 ) ( 585 0 -667 ) ( 585 -585 -364 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 105 +{ +( 0 0 143 ) ( 203 411 101 ) ( 0 585 548 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 585 -305 ) ( 203 411 101 ) ( 0 0 143 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 585 548 ) ( 203 411 101 ) ( 585 585 -305 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 0 143 ) ( 0 585 548 ) ( 585 585 -305 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 106 +{ +( 585 585 -305 ) ( 361 966 214 ) ( 0 1170 757 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 1170 757 ) ( 361 966 214 ) ( 585 1170 212 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 1170 212 ) ( 361 966 214 ) ( 585 585 -305 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1170 757 ) ( 585 1170 212 ) ( 585 585 -305 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 107 +{ +( 585 1170 212 ) ( 377 1547 177 ) ( 0 1755 200 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1755 200 ) ( 377 1547 177 ) ( 585 1755 162 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 1755 162 ) ( 377 1547 177 ) ( 585 1170 212 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1755 200 ) ( 585 1755 162 ) ( 585 1170 212 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 108 +{ +( 585 1755 162 ) ( 391 2108 -205 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 2341 -426 ) ( 585 2341 -390 ) ( 585 1755 162 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2341 -426 ) ( 391 2108 -205 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2341 -390 ) ( 391 2108 -205 ) ( 585 1755 162 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 109 +{ +( 585 2341 -390 ) ( 385 2704 -625 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2926 -722 ) ( 385 2704 -625 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 385 2704 -625 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2926 -722 ) ( 585 2926 -758 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 110 +{ +( 585 2926 -758 ) ( 385 3289 -1002 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 3511 -1120 ) ( 385 3289 -1002 ) ( 585 3511 -1123 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 3511 -1120 ) ( 585 3511 -1123 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 3511 -1123 ) ( 385 3289 -1002 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 111 +{ +( 585 3511 -1123 ) ( 379 3884 -1228 ) ( 0 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 4096 -1261 ) ( 379 3884 -1228 ) ( 585 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 4096 -1261 ) ( 585 4096 -1261 ) ( 585 3511 -1123 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 4096 -1261 ) ( 379 3884 -1228 ) ( 585 3511 -1123 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 112 +{ +( 585 -4096 -1261 ) ( 792 -3716 -1211 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -4096 -1261 ) ( 585 -3511 -1168 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -3511 -1168 ) ( 792 -3716 -1211 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 792 -3716 -1211 ) ( 585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 113 +{ +( 585 -2926 -909 ) ( 1170 -2926 -854 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 970 -3130 -995 ) ( 585 -2926 -909 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2926 -909 ) ( 970 -3130 -995 ) ( 1170 -2926 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2926 -854 ) ( 970 -3130 -995 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 114 +{ +( 585 -2926 -909 ) ( 776 -2553 -530 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -2341 -275 ) ( 776 -2553 -530 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -2926 -909 ) ( 585 -2341 -275 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 -2341 -281 ) ( 776 -2553 -530 ) ( 585 -2926 -909 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 115 +{ +( 585 -2341 -275 ) ( 772 -1956 -44 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1755 241 ) ( 772 -1956 -44 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1755 -28 ) ( 772 -1956 -44 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2341 -275 ) ( 585 -1755 241 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 116 +{ +( 1170 -1755 -28 ) ( 949 -1370 7 ) ( 585 -1170 233 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1170 233 ) ( 949 -1370 7 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1170 -182 ) ( 949 -1370 7 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1170 233 ) ( 1170 -1170 -182 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 117 +{ +( 1170 -1170 -182 ) ( 972 -801 -435 ) ( 585 -585 -364 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -585 -364 ) ( 972 -801 -435 ) ( 1170 -585 -751 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -585 -751 ) ( 972 -801 -435 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -585 -364 ) ( 1170 -585 -751 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 118 +{ +( 585 -585 -364 ) ( 791 -214 -723 ) ( 585 0 -667 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 0 -667 ) ( 791 -214 -723 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 0 -1081 ) ( 791 -214 -723 ) ( 585 -585 -364 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -585 -364 ) ( 585 0 -667 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 119 +{ +( 1170 0 -1081 ) ( 935 391 -748 ) ( 585 585 -305 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 585 -305 ) ( 935 391 -748 ) ( 1170 585 -911 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 585 -911 ) ( 935 391 -748 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 585 -305 ) ( 1170 585 -911 ) ( 1170 0 -1081 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 120 +{ +( 1170 585 -911 ) ( 944 967 -364 ) ( 585 1170 212 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 1170 212 ) ( 944 967 -364 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 1170 -383 ) ( 944 967 -364 ) ( 1170 585 -911 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 1170 212 ) ( 1170 1170 -383 ) ( 1170 585 -911 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 121 +{ +( 1170 1170 -383 ) ( 948 1554 -143 ) ( 585 1755 162 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 1755 162 ) ( 948 1554 -143 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1755 -193 ) ( 948 1554 -143 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 1755 162 ) ( 1170 1755 -193 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 122 +{ +( 1170 1755 -193 ) ( 966 2125 -346 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2341 -390 ) ( 966 2125 -346 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 966 2125 -346 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2341 -390 ) ( 1170 2341 -431 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 123 +{ +( 1170 2341 -431 ) ( 970 2704 -663 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 970 2704 -663 ) ( 1170 2926 -794 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2926 -794 ) ( 970 2704 -663 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 1170 2926 -794 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 124 +{ +( 585 2926 -758 ) ( 785 3288 -1005 ) ( 585 3511 -1123 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 3511 -1123 ) ( 785 3288 -1005 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 585 3511 -1123 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 785 3288 -1005 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 125 +{ +( 1170 3511 -1128 ) ( 964 3885 -1229 ) ( 585 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 4096 -1261 ) ( 964 3885 -1229 ) ( 1170 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 4096 -1261 ) ( 1170 4096 -1261 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 4096 -1261 ) ( 964 3885 -1229 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 126 +{ +( 1755 -4096 -1261 ) ( 1549 -3715 -1203 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 1755 -3511 -1140 ) ( 1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 1549 -3715 -1203 ) ( 1755 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -3511 -1140 ) ( 1549 -3715 -1203 ) ( 1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 127 +{ +( 1170 -3511 -1153 ) ( 1170 -2926 -854 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 1375 -3131 -952 ) ( 1170 -2926 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2926 -854 ) ( 1375 -3131 -952 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2926 -783 ) ( 1375 -3131 -952 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 128 +{ +( 1755 -2926 -783 ) ( 1556 -2549 -495 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2341 -281 ) ( 1556 -2549 -495 ) ( 1755 -2341 -331 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2341 -331 ) ( 1556 -2549 -495 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2341 -281 ) ( 1755 -2341 -331 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 129 +{ +( 1755 -2341 -331 ) ( 1542 -1959 -201 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1755 -28 ) ( 1542 -1959 -201 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 1542 -1959 -201 ) ( 1755 -2341 -331 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1755 -28 ) ( 1755 -1755 -204 ) ( 1755 -2341 -331 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 130 +{ +( 1755 -1755 -204 ) ( 1545 -1378 -300 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1170 -182 ) ( 1545 -1378 -300 ) ( 1755 -1170 -499 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1170 -499 ) ( 1545 -1378 -300 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1170 -182 ) ( 1755 -1170 -499 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 131 +{ +( 1755 -1170 -499 ) ( 1557 -805 -752 ) ( 1170 -585 -751 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 -585 -751 ) ( 1557 -805 -752 ) ( 1755 -585 -1009 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 1557 -805 -752 ) ( 1755 -1170 -499 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -585 -751 ) ( 1755 -585 -1009 ) ( 1755 -1170 -499 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 132 +{ +( 1170 -585 -751 ) ( 1372 -220 -1047 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 0 -1081 ) ( 1372 -220 -1047 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 0 -1287 ) ( 1372 -220 -1047 ) ( 1170 -585 -751 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -585 -751 ) ( 1170 0 -1081 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 133 +{ +( 1170 0 -1081 ) ( 1371 389 -1097 ) ( 1170 585 -911 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 585 -911 ) ( 1371 389 -1097 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 1371 389 -1097 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 0 -1081 ) ( 1170 585 -911 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 134 +{ +( 1755 585 -1231 ) ( 1531 968 -827 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1170 -383 ) ( 1531 968 -827 ) ( 1755 1170 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1170 -854 ) ( 1531 968 -827 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1170 -383 ) ( 1755 1170 -854 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 135 +{ +( 1755 1170 -854 ) ( 1540 1550 -530 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1755 -193 ) ( 1540 1550 -530 ) ( 1755 1755 -495 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1755 -495 ) ( 1540 1550 -530 ) ( 1755 1170 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1755 -193 ) ( 1755 1755 -495 ) ( 1755 1170 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 136 +{ +( 1755 1755 -495 ) ( 1546 2134 -493 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 1546 2134 -493 ) ( 1755 2341 -513 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2341 -513 ) ( 1546 2134 -493 ) ( 1755 1755 -495 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 1755 2341 -513 ) ( 1755 1755 -495 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 137 +{ +( 1170 2341 -431 ) ( 1370 2703 -690 ) ( 1170 2926 -794 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2926 -794 ) ( 1370 2703 -690 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 1370 2703 -690 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 1170 2926 -794 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 138 +{ +( 1755 2926 -840 ) ( 1553 3292 -1040 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 1553 3292 -1040 ) ( 1755 3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 1755 3511 -1135 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 3511 -1135 ) ( 1553 3292 -1040 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 139 +{ +( 1170 3511 -1128 ) ( 1376 3885 -1229 ) ( 1170 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 4096 -1261 ) ( 1376 3885 -1229 ) ( 1755 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 1170 4096 -1261 ) ( 1755 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 4096 -1261 ) ( 1376 3885 -1229 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 140 +{ +( 1755 -4096 -1261 ) ( 2048 -3800 -1216 ) ( 1755 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -3511 -1140 ) ( 2341 -3511 -1140 ) ( 2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -4096 -1261 ) ( 2048 -3800 -1216 ) ( 1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -3511 -1140 ) ( 2048 -3800 -1216 ) ( 2341 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -3511 -1140 ) ( 2048 -3800 -1216 ) ( 2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 141 +{ +( 1755 -3511 -1140 ) ( 1956 -3131 -924 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -3511 -1140 ) ( 1755 -2926 -783 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2926 -783 ) ( 1956 -3131 -924 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2926 -773 ) ( 1956 -3131 -924 ) ( 1755 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 142 +{ +( 1755 -2926 -783 ) ( 1950 -2547 -536 ) ( 1755 -2341 -331 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2341 -331 ) ( 1950 -2547 -536 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 1950 -2547 -536 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2926 -783 ) ( 1755 -2341 -331 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 143 +{ +( 2341 -2341 -410 ) ( 2130 -1960 -328 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 2130 -1960 -328 ) ( 2341 -1755 -325 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1755 -325 ) ( 2130 -1960 -328 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 2341 -1755 -325 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 144 +{ +( 1755 -1755 -204 ) ( 1957 -1389 -453 ) ( 1755 -1170 -499 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1170 -499 ) ( 1957 -1389 -453 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 1957 -1389 -453 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 1755 -1170 -499 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 145 +{ +( 2341 -1170 -634 ) ( 2145 -811 -930 ) ( 1755 -585 -1009 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 2145 -811 -930 ) ( 2341 -585 -1167 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -585 -1167 ) ( 2145 -811 -930 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 2341 -585 -1167 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 146 +{ +( 1755 -585 -1009 ) ( 1957 -219 -1234 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 0 -1287 ) ( 1957 -219 -1234 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 1957 -219 -1234 ) ( 1755 -585 -1009 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 1755 0 -1287 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 147 +{ +( 2341 0 -1382 ) ( 2129 380 -1341 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 2129 380 -1341 ) ( 2341 585 -1372 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 585 -1372 ) ( 2129 380 -1341 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 2341 585 -1372 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 148 +{ +( 1755 585 -1231 ) ( 1948 973 -1095 ) ( 1755 1170 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1170 -854 ) ( 1948 973 -1095 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1170 -1138 ) ( 1948 973 -1095 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 1755 1170 -854 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 149 +{ +( 1755 1170 -854 ) ( 1949 1558 -733 ) ( 1755 1755 -495 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1755 -495 ) ( 1949 1558 -733 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1755 -788 ) ( 1949 1558 -733 ) ( 1755 1170 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1170 -854 ) ( 1755 1755 -495 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 150 +{ +( 1755 1755 -495 ) ( 1960 2134 -563 ) ( 1755 2341 -513 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2341 -513 ) ( 1960 2134 -563 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2341 -627 ) ( 1960 2134 -563 ) ( 1755 1755 -495 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1755 -495 ) ( 1755 2341 -513 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 151 +{ +( 2341 2341 -627 ) ( 2137 2710 -784 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 2137 2710 -784 ) ( 2341 2926 -860 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 2341 2926 -860 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2137 2710 -784 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 152 +{ +( 1755 2926 -840 ) ( 1958 3292 -1041 ) ( 1755 3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 1755 3511 -1135 ) ( 2341 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 3511 -1135 ) ( 1958 3292 -1041 ) ( 2341 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 3511 -1130 ) ( 1958 3292 -1041 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 153 +{ +( 1755 3511 -1135 ) ( 1961 3885 -1232 ) ( 1755 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 4096 -1261 ) ( 1961 3885 -1232 ) ( 2341 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 3511 -1135 ) ( 1755 4096 -1261 ) ( 2341 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 4096 -1261 ) ( 1961 3885 -1232 ) ( 1755 3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 154 +{ +( 2926 -4096 -1261 ) ( 2720 -3716 -1201 ) ( 2341 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -3511 -1140 ) ( 2720 -3716 -1201 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -3511 -1140 ) ( 2926 -3511 -1148 ) ( 2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -3511 -1148 ) ( 2720 -3716 -1201 ) ( 2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 155 +{ +( 2926 -3511 -1148 ) ( 2723 -3131 -936 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2926 -773 ) ( 2723 -3131 -936 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2926 -815 ) ( 2723 -3131 -936 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2926 -773 ) ( 2926 -2926 -815 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 156 +{ +( 2926 -2926 -815 ) ( 2721 -2547 -595 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 2721 -2547 -595 ) ( 2926 -2341 -493 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 2721 -2547 -595 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 2926 -2341 -493 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 157 +{ +( 2341 -2341 -410 ) ( 2545 -1959 -407 ) ( 2341 -1755 -325 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1755 -325 ) ( 2545 -1959 -407 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1755 -427 ) ( 2545 -1959 -407 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 2341 -1755 -325 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 158 +{ +( 2926 -1755 -427 ) ( 2722 -1387 -593 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 2722 -1387 -593 ) ( 2926 -1170 -697 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 2722 -1387 -593 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 2926 -1170 -697 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 159 +{ +( 2341 -1170 -634 ) ( 2536 -816 -997 ) ( 2341 -585 -1167 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -585 -1167 ) ( 2536 -816 -997 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -585 -1224 ) ( 2536 -816 -997 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 2341 -585 -1167 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 160 +{ +( 2926 -585 -1224 ) ( 2721 -214 -1353 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 2721 -214 -1353 ) ( 2926 0 -1423 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 0 -1423 ) ( 2721 -214 -1353 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 2926 0 -1423 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 161 +{ +( 2341 0 -1382 ) ( 2546 379 -1414 ) ( 2341 585 -1372 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 585 -1372 ) ( 2546 379 -1414 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 585 -1437 ) ( 2546 379 -1414 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 2341 585 -1372 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 162 +{ +( 2341 585 -1372 ) ( 2540 970 -1296 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1170 -1138 ) ( 2540 970 -1296 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1170 -1313 ) ( 2540 970 -1296 ) ( 2341 585 -1372 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 585 -1372 ) ( 2341 1170 -1138 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 163 +{ +( 2926 1170 -1313 ) ( 2715 1550 -1050 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1755 -788 ) ( 2715 1550 -1050 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 2715 1550 -1050 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1755 -788 ) ( 2926 1755 -993 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 164 +{ +( 2926 1755 -993 ) ( 2713 2137 -824 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2341 -627 ) ( 2713 2137 -824 ) ( 2926 2341 -806 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2341 -806 ) ( 2713 2137 -824 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2341 -627 ) ( 2926 2341 -806 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 165 +{ +( 2926 2341 -806 ) ( 2719 2717 -858 ) ( 2341 2926 -860 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2719 2717 -858 ) ( 2926 2926 -863 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2926 2926 -863 ) ( 2926 2341 -806 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2926 -863 ) ( 2719 2717 -858 ) ( 2926 2341 -806 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 166 +{ +( 2341 2926 -860 ) ( 2544 3293 -1047 ) ( 2341 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 3511 -1130 ) ( 2544 3293 -1047 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2341 3511 -1130 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 3511 -1130 ) ( 2544 3293 -1047 ) ( 2341 2926 -860 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 167 +{ +( 2341 3511 -1130 ) ( 2633 3800 -1211 ) ( 2341 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 3511 -1130 ) ( 2633 3800 -1211 ) ( 2341 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 4096 -1261 ) ( 2633 3800 -1211 ) ( 2926 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 4096 -1261 ) ( 2926 4096 -1261 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 4096 -1261 ) ( 2633 3800 -1211 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 168 +{ +( 3511 -4096 -1261 ) ( 3305 -3716 -1204 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -3511 -1148 ) ( 3511 -3511 -1147 ) ( 3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -3511 -1148 ) ( 3305 -3716 -1204 ) ( 3511 -3511 -1147 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -3511 -1147 ) ( 3305 -3716 -1204 ) ( 3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 169 +{ +( 3511 -3511 -1147 ) ( 3308 -3131 -958 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2926 -815 ) ( 3308 -3131 -958 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2926 -845 ) ( 3308 -3131 -958 ) ( 3511 -3511 -1147 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2926 -815 ) ( 3511 -2926 -845 ) ( 3511 -3511 -1147 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 170 +{ +( 3511 -2926 -845 ) ( 3306 -2546 -655 ) ( 2926 -2341 -493 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 3306 -2546 -655 ) ( 3511 -2341 -564 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2341 -564 ) ( 3306 -2546 -655 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 3511 -2341 -564 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 171 +{ +( 2926 -2341 -493 ) ( 3129 -1959 -516 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1755 -427 ) ( 3129 -1959 -516 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1755 -569 ) ( 3129 -1959 -516 ) ( 2926 -2341 -493 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 2926 -1755 -427 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 172 +{ +( 3511 -1755 -569 ) ( 3305 -1383 -686 ) ( 2926 -1170 -697 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 3305 -1383 -686 ) ( 3511 -1170 -762 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1170 -762 ) ( 3305 -1383 -686 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 3511 -1170 -762 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 173 +{ +( 2926 -1170 -697 ) ( 3121 -815 -1037 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 2926 -585 -1224 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -585 -1224 ) ( 3121 -815 -1037 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -585 -1220 ) ( 3121 -815 -1037 ) ( 2926 -1170 -697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 174 +{ +( 2926 -585 -1224 ) ( 3130 -214 -1370 ) ( 2926 0 -1423 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 0 -1423 ) ( 3130 -214 -1370 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -585 -1224 ) ( 2926 0 -1423 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 0 -1433 ) ( 3130 -214 -1370 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 175 +{ +( 3511 0 -1433 ) ( 3303 377 -1461 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 585 -1437 ) ( 3303 377 -1461 ) ( 3511 585 -1469 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 585 -1469 ) ( 3303 377 -1461 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 585 -1437 ) ( 3511 585 -1469 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 176 +{ +( 3511 585 -1469 ) ( 3302 965 -1407 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1170 -1313 ) ( 3302 965 -1407 ) ( 3511 1170 -1393 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1170 -1393 ) ( 3302 965 -1407 ) ( 3511 585 -1469 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1170 -1313 ) ( 3511 1170 -1393 ) ( 3511 585 -1469 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 177 +{ +( 3511 1170 -1393 ) ( 3301 1551 -1196 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 3301 1551 -1196 ) ( 3511 1755 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1755 -1148 ) ( 3301 1551 -1196 ) ( 3511 1170 -1393 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 3511 1755 -1148 ) ( 3511 1170 -1393 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 178 +{ +( 2926 1755 -993 ) ( 3127 2139 -934 ) ( 2926 2341 -806 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2341 -806 ) ( 3127 2139 -934 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2341 -940 ) ( 3127 2139 -934 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 2926 2341 -806 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 179 +{ +( 2926 2341 -806 ) ( 3132 2717 -877 ) ( 2926 2926 -863 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2926 -863 ) ( 3132 2717 -877 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2926 -915 ) ( 3132 2717 -877 ) ( 2926 2341 -806 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2341 -806 ) ( 2926 2926 -863 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 180 +{ +( 3511 2926 -915 ) ( 3307 3296 -1068 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 3511 -1130 ) ( 3307 3296 -1068 ) ( 3511 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 3511 -1130 ) ( 3511 3511 -1130 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 3511 -1130 ) ( 3307 3296 -1068 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 181 +{ +( 2926 3511 -1130 ) ( 3218 3800 -1211 ) ( 2926 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 3511 -1130 ) ( 3218 3800 -1211 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 4096 -1261 ) ( 3218 3800 -1211 ) ( 3511 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 4096 -1261 ) ( 3511 4096 -1261 ) ( 3511 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 4096 -1261 ) ( 3218 3800 -1211 ) ( 3511 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 182 +{ +( 3511 -4096 -1261 ) ( 3717 -3716 -1203 ) ( 3511 -3511 -1147 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -4096 -1261 ) ( 3511 -3511 -1147 ) ( 4096 -3511 -1146 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -3511 -1147 ) ( 3717 -3716 -1203 ) ( 4096 -3511 -1146 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -3511 -1146 ) ( 3717 -3716 -1203 ) ( 3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 183 +{ +( 4096 -3511 -1146 ) ( 3893 -3131 -971 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2926 -845 ) ( 3893 -3131 -971 ) ( 4096 -2926 -856 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2926 -845 ) ( 4096 -2926 -856 ) ( 4096 -3511 -1146 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -2926 -856 ) ( 3893 -3131 -971 ) ( 4096 -3511 -1146 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 184 +{ +( 4096 -2926 -856 ) ( 3891 -2546 -697 ) ( 3511 -2341 -564 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2341 -564 ) ( 3891 -2546 -697 ) ( 4096 -2341 -609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -2341 -609 ) ( 3891 -2546 -697 ) ( 4096 -2926 -856 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2341 -564 ) ( 4096 -2341 -609 ) ( 4096 -2926 -856 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 185 +{ +( 4096 -2341 -609 ) ( 3888 -1962 -608 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1755 -569 ) ( 3888 -1962 -608 ) ( 4096 -1755 -600 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -1755 -600 ) ( 3888 -1962 -608 ) ( 4096 -2341 -609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1755 -569 ) ( 4096 -1755 -600 ) ( 4096 -2341 -609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 186 +{ +( 4096 -1755 -600 ) ( 3891 -1383 -720 ) ( 3511 -1170 -762 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1170 -762 ) ( 3891 -1383 -720 ) ( 4096 -1170 -764 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1170 -762 ) ( 4096 -1170 -764 ) ( 4096 -1755 -600 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -1170 -764 ) ( 3891 -1383 -720 ) ( 4096 -1755 -600 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 187 +{ +( 3511 -585 -1220 ) ( 4096 -585 -1165 ) ( 4096 -1170 -764 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -1170 -764 ) ( 3897 -810 -1049 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -585 -1220 ) ( 3897 -810 -1049 ) ( 4096 -585 -1165 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -585 -1165 ) ( 3897 -810 -1049 ) ( 4096 -1170 -764 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 188 +{ +( 3511 0 -1433 ) ( 4096 0 -1402 ) ( 4096 -585 -1165 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -585 -1165 ) ( 3893 -216 -1342 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 0 -1433 ) ( 3893 -216 -1342 ) ( 4096 0 -1402 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 0 -1402 ) ( 3893 -216 -1342 ) ( 4096 -585 -1165 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 189 +{ +( 3511 0 -1433 ) ( 3717 377 -1476 ) ( 3511 585 -1469 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 585 -1469 ) ( 3717 377 -1476 ) ( 4096 585 -1480 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 0 -1433 ) ( 3511 585 -1469 ) ( 4096 585 -1480 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 585 -1480 ) ( 3717 377 -1476 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 190 +{ +( 3511 585 -1469 ) ( 3716 965 -1449 ) ( 3511 1170 -1393 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1170 -1393 ) ( 3716 965 -1449 ) ( 4096 1170 -1432 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 1170 -1432 ) ( 3716 965 -1449 ) ( 3511 585 -1469 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 585 -1469 ) ( 3511 1170 -1393 ) ( 4096 1170 -1432 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 191 +{ +( 3511 1170 -1393 ) ( 3711 1552 -1284 ) ( 3511 1755 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1755 -1148 ) ( 3711 1552 -1284 ) ( 4096 1755 -1245 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 1755 -1245 ) ( 3711 1552 -1284 ) ( 3511 1170 -1393 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1170 -1393 ) ( 3511 1755 -1148 ) ( 4096 1755 -1245 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 192 +{ +( 4096 1755 -1245 ) ( 3888 2136 -1093 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2341 -940 ) ( 3888 2136 -1093 ) ( 4096 2341 -1040 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 2341 -1040 ) ( 3888 2136 -1093 ) ( 4096 1755 -1245 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2341 -940 ) ( 4096 2341 -1040 ) ( 4096 1755 -1245 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 193 +{ +( 4096 2341 -1040 ) ( 3888 2721 -988 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2926 -915 ) ( 3888 2721 -988 ) ( 4096 2926 -960 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 2926 -960 ) ( 3888 2721 -988 ) ( 4096 2341 -1040 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2926 -915 ) ( 4096 2926 -960 ) ( 4096 2341 -1040 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 194 +{ +( 4096 2926 -960 ) ( 3891 3297 -1091 ) ( 3511 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 3511 -1130 ) ( 3891 3297 -1091 ) ( 4096 3511 -1152 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 3511 -1130 ) ( 4096 3511 -1152 ) ( 4096 2926 -960 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 3511 -1152 ) ( 3891 3297 -1091 ) ( 4096 2926 -960 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 195 +{ +( 4096 3511 -1152 ) ( 3890 3886 -1238 ) ( 3511 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 4096 -1261 ) ( 3890 3886 -1238 ) ( 4096 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 4096 -1261 ) ( 4096 4096 -1261 ) ( 4096 3511 -1152 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 4096 -1261 ) ( 3890 3886 -1238 ) ( 4096 3511 -1152 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 196 +{ +( 3511 3511 -1130 ) ( 3716 3715 -1200 ) ( 3511 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 3511 -1152 ) ( 3716 3715 -1200 ) ( 3511 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 4096 -1261 ) ( 4096 3511 -1152 ) ( 3511 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 4096 -1261 ) ( 3716 3715 -1200 ) ( 4096 3511 -1152 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 197 +{ +( 3511 2926 -915 ) ( 3714 3129 -1022 ) ( 3511 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 2926 -960 ) ( 3714 3129 -1022 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 3511 -1130 ) ( 3714 3129 -1022 ) ( 4096 2926 -960 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 3511 -1130 ) ( 4096 2926 -960 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 198 +{ +( 3511 2341 -940 ) ( 3716 2548 -982 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 2341 -1040 ) ( 3716 2548 -982 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2926 -915 ) ( 3716 2548 -982 ) ( 4096 2341 -1040 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2926 -915 ) ( 4096 2341 -1040 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 199 +{ +( 3511 1755 -1148 ) ( 3714 1970 -1122 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 1755 -1245 ) ( 3714 1970 -1122 ) ( 3511 1755 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2341 -940 ) ( 3714 1970 -1122 ) ( 4096 1755 -1245 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2341 -940 ) ( 4096 1755 -1245 ) ( 3511 1755 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 200 +{ +( 3511 1170 -1393 ) ( 3891 1383 -1367 ) ( 4096 1755 -1245 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 1170 -1432 ) ( 3891 1383 -1367 ) ( 3511 1170 -1393 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 1755 -1245 ) ( 3891 1383 -1367 ) ( 4096 1170 -1432 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1170 -1393 ) ( 4096 1755 -1245 ) ( 4096 1170 -1432 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 201 +{ +( 3511 585 -1469 ) ( 3889 793 -1475 ) ( 4096 1170 -1432 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 585 -1480 ) ( 3889 793 -1475 ) ( 3511 585 -1469 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 585 -1469 ) ( 4096 1170 -1432 ) ( 4096 585 -1480 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 1170 -1432 ) ( 3889 793 -1475 ) ( 4096 585 -1480 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 202 +{ +( 3511 0 -1433 ) ( 4096 585 -1480 ) ( 4096 0 -1402 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 0 -1433 ) ( 3890 205 -1456 ) ( 4096 585 -1480 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 0 -1402 ) ( 3890 205 -1456 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 585 -1480 ) ( 3890 205 -1456 ) ( 4096 0 -1402 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 203 +{ +( 3511 0 -1433 ) ( 4096 -585 -1165 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -585 -1220 ) ( 3717 -381 -1292 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -585 -1165 ) ( 3717 -381 -1292 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 0 -1433 ) ( 3717 -381 -1292 ) ( 4096 -585 -1165 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 204 +{ +( 3511 -1170 -762 ) ( 3708 -963 -945 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -1170 -764 ) ( 3708 -963 -945 ) ( 3511 -1170 -762 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -585 -1220 ) ( 4096 -1170 -764 ) ( 3511 -1170 -762 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -585 -1220 ) ( 3708 -963 -945 ) ( 4096 -1170 -764 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 205 +{ +( 3511 -1755 -569 ) ( 3715 -1551 -664 ) ( 3511 -1170 -762 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -1755 -600 ) ( 3715 -1551 -664 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1170 -762 ) ( 3715 -1551 -664 ) ( 4096 -1755 -600 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1170 -762 ) ( 4096 -1755 -600 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 206 +{ +( 3511 -2341 -564 ) ( 3717 -2134 -598 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -2341 -609 ) ( 3717 -2134 -598 ) ( 3511 -2341 -564 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1755 -569 ) ( 3717 -2134 -598 ) ( 4096 -2341 -609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1755 -569 ) ( 4096 -2341 -609 ) ( 3511 -2341 -564 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 207 +{ +( 3511 -2926 -845 ) ( 3713 -2708 -762 ) ( 3511 -2341 -564 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -2926 -856 ) ( 3713 -2708 -762 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2341 -564 ) ( 4096 -2926 -856 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2341 -564 ) ( 3713 -2708 -762 ) ( 4096 -2926 -856 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 208 +{ +( 3511 -3511 -1147 ) ( 3713 -3292 -1051 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2926 -845 ) ( 4096 -3511 -1146 ) ( 3511 -3511 -1147 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -3511 -1146 ) ( 3713 -3292 -1051 ) ( 3511 -3511 -1147 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2926 -845 ) ( 3713 -3292 -1051 ) ( 4096 -3511 -1146 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 209 +{ +( 3511 -4096 -1261 ) ( 3890 -3885 -1236 ) ( 4096 -3511 -1146 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -4096 -1261 ) ( 4096 -3511 -1146 ) ( 4096 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -4096 -1261 ) ( 3890 -3885 -1236 ) ( 3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 4096 -3511 -1146 ) ( 3890 -3885 -1236 ) ( 4096 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 210 +{ +( 2926 2926 -863 ) ( 3127 3129 -991 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2926 -915 ) ( 3127 3129 -991 ) ( 2926 2926 -863 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 3511 -1130 ) ( 3127 3129 -991 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 3511 -1130 ) ( 3511 2926 -915 ) ( 2926 2926 -863 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 211 +{ +( 2926 2341 -806 ) ( 3300 2547 -899 ) ( 3511 2926 -915 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2341 -940 ) ( 3300 2547 -899 ) ( 2926 2341 -806 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2926 -915 ) ( 3300 2547 -899 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2341 -806 ) ( 3511 2926 -915 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 212 +{ +( 2926 1755 -993 ) ( 3303 1967 -1035 ) ( 3511 2341 -940 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1755 -1148 ) ( 3303 1967 -1035 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 2341 -940 ) ( 3303 1967 -1035 ) ( 3511 1755 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 3511 2341 -940 ) ( 3511 1755 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 213 +{ +( 2926 1170 -1313 ) ( 3127 1391 -1238 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 1170 -1393 ) ( 3127 1391 -1238 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 3127 1391 -1238 ) ( 3511 1170 -1393 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 3511 1170 -1393 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 214 +{ +( 2926 585 -1437 ) ( 3131 796 -1420 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 585 -1469 ) ( 3131 796 -1420 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1170 -1313 ) ( 3131 796 -1420 ) ( 3511 585 -1469 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1170 -1313 ) ( 3511 585 -1469 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 215 +{ +( 2926 0 -1423 ) ( 3133 206 -1447 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 0 -1433 ) ( 3133 206 -1447 ) ( 2926 0 -1423 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 585 -1437 ) ( 3511 0 -1433 ) ( 2926 0 -1423 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 585 -1437 ) ( 3133 206 -1447 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 216 +{ +( 2926 -585 -1224 ) ( 3307 -381 -1313 ) ( 3511 0 -1433 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -585 -1224 ) ( 3511 0 -1433 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -585 -1220 ) ( 3307 -381 -1313 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 0 -1433 ) ( 3307 -381 -1313 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 217 +{ +( 2926 -1170 -697 ) ( 3311 -962 -923 ) ( 3511 -585 -1220 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1170 -762 ) ( 3311 -962 -923 ) ( 2926 -1170 -697 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -585 -1220 ) ( 3311 -962 -923 ) ( 3511 -1170 -762 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 3511 -585 -1220 ) ( 3511 -1170 -762 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 218 +{ +( 2926 -1755 -427 ) ( 3125 -1554 -586 ) ( 2926 -1170 -697 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1755 -569 ) ( 3125 -1554 -586 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 3125 -1554 -586 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 3511 -1755 -569 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 219 +{ +( 2926 -2341 -493 ) ( 3302 -2134 -557 ) ( 3511 -1755 -569 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2341 -564 ) ( 3302 -2134 -557 ) ( 2926 -2341 -493 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -1755 -569 ) ( 3302 -2134 -557 ) ( 3511 -2341 -564 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 3511 -1755 -569 ) ( 3511 -2341 -564 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 220 +{ +( 2926 -2926 -815 ) ( 3127 -2705 -722 ) ( 2926 -2341 -493 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -2926 -845 ) ( 3127 -2705 -722 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 3511 -2926 -845 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 3127 -2705 -722 ) ( 3511 -2926 -845 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 221 +{ +( 2926 -3511 -1148 ) ( 3127 -3290 -1040 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2926 -815 ) ( 3511 -3511 -1147 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -3511 -1147 ) ( 3127 -3290 -1040 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2926 -815 ) ( 3127 -3290 -1040 ) ( 3511 -3511 -1147 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 222 +{ +( 2926 -4096 -1261 ) ( 3132 -3885 -1237 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -3511 -1148 ) ( 3511 -4096 -1261 ) ( 2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 3511 -4096 -1261 ) ( 3132 -3885 -1237 ) ( 2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -3511 -1148 ) ( 3132 -3885 -1237 ) ( 3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 223 +{ +( 2341 2926 -860 ) ( 2723 3130 -973 ) ( 2926 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2926 -863 ) ( 2723 3130 -973 ) ( 2341 2926 -860 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2926 3511 -1130 ) ( 2926 2926 -863 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 3511 -1130 ) ( 2723 3130 -973 ) ( 2926 2926 -863 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 224 +{ +( 2341 2341 -627 ) ( 2540 2541 -786 ) ( 2341 2926 -860 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 2341 -806 ) ( 2540 2541 -786 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2540 2541 -786 ) ( 2926 2341 -806 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2926 2341 -806 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 225 +{ +( 2341 1755 -788 ) ( 2545 1967 -819 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1755 -993 ) ( 2545 1967 -819 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2341 -627 ) ( 2545 1967 -819 ) ( 2926 1755 -993 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2341 -627 ) ( 2926 1755 -993 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 226 +{ +( 2341 1170 -1138 ) ( 2542 1392 -1085 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1170 -1313 ) ( 2542 1392 -1085 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1755 -788 ) ( 2542 1392 -1085 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1755 -788 ) ( 2926 1170 -1313 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 227 +{ +( 2341 585 -1372 ) ( 2719 795 -1386 ) ( 2926 1170 -1313 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 585 -1437 ) ( 2719 795 -1386 ) ( 2341 585 -1372 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 1170 -1313 ) ( 2719 795 -1386 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 585 -1372 ) ( 2926 1170 -1313 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 228 +{ +( 2341 0 -1382 ) ( 2718 206 -1429 ) ( 2926 585 -1437 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 0 -1423 ) ( 2718 206 -1429 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 585 -1437 ) ( 2718 206 -1429 ) ( 2926 0 -1423 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 2926 585 -1437 ) ( 2926 0 -1423 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 229 +{ +( 2341 -585 -1167 ) ( 2543 -382 -1279 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -585 -1224 ) ( 2543 -382 -1279 ) ( 2341 -585 -1167 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 2543 -382 -1279 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 2926 -585 -1224 ) ( 2341 -585 -1167 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 230 +{ +( 2341 -1170 -634 ) ( 2729 -960 -886 ) ( 2926 -585 -1224 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1170 -697 ) ( 2729 -960 -886 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 2926 -585 -1224 ) ( 2729 -960 -886 ) ( 2926 -1170 -697 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 2926 -585 -1224 ) ( 2926 -1170 -697 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 231 +{ +( 2341 -1755 -325 ) ( 2539 -1552 -485 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1755 -427 ) ( 2539 -1552 -485 ) ( 2341 -1755 -325 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 2539 -1552 -485 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 2926 -1755 -427 ) ( 2341 -1755 -325 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 232 +{ +( 2341 -2341 -410 ) ( 2717 -2132 -456 ) ( 2926 -1755 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2341 -493 ) ( 2717 -2132 -456 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -1755 -427 ) ( 2717 -2132 -456 ) ( 2926 -2341 -493 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 2926 -1755 -427 ) ( 2926 -2341 -493 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 233 +{ +( 2341 -2926 -773 ) ( 2541 -2703 -668 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -2926 -815 ) ( 2541 -2703 -668 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 2541 -2703 -668 ) ( 2926 -2926 -815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 2926 -2926 -815 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 234 +{ +( 2341 -3511 -1140 ) ( 2541 -3288 -1022 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -3511 -1148 ) ( 2541 -3288 -1022 ) ( 2341 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2926 -773 ) ( 2926 -3511 -1148 ) ( 2341 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2926 -773 ) ( 2541 -3288 -1022 ) ( 2926 -3511 -1148 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 235 +{ +( 2341 -4096 -1261 ) ( 2547 -3885 -1234 ) ( 2341 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -3511 -1140 ) ( 2926 -4096 -1261 ) ( 2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2926 -4096 -1261 ) ( 2547 -3885 -1234 ) ( 2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -3511 -1140 ) ( 2547 -3885 -1234 ) ( 2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 236 +{ +( 1755 3511 -1135 ) ( 2135 3715 -1194 ) ( 2341 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 3511 -1135 ) ( 2341 4096 -1261 ) ( 2341 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 3511 -1130 ) ( 2135 3715 -1194 ) ( 1755 3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 4096 -1261 ) ( 2135 3715 -1194 ) ( 2341 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 237 +{ +( 1755 2926 -840 ) ( 2137 3130 -965 ) ( 2341 3511 -1130 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2926 -860 ) ( 2137 3130 -965 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 2341 3511 -1130 ) ( 2341 2926 -860 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 3511 -1130 ) ( 2137 3130 -965 ) ( 2341 2926 -860 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 238 +{ +( 1755 2341 -513 ) ( 1953 2544 -683 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2341 -627 ) ( 1953 2544 -683 ) ( 1755 2341 -513 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 1953 2544 -683 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 2341 2341 -627 ) ( 1755 2341 -513 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 239 +{ +( 1755 1755 -495 ) ( 2126 1960 -642 ) ( 2341 2341 -627 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1755 -788 ) ( 2126 1960 -642 ) ( 1755 1755 -495 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 2341 -627 ) ( 2126 1960 -642 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1755 -495 ) ( 2341 2341 -627 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 240 +{ +( 1755 1170 -854 ) ( 2134 1382 -931 ) ( 2341 1755 -788 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1170 -1138 ) ( 2134 1382 -931 ) ( 1755 1170 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1755 -788 ) ( 2134 1382 -931 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1170 -854 ) ( 2341 1755 -788 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 241 +{ +( 1755 585 -1231 ) ( 2134 798 -1255 ) ( 2341 1170 -1138 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 585 -1372 ) ( 2134 798 -1255 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 1170 -1138 ) ( 2134 798 -1255 ) ( 2341 585 -1372 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 2341 1170 -1138 ) ( 2341 585 -1372 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 242 +{ +( 1755 0 -1287 ) ( 1960 208 -1317 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 1960 208 -1317 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 1960 208 -1317 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 2341 0 -1382 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 243 +{ +( 1755 -585 -1009 ) ( 2129 -381 -1203 ) ( 2341 0 -1382 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -585 -1167 ) ( 2129 -381 -1203 ) ( 1755 -585 -1009 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 0 -1382 ) ( 2129 -381 -1203 ) ( 2341 -585 -1167 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 2341 0 -1382 ) ( 2341 -585 -1167 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 244 +{ +( 1755 -1170 -499 ) ( 1946 -965 -743 ) ( 1755 -585 -1009 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 1946 -965 -743 ) ( 1755 -1170 -499 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 1946 -965 -743 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 2341 -1170 -634 ) ( 1755 -1170 -499 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 245 +{ +( 1755 -1755 -204 ) ( 2134 -1550 -409 ) ( 2341 -1170 -634 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1755 -325 ) ( 2134 -1550 -409 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -1170 -634 ) ( 2134 -1550 -409 ) ( 2341 -1755 -325 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 2341 -1170 -634 ) ( 2341 -1755 -325 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 246 +{ +( 1755 -2341 -331 ) ( 1960 -2129 -329 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 1960 -2129 -329 ) ( 1755 -2341 -331 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 1960 -2129 -329 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 2341 -2341 -410 ) ( 1755 -2341 -331 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 247 +{ +( 1755 -2926 -783 ) ( 2141 -2704 -657 ) ( 2341 -2341 -410 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2926 -783 ) ( 2341 -2341 -410 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2926 -773 ) ( 2141 -2704 -657 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2341 -410 ) ( 2141 -2704 -657 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 248 +{ +( 1755 -3511 -1140 ) ( 2141 -3289 -1019 ) ( 2341 -2926 -773 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -3511 -1140 ) ( 2341 -2926 -773 ) ( 2341 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -3511 -1140 ) ( 2141 -3289 -1019 ) ( 1755 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 2341 -2926 -773 ) ( 2141 -3289 -1019 ) ( 2341 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 249 +{ +( 1170 3511 -1128 ) ( 1549 3715 -1193 ) ( 1755 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 3511 -1135 ) ( 1549 3715 -1193 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 1755 4096 -1261 ) ( 1755 3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 4096 -1261 ) ( 1549 3715 -1193 ) ( 1755 3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 250 +{ +( 1170 2926 -794 ) ( 1369 3130 -945 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 1369 3130 -945 ) ( 1170 2926 -794 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 1369 3130 -945 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 1755 2926 -840 ) ( 1170 2926 -794 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 251 +{ +( 1170 2341 -431 ) ( 1550 2547 -618 ) ( 1755 2926 -840 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2341 -513 ) ( 1550 2547 -618 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 2926 -840 ) ( 1550 2547 -618 ) ( 1755 2341 -513 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 1755 2926 -840 ) ( 1755 2341 -513 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 252 +{ +( 1170 1755 -193 ) ( 1368 1952 -394 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1755 -495 ) ( 1368 1952 -394 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 1368 1952 -394 ) ( 1755 1755 -495 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 1755 1755 -495 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 253 +{ +( 1170 1170 -383 ) ( 1379 1376 -505 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 1170 -854 ) ( 1379 1376 -505 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1755 -193 ) ( 1379 1376 -505 ) ( 1755 1170 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1755 -193 ) ( 1755 1170 -854 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 254 +{ +( 1170 585 -911 ) ( 1369 814 -837 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 1369 814 -837 ) ( 1170 585 -911 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1170 -383 ) ( 1369 814 -837 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 1170 -383 ) ( 1755 585 -1231 ) ( 1170 585 -911 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 255 +{ +( 1170 0 -1081 ) ( 1541 205 -1209 ) ( 1755 585 -1231 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 0 -1287 ) ( 1541 205 -1209 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 585 -1231 ) ( 1541 205 -1209 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 0 -1081 ) ( 1755 585 -1231 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 256 +{ +( 1170 -585 -751 ) ( 1540 -381 -1030 ) ( 1755 0 -1287 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -585 -1009 ) ( 1540 -381 -1030 ) ( 1170 -585 -751 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 0 -1287 ) ( 1540 -381 -1030 ) ( 1755 -585 -1009 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -585 -751 ) ( 1755 0 -1287 ) ( 1755 -585 -1009 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 257 +{ +( 1170 -1170 -182 ) ( 1355 -971 -500 ) ( 1170 -585 -751 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1170 -499 ) ( 1355 -971 -500 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 -585 -751 ) ( 1355 -971 -500 ) ( 1755 -1170 -499 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -585 -751 ) ( 1755 -1170 -499 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 258 +{ +( 1170 -1755 -28 ) ( 1371 -1554 -159 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -1755 -204 ) ( 1371 -1554 -159 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1170 -182 ) ( 1371 -1554 -159 ) ( 1755 -1755 -204 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1170 -182 ) ( 1755 -1755 -204 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 259 +{ +( 1170 -2341 -281 ) ( 1373 -2123 -222 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2341 -331 ) ( 1373 -2123 -222 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1755 -28 ) ( 1373 -2123 -222 ) ( 1755 -2341 -331 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1755 -28 ) ( 1755 -2341 -331 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 260 +{ +( 1170 -2341 -281 ) ( 1755 -2926 -783 ) ( 1170 -2926 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2926 -854 ) ( 1363 -2695 -627 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2926 -783 ) ( 1363 -2695 -627 ) ( 1170 -2926 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2341 -281 ) ( 1363 -2695 -627 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 261 +{ +( 1170 -3511 -1153 ) ( 1555 -3289 -1028 ) ( 1755 -2926 -783 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 1755 -2926 -783 ) ( 1755 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -3511 -1140 ) ( 1555 -3289 -1028 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -2926 -783 ) ( 1555 -3289 -1028 ) ( 1755 -3511 -1140 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 262 +{ +( 1170 -4096 -1261 ) ( 1376 -3886 -1238 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 1755 -4096 -1261 ) ( 1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1755 -4096 -1261 ) ( 1376 -3886 -1238 ) ( 1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 1376 -3886 -1238 ) ( 1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 263 +{ +( 585 3511 -1123 ) ( 791 3715 -1189 ) ( 585 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 791 3715 -1189 ) ( 585 3511 -1123 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 4096 -1261 ) ( 1170 3511 -1128 ) ( 585 3511 -1123 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 4096 -1261 ) ( 791 3715 -1189 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 264 +{ +( 585 2926 -758 ) ( 968 3131 -917 ) ( 1170 3511 -1128 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2926 -794 ) ( 968 3131 -917 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 3511 -1128 ) ( 968 3131 -917 ) ( 1170 2926 -794 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 1170 3511 -1128 ) ( 1170 2926 -794 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 265 +{ +( 585 2341 -390 ) ( 783 2546 -552 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 2341 -431 ) ( 783 2546 -552 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 783 2546 -552 ) ( 1170 2341 -431 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 1170 2341 -431 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 266 +{ +( 585 1755 162 ) ( 770 1952 -160 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 1755 -193 ) ( 770 1952 -160 ) ( 585 1755 162 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 2341 -390 ) ( 770 1952 -160 ) ( 1170 1755 -193 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2341 -390 ) ( 1170 1755 -193 ) ( 585 1755 162 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 267 +{ +( 585 1170 212 ) ( 795 1360 -41 ) ( 585 1755 162 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 1170 -383 ) ( 795 1360 -41 ) ( 585 1170 212 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 1755 162 ) ( 795 1360 -41 ) ( 1170 1170 -383 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 1755 162 ) ( 1170 1170 -383 ) ( 585 1170 212 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 268 +{ +( 585 585 -305 ) ( 792 804 -353 ) ( 585 1170 212 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 585 -911 ) ( 792 804 -353 ) ( 585 585 -305 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 1170 212 ) ( 792 804 -353 ) ( 1170 585 -911 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 1170 212 ) ( 1170 585 -911 ) ( 585 585 -305 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 269 +{ +( 585 0 -667 ) ( 790 217 -700 ) ( 585 585 -305 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 0 -1081 ) ( 790 217 -700 ) ( 585 0 -667 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 585 -305 ) ( 790 217 -700 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 585 -305 ) ( 1170 0 -1081 ) ( 585 0 -667 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 270 +{ +( 585 -585 -364 ) ( 949 -382 -740 ) ( 1170 0 -1081 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -585 -751 ) ( 949 -382 -740 ) ( 585 -585 -364 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 0 -1081 ) ( 949 -382 -740 ) ( 1170 -585 -751 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -585 -364 ) ( 1170 0 -1081 ) ( 1170 -585 -751 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 271 +{ +( 585 -1170 233 ) ( 769 -975 -122 ) ( 585 -585 -364 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 -1170 -182 ) ( 769 -975 -122 ) ( 585 -1170 233 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -585 -364 ) ( 769 -975 -122 ) ( 1170 -1170 -182 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -585 -364 ) ( 1170 -1170 -182 ) ( 585 -1170 233 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 272 +{ +( 585 -1755 241 ) ( 789 -1553 127 ) ( 585 -1170 233 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1755 -28 ) ( 789 -1553 127 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1170 233 ) ( 789 -1553 127 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1170 233 ) ( 1170 -1755 -28 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 273 +{ +( 585 -2341 -275 ) ( 967 -2124 -203 ) ( 1170 -1755 -28 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2341 -281 ) ( 967 -2124 -203 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2341 -275 ) ( 1170 -1755 -28 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -1755 -28 ) ( 967 -2124 -203 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 274 +{ +( 585 -2926 -909 ) ( 1170 -2341 -281 ) ( 1170 -2926 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2926 -909 ) ( 977 -2693 -666 ) ( 1170 -2341 -281 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 1170 -2926 -854 ) ( 977 -2693 -666 ) ( 585 -2926 -909 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -2341 -281 ) ( 977 -2693 -666 ) ( 1170 -2926 -854 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 275 +{ +( 585 -3511 -1168 ) ( 788 -3294 -1084 ) ( 585 -2926 -909 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2926 -909 ) ( 1170 -3511 -1153 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 788 -3294 -1084 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2926 -909 ) ( 788 -3294 -1084 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 276 +{ +( 585 -4096 -1261 ) ( 964 -3886 -1238 ) ( 1170 -3511 -1153 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -4096 -1261 ) ( 1170 -3511 -1153 ) ( 1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -4096 -1261 ) ( 964 -3886 -1238 ) ( 585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 1170 -3511 -1153 ) ( 964 -3886 -1238 ) ( 1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 277 +{ +( 0 3511 -1120 ) ( 206 3715 -1187 ) ( 0 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 3511 -1123 ) ( 206 3715 -1187 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 4096 -1261 ) ( 585 3511 -1123 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 4096 -1261 ) ( 206 3715 -1187 ) ( 585 3511 -1123 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 278 +{ +( 0 2926 -722 ) ( 197 3131 -893 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2926 -758 ) ( 197 3131 -893 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 3511 -1120 ) ( 197 3131 -893 ) ( 585 2926 -758 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 3511 -1120 ) ( 585 2926 -758 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 279 +{ +( 0 2926 -722 ) ( 585 2341 -390 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2341 -426 ) ( 203 2546 -535 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 2341 -390 ) ( 203 2546 -535 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2926 -722 ) ( 203 2546 -535 ) ( 585 2341 -390 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 280 +{ +( 0 1755 200 ) ( 190 1966 -62 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 1755 162 ) ( 190 1966 -62 ) ( 0 1755 200 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 2341 -426 ) ( 585 1755 162 ) ( 0 1755 200 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 2341 -426 ) ( 190 1966 -62 ) ( 585 1755 162 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 281 +{ +( 0 1170 757 ) ( 187 1357 378 ) ( 0 1755 200 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 1170 212 ) ( 187 1357 378 ) ( 0 1170 757 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 1755 200 ) ( 187 1357 378 ) ( 585 1170 212 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1755 200 ) ( 585 1170 212 ) ( 0 1170 757 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 282 +{ +( 0 585 548 ) ( 219 780 269 ) ( 0 1170 757 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 585 -305 ) ( 219 780 269 ) ( 0 585 548 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 1170 757 ) ( 219 780 269 ) ( 585 585 -305 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 1170 757 ) ( 585 585 -305 ) ( 0 585 548 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 283 +{ +( 585 0 -667 ) ( 357 187 -265 ) ( 0 0 143 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 0 143 ) ( 357 187 -265 ) ( 585 585 -305 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 585 -305 ) ( 357 187 -265 ) ( 585 0 -667 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 0 143 ) ( 585 585 -305 ) ( 585 0 -667 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 284 +{ +( 0 -585 291 ) ( 209 -400 -14 ) ( 0 0 143 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -585 -364 ) ( 209 -400 -14 ) ( 0 -585 291 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 0 143 ) ( 209 -400 -14 ) ( 585 -585 -364 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 0 143 ) ( 585 -585 -364 ) ( 0 -585 291 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 285 +{ +( 0 -1170 699 ) ( 193 -981 390 ) ( 0 -585 291 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1170 233 ) ( 193 -981 390 ) ( 0 -1170 699 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -585 291 ) ( 193 -981 390 ) ( 585 -1170 233 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -585 291 ) ( 585 -1170 233 ) ( 0 -1170 699 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 286 +{ +( 0 -1755 481 ) ( 204 -1541 459 ) ( 0 -1170 699 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1755 241 ) ( 204 -1541 459 ) ( 0 -1755 481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -1170 699 ) ( 204 -1541 459 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -1170 699 ) ( 585 -1755 241 ) ( 0 -1755 481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 287 +{ +( 0 -2341 -330 ) ( 585 -1755 241 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -2341 -330 ) ( 390 -2110 -111 ) ( 585 -1755 241 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -2341 -275 ) ( 390 -2110 -111 ) ( 0 -2341 -330 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -1755 241 ) ( 390 -2110 -111 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 288 +{ +( 0 -2926 -955 ) ( 585 -2341 -275 ) ( 585 -2926 -909 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -2926 -955 ) ( 393 -2690 -692 ) ( 585 -2341 -275 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 585 -2926 -909 ) ( 393 -2690 -692 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -2341 -275 ) ( 393 -2690 -692 ) ( 585 -2926 -909 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 289 +{ +( 0 -3511 -1179 ) ( 204 -3296 -1110 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -2926 -955 ) ( 585 -3511 -1168 ) ( 0 -3511 -1179 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -3511 -1168 ) ( 204 -3296 -1110 ) ( 0 -3511 -1179 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -2926 -955 ) ( 204 -3296 -1110 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 290 +{ +( 0 -4096 -1261 ) ( 379 -3886 -1244 ) ( 585 -3511 -1168 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -4096 -1261 ) ( 585 -3511 -1168 ) ( 585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -4096 -1261 ) ( 379 -3886 -1244 ) ( 0 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 585 -3511 -1168 ) ( 379 -3886 -1244 ) ( 585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 291 +{ +( -585 3511 -1112 ) ( -380 3715 -1183 ) ( -585 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 3511 -1120 ) ( -380 3715 -1183 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 4096 -1261 ) ( 0 3511 -1120 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 4096 -1261 ) ( -380 3715 -1183 ) ( 0 3511 -1120 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 292 +{ +( -585 2926 -742 ) ( -384 3132 -884 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 3511 -1112 ) ( 0 2926 -722 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2926 -722 ) ( -384 3132 -884 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 3511 -1112 ) ( -384 3132 -884 ) ( 0 2926 -722 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 293 +{ +( -585 2341 -424 ) ( -384 2546 -554 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 2341 -426 ) ( -384 2546 -554 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2926 -742 ) ( 0 2341 -426 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2926 -742 ) ( -384 2546 -554 ) ( 0 2341 -426 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 294 +{ +( -585 2341 -424 ) ( 0 1755 200 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1755 98 ) ( -385 1965 -76 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 1755 200 ) ( -385 1965 -76 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2341 -424 ) ( -385 1965 -76 ) ( 0 1755 200 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 295 +{ +( -585 1170 927 ) ( -406 1383 545 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 1170 757 ) ( -406 1383 545 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 1755 98 ) ( -406 1383 545 ) ( 0 1170 757 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 1755 98 ) ( 0 1170 757 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 296 +{ +( -585 585 991 ) ( -379 780 794 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 585 548 ) ( -379 780 794 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1170 927 ) ( -379 780 794 ) ( 0 585 548 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1170 927 ) ( 0 585 548 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 297 +{ +( 0 0 143 ) ( -236 179 656 ) ( -585 0 1195 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 0 1195 ) ( -236 179 656 ) ( 0 585 548 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 585 548 ) ( -236 179 656 ) ( 0 0 143 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 0 1195 ) ( 0 585 548 ) ( 0 0 143 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 298 +{ +( -585 -585 1296 ) ( -365 -408 855 ) ( -585 0 1195 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -585 291 ) ( -365 -408 855 ) ( -585 -585 1296 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 0 1195 ) ( -365 -408 855 ) ( 0 -585 291 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 0 1195 ) ( 0 -585 291 ) ( -585 -585 1296 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 299 +{ +( -585 -1170 1161 ) ( -376 -967 1022 ) ( -585 -585 1296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -1170 699 ) ( -376 -967 1022 ) ( -585 -1170 1161 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -585 1296 ) ( -376 -967 1022 ) ( 0 -1170 699 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -585 1296 ) ( 0 -1170 699 ) ( -585 -1170 1161 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 300 +{ +( -585 -1755 582 ) ( -391 -1521 757 ) ( -585 -1170 1161 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -1755 481 ) ( -391 -1521 757 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -1170 1161 ) ( -391 -1521 757 ) ( 0 -1755 481 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1170 1161 ) ( 0 -1755 481 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 301 +{ +( -585 -2341 -323 ) ( -402 -2094 27 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -2341 -330 ) ( -402 -2094 27 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1755 582 ) ( 0 -2341 -330 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1755 582 ) ( -402 -2094 27 ) ( 0 -2341 -330 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 302 +{ +( -585 -2926 -979 ) ( -395 -2690 -731 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -2341 -323 ) ( 0 -2926 -955 ) ( -585 -2926 -979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( 0 -2926 -955 ) ( -395 -2690 -731 ) ( -585 -2926 -979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -2341 -323 ) ( -395 -2690 -731 ) ( 0 -2926 -955 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 303 +{ +( -585 -3511 -1181 ) ( -381 -3297 -1123 ) ( -585 -2926 -979 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -2926 -979 ) ( 0 -3511 -1179 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -3511 -1179 ) ( -381 -3297 -1123 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -2926 -979 ) ( -381 -3297 -1123 ) ( 0 -3511 -1179 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 304 +{ +( -585 -4096 -1261 ) ( -379 -3887 -1249 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -3511 -1181 ) ( 0 -4096 -1261 ) ( -585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( 0 -4096 -1261 ) ( -379 -3887 -1249 ) ( -585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -3511 -1181 ) ( -379 -3887 -1249 ) ( 0 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 305 +{ +( -1170 3511 -1107 ) ( -965 3715 -1179 ) ( -1170 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 3511 -1112 ) ( -965 3715 -1179 ) ( -1170 3511 -1107 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 4096 -1261 ) ( -585 3511 -1112 ) ( -1170 3511 -1107 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 4096 -1261 ) ( -965 3715 -1179 ) ( -585 3511 -1112 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 306 +{ +( -1170 2926 -723 ) ( -971 3132 -884 ) ( -1170 3511 -1107 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2926 -742 ) ( -971 3132 -884 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 3511 -1107 ) ( -585 2926 -742 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 3511 -1107 ) ( -971 3132 -884 ) ( -585 2926 -742 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 307 +{ +( -1170 2341 -427 ) ( -968 2546 -547 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2926 -723 ) ( -585 2341 -424 ) ( -1170 2341 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 2341 -424 ) ( -968 2546 -547 ) ( -1170 2341 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2926 -723 ) ( -968 2546 -547 ) ( -585 2341 -424 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 308 +{ +( -1170 2341 -427 ) ( -585 1755 98 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 1755 53 ) ( -972 1964 -124 ) ( -1170 2341 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1755 98 ) ( -972 1964 -124 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2341 -427 ) ( -972 1964 -124 ) ( -585 1755 98 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 309 +{ +( -1170 1170 982 ) ( -989 1389 586 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 1170 927 ) ( -989 1389 586 ) ( -1170 1170 982 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 1755 53 ) ( -989 1389 586 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 1755 53 ) ( -585 1170 927 ) ( -1170 1170 982 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 310 +{ +( -1170 585 1062 ) ( -794 790 978 ) ( -585 1170 927 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 585 991 ) ( -794 790 978 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 1170 927 ) ( -794 790 978 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 585 1062 ) ( -585 1170 927 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 311 +{ +( -1170 0 1328 ) ( -795 204 1154 ) ( -585 585 991 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 0 1195 ) ( -795 204 1154 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 585 991 ) ( -795 204 1154 ) ( -585 0 1195 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 0 1328 ) ( -585 585 991 ) ( -585 0 1195 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 312 +{ +( -1170 -585 2035 ) ( -987 -405 1554 ) ( -1170 0 1328 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 0 1328 ) ( -987 -405 1554 ) ( -585 -585 1296 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -585 1296 ) ( -987 -405 1554 ) ( -1170 -585 2035 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 0 1328 ) ( -585 -585 1296 ) ( -1170 -585 2035 ) greenstone [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 313 +{ +( -1170 -1170 1537 ) ( -969 -944 1576 ) ( -1170 -585 2035 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -1170 1161 ) ( -969 -944 1576 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -585 2035 ) ( -969 -944 1576 ) ( -585 -1170 1161 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -585 2035 ) ( -585 -1170 1161 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 314 +{ +( -1170 -1755 616 ) ( -987 -1507 965 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -1755 582 ) ( -987 -1507 965 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1170 1537 ) ( -585 -1755 582 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1170 1537 ) ( -987 -1507 965 ) ( -585 -1755 582 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 315 +{ +( -1170 -2341 -329 ) ( -988 -2093 43 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1755 616 ) ( -585 -2341 -323 ) ( -1170 -2341 -329 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -2341 -323 ) ( -988 -2093 43 ) ( -1170 -2341 -329 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1755 616 ) ( -988 -2093 43 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 316 +{ +( -1170 -2926 -954 ) ( -775 -2690 -730 ) ( -585 -2341 -323 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -2926 -979 ) ( -775 -2690 -730 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -585 -2341 -323 ) ( -585 -2926 -979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -585 -2341 -323 ) ( -775 -2690 -730 ) ( -585 -2926 -979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 317 +{ +( -1170 -3511 -1173 ) ( -966 -3296 -1112 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -3511 -1181 ) ( -966 -3296 -1112 ) ( -1170 -3511 -1173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -585 -3511 -1181 ) ( -1170 -3511 -1173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -966 -3296 -1112 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 318 +{ +( -1170 -4096 -1261 ) ( -791 -3887 -1249 ) ( -585 -3511 -1181 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -4096 -1261 ) ( -585 -3511 -1181 ) ( -585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -4096 -1261 ) ( -791 -3887 -1249 ) ( -1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -585 -3511 -1181 ) ( -791 -3887 -1249 ) ( -585 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 319 +{ +( -1755 3511 -1103 ) ( -1376 3715 -1176 ) ( -1170 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 3511 -1107 ) ( -1376 3715 -1176 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -1170 4096 -1261 ) ( -1170 3511 -1107 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 4096 -1261 ) ( -1376 3715 -1176 ) ( -1170 3511 -1107 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 320 +{ +( -1755 2926 -728 ) ( -1555 3132 -877 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -1170 2926 -723 ) ( -1755 2926 -728 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2926 -723 ) ( -1555 3132 -877 ) ( -1755 2926 -728 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -1555 3132 -877 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 321 +{ +( -1755 2341 -416 ) ( -1372 2546 -545 ) ( -1170 2926 -723 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2341 -427 ) ( -1372 2546 -545 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -1170 2926 -723 ) ( -1170 2341 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 2926 -723 ) ( -1372 2546 -545 ) ( -1170 2341 -427 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 322 +{ +( -1755 1755 25 ) ( -1556 1963 -142 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -1170 1755 53 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 1755 53 ) ( -1556 1963 -142 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -1556 1963 -142 ) ( -1170 1755 53 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 323 +{ +( -1755 1755 25 ) ( -1170 1170 982 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 1170 931 ) ( -1569 1390 576 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 1170 982 ) ( -1569 1390 576 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 1755 25 ) ( -1569 1390 576 ) ( -1170 1170 982 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 324 +{ +( -1755 585 1115 ) ( -1552 788 1016 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 585 1062 ) ( -1552 788 1016 ) ( -1755 585 1115 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 1170 931 ) ( -1552 788 1016 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 1170 931 ) ( -1170 585 1062 ) ( -1755 585 1115 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 325 +{ +( -1755 0 1284 ) ( -1170 585 1062 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 0 1284 ) ( -1371 204 1203 ) ( -1170 585 1062 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 0 1328 ) ( -1371 204 1203 ) ( -1755 0 1284 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 585 1062 ) ( -1371 204 1203 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 326 +{ +( -1755 -585 1815 ) ( -1170 0 1328 ) ( -1170 -585 2035 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -585 1815 ) ( -1352 -378 1690 ) ( -1170 0 1328 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -585 2035 ) ( -1352 -378 1690 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 0 1328 ) ( -1352 -378 1690 ) ( -1170 -585 2035 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 327 +{ +( -1755 -1170 1552 ) ( -1552 -952 1627 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -1170 1537 ) ( -1552 -952 1627 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -585 1815 ) ( -1170 -1170 1537 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -585 1815 ) ( -1552 -952 1627 ) ( -1170 -1170 1537 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 328 +{ +( -1755 -1755 667 ) ( -1570 -1508 995 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1755 616 ) ( -1570 -1508 995 ) ( -1755 -1755 667 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1170 1552 ) ( -1170 -1755 616 ) ( -1755 -1755 667 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1170 1552 ) ( -1570 -1508 995 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 329 +{ +( -1755 -2341 -332 ) ( -1352 -2092 41 ) ( -1170 -1755 616 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -1170 -1755 616 ) ( -1170 -2341 -329 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -2341 -329 ) ( -1352 -2092 41 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1170 -1755 616 ) ( -1352 -2092 41 ) ( -1170 -2341 -329 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 330 +{ +( -1755 -2926 -884 ) ( -1561 -2694 -710 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -2926 -954 ) ( -1561 -2694 -710 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -1561 -2694 -710 ) ( -1170 -2926 -954 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -1170 -2926 -954 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 331 +{ +( -1755 -3511 -1163 ) ( -1553 -3293 -1080 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -3511 -1173 ) ( -1553 -3293 -1080 ) ( -1755 -3511 -1163 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2926 -884 ) ( -1170 -3511 -1173 ) ( -1755 -3511 -1163 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2926 -884 ) ( -1553 -3293 -1080 ) ( -1170 -3511 -1173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 332 +{ +( -1755 -4096 -1261 ) ( -1549 -3886 -1242 ) ( -1755 -3511 -1163 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -3511 -1163 ) ( -1170 -4096 -1261 ) ( -1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1170 -4096 -1261 ) ( -1549 -3886 -1242 ) ( -1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -3511 -1163 ) ( -1549 -3886 -1242 ) ( -1170 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 333 +{ +( -2341 3511 -1093 ) ( -2136 3715 -1172 ) ( -2341 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 3511 -1103 ) ( -2136 3715 -1172 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 4096 -1261 ) ( -1755 3511 -1103 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 4096 -1261 ) ( -2136 3715 -1172 ) ( -1755 3511 -1103 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 334 +{ +( -2341 2926 -725 ) ( -2141 3131 -874 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2926 -728 ) ( -2141 3131 -874 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 3511 -1093 ) ( -1755 2926 -728 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 3511 -1093 ) ( -2141 3131 -874 ) ( -1755 2926 -728 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 335 +{ +( -2341 2926 -725 ) ( -1755 2341 -416 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2341 -481 ) ( -2135 2546 -561 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 2341 -416 ) ( -2135 2546 -561 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2926 -725 ) ( -2135 2546 -561 ) ( -1755 2341 -416 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 336 +{ +( -2341 1755 21 ) ( -2145 1964 -178 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2341 -481 ) ( -1755 1755 25 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 1755 25 ) ( -2145 1964 -178 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2341 -481 ) ( -2145 1964 -178 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 337 +{ +( -2341 1170 847 ) ( -1755 1755 25 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 1170 847 ) ( -1935 1388 538 ) ( -1755 1755 25 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 1170 931 ) ( -1935 1388 538 ) ( -2341 1170 847 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 1755 25 ) ( -1935 1388 538 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 338 +{ +( -2341 585 1154 ) ( -1962 789 1048 ) ( -1755 1170 931 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 585 1115 ) ( -1962 789 1048 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 1170 931 ) ( -1962 789 1048 ) ( -1755 585 1115 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 585 1154 ) ( -1755 1170 931 ) ( -1755 585 1115 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 339 +{ +( -2341 585 1154 ) ( -1755 0 1284 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 0 1134 ) ( -2129 206 1179 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 0 1284 ) ( -2129 206 1179 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 585 1154 ) ( -2129 206 1179 ) ( -1755 0 1284 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 340 +{ +( -2341 0 1134 ) ( -1755 -585 1815 ) ( -2341 -585 1587 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -585 1587 ) ( -2132 -377 1486 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -585 1815 ) ( -2132 -377 1486 ) ( -2341 -585 1587 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 0 1134 ) ( -2132 -377 1486 ) ( -1755 -585 1815 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 341 +{ +( -2341 -585 1587 ) ( -1755 -1170 1552 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -1170 1425 ) ( -2132 -959 1512 ) ( -2341 -585 1587 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -1170 1552 ) ( -2132 -959 1512 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -585 1587 ) ( -2132 -959 1512 ) ( -1755 -1170 1552 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 342 +{ +( -2341 -1755 697 ) ( -2152 -1515 960 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -1755 667 ) ( -2152 -1515 960 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1170 1425 ) ( -1755 -1755 667 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1170 1425 ) ( -2152 -1515 960 ) ( -1755 -1755 667 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 343 +{ +( -2341 -2341 -255 ) ( -2157 -2092 95 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -1755 -2341 -332 ) ( -2157 -2092 95 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -2157 -2092 95 ) ( -1755 -2341 -332 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -1755 -2341 -332 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 344 +{ +( -2341 -2926 -825 ) ( -2147 -2693 -640 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2926 -884 ) ( -2147 -2693 -640 ) ( -2341 -2926 -825 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -2341 -255 ) ( -2147 -2693 -640 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -2341 -255 ) ( -1755 -2926 -884 ) ( -2341 -2926 -825 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 345 +{ +( -2341 -3511 -1150 ) ( -1958 -3293 -1072 ) ( -1755 -2926 -884 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -3511 -1163 ) ( -1958 -3293 -1072 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -1755 -2926 -884 ) ( -1755 -3511 -1163 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -2926 -884 ) ( -1958 -3293 -1072 ) ( -1755 -3511 -1163 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 346 +{ +( -2341 -4096 -1261 ) ( -2135 -3886 -1237 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -1755 -4096 -1261 ) ( -2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -1755 -4096 -1261 ) ( -2135 -3886 -1237 ) ( -2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -2135 -3886 -1237 ) ( -1755 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 347 +{ +( -2926 3511 -1092 ) ( -2721 3715 -1168 ) ( -2926 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 3511 -1093 ) ( -2721 3715 -1168 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 4096 -1261 ) ( -2341 3511 -1093 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 4096 -1261 ) ( -2721 3715 -1168 ) ( -2341 3511 -1093 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 348 +{ +( -2926 2926 -720 ) ( -2726 3132 -871 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2926 -725 ) ( -2726 3132 -871 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 3511 -1092 ) ( -2341 2926 -725 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 3511 -1092 ) ( -2726 3132 -871 ) ( -2341 2926 -725 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 349 +{ +( -2926 2341 -494 ) ( -2722 2545 -585 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2926 -720 ) ( -2341 2341 -481 ) ( -2926 2341 -494 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 2341 -481 ) ( -2722 2545 -585 ) ( -2926 2341 -494 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2926 -720 ) ( -2722 2545 -585 ) ( -2341 2341 -481 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 350 +{ +( -2926 1755 173 ) ( -2741 1964 -138 ) ( -2926 2341 -494 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 1755 21 ) ( -2741 1964 -138 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 2341 -494 ) ( -2741 1964 -138 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 2341 -494 ) ( -2341 1755 21 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 351 +{ +( -2926 1170 868 ) ( -2527 1388 518 ) ( -2341 1755 21 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 1170 847 ) ( -2527 1388 518 ) ( -2926 1170 868 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 1170 868 ) ( -2341 1755 21 ) ( -2341 1170 847 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 1755 21 ) ( -2527 1388 518 ) ( -2341 1170 847 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 352 +{ +( -2926 1170 868 ) ( -2341 585 1154 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 585 1109 ) ( -2721 789 1023 ) ( -2926 1170 868 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 585 1154 ) ( -2721 789 1023 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 1170 868 ) ( -2721 789 1023 ) ( -2341 585 1154 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 353 +{ +( -2926 585 1109 ) ( -2341 0 1134 ) ( -2926 0 827 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 0 827 ) ( -2716 208 1018 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 0 1134 ) ( -2716 208 1018 ) ( -2926 0 827 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 585 1109 ) ( -2716 208 1018 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 354 +{ +( -2926 -585 1160 ) ( -2341 0 1134 ) ( -2341 -585 1587 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -585 1160 ) ( -2531 -393 1277 ) ( -2341 0 1134 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -585 1587 ) ( -2531 -393 1277 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 0 1134 ) ( -2531 -393 1277 ) ( -2341 -585 1587 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 355 +{ +( -2926 -585 1160 ) ( -2341 -1170 1425 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -1170 1241 ) ( -2712 -966 1263 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -1170 1425 ) ( -2712 -966 1263 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -585 1160 ) ( -2712 -966 1263 ) ( -2341 -1170 1425 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 356 +{ +( -2926 -1170 1241 ) ( -2341 -1755 697 ) ( -2926 -1755 623 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -1755 623 ) ( -2735 -1522 870 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -2735 -1522 870 ) ( -2926 -1755 623 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -1170 1241 ) ( -2735 -1522 870 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 357 +{ +( -2926 -2341 -180 ) ( -2522 -2094 139 ) ( -2341 -1755 697 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -2341 -255 ) ( -2522 -2094 139 ) ( -2926 -2341 -180 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -1755 697 ) ( -2522 -2094 139 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -2341 -180 ) ( -2341 -1755 697 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 358 +{ +( -2926 -2926 -819 ) ( -2534 -2694 -619 ) ( -2341 -2341 -255 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2341 -2926 -825 ) ( -2534 -2694 -619 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -2341 -2341 -255 ) ( -2341 -2926 -825 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -2341 -255 ) ( -2534 -2694 -619 ) ( -2341 -2926 -825 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 359 +{ +( -2926 -3511 -1135 ) ( -2725 -3291 -1039 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -3511 -1150 ) ( -2725 -3291 -1039 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -2341 -3511 -1150 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -2725 -3291 -1039 ) ( -2341 -3511 -1150 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 360 +{ +( -2926 -4096 -1261 ) ( -2720 -3885 -1232 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -3511 -1135 ) ( -2341 -4096 -1261 ) ( -2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2341 -4096 -1261 ) ( -2720 -3885 -1232 ) ( -2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -3511 -1135 ) ( -2720 -3885 -1232 ) ( -2341 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 361 +{ +( -3511 3511 -1098 ) ( -3306 3715 -1169 ) ( -3511 4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 4096 -1261 ) ( -2926 3511 -1092 ) ( -3511 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 3511 -1092 ) ( -3306 3715 -1169 ) ( -3511 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 4096 -1261 ) ( -3306 3715 -1169 ) ( -2926 3511 -1092 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 362 +{ +( -3511 2926 -701 ) ( -3313 3132 -866 ) ( -3511 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2926 -720 ) ( -3313 3132 -866 ) ( -3511 2926 -701 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 3511 -1098 ) ( -2926 2926 -720 ) ( -3511 2926 -701 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 3511 -1098 ) ( -3313 3132 -866 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 363 +{ +( -3511 2341 -385 ) ( -3134 2546 -552 ) ( -2926 2926 -720 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2341 -494 ) ( -3134 2546 -552 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 2926 -720 ) ( -3134 2546 -552 ) ( -2926 2341 -494 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2341 -385 ) ( -2926 2926 -720 ) ( -2926 2341 -494 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 364 +{ +( -3511 1755 216 ) ( -3321 1966 -37 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 1755 173 ) ( -3321 1966 -37 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 2341 -385 ) ( -3321 1966 -37 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2341 -385 ) ( -2926 1755 173 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 365 +{ +( -3511 1170 979 ) ( -3121 1385 625 ) ( -2926 1755 173 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 1170 868 ) ( -3121 1385 625 ) ( -3511 1170 979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 1755 173 ) ( -3121 1385 625 ) ( -2926 1170 868 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 1170 979 ) ( -2926 1755 173 ) ( -2926 1170 868 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 366 +{ +( -3511 1170 979 ) ( -2926 585 1109 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 585 932 ) ( -3298 791 996 ) ( -3511 1170 979 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 585 1109 ) ( -3298 791 996 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 1170 979 ) ( -3298 791 996 ) ( -2926 585 1109 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 367 +{ +( -3511 585 932 ) ( -2926 0 827 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 0 609 ) ( -3305 214 785 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 0 827 ) ( -3305 214 785 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 585 932 ) ( -3305 214 785 ) ( -2926 0 827 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 368 +{ +( -3511 0 609 ) ( -2926 -585 1160 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -585 775 ) ( -3287 -385 846 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -585 1160 ) ( -3287 -385 846 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 0 609 ) ( -3287 -385 846 ) ( -2926 -585 1160 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 369 +{ +( -3511 -585 775 ) ( -2926 -1170 1241 ) ( -3511 -1170 957 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1170 957 ) ( -3293 -968 982 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -1170 1241 ) ( -3293 -968 982 ) ( -3511 -1170 957 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -585 775 ) ( -3293 -968 982 ) ( -2926 -1170 1241 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 370 +{ +( -3511 -1170 957 ) ( -2926 -1755 623 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1755 492 ) ( -3313 -1531 694 ) ( -3511 -1170 957 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -1755 623 ) ( -3313 -1531 694 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1170 957 ) ( -3313 -1531 694 ) ( -2926 -1755 623 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 371 +{ +( -3511 -1755 492 ) ( -2926 -2341 -180 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 -2341 -296 ) ( -3325 -2101 36 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -2926 -2341 -180 ) ( -3325 -2101 36 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 -1755 492 ) ( -3325 -2101 36 ) ( -2926 -2341 -180 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 372 +{ +( -3511 -2926 -801 ) ( -3316 -2696 -630 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -2926 -819 ) ( -3316 -2696 -630 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2341 -296 ) ( -2926 -2926 -819 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2341 -296 ) ( -3316 -2696 -630 ) ( -2926 -2926 -819 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 373 +{ +( -3511 -3511 -1113 ) ( -3310 -3291 -1021 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -3511 -1135 ) ( -3310 -3291 -1021 ) ( -3511 -3511 -1113 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2926 -801 ) ( -2926 -3511 -1135 ) ( -3511 -3511 -1113 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2926 -801 ) ( -3310 -3291 -1021 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 374 +{ +( -3511 -4096 -1261 ) ( -3132 -3885 -1232 ) ( -2926 -3511 -1135 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -4096 -1261 ) ( -2926 -3511 -1135 ) ( -2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -4096 -1261 ) ( -3132 -3885 -1232 ) ( -3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -2926 -3511 -1135 ) ( -3132 -3885 -1232 ) ( -2926 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 375 +{ +( -4096 2926 -673 ) ( -3899 3132 -852 ) ( -4096 3511 -1098 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2926 -701 ) ( -3899 3132 -852 ) ( -4096 2926 -673 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 3511 -1098 ) ( -3511 2926 -701 ) ( -4096 2926 -673 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 3511 -1098 ) ( -3899 3132 -852 ) ( -3511 2926 -701 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 376 +{ +( -4096 2341 -261 ) ( -3902 2545 -465 ) ( -4096 2926 -673 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 2341 -385 ) ( -3902 2545 -465 ) ( -4096 2341 -261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 2926 -673 ) ( -3902 2545 -465 ) ( -3511 2341 -385 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 2926 -673 ) ( -3511 2341 -385 ) ( -4096 2341 -261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 377 +{ +( -4096 1755 324 ) ( -3907 1964 58 ) ( -4096 2341 -261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 1755 216 ) ( -3907 1964 58 ) ( -4096 1755 324 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 2341 -261 ) ( -3907 1964 58 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 2341 -261 ) ( -3511 1755 216 ) ( -4096 1755 324 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 378 +{ +( -4096 1170 1078 ) ( -3703 1387 702 ) ( -3511 1755 216 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 1170 979 ) ( -3703 1387 702 ) ( -4096 1170 1078 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 1755 216 ) ( -3703 1387 702 ) ( -3511 1170 979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 1170 1078 ) ( -3511 1755 216 ) ( -3511 1170 979 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 379 +{ +( -4096 1170 1078 ) ( -3511 585 932 ) ( -4096 585 811 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 585 811 ) ( -3891 800 934 ) ( -4096 1170 1078 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 585 932 ) ( -3891 800 934 ) ( -4096 585 811 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 1170 1078 ) ( -3891 800 934 ) ( -3511 585 932 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 380 +{ +( -4096 0 661 ) ( -3891 212 681 ) ( -4096 585 811 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 0 609 ) ( -3891 212 681 ) ( -4096 0 661 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 585 811 ) ( -3891 212 681 ) ( -3511 0 609 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 585 811 ) ( -3511 0 609 ) ( -4096 0 661 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 381 +{ +( -4096 0 661 ) ( -3511 -585 775 ) ( -4096 -585 540 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -585 540 ) ( -3882 -379 651 ) ( -4096 0 661 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -585 775 ) ( -3882 -379 651 ) ( -4096 -585 540 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 0 661 ) ( -3882 -379 651 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 382 +{ +( -4096 -1170 782 ) ( -3511 -585 775 ) ( -3511 -1170 957 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -1170 782 ) ( -3712 -969 817 ) ( -3511 -585 775 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1170 957 ) ( -3712 -969 817 ) ( -4096 -1170 782 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -585 775 ) ( -3712 -969 817 ) ( -3511 -1170 957 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 383 +{ +( -4096 -1170 782 ) ( -3511 -1755 492 ) ( -4096 -1755 381 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -1755 381 ) ( -3896 -1533 551 ) ( -4096 -1170 782 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -1755 492 ) ( -3896 -1533 551 ) ( -4096 -1755 381 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -1170 782 ) ( -3896 -1533 551 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 384 +{ +( -4096 -2341 -437 ) ( -3511 -1755 492 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -4096 -2341 -437 ) ( -3700 -2098 -41 ) ( -3511 -1755 492 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 -2341 -296 ) ( -3700 -2098 -41 ) ( -4096 -2341 -437 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +( -3511 -1755 492 ) ( -3700 -2098 -41 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 18 8 +} +// brush 385 +{ +( -4096 -2926 -878 ) ( -3511 -2341 -296 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -2926 -878 ) ( -3707 -2696 -649 ) ( -3511 -2341 -296 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2926 -801 ) ( -3707 -2696 -649 ) ( -4096 -2926 -878 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2341 -296 ) ( -3707 -2696 -649 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 386 +{ +( -4096 -3511 -1118 ) ( -3713 -3291 -1016 ) ( -3511 -2926 -801 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -3511 -1118 ) ( -3511 -2926 -801 ) ( -3511 -3511 -1113 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -3511 -1113 ) ( -3713 -3291 -1016 ) ( -4096 -3511 -1118 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -2926 -801 ) ( -3713 -3291 -1016 ) ( -3511 -3511 -1113 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +// brush 387 +{ +( -4096 -4096 -1261 ) ( -3890 -3884 -1226 ) ( -4096 -3511 -1118 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -3511 -1118 ) ( -3511 -4096 -1261 ) ( -4096 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -3511 -4096 -1261 ) ( -3890 -3884 -1226 ) ( -4096 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +( -4096 -3511 -1118 ) ( -3890 -3884 -1226 ) ( -3511 -4096 -1261 ) greenstone [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 18 8 +} +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b0761edb..beebd681 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -7,6 +7,8 @@ add_executable(tests test_light.cc test_ltface.cc test_qbsp.cc + test_qbsp.hh + test_qbsp_q2.cc test_vis.cc ${CMAKE_BINARY_DIR}/testmaps.hh ) diff --git a/tests/test.cc b/tests/test.cc index ba32fbf7..f11bb3b2 100644 --- a/tests/test.cc +++ b/tests/test.cc @@ -1,9 +1,25 @@ -#include +#include +#include #include "common/settings.hh" #include +#include +#include + +class TestRunListener : public Catch::EventListenerBase { +public: + using Catch::EventListenerBase::EventListenerBase; + + void testRunStarting(Catch::TestRunInfo const&) override { + // writing console colors within test case output breaks Catch2/CLion integration + logging::enable_color_codes = false; + } +}; + +CATCH_REGISTER_LISTENER(TestRunListener) + // test booleans TEST_CASE("booleanFlagImplicit", "[settings]") { diff --git a/tests/test_common.cc b/tests/test_common.cc index d08ea3e4..21c5c9e6 100644 --- a/tests/test_common.cc +++ b/tests/test_common.cc @@ -1,4 +1,4 @@ -#include +#include #include #include diff --git a/tests/test_entities.cc b/tests/test_entities.cc index 56fee8d5..06654ace 100644 --- a/tests/test_entities.cc +++ b/tests/test_entities.cc @@ -1,4 +1,4 @@ -#include +#include #include #include diff --git a/tests/test_light.cc b/tests/test_light.cc index 8e85d89e..f85eb2a9 100644 --- a/tests/test_light.cc +++ b/tests/test_light.cc @@ -1,11 +1,11 @@ -#include +#include +#include #include #include #include #include // for std::sort -#include #include diff --git a/tests/test_ltface.cc b/tests/test_ltface.cc index 028d6944..e69de29b 100644 --- a/tests/test_ltface.cc +++ b/tests/test_ltface.cc @@ -1,3 +0,0 @@ -#include - -#include diff --git a/tests/test_qbsp.cc b/tests/test_qbsp.cc index cdc276d8..94985265 100644 --- a/tests/test_qbsp.cc +++ b/tests/test_qbsp.cc @@ -1,4 +1,8 @@ -#include +#include "test_qbsp.hh" + +#include +#include +#include #include #include @@ -23,7 +27,7 @@ // FIXME: Clear global data (planes, etc) between each test -static const mapface_t *Mapbrush_FirstFaceWithTextureName(const mapbrush_t &brush, const std::string &texname) +const mapface_t *Mapbrush_FirstFaceWithTextureName(const mapbrush_t &brush, const std::string &texname) { for (auto &face : brush.faces) { if (face.texname == texname) { @@ -33,7 +37,7 @@ static const mapface_t *Mapbrush_FirstFaceWithTextureName(const mapbrush_t &brus return nullptr; } -static mapentity_t &LoadMap(const char *map) +mapentity_t &LoadMap(const char *map) { qbsp_options.target_version = &bspver_q1; qbsp_options.target_game = qbsp_options.target_version->game; @@ -56,7 +60,7 @@ static mapentity_t &LoadMap(const char *map) #include #if 0 -static std::tuple> LoadTestmapRef(const std::filesystem::path &name) +std::tuple> LoadTestmapRef(const std::filesystem::path &name) { const char *destdir = test_quake2_maps_dir; if (strlen(destdir) == 0) { @@ -116,7 +120,7 @@ static std::tuple> LoadTestmapRe std::move(prtfile)); } -static std::tuple> LoadTestmapRefQ1(const std::filesystem::path &name) +std::tuple> LoadTestmapRefQ1(const std::filesystem::path &name) { auto testmap_path = std::filesystem::path(testmaps_dir) / name; std::string testmap_path_string = testmap_path.generic_string(); @@ -169,7 +173,7 @@ static std::tuple> LoadTestmapRe } #endif -static std::tuple> LoadTestmap(const std::filesystem::path &name, std::vector extra_args = {}) +std::tuple> LoadTestmap(const std::filesystem::path &name, std::vector extra_args) { auto map_path = std::filesystem::path(testmaps_dir) / name; auto bsp_path = map_path; @@ -251,7 +255,7 @@ static std::tuple> LoadTestmap(c std::move(prtfile)); } -static std::tuple> LoadTestmapQ2(const std::filesystem::path &name, std::vector extra_args = {}) +std::tuple> LoadTestmapQ2(const std::filesystem::path &name, std::vector extra_args) { #if 0 return LoadTestmapRef(name); @@ -261,7 +265,7 @@ static std::tuple> LoadTestmapQ2 #endif } -static std::tuple> LoadTestmapQ1(const std::filesystem::path &name, std::vector extra_args = {}) +std::tuple> LoadTestmapQ1(const std::filesystem::path &name, std::vector extra_args) { #if 0 return LoadTestmapRefQ1(name); @@ -270,7 +274,7 @@ static std::tuple> LoadTestmapQ1 #endif } -static void CheckFilled(const mbsp_t &bsp, hull_index_t hullnum) +void CheckFilled(const mbsp_t &bsp, hull_index_t hullnum) { int32_t contents = BSP_FindContentsAtPoint(&bsp, hullnum, &bsp.dmodels[0], qvec3d{8192, 8192, 8192}); @@ -282,7 +286,7 @@ static void CheckFilled(const mbsp_t &bsp, hull_index_t hullnum) } -static void CheckFilled(const mbsp_t &bsp) +void CheckFilled(const mbsp_t &bsp) { if (bsp.loadversion->game->id == GAME_QUAKE_II) { CheckFilled(bsp, 0); @@ -295,7 +299,7 @@ static void CheckFilled(const mbsp_t &bsp) } #if 0 -static mbsp_t LoadBsp(const std::filesystem::path &path_in) +mbsp_t LoadBsp(const std::filesystem::path &path_in) { std::filesystem::path path = path_in; @@ -308,7 +312,7 @@ static mbsp_t LoadBsp(const std::filesystem::path &path_in) } #endif -static std::map> MakeTextureToFaceMap(const mbsp_t &bsp) +std::map> MakeTextureToFaceMap(const mbsp_t &bsp) { std::map> result; @@ -319,7 +323,7 @@ static std::map> MakeTextureToFaceMap( return result; } -static const texvecf &GetTexvecs(const char *map, const char *texname) +const texvecf &GetTexvecs(const char *map, const char *texname) { mapentity_t &worldspawn = LoadMap(map); @@ -330,7 +334,7 @@ static const texvecf &GetTexvecs(const char *map, const char *texname) return mapface->get_texvecs(); } -static std::vector TexNames(const mbsp_t &bsp, std::vector faces) +std::vector TexNames(const mbsp_t &bsp, std::vector faces) { std::vector result; for (auto &face : faces) { @@ -339,7 +343,7 @@ static std::vector TexNames(const mbsp_t &bsp, std::vector FacesWithTextureName(const mbsp_t &bsp, const std::string &name) +std::vector FacesWithTextureName(const mbsp_t &bsp, const std::string &name) { std::vector result; for (auto &face : bsp.dfaces) { @@ -350,9 +354,6 @@ static std::vector FacesWithTextureName(const mbsp_t &bsp, cons return result; } -static std::map CountClipnodeLeafsByContentType(const mbsp_t& bsp, int hullnum); -static int CountClipnodeNodes(const mbsp_t& bsp, int hullnum); - // https://github.com/ericwa/ericw-tools/issues/158 TEST_CASE("testTextureIssue", "[qbsp]") { @@ -564,28 +565,33 @@ TEST_CASE("chop_no_change", "[testmaps_q1]") TEST_CASE("simple_sealed", "[testmaps_q1]") { - auto mapname = GENERATE("qbsp_simple_sealed.map", "qbsp_simple_sealed_rotated.map"); + const std::vector quake_maps{"qbsp_simple_sealed.map", "qbsp_simple_sealed_rotated.map"}; - const auto [bsp, bspx, prt] = LoadTestmapQ1(mapname); + for (const auto& mapname : quake_maps) { + DYNAMIC_SECTION("testing " << mapname) { - REQUIRE(bsp.dleafs.size() == 2); + const auto [bsp, bspx, prt] = LoadTestmapQ1(mapname); - REQUIRE(bsp.dleafs[0].contents == CONTENTS_SOLID); - REQUIRE(bsp.dleafs[1].contents == CONTENTS_EMPTY); - - // just a hollow box - REQUIRE(bsp.dfaces.size() == 6); + REQUIRE(bsp.dleafs.size() == 2); - // no bspx lumps - CHECK(bspx.empty()); + REQUIRE(bsp.dleafs[0].contents == CONTENTS_SOLID); + REQUIRE(bsp.dleafs[1].contents == CONTENTS_EMPTY); - // check markfaces - CHECK(bsp.dleafs[0].nummarksurfaces == 0); - CHECK(bsp.dleafs[0].firstmarksurface == 0); + // just a hollow box + REQUIRE(bsp.dfaces.size() == 6); - CHECK(bsp.dleafs[1].nummarksurfaces == 6); - CHECK(bsp.dleafs[1].firstmarksurface == 0); - CHECK_THAT(bsp.dleaffaces, Catch::Matchers::UnorderedEquals(std::vector{0,1,2,3,4,5})); + // no bspx lumps + CHECK(bspx.empty()); + + // check markfaces + CHECK(bsp.dleafs[0].nummarksurfaces == 0); + CHECK(bsp.dleafs[0].firstmarksurface == 0); + + CHECK(bsp.dleafs[1].nummarksurfaces == 6); + CHECK(bsp.dleafs[1].firstmarksurface == 0); + CHECK_THAT(bsp.dleaffaces, Catch::Matchers::UnorderedEquals(std::vector{0, 1, 2, 3, 4, 5})); + } + } } TEST_CASE("simple_sealed2", "[testmaps_q1]") @@ -1266,272 +1272,6 @@ TEST_CASE("qbsp_q1_0125unit_faces", "[testmaps_q1][!mayfail]") CHECK(2 == bsp.dfaces.size()); } -// q2 testmaps - -TEST_CASE("detail", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_detail.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - // stats - CHECK(1 == bsp.dmodels.size()); - // Q2 reserves leaf 0 as an invalid leaf - - // leafs: - // 6 solid leafs outside the room (* can be more depending on when the "divider" is cut) - // 1 empty leaf filling the room above the divider - // 2 empty leafs + 1 solid leaf for divider - // 1 detail leaf for button - // 4 empty leafs around + 1 on top of button - - std::map counts_by_contents; - for (size_t i = 1; i < bsp.dleafs.size(); ++i) { - ++counts_by_contents[bsp.dleafs[i].contents]; - } - CHECK(2 == counts_by_contents.size()); // number of types - - - CHECK(counts_by_contents.find(Q2_CONTENTS_SOLID | Q2_CONTENTS_DETAIL) == counts_by_contents.end()); // the detail bit gets cleared - CHECK(8 == counts_by_contents.at(0)); // empty leafs - CHECK(counts_by_contents.at(Q2_CONTENTS_SOLID) >= 8); - CHECK(counts_by_contents.at(Q2_CONTENTS_SOLID) <= 12); - - // clusters: - // 1 empty cluster filling the room above the divider - // 2 empty clusters created by divider - // 1 cluster for the part of the room with the button - - std::set clusters; - // first add the empty leafs - for (size_t i = 1; i < bsp.dleafs.size(); ++i) { - if (0 == bsp.dleafs[i].contents) { - clusters.insert(bsp.dleafs[i].cluster); - } - } - CHECK(4 == clusters.size()); - - // various points in the main room cluster - const qvec3d under_button{246, 436, 96}; // directly on the main floor plane - const qvec3d inside_button{246, 436, 98}; - const qvec3d above_button{246, 436, 120}; - const qvec3d beside_button{246, 400, 100}; // should be a different empty leaf than above_button, but same cluster - - // side room (different cluster) - const qvec3d side_room{138, 576, 140}; - - // detail clips away world faces - CHECK(nullptr == BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], under_button, {0, 0, 1})); - - // check for correct contents - auto *detail_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], inside_button); - CHECK(Q2_CONTENTS_SOLID == detail_leaf->contents); - CHECK(-1 == detail_leaf->cluster); - - // check for button (detail) brush - CHECK(1 == Leaf_Brushes(&bsp, detail_leaf).size()); - CHECK((Q2_CONTENTS_SOLID | Q2_CONTENTS_DETAIL) == - Leaf_Brushes(&bsp, detail_leaf).at(0)->contents); - - // get more leafs - auto *empty_leaf_above_button = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], above_button); - CHECK(0 == empty_leaf_above_button->contents); - CHECK(0 == Leaf_Brushes(&bsp, empty_leaf_above_button).size()); - - auto *empty_leaf_side_room = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], side_room); - CHECK(0 == empty_leaf_side_room->contents); - CHECK(0 == Leaf_Brushes(&bsp, empty_leaf_side_room).size()); - CHECK(empty_leaf_side_room->cluster != empty_leaf_above_button->cluster); - - auto *empty_leaf_beside_button = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], beside_button); - CHECK(0 == empty_leaf_beside_button->contents); - CHECK(-1 != empty_leaf_beside_button->cluster); - CHECK(empty_leaf_above_button->cluster == empty_leaf_beside_button->cluster); - CHECK(empty_leaf_above_button != empty_leaf_beside_button); - - CHECK(prt->portals.size() == 5); - CHECK(prt->portalleafs_real == 0); // not used by Q2 - CHECK(prt->portalleafs == 4); -} - -TEST_CASE("playerclip", "[testmaps_q2]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_playerclip.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const qvec3d in_playerclip{32, -136, 144}; - auto *playerclip_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_playerclip); - CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_DETAIL) == playerclip_leaf->contents); - - // make sure faces at these locations aren't clipped away - const qvec3d floor_under_clip{32, -136, 96}; - const qvec3d pillar_side_in_clip1{32, -48, 144}; - const qvec3d pillar_side_in_clip2{32, -208, 144}; - - CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], floor_under_clip, {0, 0, 1})); - CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], pillar_side_in_clip1, {0, -1, 0})); - CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], pillar_side_in_clip2, {0, 1, 0})); - - // make sure no face is generated for the playerclip brush - const qvec3d playerclip_front_face{16, -152, 144}; - CHECK(nullptr == BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], playerclip_front_face, {-1, 0, 0})); - - // check for brush - CHECK(1 == Leaf_Brushes(&bsp, playerclip_leaf).size()); - CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_DETAIL) == Leaf_Brushes(&bsp, playerclip_leaf).at(0)->contents); -} - -TEST_CASE("areaportal", "[testmaps_q2]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_areaportal.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - // area 0 is a placeholder - // areaportal 0 is a placeholder - // - // the conceptual area portal has portalnum 1, and consists of two dareaportals entries with connections to area 1 and 2 - CHECK_THAT(bsp.dareaportals, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); - CHECK_THAT(bsp.dareas, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); - - // look up the leafs - const qvec3d player_start{-88, -112, 120}; - const qvec3d other_room{128, -112, 120}; - const qvec3d areaportal_pos{32, -112, 120}; - const qvec3d void_pos{-408, -112, 120}; - - auto *player_start_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], player_start); - auto *other_room_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], other_room); - auto *areaportal_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], areaportal_pos); - auto *void_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], void_pos); - - // check leaf contents - CHECK(0 == player_start_leaf->contents); - CHECK(0 == other_room_leaf->contents); - CHECK(Q2_CONTENTS_AREAPORTAL == areaportal_leaf->contents); - CHECK(Q2_CONTENTS_SOLID == void_leaf->contents); - - // make sure faces at these locations aren't clipped away - const qvec3d floor_under_areaportal{32, -136, 96}; - CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], floor_under_areaportal, {0, 0, 1})); - - // check for brushes - CHECK(1 == Leaf_Brushes(&bsp, areaportal_leaf).size()); - CHECK(Q2_CONTENTS_AREAPORTAL == Leaf_Brushes(&bsp, areaportal_leaf).at(0)->contents); - - CHECK(1 == Leaf_Brushes(&bsp, void_leaf).size()); - CHECK(Q2_CONTENTS_SOLID == Leaf_Brushes(&bsp, void_leaf).at(0)->contents); - - // check leaf areas - CHECK_THAT((std::vector{1, 2}), Catch::Matchers::UnorderedEquals(std::vector{player_start_leaf->area, other_room_leaf->area})); - // the areaportal leaf itself actually gets assigned to one of the two sides' areas - CHECK((areaportal_leaf->area == 1 || areaportal_leaf->area == 2)); - CHECK(0 == void_leaf->area); // a solid leaf gets the invalid area - - // check the func_areaportal entity had its "style" set - parser_t parser(bsp.dentdata, { "qbsp_q2_areaportal.bsp" }); - auto ents = EntData_Parse(parser); - auto it = std::find_if(ents.begin(), ents.end(), - [](const entdict_t &dict) { return dict.get("classname") == "func_areaportal"; }); - - REQUIRE(it != ents.end()); - REQUIRE("1" == it->get("style")); -} - -/** - * Similar to above test, but there's a detail brush sticking into the area portal - */ -TEST_CASE("areaportal_with_detail", "[testmaps_q2]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_areaportal_with_detail.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - // area 0 is a placeholder - // areaportal 0 is a placeholder - // - // the conceptual area portal has portalnum 1, and consists of two dareaportals entries with connections to area 1 and 2 - CHECK_THAT(bsp.dareaportals, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); - CHECK_THAT(bsp.dareas, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); -} - -TEST_CASE("nodraw_light", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_nodraw_light.map", {"-includeskip"}); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const qvec3d topface_center {160, -148, 208}; - auto *topface = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], topface_center, {0, 0, 1}); - REQUIRE(nullptr != topface); - - auto *texinfo = Face_Texinfo(&bsp, topface); - CHECK(std::string(texinfo->texture.data()) == "e1u1/trigger"); - CHECK(texinfo->flags.native == (Q2_SURF_LIGHT | Q2_SURF_NODRAW)); -} - -TEST_CASE("nodraw_detail_light", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_nodraw_detail_light.map", {"-includeskip"}); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const qvec3d topface_center {160, -148, 208}; - auto *topface = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], topface_center, {0, 0, 1}); - REQUIRE(nullptr != topface); - - auto *texinfo = Face_Texinfo(&bsp, topface); - CHECK(std::string(texinfo->texture.data()) == "e1u1/trigger"); - CHECK(texinfo->flags.native == (Q2_SURF_LIGHT | Q2_SURF_NODRAW)); -} - -TEST_CASE("base1", "[testmaps_q2][.releaseonly]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("base1-test.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - CHECK(prt); - CheckFilled(bsp); - - // bspinfo output from a compile done with - // https://github.com/qbism/q2tools-220 at 46fd97bbe1b3657ca9e93227f89aaf0fbd3677c9. - // only took a couple of seconds (debug build) - - // 35 models - // 9918 planes 198360 - //10367 vertexes 124404 - // 5177 nodes 144956 - // 637 texinfos 48412 - // 7645 faces 152900 - // 5213 leafs 145964 - // 9273 leaffaces 18546 - // 7307 leafbrushes 14614 - //20143 edges 80572 - //37287 surfedges 149148 - // 1765 brushes 21180 - //15035 brushsides 60140 - // 3 areas 24 - // 3 areaportals 24 - // lightdata 0 - // visdata 0 - // entdata 53623 - - CHECK(3 == bsp.dareaportals.size()); - CHECK(3 == bsp.dareas.size()); - - // check for a sliver face which we had issues with being missing - { - const qvec3d face_point {-315.975, -208.036, -84.5}; - const qvec3d normal_point {-315.851, -208.051, -84.5072}; // obtained in TB - - const qvec3d normal = qv::normalize(normal_point - face_point); - - auto *sliver_face = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], face_point, normal); - REQUIRE(nullptr != sliver_face); - - CHECK(std::string_view("e1u1/metal3_5") == Face_TextureName(&bsp, sliver_face)); - CHECK(Face_Winding(&bsp, sliver_face).area() < 5.0); - } -} - TEST_CASE("quake maps", "[testmaps_q1][.releaseonly]") { const std::vector quake_maps{"DM1-test.map", "DM2-test.map", "DM3-test.map", "DM4-test.map", @@ -1562,210 +1302,13 @@ TEST_CASE("chop", "[testmaps_q1][.releaseonly]") CheckFilled(bsp); } -TEST_CASE("base1leak", "[testmaps_q2]") +TEST_CASE("mountain", "[testmaps_q1][.releaseonly][!mayfail]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("base1leak.map"); + const auto [bsp, bspx, prt] = LoadTestmapQ1("qbsp_q1_mountain.map"); - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - CHECK(8 == bsp.dbrushes.size()); - - CHECK(bsp.dleafs.size() >= 8); // 1 placeholder + 1 empty (room interior) + 6 solid (sides of room) - CHECK(bsp.dleafs.size() <= 12); //q2tools-220 generates 12 - - const qvec3d in_plus_y_wall{-776, 976, -24}; - auto *plus_y_wall_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_plus_y_wall); - CHECK(Q2_CONTENTS_SOLID == plus_y_wall_leaf->contents); - - CHECK(3 == plus_y_wall_leaf->numleafbrushes); - - CHECK(prt->portals.size() == 0); - CHECK(prt->portalleafs == 1); -} - -/** - * e1u1/brlava brush intersecting e1u1/clip - **/ -TEST_CASE("lavaclip", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_lavaclip.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - // not touching the lava, but inside the clip - const qvec3d playerclip_outside1 { -88, -32, 8}; - const qvec3d playerclip_outside2 { 88, -32, 8}; - - // inside both clip and lava - const qvec3d playerclip_inside_lava { 0, -32, 8}; - - const qvec3d in_lava_only {0, 32, 8}; - - // near the player start's feet. There should be a lava face here - const qvec3d lava_top_face_in_playerclip { 0, -32, 16}; - - // check leaf contents - CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_MONSTERCLIP | Q2_CONTENTS_DETAIL) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], playerclip_outside1)->contents); - CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_MONSTERCLIP | Q2_CONTENTS_DETAIL) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], playerclip_outside2)->contents); - CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_MONSTERCLIP | Q2_CONTENTS_DETAIL | Q2_CONTENTS_LAVA) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], playerclip_inside_lava)->contents); - CHECK(Q2_CONTENTS_LAVA == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_lava_only)->contents); - - // search for face - auto *topface = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], lava_top_face_in_playerclip, {0, 0, 1}); - REQUIRE(nullptr != topface); - - auto *texinfo = Face_Texinfo(&bsp, topface); - CHECK(std::string(texinfo->texture.data()) == "e1u1/brlava"); - CHECK(texinfo->flags.native == (Q2_SURF_LIGHT | Q2_SURF_WARP)); -} - -/** - * check that e1u1/clip intersecting mist doesn't split up the mist faces - **/ -TEST_CASE("mist_clip", "[testmaps_q2]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_mist_clip.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - // mist is two sided, so 12 faces for a cube - CHECK(12 == bsp.dfaces.size()); -} - -/** - * e1u1/brlava brush intersecting e1u1/brwater - **/ -TEST_CASE("lavawater", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_lavawater.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const qvec3d inside_both { 0, 32, 8}; - - // check leaf contents - CHECK((Q2_CONTENTS_LAVA | Q2_CONTENTS_WATER) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], inside_both)->contents); -} - -/** - * Weird mystery issue with a func_wall with broken collision - * (ended up being a PLANE_X/Y/Z plane with negative facing normal, which is illegal - engine assumes they are positive) - */ -TEST_CASE("qbsp_q2_bmodel_collision", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_bmodel_collision.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const qvec3d in_bmodel {-544, -312, -258}; - REQUIRE(2 == bsp.dmodels.size()); - CHECK(Q2_CONTENTS_SOLID == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[1], in_bmodel)->contents); -} - -TEST_CASE("q2_liquids", "[testmaps_q2]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_liquids.map"); - - // water/air face is two sided - { - const qvec3d watertrans66_air{-116, -168, 144}; - const qvec3d watertrans33_trans66 = watertrans66_air - qvec3d(0, 0, 48); - const qvec3d wateropaque_trans33 = watertrans33_trans66 - qvec3d(0, 0, 48); - const qvec3d floor_wateropaque = wateropaque_trans33 - qvec3d(0, 0, 48); - - CHECK_THAT(TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans66_air)), - Catch::Matchers::UnorderedEquals({"e1u1/bluwter", "e1u1/bluwter"})); - CHECK(0 == BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans33_trans66).size()); - CHECK(0 == BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], wateropaque_trans33).size()); - CHECK_THAT(TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], floor_wateropaque)), - Catch::Matchers::UnorderedEquals({"e1u1/c_met11_2"})); - } - - const qvec3d watertrans66_slimetrans66{-116, -144, 116}; - - // water trans66 / slime trans66 - { - CHECK_THAT( - TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans66_slimetrans66, qvec3d(0, -1, 0))), - Catch::Matchers::UnorderedEquals({"e1u1/sewer1"})); - - CHECK_THAT( - TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans66_slimetrans66, qvec3d(0, 1, 0))), - Catch::Matchers::UnorderedEquals({"e1u1/sewer1"})); - } - - // slime trans66 / lava trans66 - const qvec3d slimetrans66_lavatrans66 = watertrans66_slimetrans66 + qvec3d(0, 48, 0); - { - CHECK_THAT( - TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], slimetrans66_lavatrans66, qvec3d(0, -1, 0))), - Catch::Matchers::UnorderedEquals({"e1u1/brlava"})); - - CHECK_THAT( - TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], slimetrans66_lavatrans66, qvec3d(0, 1, 0))), - Catch::Matchers::UnorderedEquals({"e1u1/brlava"})); - } - -} - -/** - * Empty rooms are sealed to solid in Q2 - **/ -TEST_CASE("qbsp_q2_seal_empty_rooms", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_seal_empty_rooms.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const qvec3d in_start_room {-240, 80, 56}; - const qvec3d in_empty_room {-244, 476, 68}; - - // check leaf contents - CHECK(Q2_CONTENTS_EMPTY == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_start_room)->contents); - CHECK(Q2_CONTENTS_SOLID == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_empty_room)->contents); - - CHECK(prt->portals.size() == 0); - CHECK(prt->portalleafs == 1); -} - -/** - * Detail seals in Q2 - **/ -TEST_CASE("qbsp_q2_detail_seals", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_detail_seals.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const qvec3d in_start_room {-240, 80, 56}; - const qvec3d in_void {-336, 80, 56}; - - // check leaf contents - CHECK(Q2_CONTENTS_EMPTY == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_start_room)->contents); - CHECK(Q2_CONTENTS_SOLID == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_void)->contents); -} - -/** - * Two areaportals with a small gap in between creating another area. - * - * Also, the faces on the ceiling/floor cross the areaportal - * (due to our aggressive face merging). - */ -TEST_CASE("q2_double_areaportal", "[testmaps_q2]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_double_areaportal.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + CHECK(GAME_QUAKE == bsp.loadversion->game->id); + CHECK(prt); CheckFilled(bsp); - - CHECK(4 == bsp.dareas.size()); - CHECK(5 == bsp.dareaportals.size()); -} - -TEST_CASE("q2_areaportal_split", "[testmaps_q2]") -{ - const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_areaportal_split.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - CheckFilled(bsp); - - CHECK(3 == bsp.dareas.size()); // 1 invalid index zero reserved + 2 areas - CHECK(3 == bsp.dareaportals.size()); // 1 invalid index zero reserved + 2 dareaportals to store the two directions of the portal } /** @@ -1809,24 +1352,6 @@ TEST_CASE("qbsp_q1_sealing", "[testmaps_q1]") { CHECK(prt->portalleafs_real == 3); // no detail, so same as above } -/** - * Test for q2 bmodel bounds - **/ -TEST_CASE("q2_door", "[testmaps_q2]") { - const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_door.map"); - - CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); - - const aabb3d world_tight_bounds {{-64, -64, -16}, {64, 80, 128}}; - const aabb3d bmodel_tight_bounds {{-48, 48, 16}, {48, 64, 112}}; - - CHECK(world_tight_bounds.mins() == bsp.dmodels[0].mins); - CHECK(world_tight_bounds.maxs() == bsp.dmodels[0].maxs); - - CHECK(bmodel_tight_bounds.mins() == bsp.dmodels[1].mins); - CHECK(bmodel_tight_bounds.maxs() == bsp.dmodels[1].maxs); -} - /** * Test for WAD internal textures **/ @@ -1983,7 +1508,7 @@ static void CountClipnodeLeafsByContentType_r(const mbsp_t& bsp, int clipnode, s CountClipnodeLeafsByContentType_r(bsp, node.children[1], result); } -static std::map CountClipnodeLeafsByContentType(const mbsp_t& bsp, int hullnum) +std::map CountClipnodeLeafsByContentType(const mbsp_t& bsp, int hullnum) { Q_assert(hullnum > 0); @@ -2009,7 +1534,7 @@ static int CountClipnodeNodes_r(const mbsp_t& bsp, int clipnode) /** * Count the non-leaf clipnodes of the worldmodel for the given hull's decision tree. */ -static int CountClipnodeNodes(const mbsp_t& bsp, int hullnum) +int CountClipnodeNodes(const mbsp_t& bsp, int hullnum) { Q_assert(hullnum > 0); diff --git a/tests/test_qbsp.hh b/tests/test_qbsp.hh new file mode 100644 index 00000000..7e140c27 --- /dev/null +++ b/tests/test_qbsp.hh @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#include + +class mapbrush_t; +struct mapface_t; +class mapface_t; +class mapentity_t; + +const mapface_t *Mapbrush_FirstFaceWithTextureName(const mapbrush_t &brush, const std::string &texname); +mapentity_t &LoadMap(const char *map); +std::tuple> LoadTestmap(const std::filesystem::path &name, std::vector extra_args = {}); +std::tuple> LoadTestmapQ2(const std::filesystem::path &name, std::vector extra_args = {}); +std::tuple> LoadTestmapQ1(const std::filesystem::path &name, std::vector extra_args = {}); +void CheckFilled(const mbsp_t &bsp, hull_index_t hullnum); +void CheckFilled(const mbsp_t &bsp); +std::map> MakeTextureToFaceMap(const mbsp_t &bsp); +const texvecf &GetTexvecs(const char *map, const char *texname); +std::vector TexNames(const mbsp_t &bsp, std::vector faces); +std::vector FacesWithTextureName(const mbsp_t &bsp, const std::string &name); +std::map CountClipnodeLeafsByContentType(const mbsp_t& bsp, int hullnum); +int CountClipnodeNodes(const mbsp_t& bsp, int hullnum); +bool PortalMatcher(const prtfile_winding_t& a, const prtfile_winding_t &b); +std::map CountClipnodeLeafsByContentType(const mbsp_t& bsp, int hullnum); +int CountClipnodeNodes(const mbsp_t& bsp, int hullnum); diff --git a/tests/test_qbsp_q2.cc b/tests/test_qbsp_q2.cc new file mode 100644 index 00000000..ec480847 --- /dev/null +++ b/tests/test_qbsp_q2.cc @@ -0,0 +1,516 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include "test_qbsp.hh" + +TEST_CASE("detail", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_detail.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + // stats + CHECK(1 == bsp.dmodels.size()); + // Q2 reserves leaf 0 as an invalid leaf + + // leafs: + // 6 solid leafs outside the room (* can be more depending on when the "divider" is cut) + // 1 empty leaf filling the room above the divider + // 2 empty leafs + 1 solid leaf for divider + // 1 detail leaf for button + // 4 empty leafs around + 1 on top of button + + std::map counts_by_contents; + for (size_t i = 1; i < bsp.dleafs.size(); ++i) { + ++counts_by_contents[bsp.dleafs[i].contents]; + } + CHECK(2 == counts_by_contents.size()); // number of types + + + CHECK(counts_by_contents.find(Q2_CONTENTS_SOLID | Q2_CONTENTS_DETAIL) == counts_by_contents.end()); // the detail bit gets cleared + CHECK(8 == counts_by_contents.at(0)); // empty leafs + CHECK(counts_by_contents.at(Q2_CONTENTS_SOLID) >= 8); + CHECK(counts_by_contents.at(Q2_CONTENTS_SOLID) <= 12); + + // clusters: + // 1 empty cluster filling the room above the divider + // 2 empty clusters created by divider + // 1 cluster for the part of the room with the button + + std::set clusters; + // first add the empty leafs + for (size_t i = 1; i < bsp.dleafs.size(); ++i) { + if (0 == bsp.dleafs[i].contents) { + clusters.insert(bsp.dleafs[i].cluster); + } + } + CHECK(4 == clusters.size()); + + // various points in the main room cluster + const qvec3d under_button{246, 436, 96}; // directly on the main floor plane + const qvec3d inside_button{246, 436, 98}; + const qvec3d above_button{246, 436, 120}; + const qvec3d beside_button{246, 400, 100}; // should be a different empty leaf than above_button, but same cluster + + // side room (different cluster) + const qvec3d side_room{138, 576, 140}; + + // detail clips away world faces + CHECK(nullptr == BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], under_button, {0, 0, 1})); + + // check for correct contents + auto *detail_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], inside_button); + CHECK(Q2_CONTENTS_SOLID == detail_leaf->contents); + CHECK(-1 == detail_leaf->cluster); + + // check for button (detail) brush + CHECK(1 == Leaf_Brushes(&bsp, detail_leaf).size()); + CHECK((Q2_CONTENTS_SOLID | Q2_CONTENTS_DETAIL) == + Leaf_Brushes(&bsp, detail_leaf).at(0)->contents); + + // get more leafs + auto *empty_leaf_above_button = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], above_button); + CHECK(0 == empty_leaf_above_button->contents); + CHECK(0 == Leaf_Brushes(&bsp, empty_leaf_above_button).size()); + + auto *empty_leaf_side_room = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], side_room); + CHECK(0 == empty_leaf_side_room->contents); + CHECK(0 == Leaf_Brushes(&bsp, empty_leaf_side_room).size()); + CHECK(empty_leaf_side_room->cluster != empty_leaf_above_button->cluster); + + auto *empty_leaf_beside_button = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], beside_button); + CHECK(0 == empty_leaf_beside_button->contents); + CHECK(-1 != empty_leaf_beside_button->cluster); + CHECK(empty_leaf_above_button->cluster == empty_leaf_beside_button->cluster); + CHECK(empty_leaf_above_button != empty_leaf_beside_button); + + CHECK(prt->portals.size() == 5); + CHECK(prt->portalleafs_real == 0); // not used by Q2 + CHECK(prt->portalleafs == 4); +} + +TEST_CASE("playerclip", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_playerclip.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const qvec3d in_playerclip{32, -136, 144}; + auto *playerclip_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_playerclip); + CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_DETAIL) == playerclip_leaf->contents); + + // make sure faces at these locations aren't clipped away + const qvec3d floor_under_clip{32, -136, 96}; + const qvec3d pillar_side_in_clip1{32, -48, 144}; + const qvec3d pillar_side_in_clip2{32, -208, 144}; + + CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], floor_under_clip, {0, 0, 1})); + CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], pillar_side_in_clip1, {0, -1, 0})); + CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], pillar_side_in_clip2, {0, 1, 0})); + + // make sure no face is generated for the playerclip brush + const qvec3d playerclip_front_face{16, -152, 144}; + CHECK(nullptr == BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], playerclip_front_face, {-1, 0, 0})); + + // check for brush + CHECK(1 == Leaf_Brushes(&bsp, playerclip_leaf).size()); + CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_DETAIL) == Leaf_Brushes(&bsp, playerclip_leaf).at(0)->contents); +} + +TEST_CASE("areaportal", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_areaportal.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + // area 0 is a placeholder + // areaportal 0 is a placeholder + // + // the conceptual area portal has portalnum 1, and consists of two dareaportals entries with connections to area 1 and 2 + CHECK_THAT(bsp.dareaportals, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); + CHECK_THAT(bsp.dareas, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); + + // look up the leafs + const qvec3d player_start{-88, -112, 120}; + const qvec3d other_room{128, -112, 120}; + const qvec3d areaportal_pos{32, -112, 120}; + const qvec3d void_pos{-408, -112, 120}; + + auto *player_start_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], player_start); + auto *other_room_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], other_room); + auto *areaportal_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], areaportal_pos); + auto *void_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], void_pos); + + // check leaf contents + CHECK(0 == player_start_leaf->contents); + CHECK(0 == other_room_leaf->contents); + CHECK(Q2_CONTENTS_AREAPORTAL == areaportal_leaf->contents); + CHECK(Q2_CONTENTS_SOLID == void_leaf->contents); + + // make sure faces at these locations aren't clipped away + const qvec3d floor_under_areaportal{32, -136, 96}; + CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], floor_under_areaportal, {0, 0, 1})); + + // check for brushes + CHECK(1 == Leaf_Brushes(&bsp, areaportal_leaf).size()); + CHECK(Q2_CONTENTS_AREAPORTAL == Leaf_Brushes(&bsp, areaportal_leaf).at(0)->contents); + + CHECK(1 == Leaf_Brushes(&bsp, void_leaf).size()); + CHECK(Q2_CONTENTS_SOLID == Leaf_Brushes(&bsp, void_leaf).at(0)->contents); + + // check leaf areas + CHECK_THAT((std::vector{1, 2}), Catch::Matchers::UnorderedEquals(std::vector{player_start_leaf->area, other_room_leaf->area})); + // the areaportal leaf itself actually gets assigned to one of the two sides' areas + CHECK((areaportal_leaf->area == 1 || areaportal_leaf->area == 2)); + CHECK(0 == void_leaf->area); // a solid leaf gets the invalid area + + // check the func_areaportal entity had its "style" set + parser_t parser(bsp.dentdata, { "qbsp_q2_areaportal.bsp" }); + auto ents = EntData_Parse(parser); + auto it = std::find_if(ents.begin(), ents.end(), + [](const entdict_t &dict) { return dict.get("classname") == "func_areaportal"; }); + + REQUIRE(it != ents.end()); + REQUIRE("1" == it->get("style")); +} + +/** + * Similar to above test, but there's a detail brush sticking into the area portal + */ +TEST_CASE("areaportal_with_detail", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_areaportal_with_detail.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + // area 0 is a placeholder + // areaportal 0 is a placeholder + // + // the conceptual area portal has portalnum 1, and consists of two dareaportals entries with connections to area 1 and 2 + CHECK_THAT(bsp.dareaportals, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); + CHECK_THAT(bsp.dareas, Catch::Matchers::UnorderedEquals(std::vector{{0, 0}, {1, 1}, {1, 2}})); +} + +TEST_CASE("nodraw_light", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_nodraw_light.map", {"-includeskip"}); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const qvec3d topface_center {160, -148, 208}; + auto *topface = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], topface_center, {0, 0, 1}); + REQUIRE(nullptr != topface); + + auto *texinfo = Face_Texinfo(&bsp, topface); + CHECK(std::string(texinfo->texture.data()) == "e1u1/trigger"); + CHECK(texinfo->flags.native == (Q2_SURF_LIGHT | Q2_SURF_NODRAW)); +} + +TEST_CASE("nodraw_detail_light", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_nodraw_detail_light.map", {"-includeskip"}); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const qvec3d topface_center {160, -148, 208}; + auto *topface = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], topface_center, {0, 0, 1}); + REQUIRE(nullptr != topface); + + auto *texinfo = Face_Texinfo(&bsp, topface); + CHECK(std::string(texinfo->texture.data()) == "e1u1/trigger"); + CHECK(texinfo->flags.native == (Q2_SURF_LIGHT | Q2_SURF_NODRAW)); +} + +TEST_CASE("base1", "[testmaps_q2][.releaseonly]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("base1-test.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + CHECK(prt); + CheckFilled(bsp); + + // bspinfo output from a compile done with + // https://github.com/qbism/q2tools-220 at 46fd97bbe1b3657ca9e93227f89aaf0fbd3677c9. + // only took a couple of seconds (debug build) + + // 35 models + // 9918 planes 198360 + //10367 vertexes 124404 + // 5177 nodes 144956 + // 637 texinfos 48412 + // 7645 faces 152900 + // 5213 leafs 145964 + // 9273 leaffaces 18546 + // 7307 leafbrushes 14614 + //20143 edges 80572 + //37287 surfedges 149148 + // 1765 brushes 21180 + //15035 brushsides 60140 + // 3 areas 24 + // 3 areaportals 24 + // lightdata 0 + // visdata 0 + // entdata 53623 + + CHECK(3 == bsp.dareaportals.size()); + CHECK(3 == bsp.dareas.size()); + + // check for a sliver face which we had issues with being missing + { + const qvec3d face_point {-315.975, -208.036, -84.5}; + const qvec3d normal_point {-315.851, -208.051, -84.5072}; // obtained in TB + + const qvec3d normal = qv::normalize(normal_point - face_point); + + auto *sliver_face = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], face_point, normal); + REQUIRE(nullptr != sliver_face); + + CHECK(std::string_view("e1u1/metal3_5") == Face_TextureName(&bsp, sliver_face)); + CHECK(Face_Winding(&bsp, sliver_face).area() < 5.0); + } +} + +TEST_CASE("base1leak", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("base1leak.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + CHECK(8 == bsp.dbrushes.size()); + + CHECK(bsp.dleafs.size() >= 8); // 1 placeholder + 1 empty (room interior) + 6 solid (sides of room) + CHECK(bsp.dleafs.size() <= 12); //q2tools-220 generates 12 + + const qvec3d in_plus_y_wall{-776, 976, -24}; + auto *plus_y_wall_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_plus_y_wall); + CHECK(Q2_CONTENTS_SOLID == plus_y_wall_leaf->contents); + + CHECK(3 == plus_y_wall_leaf->numleafbrushes); + + CHECK(prt->portals.size() == 0); + CHECK(prt->portalleafs == 1); +} + +/** + * e1u1/brlava brush intersecting e1u1/clip + **/ +TEST_CASE("lavaclip", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_lavaclip.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + // not touching the lava, but inside the clip + const qvec3d playerclip_outside1 { -88, -32, 8}; + const qvec3d playerclip_outside2 { 88, -32, 8}; + + // inside both clip and lava + const qvec3d playerclip_inside_lava { 0, -32, 8}; + + const qvec3d in_lava_only {0, 32, 8}; + + // near the player start's feet. There should be a lava face here + const qvec3d lava_top_face_in_playerclip { 0, -32, 16}; + + // check leaf contents + CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_MONSTERCLIP | Q2_CONTENTS_DETAIL) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], playerclip_outside1)->contents); + CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_MONSTERCLIP | Q2_CONTENTS_DETAIL) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], playerclip_outside2)->contents); + CHECK((Q2_CONTENTS_PLAYERCLIP | Q2_CONTENTS_MONSTERCLIP | Q2_CONTENTS_DETAIL | Q2_CONTENTS_LAVA) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], playerclip_inside_lava)->contents); + CHECK(Q2_CONTENTS_LAVA == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_lava_only)->contents); + + // search for face + auto *topface = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], lava_top_face_in_playerclip, {0, 0, 1}); + REQUIRE(nullptr != topface); + + auto *texinfo = Face_Texinfo(&bsp, topface); + CHECK(std::string(texinfo->texture.data()) == "e1u1/brlava"); + CHECK(texinfo->flags.native == (Q2_SURF_LIGHT | Q2_SURF_WARP)); +} + +/** + * check that e1u1/clip intersecting mist doesn't split up the mist faces + **/ +TEST_CASE("mist_clip", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_mist_clip.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + // mist is two sided, so 12 faces for a cube + CHECK(12 == bsp.dfaces.size()); +} + +/** + * e1u1/brlava brush intersecting e1u1/brwater + **/ +TEST_CASE("lavawater", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_lavawater.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const qvec3d inside_both { 0, 32, 8}; + + // check leaf contents + CHECK((Q2_CONTENTS_LAVA | Q2_CONTENTS_WATER) == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], inside_both)->contents); +} + +/** + * Weird mystery issue with a func_wall with broken collision + * (ended up being a PLANE_X/Y/Z plane with negative facing normal, which is illegal - engine assumes they are positive) + */ +TEST_CASE("qbsp_q2_bmodel_collision", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_bmodel_collision.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const qvec3d in_bmodel {-544, -312, -258}; + REQUIRE(2 == bsp.dmodels.size()); + CHECK(Q2_CONTENTS_SOLID == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[1], in_bmodel)->contents); +} + +TEST_CASE("q2_liquids", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_liquids.map"); + + // water/air face is two sided + { + const qvec3d watertrans66_air{-116, -168, 144}; + const qvec3d watertrans33_trans66 = watertrans66_air - qvec3d(0, 0, 48); + const qvec3d wateropaque_trans33 = watertrans33_trans66 - qvec3d(0, 0, 48); + const qvec3d floor_wateropaque = wateropaque_trans33 - qvec3d(0, 0, 48); + + CHECK_THAT(TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans66_air)), + Catch::Matchers::UnorderedEquals({"e1u1/bluwter", "e1u1/bluwter"})); + CHECK(0 == BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans33_trans66).size()); + CHECK(0 == BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], wateropaque_trans33).size()); + CHECK_THAT(TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], floor_wateropaque)), + Catch::Matchers::UnorderedEquals({"e1u1/c_met11_2"})); + } + + const qvec3d watertrans66_slimetrans66{-116, -144, 116}; + + // water trans66 / slime trans66 + { + CHECK_THAT( + TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans66_slimetrans66, qvec3d(0, -1, 0))), + Catch::Matchers::UnorderedEquals({"e1u1/sewer1"})); + + CHECK_THAT( + TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], watertrans66_slimetrans66, qvec3d(0, 1, 0))), + Catch::Matchers::UnorderedEquals({"e1u1/sewer1"})); + } + + // slime trans66 / lava trans66 + const qvec3d slimetrans66_lavatrans66 = watertrans66_slimetrans66 + qvec3d(0, 48, 0); + { + CHECK_THAT( + TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], slimetrans66_lavatrans66, qvec3d(0, -1, 0))), + Catch::Matchers::UnorderedEquals({"e1u1/brlava"})); + + CHECK_THAT( + TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], slimetrans66_lavatrans66, qvec3d(0, 1, 0))), + Catch::Matchers::UnorderedEquals({"e1u1/brlava"})); + } + +} + +/** + * Empty rooms are sealed to solid in Q2 + **/ +TEST_CASE("qbsp_q2_seal_empty_rooms", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_seal_empty_rooms.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const qvec3d in_start_room {-240, 80, 56}; + const qvec3d in_empty_room {-244, 476, 68}; + + // check leaf contents + CHECK(Q2_CONTENTS_EMPTY == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_start_room)->contents); + CHECK(Q2_CONTENTS_SOLID == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_empty_room)->contents); + + CHECK(prt->portals.size() == 0); + CHECK(prt->portalleafs == 1); +} + +/** + * Detail seals in Q2 + **/ +TEST_CASE("qbsp_q2_detail_seals", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("qbsp_q2_detail_seals.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const qvec3d in_start_room {-240, 80, 56}; + const qvec3d in_void {-336, 80, 56}; + + // check leaf contents + CHECK(Q2_CONTENTS_EMPTY == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_start_room)->contents); + CHECK(Q2_CONTENTS_SOLID == BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_void)->contents); +} + +/** + * Two areaportals with a small gap in between creating another area. + * + * Also, the faces on the ceiling/floor cross the areaportal + * (due to our aggressive face merging). + */ +TEST_CASE("q2_double_areaportal", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_double_areaportal.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + CheckFilled(bsp); + + CHECK(4 == bsp.dareas.size()); + CHECK(5 == bsp.dareaportals.size()); +} + +TEST_CASE("q2_areaportal_split", "[testmaps_q2]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_areaportal_split.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + CheckFilled(bsp); + + CHECK(3 == bsp.dareas.size()); // 1 invalid index zero reserved + 2 areas + CHECK(3 == bsp.dareaportals.size()); // 1 invalid index zero reserved + 2 dareaportals to store the two directions of the portal +} + +/** + * Test for q2 bmodel bounds + **/ +TEST_CASE("q2_door", "[testmaps_q2]") { + const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_door.map"); + + CHECK(GAME_QUAKE_II == bsp.loadversion->game->id); + + const aabb3d world_tight_bounds {{-64, -64, -16}, {64, 80, 128}}; + const aabb3d bmodel_tight_bounds {{-48, 48, 16}, {48, 64, 112}}; + + CHECK(world_tight_bounds.mins() == bsp.dmodels[0].mins); + CHECK(world_tight_bounds.maxs() == bsp.dmodels[0].maxs); + + CHECK(bmodel_tight_bounds.mins() == bsp.dmodels[1].mins); + CHECK(bmodel_tight_bounds.maxs() == bsp.dmodels[1].maxs); +} diff --git a/tests/test_vis.cc b/tests/test_vis.cc index 85249180..e69de29b 100644 --- a/tests/test_vis.cc +++ b/tests/test_vis.cc @@ -1,2 +0,0 @@ -#include -